diff --git a/graphics/pokemon/alcremie/footprint.png b/graphics/pokemon/alcremie/footprint.png new file mode 100644 index 000000000..aeea2e966 Binary files /dev/null and b/graphics/pokemon/alcremie/footprint.png differ diff --git a/graphics/pokemon/appletun/footprint.png b/graphics/pokemon/appletun/footprint.png new file mode 100644 index 000000000..f39865658 Binary files /dev/null and b/graphics/pokemon/appletun/footprint.png differ diff --git a/graphics/pokemon/applin/footprint.png b/graphics/pokemon/applin/footprint.png new file mode 100644 index 000000000..915b2fc2a Binary files /dev/null and b/graphics/pokemon/applin/footprint.png differ diff --git a/graphics/pokemon/araquanid/footprint.png b/graphics/pokemon/araquanid/footprint.png new file mode 100644 index 000000000..4740af427 Binary files /dev/null and b/graphics/pokemon/araquanid/footprint.png differ diff --git a/graphics/pokemon/arctovish/footprint.png b/graphics/pokemon/arctovish/footprint.png new file mode 100644 index 000000000..0ba63e723 Binary files /dev/null and b/graphics/pokemon/arctovish/footprint.png differ diff --git a/graphics/pokemon/arctozolt/footprint.png b/graphics/pokemon/arctozolt/footprint.png new file mode 100644 index 000000000..2ed399586 Binary files /dev/null and b/graphics/pokemon/arctozolt/footprint.png differ diff --git a/graphics/pokemon/arrokuda/footprint.png b/graphics/pokemon/arrokuda/footprint.png new file mode 100644 index 000000000..62b788fdd Binary files /dev/null and b/graphics/pokemon/arrokuda/footprint.png differ diff --git a/graphics/pokemon/barraskewda/footprint.png b/graphics/pokemon/barraskewda/footprint.png new file mode 100644 index 000000000..795e7e445 Binary files /dev/null and b/graphics/pokemon/barraskewda/footprint.png differ diff --git a/graphics/pokemon/bewear/footprint.png b/graphics/pokemon/bewear/footprint.png new file mode 100644 index 000000000..f754f203c Binary files /dev/null and b/graphics/pokemon/bewear/footprint.png differ diff --git a/graphics/pokemon/bidoof/anim_frontf.png b/graphics/pokemon/bidoof/anim_frontf.png new file mode 100644 index 000000000..9585a6015 Binary files /dev/null and b/graphics/pokemon/bidoof/anim_frontf.png differ diff --git a/graphics/pokemon/bidoof/backf.png b/graphics/pokemon/bidoof/backf.png new file mode 100644 index 000000000..5f6bc7e8b Binary files /dev/null and b/graphics/pokemon/bidoof/backf.png differ diff --git a/graphics/pokemon/blacephalon/footprint.png b/graphics/pokemon/blacephalon/footprint.png new file mode 100644 index 000000000..7ae084ee5 Binary files /dev/null and b/graphics/pokemon/blacephalon/footprint.png differ diff --git a/graphics/pokemon/blipbug/footprint.png b/graphics/pokemon/blipbug/footprint.png new file mode 100644 index 000000000..762f0b03a Binary files /dev/null and b/graphics/pokemon/blipbug/footprint.png differ diff --git a/graphics/pokemon/boltund/footprint.png b/graphics/pokemon/boltund/footprint.png new file mode 100644 index 000000000..91e1defe9 Binary files /dev/null and b/graphics/pokemon/boltund/footprint.png differ diff --git a/graphics/pokemon/bounsweet/footprint.png b/graphics/pokemon/bounsweet/footprint.png new file mode 100644 index 000000000..0ad5a272e Binary files /dev/null and b/graphics/pokemon/bounsweet/footprint.png differ diff --git a/graphics/pokemon/brionne/footprint.png b/graphics/pokemon/brionne/footprint.png new file mode 100644 index 000000000..7536a6250 Binary files /dev/null and b/graphics/pokemon/brionne/footprint.png differ diff --git a/graphics/pokemon/bruxish/footprint.png b/graphics/pokemon/bruxish/footprint.png new file mode 100644 index 000000000..9f97b57e6 Binary files /dev/null and b/graphics/pokemon/bruxish/footprint.png differ diff --git a/graphics/pokemon/buzzwole/footprint.png b/graphics/pokemon/buzzwole/footprint.png new file mode 100644 index 000000000..1e3f7c677 Binary files /dev/null and b/graphics/pokemon/buzzwole/footprint.png differ diff --git a/graphics/pokemon/calyrex/footprint.png b/graphics/pokemon/calyrex/footprint.png new file mode 100644 index 000000000..9b96a7a1e Binary files /dev/null and b/graphics/pokemon/calyrex/footprint.png differ diff --git a/graphics/pokemon/carkol/footprint.png b/graphics/pokemon/carkol/footprint.png new file mode 100644 index 000000000..628e18259 Binary files /dev/null and b/graphics/pokemon/carkol/footprint.png differ diff --git a/graphics/pokemon/celesteela/footprint.png b/graphics/pokemon/celesteela/footprint.png new file mode 100644 index 000000000..190f28d20 Binary files /dev/null and b/graphics/pokemon/celesteela/footprint.png differ diff --git a/graphics/pokemon/centiskorch/footprint.png b/graphics/pokemon/centiskorch/footprint.png new file mode 100644 index 000000000..084c77fda Binary files /dev/null and b/graphics/pokemon/centiskorch/footprint.png differ diff --git a/graphics/pokemon/charjabug/footprint.png b/graphics/pokemon/charjabug/footprint.png new file mode 100644 index 000000000..8dea358a4 Binary files /dev/null and b/graphics/pokemon/charjabug/footprint.png differ diff --git a/graphics/pokemon/chewtle/footprint.png b/graphics/pokemon/chewtle/footprint.png new file mode 100644 index 000000000..d7d12db04 Binary files /dev/null and b/graphics/pokemon/chewtle/footprint.png differ diff --git a/graphics/pokemon/cinderace/footprint.png b/graphics/pokemon/cinderace/footprint.png new file mode 100644 index 000000000..18c62da8b Binary files /dev/null and b/graphics/pokemon/cinderace/footprint.png differ diff --git a/graphics/pokemon/clobbopus/footprint.png b/graphics/pokemon/clobbopus/footprint.png new file mode 100644 index 000000000..755d30849 Binary files /dev/null and b/graphics/pokemon/clobbopus/footprint.png differ diff --git a/graphics/pokemon/coalossal/footprint.png b/graphics/pokemon/coalossal/footprint.png new file mode 100644 index 000000000..7e2a55cf1 Binary files /dev/null and b/graphics/pokemon/coalossal/footprint.png differ diff --git a/graphics/pokemon/comfey/footprint.png b/graphics/pokemon/comfey/footprint.png new file mode 100644 index 000000000..96f7256ab Binary files /dev/null and b/graphics/pokemon/comfey/footprint.png differ diff --git a/graphics/pokemon/copperajah/footprint.png b/graphics/pokemon/copperajah/footprint.png new file mode 100644 index 000000000..2436de108 Binary files /dev/null and b/graphics/pokemon/copperajah/footprint.png differ diff --git a/graphics/pokemon/corviknight/footprint.png b/graphics/pokemon/corviknight/footprint.png new file mode 100644 index 000000000..3042a0e45 Binary files /dev/null and b/graphics/pokemon/corviknight/footprint.png differ diff --git a/graphics/pokemon/corvisquire/footprint.png b/graphics/pokemon/corvisquire/footprint.png new file mode 100644 index 000000000..328be429b Binary files /dev/null and b/graphics/pokemon/corvisquire/footprint.png differ diff --git a/graphics/pokemon/cosmoem/footprint.png b/graphics/pokemon/cosmoem/footprint.png new file mode 100644 index 000000000..31cecc3ac Binary files /dev/null and b/graphics/pokemon/cosmoem/footprint.png differ diff --git a/graphics/pokemon/cosmog/footprint.png b/graphics/pokemon/cosmog/footprint.png new file mode 100644 index 000000000..a2fe0b64c Binary files /dev/null and b/graphics/pokemon/cosmog/footprint.png differ diff --git a/graphics/pokemon/crabominable/footprint.png b/graphics/pokemon/crabominable/footprint.png new file mode 100644 index 000000000..d67ceceee Binary files /dev/null and b/graphics/pokemon/crabominable/footprint.png differ diff --git a/graphics/pokemon/crabrawler/footprint.png b/graphics/pokemon/crabrawler/footprint.png new file mode 100644 index 000000000..665b3e97b Binary files /dev/null and b/graphics/pokemon/crabrawler/footprint.png differ diff --git a/graphics/pokemon/cramorant/footprint.png b/graphics/pokemon/cramorant/footprint.png new file mode 100644 index 000000000..9c9bffb0c Binary files /dev/null and b/graphics/pokemon/cramorant/footprint.png differ diff --git a/graphics/pokemon/cufant/footprint.png b/graphics/pokemon/cufant/footprint.png new file mode 100644 index 000000000..1f455d9d8 Binary files /dev/null and b/graphics/pokemon/cufant/footprint.png differ diff --git a/graphics/pokemon/cursola/footprint.png b/graphics/pokemon/cursola/footprint.png new file mode 100644 index 000000000..2a8e9ff35 Binary files /dev/null and b/graphics/pokemon/cursola/footprint.png differ diff --git a/graphics/pokemon/cutiefly/footprint.png b/graphics/pokemon/cutiefly/footprint.png new file mode 100644 index 000000000..b7587ca27 Binary files /dev/null and b/graphics/pokemon/cutiefly/footprint.png differ diff --git a/graphics/pokemon/dartrix/footprint.png b/graphics/pokemon/dartrix/footprint.png new file mode 100644 index 000000000..8a7eb236d Binary files /dev/null and b/graphics/pokemon/dartrix/footprint.png differ diff --git a/graphics/pokemon/decidueye/footprint.png b/graphics/pokemon/decidueye/footprint.png new file mode 100644 index 000000000..8061657a7 Binary files /dev/null and b/graphics/pokemon/decidueye/footprint.png differ diff --git a/graphics/pokemon/dewpider/footprint.png b/graphics/pokemon/dewpider/footprint.png new file mode 100644 index 000000000..87f972b02 Binary files /dev/null and b/graphics/pokemon/dewpider/footprint.png differ diff --git a/graphics/pokemon/dhelmise/footprint.png b/graphics/pokemon/dhelmise/footprint.png new file mode 100644 index 000000000..933d21b5a Binary files /dev/null and b/graphics/pokemon/dhelmise/footprint.png differ diff --git a/graphics/pokemon/dottler/footprint.png b/graphics/pokemon/dottler/footprint.png new file mode 100644 index 000000000..d1c72ca9c Binary files /dev/null and b/graphics/pokemon/dottler/footprint.png differ diff --git a/graphics/pokemon/dracovish/footprint.png b/graphics/pokemon/dracovish/footprint.png new file mode 100644 index 000000000..393a49c9e Binary files /dev/null and b/graphics/pokemon/dracovish/footprint.png differ diff --git a/graphics/pokemon/dracozolt/footprint.png b/graphics/pokemon/dracozolt/footprint.png new file mode 100644 index 000000000..61e4db301 Binary files /dev/null and b/graphics/pokemon/dracozolt/footprint.png differ diff --git a/graphics/pokemon/dragapult/footprint.png b/graphics/pokemon/dragapult/footprint.png new file mode 100644 index 000000000..74f6dcf3c Binary files /dev/null and b/graphics/pokemon/dragapult/footprint.png differ diff --git a/graphics/pokemon/drakloak/footprint.png b/graphics/pokemon/drakloak/footprint.png new file mode 100644 index 000000000..a73855356 Binary files /dev/null and b/graphics/pokemon/drakloak/footprint.png differ diff --git a/graphics/pokemon/drampa/footprint.png b/graphics/pokemon/drampa/footprint.png new file mode 100644 index 000000000..63bc4a257 Binary files /dev/null and b/graphics/pokemon/drampa/footprint.png differ diff --git a/graphics/pokemon/drednaw/footprint.png b/graphics/pokemon/drednaw/footprint.png new file mode 100644 index 000000000..f6da8b76b Binary files /dev/null and b/graphics/pokemon/drednaw/footprint.png differ diff --git a/graphics/pokemon/dreepy/footprint.png b/graphics/pokemon/dreepy/footprint.png new file mode 100644 index 000000000..ff7379baa Binary files /dev/null and b/graphics/pokemon/dreepy/footprint.png differ diff --git a/graphics/pokemon/drizzile/footprint.png b/graphics/pokemon/drizzile/footprint.png new file mode 100644 index 000000000..bda00c213 Binary files /dev/null and b/graphics/pokemon/drizzile/footprint.png differ diff --git a/graphics/pokemon/dubwool/footprint.png b/graphics/pokemon/dubwool/footprint.png new file mode 100644 index 000000000..c302e113b Binary files /dev/null and b/graphics/pokemon/dubwool/footprint.png differ diff --git a/graphics/pokemon/duraludon/footprint.png b/graphics/pokemon/duraludon/footprint.png new file mode 100644 index 000000000..e723bbd39 Binary files /dev/null and b/graphics/pokemon/duraludon/footprint.png differ diff --git a/graphics/pokemon/eiscue/footprint.png b/graphics/pokemon/eiscue/footprint.png new file mode 100644 index 000000000..c57938799 Binary files /dev/null and b/graphics/pokemon/eiscue/footprint.png differ diff --git a/graphics/pokemon/eldegoss/footprint.png b/graphics/pokemon/eldegoss/footprint.png new file mode 100644 index 000000000..78c5766d5 Binary files /dev/null and b/graphics/pokemon/eldegoss/footprint.png differ diff --git a/graphics/pokemon/eternatus/footprint.png b/graphics/pokemon/eternatus/footprint.png new file mode 100644 index 000000000..7bc9c3e37 Binary files /dev/null and b/graphics/pokemon/eternatus/footprint.png differ diff --git a/graphics/pokemon/falinks/footprint.png b/graphics/pokemon/falinks/footprint.png new file mode 100644 index 000000000..b8befed87 Binary files /dev/null and b/graphics/pokemon/falinks/footprint.png differ diff --git a/graphics/pokemon/flapple/footprint.png b/graphics/pokemon/flapple/footprint.png new file mode 100644 index 000000000..c17ef139a Binary files /dev/null and b/graphics/pokemon/flapple/footprint.png differ diff --git a/graphics/pokemon/fomantis/footprint.png b/graphics/pokemon/fomantis/footprint.png new file mode 100644 index 000000000..91b583cfd Binary files /dev/null and b/graphics/pokemon/fomantis/footprint.png differ diff --git a/graphics/pokemon/frosmoth/footprint.png b/graphics/pokemon/frosmoth/footprint.png new file mode 100644 index 000000000..4b1ebb9b7 Binary files /dev/null and b/graphics/pokemon/frosmoth/footprint.png differ diff --git a/graphics/pokemon/glastrier/footprint.png b/graphics/pokemon/glastrier/footprint.png new file mode 100644 index 000000000..cf32331ce Binary files /dev/null and b/graphics/pokemon/glastrier/footprint.png differ diff --git a/graphics/pokemon/golisopod/footprint.png b/graphics/pokemon/golisopod/footprint.png new file mode 100644 index 000000000..7da39e2aa Binary files /dev/null and b/graphics/pokemon/golisopod/footprint.png differ diff --git a/graphics/pokemon/gossifleur/footprint.png b/graphics/pokemon/gossifleur/footprint.png new file mode 100644 index 000000000..0efe7646a Binary files /dev/null and b/graphics/pokemon/gossifleur/footprint.png differ diff --git a/graphics/pokemon/grapploct/footprint.png b/graphics/pokemon/grapploct/footprint.png new file mode 100644 index 000000000..ea3c59c40 Binary files /dev/null and b/graphics/pokemon/grapploct/footprint.png differ diff --git a/graphics/pokemon/greedent/footprint.png b/graphics/pokemon/greedent/footprint.png new file mode 100644 index 000000000..d2e45203a Binary files /dev/null and b/graphics/pokemon/greedent/footprint.png differ diff --git a/graphics/pokemon/grimmsnarl/footprint.png b/graphics/pokemon/grimmsnarl/footprint.png new file mode 100644 index 000000000..a3776b238 Binary files /dev/null and b/graphics/pokemon/grimmsnarl/footprint.png differ diff --git a/graphics/pokemon/grookey/footprint.png b/graphics/pokemon/grookey/footprint.png new file mode 100644 index 000000000..836738bc0 Binary files /dev/null and b/graphics/pokemon/grookey/footprint.png differ diff --git a/graphics/pokemon/grubbin/footprint.png b/graphics/pokemon/grubbin/footprint.png new file mode 100644 index 000000000..aeac35bc5 Binary files /dev/null and b/graphics/pokemon/grubbin/footprint.png differ diff --git a/graphics/pokemon/gumshoos/footprint.png b/graphics/pokemon/gumshoos/footprint.png new file mode 100644 index 000000000..abc07274b Binary files /dev/null and b/graphics/pokemon/gumshoos/footprint.png differ diff --git a/graphics/pokemon/guzzlord/footprint.png b/graphics/pokemon/guzzlord/footprint.png new file mode 100644 index 000000000..9184adb9b Binary files /dev/null and b/graphics/pokemon/guzzlord/footprint.png differ diff --git a/graphics/pokemon/hakamo_o/footprint.png b/graphics/pokemon/hakamo_o/footprint.png new file mode 100644 index 000000000..137c8c5d7 Binary files /dev/null and b/graphics/pokemon/hakamo_o/footprint.png differ diff --git a/graphics/pokemon/hatenna/footprint.png b/graphics/pokemon/hatenna/footprint.png new file mode 100644 index 000000000..c133d134b Binary files /dev/null and b/graphics/pokemon/hatenna/footprint.png differ diff --git a/graphics/pokemon/hatterene/footprint.png b/graphics/pokemon/hatterene/footprint.png new file mode 100644 index 000000000..bfb754ec3 Binary files /dev/null and b/graphics/pokemon/hatterene/footprint.png differ diff --git a/graphics/pokemon/hattrem/footprint.png b/graphics/pokemon/hattrem/footprint.png new file mode 100644 index 000000000..83360f473 Binary files /dev/null and b/graphics/pokemon/hattrem/footprint.png differ diff --git a/graphics/pokemon/impidimp/footprint.png b/graphics/pokemon/impidimp/footprint.png new file mode 100644 index 000000000..8ff5f9113 Binary files /dev/null and b/graphics/pokemon/impidimp/footprint.png differ diff --git a/graphics/pokemon/incineroar/footprint.png b/graphics/pokemon/incineroar/footprint.png new file mode 100644 index 000000000..269a337d6 Binary files /dev/null and b/graphics/pokemon/incineroar/footprint.png differ diff --git a/graphics/pokemon/indeedee/footprint.png b/graphics/pokemon/indeedee/footprint.png new file mode 100644 index 000000000..d406d05d9 Binary files /dev/null and b/graphics/pokemon/indeedee/footprint.png differ diff --git a/graphics/pokemon/inteleon/footprint.png b/graphics/pokemon/inteleon/footprint.png new file mode 100644 index 000000000..7ea7d445f Binary files /dev/null and b/graphics/pokemon/inteleon/footprint.png differ diff --git a/graphics/pokemon/jangmo_o/footprint.png b/graphics/pokemon/jangmo_o/footprint.png new file mode 100644 index 000000000..87c5900eb Binary files /dev/null and b/graphics/pokemon/jangmo_o/footprint.png differ diff --git a/graphics/pokemon/kartana/footprint.png b/graphics/pokemon/kartana/footprint.png new file mode 100644 index 000000000..9910a09ec Binary files /dev/null and b/graphics/pokemon/kartana/footprint.png differ diff --git a/graphics/pokemon/komala/footprint.png b/graphics/pokemon/komala/footprint.png new file mode 100644 index 000000000..6c8921c31 Binary files /dev/null and b/graphics/pokemon/komala/footprint.png differ diff --git a/graphics/pokemon/kommo_o/footprint.png b/graphics/pokemon/kommo_o/footprint.png new file mode 100644 index 000000000..4f14bd482 Binary files /dev/null and b/graphics/pokemon/kommo_o/footprint.png differ diff --git a/graphics/pokemon/kricketot/anim_frontf.png b/graphics/pokemon/kricketot/anim_frontf.png new file mode 100644 index 000000000..86b2f773a Binary files /dev/null and b/graphics/pokemon/kricketot/anim_frontf.png differ diff --git a/graphics/pokemon/kricketot/backf.png b/graphics/pokemon/kricketot/backf.png new file mode 100644 index 000000000..9bafab879 Binary files /dev/null and b/graphics/pokemon/kricketot/backf.png differ diff --git a/graphics/pokemon/kricketune/anim_frontf.png b/graphics/pokemon/kricketune/anim_frontf.png new file mode 100644 index 000000000..b05954ee6 Binary files /dev/null and b/graphics/pokemon/kricketune/anim_frontf.png differ diff --git a/graphics/pokemon/kricketune/backf.png b/graphics/pokemon/kricketune/backf.png new file mode 100644 index 000000000..fb9e5ca85 Binary files /dev/null and b/graphics/pokemon/kricketune/backf.png differ diff --git a/graphics/pokemon/kubfu/footprint.png b/graphics/pokemon/kubfu/footprint.png new file mode 100644 index 000000000..cb372f7d2 Binary files /dev/null and b/graphics/pokemon/kubfu/footprint.png differ diff --git a/graphics/pokemon/litten/footprint.png b/graphics/pokemon/litten/footprint.png new file mode 100644 index 000000000..8c7c5b067 Binary files /dev/null and b/graphics/pokemon/litten/footprint.png differ diff --git a/graphics/pokemon/lunala/footprint.png b/graphics/pokemon/lunala/footprint.png new file mode 100644 index 000000000..d9a4ff1d4 Binary files /dev/null and b/graphics/pokemon/lunala/footprint.png differ diff --git a/graphics/pokemon/lurantis/footprint.png b/graphics/pokemon/lurantis/footprint.png new file mode 100644 index 000000000..c6733b612 Binary files /dev/null and b/graphics/pokemon/lurantis/footprint.png differ diff --git a/graphics/pokemon/lycanroc/footprint.png b/graphics/pokemon/lycanroc/footprint.png new file mode 100644 index 000000000..7e69bd83e Binary files /dev/null and b/graphics/pokemon/lycanroc/footprint.png differ diff --git a/graphics/pokemon/magearna/footprint.png b/graphics/pokemon/magearna/footprint.png new file mode 100644 index 000000000..0f2f2d308 Binary files /dev/null and b/graphics/pokemon/magearna/footprint.png differ diff --git a/graphics/pokemon/mareanie/footprint.png b/graphics/pokemon/mareanie/footprint.png new file mode 100644 index 000000000..b851ca0ca Binary files /dev/null and b/graphics/pokemon/mareanie/footprint.png differ diff --git a/graphics/pokemon/marshadow/footprint.png b/graphics/pokemon/marshadow/footprint.png new file mode 100644 index 000000000..6d82d60bb Binary files /dev/null and b/graphics/pokemon/marshadow/footprint.png differ diff --git a/graphics/pokemon/melmetal/footprint.png b/graphics/pokemon/melmetal/footprint.png new file mode 100644 index 000000000..982753a19 Binary files /dev/null and b/graphics/pokemon/melmetal/footprint.png differ diff --git a/graphics/pokemon/meltan/footprint.png b/graphics/pokemon/meltan/footprint.png new file mode 100644 index 000000000..37b4e1d3e Binary files /dev/null and b/graphics/pokemon/meltan/footprint.png differ diff --git a/graphics/pokemon/milcery/footprint.png b/graphics/pokemon/milcery/footprint.png new file mode 100644 index 000000000..fd3ee498d Binary files /dev/null and b/graphics/pokemon/milcery/footprint.png differ diff --git a/graphics/pokemon/mimikyu/footprint.png b/graphics/pokemon/mimikyu/footprint.png new file mode 100644 index 000000000..00eff81a9 Binary files /dev/null and b/graphics/pokemon/mimikyu/footprint.png differ diff --git a/graphics/pokemon/minior/footprint.png b/graphics/pokemon/minior/footprint.png new file mode 100644 index 000000000..2e1ee7994 Binary files /dev/null and b/graphics/pokemon/minior/footprint.png differ diff --git a/graphics/pokemon/morelull/footprint.png b/graphics/pokemon/morelull/footprint.png new file mode 100644 index 000000000..a5658a319 Binary files /dev/null and b/graphics/pokemon/morelull/footprint.png differ diff --git a/graphics/pokemon/morgrem/footprint.png b/graphics/pokemon/morgrem/footprint.png new file mode 100644 index 000000000..241717ead Binary files /dev/null and b/graphics/pokemon/morgrem/footprint.png differ diff --git a/graphics/pokemon/morpeko/footprint.png b/graphics/pokemon/morpeko/footprint.png new file mode 100644 index 000000000..398d437f0 Binary files /dev/null and b/graphics/pokemon/morpeko/footprint.png differ diff --git a/graphics/pokemon/mr_rime/footprint.png b/graphics/pokemon/mr_rime/footprint.png new file mode 100644 index 000000000..5b8cc5c93 Binary files /dev/null and b/graphics/pokemon/mr_rime/footprint.png differ diff --git a/graphics/pokemon/mudbray/footprint.png b/graphics/pokemon/mudbray/footprint.png new file mode 100644 index 000000000..c334a7fac Binary files /dev/null and b/graphics/pokemon/mudbray/footprint.png differ diff --git a/graphics/pokemon/mudsdale/footprint.png b/graphics/pokemon/mudsdale/footprint.png new file mode 100644 index 000000000..16a9b40ae Binary files /dev/null and b/graphics/pokemon/mudsdale/footprint.png differ diff --git a/graphics/pokemon/naganadel/footprint.png b/graphics/pokemon/naganadel/footprint.png new file mode 100644 index 000000000..78250a3d5 Binary files /dev/null and b/graphics/pokemon/naganadel/footprint.png differ diff --git a/graphics/pokemon/necrozma/footprint.png b/graphics/pokemon/necrozma/footprint.png new file mode 100644 index 000000000..baad92198 Binary files /dev/null and b/graphics/pokemon/necrozma/footprint.png differ diff --git a/graphics/pokemon/nickit/footprint.png b/graphics/pokemon/nickit/footprint.png new file mode 100644 index 000000000..480c8f267 Binary files /dev/null and b/graphics/pokemon/nickit/footprint.png differ diff --git a/graphics/pokemon/nihilego/footprint.png b/graphics/pokemon/nihilego/footprint.png new file mode 100644 index 000000000..09c582c42 Binary files /dev/null and b/graphics/pokemon/nihilego/footprint.png differ diff --git a/graphics/pokemon/obstagoon/footprint.png b/graphics/pokemon/obstagoon/footprint.png new file mode 100644 index 000000000..dbfcda463 Binary files /dev/null and b/graphics/pokemon/obstagoon/footprint.png differ diff --git a/graphics/pokemon/oranguru/footprint.png b/graphics/pokemon/oranguru/footprint.png new file mode 100644 index 000000000..294a56389 Binary files /dev/null and b/graphics/pokemon/oranguru/footprint.png differ diff --git a/graphics/pokemon/orbeetle/footprint.png b/graphics/pokemon/orbeetle/footprint.png new file mode 100644 index 000000000..57dc260a9 Binary files /dev/null and b/graphics/pokemon/orbeetle/footprint.png differ diff --git a/graphics/pokemon/oricorio/footprint.png b/graphics/pokemon/oricorio/footprint.png new file mode 100644 index 000000000..bb9cc0114 Binary files /dev/null and b/graphics/pokemon/oricorio/footprint.png differ diff --git a/graphics/pokemon/palossand/footprint.png b/graphics/pokemon/palossand/footprint.png new file mode 100644 index 000000000..f0c03ad35 Binary files /dev/null and b/graphics/pokemon/palossand/footprint.png differ diff --git a/graphics/pokemon/passimian/footprint.png b/graphics/pokemon/passimian/footprint.png new file mode 100644 index 000000000..efd96aa10 Binary files /dev/null and b/graphics/pokemon/passimian/footprint.png differ diff --git a/graphics/pokemon/perrserker/footprint.png b/graphics/pokemon/perrserker/footprint.png new file mode 100644 index 000000000..c2bce6fde Binary files /dev/null and b/graphics/pokemon/perrserker/footprint.png differ diff --git a/graphics/pokemon/pheromosa/footprint.png b/graphics/pokemon/pheromosa/footprint.png new file mode 100644 index 000000000..b1a57f94e Binary files /dev/null and b/graphics/pokemon/pheromosa/footprint.png differ diff --git a/graphics/pokemon/pikachu/partner_cap/back.png b/graphics/pokemon/pikachu/partner_cap/back.png index a06e273ef..961611d28 100644 Binary files a/graphics/pokemon/pikachu/partner_cap/back.png and b/graphics/pokemon/pikachu/partner_cap/back.png differ diff --git a/graphics/pokemon/pikachu/partner_cap/front.png b/graphics/pokemon/pikachu/partner_cap/front.png index 10a4b1158..696590076 100644 Binary files a/graphics/pokemon/pikachu/partner_cap/front.png and b/graphics/pokemon/pikachu/partner_cap/front.png differ diff --git a/graphics/pokemon/pikipek/footprint.png b/graphics/pokemon/pikipek/footprint.png new file mode 100644 index 000000000..88ac9663c Binary files /dev/null and b/graphics/pokemon/pikipek/footprint.png differ diff --git a/graphics/pokemon/pincurchin/footprint.png b/graphics/pokemon/pincurchin/footprint.png new file mode 100644 index 000000000..7a29a3a01 Binary files /dev/null and b/graphics/pokemon/pincurchin/footprint.png differ diff --git a/graphics/pokemon/poipole/footprint.png b/graphics/pokemon/poipole/footprint.png new file mode 100644 index 000000000..249c47e08 Binary files /dev/null and b/graphics/pokemon/poipole/footprint.png differ diff --git a/graphics/pokemon/polteageist/footprint.png b/graphics/pokemon/polteageist/footprint.png new file mode 100644 index 000000000..619fab987 Binary files /dev/null and b/graphics/pokemon/polteageist/footprint.png differ diff --git a/graphics/pokemon/popplio/footprint.png b/graphics/pokemon/popplio/footprint.png new file mode 100644 index 000000000..3f2666932 Binary files /dev/null and b/graphics/pokemon/popplio/footprint.png differ diff --git a/graphics/pokemon/primarina/footprint.png b/graphics/pokemon/primarina/footprint.png new file mode 100644 index 000000000..53b9f28d4 Binary files /dev/null and b/graphics/pokemon/primarina/footprint.png differ diff --git a/graphics/pokemon/pyukumuku/footprint.png b/graphics/pokemon/pyukumuku/footprint.png new file mode 100644 index 000000000..fa1ffd4ac Binary files /dev/null and b/graphics/pokemon/pyukumuku/footprint.png differ diff --git a/graphics/pokemon/raboot/footprint.png b/graphics/pokemon/raboot/footprint.png new file mode 100644 index 000000000..e8e0f26b6 Binary files /dev/null and b/graphics/pokemon/raboot/footprint.png differ diff --git a/graphics/pokemon/regidrago/footprint.png b/graphics/pokemon/regidrago/footprint.png new file mode 100644 index 000000000..616bef0de Binary files /dev/null and b/graphics/pokemon/regidrago/footprint.png differ diff --git a/graphics/pokemon/regieleki/footprint.png b/graphics/pokemon/regieleki/footprint.png new file mode 100644 index 000000000..f64e6d1b9 Binary files /dev/null and b/graphics/pokemon/regieleki/footprint.png differ diff --git a/graphics/pokemon/ribombee/footprint.png b/graphics/pokemon/ribombee/footprint.png new file mode 100644 index 000000000..5f908e974 Binary files /dev/null and b/graphics/pokemon/ribombee/footprint.png differ diff --git a/graphics/pokemon/rillaboom/footprint.png b/graphics/pokemon/rillaboom/footprint.png new file mode 100644 index 000000000..2711be60c Binary files /dev/null and b/graphics/pokemon/rillaboom/footprint.png differ diff --git a/graphics/pokemon/rockruff/footprint.png b/graphics/pokemon/rockruff/footprint.png new file mode 100644 index 000000000..486ec0623 Binary files /dev/null and b/graphics/pokemon/rockruff/footprint.png differ diff --git a/graphics/pokemon/rolycoly/footprint.png b/graphics/pokemon/rolycoly/footprint.png new file mode 100644 index 000000000..d33007c58 Binary files /dev/null and b/graphics/pokemon/rolycoly/footprint.png differ diff --git a/graphics/pokemon/rookidee/footprint.png b/graphics/pokemon/rookidee/footprint.png new file mode 100644 index 000000000..82cf54523 Binary files /dev/null and b/graphics/pokemon/rookidee/footprint.png differ diff --git a/graphics/pokemon/rowlet/footprint.png b/graphics/pokemon/rowlet/footprint.png new file mode 100644 index 000000000..a67af910f Binary files /dev/null and b/graphics/pokemon/rowlet/footprint.png differ diff --git a/graphics/pokemon/runerigus/footprint.png b/graphics/pokemon/runerigus/footprint.png new file mode 100644 index 000000000..4c2de9222 Binary files /dev/null and b/graphics/pokemon/runerigus/footprint.png differ diff --git a/graphics/pokemon/salandit/footprint.png b/graphics/pokemon/salandit/footprint.png new file mode 100644 index 000000000..3490ad768 Binary files /dev/null and b/graphics/pokemon/salandit/footprint.png differ diff --git a/graphics/pokemon/salazzle/footprint.png b/graphics/pokemon/salazzle/footprint.png new file mode 100644 index 000000000..c8eb90af9 Binary files /dev/null and b/graphics/pokemon/salazzle/footprint.png differ diff --git a/graphics/pokemon/sandaconda/footprint.png b/graphics/pokemon/sandaconda/footprint.png new file mode 100644 index 000000000..9de287226 Binary files /dev/null and b/graphics/pokemon/sandaconda/footprint.png differ diff --git a/graphics/pokemon/sandygast/footprint.png b/graphics/pokemon/sandygast/footprint.png new file mode 100644 index 000000000..87078a7b4 Binary files /dev/null and b/graphics/pokemon/sandygast/footprint.png differ diff --git a/graphics/pokemon/scorbunny/footprint.png b/graphics/pokemon/scorbunny/footprint.png new file mode 100644 index 000000000..03b76efa1 Binary files /dev/null and b/graphics/pokemon/scorbunny/footprint.png differ diff --git a/graphics/pokemon/shiinotic/footprint.png b/graphics/pokemon/shiinotic/footprint.png new file mode 100644 index 000000000..b2db8ea72 Binary files /dev/null and b/graphics/pokemon/shiinotic/footprint.png differ diff --git a/graphics/pokemon/shinx/anim_front.png b/graphics/pokemon/shinx/anim_front.png index 33a28bf20..16221a2a2 100644 Binary files a/graphics/pokemon/shinx/anim_front.png and b/graphics/pokemon/shinx/anim_front.png differ diff --git a/graphics/pokemon/shinx/anim_frontf.png b/graphics/pokemon/shinx/anim_frontf.png new file mode 100644 index 000000000..226c6f3bd Binary files /dev/null and b/graphics/pokemon/shinx/anim_frontf.png differ diff --git a/graphics/pokemon/shinx/back.png b/graphics/pokemon/shinx/back.png index 24108fbf3..5d693fca8 100644 Binary files a/graphics/pokemon/shinx/back.png and b/graphics/pokemon/shinx/back.png differ diff --git a/graphics/pokemon/shinx/backf.png b/graphics/pokemon/shinx/backf.png new file mode 100644 index 000000000..24108fbf3 Binary files /dev/null and b/graphics/pokemon/shinx/backf.png differ diff --git a/graphics/pokemon/silicobra/footprint.png b/graphics/pokemon/silicobra/footprint.png new file mode 100644 index 000000000..f16726255 Binary files /dev/null and b/graphics/pokemon/silicobra/footprint.png differ diff --git a/graphics/pokemon/silvally/footprint.png b/graphics/pokemon/silvally/footprint.png new file mode 100644 index 000000000..b5542742f Binary files /dev/null and b/graphics/pokemon/silvally/footprint.png differ diff --git a/graphics/pokemon/sinistea/footprint.png b/graphics/pokemon/sinistea/footprint.png new file mode 100644 index 000000000..dcea8100b Binary files /dev/null and b/graphics/pokemon/sinistea/footprint.png differ diff --git a/graphics/pokemon/sirfetchd/footprint.png b/graphics/pokemon/sirfetchd/footprint.png new file mode 100644 index 000000000..78a8ecb4f Binary files /dev/null and b/graphics/pokemon/sirfetchd/footprint.png differ diff --git a/graphics/pokemon/sizzlipede/footprint.png b/graphics/pokemon/sizzlipede/footprint.png new file mode 100644 index 000000000..44b5823d2 Binary files /dev/null and b/graphics/pokemon/sizzlipede/footprint.png differ diff --git a/graphics/pokemon/skwovet/footprint.png b/graphics/pokemon/skwovet/footprint.png new file mode 100644 index 000000000..d60ef0d6b Binary files /dev/null and b/graphics/pokemon/skwovet/footprint.png differ diff --git a/graphics/pokemon/snom/footprint.png b/graphics/pokemon/snom/footprint.png new file mode 100644 index 000000000..077d66773 Binary files /dev/null and b/graphics/pokemon/snom/footprint.png differ diff --git a/graphics/pokemon/sobble/footprint.png b/graphics/pokemon/sobble/footprint.png new file mode 100644 index 000000000..7cca4a4c5 Binary files /dev/null and b/graphics/pokemon/sobble/footprint.png differ diff --git a/graphics/pokemon/solgaleo/footprint.png b/graphics/pokemon/solgaleo/footprint.png new file mode 100644 index 000000000..4ad6b8551 Binary files /dev/null and b/graphics/pokemon/solgaleo/footprint.png differ diff --git a/graphics/pokemon/spectrier/footprint.png b/graphics/pokemon/spectrier/footprint.png new file mode 100644 index 000000000..9383b36a7 Binary files /dev/null and b/graphics/pokemon/spectrier/footprint.png differ diff --git a/graphics/pokemon/stakataka/footprint.png b/graphics/pokemon/stakataka/footprint.png new file mode 100644 index 000000000..70757fc3f Binary files /dev/null and b/graphics/pokemon/stakataka/footprint.png differ diff --git a/graphics/pokemon/staraptor/anim_frontf.png b/graphics/pokemon/staraptor/anim_frontf.png new file mode 100644 index 000000000..9bfd99e80 Binary files /dev/null and b/graphics/pokemon/staraptor/anim_frontf.png differ diff --git a/graphics/pokemon/staravia/anim_frontf.png b/graphics/pokemon/staravia/anim_frontf.png new file mode 100644 index 000000000..1d4359a4d Binary files /dev/null and b/graphics/pokemon/staravia/anim_frontf.png differ diff --git a/graphics/pokemon/staravia/backf.png b/graphics/pokemon/staravia/backf.png new file mode 100644 index 000000000..eab9fd834 Binary files /dev/null and b/graphics/pokemon/staravia/backf.png differ diff --git a/graphics/pokemon/starly/anim_frontf.png b/graphics/pokemon/starly/anim_frontf.png new file mode 100644 index 000000000..f604a8387 Binary files /dev/null and b/graphics/pokemon/starly/anim_frontf.png differ diff --git a/graphics/pokemon/starly/backf.png b/graphics/pokemon/starly/backf.png new file mode 100644 index 000000000..c65bf27b0 Binary files /dev/null and b/graphics/pokemon/starly/backf.png differ diff --git a/graphics/pokemon/steenee/footprint.png b/graphics/pokemon/steenee/footprint.png new file mode 100644 index 000000000..a699802b1 Binary files /dev/null and b/graphics/pokemon/steenee/footprint.png differ diff --git a/graphics/pokemon/stonjourner/footprint.png b/graphics/pokemon/stonjourner/footprint.png new file mode 100644 index 000000000..15adc2551 Binary files /dev/null and b/graphics/pokemon/stonjourner/footprint.png differ diff --git a/graphics/pokemon/stufful/footprint.png b/graphics/pokemon/stufful/footprint.png new file mode 100644 index 000000000..1e41dad79 Binary files /dev/null and b/graphics/pokemon/stufful/footprint.png differ diff --git a/graphics/pokemon/tapu_bulu/footprint.png b/graphics/pokemon/tapu_bulu/footprint.png new file mode 100644 index 000000000..73d94c7e5 Binary files /dev/null and b/graphics/pokemon/tapu_bulu/footprint.png differ diff --git a/graphics/pokemon/tapu_fini/footprint.png b/graphics/pokemon/tapu_fini/footprint.png new file mode 100644 index 000000000..5c9f78a24 Binary files /dev/null and b/graphics/pokemon/tapu_fini/footprint.png differ diff --git a/graphics/pokemon/tapu_koko/footprint.png b/graphics/pokemon/tapu_koko/footprint.png new file mode 100644 index 000000000..a3357255c Binary files /dev/null and b/graphics/pokemon/tapu_koko/footprint.png differ diff --git a/graphics/pokemon/tapu_lele/footprint.png b/graphics/pokemon/tapu_lele/footprint.png new file mode 100644 index 000000000..e6058f4c0 Binary files /dev/null and b/graphics/pokemon/tapu_lele/footprint.png differ diff --git a/graphics/pokemon/thievul/footprint.png b/graphics/pokemon/thievul/footprint.png new file mode 100644 index 000000000..530e57b35 Binary files /dev/null and b/graphics/pokemon/thievul/footprint.png differ diff --git a/graphics/pokemon/thwackey/footprint.png b/graphics/pokemon/thwackey/footprint.png new file mode 100644 index 000000000..a39e31bcf Binary files /dev/null and b/graphics/pokemon/thwackey/footprint.png differ diff --git a/graphics/pokemon/togedemaru/footprint.png b/graphics/pokemon/togedemaru/footprint.png new file mode 100644 index 000000000..980843406 Binary files /dev/null and b/graphics/pokemon/togedemaru/footprint.png differ diff --git a/graphics/pokemon/torracat/footprint.png b/graphics/pokemon/torracat/footprint.png new file mode 100644 index 000000000..0849f9a91 Binary files /dev/null and b/graphics/pokemon/torracat/footprint.png differ diff --git a/graphics/pokemon/toucannon/footprint.png b/graphics/pokemon/toucannon/footprint.png new file mode 100644 index 000000000..d85988dbc Binary files /dev/null and b/graphics/pokemon/toucannon/footprint.png differ diff --git a/graphics/pokemon/toxapex/footprint.png b/graphics/pokemon/toxapex/footprint.png new file mode 100644 index 000000000..211e447c1 Binary files /dev/null and b/graphics/pokemon/toxapex/footprint.png differ diff --git a/graphics/pokemon/toxel/footprint.png b/graphics/pokemon/toxel/footprint.png new file mode 100644 index 000000000..e89659880 Binary files /dev/null and b/graphics/pokemon/toxel/footprint.png differ diff --git a/graphics/pokemon/toxtricity/footprint.png b/graphics/pokemon/toxtricity/footprint.png new file mode 100644 index 000000000..f9824a088 Binary files /dev/null and b/graphics/pokemon/toxtricity/footprint.png differ diff --git a/graphics/pokemon/trumbeak/footprint.png b/graphics/pokemon/trumbeak/footprint.png new file mode 100644 index 000000000..d31c0fc03 Binary files /dev/null and b/graphics/pokemon/trumbeak/footprint.png differ diff --git a/graphics/pokemon/tsareena/footprint.png b/graphics/pokemon/tsareena/footprint.png new file mode 100644 index 000000000..4a2618262 Binary files /dev/null and b/graphics/pokemon/tsareena/footprint.png differ diff --git a/graphics/pokemon/turtonator/footprint.png b/graphics/pokemon/turtonator/footprint.png new file mode 100644 index 000000000..ee747e804 Binary files /dev/null and b/graphics/pokemon/turtonator/footprint.png differ diff --git a/graphics/pokemon/type_null/footprint.png b/graphics/pokemon/type_null/footprint.png new file mode 100644 index 000000000..45cac97c9 Binary files /dev/null and b/graphics/pokemon/type_null/footprint.png differ diff --git a/graphics/pokemon/urshifu/footprint.png b/graphics/pokemon/urshifu/footprint.png new file mode 100644 index 000000000..bf4c5a6f6 Binary files /dev/null and b/graphics/pokemon/urshifu/footprint.png differ diff --git a/graphics/pokemon/vikavolt/footprint.png b/graphics/pokemon/vikavolt/footprint.png new file mode 100644 index 000000000..bc9bf4168 Binary files /dev/null and b/graphics/pokemon/vikavolt/footprint.png differ diff --git a/graphics/pokemon/wimpod/footprint.png b/graphics/pokemon/wimpod/footprint.png new file mode 100644 index 000000000..9e61a6530 Binary files /dev/null and b/graphics/pokemon/wimpod/footprint.png differ diff --git a/graphics/pokemon/wishiwashi/footprint.png b/graphics/pokemon/wishiwashi/footprint.png new file mode 100644 index 000000000..2d3e0d134 Binary files /dev/null and b/graphics/pokemon/wishiwashi/footprint.png differ diff --git a/graphics/pokemon/wooloo/footprint.png b/graphics/pokemon/wooloo/footprint.png new file mode 100644 index 000000000..7c44b00b0 Binary files /dev/null and b/graphics/pokemon/wooloo/footprint.png differ diff --git a/graphics/pokemon/wormadam/icon.png b/graphics/pokemon/wormadam/icon.png index 7aa1d61d8..eb622fca2 100644 Binary files a/graphics/pokemon/wormadam/icon.png and b/graphics/pokemon/wormadam/icon.png differ diff --git a/graphics/pokemon/xurkitree/footprint.png b/graphics/pokemon/xurkitree/footprint.png new file mode 100644 index 000000000..09228b878 Binary files /dev/null and b/graphics/pokemon/xurkitree/footprint.png differ diff --git a/graphics/pokemon/yamper/footprint.png b/graphics/pokemon/yamper/footprint.png new file mode 100644 index 000000000..4324de5e4 Binary files /dev/null and b/graphics/pokemon/yamper/footprint.png differ diff --git a/graphics/pokemon/yungoos/footprint.png b/graphics/pokemon/yungoos/footprint.png new file mode 100644 index 000000000..bf93269ca Binary files /dev/null and b/graphics/pokemon/yungoos/footprint.png differ diff --git a/graphics/pokemon/zacian/footprint.png b/graphics/pokemon/zacian/footprint.png new file mode 100644 index 000000000..eeb3f0ca6 Binary files /dev/null and b/graphics/pokemon/zacian/footprint.png differ diff --git a/graphics/pokemon/zamazenta/footprint.png b/graphics/pokemon/zamazenta/footprint.png new file mode 100644 index 000000000..242a33ad6 Binary files /dev/null and b/graphics/pokemon/zamazenta/footprint.png differ diff --git a/graphics/pokemon/zarude/footprint.png b/graphics/pokemon/zarude/footprint.png new file mode 100644 index 000000000..3e1c2c2fd Binary files /dev/null and b/graphics/pokemon/zarude/footprint.png differ diff --git a/graphics/pokemon/zeraora/footprint.png b/graphics/pokemon/zeraora/footprint.png new file mode 100644 index 000000000..3d73d15e4 Binary files /dev/null and b/graphics/pokemon/zeraora/footprint.png differ diff --git a/include/battle_bg.h b/include/battle_bg.h index 43295476f..d0110efa2 100644 --- a/include/battle_bg.h +++ b/include/battle_bg.h @@ -1,6 +1,17 @@ #ifndef GUARD_BATTLE_BG_H #define GUARD_BATTLE_BG_H +#if P_ENABLE_DEBUG == TRUE +struct BattleBackground +{ + const void *tileset; + const void *tilemap; + const void *entryTileset; + const void *entryTilemap; + const void *palette; +}; +#endif + void BattleInitBgsAndWindows(void); void InitBattleBgsVideo(void); void LoadBattleMenuWindowGfx(void); diff --git a/include/constants/daycare.h b/include/constants/daycare.h index e412d2ab7..9af7e6f79 100644 --- a/include/constants/daycare.h +++ b/include/constants/daycare.h @@ -21,7 +21,7 @@ #define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value // Array buffers -#define EGG_MOVES_ARRAY_COUNT 10 +#define EGG_MOVES_ARRAY_COUNT 19 #define EGG_LVL_UP_MOVES_ARRAY_COUNT (MAX_LEVEL_UP_MOVES > 50 ? MAX_LEVEL_UP_MOVES : 50) #endif //GUARD_DAYCARE_CONSTANTS_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index 08f664caa..7912346ac 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -414,6 +414,8 @@ #define SKIP_FRONT_ANIM (1 << 7) -#define NUM_ABILITY_SLOTS 3 +#define NUM_ABILITY_SLOTS (NUM_NORMAL_ABILITY_SLOTS + NUM_HIDDEN_ABILITY_SLOTS) +#define NUM_NORMAL_ABILITY_SLOTS 2 +#define NUM_HIDDEN_ABILITY_SLOTS 1 #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/pokemon_config.h b/include/constants/pokemon_config.h index 6d45eb9be..257c06b7c 100644 --- a/include/constants/pokemon_config.h +++ b/include/constants/pokemon_config.h @@ -18,156 +18,158 @@ #define P_UPDATED_EGG_GROUPS GEN_8 // Since Gen 8, certain Pokémon have gained new egg groups. #define P_SHEDINJA_BALL GEN_8 // Since Gen 4, Shedinja requires a Poké Ball for its evolution. In Gen 3, Shedinja inherits Nincada's Ball. +#define P_ENABLE_DEBUG TRUE // Enables a debug menu for pokemon sprites and icons, accessed by pressing SELECT in the summary screen. + #ifndef ITEM_EXPANSION //Item Definitions for gEvolutionTable -//EVO_MEGA_EVOLUTION -#define ITEM_VENUSAURITE ITEM_NONE -#define ITEM_CHARIZARDITE_X ITEM_NONE -#define ITEM_CHARIZARDITE_Y ITEM_NONE -#define ITEM_BLASTOISINITE ITEM_NONE -#define ITEM_BEEDRILLITE ITEM_NONE -#define ITEM_PIDGEOTITE ITEM_NONE -#define ITEM_ALAKAZITE ITEM_NONE -#define ITEM_SLOWBRONITE ITEM_NONE -#define ITEM_GENGARITE ITEM_NONE -#define ITEM_KANGASKHANITE ITEM_NONE -#define ITEM_PINSIRITE ITEM_NONE -#define ITEM_GYARADOSITE ITEM_NONE -#define ITEM_AERODACTYLITE ITEM_NONE -#define ITEM_MEWTWONITE_X ITEM_NONE -#define ITEM_MEWTWONITE_Y ITEM_NONE -#define ITEM_AMPHAROSITE ITEM_NONE -#define ITEM_STEELIXITE ITEM_NONE -#define ITEM_SCIZORITE ITEM_NONE -#define ITEM_HERACRONITE ITEM_NONE -#define ITEM_HOUNDOOMINITE ITEM_NONE -#define ITEM_TYRANITARITE ITEM_NONE -#define ITEM_SCEPTILITE ITEM_NONE -#define ITEM_BLAZIKENITE ITEM_NONE -#define ITEM_SWAMPERTITE ITEM_NONE -#define ITEM_SABLENITE ITEM_NONE -#define ITEM_SHARPEDONITE ITEM_NONE -#define ITEM_MANECTITE ITEM_NONE -#define ITEM_CAMERUPTITE ITEM_NONE -#define ITEM_GLALITITE ITEM_NONE -#define ITEM_MAWILITE ITEM_NONE -#define ITEM_MEDICHAMITE ITEM_NONE -#define ITEM_ALTARIANITE ITEM_NONE -#define ITEM_ABSOLITE ITEM_NONE -#define ITEM_BANETTITE ITEM_NONE -#define ITEM_AGGRONITE ITEM_NONE -#define ITEM_GARDEVOIRITE ITEM_NONE -#define ITEM_SALAMENCITE ITEM_NONE -#define ITEM_METAGROSSITE ITEM_NONE -#define ITEM_LATIASITE ITEM_NONE -#define ITEM_LATIOSITE ITEM_NONE -#define ITEM_LOPUNNITE ITEM_NONE -#define ITEM_GARCHOMPITE ITEM_NONE -#define ITEM_LUCARIONITE ITEM_NONE -#define ITEM_ABOMASITE ITEM_NONE -#define ITEM_GALLADITE ITEM_NONE -#define ITEM_AUDINITE ITEM_NONE -#define ITEM_DIANCITE ITEM_NONE + //EVO_MEGA_EVOLUTION + #define ITEM_VENUSAURITE 10001 + #define ITEM_CHARIZARDITE_X 10002 + #define ITEM_CHARIZARDITE_Y 10003 + #define ITEM_BLASTOISINITE 10004 + #define ITEM_BEEDRILLITE 10005 + #define ITEM_PIDGEOTITE 10006 + #define ITEM_ALAKAZITE 10007 + #define ITEM_SLOWBRONITE 10008 + #define ITEM_GENGARITE 10009 + #define ITEM_KANGASKHANITE 10010 + #define ITEM_PINSIRITE 10011 + #define ITEM_GYARADOSITE 10012 + #define ITEM_AERODACTYLITE 10013 + #define ITEM_MEWTWONITE_X 10014 + #define ITEM_MEWTWONITE_Y 10015 + #define ITEM_AMPHAROSITE 10016 + #define ITEM_STEELIXITE 10017 + #define ITEM_SCIZORITE 10018 + #define ITEM_HERACRONITE 10019 + #define ITEM_HOUNDOOMINITE 10020 + #define ITEM_TYRANITARITE 10021 + #define ITEM_SCEPTILITE 10022 + #define ITEM_BLAZIKENITE 10023 + #define ITEM_SWAMPERTITE 10024 + #define ITEM_SABLENITE 10025 + #define ITEM_SHARPEDONITE 10026 + #define ITEM_MANECTITE 10027 + #define ITEM_CAMERUPTITE 10028 + #define ITEM_GLALITITE 10029 + #define ITEM_MAWILITE 10030 + #define ITEM_MEDICHAMITE 10031 + #define ITEM_ALTARIANITE 10032 + #define ITEM_ABSOLITE 10033 + #define ITEM_BANETTITE 10034 + #define ITEM_AGGRONITE 10035 + #define ITEM_GARDEVOIRITE 10036 + #define ITEM_SALAMENCITE 10037 + #define ITEM_METAGROSSITE 10038 + #define ITEM_LATIASITE 10039 + #define ITEM_LATIOSITE 10040 + #define ITEM_LOPUNNITE 10041 + #define ITEM_GARCHOMPITE 10042 + #define ITEM_LUCARIONITE 10043 + #define ITEM_ABOMASITE 10044 + #define ITEM_GALLADITE 10045 + #define ITEM_AUDINITE 10046 + #define ITEM_DIANCITE 10047 -//EVO_TRADE_ITEM -#define ITEM_PROTECTOR ITEM_NONE -#define ITEM_ELECTIRIZER ITEM_NONE -#define ITEM_MAGMARIZER ITEM_NONE -#define ITEM_DUBIOUS_DISC ITEM_NONE -#define ITEM_PRISM_SCALE ITEM_NONE -#define ITEM_REAPER_CLOTH ITEM_NONE -#define ITEM_SACHET ITEM_NONE -#define ITEM_WHIPPED_DREAM ITEM_NONE + //EVO_TRADE_ITEM + #define ITEM_PROTECTOR 10048 + #define ITEM_ELECTIRIZER 10049 + #define ITEM_MAGMARIZER 10050 + #define ITEM_DUBIOUS_DISC 10051 + #define ITEM_PRISM_SCALE 10052 + #define ITEM_REAPER_CLOTH 10053 + #define ITEM_SACHET 10054 + #define ITEM_WHIPPED_DREAM 10055 -//EVO_ITEM -#define ITEM_ICE_STONE ITEM_NONE -#define ITEM_SHINY_STONE ITEM_NONE -#define ITEM_DUSK_STONE ITEM_NONE -#define ITEM_DAWN_STONE ITEM_NONE -#define ITEM_TART_APPLE ITEM_NONE -#define ITEM_SWEET_APPLE ITEM_NONE -#define ITEM_CRACKED_POT ITEM_NONE -#define ITEM_GALARICA_CUFF ITEM_NONE -#define ITEM_GALARICA_WREATH ITEM_NONE -#define ITEM_CHIPPED_POT ITEM_NONE + //EVO_ITEM + #define ITEM_ICE_STONE 10056 + #define ITEM_SHINY_STONE 10057 + #define ITEM_DUSK_STONE 10058 + #define ITEM_DAWN_STONE 10059 + #define ITEM_TART_APPLE 10060 + #define ITEM_SWEET_APPLE 10061 + #define ITEM_CRACKED_POT 10062 + #define ITEM_GALARICA_CUFF 10063 + #define ITEM_GALARICA_WREATH 10064 + #define ITEM_CHIPPED_POT 10065 -//EVO_ITEM_HOLD -#define ITEM_RAZOR_FANG ITEM_NONE -#define ITEM_RAZOR_CLAW ITEM_NONE -#define ITEM_OVAL_STONE ITEM_NONE + //EVO_ITEM_HOLD + #define ITEM_RAZOR_FANG 10066 + #define ITEM_RAZOR_CLAW 10067 + #define ITEM_OVAL_STONE 10068 -//FORM_ITEM_HOLD -#define ITEM_GRISEOUS_ORB ITEM_NONE -#define ITEM_DRACO_PLATE ITEM_NONE -#define ITEM_DREAD_PLATE ITEM_NONE -#define ITEM_EARTH_PLATE ITEM_NONE -#define ITEM_FIST_PLATE ITEM_NONE -#define ITEM_FLAME_PLATE ITEM_NONE -#define ITEM_ICICLE_PLATE ITEM_NONE -#define ITEM_INSECT_PLATE ITEM_NONE -#define ITEM_IRON_PLATE ITEM_NONE -#define ITEM_MEADOW_PLATE ITEM_NONE -#define ITEM_MIND_PLATE ITEM_NONE -#define ITEM_PIXIE_PLATE ITEM_NONE -#define ITEM_SKY_PLATE ITEM_NONE -#define ITEM_SPLASH_PLATE ITEM_NONE -#define ITEM_SPOOKY_PLATE ITEM_NONE -#define ITEM_STONE_PLATE ITEM_NONE -#define ITEM_TOXIC_PLATE ITEM_NONE -#define ITEM_ZAP_PLATE ITEM_NONE -#define ITEM_FIGHTINIUM_Z ITEM_NONE -#define ITEM_FLYINIUM_Z ITEM_NONE -#define ITEM_POISONIUM_Z ITEM_NONE -#define ITEM_GROUNDIUM_Z ITEM_NONE -#define ITEM_ROCKIUM_Z ITEM_NONE -#define ITEM_BUGINIUM_Z ITEM_NONE -#define ITEM_GHOSTIUM_Z ITEM_NONE -#define ITEM_STEELIUM_Z ITEM_NONE -#define ITEM_FIRIUM_Z ITEM_NONE -#define ITEM_WATERIUM_Z ITEM_NONE -#define ITEM_GRASSIUM_Z ITEM_NONE -#define ITEM_ELECTRIUM_Z ITEM_NONE -#define ITEM_PSYCHIUM_Z ITEM_NONE -#define ITEM_ICIUM_Z ITEM_NONE -#define ITEM_DRAGONIUM_Z ITEM_NONE -#define ITEM_DARKINIUM_Z ITEM_NONE -#define ITEM_FAIRIUM_Z ITEM_NONE -#define ITEM_DOUSE_DRIVE ITEM_NONE -#define ITEM_SHOCK_DRIVE ITEM_NONE -#define ITEM_BURN_DRIVE ITEM_NONE -#define ITEM_CHILL_DRIVE ITEM_NONE -#define ITEM_BUG_MEMORY ITEM_NONE -#define ITEM_DARK_MEMORY ITEM_NONE -#define ITEM_DRAGON_MEMORY ITEM_NONE -#define ITEM_ELECTRIC_MEMORY ITEM_NONE -#define ITEM_FAIRY_MEMORY ITEM_NONE -#define ITEM_FIGHTING_MEMORY ITEM_NONE -#define ITEM_FIRE_MEMORY ITEM_NONE -#define ITEM_FLYING_MEMORY ITEM_NONE -#define ITEM_GHOST_MEMORY ITEM_NONE -#define ITEM_GRASS_MEMORY ITEM_NONE -#define ITEM_GROUND_MEMORY ITEM_NONE -#define ITEM_ICE_MEMORY ITEM_NONE -#define ITEM_POISON_MEMORY ITEM_NONE -#define ITEM_PSYCHIC_MEMORY ITEM_NONE -#define ITEM_ROCK_MEMORY ITEM_NONE -#define ITEM_STEEL_MEMORY ITEM_NONE -#define ITEM_WATER_MEMORY ITEM_NONE + //FORM_ITEM_HOLD + #define ITEM_GRISEOUS_ORB 10069 + #define ITEM_DRACO_PLATE 10070 + #define ITEM_DREAD_PLATE 10071 + #define ITEM_EARTH_PLATE 10072 + #define ITEM_FIST_PLATE 10073 + #define ITEM_FLAME_PLATE 10074 + #define ITEM_ICICLE_PLATE 10075 + #define ITEM_INSECT_PLATE 10076 + #define ITEM_IRON_PLATE 10077 + #define ITEM_MEADOW_PLATE 10078 + #define ITEM_MIND_PLATE 10079 + #define ITEM_PIXIE_PLATE 10080 + #define ITEM_SKY_PLATE 10081 + #define ITEM_SPLASH_PLATE 10082 + #define ITEM_SPOOKY_PLATE 10083 + #define ITEM_STONE_PLATE 10084 + #define ITEM_TOXIC_PLATE 10085 + #define ITEM_ZAP_PLATE 10086 + #define ITEM_FIGHTINIUM_Z 10087 + #define ITEM_FLYINIUM_Z 10088 + #define ITEM_POISONIUM_Z 10089 + #define ITEM_GROUNDIUM_Z 10090 + #define ITEM_ROCKIUM_Z 10091 + #define ITEM_BUGINIUM_Z 10092 + #define ITEM_GHOSTIUM_Z 10093 + #define ITEM_STEELIUM_Z 10094 + #define ITEM_FIRIUM_Z 10095 + #define ITEM_WATERIUM_Z 10096 + #define ITEM_GRASSIUM_Z 10097 + #define ITEM_ELECTRIUM_Z 10098 + #define ITEM_PSYCHIUM_Z 10099 + #define ITEM_ICIUM_Z 10100 + #define ITEM_DRAGONIUM_Z 10101 + #define ITEM_DARKINIUM_Z 10102 + #define ITEM_FAIRIUM_Z 10103 + #define ITEM_DOUSE_DRIVE 10104 + #define ITEM_SHOCK_DRIVE 10105 + #define ITEM_BURN_DRIVE 10106 + #define ITEM_CHILL_DRIVE 10107 + #define ITEM_BUG_MEMORY 10108 + #define ITEM_DARK_MEMORY 10109 + #define ITEM_DRAGON_MEMORY 10110 + #define ITEM_ELECTRIC_MEMORY 10111 + #define ITEM_FAIRY_MEMORY 10112 + #define ITEM_FIGHTING_MEMORY 10113 + #define ITEM_FIRE_MEMORY 10114 + #define ITEM_FLYING_MEMORY 10115 + #define ITEM_GHOST_MEMORY 10116 + #define ITEM_GRASS_MEMORY 10117 + #define ITEM_GROUND_MEMORY 10118 + #define ITEM_ICE_MEMORY 10119 + #define ITEM_POISON_MEMORY 10120 + #define ITEM_PSYCHIC_MEMORY 10121 + #define ITEM_ROCK_MEMORY 10122 + #define ITEM_STEEL_MEMORY 10123 + #define ITEM_WATER_MEMORY 10124 -//FORM_ITEM_USE -#define ITEM_GRACIDEA ITEM_NONE -// #define ITEM_REVEAL_GLASS ITEM_NONE -// #define ITEM_PRISON_BOTTLE ITEM_NONE -#define ITEM_RED_NECTAR ITEM_NONE -#define ITEM_YELLOW_NECTAR ITEM_NONE -#define ITEM_PINK_NECTAR ITEM_NONE -#define ITEM_PURPLE_NECTAR ITEM_NONE + //FORM_ITEM_USE + #define ITEM_GRACIDEA 10125 + // #define ITEM_REVEAL_GLASS 10126 + // #define ITEM_PRISON_BOTTLE 10127 + #define ITEM_RED_NECTAR 10128 + #define ITEM_YELLOW_NECTAR 10129 + #define ITEM_PINK_NECTAR 10130 + #define ITEM_PURPLE_NECTAR 10131 #endif // ITEM_EXPANSION #ifndef BATTLE_ENGINE -#define ABILITY_MULTITYPE ABILITY_NONE -#define ABILITY_RKS_SYSTEM ABILITY_NONE + #define ABILITY_MULTITYPE ABILITY_NONE + #define ABILITY_RKS_SYSTEM ABILITY_NONE #endif // BATTLE_ENGINE #endif // GUARD_CONSTANTS_POKEMON_CONFIG_H diff --git a/include/constants/pokemon_debug.h b/include/constants/pokemon_debug.h new file mode 100644 index 000000000..c75392bf2 --- /dev/null +++ b/include/constants/pokemon_debug.h @@ -0,0 +1,53 @@ +#ifndef GUARD_CONSTANTS_POKEMON_DEBUG_H +#define GUARD_CONSTANTS_POKEMON_DEBUG_H + +//Defines +#define DEBUG_MON_BACK_X 62 +#define DEBUG_MON_BACK_Y 80 +#define DEBUG_ICON_X 220 +#define DEBUG_ICON_Y 140 +#define DEBUG_MON_SHINY 0 +#define DEBUG_MON_NORMAL 9 + +#define MODIFY_DIGITS_MAX 4 +#define MODIFY_DIGITS_ARROW_X 129 +#define MODIFY_DIGITS_ARROW1_Y 94 +#define MODIFY_DIGITS_ARROW2_Y 113 + +#define OPTIONS_ARROW_1_X 4 +#define OPTIONS_ARROW_2_X 236 +#define OPTIONS_ARROW_Y 119 + +#define GENDER_MALE 0 +#define GENDER_FEMALE 1 +#define MON_PIC_BACK 0 +#define MON_PIC_FRONT 1 + +//Sprite offset +#define MAX_Y_OFFSET 20 + +//Windows +#define WIN_NAME_NUMBERS 0 +#define WIN_INSTRUCTIONS 1 +#define WIN_BOTTOM_LEFT 2 +#define WIN_BOTTOM_RIGHT 3 +#define WIN_FOOTPRINT 4 +#define WIN_END 5 + +//Battle backgrounds +#define MAP_BATTLE_SCENE_NORMAL 0 +#define MAP_BATTLE_SCENE_GYM 1 +#define MAP_BATTLE_SCENE_MAGMA 2 +#define MAP_BATTLE_SCENE_AQUA 3 +#define MAP_BATTLE_SCENE_SIDNEY 4 +#define MAP_BATTLE_SCENE_PHOEBE 5 +#define MAP_BATTLE_SCENE_GLACIA 6 +#define MAP_BATTLE_SCENE_DRAKE 7 +#define MAP_BATTLE_SCENE_FRONTIER 8 +#define MAP_BATTLE_SCENE_LEADER 9 +#define MAP_BATTLE_SCENE_WALLACE 10 +#define MAP_BATTLE_SCENE_GROUDON 11 +#define MAP_BATTLE_SCENE_KYOGRE 12 +#define MAP_BATTLE_SCENE_RAYQUAZA 13 + +#endif // GUARD_CONSTANTS_POKEMON_DEBUG_H \ No newline at end of file diff --git a/include/data.h b/include/data.h index 14de14bae..8a6d7cef7 100644 --- a/include/data.h +++ b/include/data.h @@ -124,7 +124,6 @@ extern const u8 gEnemyMonElevation[NUM_SPECIES]; extern const union AnimCmd *const *const gMonFrontAnimsPtrTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTableFemale[]; -extern const bool8 SpeciesHasGenderDifference[NUM_SPECIES]; extern const struct Trainer gTrainers[]; extern const u8 gTrainerClassNames[][13]; diff --git a/include/decompress.h b/include/decompress.h index 81f142501..0d5cb3b3d 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -21,6 +21,7 @@ void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffe void DecompressPicFromTableGender(void* buffer, s32 species, u32 personality); void HandleLoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality); +void HandleLoadSpecialPokePicCustom(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFemale); void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic); diff --git a/include/global.h b/include/global.h index a77d2aefa..863226df8 100644 --- a/include/global.h +++ b/include/global.h @@ -135,9 +135,7 @@ #define ROUND_BITS_TO_BYTES(numBits) DIV_ROUND_UP(numBits, 8) -// NUM_DEX_FLAG_BYTES allocates more flags than it needs to, as NUM_SPECIES includes the "old unown" -// values that don't appear in the Pokedex. NATIONAL_DEX_COUNT does not include these values. -#define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(NUM_SPECIES) +#define NUM_DEX_FLAG_BYTES ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER) #define NUM_FLAG_BYTES ROUND_BITS_TO_BYTES(FLAGS_COUNT) #define NUM_ADDITIONAL_PHRASE_BYTES ROUND_BITS_TO_BYTES(NUM_ADDITIONAL_PHRASES) diff --git a/include/graphics.h b/include/graphics.h index abdc76fff..cab4bb4c3 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -464,13 +464,20 @@ extern const u32 gMonFrontPic_Piplup[]; extern const u32 gMonFrontPic_Prinplup[]; extern const u32 gMonFrontPic_Empoleon[]; extern const u32 gMonFrontPic_Starly[]; +extern const u32 gMonFrontPic_StarlyF[]; extern const u32 gMonFrontPic_Staravia[]; +extern const u32 gMonFrontPic_StaraviaF[]; extern const u32 gMonFrontPic_Staraptor[]; +extern const u32 gMonFrontPic_StaraptorF[]; extern const u32 gMonFrontPic_Bidoof[]; +extern const u32 gMonFrontPic_BidoofF[]; extern const u32 gMonFrontPic_Bibarel[]; extern const u32 gMonFrontPic_Kricketot[]; +extern const u32 gMonFrontPic_KricketotF[]; extern const u32 gMonFrontPic_Kricketune[]; +extern const u32 gMonFrontPic_KricketuneF[]; extern const u32 gMonFrontPic_Shinx[]; +extern const u32 gMonFrontPic_ShinxF[]; extern const u32 gMonFrontPic_Luxio[]; extern const u32 gMonFrontPic_Luxray[]; extern const u32 gMonFrontPic_Budew[]; @@ -1610,13 +1617,19 @@ extern const u32 gMonBackPic_Piplup[]; extern const u32 gMonBackPic_Prinplup[]; extern const u32 gMonBackPic_Empoleon[]; extern const u32 gMonBackPic_Starly[]; +extern const u32 gMonBackPic_StarlyF[]; extern const u32 gMonBackPic_Staravia[]; +extern const u32 gMonBackPic_StaraviaF[]; extern const u32 gMonBackPic_Staraptor[]; extern const u32 gMonBackPic_Bidoof[]; +extern const u32 gMonBackPic_BidoofF[]; extern const u32 gMonBackPic_Bibarel[]; extern const u32 gMonBackPic_Kricketot[]; +extern const u32 gMonBackPic_KricketotF[]; extern const u32 gMonBackPic_Kricketune[]; +extern const u32 gMonBackPic_KricketuneF[]; extern const u32 gMonBackPic_Shinx[]; +extern const u32 gMonBackPic_ShinxF[]; extern const u32 gMonBackPic_Luxio[]; extern const u32 gMonBackPic_Luxray[]; extern const u32 gMonBackPic_Budew[]; @@ -6569,6 +6582,183 @@ extern const u8 gMonFootprint_Zygarde[]; extern const u8 gMonFootprint_Diancie[]; extern const u8 gMonFootprint_Hoopa[]; extern const u8 gMonFootprint_Volcanion[]; +extern const u8 gMonFootprint_Rowlet[]; +extern const u8 gMonFootprint_Dartrix[]; +extern const u8 gMonFootprint_Decidueye[]; +extern const u8 gMonFootprint_Litten[]; +extern const u8 gMonFootprint_Torracat[]; +extern const u8 gMonFootprint_Incineroar[]; +extern const u8 gMonFootprint_Popplio[]; +extern const u8 gMonFootprint_Brionne[]; +extern const u8 gMonFootprint_Primarina[]; +extern const u8 gMonFootprint_Pikipek[]; +extern const u8 gMonFootprint_Trumbeak[]; +extern const u8 gMonFootprint_Toucannon[]; +extern const u8 gMonFootprint_Yungoos[]; +extern const u8 gMonFootprint_Gumshoos[]; +extern const u8 gMonFootprint_Grubbin[]; +extern const u8 gMonFootprint_Charjabug[]; +extern const u8 gMonFootprint_Vikavolt[]; +extern const u8 gMonFootprint_Crabrawler[]; +extern const u8 gMonFootprint_Crabominable[]; +extern const u8 gMonFootprint_Oricorio[]; +extern const u8 gMonFootprint_Cutiefly[]; +extern const u8 gMonFootprint_Ribombee[]; +extern const u8 gMonFootprint_Rockruff[]; +extern const u8 gMonFootprint_Lycanroc[]; +extern const u8 gMonFootprint_Wishiwashi[]; +extern const u8 gMonFootprint_Mareanie[]; +extern const u8 gMonFootprint_Toxapex[]; +extern const u8 gMonFootprint_Mudbray[]; +extern const u8 gMonFootprint_Mudsdale[]; +extern const u8 gMonFootprint_Dewpider[]; +extern const u8 gMonFootprint_Araquanid[]; +extern const u8 gMonFootprint_Fomantis[]; +extern const u8 gMonFootprint_Lurantis[]; +extern const u8 gMonFootprint_Morelull[]; +extern const u8 gMonFootprint_Shiinotic[]; +extern const u8 gMonFootprint_Salandit[]; +extern const u8 gMonFootprint_Salazzle[]; +extern const u8 gMonFootprint_Stufful[]; +extern const u8 gMonFootprint_Bewear[]; +extern const u8 gMonFootprint_Bounsweet[]; +extern const u8 gMonFootprint_Steenee[]; +extern const u8 gMonFootprint_Tsareena[]; +extern const u8 gMonFootprint_Comfey[]; +extern const u8 gMonFootprint_Oranguru[]; +extern const u8 gMonFootprint_Passimian[]; +extern const u8 gMonFootprint_Wimpod[]; +extern const u8 gMonFootprint_Golisopod[]; +extern const u8 gMonFootprint_Sandygast[]; +extern const u8 gMonFootprint_Palossand[]; +extern const u8 gMonFootprint_Pyukumuku[]; +extern const u8 gMonFootprint_Type_Null[]; +extern const u8 gMonFootprint_Silvally[]; +extern const u8 gMonFootprint_Minior[]; +extern const u8 gMonFootprint_Komala[]; +extern const u8 gMonFootprint_Turtonator[]; +extern const u8 gMonFootprint_Togedemaru[]; +extern const u8 gMonFootprint_Mimikyu[]; +extern const u8 gMonFootprint_Bruxish[]; +extern const u8 gMonFootprint_Drampa[]; +extern const u8 gMonFootprint_Dhelmise[]; +extern const u8 gMonFootprint_Jangmo_o[]; +extern const u8 gMonFootprint_Hakamo_o[]; +extern const u8 gMonFootprint_Kommo_o[]; +extern const u8 gMonFootprint_Tapu_Koko[]; +extern const u8 gMonFootprint_Tapu_Lele[]; +extern const u8 gMonFootprint_Tapu_Bulu[]; +extern const u8 gMonFootprint_Tapu_Fini[]; +extern const u8 gMonFootprint_Cosmog[]; +extern const u8 gMonFootprint_Cosmoem[]; +extern const u8 gMonFootprint_Solgaleo[]; +extern const u8 gMonFootprint_Lunala[]; +extern const u8 gMonFootprint_Nihilego[]; +extern const u8 gMonFootprint_Buzzwole[]; +extern const u8 gMonFootprint_Pheromosa[]; +extern const u8 gMonFootprint_Xurkitree[]; +extern const u8 gMonFootprint_Celesteela[]; +extern const u8 gMonFootprint_Kartana[]; +extern const u8 gMonFootprint_Guzzlord[]; +extern const u8 gMonFootprint_Necrozma[]; +extern const u8 gMonFootprint_Magearna[]; +extern const u8 gMonFootprint_Marshadow[]; +extern const u8 gMonFootprint_Poipole[]; +extern const u8 gMonFootprint_Naganadel[]; +extern const u8 gMonFootprint_Stakataka[]; +extern const u8 gMonFootprint_Blacephalon[]; +extern const u8 gMonFootprint_Zeraora[]; +extern const u8 gMonFootprint_Meltan[]; +extern const u8 gMonFootprint_Melmetal[]; +extern const u8 gMonFootprint_Grookey[]; +extern const u8 gMonFootprint_Thwackey[]; +extern const u8 gMonFootprint_Rillaboom[]; +extern const u8 gMonFootprint_Scorbunny[]; +extern const u8 gMonFootprint_Raboot[]; +extern const u8 gMonFootprint_Cinderace[]; +extern const u8 gMonFootprint_Sobble[]; +extern const u8 gMonFootprint_Drizzile[]; +extern const u8 gMonFootprint_Inteleon[]; +extern const u8 gMonFootprint_Skwovet[]; +extern const u8 gMonFootprint_Greedent[]; +extern const u8 gMonFootprint_Rookidee[]; +extern const u8 gMonFootprint_Corvisquire[]; +extern const u8 gMonFootprint_Corviknight[]; +extern const u8 gMonFootprint_Blipbug[]; +extern const u8 gMonFootprint_Dottler[]; +extern const u8 gMonFootprint_Orbeetle[]; +extern const u8 gMonFootprint_Nickit[]; +extern const u8 gMonFootprint_Thievul[]; +extern const u8 gMonFootprint_Gossifleur[]; +extern const u8 gMonFootprint_Eldegoss[]; +extern const u8 gMonFootprint_Wooloo[]; +extern const u8 gMonFootprint_Dubwool[]; +extern const u8 gMonFootprint_Chewtle[]; +extern const u8 gMonFootprint_Drednaw[]; +extern const u8 gMonFootprint_Yamper[]; +extern const u8 gMonFootprint_Boltund[]; +extern const u8 gMonFootprint_Rolycoly[]; +extern const u8 gMonFootprint_Carkol[]; +extern const u8 gMonFootprint_Coalossal[]; +extern const u8 gMonFootprint_Applin[]; +extern const u8 gMonFootprint_Flapple[]; +extern const u8 gMonFootprint_Appletun[]; +extern const u8 gMonFootprint_Silicobra[]; +extern const u8 gMonFootprint_Sandaconda[]; +extern const u8 gMonFootprint_Cramorant[]; +extern const u8 gMonFootprint_Arrokuda[]; +extern const u8 gMonFootprint_Barraskewda[]; +extern const u8 gMonFootprint_Toxel[]; +extern const u8 gMonFootprint_Toxtricity[]; +extern const u8 gMonFootprint_Sizzlipede[]; +extern const u8 gMonFootprint_Centiskorch[]; +extern const u8 gMonFootprint_Clobbopus[]; +extern const u8 gMonFootprint_Grapploct[]; +extern const u8 gMonFootprint_Sinistea[]; +extern const u8 gMonFootprint_Polteageist[]; +extern const u8 gMonFootprint_Hatenna[]; +extern const u8 gMonFootprint_Hattrem[]; +extern const u8 gMonFootprint_Hatterene[]; +extern const u8 gMonFootprint_Impidimp[]; +extern const u8 gMonFootprint_Morgrem[]; +extern const u8 gMonFootprint_Grimmsnarl[]; +extern const u8 gMonFootprint_Obstagoon[]; +extern const u8 gMonFootprint_Perrserker[]; +extern const u8 gMonFootprint_Cursola[]; +extern const u8 gMonFootprint_Sirfetchd[]; +extern const u8 gMonFootprint_Mr_Rime[]; +extern const u8 gMonFootprint_Runerigus[]; +extern const u8 gMonFootprint_Milcery[]; +extern const u8 gMonFootprint_Alcremie[]; +extern const u8 gMonFootprint_Falinks[]; +extern const u8 gMonFootprint_Pincurchin[]; +extern const u8 gMonFootprint_Snom[]; +extern const u8 gMonFootprint_Frosmoth[]; +extern const u8 gMonFootprint_Stonjourner[]; +extern const u8 gMonFootprint_Eiscue[]; +extern const u8 gMonFootprint_Indeedee[]; +extern const u8 gMonFootprint_Morpeko[]; +extern const u8 gMonFootprint_Cufant[]; +extern const u8 gMonFootprint_Copperajah[]; +extern const u8 gMonFootprint_Dracozolt[]; +extern const u8 gMonFootprint_Arctozolt[]; +extern const u8 gMonFootprint_Dracovish[]; +extern const u8 gMonFootprint_Arctovish[]; +extern const u8 gMonFootprint_Duraludon[]; +extern const u8 gMonFootprint_Dreepy[]; +extern const u8 gMonFootprint_Drakloak[]; +extern const u8 gMonFootprint_Dragapult[]; +extern const u8 gMonFootprint_Zacian[]; +extern const u8 gMonFootprint_Zamazenta[]; +extern const u8 gMonFootprint_Eternatus[]; +extern const u8 gMonFootprint_Kubfu[]; +extern const u8 gMonFootprint_Urshifu[]; +extern const u8 gMonFootprint_Zarude[]; +extern const u8 gMonFootprint_Regieleki[]; +extern const u8 gMonFootprint_Regidrago[]; +extern const u8 gMonFootprint_Glastrier[]; +extern const u8 gMonFootprint_Spectrier[]; +extern const u8 gMonFootprint_Calyrex[]; // trainer sprites extern const u32 gTrainerFrontPic_Hiker[]; diff --git a/include/party_menu.h b/include/party_menu.h index a23ec4a41..d4712c5b4 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -56,6 +56,7 @@ void ItemUseCB_PPUp(u8 taskId, TaskFunc task); u16 ItemIdToBattleMoveId(u16 item); bool8 IsMoveHm(u16 move); bool8 MonKnowsMove(struct Pokemon *mon, u16 move); +bool8 BoxMonKnowsMove(struct BoxPokemon *mon, u16 move); void ItemUseCB_TMHM(u8 taskId, TaskFunc task); void ItemUseCB_RareCandy(u8 taskId, TaskFunc task); void ItemUseCB_SacredAsh(u8 taskId, TaskFunc task); diff --git a/include/pokedex.h b/include/pokedex.h index 49063f6b1..703b9ab8d 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -4,6 +4,10 @@ extern u8 gUnusedPokedexU8; extern void (*gPokedexVBlankCB)(void); +#if P_ENABLE_DEBUG == TRUE +extern const u8 *const gMonFootprintTable[]; +#endif + enum { DEX_MODE_HOENN, diff --git a/include/pokemon.h b/include/pokemon.h index bae8b8bf3..5489346a7 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -7,6 +7,7 @@ #include "constants/map_groups.h" #define GET_BASE_SPECIES_ID(speciesId) (GetFormSpeciesId(speciesId, 0)) +#define FORM_SPECIES_END (0xffff) struct PokemonSubstruct0 { @@ -308,6 +309,7 @@ extern const u8 gStatStageRatios[MAX_STAT_STAGE + 1][2]; extern const u16 gLinkPlayerFacilityClasses[]; extern const struct SpriteTemplate gBattlerSpriteTemplates[]; extern const s8 gNatureStatTable[][5]; +extern const u16 *const gFormSpeciesIdTables[NUM_SPECIES]; void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); @@ -459,5 +461,7 @@ u8 *MonSpritesGfxManager_GetSpritePtr(u8 managerId, u8 spriteNum); u16 GetFormSpeciesId(u16 speciesId, u8 formId); u8 GetFormIdFromFormSpeciesId(u16 formSpeciesId); u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg); +u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *mon, u16 method, u32 arg); +u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove); #endif // GUARD_POKEMON_H diff --git a/include/pokemon_debug.h b/include/pokemon_debug.h new file mode 100644 index 000000000..e69b4a7c6 --- /dev/null +++ b/include/pokemon_debug.h @@ -0,0 +1,73 @@ +#ifndef GUARD_POKEMON_DEBUG_H +#define GUARD_POKEMON_DEBUG_H + +#include "constants/pokemon_debug.h" + +//Structs +struct PokemonDebugModifyArrows +{ + u8 arrowSpriteId[2]; + u16 minValue; + u16 maxValue; + int currValue; + u8 currentDigit; + u8 maxDigits; + u8 charDigits[MODIFY_DIGITS_MAX]; + void *modifiedValPtr; + u8 typeOfVal; +}; + +struct PokemonDebugOptionArrows +{ + u8 arrowSpriteId[1]; + u8 currentDigit; +}; + +struct PokemonDebugYPosModifiyArrows +{ + u8 arrowSpriteId[1]; + u8 currentDigit; +}; + +struct PokemonSpriteConstValues +{ + u8 backPicCoords; + u8 frontPicCoords; + u8 frontElevation; +}; + +struct PokemonSpriteOffsets +{ + s8 offset_back_picCoords; + s8 offset_front_picCoords; + s8 offset_front_elevation; +}; + +struct PokemonDebugMenu +{ + u16 currentmonId; + u8 currentmonWindowId; + u8 InstructionsWindowId; + u8 frontspriteId; + u8 backspriteId; + u8 iconspriteId; + u8 frontShadowSpriteId; + bool8 isShiny; + bool8 isFemale; + struct PokemonDebugModifyArrows modifyArrows; + struct PokemonDebugOptionArrows optionArrows; + struct PokemonDebugYPosModifiyArrows yPosModifyArrows; + struct PokemonSpriteConstValues constSpriteValues; + struct PokemonSpriteOffsets offsetsSpriteValues; + u8 animIdBack; + u8 animIdFront; + u8 battleBgType; + u8 battleTerrain; + u8 currentSubmenu; + u8 submenuYpos[3]; +}; + +void CB2_Debug_Pokemon(void); + + +#endif // GUARD_POKEMON_DEBUG_H \ No newline at end of file diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index fba6a6740..952db1ed1 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -21,6 +21,7 @@ u8 CreateMonIconNoPersonality(u16 species, void (*callback)(struct Sprite *), s1 void FreeMonIconPalette(u16 species); void FreeAndDestroyMonIconSprite(struct Sprite *sprite); u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); +u8 CreateMonIconCustom(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool8 isFemale, bool8 isShiny); u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void SpriteCB_MonIcon(struct Sprite *sprite); diff --git a/ld_script.txt b/ld_script.txt index 849ef6ed8..23dc7ab4f 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -332,6 +332,7 @@ SECTIONS { src/gym_leader_rematch.o(.text); src/battle_transition_frontier.o(.text); src/international_string_util.o(.text); + src/pokemon_debug.o(.text); } =0 script_data : @@ -694,6 +695,7 @@ SECTIONS { data/mystery_gift.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); + src/pokemon_debug.o(.rodata); } =0 song_data : diff --git a/sound/cry_tables.inc b/sound/cry_tables.inc index 4a50d6aa6..d1b33a637 100644 --- a/sound/cry_tables.inc +++ b/sound/cry_tables.inc @@ -649,307 +649,307 @@ gCryTable:: cry Cry_Keldeo cry Cry_Meloetta cry Cry_Genesect - cry_uncomp Cry_Chespin - cry_uncomp Cry_Quilladin - cry_uncomp Cry_Chesnaught - cry_uncomp Cry_Fennekin - cry_uncomp Cry_Braixen - cry_uncomp Cry_Delphox - cry_uncomp Cry_Froakie - cry_uncomp Cry_Frogadier - cry_uncomp Cry_Greninja - cry_uncomp Cry_Bunnelby - cry_uncomp Cry_Diggersby - cry_uncomp Cry_Fletchling - cry_uncomp Cry_Fletchinder - cry_uncomp Cry_Talonflame - cry_uncomp Cry_Scatterbug - cry_uncomp Cry_Spewpa - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Litleo - cry_uncomp Cry_Pyroar - cry_uncomp Cry_Flabebe - cry_uncomp Cry_Floette - cry_uncomp Cry_Florges - cry_uncomp Cry_Skiddo - cry_uncomp Cry_Gogoat - cry_uncomp Cry_Pancham - cry_uncomp Cry_Pangoro - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Espurr - cry_uncomp Cry_Meowstic - cry_uncomp Cry_Honedge - cry_uncomp Cry_Doublade - cry_uncomp Cry_Aegislash - cry_uncomp Cry_Spritzee - cry_uncomp Cry_Aromatisse - cry_uncomp Cry_Swirlix - cry_uncomp Cry_Slurpuff - cry_uncomp Cry_Inkay - cry_uncomp Cry_Malamar - cry_uncomp Cry_Binacle - cry_uncomp Cry_Barbaracle - cry_uncomp Cry_Skrelp - cry_uncomp Cry_Dragalge - cry_uncomp Cry_Clauncher - cry_uncomp Cry_Clawitzer - cry_uncomp Cry_Helioptile - cry_uncomp Cry_Heliolisk - cry_uncomp Cry_Tyrunt - cry_uncomp Cry_Tyrantrum - cry_uncomp Cry_Amaura - cry_uncomp Cry_Aurorus - cry_uncomp Cry_Sylveon - cry_uncomp Cry_Hawlucha - cry_uncomp Cry_Dedenne - cry_uncomp Cry_Carbink - cry_uncomp Cry_Goomy - cry_uncomp Cry_Sliggoo - cry_uncomp Cry_Goodra + cry Cry_Chespin + cry Cry_Quilladin + cry Cry_Chesnaught + cry Cry_Fennekin + cry Cry_Braixen + cry Cry_Delphox + cry Cry_Froakie + cry Cry_Frogadier + cry Cry_Greninja + cry Cry_Bunnelby + cry Cry_Diggersby + cry Cry_Fletchling + cry Cry_Fletchinder + cry Cry_Talonflame + cry Cry_Scatterbug + cry Cry_Spewpa + cry Cry_Vivillon + cry Cry_Litleo + cry Cry_Pyroar + cry Cry_Flabebe + cry Cry_Floette + cry Cry_Florges + cry Cry_Skiddo + cry Cry_Gogoat + cry Cry_Pancham + cry Cry_Pangoro + cry Cry_Furfrou + cry Cry_Espurr + cry Cry_Meowstic + cry Cry_Honedge + cry Cry_Doublade + cry Cry_Aegislash + cry Cry_Spritzee + cry Cry_Aromatisse + cry Cry_Swirlix + cry Cry_Slurpuff + cry Cry_Inkay + cry Cry_Malamar + cry Cry_Binacle + cry Cry_Barbaracle + cry Cry_Skrelp + cry Cry_Dragalge + cry Cry_Clauncher + cry Cry_Clawitzer + cry Cry_Helioptile + cry Cry_Heliolisk + cry Cry_Tyrunt + cry Cry_Tyrantrum + cry Cry_Amaura + cry Cry_Aurorus + cry Cry_Sylveon + cry Cry_Hawlucha + cry Cry_Dedenne + cry Cry_Carbink + cry Cry_Goomy + cry Cry_Sliggoo + cry Cry_Goodra cry_uncomp Cry_Klefki - cry_uncomp Cry_Phantump - cry_uncomp Cry_Trevenant - cry_uncomp Cry_Pumpkaboo - cry_uncomp Cry_Gourgeist - cry_uncomp Cry_Bergmite - cry_uncomp Cry_Avalugg - cry_uncomp Cry_Noibat - cry_uncomp Cry_Noivern - cry_uncomp Cry_Xerneas - cry_uncomp Cry_Yveltal - cry_uncomp Cry_Zygarde - cry_uncomp Cry_Diancie - cry_uncomp Cry_Hoopa - cry_uncomp Cry_Volcanion - cry_uncomp Cry_Rowlet - cry_uncomp Cry_Dartrix - cry_uncomp Cry_Decidueye - cry_uncomp Cry_Litten - cry_uncomp Cry_Torracat - cry_uncomp Cry_Incineroar - cry_uncomp Cry_Popplio - cry_uncomp Cry_Brionne - cry_uncomp Cry_Primarina - cry_uncomp Cry_Pikipek - cry_uncomp Cry_Trumbeak - cry_uncomp Cry_Toucannon - cry_uncomp Cry_Yungoos - cry_uncomp Cry_Gumshoos - cry_uncomp Cry_Grubbin - cry_uncomp Cry_Charjabug - cry_uncomp Cry_Vikavolt - cry_uncomp Cry_Crabrawler - cry_uncomp Cry_Crabominable - cry_uncomp Cry_Oricorio - cry_uncomp Cry_Cutiefly - cry_uncomp Cry_Ribombee - cry_uncomp Cry_Rockruff - cry_uncomp Cry_Lycanroc - cry_uncomp Cry_Wishiwashi - cry_uncomp Cry_Mareanie - cry_uncomp Cry_Toxapex - cry_uncomp Cry_Mudbray - cry_uncomp Cry_Mudsdale - cry_uncomp Cry_Dewpider - cry_uncomp Cry_Araquanid - cry_uncomp Cry_Fomantis - cry_uncomp Cry_Lurantis - cry_uncomp Cry_Morelull - cry_uncomp Cry_Shiinotic - cry_uncomp Cry_Salandit - cry_uncomp Cry_Salazzle - cry_uncomp Cry_Stufful - cry_uncomp Cry_Bewear - cry_uncomp Cry_Bounsweet - cry_uncomp Cry_Steenee - cry_uncomp Cry_Tsareena - cry_uncomp Cry_Comfey - cry_uncomp Cry_Oranguru - cry_uncomp Cry_Passimian - cry_uncomp Cry_Wimpod - cry_uncomp Cry_Golisopod - cry_uncomp Cry_Sandygast - cry_uncomp Cry_Palossand - cry_uncomp Cry_Pyukumuku - cry_uncomp Cry_TypeNull - cry_uncomp Cry_Silvally - cry_uncomp Cry_Minior - cry_uncomp Cry_Komala - cry_uncomp Cry_Turtonator - cry_uncomp Cry_Togedemaru - cry_uncomp Cry_Mimikyu - cry_uncomp Cry_Bruxish - cry_uncomp Cry_Drampa - cry_uncomp Cry_Dhelmise - cry_uncomp Cry_Jangmoo - cry_uncomp Cry_Hakamoo - cry_uncomp Cry_Kommoo - cry_uncomp Cry_TapuKoko - cry_uncomp Cry_TapuLele - cry_uncomp Cry_TapuBulu - cry_uncomp Cry_TapuFini - cry_uncomp Cry_Cosmog - cry_uncomp Cry_Cosmoem - cry_uncomp Cry_Solgaleo - cry_uncomp Cry_Lunala - cry_uncomp Cry_Nihilego - cry_uncomp Cry_Buzzwole - cry_uncomp Cry_Pheromosa - cry_uncomp Cry_Xurkitree - cry_uncomp Cry_Celesteela - cry_uncomp Cry_Kartana - cry_uncomp Cry_Guzzlord - cry_uncomp Cry_Necrozma - cry_uncomp Cry_Magearna - cry_uncomp Cry_Marshadow - cry_uncomp Cry_Poipole - cry_uncomp Cry_Naganadel - cry_uncomp Cry_Stakataka - cry_uncomp Cry_Blacephalon - cry_uncomp Cry_Zeraora - cry_uncomp Cry_Meltan - cry_uncomp Cry_Melmetal - cry_uncomp Cry_Grookey - cry_uncomp Cry_Thwackey - cry_uncomp Cry_Rillaboom - cry_uncomp Cry_Scorbunny - cry_uncomp Cry_Raboot - cry_uncomp Cry_Cinderace - cry_uncomp Cry_Sobble - cry_uncomp Cry_Drizzile - cry_uncomp Cry_Inteleon - cry_uncomp Cry_Skwovet - cry_uncomp Cry_Greedent - cry_uncomp Cry_Rookidee - cry_uncomp Cry_Corvisquire - cry_uncomp Cry_Corviknight - cry_uncomp Cry_Blipbug - cry_uncomp Cry_Dottler - cry_uncomp Cry_Orbeetle - cry_uncomp Cry_Nickit - cry_uncomp Cry_Thievul - cry_uncomp Cry_Gossifleur - cry_uncomp Cry_Eldegoss - cry_uncomp Cry_Wooloo - cry_uncomp Cry_Dubwool - cry_uncomp Cry_Chewtle - cry_uncomp Cry_Drednaw - cry_uncomp Cry_Yamper - cry_uncomp Cry_Boltund - cry_uncomp Cry_Rolycoly - cry_uncomp Cry_Carkol - cry_uncomp Cry_Coalossal - cry_uncomp Cry_Applin - cry_uncomp Cry_Flapple - cry_uncomp Cry_Appletun - cry_uncomp Cry_Silicobra - cry_uncomp Cry_Sandaconda - cry_uncomp Cry_Cramorant - cry_uncomp Cry_Arrokuda - cry_uncomp Cry_Barraskewda - cry_uncomp Cry_Toxel - cry_uncomp Cry_Toxtricity - cry_uncomp Cry_Sizzlipede - cry_uncomp Cry_Centiskorch - cry_uncomp Cry_Clobbopus - cry_uncomp Cry_Grapploct - cry_uncomp Cry_Sinistea - cry_uncomp Cry_Polteageist - cry_uncomp Cry_Hatenna - cry_uncomp Cry_Hattrem - cry_uncomp Cry_Hatterene - cry_uncomp Cry_Impidimp - cry_uncomp Cry_Morgrem - cry_uncomp Cry_Grimmsnarl - cry_uncomp Cry_Obstagoon - cry_uncomp Cry_Perrserker - cry_uncomp Cry_Cursola - cry_uncomp Cry_Sirfetchd - cry_uncomp Cry_MrRime - cry_uncomp Cry_Runerigus - cry_uncomp Cry_Milcery - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Falinks - cry_uncomp Cry_Pincurchin - cry_uncomp Cry_Snom - cry_uncomp Cry_Frosmoth - cry_uncomp Cry_Stonjourner - cry_uncomp Cry_Eiscue - cry_uncomp Cry_Indeedee - cry_uncomp Cry_Morpeko - cry_uncomp Cry_Cufant - cry_uncomp Cry_Copperajah - cry_uncomp Cry_Dracozolt - cry_uncomp Cry_Arctozolt - cry_uncomp Cry_Dracovish - cry_uncomp Cry_Arctovish - cry_uncomp Cry_Duraludon - cry_uncomp Cry_Dreepy - cry_uncomp Cry_Drakloak - cry_uncomp Cry_Dragapult - cry_uncomp Cry_Zacian - cry_uncomp Cry_Zamazenta - cry_uncomp Cry_Eternatus - cry_uncomp Cry_Kubfu - cry_uncomp Cry_Urshifu - cry_uncomp Cry_Zarude - cry_uncomp Cry_Regieleki - cry_uncomp Cry_Regidrago - cry_uncomp Cry_Glastrier - cry_uncomp Cry_Spectrier - cry_uncomp Cry_Calyrex + cry Cry_Phantump + cry Cry_Trevenant + cry Cry_Pumpkaboo + cry Cry_Gourgeist + cry Cry_Bergmite + cry Cry_Avalugg + cry Cry_Noibat + cry Cry_Noivern + cry Cry_Xerneas + cry Cry_Yveltal + cry Cry_Zygarde + cry Cry_Diancie + cry Cry_Hoopa + cry Cry_Volcanion + cry Cry_Rowlet + cry Cry_Dartrix + cry Cry_Decidueye + cry Cry_Litten + cry Cry_Torracat + cry Cry_Incineroar + cry Cry_Popplio + cry Cry_Brionne + cry Cry_Primarina + cry Cry_Pikipek + cry Cry_Trumbeak + cry Cry_Toucannon + cry Cry_Yungoos + cry Cry_Gumshoos + cry Cry_Grubbin + cry Cry_Charjabug + cry Cry_Vikavolt + cry Cry_Crabrawler + cry Cry_Crabominable + cry Cry_Oricorio + cry Cry_Cutiefly + cry Cry_Ribombee + cry Cry_Rockruff + cry Cry_Lycanroc + cry Cry_Wishiwashi + cry Cry_Mareanie + cry Cry_Toxapex + cry Cry_Mudbray + cry Cry_Mudsdale + cry Cry_Dewpider + cry Cry_Araquanid + cry Cry_Fomantis + cry Cry_Lurantis + cry Cry_Morelull + cry Cry_Shiinotic + cry Cry_Salandit + cry Cry_Salazzle + cry Cry_Stufful + cry Cry_Bewear + cry Cry_Bounsweet + cry Cry_Steenee + cry Cry_Tsareena + cry Cry_Comfey + cry Cry_Oranguru + cry Cry_Passimian + cry Cry_Wimpod + cry Cry_Golisopod + cry Cry_Sandygast + cry Cry_Palossand + cry Cry_Pyukumuku + cry Cry_TypeNull + cry Cry_Silvally + cry Cry_Minior + cry Cry_Komala + cry Cry_Turtonator + cry Cry_Togedemaru + cry Cry_Mimikyu + cry Cry_Bruxish + cry Cry_Drampa + cry Cry_Dhelmise + cry Cry_Jangmoo + cry Cry_Hakamoo + cry Cry_Kommoo + cry Cry_TapuKoko + cry Cry_TapuLele + cry Cry_TapuBulu + cry Cry_TapuFini + cry Cry_Cosmog + cry Cry_Cosmoem + cry Cry_Solgaleo + cry Cry_Lunala + cry Cry_Nihilego + cry Cry_Buzzwole + cry Cry_Pheromosa + cry Cry_Xurkitree + cry Cry_Celesteela + cry Cry_Kartana + cry Cry_Guzzlord + cry Cry_Necrozma + cry Cry_Magearna + cry Cry_Marshadow + cry Cry_Poipole + cry Cry_Naganadel + cry Cry_Stakataka + cry Cry_Blacephalon + cry Cry_Zeraora + cry Cry_Meltan + cry Cry_Melmetal + cry Cry_Grookey + cry Cry_Thwackey + cry Cry_Rillaboom + cry Cry_Scorbunny + cry Cry_Raboot + cry Cry_Cinderace + cry Cry_Sobble + cry Cry_Drizzile + cry Cry_Inteleon + cry Cry_Skwovet + cry Cry_Greedent + cry Cry_Rookidee + cry Cry_Corvisquire + cry Cry_Corviknight + cry Cry_Blipbug + cry Cry_Dottler + cry Cry_Orbeetle + cry Cry_Nickit + cry Cry_Thievul + cry Cry_Gossifleur + cry Cry_Eldegoss + cry Cry_Wooloo + cry Cry_Dubwool + cry Cry_Chewtle + cry Cry_Drednaw + cry Cry_Yamper + cry Cry_Boltund + cry Cry_Rolycoly + cry Cry_Carkol + cry Cry_Coalossal + cry Cry_Applin + cry Cry_Flapple + cry Cry_Appletun + cry Cry_Silicobra + cry Cry_Sandaconda + cry Cry_Cramorant + cry Cry_Arrokuda + cry Cry_Barraskewda + cry Cry_Toxel + cry Cry_Toxtricity + cry Cry_Sizzlipede + cry Cry_Centiskorch + cry Cry_Clobbopus + cry Cry_Grapploct + cry Cry_Sinistea + cry Cry_Polteageist + cry Cry_Hatenna + cry Cry_Hattrem + cry Cry_Hatterene + cry Cry_Impidimp + cry Cry_Morgrem + cry Cry_Grimmsnarl + cry Cry_Obstagoon + cry Cry_Perrserker + cry Cry_Cursola + cry Cry_Sirfetchd + cry Cry_MrRime + cry Cry_Runerigus + cry Cry_Milcery + cry Cry_Alcremie + cry Cry_Falinks + cry Cry_Pincurchin + cry Cry_Snom + cry Cry_Frosmoth + cry Cry_Stonjourner + cry Cry_Eiscue + cry Cry_Indeedee + cry Cry_Morpeko + cry Cry_Cufant + cry Cry_Copperajah + cry Cry_Dracozolt + cry Cry_Arctozolt + cry Cry_Dracovish + cry Cry_Arctovish + cry Cry_Duraludon + cry Cry_Dreepy + cry Cry_Drakloak + cry Cry_Dragapult + cry Cry_Zacian + cry Cry_Zamazenta + cry Cry_Eternatus + cry Cry_Kubfu + cry Cry_Urshifu + cry Cry_Zarude + cry Cry_Regieleki + cry Cry_Regidrago + cry Cry_Glastrier + cry Cry_Spectrier + cry Cry_Calyrex @ Megas - cry_uncomp Cry_VenusaurMega - cry_uncomp Cry_CharizardMegaX - cry_uncomp Cry_CharizardMegaY - cry_uncomp Cry_BlastoiseMega - cry_uncomp Cry_BeedrillMega - cry_uncomp Cry_PidgeotMega - cry_uncomp Cry_AlakazamMega - cry_uncomp Cry_SlowbroMega - cry_uncomp Cry_GengarMega - cry_uncomp Cry_KangaskhanMega - cry_uncomp Cry_PinsirMega - cry_uncomp Cry_GyaradosMega - cry_uncomp Cry_AerodactylMega - cry_uncomp Cry_MewtwoMegaX - cry_uncomp Cry_MewtwoMegaY - cry_uncomp Cry_AmpharosMega - cry_uncomp Cry_SteelixMega - cry_uncomp Cry_ScizorMega - cry_uncomp Cry_HeracrossMega - cry_uncomp Cry_HoundoomMega - cry_uncomp Cry_TyranitarMega - cry_uncomp Cry_SceptileMega - cry_uncomp Cry_BlazikenMega - cry_uncomp Cry_SwampertMega - cry_uncomp Cry_GardevoirMega - cry_uncomp Cry_SableyeMega - cry_uncomp Cry_MawileMega - cry_uncomp Cry_AggronMega - cry_uncomp Cry_MedichamMega - cry_uncomp Cry_ManectricMega - cry_uncomp Cry_SharpedoMega - cry_uncomp Cry_CameruptMega - cry_uncomp Cry_AltariaMega - cry_uncomp Cry_BanetteMega - cry_uncomp Cry_AbsolMega - cry_uncomp Cry_GlalieMega - cry_uncomp Cry_SalamenceMega - cry_uncomp Cry_MetagrossMega - cry_uncomp Cry_LatiasMega - cry_uncomp Cry_LatiosMega - cry_uncomp Cry_LopunnyMega - cry_uncomp Cry_GarchompMega - cry_uncomp Cry_LucarioMega - cry_uncomp Cry_AbomasnowMega - cry_uncomp Cry_GalladeMega - cry_uncomp Cry_AudinoMega - cry_uncomp Cry_DiancieMega + cry Cry_VenusaurMega + cry Cry_CharizardMegaX + cry Cry_CharizardMegaY + cry Cry_BlastoiseMega + cry Cry_BeedrillMega + cry Cry_PidgeotMega + cry Cry_AlakazamMega + cry Cry_SlowbroMega + cry Cry_GengarMega + cry Cry_KangaskhanMega + cry Cry_PinsirMega + cry Cry_GyaradosMega + cry Cry_AerodactylMega + cry Cry_MewtwoMegaX + cry Cry_MewtwoMegaY + cry Cry_AmpharosMega + cry Cry_SteelixMega + cry Cry_ScizorMega + cry Cry_HeracrossMega + cry Cry_HoundoomMega + cry Cry_TyranitarMega + cry Cry_SceptileMega + cry Cry_BlazikenMega + cry Cry_SwampertMega + cry Cry_GardevoirMega + cry Cry_SableyeMega + cry Cry_MawileMega + cry Cry_AggronMega + cry Cry_MedichamMega + cry Cry_ManectricMega + cry Cry_SharpedoMega + cry Cry_CameruptMega + cry Cry_AltariaMega + cry Cry_BanetteMega + cry Cry_AbsolMega + cry Cry_GlalieMega + cry Cry_SalamenceMega + cry Cry_MetagrossMega + cry Cry_LatiasMega + cry Cry_LatiosMega + cry Cry_LopunnyMega + cry Cry_GarchompMega + cry Cry_LucarioMega + cry Cry_AbomasnowMega + cry Cry_GalladeMega + cry Cry_AudinoMega + cry Cry_DiancieMega @ Special Mega + Primals - cry_uncomp Cry_RayquazaMega - cry_uncomp Cry_KyogrePrimal - cry_uncomp Cry_GroudonPrimal + cry Cry_RayquazaMega + cry Cry_KyogrePrimal + cry Cry_GroudonPrimal @ Alolan Forms cry Cry_Rattata cry Cry_Raticate @@ -973,7 +973,7 @@ gCryTable:: cry Cry_Meowth cry Cry_Ponyta cry Cry_Rapidash - cry_uncomp Cry_SlowpokeGalarian + cry Cry_SlowpokeGalarian cry Cry_Slowbro cry Cry_Farfetchd cry Cry_Weezing @@ -1114,163 +1114,163 @@ gCryTable:: cry Cry_Genesect cry Cry_Genesect @ Greninja - cry_uncomp Cry_Greninja - cry_uncomp Cry_Greninja + cry Cry_Greninja + cry Cry_Greninja @ Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon - cry_uncomp Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon + cry Cry_Vivillon @ Flabébé - cry_uncomp Cry_Flabebe - cry_uncomp Cry_Flabebe - cry_uncomp Cry_Flabebe - cry_uncomp Cry_Flabebe + cry Cry_Flabebe + cry Cry_Flabebe + cry Cry_Flabebe + cry Cry_Flabebe @ Floette - cry_uncomp Cry_Floette - cry_uncomp Cry_Floette - cry_uncomp Cry_Floette - cry_uncomp Cry_Floette - cry_uncomp Cry_FloetteEternalFlower + cry Cry_Floette + cry Cry_Floette + cry Cry_Floette + cry Cry_Floette + cry Cry_FloetteEternalFlower @ Florges - cry_uncomp Cry_Florges - cry_uncomp Cry_Florges - cry_uncomp Cry_Florges - cry_uncomp Cry_Florges + cry Cry_Florges + cry Cry_Florges + cry Cry_Florges + cry Cry_Florges @ Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou - cry_uncomp Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou + cry Cry_Furfrou @ Meowstic - cry_uncomp Cry_Meowstic + cry Cry_Meowstic @ Aegislash - cry_uncomp Cry_Aegislash + cry Cry_Aegislash @ Pumpkaboo - cry_uncomp Cry_Pumpkaboo - cry_uncomp Cry_Pumpkaboo - cry_uncomp Cry_PumpkabooSuper + cry Cry_Pumpkaboo + cry Cry_Pumpkaboo + cry Cry_PumpkabooSuper @ Gourgeist - cry_uncomp Cry_Gourgeist - cry_uncomp Cry_Gourgeist - cry_uncomp Cry_GourgeistSuper + cry Cry_Gourgeist + cry Cry_Gourgeist + cry Cry_GourgeistSuper @ Xerneas - cry_uncomp Cry_Xerneas + cry Cry_Xerneas @ Zygarde - cry_uncomp Cry_Zygarde10 - cry_uncomp Cry_Zygarde10 - cry_uncomp Cry_Zygarde - cry_uncomp Cry_ZygardeComplete + cry Cry_Zygarde10 + cry Cry_Zygarde10 + cry Cry_Zygarde + cry Cry_ZygardeComplete @ Hoopa - cry_uncomp Cry_HoopaUnbound + cry Cry_HoopaUnbound @ Oricorio - cry_uncomp Cry_OricorioPomPom - cry_uncomp Cry_OricorioPau - cry_uncomp Cry_OricorioSensu + cry Cry_OricorioPomPom + cry Cry_OricorioPau + cry Cry_OricorioSensu @ Rockruff - cry_uncomp Cry_Rockruff + cry Cry_Rockruff @ Lycanroc - cry_uncomp Cry_LycanrocMidnight - cry_uncomp Cry_LycanrocDusk + cry Cry_LycanrocMidnight + cry Cry_LycanrocDusk @ Wishiwashi - cry_uncomp Cry_WishiwashiSchool + cry Cry_WishiwashiSchool @ Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally - cry_uncomp Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally + cry Cry_Silvally @ Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior - cry_uncomp Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior + cry Cry_Minior @ Mimikyu - cry_uncomp Cry_Mimikyu + cry Cry_Mimikyu @ Necrozma - cry_uncomp Cry_NecrozmaDuskMane - cry_uncomp Cry_NecrozmaDawnWings - cry_uncomp Cry_NecrozmaUltra + cry Cry_NecrozmaDuskMane + cry Cry_NecrozmaDawnWings + cry Cry_NecrozmaUltra @ Magearna - cry_uncomp Cry_Magearna + cry Cry_Magearna @ Cramorant - cry_uncomp Cry_Cramorant - cry_uncomp Cry_Cramorant + cry Cry_Cramorant + cry Cry_Cramorant @ Toxtricity - cry_uncomp Cry_ToxtricityLowKey + cry Cry_ToxtricityLowKey @ Sinistea - cry_uncomp Cry_Sinistea + cry Cry_Sinistea @ Polteageist - cry_uncomp Cry_Polteageist + cry Cry_Polteageist @ Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie - cry_uncomp Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie + cry Cry_Alcremie @ Eiscue - cry_uncomp Cry_EiscueNoiceFace + cry Cry_EiscueNoiceFace @ Indeedee - cry_uncomp Cry_IndeedeeFemale + cry Cry_IndeedeeFemale @ Morpeko - cry_uncomp Cry_MorpekoHangry + cry Cry_MorpekoHangry @ Zacian - cry_uncomp Cry_ZacianCrownedSword + cry Cry_ZacianCrownedSword @ Zamazenta - cry_uncomp Cry_ZamazentaCrownedShield + cry Cry_ZamazentaCrownedShield @ Eternatus - cry_uncomp Cry_EternatusEternamax + cry Cry_EternatusEternamax @ Urshifu - cry_uncomp Cry_UrshifuRapidStrikeStyle + cry Cry_UrshifuRapidStrikeStyle @ Zarude - cry_uncomp Cry_Zarude + cry Cry_Zarude @ Calyrex - cry_uncomp Cry_CalyrexIceRider - cry_uncomp Cry_CalyrexShadowRider + cry Cry_CalyrexIceRider + cry Cry_CalyrexShadowRider .align 2 gCryTable_Reverse:: @@ -1923,307 +1923,307 @@ gCryTable_Reverse:: cry_reverse Cry_Keldeo cry_reverse Cry_Meloetta cry_reverse Cry_Genesect - cry_reverse_uncomp Cry_Chespin - cry_reverse_uncomp Cry_Quilladin - cry_reverse_uncomp Cry_Chesnaught - cry_reverse_uncomp Cry_Fennekin - cry_reverse_uncomp Cry_Braixen - cry_reverse_uncomp Cry_Delphox - cry_reverse_uncomp Cry_Froakie - cry_reverse_uncomp Cry_Frogadier - cry_reverse_uncomp Cry_Greninja - cry_reverse_uncomp Cry_Bunnelby - cry_reverse_uncomp Cry_Diggersby - cry_reverse_uncomp Cry_Fletchling - cry_reverse_uncomp Cry_Fletchinder - cry_reverse_uncomp Cry_Talonflame - cry_reverse_uncomp Cry_Scatterbug - cry_reverse_uncomp Cry_Spewpa - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Litleo - cry_reverse_uncomp Cry_Pyroar - cry_reverse_uncomp Cry_Flabebe - cry_reverse_uncomp Cry_Floette - cry_reverse_uncomp Cry_Florges - cry_reverse_uncomp Cry_Skiddo - cry_reverse_uncomp Cry_Gogoat - cry_reverse_uncomp Cry_Pancham - cry_reverse_uncomp Cry_Pangoro - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Espurr - cry_reverse_uncomp Cry_Meowstic - cry_reverse_uncomp Cry_Honedge - cry_reverse_uncomp Cry_Doublade - cry_reverse_uncomp Cry_Aegislash - cry_reverse_uncomp Cry_Spritzee - cry_reverse_uncomp Cry_Aromatisse - cry_reverse_uncomp Cry_Swirlix - cry_reverse_uncomp Cry_Slurpuff - cry_reverse_uncomp Cry_Inkay - cry_reverse_uncomp Cry_Malamar - cry_reverse_uncomp Cry_Binacle - cry_reverse_uncomp Cry_Barbaracle - cry_reverse_uncomp Cry_Skrelp - cry_reverse_uncomp Cry_Dragalge - cry_reverse_uncomp Cry_Clauncher - cry_reverse_uncomp Cry_Clawitzer - cry_reverse_uncomp Cry_Helioptile - cry_reverse_uncomp Cry_Heliolisk - cry_reverse_uncomp Cry_Tyrunt - cry_reverse_uncomp Cry_Tyrantrum - cry_reverse_uncomp Cry_Amaura - cry_reverse_uncomp Cry_Aurorus - cry_reverse_uncomp Cry_Sylveon - cry_reverse_uncomp Cry_Hawlucha - cry_reverse_uncomp Cry_Dedenne - cry_reverse_uncomp Cry_Carbink - cry_reverse_uncomp Cry_Goomy - cry_reverse_uncomp Cry_Sliggoo - cry_reverse_uncomp Cry_Goodra + cry_reverse Cry_Chespin + cry_reverse Cry_Quilladin + cry_reverse Cry_Chesnaught + cry_reverse Cry_Fennekin + cry_reverse Cry_Braixen + cry_reverse Cry_Delphox + cry_reverse Cry_Froakie + cry_reverse Cry_Frogadier + cry_reverse Cry_Greninja + cry_reverse Cry_Bunnelby + cry_reverse Cry_Diggersby + cry_reverse Cry_Fletchling + cry_reverse Cry_Fletchinder + cry_reverse Cry_Talonflame + cry_reverse Cry_Scatterbug + cry_reverse Cry_Spewpa + cry_reverse Cry_Vivillon + cry_reverse Cry_Litleo + cry_reverse Cry_Pyroar + cry_reverse Cry_Flabebe + cry_reverse Cry_Floette + cry_reverse Cry_Florges + cry_reverse Cry_Skiddo + cry_reverse Cry_Gogoat + cry_reverse Cry_Pancham + cry_reverse Cry_Pangoro + cry_reverse Cry_Furfrou + cry_reverse Cry_Espurr + cry_reverse Cry_Meowstic + cry_reverse Cry_Honedge + cry_reverse Cry_Doublade + cry_reverse Cry_Aegislash + cry_reverse Cry_Spritzee + cry_reverse Cry_Aromatisse + cry_reverse Cry_Swirlix + cry_reverse Cry_Slurpuff + cry_reverse Cry_Inkay + cry_reverse Cry_Malamar + cry_reverse Cry_Binacle + cry_reverse Cry_Barbaracle + cry_reverse Cry_Skrelp + cry_reverse Cry_Dragalge + cry_reverse Cry_Clauncher + cry_reverse Cry_Clawitzer + cry_reverse Cry_Helioptile + cry_reverse Cry_Heliolisk + cry_reverse Cry_Tyrunt + cry_reverse Cry_Tyrantrum + cry_reverse Cry_Amaura + cry_reverse Cry_Aurorus + cry_reverse Cry_Sylveon + cry_reverse Cry_Hawlucha + cry_reverse Cry_Dedenne + cry_reverse Cry_Carbink + cry_reverse Cry_Goomy + cry_reverse Cry_Sliggoo + cry_reverse Cry_Goodra cry_reverse_uncomp Cry_Klefki - cry_reverse_uncomp Cry_Phantump - cry_reverse_uncomp Cry_Trevenant - cry_reverse_uncomp Cry_Pumpkaboo - cry_reverse_uncomp Cry_Gourgeist - cry_reverse_uncomp Cry_Bergmite - cry_reverse_uncomp Cry_Avalugg - cry_reverse_uncomp Cry_Noibat - cry_reverse_uncomp Cry_Noivern - cry_reverse_uncomp Cry_Xerneas - cry_reverse_uncomp Cry_Yveltal - cry_reverse_uncomp Cry_Zygarde - cry_reverse_uncomp Cry_Diancie - cry_reverse_uncomp Cry_Hoopa - cry_reverse_uncomp Cry_Volcanion - cry_reverse_uncomp Cry_Rowlet - cry_reverse_uncomp Cry_Dartrix - cry_reverse_uncomp Cry_Decidueye - cry_reverse_uncomp Cry_Litten - cry_reverse_uncomp Cry_Torracat - cry_reverse_uncomp Cry_Incineroar - cry_reverse_uncomp Cry_Popplio - cry_reverse_uncomp Cry_Brionne - cry_reverse_uncomp Cry_Primarina - cry_reverse_uncomp Cry_Pikipek - cry_reverse_uncomp Cry_Trumbeak - cry_reverse_uncomp Cry_Toucannon - cry_reverse_uncomp Cry_Yungoos - cry_reverse_uncomp Cry_Gumshoos - cry_reverse_uncomp Cry_Grubbin - cry_reverse_uncomp Cry_Charjabug - cry_reverse_uncomp Cry_Vikavolt - cry_reverse_uncomp Cry_Crabrawler - cry_reverse_uncomp Cry_Crabominable - cry_reverse_uncomp Cry_Oricorio - cry_reverse_uncomp Cry_Cutiefly - cry_reverse_uncomp Cry_Ribombee - cry_reverse_uncomp Cry_Rockruff - cry_reverse_uncomp Cry_Lycanroc - cry_reverse_uncomp Cry_Wishiwashi - cry_reverse_uncomp Cry_Mareanie - cry_reverse_uncomp Cry_Toxapex - cry_reverse_uncomp Cry_Mudbray - cry_reverse_uncomp Cry_Mudsdale - cry_reverse_uncomp Cry_Dewpider - cry_reverse_uncomp Cry_Araquanid - cry_reverse_uncomp Cry_Fomantis - cry_reverse_uncomp Cry_Lurantis - cry_reverse_uncomp Cry_Morelull - cry_reverse_uncomp Cry_Shiinotic - cry_reverse_uncomp Cry_Salandit - cry_reverse_uncomp Cry_Salazzle - cry_reverse_uncomp Cry_Stufful - cry_reverse_uncomp Cry_Bewear - cry_reverse_uncomp Cry_Bounsweet - cry_reverse_uncomp Cry_Steenee - cry_reverse_uncomp Cry_Tsareena - cry_reverse_uncomp Cry_Comfey - cry_reverse_uncomp Cry_Oranguru - cry_reverse_uncomp Cry_Passimian - cry_reverse_uncomp Cry_Wimpod - cry_reverse_uncomp Cry_Golisopod - cry_reverse_uncomp Cry_Sandygast - cry_reverse_uncomp Cry_Palossand - cry_reverse_uncomp Cry_Pyukumuku - cry_reverse_uncomp Cry_TypeNull - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Komala - cry_reverse_uncomp Cry_Turtonator - cry_reverse_uncomp Cry_Togedemaru - cry_reverse_uncomp Cry_Mimikyu - cry_reverse_uncomp Cry_Bruxish - cry_reverse_uncomp Cry_Drampa - cry_reverse_uncomp Cry_Dhelmise - cry_reverse_uncomp Cry_Jangmoo - cry_reverse_uncomp Cry_Hakamoo - cry_reverse_uncomp Cry_Kommoo - cry_reverse_uncomp Cry_TapuKoko - cry_reverse_uncomp Cry_TapuLele - cry_reverse_uncomp Cry_TapuBulu - cry_reverse_uncomp Cry_TapuFini - cry_reverse_uncomp Cry_Cosmog - cry_reverse_uncomp Cry_Cosmoem - cry_reverse_uncomp Cry_Solgaleo - cry_reverse_uncomp Cry_Lunala - cry_reverse_uncomp Cry_Nihilego - cry_reverse_uncomp Cry_Buzzwole - cry_reverse_uncomp Cry_Pheromosa - cry_reverse_uncomp Cry_Xurkitree - cry_reverse_uncomp Cry_Celesteela - cry_reverse_uncomp Cry_Kartana - cry_reverse_uncomp Cry_Guzzlord - cry_reverse_uncomp Cry_Necrozma - cry_reverse_uncomp Cry_Magearna - cry_reverse_uncomp Cry_Marshadow - cry_reverse_uncomp Cry_Poipole - cry_reverse_uncomp Cry_Naganadel - cry_reverse_uncomp Cry_Stakataka - cry_reverse_uncomp Cry_Blacephalon - cry_reverse_uncomp Cry_Zeraora - cry_reverse_uncomp Cry_Meltan - cry_reverse_uncomp Cry_Melmetal - cry_reverse_uncomp Cry_Grookey - cry_reverse_uncomp Cry_Thwackey - cry_reverse_uncomp Cry_Rillaboom - cry_reverse_uncomp Cry_Scorbunny - cry_reverse_uncomp Cry_Raboot - cry_reverse_uncomp Cry_Cinderace - cry_reverse_uncomp Cry_Sobble - cry_reverse_uncomp Cry_Drizzile - cry_reverse_uncomp Cry_Inteleon - cry_reverse_uncomp Cry_Skwovet - cry_reverse_uncomp Cry_Greedent - cry_reverse_uncomp Cry_Rookidee - cry_reverse_uncomp Cry_Corvisquire - cry_reverse_uncomp Cry_Corviknight - cry_reverse_uncomp Cry_Blipbug - cry_reverse_uncomp Cry_Dottler - cry_reverse_uncomp Cry_Orbeetle - cry_reverse_uncomp Cry_Nickit - cry_reverse_uncomp Cry_Thievul - cry_reverse_uncomp Cry_Gossifleur - cry_reverse_uncomp Cry_Eldegoss - cry_reverse_uncomp Cry_Wooloo - cry_reverse_uncomp Cry_Dubwool - cry_reverse_uncomp Cry_Chewtle - cry_reverse_uncomp Cry_Drednaw - cry_reverse_uncomp Cry_Yamper - cry_reverse_uncomp Cry_Boltund - cry_reverse_uncomp Cry_Rolycoly - cry_reverse_uncomp Cry_Carkol - cry_reverse_uncomp Cry_Coalossal - cry_reverse_uncomp Cry_Applin - cry_reverse_uncomp Cry_Flapple - cry_reverse_uncomp Cry_Appletun - cry_reverse_uncomp Cry_Silicobra - cry_reverse_uncomp Cry_Sandaconda - cry_reverse_uncomp Cry_Cramorant - cry_reverse_uncomp Cry_Arrokuda - cry_reverse_uncomp Cry_Barraskewda - cry_reverse_uncomp Cry_Toxel - cry_reverse_uncomp Cry_Toxtricity - cry_reverse_uncomp Cry_Sizzlipede - cry_reverse_uncomp Cry_Centiskorch - cry_reverse_uncomp Cry_Clobbopus - cry_reverse_uncomp Cry_Grapploct - cry_reverse_uncomp Cry_Sinistea - cry_reverse_uncomp Cry_Polteageist - cry_reverse_uncomp Cry_Hatenna - cry_reverse_uncomp Cry_Hattrem - cry_reverse_uncomp Cry_Hatterene - cry_reverse_uncomp Cry_Impidimp - cry_reverse_uncomp Cry_Morgrem - cry_reverse_uncomp Cry_Grimmsnarl - cry_reverse_uncomp Cry_Obstagoon - cry_reverse_uncomp Cry_Perrserker - cry_reverse_uncomp Cry_Cursola - cry_reverse_uncomp Cry_Sirfetchd - cry_reverse_uncomp Cry_MrRime - cry_reverse_uncomp Cry_Runerigus - cry_reverse_uncomp Cry_Milcery - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Falinks - cry_reverse_uncomp Cry_Pincurchin - cry_reverse_uncomp Cry_Snom - cry_reverse_uncomp Cry_Frosmoth - cry_reverse_uncomp Cry_Stonjourner - cry_reverse_uncomp Cry_Eiscue - cry_reverse_uncomp Cry_Indeedee - cry_reverse_uncomp Cry_Morpeko - cry_reverse_uncomp Cry_Cufant - cry_reverse_uncomp Cry_Copperajah - cry_reverse_uncomp Cry_Dracozolt - cry_reverse_uncomp Cry_Arctozolt - cry_reverse_uncomp Cry_Dracovish - cry_reverse_uncomp Cry_Arctovish - cry_reverse_uncomp Cry_Duraludon - cry_reverse_uncomp Cry_Dreepy - cry_reverse_uncomp Cry_Drakloak - cry_reverse_uncomp Cry_Dragapult - cry_reverse_uncomp Cry_Zacian - cry_reverse_uncomp Cry_Zamazenta - cry_reverse_uncomp Cry_Eternatus - cry_reverse_uncomp Cry_Kubfu - cry_reverse_uncomp Cry_Urshifu - cry_reverse_uncomp Cry_Zarude - cry_reverse_uncomp Cry_Regieleki - cry_reverse_uncomp Cry_Regidrago - cry_reverse_uncomp Cry_Glastrier - cry_reverse_uncomp Cry_Spectrier - cry_reverse_uncomp Cry_Calyrex + cry_reverse Cry_Phantump + cry_reverse Cry_Trevenant + cry_reverse Cry_Pumpkaboo + cry_reverse Cry_Gourgeist + cry_reverse Cry_Bergmite + cry_reverse Cry_Avalugg + cry_reverse Cry_Noibat + cry_reverse Cry_Noivern + cry_reverse Cry_Xerneas + cry_reverse Cry_Yveltal + cry_reverse Cry_Zygarde + cry_reverse Cry_Diancie + cry_reverse Cry_Hoopa + cry_reverse Cry_Volcanion + cry_reverse Cry_Rowlet + cry_reverse Cry_Dartrix + cry_reverse Cry_Decidueye + cry_reverse Cry_Litten + cry_reverse Cry_Torracat + cry_reverse Cry_Incineroar + cry_reverse Cry_Popplio + cry_reverse Cry_Brionne + cry_reverse Cry_Primarina + cry_reverse Cry_Pikipek + cry_reverse Cry_Trumbeak + cry_reverse Cry_Toucannon + cry_reverse Cry_Yungoos + cry_reverse Cry_Gumshoos + cry_reverse Cry_Grubbin + cry_reverse Cry_Charjabug + cry_reverse Cry_Vikavolt + cry_reverse Cry_Crabrawler + cry_reverse Cry_Crabominable + cry_reverse Cry_Oricorio + cry_reverse Cry_Cutiefly + cry_reverse Cry_Ribombee + cry_reverse Cry_Rockruff + cry_reverse Cry_Lycanroc + cry_reverse Cry_Wishiwashi + cry_reverse Cry_Mareanie + cry_reverse Cry_Toxapex + cry_reverse Cry_Mudbray + cry_reverse Cry_Mudsdale + cry_reverse Cry_Dewpider + cry_reverse Cry_Araquanid + cry_reverse Cry_Fomantis + cry_reverse Cry_Lurantis + cry_reverse Cry_Morelull + cry_reverse Cry_Shiinotic + cry_reverse Cry_Salandit + cry_reverse Cry_Salazzle + cry_reverse Cry_Stufful + cry_reverse Cry_Bewear + cry_reverse Cry_Bounsweet + cry_reverse Cry_Steenee + cry_reverse Cry_Tsareena + cry_reverse Cry_Comfey + cry_reverse Cry_Oranguru + cry_reverse Cry_Passimian + cry_reverse Cry_Wimpod + cry_reverse Cry_Golisopod + cry_reverse Cry_Sandygast + cry_reverse Cry_Palossand + cry_reverse Cry_Pyukumuku + cry_reverse Cry_TypeNull + cry_reverse Cry_Silvally + cry_reverse Cry_Minior + cry_reverse Cry_Komala + cry_reverse Cry_Turtonator + cry_reverse Cry_Togedemaru + cry_reverse Cry_Mimikyu + cry_reverse Cry_Bruxish + cry_reverse Cry_Drampa + cry_reverse Cry_Dhelmise + cry_reverse Cry_Jangmoo + cry_reverse Cry_Hakamoo + cry_reverse Cry_Kommoo + cry_reverse Cry_TapuKoko + cry_reverse Cry_TapuLele + cry_reverse Cry_TapuBulu + cry_reverse Cry_TapuFini + cry_reverse Cry_Cosmog + cry_reverse Cry_Cosmoem + cry_reverse Cry_Solgaleo + cry_reverse Cry_Lunala + cry_reverse Cry_Nihilego + cry_reverse Cry_Buzzwole + cry_reverse Cry_Pheromosa + cry_reverse Cry_Xurkitree + cry_reverse Cry_Celesteela + cry_reverse Cry_Kartana + cry_reverse Cry_Guzzlord + cry_reverse Cry_Necrozma + cry_reverse Cry_Magearna + cry_reverse Cry_Marshadow + cry_reverse Cry_Poipole + cry_reverse Cry_Naganadel + cry_reverse Cry_Stakataka + cry_reverse Cry_Blacephalon + cry_reverse Cry_Zeraora + cry_reverse Cry_Meltan + cry_reverse Cry_Melmetal + cry_reverse Cry_Grookey + cry_reverse Cry_Thwackey + cry_reverse Cry_Rillaboom + cry_reverse Cry_Scorbunny + cry_reverse Cry_Raboot + cry_reverse Cry_Cinderace + cry_reverse Cry_Sobble + cry_reverse Cry_Drizzile + cry_reverse Cry_Inteleon + cry_reverse Cry_Skwovet + cry_reverse Cry_Greedent + cry_reverse Cry_Rookidee + cry_reverse Cry_Corvisquire + cry_reverse Cry_Corviknight + cry_reverse Cry_Blipbug + cry_reverse Cry_Dottler + cry_reverse Cry_Orbeetle + cry_reverse Cry_Nickit + cry_reverse Cry_Thievul + cry_reverse Cry_Gossifleur + cry_reverse Cry_Eldegoss + cry_reverse Cry_Wooloo + cry_reverse Cry_Dubwool + cry_reverse Cry_Chewtle + cry_reverse Cry_Drednaw + cry_reverse Cry_Yamper + cry_reverse Cry_Boltund + cry_reverse Cry_Rolycoly + cry_reverse Cry_Carkol + cry_reverse Cry_Coalossal + cry_reverse Cry_Applin + cry_reverse Cry_Flapple + cry_reverse Cry_Appletun + cry_reverse Cry_Silicobra + cry_reverse Cry_Sandaconda + cry_reverse Cry_Cramorant + cry_reverse Cry_Arrokuda + cry_reverse Cry_Barraskewda + cry_reverse Cry_Toxel + cry_reverse Cry_Toxtricity + cry_reverse Cry_Sizzlipede + cry_reverse Cry_Centiskorch + cry_reverse Cry_Clobbopus + cry_reverse Cry_Grapploct + cry_reverse Cry_Sinistea + cry_reverse Cry_Polteageist + cry_reverse Cry_Hatenna + cry_reverse Cry_Hattrem + cry_reverse Cry_Hatterene + cry_reverse Cry_Impidimp + cry_reverse Cry_Morgrem + cry_reverse Cry_Grimmsnarl + cry_reverse Cry_Obstagoon + cry_reverse Cry_Perrserker + cry_reverse Cry_Cursola + cry_reverse Cry_Sirfetchd + cry_reverse Cry_MrRime + cry_reverse Cry_Runerigus + cry_reverse Cry_Milcery + cry_reverse Cry_Alcremie + cry_reverse Cry_Falinks + cry_reverse Cry_Pincurchin + cry_reverse Cry_Snom + cry_reverse Cry_Frosmoth + cry_reverse Cry_Stonjourner + cry_reverse Cry_Eiscue + cry_reverse Cry_Indeedee + cry_reverse Cry_Morpeko + cry_reverse Cry_Cufant + cry_reverse Cry_Copperajah + cry_reverse Cry_Dracozolt + cry_reverse Cry_Arctozolt + cry_reverse Cry_Dracovish + cry_reverse Cry_Arctovish + cry_reverse Cry_Duraludon + cry_reverse Cry_Dreepy + cry_reverse Cry_Drakloak + cry_reverse Cry_Dragapult + cry_reverse Cry_Zacian + cry_reverse Cry_Zamazenta + cry_reverse Cry_Eternatus + cry_reverse Cry_Kubfu + cry_reverse Cry_Urshifu + cry_reverse Cry_Zarude + cry_reverse Cry_Regieleki + cry_reverse Cry_Regidrago + cry_reverse Cry_Glastrier + cry_reverse Cry_Spectrier + cry_reverse Cry_Calyrex @ Megas - cry_reverse_uncomp Cry_VenusaurMega - cry_reverse_uncomp Cry_CharizardMegaX - cry_reverse_uncomp Cry_CharizardMegaY - cry_reverse_uncomp Cry_BlastoiseMega - cry_reverse_uncomp Cry_BeedrillMega - cry_reverse_uncomp Cry_PidgeotMega - cry_reverse_uncomp Cry_AlakazamMega - cry_reverse_uncomp Cry_SlowbroMega - cry_reverse_uncomp Cry_GengarMega - cry_reverse_uncomp Cry_KangaskhanMega - cry_reverse_uncomp Cry_PinsirMega - cry_reverse_uncomp Cry_GyaradosMega - cry_reverse_uncomp Cry_AerodactylMega - cry_reverse_uncomp Cry_MewtwoMegaX - cry_reverse_uncomp Cry_MewtwoMegaY - cry_reverse_uncomp Cry_AmpharosMega - cry_reverse_uncomp Cry_SteelixMega - cry_reverse_uncomp Cry_ScizorMega - cry_reverse_uncomp Cry_HeracrossMega - cry_reverse_uncomp Cry_HoundoomMega - cry_reverse_uncomp Cry_TyranitarMega - cry_reverse_uncomp Cry_SceptileMega - cry_reverse_uncomp Cry_BlazikenMega - cry_reverse_uncomp Cry_SwampertMega - cry_reverse_uncomp Cry_GardevoirMega - cry_reverse_uncomp Cry_SableyeMega - cry_reverse_uncomp Cry_MawileMega - cry_reverse_uncomp Cry_AggronMega - cry_reverse_uncomp Cry_MedichamMega - cry_reverse_uncomp Cry_ManectricMega - cry_reverse_uncomp Cry_SharpedoMega - cry_reverse_uncomp Cry_CameruptMega - cry_reverse_uncomp Cry_AltariaMega - cry_reverse_uncomp Cry_BanetteMega - cry_reverse_uncomp Cry_AbsolMega - cry_reverse_uncomp Cry_GlalieMega - cry_reverse_uncomp Cry_SalamenceMega - cry_reverse_uncomp Cry_MetagrossMega - cry_reverse_uncomp Cry_LatiasMega - cry_reverse_uncomp Cry_LatiosMega - cry_reverse_uncomp Cry_LopunnyMega - cry_reverse_uncomp Cry_GarchompMega - cry_reverse_uncomp Cry_LucarioMega - cry_reverse_uncomp Cry_AbomasnowMega - cry_reverse_uncomp Cry_GalladeMega - cry_reverse_uncomp Cry_AudinoMega - cry_reverse_uncomp Cry_DiancieMega + cry_reverse Cry_VenusaurMega + cry_reverse Cry_CharizardMegaX + cry_reverse Cry_CharizardMegaY + cry_reverse Cry_BlastoiseMega + cry_reverse Cry_BeedrillMega + cry_reverse Cry_PidgeotMega + cry_reverse Cry_AlakazamMega + cry_reverse Cry_SlowbroMega + cry_reverse Cry_GengarMega + cry_reverse Cry_KangaskhanMega + cry_reverse Cry_PinsirMega + cry_reverse Cry_GyaradosMega + cry_reverse Cry_AerodactylMega + cry_reverse Cry_MewtwoMegaX + cry_reverse Cry_MewtwoMegaY + cry_reverse Cry_AmpharosMega + cry_reverse Cry_SteelixMega + cry_reverse Cry_ScizorMega + cry_reverse Cry_HeracrossMega + cry_reverse Cry_HoundoomMega + cry_reverse Cry_TyranitarMega + cry_reverse Cry_SceptileMega + cry_reverse Cry_BlazikenMega + cry_reverse Cry_SwampertMega + cry_reverse Cry_GardevoirMega + cry_reverse Cry_SableyeMega + cry_reverse Cry_MawileMega + cry_reverse Cry_AggronMega + cry_reverse Cry_MedichamMega + cry_reverse Cry_ManectricMega + cry_reverse Cry_SharpedoMega + cry_reverse Cry_CameruptMega + cry_reverse Cry_AltariaMega + cry_reverse Cry_BanetteMega + cry_reverse Cry_AbsolMega + cry_reverse Cry_GlalieMega + cry_reverse Cry_SalamenceMega + cry_reverse Cry_MetagrossMega + cry_reverse Cry_LatiasMega + cry_reverse Cry_LatiosMega + cry_reverse Cry_LopunnyMega + cry_reverse Cry_GarchompMega + cry_reverse Cry_LucarioMega + cry_reverse Cry_AbomasnowMega + cry_reverse Cry_GalladeMega + cry_reverse Cry_AudinoMega + cry_reverse Cry_DiancieMega @ Special Mega + Primals - cry_reverse_uncomp Cry_RayquazaMega - cry_reverse_uncomp Cry_KyogrePrimal - cry_reverse_uncomp Cry_GroudonPrimal + cry_reverse Cry_RayquazaMega + cry_reverse Cry_KyogrePrimal + cry_reverse Cry_GroudonPrimal @ Alolan Forms cry_reverse Cry_Rattata cry_reverse Cry_Raticate @@ -2247,7 +2247,7 @@ gCryTable_Reverse:: cry_reverse Cry_Meowth cry_reverse Cry_Ponyta cry_reverse Cry_Rapidash - cry_reverse_uncomp Cry_SlowpokeGalarian + cry_reverse Cry_SlowpokeGalarian cry_reverse Cry_Slowbro cry_reverse Cry_Farfetchd cry_reverse Cry_Weezing @@ -2388,160 +2388,160 @@ gCryTable_Reverse:: cry_reverse Cry_Genesect cry_reverse Cry_Genesect @ Greninja - cry_reverse_uncomp Cry_Greninja - cry_reverse_uncomp Cry_Greninja + cry_reverse Cry_Greninja + cry_reverse Cry_Greninja @ Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon - cry_reverse_uncomp Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon + cry_reverse Cry_Vivillon @ Flabébé - cry_reverse_uncomp Cry_Flabebe - cry_reverse_uncomp Cry_Flabebe - cry_reverse_uncomp Cry_Flabebe - cry_reverse_uncomp Cry_Flabebe + cry_reverse Cry_Flabebe + cry_reverse Cry_Flabebe + cry_reverse Cry_Flabebe + cry_reverse Cry_Flabebe @ Floette - cry_reverse_uncomp Cry_Floette - cry_reverse_uncomp Cry_Floette - cry_reverse_uncomp Cry_Floette - cry_reverse_uncomp Cry_Floette - cry_reverse_uncomp Cry_FloetteEternalFlower + cry_reverse Cry_Floette + cry_reverse Cry_Floette + cry_reverse Cry_Floette + cry_reverse Cry_Floette + cry_reverse Cry_FloetteEternalFlower @ Florges - cry_reverse_uncomp Cry_Florges - cry_reverse_uncomp Cry_Florges - cry_reverse_uncomp Cry_Florges - cry_reverse_uncomp Cry_Florges + cry_reverse Cry_Florges + cry_reverse Cry_Florges + cry_reverse Cry_Florges + cry_reverse Cry_Florges @ Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou - cry_reverse_uncomp Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou + cry_reverse Cry_Furfrou @ Meowstic - cry_reverse_uncomp Cry_Meowstic + cry_reverse Cry_Meowstic @ Aegislash - cry_reverse_uncomp Cry_Aegislash + cry_reverse Cry_Aegislash @ Pumpkaboo - cry_reverse_uncomp Cry_Pumpkaboo - cry_reverse_uncomp Cry_Pumpkaboo - cry_reverse_uncomp Cry_PumpkabooSuper + cry_reverse Cry_Pumpkaboo + cry_reverse Cry_Pumpkaboo + cry_reverse Cry_PumpkabooSuper @ Gourgeist - cry_reverse_uncomp Cry_Gourgeist - cry_reverse_uncomp Cry_Gourgeist - cry_reverse_uncomp Cry_GourgeistSuper + cry_reverse Cry_Gourgeist + cry_reverse Cry_Gourgeist + cry_reverse Cry_GourgeistSuper @ Xerneas - cry_reverse_uncomp Cry_Xerneas + cry_reverse Cry_Xerneas @ Zygarde - cry_reverse_uncomp Cry_Zygarde10 - cry_reverse_uncomp Cry_Zygarde10 - cry_reverse_uncomp Cry_Zygarde - cry_reverse_uncomp Cry_ZygardeComplete + cry_reverse Cry_Zygarde10 + cry_reverse Cry_Zygarde10 + cry_reverse Cry_Zygarde + cry_reverse Cry_ZygardeComplete @ Hoopa - cry_reverse_uncomp Cry_HoopaUnbound + cry_reverse Cry_HoopaUnbound @ Oricorio - cry_reverse_uncomp Cry_OricorioPomPom - cry_reverse_uncomp Cry_OricorioPau - cry_reverse_uncomp Cry_OricorioSensu + cry_reverse Cry_OricorioPomPom + cry_reverse Cry_OricorioPau + cry_reverse Cry_OricorioSensu @ Rockruff - cry_reverse_uncomp Cry_Rockruff + cry_reverse Cry_Rockruff @ Lycanroc - cry_reverse_uncomp Cry_LycanrocMidnight - cry_reverse_uncomp Cry_LycanrocDusk + cry_reverse Cry_LycanrocMidnight + cry_reverse Cry_LycanrocDusk @ Wishiwashi - cry_reverse_uncomp Cry_WishiwashiSchool + cry_reverse Cry_WishiwashiSchool @ Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally - cry_reverse_uncomp Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally + cry_reverse Cry_Silvally @ Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior - cry_reverse_uncomp Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior + cry_reverse Cry_Minior @ Mimikyu - cry_reverse_uncomp Cry_Mimikyu + cry_reverse Cry_Mimikyu @ Necrozma - cry_reverse_uncomp Cry_NecrozmaDuskMane - cry_reverse_uncomp Cry_NecrozmaDawnWings - cry_reverse_uncomp Cry_NecrozmaUltra + cry_reverse Cry_NecrozmaDuskMane + cry_reverse Cry_NecrozmaDawnWings + cry_reverse Cry_NecrozmaUltra @ Magearna - cry_reverse_uncomp Cry_Magearna + cry_reverse Cry_Magearna @ Cramorant - cry_reverse_uncomp Cry_Cramorant - cry_reverse_uncomp Cry_Cramorant + cry_reverse Cry_Cramorant + cry_reverse Cry_Cramorant @ Toxtricity - cry_reverse_uncomp Cry_ToxtricityLowKey + cry_reverse Cry_ToxtricityLowKey @ Sinistea - cry_reverse_uncomp Cry_Sinistea + cry_reverse Cry_Sinistea @ Polteageist - cry_reverse_uncomp Cry_Polteageist + cry_reverse Cry_Polteageist @ Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie - cry_reverse_uncomp Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie + cry_reverse Cry_Alcremie @ Eiscue - cry_reverse_uncomp Cry_EiscueNoiceFace + cry_reverse Cry_EiscueNoiceFace @ Indeedee - cry_reverse_uncomp Cry_IndeedeeFemale + cry_reverse Cry_IndeedeeFemale @ Morpeko - cry_reverse_uncomp Cry_MorpekoHangry + cry_reverse Cry_MorpekoHangry @ Zacian - cry_reverse_uncomp Cry_ZacianCrownedSword + cry_reverse Cry_ZacianCrownedSword @ Zamazenta - cry_reverse_uncomp Cry_ZamazentaCrownedShield + cry_reverse Cry_ZamazentaCrownedShield @ Eternatus - cry_reverse_uncomp Cry_EternatusEternamax + cry_reverse Cry_EternatusEternamax @ Urshifu - cry_reverse_uncomp Cry_UrshifuRapidStrikeStyle + cry_reverse Cry_UrshifuRapidStrikeStyle @ Zarude - cry_reverse_uncomp Cry_Zarude + cry_reverse Cry_Zarude @ Calyrex - cry_reverse_uncomp Cry_CalyrexIceRider - cry_reverse_uncomp Cry_CalyrexShadowRider + cry_reverse Cry_CalyrexIceRider + cry_reverse Cry_CalyrexShadowRider diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc index ede43d5c5..bddd27423 100644 --- a/sound/direct_sound_data.inc +++ b/sound/direct_sound_data.inc @@ -2984,231 +2984,231 @@ Cry_Genesect:: .align 2 Cry_Chespin:: - .incbin "sound/direct_sound_samples/cries/uncomp_chespin.bin" + .incbin "sound/direct_sound_samples/cries/chespin.bin" .align 2 Cry_Quilladin:: - .incbin "sound/direct_sound_samples/cries/uncomp_quilladin.bin" + .incbin "sound/direct_sound_samples/cries/quilladin.bin" .align 2 Cry_Chesnaught:: - .incbin "sound/direct_sound_samples/cries/uncomp_chesnaught.bin" + .incbin "sound/direct_sound_samples/cries/chesnaught.bin" .align 2 Cry_Fennekin:: - .incbin "sound/direct_sound_samples/cries/uncomp_fennekin.bin" + .incbin "sound/direct_sound_samples/cries/fennekin.bin" .align 2 Cry_Braixen:: - .incbin "sound/direct_sound_samples/cries/uncomp_braixen.bin" + .incbin "sound/direct_sound_samples/cries/braixen.bin" .align 2 Cry_Delphox:: - .incbin "sound/direct_sound_samples/cries/uncomp_delphox.bin" + .incbin "sound/direct_sound_samples/cries/delphox.bin" .align 2 Cry_Froakie:: - .incbin "sound/direct_sound_samples/cries/uncomp_froakie.bin" + .incbin "sound/direct_sound_samples/cries/froakie.bin" .align 2 Cry_Frogadier:: - .incbin "sound/direct_sound_samples/cries/uncomp_frogadier.bin" + .incbin "sound/direct_sound_samples/cries/frogadier.bin" .align 2 Cry_Greninja:: - .incbin "sound/direct_sound_samples/cries/uncomp_greninja.bin" + .incbin "sound/direct_sound_samples/cries/greninja.bin" .align 2 Cry_Bunnelby:: - .incbin "sound/direct_sound_samples/cries/uncomp_bunnelby.bin" + .incbin "sound/direct_sound_samples/cries/bunnelby.bin" .align 2 Cry_Diggersby:: - .incbin "sound/direct_sound_samples/cries/uncomp_diggersby.bin" + .incbin "sound/direct_sound_samples/cries/diggersby.bin" .align 2 Cry_Fletchling:: - .incbin "sound/direct_sound_samples/cries/uncomp_fletchling.bin" + .incbin "sound/direct_sound_samples/cries/fletchling.bin" .align 2 Cry_Fletchinder:: - .incbin "sound/direct_sound_samples/cries/uncomp_fletchinder.bin" + .incbin "sound/direct_sound_samples/cries/fletchinder.bin" .align 2 Cry_Talonflame:: - .incbin "sound/direct_sound_samples/cries/uncomp_talonflame.bin" + .incbin "sound/direct_sound_samples/cries/talonflame.bin" .align 2 Cry_Scatterbug:: - .incbin "sound/direct_sound_samples/cries/uncomp_scatterbug.bin" + .incbin "sound/direct_sound_samples/cries/scatterbug.bin" .align 2 Cry_Spewpa:: - .incbin "sound/direct_sound_samples/cries/uncomp_spewpa.bin" + .incbin "sound/direct_sound_samples/cries/spewpa.bin" .align 2 Cry_Vivillon:: - .incbin "sound/direct_sound_samples/cries/uncomp_vivillon.bin" + .incbin "sound/direct_sound_samples/cries/vivillon.bin" .align 2 Cry_Litleo:: - .incbin "sound/direct_sound_samples/cries/uncomp_litleo.bin" + .incbin "sound/direct_sound_samples/cries/litleo.bin" .align 2 Cry_Pyroar:: - .incbin "sound/direct_sound_samples/cries/uncomp_pyroar.bin" + .incbin "sound/direct_sound_samples/cries/pyroar.bin" .align 2 Cry_Flabebe:: - .incbin "sound/direct_sound_samples/cries/uncomp_flabebe.bin" + .incbin "sound/direct_sound_samples/cries/flabebe.bin" .align 2 Cry_Floette:: - .incbin "sound/direct_sound_samples/cries/uncomp_floette.bin" + .incbin "sound/direct_sound_samples/cries/floette.bin" .align 2 Cry_Florges:: - .incbin "sound/direct_sound_samples/cries/uncomp_florges.bin" + .incbin "sound/direct_sound_samples/cries/florges.bin" .align 2 Cry_Skiddo:: - .incbin "sound/direct_sound_samples/cries/uncomp_skiddo.bin" + .incbin "sound/direct_sound_samples/cries/skiddo.bin" .align 2 Cry_Gogoat:: - .incbin "sound/direct_sound_samples/cries/uncomp_gogoat.bin" + .incbin "sound/direct_sound_samples/cries/gogoat.bin" .align 2 Cry_Pancham:: - .incbin "sound/direct_sound_samples/cries/uncomp_pancham.bin" + .incbin "sound/direct_sound_samples/cries/pancham.bin" .align 2 Cry_Pangoro:: - .incbin "sound/direct_sound_samples/cries/uncomp_pangoro.bin" + .incbin "sound/direct_sound_samples/cries/pangoro.bin" .align 2 Cry_Furfrou:: - .incbin "sound/direct_sound_samples/cries/uncomp_furfrou.bin" + .incbin "sound/direct_sound_samples/cries/furfrou.bin" .align 2 Cry_Espurr:: - .incbin "sound/direct_sound_samples/cries/uncomp_espurr.bin" + .incbin "sound/direct_sound_samples/cries/espurr.bin" .align 2 Cry_Meowstic:: - .incbin "sound/direct_sound_samples/cries/uncomp_meowstic.bin" + .incbin "sound/direct_sound_samples/cries/meowstic.bin" .align 2 Cry_Honedge:: - .incbin "sound/direct_sound_samples/cries/uncomp_honedge.bin" + .incbin "sound/direct_sound_samples/cries/honedge.bin" .align 2 Cry_Doublade:: - .incbin "sound/direct_sound_samples/cries/uncomp_doublade.bin" + .incbin "sound/direct_sound_samples/cries/doublade.bin" .align 2 Cry_Aegislash:: - .incbin "sound/direct_sound_samples/cries/uncomp_aegislash.bin" + .incbin "sound/direct_sound_samples/cries/aegislash.bin" .align 2 Cry_Spritzee:: - .incbin "sound/direct_sound_samples/cries/uncomp_spritzee.bin" + .incbin "sound/direct_sound_samples/cries/spritzee.bin" .align 2 Cry_Aromatisse:: - .incbin "sound/direct_sound_samples/cries/uncomp_aromatisse.bin" + .incbin "sound/direct_sound_samples/cries/aromatisse.bin" .align 2 Cry_Swirlix:: - .incbin "sound/direct_sound_samples/cries/uncomp_swirlix.bin" + .incbin "sound/direct_sound_samples/cries/swirlix.bin" .align 2 Cry_Slurpuff:: - .incbin "sound/direct_sound_samples/cries/uncomp_slurpuff.bin" + .incbin "sound/direct_sound_samples/cries/slurpuff.bin" .align 2 Cry_Inkay:: - .incbin "sound/direct_sound_samples/cries/uncomp_inkay.bin" + .incbin "sound/direct_sound_samples/cries/inkay.bin" .align 2 Cry_Malamar:: - .incbin "sound/direct_sound_samples/cries/uncomp_malamar.bin" + .incbin "sound/direct_sound_samples/cries/malamar.bin" .align 2 Cry_Binacle:: - .incbin "sound/direct_sound_samples/cries/uncomp_binacle.bin" + .incbin "sound/direct_sound_samples/cries/binacle.bin" .align 2 Cry_Barbaracle:: - .incbin "sound/direct_sound_samples/cries/uncomp_barbaracle.bin" + .incbin "sound/direct_sound_samples/cries/barbaracle.bin" .align 2 Cry_Skrelp:: - .incbin "sound/direct_sound_samples/cries/uncomp_skrelp.bin" + .incbin "sound/direct_sound_samples/cries/skrelp.bin" .align 2 Cry_Dragalge:: - .incbin "sound/direct_sound_samples/cries/uncomp_dragalge.bin" + .incbin "sound/direct_sound_samples/cries/dragalge.bin" .align 2 Cry_Clauncher:: - .incbin "sound/direct_sound_samples/cries/uncomp_clauncher.bin" + .incbin "sound/direct_sound_samples/cries/clauncher.bin" .align 2 Cry_Clawitzer:: - .incbin "sound/direct_sound_samples/cries/uncomp_clawitzer.bin" + .incbin "sound/direct_sound_samples/cries/clawitzer.bin" .align 2 Cry_Helioptile:: - .incbin "sound/direct_sound_samples/cries/uncomp_helioptile.bin" + .incbin "sound/direct_sound_samples/cries/helioptile.bin" .align 2 Cry_Heliolisk:: - .incbin "sound/direct_sound_samples/cries/uncomp_heliolisk.bin" + .incbin "sound/direct_sound_samples/cries/heliolisk.bin" .align 2 Cry_Tyrunt:: - .incbin "sound/direct_sound_samples/cries/uncomp_tyrunt.bin" + .incbin "sound/direct_sound_samples/cries/tyrunt.bin" .align 2 Cry_Tyrantrum:: - .incbin "sound/direct_sound_samples/cries/uncomp_tyrantrum.bin" + .incbin "sound/direct_sound_samples/cries/tyrantrum.bin" .align 2 Cry_Amaura:: - .incbin "sound/direct_sound_samples/cries/uncomp_amaura.bin" + .incbin "sound/direct_sound_samples/cries/amaura.bin" .align 2 Cry_Aurorus:: - .incbin "sound/direct_sound_samples/cries/uncomp_aurorus.bin" + .incbin "sound/direct_sound_samples/cries/aurorus.bin" .align 2 Cry_Sylveon:: - .incbin "sound/direct_sound_samples/cries/uncomp_sylveon.bin" + .incbin "sound/direct_sound_samples/cries/sylveon.bin" .align 2 Cry_Hawlucha:: - .incbin "sound/direct_sound_samples/cries/uncomp_hawlucha.bin" + .incbin "sound/direct_sound_samples/cries/hawlucha.bin" .align 2 Cry_Dedenne:: - .incbin "sound/direct_sound_samples/cries/uncomp_dedenne.bin" + .incbin "sound/direct_sound_samples/cries/dedenne.bin" .align 2 Cry_Carbink:: - .incbin "sound/direct_sound_samples/cries/uncomp_carbink.bin" + .incbin "sound/direct_sound_samples/cries/carbink.bin" .align 2 Cry_Goomy:: - .incbin "sound/direct_sound_samples/cries/uncomp_goomy.bin" + .incbin "sound/direct_sound_samples/cries/goomy.bin" .align 2 Cry_Sliggoo:: - .incbin "sound/direct_sound_samples/cries/uncomp_sliggoo.bin" + .incbin "sound/direct_sound_samples/cries/sliggoo.bin" .align 2 Cry_Goodra:: - .incbin "sound/direct_sound_samples/cries/uncomp_goodra.bin" + .incbin "sound/direct_sound_samples/cries/goodra.bin" .align 2 Cry_Klefki:: @@ -3216,971 +3216,971 @@ Cry_Klefki:: .align 2 Cry_Phantump:: - .incbin "sound/direct_sound_samples/cries/uncomp_phantump.bin" + .incbin "sound/direct_sound_samples/cries/phantump.bin" .align 2 Cry_Trevenant:: - .incbin "sound/direct_sound_samples/cries/uncomp_trevenant.bin" + .incbin "sound/direct_sound_samples/cries/trevenant.bin" .align 2 Cry_Pumpkaboo:: - .incbin "sound/direct_sound_samples/cries/uncomp_pumpkaboo.bin" + .incbin "sound/direct_sound_samples/cries/pumpkaboo.bin" .align 2 Cry_Gourgeist:: - .incbin "sound/direct_sound_samples/cries/uncomp_gourgeist.bin" + .incbin "sound/direct_sound_samples/cries/gourgeist.bin" .align 2 Cry_Bergmite:: - .incbin "sound/direct_sound_samples/cries/uncomp_bergmite.bin" + .incbin "sound/direct_sound_samples/cries/bergmite.bin" .align 2 Cry_Avalugg:: - .incbin "sound/direct_sound_samples/cries/uncomp_avalugg.bin" + .incbin "sound/direct_sound_samples/cries/avalugg.bin" .align 2 Cry_Noibat:: - .incbin "sound/direct_sound_samples/cries/uncomp_noibat.bin" + .incbin "sound/direct_sound_samples/cries/noibat.bin" .align 2 Cry_Noivern:: - .incbin "sound/direct_sound_samples/cries/uncomp_noivern.bin" + .incbin "sound/direct_sound_samples/cries/noivern.bin" .align 2 Cry_Xerneas:: - .incbin "sound/direct_sound_samples/cries/uncomp_xerneas.bin" + .incbin "sound/direct_sound_samples/cries/xerneas.bin" .align 2 Cry_Yveltal:: - .incbin "sound/direct_sound_samples/cries/uncomp_yveltal.bin" + .incbin "sound/direct_sound_samples/cries/yveltal.bin" .align 2 Cry_Zygarde:: - .incbin "sound/direct_sound_samples/cries/uncomp_zygarde.bin" + .incbin "sound/direct_sound_samples/cries/zygarde.bin" .align 2 Cry_Diancie:: - .incbin "sound/direct_sound_samples/cries/uncomp_diancie.bin" + .incbin "sound/direct_sound_samples/cries/diancie.bin" .align 2 Cry_Hoopa:: - .incbin "sound/direct_sound_samples/cries/uncomp_hoopa.bin" + .incbin "sound/direct_sound_samples/cries/hoopa.bin" .align 2 Cry_Volcanion:: - .incbin "sound/direct_sound_samples/cries/uncomp_volcanion.bin" + .incbin "sound/direct_sound_samples/cries/volcanion.bin" .align 2 Cry_Rowlet:: - .incbin "sound/direct_sound_samples/cries/uncomp_rowlet.bin" + .incbin "sound/direct_sound_samples/cries/rowlet.bin" .align 2 Cry_Dartrix:: - .incbin "sound/direct_sound_samples/cries/uncomp_dartrix.bin" + .incbin "sound/direct_sound_samples/cries/dartrix.bin" .align 2 Cry_Decidueye:: - .incbin "sound/direct_sound_samples/cries/uncomp_decidueye.bin" + .incbin "sound/direct_sound_samples/cries/decidueye.bin" .align 2 Cry_Litten:: - .incbin "sound/direct_sound_samples/cries/uncomp_litten.bin" + .incbin "sound/direct_sound_samples/cries/litten.bin" .align 2 Cry_Torracat:: - .incbin "sound/direct_sound_samples/cries/uncomp_torracat.bin" + .incbin "sound/direct_sound_samples/cries/torracat.bin" .align 2 Cry_Incineroar:: - .incbin "sound/direct_sound_samples/cries/uncomp_incineroar.bin" + .incbin "sound/direct_sound_samples/cries/incineroar.bin" .align 2 Cry_Popplio:: - .incbin "sound/direct_sound_samples/cries/uncomp_popplio.bin" + .incbin "sound/direct_sound_samples/cries/popplio.bin" .align 2 Cry_Brionne:: - .incbin "sound/direct_sound_samples/cries/uncomp_brionne.bin" + .incbin "sound/direct_sound_samples/cries/brionne.bin" .align 2 Cry_Primarina:: - .incbin "sound/direct_sound_samples/cries/uncomp_primarina.bin" + .incbin "sound/direct_sound_samples/cries/primarina.bin" .align 2 Cry_Pikipek:: - .incbin "sound/direct_sound_samples/cries/uncomp_pikipek.bin" + .incbin "sound/direct_sound_samples/cries/pikipek.bin" .align 2 Cry_Trumbeak:: - .incbin "sound/direct_sound_samples/cries/uncomp_trumbeak.bin" + .incbin "sound/direct_sound_samples/cries/trumbeak.bin" .align 2 Cry_Toucannon:: - .incbin "sound/direct_sound_samples/cries/uncomp_toucannon.bin" + .incbin "sound/direct_sound_samples/cries/toucannon.bin" .align 2 Cry_Yungoos:: - .incbin "sound/direct_sound_samples/cries/uncomp_yungoos.bin" + .incbin "sound/direct_sound_samples/cries/yungoos.bin" .align 2 Cry_Gumshoos:: - .incbin "sound/direct_sound_samples/cries/uncomp_gumshoos.bin" + .incbin "sound/direct_sound_samples/cries/gumshoos.bin" .align 2 Cry_Grubbin:: - .incbin "sound/direct_sound_samples/cries/uncomp_grubbin.bin" + .incbin "sound/direct_sound_samples/cries/grubbin.bin" .align 2 Cry_Charjabug:: - .incbin "sound/direct_sound_samples/cries/uncomp_charjabug.bin" + .incbin "sound/direct_sound_samples/cries/charjabug.bin" .align 2 Cry_Vikavolt:: - .incbin "sound/direct_sound_samples/cries/uncomp_vikavolt.bin" + .incbin "sound/direct_sound_samples/cries/vikavolt.bin" .align 2 Cry_Crabrawler:: - .incbin "sound/direct_sound_samples/cries/uncomp_crabrawler.bin" + .incbin "sound/direct_sound_samples/cries/crabrawler.bin" .align 2 Cry_Crabominable:: - .incbin "sound/direct_sound_samples/cries/uncomp_crabominable.bin" + .incbin "sound/direct_sound_samples/cries/crabominable.bin" .align 2 Cry_Oricorio:: - .incbin "sound/direct_sound_samples/cries/uncomp_oricorio.bin" + .incbin "sound/direct_sound_samples/cries/oricorio.bin" .align 2 Cry_Cutiefly:: - .incbin "sound/direct_sound_samples/cries/uncomp_cutiefly.bin" + .incbin "sound/direct_sound_samples/cries/cutiefly.bin" .align 2 Cry_Ribombee:: - .incbin "sound/direct_sound_samples/cries/uncomp_ribombee.bin" + .incbin "sound/direct_sound_samples/cries/ribombee.bin" .align 2 Cry_Rockruff:: - .incbin "sound/direct_sound_samples/cries/uncomp_rockruff.bin" + .incbin "sound/direct_sound_samples/cries/rockruff.bin" .align 2 Cry_Lycanroc:: - .incbin "sound/direct_sound_samples/cries/uncomp_lycanroc.bin" + .incbin "sound/direct_sound_samples/cries/lycanroc.bin" .align 2 Cry_Wishiwashi:: - .incbin "sound/direct_sound_samples/cries/uncomp_wishiwashi.bin" + .incbin "sound/direct_sound_samples/cries/wishiwashi.bin" .align 2 Cry_Mareanie:: - .incbin "sound/direct_sound_samples/cries/uncomp_mareanie.bin" + .incbin "sound/direct_sound_samples/cries/mareanie.bin" .align 2 Cry_Toxapex:: - .incbin "sound/direct_sound_samples/cries/uncomp_toxapex.bin" + .incbin "sound/direct_sound_samples/cries/toxapex.bin" .align 2 Cry_Mudbray:: - .incbin "sound/direct_sound_samples/cries/uncomp_mudbray.bin" + .incbin "sound/direct_sound_samples/cries/mudbray.bin" .align 2 Cry_Mudsdale:: - .incbin "sound/direct_sound_samples/cries/uncomp_mudsdale.bin" + .incbin "sound/direct_sound_samples/cries/mudsdale.bin" .align 2 Cry_Dewpider:: - .incbin "sound/direct_sound_samples/cries/uncomp_dewpider.bin" + .incbin "sound/direct_sound_samples/cries/dewpider.bin" .align 2 Cry_Araquanid:: - .incbin "sound/direct_sound_samples/cries/uncomp_araquanid.bin" + .incbin "sound/direct_sound_samples/cries/araquanid.bin" .align 2 Cry_Fomantis:: - .incbin "sound/direct_sound_samples/cries/uncomp_fomantis.bin" + .incbin "sound/direct_sound_samples/cries/fomantis.bin" .align 2 Cry_Lurantis:: - .incbin "sound/direct_sound_samples/cries/uncomp_lurantis.bin" + .incbin "sound/direct_sound_samples/cries/lurantis.bin" .align 2 Cry_Morelull:: - .incbin "sound/direct_sound_samples/cries/uncomp_morelull.bin" + .incbin "sound/direct_sound_samples/cries/morelull.bin" .align 2 Cry_Shiinotic:: - .incbin "sound/direct_sound_samples/cries/uncomp_shiinotic.bin" + .incbin "sound/direct_sound_samples/cries/shiinotic.bin" .align 2 Cry_Salandit:: - .incbin "sound/direct_sound_samples/cries/uncomp_salandit.bin" + .incbin "sound/direct_sound_samples/cries/salandit.bin" .align 2 Cry_Salazzle:: - .incbin "sound/direct_sound_samples/cries/uncomp_salazzle.bin" + .incbin "sound/direct_sound_samples/cries/salazzle.bin" .align 2 Cry_Stufful:: - .incbin "sound/direct_sound_samples/cries/uncomp_stufful.bin" + .incbin "sound/direct_sound_samples/cries/stufful.bin" .align 2 Cry_Bewear:: - .incbin "sound/direct_sound_samples/cries/uncomp_bewear.bin" + .incbin "sound/direct_sound_samples/cries/bewear.bin" .align 2 Cry_Bounsweet:: - .incbin "sound/direct_sound_samples/cries/uncomp_bounsweet.bin" + .incbin "sound/direct_sound_samples/cries/bounsweet.bin" .align 2 Cry_Steenee:: - .incbin "sound/direct_sound_samples/cries/uncomp_steenee.bin" + .incbin "sound/direct_sound_samples/cries/steenee.bin" .align 2 Cry_Tsareena:: - .incbin "sound/direct_sound_samples/cries/uncomp_tsareena.bin" + .incbin "sound/direct_sound_samples/cries/tsareena.bin" .align 2 Cry_Comfey:: - .incbin "sound/direct_sound_samples/cries/uncomp_comfey.bin" + .incbin "sound/direct_sound_samples/cries/comfey.bin" .align 2 Cry_Oranguru:: - .incbin "sound/direct_sound_samples/cries/uncomp_oranguru.bin" + .incbin "sound/direct_sound_samples/cries/oranguru.bin" .align 2 Cry_Passimian:: - .incbin "sound/direct_sound_samples/cries/uncomp_passimian.bin" + .incbin "sound/direct_sound_samples/cries/passimian.bin" .align 2 Cry_Wimpod:: - .incbin "sound/direct_sound_samples/cries/uncomp_wimpod.bin" + .incbin "sound/direct_sound_samples/cries/wimpod.bin" .align 2 Cry_Golisopod:: - .incbin "sound/direct_sound_samples/cries/uncomp_golisopod.bin" + .incbin "sound/direct_sound_samples/cries/golisopod.bin" .align 2 Cry_Sandygast:: - .incbin "sound/direct_sound_samples/cries/uncomp_sandygast.bin" + .incbin "sound/direct_sound_samples/cries/sandygast.bin" .align 2 Cry_Palossand:: - .incbin "sound/direct_sound_samples/cries/uncomp_palossand.bin" + .incbin "sound/direct_sound_samples/cries/palossand.bin" .align 2 Cry_Pyukumuku:: - .incbin "sound/direct_sound_samples/cries/uncomp_pyukumuku.bin" + .incbin "sound/direct_sound_samples/cries/pyukumuku.bin" .align 2 Cry_TypeNull:: - .incbin "sound/direct_sound_samples/cries/uncomp_type_null.bin" + .incbin "sound/direct_sound_samples/cries/type_null.bin" .align 2 Cry_Silvally:: - .incbin "sound/direct_sound_samples/cries/uncomp_silvally.bin" + .incbin "sound/direct_sound_samples/cries/silvally.bin" .align 2 Cry_Minior:: - .incbin "sound/direct_sound_samples/cries/uncomp_minior.bin" + .incbin "sound/direct_sound_samples/cries/minior.bin" .align 2 Cry_Komala:: - .incbin "sound/direct_sound_samples/cries/uncomp_komala.bin" + .incbin "sound/direct_sound_samples/cries/komala.bin" .align 2 Cry_Turtonator:: - .incbin "sound/direct_sound_samples/cries/uncomp_turtonator.bin" + .incbin "sound/direct_sound_samples/cries/turtonator.bin" .align 2 Cry_Togedemaru:: - .incbin "sound/direct_sound_samples/cries/uncomp_togedemaru.bin" + .incbin "sound/direct_sound_samples/cries/togedemaru.bin" .align 2 Cry_Mimikyu:: - .incbin "sound/direct_sound_samples/cries/uncomp_mimikyu.bin" + .incbin "sound/direct_sound_samples/cries/mimikyu.bin" .align 2 Cry_Bruxish:: - .incbin "sound/direct_sound_samples/cries/uncomp_bruxish.bin" + .incbin "sound/direct_sound_samples/cries/bruxish.bin" .align 2 Cry_Drampa:: - .incbin "sound/direct_sound_samples/cries/uncomp_drampa.bin" + .incbin "sound/direct_sound_samples/cries/drampa.bin" .align 2 Cry_Dhelmise:: - .incbin "sound/direct_sound_samples/cries/uncomp_dhelmise.bin" + .incbin "sound/direct_sound_samples/cries/dhelmise.bin" .align 2 Cry_Jangmoo:: - .incbin "sound/direct_sound_samples/cries/uncomp_jangmo_o.bin" + .incbin "sound/direct_sound_samples/cries/jangmo_o.bin" .align 2 Cry_Hakamoo:: - .incbin "sound/direct_sound_samples/cries/uncomp_hakamo_o.bin" + .incbin "sound/direct_sound_samples/cries/hakamo_o.bin" .align 2 Cry_Kommoo:: - .incbin "sound/direct_sound_samples/cries/uncomp_kommo_o.bin" + .incbin "sound/direct_sound_samples/cries/kommo_o.bin" .align 2 Cry_TapuKoko:: - .incbin "sound/direct_sound_samples/cries/uncomp_tapu_koko.bin" + .incbin "sound/direct_sound_samples/cries/tapu_koko.bin" .align 2 Cry_TapuLele:: - .incbin "sound/direct_sound_samples/cries/uncomp_tapu_lele.bin" + .incbin "sound/direct_sound_samples/cries/tapu_lele.bin" .align 2 Cry_TapuBulu:: - .incbin "sound/direct_sound_samples/cries/uncomp_tapu_bulu.bin" + .incbin "sound/direct_sound_samples/cries/tapu_bulu.bin" .align 2 Cry_TapuFini:: - .incbin "sound/direct_sound_samples/cries/uncomp_tapu_fini.bin" + .incbin "sound/direct_sound_samples/cries/tapu_fini.bin" .align 2 Cry_Cosmog:: - .incbin "sound/direct_sound_samples/cries/uncomp_cosmog.bin" + .incbin "sound/direct_sound_samples/cries/cosmog.bin" .align 2 Cry_Cosmoem:: - .incbin "sound/direct_sound_samples/cries/uncomp_cosmoem.bin" + .incbin "sound/direct_sound_samples/cries/cosmoem.bin" .align 2 Cry_Solgaleo:: - .incbin "sound/direct_sound_samples/cries/uncomp_solgaleo.bin" + .incbin "sound/direct_sound_samples/cries/solgaleo.bin" .align 2 Cry_Lunala:: - .incbin "sound/direct_sound_samples/cries/uncomp_lunala.bin" + .incbin "sound/direct_sound_samples/cries/lunala.bin" .align 2 Cry_Nihilego:: - .incbin "sound/direct_sound_samples/cries/uncomp_nihilego.bin" + .incbin "sound/direct_sound_samples/cries/nihilego.bin" .align 2 Cry_Buzzwole:: - .incbin "sound/direct_sound_samples/cries/uncomp_buzzwole.bin" + .incbin "sound/direct_sound_samples/cries/buzzwole.bin" .align 2 Cry_Pheromosa:: - .incbin "sound/direct_sound_samples/cries/uncomp_pheromosa.bin" + .incbin "sound/direct_sound_samples/cries/pheromosa.bin" .align 2 Cry_Xurkitree:: - .incbin "sound/direct_sound_samples/cries/uncomp_xurkitree.bin" + .incbin "sound/direct_sound_samples/cries/xurkitree.bin" .align 2 Cry_Celesteela:: - .incbin "sound/direct_sound_samples/cries/uncomp_celesteela.bin" + .incbin "sound/direct_sound_samples/cries/celesteela.bin" .align 2 Cry_Kartana:: - .incbin "sound/direct_sound_samples/cries/uncomp_kartana.bin" + .incbin "sound/direct_sound_samples/cries/kartana.bin" .align 2 Cry_Guzzlord:: - .incbin "sound/direct_sound_samples/cries/uncomp_guzzlord.bin" + .incbin "sound/direct_sound_samples/cries/guzzlord.bin" .align 2 Cry_Necrozma:: - .incbin "sound/direct_sound_samples/cries/uncomp_necrozma.bin" + .incbin "sound/direct_sound_samples/cries/necrozma.bin" .align 2 Cry_Magearna:: - .incbin "sound/direct_sound_samples/cries/uncomp_magearna.bin" + .incbin "sound/direct_sound_samples/cries/magearna.bin" .align 2 Cry_Marshadow:: - .incbin "sound/direct_sound_samples/cries/uncomp_marshadow.bin" + .incbin "sound/direct_sound_samples/cries/marshadow.bin" .align 2 Cry_Poipole:: - .incbin "sound/direct_sound_samples/cries/uncomp_poipole.bin" + .incbin "sound/direct_sound_samples/cries/poipole.bin" .align 2 Cry_Naganadel:: - .incbin "sound/direct_sound_samples/cries/uncomp_naganadel.bin" + .incbin "sound/direct_sound_samples/cries/naganadel.bin" .align 2 Cry_Stakataka:: - .incbin "sound/direct_sound_samples/cries/uncomp_stakataka.bin" + .incbin "sound/direct_sound_samples/cries/stakataka.bin" .align 2 Cry_Blacephalon:: - .incbin "sound/direct_sound_samples/cries/uncomp_blacephalon.bin" + .incbin "sound/direct_sound_samples/cries/blacephalon.bin" .align 2 Cry_Zeraora:: - .incbin "sound/direct_sound_samples/cries/uncomp_zeraora.bin" + .incbin "sound/direct_sound_samples/cries/zeraora.bin" .align 2 Cry_Meltan:: - .incbin "sound/direct_sound_samples/cries/uncomp_meltan.bin" + .incbin "sound/direct_sound_samples/cries/meltan.bin" .align 2 Cry_Melmetal:: - .incbin "sound/direct_sound_samples/cries/uncomp_melmetal.bin" + .incbin "sound/direct_sound_samples/cries/melmetal.bin" .align 2 Cry_Grookey:: - .incbin "sound/direct_sound_samples/cries/uncomp_grookey.bin" + .incbin "sound/direct_sound_samples/cries/grookey.bin" .align 2 Cry_Thwackey:: - .incbin "sound/direct_sound_samples/cries/uncomp_thwackey.bin" + .incbin "sound/direct_sound_samples/cries/thwackey.bin" .align 2 Cry_Rillaboom:: - .incbin "sound/direct_sound_samples/cries/uncomp_rillaboom.bin" + .incbin "sound/direct_sound_samples/cries/rillaboom.bin" .align 2 Cry_Scorbunny:: - .incbin "sound/direct_sound_samples/cries/uncomp_scorbunny.bin" + .incbin "sound/direct_sound_samples/cries/scorbunny.bin" .align 2 Cry_Raboot:: - .incbin "sound/direct_sound_samples/cries/uncomp_raboot.bin" + .incbin "sound/direct_sound_samples/cries/raboot.bin" .align 2 Cry_Cinderace:: - .incbin "sound/direct_sound_samples/cries/uncomp_cinderace.bin" + .incbin "sound/direct_sound_samples/cries/cinderace.bin" .align 2 Cry_Sobble:: - .incbin "sound/direct_sound_samples/cries/uncomp_sobble.bin" + .incbin "sound/direct_sound_samples/cries/sobble.bin" .align 2 Cry_Drizzile:: - .incbin "sound/direct_sound_samples/cries/uncomp_drizzile.bin" + .incbin "sound/direct_sound_samples/cries/drizzile.bin" .align 2 Cry_Inteleon:: - .incbin "sound/direct_sound_samples/cries/uncomp_inteleon.bin" + .incbin "sound/direct_sound_samples/cries/inteleon.bin" .align 2 Cry_Skwovet:: - .incbin "sound/direct_sound_samples/cries/uncomp_skwovet.bin" + .incbin "sound/direct_sound_samples/cries/skwovet.bin" .align 2 Cry_Greedent:: - .incbin "sound/direct_sound_samples/cries/uncomp_greedent.bin" + .incbin "sound/direct_sound_samples/cries/greedent.bin" .align 2 Cry_Rookidee:: - .incbin "sound/direct_sound_samples/cries/uncomp_rookidee.bin" + .incbin "sound/direct_sound_samples/cries/rookidee.bin" .align 2 Cry_Corvisquire:: - .incbin "sound/direct_sound_samples/cries/uncomp_corvisquire.bin" + .incbin "sound/direct_sound_samples/cries/corvisquire.bin" .align 2 Cry_Corviknight:: - .incbin "sound/direct_sound_samples/cries/uncomp_corviknight.bin" + .incbin "sound/direct_sound_samples/cries/corviknight.bin" .align 2 Cry_Blipbug:: - .incbin "sound/direct_sound_samples/cries/uncomp_blipbug.bin" + .incbin "sound/direct_sound_samples/cries/blipbug.bin" .align 2 Cry_Dottler:: - .incbin "sound/direct_sound_samples/cries/uncomp_dottler.bin" + .incbin "sound/direct_sound_samples/cries/dottler.bin" .align 2 Cry_Orbeetle:: - .incbin "sound/direct_sound_samples/cries/uncomp_orbeetle.bin" + .incbin "sound/direct_sound_samples/cries/orbeetle.bin" .align 2 Cry_Nickit:: - .incbin "sound/direct_sound_samples/cries/uncomp_nickit.bin" + .incbin "sound/direct_sound_samples/cries/nickit.bin" .align 2 Cry_Thievul:: - .incbin "sound/direct_sound_samples/cries/uncomp_thievul.bin" + .incbin "sound/direct_sound_samples/cries/thievul.bin" .align 2 Cry_Gossifleur:: - .incbin "sound/direct_sound_samples/cries/uncomp_gossifleur.bin" + .incbin "sound/direct_sound_samples/cries/gossifleur.bin" .align 2 Cry_Eldegoss:: - .incbin "sound/direct_sound_samples/cries/uncomp_eldegoss.bin" + .incbin "sound/direct_sound_samples/cries/eldegoss.bin" .align 2 Cry_Wooloo:: - .incbin "sound/direct_sound_samples/cries/uncomp_wooloo.bin" + .incbin "sound/direct_sound_samples/cries/wooloo.bin" .align 2 Cry_Dubwool:: - .incbin "sound/direct_sound_samples/cries/uncomp_dubwool.bin" + .incbin "sound/direct_sound_samples/cries/dubwool.bin" .align 2 Cry_Chewtle:: - .incbin "sound/direct_sound_samples/cries/uncomp_chewtle.bin" + .incbin "sound/direct_sound_samples/cries/chewtle.bin" .align 2 Cry_Drednaw:: - .incbin "sound/direct_sound_samples/cries/uncomp_drednaw.bin" + .incbin "sound/direct_sound_samples/cries/drednaw.bin" .align 2 Cry_Yamper:: - .incbin "sound/direct_sound_samples/cries/uncomp_yamper.bin" + .incbin "sound/direct_sound_samples/cries/yamper.bin" .align 2 Cry_Boltund:: - .incbin "sound/direct_sound_samples/cries/uncomp_boltund.bin" + .incbin "sound/direct_sound_samples/cries/boltund.bin" .align 2 Cry_Rolycoly:: - .incbin "sound/direct_sound_samples/cries/uncomp_rolycoly.bin" + .incbin "sound/direct_sound_samples/cries/rolycoly.bin" .align 2 Cry_Carkol:: - .incbin "sound/direct_sound_samples/cries/uncomp_carkol.bin" + .incbin "sound/direct_sound_samples/cries/carkol.bin" .align 2 Cry_Coalossal:: - .incbin "sound/direct_sound_samples/cries/uncomp_coalossal.bin" + .incbin "sound/direct_sound_samples/cries/coalossal.bin" .align 2 Cry_Applin:: - .incbin "sound/direct_sound_samples/cries/uncomp_applin.bin" + .incbin "sound/direct_sound_samples/cries/applin.bin" .align 2 Cry_Flapple:: - .incbin "sound/direct_sound_samples/cries/uncomp_flapple.bin" + .incbin "sound/direct_sound_samples/cries/flapple.bin" .align 2 Cry_Appletun:: - .incbin "sound/direct_sound_samples/cries/uncomp_appletun.bin" + .incbin "sound/direct_sound_samples/cries/appletun.bin" .align 2 Cry_Silicobra:: - .incbin "sound/direct_sound_samples/cries/uncomp_silicobra.bin" + .incbin "sound/direct_sound_samples/cries/silicobra.bin" .align 2 Cry_Sandaconda:: - .incbin "sound/direct_sound_samples/cries/uncomp_sandaconda.bin" + .incbin "sound/direct_sound_samples/cries/sandaconda.bin" .align 2 Cry_Cramorant:: - .incbin "sound/direct_sound_samples/cries/uncomp_cramorant.bin" + .incbin "sound/direct_sound_samples/cries/cramorant.bin" .align 2 Cry_Arrokuda:: - .incbin "sound/direct_sound_samples/cries/uncomp_arrokuda.bin" + .incbin "sound/direct_sound_samples/cries/arrokuda.bin" .align 2 Cry_Barraskewda:: - .incbin "sound/direct_sound_samples/cries/uncomp_barraskewda.bin" + .incbin "sound/direct_sound_samples/cries/barraskewda.bin" .align 2 Cry_Toxel:: - .incbin "sound/direct_sound_samples/cries/uncomp_toxel.bin" + .incbin "sound/direct_sound_samples/cries/toxel.bin" .align 2 Cry_Toxtricity:: - .incbin "sound/direct_sound_samples/cries/uncomp_toxtricity.bin" + .incbin "sound/direct_sound_samples/cries/toxtricity.bin" .align 2 Cry_Sizzlipede:: - .incbin "sound/direct_sound_samples/cries/uncomp_sizzlipede.bin" + .incbin "sound/direct_sound_samples/cries/sizzlipede.bin" .align 2 Cry_Centiskorch:: - .incbin "sound/direct_sound_samples/cries/uncomp_centiskorch.bin" + .incbin "sound/direct_sound_samples/cries/centiskorch.bin" .align 2 Cry_Clobbopus:: - .incbin "sound/direct_sound_samples/cries/uncomp_clobbopus.bin" + .incbin "sound/direct_sound_samples/cries/clobbopus.bin" .align 2 Cry_Grapploct:: - .incbin "sound/direct_sound_samples/cries/uncomp_grapploct.bin" + .incbin "sound/direct_sound_samples/cries/grapploct.bin" .align 2 Cry_Sinistea:: - .incbin "sound/direct_sound_samples/cries/uncomp_sinistea.bin" + .incbin "sound/direct_sound_samples/cries/sinistea.bin" .align 2 Cry_Polteageist:: - .incbin "sound/direct_sound_samples/cries/uncomp_polteageist.bin" + .incbin "sound/direct_sound_samples/cries/polteageist.bin" .align 2 Cry_Hatenna:: - .incbin "sound/direct_sound_samples/cries/uncomp_hatenna.bin" + .incbin "sound/direct_sound_samples/cries/hatenna.bin" .align 2 Cry_Hattrem:: - .incbin "sound/direct_sound_samples/cries/uncomp_hattrem.bin" + .incbin "sound/direct_sound_samples/cries/hattrem.bin" .align 2 Cry_Hatterene:: - .incbin "sound/direct_sound_samples/cries/uncomp_hatterene.bin" + .incbin "sound/direct_sound_samples/cries/hatterene.bin" .align 2 Cry_Impidimp:: - .incbin "sound/direct_sound_samples/cries/uncomp_impidimp.bin" + .incbin "sound/direct_sound_samples/cries/impidimp.bin" .align 2 Cry_Morgrem:: - .incbin "sound/direct_sound_samples/cries/uncomp_morgrem.bin" + .incbin "sound/direct_sound_samples/cries/morgrem.bin" .align 2 Cry_Grimmsnarl:: - .incbin "sound/direct_sound_samples/cries/uncomp_grimmsnarl.bin" + .incbin "sound/direct_sound_samples/cries/grimmsnarl.bin" .align 2 Cry_Obstagoon:: - .incbin "sound/direct_sound_samples/cries/uncomp_obstagoon.bin" + .incbin "sound/direct_sound_samples/cries/obstagoon.bin" .align 2 Cry_Perrserker:: - .incbin "sound/direct_sound_samples/cries/uncomp_perrserker.bin" + .incbin "sound/direct_sound_samples/cries/perrserker.bin" .align 2 Cry_Cursola:: - .incbin "sound/direct_sound_samples/cries/uncomp_cursola.bin" + .incbin "sound/direct_sound_samples/cries/cursola.bin" .align 2 Cry_Sirfetchd:: - .incbin "sound/direct_sound_samples/cries/uncomp_sirfetchd.bin" + .incbin "sound/direct_sound_samples/cries/sirfetchd.bin" .align 2 Cry_MrRime:: - .incbin "sound/direct_sound_samples/cries/uncomp_mr_rime.bin" + .incbin "sound/direct_sound_samples/cries/mr_rime.bin" .align 2 Cry_Runerigus:: - .incbin "sound/direct_sound_samples/cries/uncomp_runerigus.bin" + .incbin "sound/direct_sound_samples/cries/runerigus.bin" .align 2 Cry_Milcery:: - .incbin "sound/direct_sound_samples/cries/uncomp_milcery.bin" + .incbin "sound/direct_sound_samples/cries/milcery.bin" .align 2 Cry_Alcremie:: - .incbin "sound/direct_sound_samples/cries/uncomp_alcremie.bin" + .incbin "sound/direct_sound_samples/cries/alcremie.bin" .align 2 Cry_Falinks:: - .incbin "sound/direct_sound_samples/cries/uncomp_falinks.bin" + .incbin "sound/direct_sound_samples/cries/falinks.bin" .align 2 Cry_Pincurchin:: - .incbin "sound/direct_sound_samples/cries/uncomp_pincurchin.bin" + .incbin "sound/direct_sound_samples/cries/pincurchin.bin" .align 2 Cry_Snom:: - .incbin "sound/direct_sound_samples/cries/uncomp_snom.bin" + .incbin "sound/direct_sound_samples/cries/snom.bin" .align 2 Cry_Frosmoth:: - .incbin "sound/direct_sound_samples/cries/uncomp_frosmoth.bin" + .incbin "sound/direct_sound_samples/cries/frosmoth.bin" .align 2 Cry_Stonjourner:: - .incbin "sound/direct_sound_samples/cries/uncomp_stonjourner.bin" + .incbin "sound/direct_sound_samples/cries/stonjourner.bin" .align 2 Cry_Eiscue:: - .incbin "sound/direct_sound_samples/cries/uncomp_eiscue.bin" + .incbin "sound/direct_sound_samples/cries/eiscue.bin" .align 2 Cry_Indeedee:: - .incbin "sound/direct_sound_samples/cries/uncomp_indeedee.bin" + .incbin "sound/direct_sound_samples/cries/indeedee.bin" .align 2 Cry_Morpeko:: - .incbin "sound/direct_sound_samples/cries/uncomp_morpeko.bin" + .incbin "sound/direct_sound_samples/cries/morpeko.bin" .align 2 Cry_Cufant:: - .incbin "sound/direct_sound_samples/cries/uncomp_cufant.bin" + .incbin "sound/direct_sound_samples/cries/cufant.bin" .align 2 Cry_Copperajah:: - .incbin "sound/direct_sound_samples/cries/uncomp_copperajah.bin" + .incbin "sound/direct_sound_samples/cries/copperajah.bin" .align 2 Cry_Dracozolt:: - .incbin "sound/direct_sound_samples/cries/uncomp_dracozolt.bin" + .incbin "sound/direct_sound_samples/cries/dracozolt.bin" .align 2 Cry_Arctozolt:: - .incbin "sound/direct_sound_samples/cries/uncomp_arctozolt.bin" + .incbin "sound/direct_sound_samples/cries/arctozolt.bin" .align 2 Cry_Dracovish:: - .incbin "sound/direct_sound_samples/cries/uncomp_dracovish.bin" + .incbin "sound/direct_sound_samples/cries/dracovish.bin" .align 2 Cry_Arctovish:: - .incbin "sound/direct_sound_samples/cries/uncomp_arctovish.bin" + .incbin "sound/direct_sound_samples/cries/arctovish.bin" .align 2 Cry_Duraludon:: - .incbin "sound/direct_sound_samples/cries/uncomp_duraludon.bin" + .incbin "sound/direct_sound_samples/cries/duraludon.bin" .align 2 Cry_Dreepy:: - .incbin "sound/direct_sound_samples/cries/uncomp_dreepy.bin" + .incbin "sound/direct_sound_samples/cries/dreepy.bin" .align 2 Cry_Drakloak:: - .incbin "sound/direct_sound_samples/cries/uncomp_drakloak.bin" + .incbin "sound/direct_sound_samples/cries/drakloak.bin" .align 2 Cry_Dragapult:: - .incbin "sound/direct_sound_samples/cries/uncomp_dragapult.bin" + .incbin "sound/direct_sound_samples/cries/dragapult.bin" .align 2 Cry_Zacian:: - .incbin "sound/direct_sound_samples/cries/uncomp_zacian.bin" + .incbin "sound/direct_sound_samples/cries/zacian.bin" .align 2 Cry_Zamazenta:: - .incbin "sound/direct_sound_samples/cries/uncomp_zamazenta.bin" + .incbin "sound/direct_sound_samples/cries/zamazenta.bin" .align 2 Cry_Eternatus:: - .incbin "sound/direct_sound_samples/cries/uncomp_eternatus.bin" + .incbin "sound/direct_sound_samples/cries/eternatus.bin" .align 2 Cry_Kubfu:: - .incbin "sound/direct_sound_samples/cries/uncomp_kubfu.bin" + .incbin "sound/direct_sound_samples/cries/kubfu.bin" .align 2 Cry_Urshifu:: - .incbin "sound/direct_sound_samples/cries/uncomp_urshifu.bin" + .incbin "sound/direct_sound_samples/cries/urshifu.bin" .align 2 Cry_Zarude:: - .incbin "sound/direct_sound_samples/cries/uncomp_zarude.bin" + .incbin "sound/direct_sound_samples/cries/zarude.bin" .align 2 Cry_Regieleki:: - .incbin "sound/direct_sound_samples/cries/uncomp_regieleki.bin" + .incbin "sound/direct_sound_samples/cries/regieleki.bin" .align 2 Cry_Regidrago:: - .incbin "sound/direct_sound_samples/cries/uncomp_regidrago.bin" + .incbin "sound/direct_sound_samples/cries/regidrago.bin" .align 2 Cry_Glastrier:: - .incbin "sound/direct_sound_samples/cries/uncomp_glastrier.bin" + .incbin "sound/direct_sound_samples/cries/glastrier.bin" .align 2 Cry_Spectrier:: - .incbin "sound/direct_sound_samples/cries/uncomp_spectrier.bin" + .incbin "sound/direct_sound_samples/cries/spectrier.bin" .align 2 Cry_Calyrex:: - .incbin "sound/direct_sound_samples/cries/uncomp_calyrex.bin" + .incbin "sound/direct_sound_samples/cries/calyrex.bin" .align 2 Cry_VenusaurMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_venusaur.bin" + .incbin "sound/direct_sound_samples/cries/mega_venusaur.bin" .align 2 Cry_CharizardMegaX:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_charizard_x.bin" + .incbin "sound/direct_sound_samples/cries/mega_charizard_x.bin" .align 2 Cry_CharizardMegaY:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_charizard_y.bin" + .incbin "sound/direct_sound_samples/cries/mega_charizard_y.bin" .align 2 Cry_BlastoiseMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_blastoise.bin" + .incbin "sound/direct_sound_samples/cries/mega_blastoise.bin" .align 2 Cry_BeedrillMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_beedrill.bin" + .incbin "sound/direct_sound_samples/cries/mega_beedrill.bin" .align 2 Cry_PidgeotMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_pidgeot.bin" + .incbin "sound/direct_sound_samples/cries/mega_pidgeot.bin" .align 2 Cry_AlakazamMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_alakazam.bin" + .incbin "sound/direct_sound_samples/cries/mega_alakazam.bin" .align 2 Cry_SlowbroMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_slowbro.bin" + .incbin "sound/direct_sound_samples/cries/mega_slowbro.bin" .align 2 Cry_GengarMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_gengar.bin" + .incbin "sound/direct_sound_samples/cries/mega_gengar.bin" .align 2 Cry_KangaskhanMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_kangaskhan.bin" + .incbin "sound/direct_sound_samples/cries/mega_kangaskhan.bin" .align 2 Cry_PinsirMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_pinsir.bin" + .incbin "sound/direct_sound_samples/cries/mega_pinsir.bin" .align 2 Cry_GyaradosMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_gyarados.bin" + .incbin "sound/direct_sound_samples/cries/mega_gyarados.bin" .align 2 Cry_AerodactylMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_aerodactyl.bin" + .incbin "sound/direct_sound_samples/cries/mega_aerodactyl.bin" .align 2 Cry_MewtwoMegaX:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_mewtwo_x.bin" + .incbin "sound/direct_sound_samples/cries/mega_mewtwo_x.bin" .align 2 Cry_MewtwoMegaY:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_mewtwo_y.bin" + .incbin "sound/direct_sound_samples/cries/mega_mewtwo_y.bin" .align 2 Cry_AmpharosMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_ampharos.bin" + .incbin "sound/direct_sound_samples/cries/mega_ampharos.bin" .align 2 Cry_SteelixMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_steelix.bin" + .incbin "sound/direct_sound_samples/cries/mega_steelix.bin" .align 2 Cry_ScizorMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_scizor.bin" + .incbin "sound/direct_sound_samples/cries/mega_scizor.bin" .align 2 Cry_HeracrossMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_heracross.bin" + .incbin "sound/direct_sound_samples/cries/mega_heracross.bin" .align 2 Cry_HoundoomMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_houndoom.bin" + .incbin "sound/direct_sound_samples/cries/mega_houndoom.bin" .align 2 Cry_TyranitarMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_tyranitar.bin" + .incbin "sound/direct_sound_samples/cries/mega_tyranitar.bin" .align 2 Cry_SceptileMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_sceptile.bin" + .incbin "sound/direct_sound_samples/cries/mega_sceptile.bin" .align 2 Cry_BlazikenMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_blaziken.bin" + .incbin "sound/direct_sound_samples/cries/mega_blaziken.bin" .align 2 Cry_SwampertMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_swampert.bin" + .incbin "sound/direct_sound_samples/cries/mega_swampert.bin" .align 2 Cry_GardevoirMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_gardevoir.bin" + .incbin "sound/direct_sound_samples/cries/mega_gardevoir.bin" .align 2 Cry_SableyeMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_sableye.bin" + .incbin "sound/direct_sound_samples/cries/mega_sableye.bin" .align 2 Cry_MawileMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_mawile.bin" + .incbin "sound/direct_sound_samples/cries/mega_mawile.bin" .align 2 Cry_AggronMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_aggron.bin" + .incbin "sound/direct_sound_samples/cries/mega_aggron.bin" .align 2 Cry_MedichamMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_medicham.bin" + .incbin "sound/direct_sound_samples/cries/mega_medicham.bin" .align 2 Cry_ManectricMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_manectric.bin" + .incbin "sound/direct_sound_samples/cries/mega_manectric.bin" .align 2 Cry_SharpedoMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_sharpedo.bin" + .incbin "sound/direct_sound_samples/cries/mega_sharpedo.bin" .align 2 Cry_CameruptMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_camerupt.bin" + .incbin "sound/direct_sound_samples/cries/mega_camerupt.bin" .align 2 Cry_AltariaMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_altaria.bin" + .incbin "sound/direct_sound_samples/cries/mega_altaria.bin" .align 2 Cry_BanetteMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_banette.bin" + .incbin "sound/direct_sound_samples/cries/mega_banette.bin" .align 2 Cry_AbsolMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_absol.bin" + .incbin "sound/direct_sound_samples/cries/mega_absol.bin" .align 2 Cry_GlalieMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_glalie.bin" + .incbin "sound/direct_sound_samples/cries/mega_glalie.bin" .align 2 Cry_SalamenceMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_salamence.bin" + .incbin "sound/direct_sound_samples/cries/mega_salamence.bin" .align 2 Cry_MetagrossMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_metagross.bin" + .incbin "sound/direct_sound_samples/cries/mega_metagross.bin" .align 2 Cry_LatiasMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_latias.bin" + .incbin "sound/direct_sound_samples/cries/mega_latias.bin" .align 2 Cry_LatiosMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_latios.bin" + .incbin "sound/direct_sound_samples/cries/mega_latios.bin" .align 2 Cry_LopunnyMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_lopunny.bin" + .incbin "sound/direct_sound_samples/cries/mega_lopunny.bin" .align 2 Cry_GarchompMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_garchomp.bin" + .incbin "sound/direct_sound_samples/cries/mega_garchomp.bin" .align 2 Cry_LucarioMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_lucario.bin" + .incbin "sound/direct_sound_samples/cries/mega_lucario.bin" .align 2 Cry_AbomasnowMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_abomasnow.bin" + .incbin "sound/direct_sound_samples/cries/mega_abomasnow.bin" .align 2 Cry_GalladeMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_gallade.bin" + .incbin "sound/direct_sound_samples/cries/mega_gallade.bin" .align 2 Cry_AudinoMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_audino.bin" + .incbin "sound/direct_sound_samples/cries/mega_audino.bin" .align 2 Cry_DiancieMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_diancie.bin" + .incbin "sound/direct_sound_samples/cries/mega_diancie.bin" .align 2 Cry_RayquazaMega:: - .incbin "sound/direct_sound_samples/cries/uncomp_mega_rayquaza.bin" + .incbin "sound/direct_sound_samples/cries/mega_rayquaza.bin" .align 2 Cry_KyogrePrimal:: - .incbin "sound/direct_sound_samples/cries/uncomp_primal_kyogre.bin" + .incbin "sound/direct_sound_samples/cries/primal_kyogre.bin" .align 2 Cry_GroudonPrimal:: - .incbin "sound/direct_sound_samples/cries/uncomp_primal_groudon.bin" + .incbin "sound/direct_sound_samples/cries/primal_groudon.bin" .align 2 Cry_SlowpokeGalarian:: - .incbin "sound/direct_sound_samples/cries/uncomp_slowpoke_galarian.bin" + .incbin "sound/direct_sound_samples/cries/slowpoke_galarian.bin" .align 2 Cry_ShayminSky:: @@ -4208,103 +4208,103 @@ Cry_KyuremBlack:: .align 2 Cry_FloetteEternalFlower:: - .incbin "sound/direct_sound_samples/cries/uncomp_floette_eternal_flower.bin" + .incbin "sound/direct_sound_samples/cries/floette_eternal_flower.bin" .align 2 Cry_PumpkabooSuper:: - .incbin "sound/direct_sound_samples/cries/uncomp_pumpkaboo_super.bin" + .incbin "sound/direct_sound_samples/cries/pumpkaboo_super.bin" .align 2 Cry_GourgeistSuper:: - .incbin "sound/direct_sound_samples/cries/uncomp_gourgeist_super.bin" + .incbin "sound/direct_sound_samples/cries/gourgeist_super.bin" .align 2 Cry_Zygarde10:: - .incbin "sound/direct_sound_samples/cries/uncomp_zygarde_10.bin" + .incbin "sound/direct_sound_samples/cries/zygarde_10.bin" .align 2 Cry_ZygardeComplete:: - .incbin "sound/direct_sound_samples/cries/uncomp_zygarde_complete.bin" + .incbin "sound/direct_sound_samples/cries/zygarde_complete.bin" .align 2 Cry_HoopaUnbound:: - .incbin "sound/direct_sound_samples/cries/uncomp_hoopa_unbound.bin" + .incbin "sound/direct_sound_samples/cries/hoopa_unbound.bin" .align 2 Cry_OricorioPomPom:: - .incbin "sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.bin" + .incbin "sound/direct_sound_samples/cries/oricorio_pom_pom.bin" .align 2 Cry_OricorioPau:: - .incbin "sound/direct_sound_samples/cries/uncomp_oricorio_pau.bin" + .incbin "sound/direct_sound_samples/cries/oricorio_pau.bin" .align 2 Cry_OricorioSensu:: - .incbin "sound/direct_sound_samples/cries/uncomp_oricorio_sensu.bin" + .incbin "sound/direct_sound_samples/cries/oricorio_sensu.bin" .align 2 Cry_LycanrocMidnight:: - .incbin "sound/direct_sound_samples/cries/uncomp_lycanroc_midnight.bin" + .incbin "sound/direct_sound_samples/cries/lycanroc_midnight.bin" .align 2 Cry_LycanrocDusk:: - .incbin "sound/direct_sound_samples/cries/uncomp_lycanroc_dusk.bin" + .incbin "sound/direct_sound_samples/cries/lycanroc_dusk.bin" .align 2 Cry_WishiwashiSchool:: - .incbin "sound/direct_sound_samples/cries/uncomp_wishiwashi_school.bin" + .incbin "sound/direct_sound_samples/cries/wishiwashi_school.bin" .align 2 Cry_NecrozmaDuskMane:: - .incbin "sound/direct_sound_samples/cries/uncomp_necrozma_dusk_mane.bin" + .incbin "sound/direct_sound_samples/cries/necrozma_dusk_mane.bin" .align 2 Cry_NecrozmaDawnWings:: - .incbin "sound/direct_sound_samples/cries/uncomp_necrozma_dawn_wings.bin" + .incbin "sound/direct_sound_samples/cries/necrozma_dawn_wings.bin" .align 2 Cry_NecrozmaUltra:: - .incbin "sound/direct_sound_samples/cries/uncomp_necrozma_ultra.bin" + .incbin "sound/direct_sound_samples/cries/necrozma_ultra.bin" .align 2 Cry_ToxtricityLowKey:: - .incbin "sound/direct_sound_samples/cries/uncomp_toxtricity_low_key.bin" + .incbin "sound/direct_sound_samples/cries/toxtricity_low_key.bin" .align 2 Cry_EiscueNoiceFace:: - .incbin "sound/direct_sound_samples/cries/uncomp_eiscue_noice_face.bin" + .incbin "sound/direct_sound_samples/cries/eiscue_noice_face.bin" .align 2 Cry_IndeedeeFemale:: - .incbin "sound/direct_sound_samples/cries/uncomp_indeedee_female.bin" + .incbin "sound/direct_sound_samples/cries/indeedee_female.bin" .align 2 Cry_MorpekoHangry:: - .incbin "sound/direct_sound_samples/cries/uncomp_morpeko_hangry.bin" + .incbin "sound/direct_sound_samples/cries/morpeko_hangry.bin" .align 2 Cry_ZacianCrownedSword:: - .incbin "sound/direct_sound_samples/cries/uncomp_zacian_crowned_sword.bin" + .incbin "sound/direct_sound_samples/cries/zacian_crowned_sword.bin" .align 2 Cry_ZamazentaCrownedShield:: - .incbin "sound/direct_sound_samples/cries/uncomp_zamazenta_crowned_shield.bin" + .incbin "sound/direct_sound_samples/cries/zamazenta_crowned_shield.bin" .align 2 Cry_EternatusEternamax:: - .incbin "sound/direct_sound_samples/cries/uncomp_eternatus_eternamax.bin" + .incbin "sound/direct_sound_samples/cries/eternatus_eternamax.bin" .align 2 Cry_UrshifuRapidStrikeStyle:: - .incbin "sound/direct_sound_samples/cries/uncomp_urshifu_rapid_strike_style.bin" + .incbin "sound/direct_sound_samples/cries/urshifu_rapid_strike_style.bin" .align 2 Cry_CalyrexIceRider:: - .incbin "sound/direct_sound_samples/cries/uncomp_calyrex_ice_rider.bin" + .incbin "sound/direct_sound_samples/cries/calyrex_ice_rider.bin" .align 2 Cry_CalyrexShadowRider:: - .incbin "sound/direct_sound_samples/cries/uncomp_calyrex_shadow_rider.bin" + .incbin "sound/direct_sound_samples/cries/calyrex_shadow_rider.bin" .align 2 DirectSoundWaveData_register_noise:: diff --git a/sound/direct_sound_samples/cries/uncomp_aegislash.aif b/sound/direct_sound_samples/cries/aegislash.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_aegislash.aif rename to sound/direct_sound_samples/cries/aegislash.aif diff --git a/sound/direct_sound_samples/cries/uncomp_alcremie.aif b/sound/direct_sound_samples/cries/alcremie.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_alcremie.aif rename to sound/direct_sound_samples/cries/alcremie.aif diff --git a/sound/direct_sound_samples/cries/uncomp_amaura.aif b/sound/direct_sound_samples/cries/amaura.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_amaura.aif rename to sound/direct_sound_samples/cries/amaura.aif diff --git a/sound/direct_sound_samples/cries/uncomp_appletun.aif b/sound/direct_sound_samples/cries/appletun.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_appletun.aif rename to sound/direct_sound_samples/cries/appletun.aif diff --git a/sound/direct_sound_samples/cries/uncomp_applin.aif b/sound/direct_sound_samples/cries/applin.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_applin.aif rename to sound/direct_sound_samples/cries/applin.aif diff --git a/sound/direct_sound_samples/cries/uncomp_araquanid.aif b/sound/direct_sound_samples/cries/araquanid.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_araquanid.aif rename to sound/direct_sound_samples/cries/araquanid.aif diff --git a/sound/direct_sound_samples/cries/uncomp_arctovish.aif b/sound/direct_sound_samples/cries/arctovish.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_arctovish.aif rename to sound/direct_sound_samples/cries/arctovish.aif diff --git a/sound/direct_sound_samples/cries/uncomp_arctozolt.aif b/sound/direct_sound_samples/cries/arctozolt.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_arctozolt.aif rename to sound/direct_sound_samples/cries/arctozolt.aif diff --git a/sound/direct_sound_samples/cries/uncomp_aromatisse.aif b/sound/direct_sound_samples/cries/aromatisse.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_aromatisse.aif rename to sound/direct_sound_samples/cries/aromatisse.aif diff --git a/sound/direct_sound_samples/cries/uncomp_arrokuda.aif b/sound/direct_sound_samples/cries/arrokuda.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_arrokuda.aif rename to sound/direct_sound_samples/cries/arrokuda.aif diff --git a/sound/direct_sound_samples/cries/uncomp_aurorus.aif b/sound/direct_sound_samples/cries/aurorus.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_aurorus.aif rename to sound/direct_sound_samples/cries/aurorus.aif diff --git a/sound/direct_sound_samples/cries/uncomp_avalugg.aif b/sound/direct_sound_samples/cries/avalugg.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_avalugg.aif rename to sound/direct_sound_samples/cries/avalugg.aif diff --git a/sound/direct_sound_samples/cries/uncomp_barbaracle.aif b/sound/direct_sound_samples/cries/barbaracle.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_barbaracle.aif rename to sound/direct_sound_samples/cries/barbaracle.aif diff --git a/sound/direct_sound_samples/cries/uncomp_barraskewda.aif b/sound/direct_sound_samples/cries/barraskewda.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_barraskewda.aif rename to sound/direct_sound_samples/cries/barraskewda.aif diff --git a/sound/direct_sound_samples/cries/uncomp_bergmite.aif b/sound/direct_sound_samples/cries/bergmite.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_bergmite.aif rename to sound/direct_sound_samples/cries/bergmite.aif diff --git a/sound/direct_sound_samples/cries/uncomp_bewear.aif b/sound/direct_sound_samples/cries/bewear.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_bewear.aif rename to sound/direct_sound_samples/cries/bewear.aif diff --git a/sound/direct_sound_samples/cries/uncomp_binacle.aif b/sound/direct_sound_samples/cries/binacle.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_binacle.aif rename to sound/direct_sound_samples/cries/binacle.aif diff --git a/sound/direct_sound_samples/cries/uncomp_blacephalon.aif b/sound/direct_sound_samples/cries/blacephalon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_blacephalon.aif rename to sound/direct_sound_samples/cries/blacephalon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_blipbug.aif b/sound/direct_sound_samples/cries/blipbug.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_blipbug.aif rename to sound/direct_sound_samples/cries/blipbug.aif diff --git a/sound/direct_sound_samples/cries/uncomp_boltund.aif b/sound/direct_sound_samples/cries/boltund.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_boltund.aif rename to sound/direct_sound_samples/cries/boltund.aif diff --git a/sound/direct_sound_samples/cries/uncomp_bounsweet.aif b/sound/direct_sound_samples/cries/bounsweet.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_bounsweet.aif rename to sound/direct_sound_samples/cries/bounsweet.aif diff --git a/sound/direct_sound_samples/cries/uncomp_braixen.aif b/sound/direct_sound_samples/cries/braixen.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_braixen.aif rename to sound/direct_sound_samples/cries/braixen.aif diff --git a/sound/direct_sound_samples/cries/uncomp_brionne.aif b/sound/direct_sound_samples/cries/brionne.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_brionne.aif rename to sound/direct_sound_samples/cries/brionne.aif diff --git a/sound/direct_sound_samples/cries/uncomp_bruxish.aif b/sound/direct_sound_samples/cries/bruxish.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_bruxish.aif rename to sound/direct_sound_samples/cries/bruxish.aif diff --git a/sound/direct_sound_samples/cries/uncomp_bunnelby.aif b/sound/direct_sound_samples/cries/bunnelby.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_bunnelby.aif rename to sound/direct_sound_samples/cries/bunnelby.aif diff --git a/sound/direct_sound_samples/cries/uncomp_buzzwole.aif b/sound/direct_sound_samples/cries/buzzwole.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_buzzwole.aif rename to sound/direct_sound_samples/cries/buzzwole.aif diff --git a/sound/direct_sound_samples/cries/uncomp_calyrex.aif b/sound/direct_sound_samples/cries/calyrex.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_calyrex.aif rename to sound/direct_sound_samples/cries/calyrex.aif diff --git a/sound/direct_sound_samples/cries/uncomp_calyrex_ice_rider.aif b/sound/direct_sound_samples/cries/calyrex_ice_rider.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_calyrex_ice_rider.aif rename to sound/direct_sound_samples/cries/calyrex_ice_rider.aif diff --git a/sound/direct_sound_samples/cries/uncomp_calyrex_shadow_rider.aif b/sound/direct_sound_samples/cries/calyrex_shadow_rider.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_calyrex_shadow_rider.aif rename to sound/direct_sound_samples/cries/calyrex_shadow_rider.aif diff --git a/sound/direct_sound_samples/cries/uncomp_carbink.aif b/sound/direct_sound_samples/cries/carbink.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_carbink.aif rename to sound/direct_sound_samples/cries/carbink.aif diff --git a/sound/direct_sound_samples/cries/uncomp_carkol.aif b/sound/direct_sound_samples/cries/carkol.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_carkol.aif rename to sound/direct_sound_samples/cries/carkol.aif diff --git a/sound/direct_sound_samples/cries/uncomp_celesteela.aif b/sound/direct_sound_samples/cries/celesteela.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_celesteela.aif rename to sound/direct_sound_samples/cries/celesteela.aif diff --git a/sound/direct_sound_samples/cries/uncomp_centiskorch.aif b/sound/direct_sound_samples/cries/centiskorch.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_centiskorch.aif rename to sound/direct_sound_samples/cries/centiskorch.aif diff --git a/sound/direct_sound_samples/cries/uncomp_charjabug.aif b/sound/direct_sound_samples/cries/charjabug.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_charjabug.aif rename to sound/direct_sound_samples/cries/charjabug.aif diff --git a/sound/direct_sound_samples/cries/uncomp_chesnaught.aif b/sound/direct_sound_samples/cries/chesnaught.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_chesnaught.aif rename to sound/direct_sound_samples/cries/chesnaught.aif diff --git a/sound/direct_sound_samples/cries/uncomp_chespin.aif b/sound/direct_sound_samples/cries/chespin.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_chespin.aif rename to sound/direct_sound_samples/cries/chespin.aif diff --git a/sound/direct_sound_samples/cries/uncomp_chewtle.aif b/sound/direct_sound_samples/cries/chewtle.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_chewtle.aif rename to sound/direct_sound_samples/cries/chewtle.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cinderace.aif b/sound/direct_sound_samples/cries/cinderace.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cinderace.aif rename to sound/direct_sound_samples/cries/cinderace.aif diff --git a/sound/direct_sound_samples/cries/uncomp_clauncher.aif b/sound/direct_sound_samples/cries/clauncher.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_clauncher.aif rename to sound/direct_sound_samples/cries/clauncher.aif diff --git a/sound/direct_sound_samples/cries/uncomp_clawitzer.aif b/sound/direct_sound_samples/cries/clawitzer.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_clawitzer.aif rename to sound/direct_sound_samples/cries/clawitzer.aif diff --git a/sound/direct_sound_samples/cries/uncomp_clobbopus.aif b/sound/direct_sound_samples/cries/clobbopus.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_clobbopus.aif rename to sound/direct_sound_samples/cries/clobbopus.aif diff --git a/sound/direct_sound_samples/cries/uncomp_coalossal.aif b/sound/direct_sound_samples/cries/coalossal.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_coalossal.aif rename to sound/direct_sound_samples/cries/coalossal.aif diff --git a/sound/direct_sound_samples/cries/uncomp_comfey.aif b/sound/direct_sound_samples/cries/comfey.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_comfey.aif rename to sound/direct_sound_samples/cries/comfey.aif diff --git a/sound/direct_sound_samples/cries/uncomp_copperajah.aif b/sound/direct_sound_samples/cries/copperajah.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_copperajah.aif rename to sound/direct_sound_samples/cries/copperajah.aif diff --git a/sound/direct_sound_samples/cries/uncomp_corviknight.aif b/sound/direct_sound_samples/cries/corviknight.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_corviknight.aif rename to sound/direct_sound_samples/cries/corviknight.aif diff --git a/sound/direct_sound_samples/cries/uncomp_corvisquire.aif b/sound/direct_sound_samples/cries/corvisquire.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_corvisquire.aif rename to sound/direct_sound_samples/cries/corvisquire.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cosmoem.aif b/sound/direct_sound_samples/cries/cosmoem.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cosmoem.aif rename to sound/direct_sound_samples/cries/cosmoem.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cosmog.aif b/sound/direct_sound_samples/cries/cosmog.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cosmog.aif rename to sound/direct_sound_samples/cries/cosmog.aif diff --git a/sound/direct_sound_samples/cries/cottonee.aif b/sound/direct_sound_samples/cries/cottonee.aif index 526dc5f79..a459a62f7 100644 Binary files a/sound/direct_sound_samples/cries/cottonee.aif and b/sound/direct_sound_samples/cries/cottonee.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_crabominable.aif b/sound/direct_sound_samples/cries/crabominable.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_crabominable.aif rename to sound/direct_sound_samples/cries/crabominable.aif diff --git a/sound/direct_sound_samples/cries/uncomp_crabrawler.aif b/sound/direct_sound_samples/cries/crabrawler.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_crabrawler.aif rename to sound/direct_sound_samples/cries/crabrawler.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cramorant.aif b/sound/direct_sound_samples/cries/cramorant.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cramorant.aif rename to sound/direct_sound_samples/cries/cramorant.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cufant.aif b/sound/direct_sound_samples/cries/cufant.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cufant.aif rename to sound/direct_sound_samples/cries/cufant.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cursola.aif b/sound/direct_sound_samples/cries/cursola.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cursola.aif rename to sound/direct_sound_samples/cries/cursola.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cutiefly.aif b/sound/direct_sound_samples/cries/cutiefly.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_cutiefly.aif rename to sound/direct_sound_samples/cries/cutiefly.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dartrix.aif b/sound/direct_sound_samples/cries/dartrix.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dartrix.aif rename to sound/direct_sound_samples/cries/dartrix.aif diff --git a/sound/direct_sound_samples/cries/uncomp_decidueye.aif b/sound/direct_sound_samples/cries/decidueye.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_decidueye.aif rename to sound/direct_sound_samples/cries/decidueye.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dedenne.aif b/sound/direct_sound_samples/cries/dedenne.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dedenne.aif rename to sound/direct_sound_samples/cries/dedenne.aif diff --git a/sound/direct_sound_samples/cries/uncomp_delphox.aif b/sound/direct_sound_samples/cries/delphox.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_delphox.aif rename to sound/direct_sound_samples/cries/delphox.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dewpider.aif b/sound/direct_sound_samples/cries/dewpider.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dewpider.aif rename to sound/direct_sound_samples/cries/dewpider.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dhelmise.aif b/sound/direct_sound_samples/cries/dhelmise.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dhelmise.aif rename to sound/direct_sound_samples/cries/dhelmise.aif diff --git a/sound/direct_sound_samples/cries/uncomp_diancie.aif b/sound/direct_sound_samples/cries/diancie.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_diancie.aif rename to sound/direct_sound_samples/cries/diancie.aif diff --git a/sound/direct_sound_samples/cries/uncomp_diggersby.aif b/sound/direct_sound_samples/cries/diggersby.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_diggersby.aif rename to sound/direct_sound_samples/cries/diggersby.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dottler.aif b/sound/direct_sound_samples/cries/dottler.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dottler.aif rename to sound/direct_sound_samples/cries/dottler.aif diff --git a/sound/direct_sound_samples/cries/uncomp_doublade.aif b/sound/direct_sound_samples/cries/doublade.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_doublade.aif rename to sound/direct_sound_samples/cries/doublade.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dracovish.aif b/sound/direct_sound_samples/cries/dracovish.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dracovish.aif rename to sound/direct_sound_samples/cries/dracovish.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dracozolt.aif b/sound/direct_sound_samples/cries/dracozolt.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dracozolt.aif rename to sound/direct_sound_samples/cries/dracozolt.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dragalge.aif b/sound/direct_sound_samples/cries/dragalge.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dragalge.aif rename to sound/direct_sound_samples/cries/dragalge.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dragapult.aif b/sound/direct_sound_samples/cries/dragapult.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dragapult.aif rename to sound/direct_sound_samples/cries/dragapult.aif diff --git a/sound/direct_sound_samples/cries/uncomp_drakloak.aif b/sound/direct_sound_samples/cries/drakloak.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_drakloak.aif rename to sound/direct_sound_samples/cries/drakloak.aif diff --git a/sound/direct_sound_samples/cries/uncomp_drampa.aif b/sound/direct_sound_samples/cries/drampa.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_drampa.aif rename to sound/direct_sound_samples/cries/drampa.aif diff --git a/sound/direct_sound_samples/cries/uncomp_drednaw.aif b/sound/direct_sound_samples/cries/drednaw.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_drednaw.aif rename to sound/direct_sound_samples/cries/drednaw.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dreepy.aif b/sound/direct_sound_samples/cries/dreepy.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dreepy.aif rename to sound/direct_sound_samples/cries/dreepy.aif diff --git a/sound/direct_sound_samples/cries/uncomp_drizzile.aif b/sound/direct_sound_samples/cries/drizzile.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_drizzile.aif rename to sound/direct_sound_samples/cries/drizzile.aif diff --git a/sound/direct_sound_samples/cries/uncomp_dubwool.aif b/sound/direct_sound_samples/cries/dubwool.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_dubwool.aif rename to sound/direct_sound_samples/cries/dubwool.aif diff --git a/sound/direct_sound_samples/cries/uncomp_duraludon.aif b/sound/direct_sound_samples/cries/duraludon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_duraludon.aif rename to sound/direct_sound_samples/cries/duraludon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_eiscue.aif b/sound/direct_sound_samples/cries/eiscue.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_eiscue.aif rename to sound/direct_sound_samples/cries/eiscue.aif diff --git a/sound/direct_sound_samples/cries/uncomp_eiscue_noice_face.aif b/sound/direct_sound_samples/cries/eiscue_noice_face.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_eiscue_noice_face.aif rename to sound/direct_sound_samples/cries/eiscue_noice_face.aif diff --git a/sound/direct_sound_samples/cries/uncomp_eldegoss.aif b/sound/direct_sound_samples/cries/eldegoss.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_eldegoss.aif rename to sound/direct_sound_samples/cries/eldegoss.aif diff --git a/sound/direct_sound_samples/cries/elgyem.aif b/sound/direct_sound_samples/cries/elgyem.aif index 4a7ae4e42..f1e94c136 100644 Binary files a/sound/direct_sound_samples/cries/elgyem.aif and b/sound/direct_sound_samples/cries/elgyem.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_espurr.aif b/sound/direct_sound_samples/cries/espurr.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_espurr.aif rename to sound/direct_sound_samples/cries/espurr.aif diff --git a/sound/direct_sound_samples/cries/uncomp_eternatus.aif b/sound/direct_sound_samples/cries/eternatus.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_eternatus.aif rename to sound/direct_sound_samples/cries/eternatus.aif diff --git a/sound/direct_sound_samples/cries/uncomp_eternatus_eternamax.aif b/sound/direct_sound_samples/cries/eternatus_eternamax.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_eternatus_eternamax.aif rename to sound/direct_sound_samples/cries/eternatus_eternamax.aif diff --git a/sound/direct_sound_samples/cries/uncomp_falinks.aif b/sound/direct_sound_samples/cries/falinks.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_falinks.aif rename to sound/direct_sound_samples/cries/falinks.aif diff --git a/sound/direct_sound_samples/cries/uncomp_fennekin.aif b/sound/direct_sound_samples/cries/fennekin.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_fennekin.aif rename to sound/direct_sound_samples/cries/fennekin.aif diff --git a/sound/direct_sound_samples/cries/uncomp_flabebe.aif b/sound/direct_sound_samples/cries/flabebe.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_flabebe.aif rename to sound/direct_sound_samples/cries/flabebe.aif diff --git a/sound/direct_sound_samples/cries/uncomp_flapple.aif b/sound/direct_sound_samples/cries/flapple.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_flapple.aif rename to sound/direct_sound_samples/cries/flapple.aif diff --git a/sound/direct_sound_samples/cries/uncomp_fletchinder.aif b/sound/direct_sound_samples/cries/fletchinder.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_fletchinder.aif rename to sound/direct_sound_samples/cries/fletchinder.aif diff --git a/sound/direct_sound_samples/cries/uncomp_fletchling.aif b/sound/direct_sound_samples/cries/fletchling.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_fletchling.aif rename to sound/direct_sound_samples/cries/fletchling.aif diff --git a/sound/direct_sound_samples/cries/uncomp_floette.aif b/sound/direct_sound_samples/cries/floette.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_floette.aif rename to sound/direct_sound_samples/cries/floette.aif diff --git a/sound/direct_sound_samples/cries/uncomp_floette_eternal_flower.aif b/sound/direct_sound_samples/cries/floette_eternal_flower.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_floette_eternal_flower.aif rename to sound/direct_sound_samples/cries/floette_eternal_flower.aif diff --git a/sound/direct_sound_samples/cries/uncomp_florges.aif b/sound/direct_sound_samples/cries/florges.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_florges.aif rename to sound/direct_sound_samples/cries/florges.aif diff --git a/sound/direct_sound_samples/cries/uncomp_fomantis.aif b/sound/direct_sound_samples/cries/fomantis.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_fomantis.aif rename to sound/direct_sound_samples/cries/fomantis.aif diff --git a/sound/direct_sound_samples/cries/foongus.aif b/sound/direct_sound_samples/cries/foongus.aif index 7d32598b5..dbd6f9c5c 100644 Binary files a/sound/direct_sound_samples/cries/foongus.aif and b/sound/direct_sound_samples/cries/foongus.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_froakie.aif b/sound/direct_sound_samples/cries/froakie.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_froakie.aif rename to sound/direct_sound_samples/cries/froakie.aif diff --git a/sound/direct_sound_samples/cries/uncomp_frogadier.aif b/sound/direct_sound_samples/cries/frogadier.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_frogadier.aif rename to sound/direct_sound_samples/cries/frogadier.aif diff --git a/sound/direct_sound_samples/cries/uncomp_frosmoth.aif b/sound/direct_sound_samples/cries/frosmoth.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_frosmoth.aif rename to sound/direct_sound_samples/cries/frosmoth.aif diff --git a/sound/direct_sound_samples/cries/uncomp_furfrou.aif b/sound/direct_sound_samples/cries/furfrou.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_furfrou.aif rename to sound/direct_sound_samples/cries/furfrou.aif diff --git a/sound/direct_sound_samples/cries/uncomp_glastrier.aif b/sound/direct_sound_samples/cries/glastrier.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_glastrier.aif rename to sound/direct_sound_samples/cries/glastrier.aif diff --git a/sound/direct_sound_samples/cries/uncomp_gogoat.aif b/sound/direct_sound_samples/cries/gogoat.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_gogoat.aif rename to sound/direct_sound_samples/cries/gogoat.aif diff --git a/sound/direct_sound_samples/cries/uncomp_golisopod.aif b/sound/direct_sound_samples/cries/golisopod.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_golisopod.aif rename to sound/direct_sound_samples/cries/golisopod.aif diff --git a/sound/direct_sound_samples/cries/uncomp_goodra.aif b/sound/direct_sound_samples/cries/goodra.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_goodra.aif rename to sound/direct_sound_samples/cries/goodra.aif diff --git a/sound/direct_sound_samples/cries/uncomp_goomy.aif b/sound/direct_sound_samples/cries/goomy.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_goomy.aif rename to sound/direct_sound_samples/cries/goomy.aif diff --git a/sound/direct_sound_samples/cries/uncomp_gossifleur.aif b/sound/direct_sound_samples/cries/gossifleur.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_gossifleur.aif rename to sound/direct_sound_samples/cries/gossifleur.aif diff --git a/sound/direct_sound_samples/cries/uncomp_gourgeist.aif b/sound/direct_sound_samples/cries/gourgeist.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_gourgeist.aif rename to sound/direct_sound_samples/cries/gourgeist.aif diff --git a/sound/direct_sound_samples/cries/uncomp_gourgeist_super.aif b/sound/direct_sound_samples/cries/gourgeist_super.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_gourgeist_super.aif rename to sound/direct_sound_samples/cries/gourgeist_super.aif diff --git a/sound/direct_sound_samples/cries/uncomp_grapploct.aif b/sound/direct_sound_samples/cries/grapploct.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_grapploct.aif rename to sound/direct_sound_samples/cries/grapploct.aif diff --git a/sound/direct_sound_samples/cries/uncomp_greedent.aif b/sound/direct_sound_samples/cries/greedent.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_greedent.aif rename to sound/direct_sound_samples/cries/greedent.aif diff --git a/sound/direct_sound_samples/cries/uncomp_greninja.aif b/sound/direct_sound_samples/cries/greninja.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_greninja.aif rename to sound/direct_sound_samples/cries/greninja.aif diff --git a/sound/direct_sound_samples/cries/uncomp_grimmsnarl.aif b/sound/direct_sound_samples/cries/grimmsnarl.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_grimmsnarl.aif rename to sound/direct_sound_samples/cries/grimmsnarl.aif diff --git a/sound/direct_sound_samples/cries/uncomp_grookey.aif b/sound/direct_sound_samples/cries/grookey.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_grookey.aif rename to sound/direct_sound_samples/cries/grookey.aif diff --git a/sound/direct_sound_samples/cries/uncomp_grubbin.aif b/sound/direct_sound_samples/cries/grubbin.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_grubbin.aif rename to sound/direct_sound_samples/cries/grubbin.aif diff --git a/sound/direct_sound_samples/cries/uncomp_gumshoos.aif b/sound/direct_sound_samples/cries/gumshoos.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_gumshoos.aif rename to sound/direct_sound_samples/cries/gumshoos.aif diff --git a/sound/direct_sound_samples/cries/uncomp_guzzlord.aif b/sound/direct_sound_samples/cries/guzzlord.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_guzzlord.aif rename to sound/direct_sound_samples/cries/guzzlord.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hakamo_o.aif b/sound/direct_sound_samples/cries/hakamo_o.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hakamo_o.aif rename to sound/direct_sound_samples/cries/hakamo_o.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hatenna.aif b/sound/direct_sound_samples/cries/hatenna.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hatenna.aif rename to sound/direct_sound_samples/cries/hatenna.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hatterene.aif b/sound/direct_sound_samples/cries/hatterene.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hatterene.aif rename to sound/direct_sound_samples/cries/hatterene.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hattrem.aif b/sound/direct_sound_samples/cries/hattrem.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hattrem.aif rename to sound/direct_sound_samples/cries/hattrem.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hawlucha.aif b/sound/direct_sound_samples/cries/hawlucha.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hawlucha.aif rename to sound/direct_sound_samples/cries/hawlucha.aif diff --git a/sound/direct_sound_samples/cries/uncomp_heliolisk.aif b/sound/direct_sound_samples/cries/heliolisk.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_heliolisk.aif rename to sound/direct_sound_samples/cries/heliolisk.aif diff --git a/sound/direct_sound_samples/cries/uncomp_helioptile.aif b/sound/direct_sound_samples/cries/helioptile.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_helioptile.aif rename to sound/direct_sound_samples/cries/helioptile.aif diff --git a/sound/direct_sound_samples/cries/uncomp_honedge.aif b/sound/direct_sound_samples/cries/honedge.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_honedge.aif rename to sound/direct_sound_samples/cries/honedge.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hoopa.aif b/sound/direct_sound_samples/cries/hoopa.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hoopa.aif rename to sound/direct_sound_samples/cries/hoopa.aif diff --git a/sound/direct_sound_samples/cries/uncomp_hoopa_unbound.aif b/sound/direct_sound_samples/cries/hoopa_unbound.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_hoopa_unbound.aif rename to sound/direct_sound_samples/cries/hoopa_unbound.aif diff --git a/sound/direct_sound_samples/cries/uncomp_impidimp.aif b/sound/direct_sound_samples/cries/impidimp.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_impidimp.aif rename to sound/direct_sound_samples/cries/impidimp.aif diff --git a/sound/direct_sound_samples/cries/uncomp_incineroar.aif b/sound/direct_sound_samples/cries/incineroar.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_incineroar.aif rename to sound/direct_sound_samples/cries/incineroar.aif diff --git a/sound/direct_sound_samples/cries/uncomp_indeedee.aif b/sound/direct_sound_samples/cries/indeedee.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_indeedee.aif rename to sound/direct_sound_samples/cries/indeedee.aif diff --git a/sound/direct_sound_samples/cries/uncomp_indeedee_female.aif b/sound/direct_sound_samples/cries/indeedee_female.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_indeedee_female.aif rename to sound/direct_sound_samples/cries/indeedee_female.aif diff --git a/sound/direct_sound_samples/cries/uncomp_inkay.aif b/sound/direct_sound_samples/cries/inkay.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_inkay.aif rename to sound/direct_sound_samples/cries/inkay.aif diff --git a/sound/direct_sound_samples/cries/uncomp_inteleon.aif b/sound/direct_sound_samples/cries/inteleon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_inteleon.aif rename to sound/direct_sound_samples/cries/inteleon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_jangmo_o.aif b/sound/direct_sound_samples/cries/jangmo_o.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_jangmo_o.aif rename to sound/direct_sound_samples/cries/jangmo_o.aif diff --git a/sound/direct_sound_samples/cries/uncomp_kartana.aif b/sound/direct_sound_samples/cries/kartana.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_kartana.aif rename to sound/direct_sound_samples/cries/kartana.aif diff --git a/sound/direct_sound_samples/cries/keldeo.aif b/sound/direct_sound_samples/cries/keldeo.aif index 1a4d63fc8..4f73fc22d 100644 Binary files a/sound/direct_sound_samples/cries/keldeo.aif and b/sound/direct_sound_samples/cries/keldeo.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_komala.aif b/sound/direct_sound_samples/cries/komala.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_komala.aif rename to sound/direct_sound_samples/cries/komala.aif diff --git a/sound/direct_sound_samples/cries/uncomp_kommo_o.aif b/sound/direct_sound_samples/cries/kommo_o.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_kommo_o.aif rename to sound/direct_sound_samples/cries/kommo_o.aif diff --git a/sound/direct_sound_samples/cries/uncomp_kubfu.aif b/sound/direct_sound_samples/cries/kubfu.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_kubfu.aif rename to sound/direct_sound_samples/cries/kubfu.aif diff --git a/sound/direct_sound_samples/cries/uncomp_litleo.aif b/sound/direct_sound_samples/cries/litleo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_litleo.aif rename to sound/direct_sound_samples/cries/litleo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_litten.aif b/sound/direct_sound_samples/cries/litten.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_litten.aif rename to sound/direct_sound_samples/cries/litten.aif diff --git a/sound/direct_sound_samples/cries/uncomp_lunala.aif b/sound/direct_sound_samples/cries/lunala.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_lunala.aif rename to sound/direct_sound_samples/cries/lunala.aif diff --git a/sound/direct_sound_samples/cries/uncomp_lurantis.aif b/sound/direct_sound_samples/cries/lurantis.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_lurantis.aif rename to sound/direct_sound_samples/cries/lurantis.aif diff --git a/sound/direct_sound_samples/cries/uncomp_lycanroc.aif b/sound/direct_sound_samples/cries/lycanroc.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_lycanroc.aif rename to sound/direct_sound_samples/cries/lycanroc.aif diff --git a/sound/direct_sound_samples/cries/uncomp_lycanroc_dusk.aif b/sound/direct_sound_samples/cries/lycanroc_dusk.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_lycanroc_dusk.aif rename to sound/direct_sound_samples/cries/lycanroc_dusk.aif diff --git a/sound/direct_sound_samples/cries/uncomp_lycanroc_midnight.aif b/sound/direct_sound_samples/cries/lycanroc_midnight.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_lycanroc_midnight.aif rename to sound/direct_sound_samples/cries/lycanroc_midnight.aif diff --git a/sound/direct_sound_samples/cries/uncomp_magearna.aif b/sound/direct_sound_samples/cries/magearna.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_magearna.aif rename to sound/direct_sound_samples/cries/magearna.aif diff --git a/sound/direct_sound_samples/cries/uncomp_malamar.aif b/sound/direct_sound_samples/cries/malamar.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_malamar.aif rename to sound/direct_sound_samples/cries/malamar.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mareanie.aif b/sound/direct_sound_samples/cries/mareanie.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mareanie.aif rename to sound/direct_sound_samples/cries/mareanie.aif diff --git a/sound/direct_sound_samples/cries/uncomp_marshadow.aif b/sound/direct_sound_samples/cries/marshadow.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_marshadow.aif rename to sound/direct_sound_samples/cries/marshadow.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_abomasnow.aif b/sound/direct_sound_samples/cries/mega_abomasnow.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_abomasnow.aif rename to sound/direct_sound_samples/cries/mega_abomasnow.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_absol.aif b/sound/direct_sound_samples/cries/mega_absol.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_absol.aif rename to sound/direct_sound_samples/cries/mega_absol.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_aerodactyl.aif b/sound/direct_sound_samples/cries/mega_aerodactyl.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_aerodactyl.aif rename to sound/direct_sound_samples/cries/mega_aerodactyl.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_aggron.aif b/sound/direct_sound_samples/cries/mega_aggron.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_aggron.aif rename to sound/direct_sound_samples/cries/mega_aggron.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_alakazam.aif b/sound/direct_sound_samples/cries/mega_alakazam.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_alakazam.aif rename to sound/direct_sound_samples/cries/mega_alakazam.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_altaria.aif b/sound/direct_sound_samples/cries/mega_altaria.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_altaria.aif rename to sound/direct_sound_samples/cries/mega_altaria.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_ampharos.aif b/sound/direct_sound_samples/cries/mega_ampharos.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_ampharos.aif rename to sound/direct_sound_samples/cries/mega_ampharos.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_audino.aif b/sound/direct_sound_samples/cries/mega_audino.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_audino.aif rename to sound/direct_sound_samples/cries/mega_audino.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_banette.aif b/sound/direct_sound_samples/cries/mega_banette.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_banette.aif rename to sound/direct_sound_samples/cries/mega_banette.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_beedrill.aif b/sound/direct_sound_samples/cries/mega_beedrill.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_beedrill.aif rename to sound/direct_sound_samples/cries/mega_beedrill.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_blastoise.aif b/sound/direct_sound_samples/cries/mega_blastoise.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_blastoise.aif rename to sound/direct_sound_samples/cries/mega_blastoise.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_blaziken.aif b/sound/direct_sound_samples/cries/mega_blaziken.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_blaziken.aif rename to sound/direct_sound_samples/cries/mega_blaziken.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_camerupt.aif b/sound/direct_sound_samples/cries/mega_camerupt.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_camerupt.aif rename to sound/direct_sound_samples/cries/mega_camerupt.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_charizard_x.aif b/sound/direct_sound_samples/cries/mega_charizard_x.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_charizard_x.aif rename to sound/direct_sound_samples/cries/mega_charizard_x.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_charizard_y.aif b/sound/direct_sound_samples/cries/mega_charizard_y.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_charizard_y.aif rename to sound/direct_sound_samples/cries/mega_charizard_y.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_diancie.aif b/sound/direct_sound_samples/cries/mega_diancie.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_diancie.aif rename to sound/direct_sound_samples/cries/mega_diancie.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_gallade.aif b/sound/direct_sound_samples/cries/mega_gallade.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_gallade.aif rename to sound/direct_sound_samples/cries/mega_gallade.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_garchomp.aif b/sound/direct_sound_samples/cries/mega_garchomp.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_garchomp.aif rename to sound/direct_sound_samples/cries/mega_garchomp.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_gardevoir.aif b/sound/direct_sound_samples/cries/mega_gardevoir.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_gardevoir.aif rename to sound/direct_sound_samples/cries/mega_gardevoir.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_gengar.aif b/sound/direct_sound_samples/cries/mega_gengar.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_gengar.aif rename to sound/direct_sound_samples/cries/mega_gengar.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_glalie.aif b/sound/direct_sound_samples/cries/mega_glalie.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_glalie.aif rename to sound/direct_sound_samples/cries/mega_glalie.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_gyarados.aif b/sound/direct_sound_samples/cries/mega_gyarados.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_gyarados.aif rename to sound/direct_sound_samples/cries/mega_gyarados.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_heracross.aif b/sound/direct_sound_samples/cries/mega_heracross.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_heracross.aif rename to sound/direct_sound_samples/cries/mega_heracross.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_houndoom.aif b/sound/direct_sound_samples/cries/mega_houndoom.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_houndoom.aif rename to sound/direct_sound_samples/cries/mega_houndoom.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_kangaskhan.aif b/sound/direct_sound_samples/cries/mega_kangaskhan.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_kangaskhan.aif rename to sound/direct_sound_samples/cries/mega_kangaskhan.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_latias.aif b/sound/direct_sound_samples/cries/mega_latias.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_latias.aif rename to sound/direct_sound_samples/cries/mega_latias.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_latios.aif b/sound/direct_sound_samples/cries/mega_latios.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_latios.aif rename to sound/direct_sound_samples/cries/mega_latios.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_lopunny.aif b/sound/direct_sound_samples/cries/mega_lopunny.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_lopunny.aif rename to sound/direct_sound_samples/cries/mega_lopunny.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_lucario.aif b/sound/direct_sound_samples/cries/mega_lucario.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_lucario.aif rename to sound/direct_sound_samples/cries/mega_lucario.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_manectric.aif b/sound/direct_sound_samples/cries/mega_manectric.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_manectric.aif rename to sound/direct_sound_samples/cries/mega_manectric.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_mawile.aif b/sound/direct_sound_samples/cries/mega_mawile.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_mawile.aif rename to sound/direct_sound_samples/cries/mega_mawile.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_medicham.aif b/sound/direct_sound_samples/cries/mega_medicham.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_medicham.aif rename to sound/direct_sound_samples/cries/mega_medicham.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_metagross.aif b/sound/direct_sound_samples/cries/mega_metagross.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_metagross.aif rename to sound/direct_sound_samples/cries/mega_metagross.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_mewtwo_x.aif b/sound/direct_sound_samples/cries/mega_mewtwo_x.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_mewtwo_x.aif rename to sound/direct_sound_samples/cries/mega_mewtwo_x.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_mewtwo_y.aif b/sound/direct_sound_samples/cries/mega_mewtwo_y.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_mewtwo_y.aif rename to sound/direct_sound_samples/cries/mega_mewtwo_y.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_pidgeot.aif b/sound/direct_sound_samples/cries/mega_pidgeot.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_pidgeot.aif rename to sound/direct_sound_samples/cries/mega_pidgeot.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_pinsir.aif b/sound/direct_sound_samples/cries/mega_pinsir.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_pinsir.aif rename to sound/direct_sound_samples/cries/mega_pinsir.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_rayquaza.aif b/sound/direct_sound_samples/cries/mega_rayquaza.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_rayquaza.aif rename to sound/direct_sound_samples/cries/mega_rayquaza.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_sableye.aif b/sound/direct_sound_samples/cries/mega_sableye.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_sableye.aif rename to sound/direct_sound_samples/cries/mega_sableye.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_salamence.aif b/sound/direct_sound_samples/cries/mega_salamence.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_salamence.aif rename to sound/direct_sound_samples/cries/mega_salamence.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_sceptile.aif b/sound/direct_sound_samples/cries/mega_sceptile.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_sceptile.aif rename to sound/direct_sound_samples/cries/mega_sceptile.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_scizor.aif b/sound/direct_sound_samples/cries/mega_scizor.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_scizor.aif rename to sound/direct_sound_samples/cries/mega_scizor.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_sharpedo.aif b/sound/direct_sound_samples/cries/mega_sharpedo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_sharpedo.aif rename to sound/direct_sound_samples/cries/mega_sharpedo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_slowbro.aif b/sound/direct_sound_samples/cries/mega_slowbro.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_slowbro.aif rename to sound/direct_sound_samples/cries/mega_slowbro.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_steelix.aif b/sound/direct_sound_samples/cries/mega_steelix.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_steelix.aif rename to sound/direct_sound_samples/cries/mega_steelix.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_swampert.aif b/sound/direct_sound_samples/cries/mega_swampert.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_swampert.aif rename to sound/direct_sound_samples/cries/mega_swampert.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_tyranitar.aif b/sound/direct_sound_samples/cries/mega_tyranitar.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_tyranitar.aif rename to sound/direct_sound_samples/cries/mega_tyranitar.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mega_venusaur.aif b/sound/direct_sound_samples/cries/mega_venusaur.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mega_venusaur.aif rename to sound/direct_sound_samples/cries/mega_venusaur.aif diff --git a/sound/direct_sound_samples/cries/uncomp_melmetal.aif b/sound/direct_sound_samples/cries/melmetal.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_melmetal.aif rename to sound/direct_sound_samples/cries/melmetal.aif diff --git a/sound/direct_sound_samples/cries/uncomp_meltan.aif b/sound/direct_sound_samples/cries/meltan.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_meltan.aif rename to sound/direct_sound_samples/cries/meltan.aif diff --git a/sound/direct_sound_samples/cries/uncomp_meowstic.aif b/sound/direct_sound_samples/cries/meowstic.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_meowstic.aif rename to sound/direct_sound_samples/cries/meowstic.aif diff --git a/sound/direct_sound_samples/cries/uncomp_milcery.aif b/sound/direct_sound_samples/cries/milcery.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_milcery.aif rename to sound/direct_sound_samples/cries/milcery.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mimikyu.aif b/sound/direct_sound_samples/cries/mimikyu.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mimikyu.aif rename to sound/direct_sound_samples/cries/mimikyu.aif diff --git a/sound/direct_sound_samples/cries/uncomp_minior.aif b/sound/direct_sound_samples/cries/minior.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_minior.aif rename to sound/direct_sound_samples/cries/minior.aif diff --git a/sound/direct_sound_samples/cries/uncomp_morelull.aif b/sound/direct_sound_samples/cries/morelull.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_morelull.aif rename to sound/direct_sound_samples/cries/morelull.aif diff --git a/sound/direct_sound_samples/cries/uncomp_morgrem.aif b/sound/direct_sound_samples/cries/morgrem.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_morgrem.aif rename to sound/direct_sound_samples/cries/morgrem.aif diff --git a/sound/direct_sound_samples/cries/uncomp_morpeko.aif b/sound/direct_sound_samples/cries/morpeko.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_morpeko.aif rename to sound/direct_sound_samples/cries/morpeko.aif diff --git a/sound/direct_sound_samples/cries/uncomp_morpeko_hangry.aif b/sound/direct_sound_samples/cries/morpeko_hangry.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_morpeko_hangry.aif rename to sound/direct_sound_samples/cries/morpeko_hangry.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mr_rime.aif b/sound/direct_sound_samples/cries/mr_rime.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mr_rime.aif rename to sound/direct_sound_samples/cries/mr_rime.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mudbray.aif b/sound/direct_sound_samples/cries/mudbray.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mudbray.aif rename to sound/direct_sound_samples/cries/mudbray.aif diff --git a/sound/direct_sound_samples/cries/uncomp_mudsdale.aif b/sound/direct_sound_samples/cries/mudsdale.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_mudsdale.aif rename to sound/direct_sound_samples/cries/mudsdale.aif diff --git a/sound/direct_sound_samples/cries/uncomp_naganadel.aif b/sound/direct_sound_samples/cries/naganadel.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_naganadel.aif rename to sound/direct_sound_samples/cries/naganadel.aif diff --git a/sound/direct_sound_samples/cries/uncomp_necrozma.aif b/sound/direct_sound_samples/cries/necrozma.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_necrozma.aif rename to sound/direct_sound_samples/cries/necrozma.aif diff --git a/sound/direct_sound_samples/cries/uncomp_necrozma_dawn_wings.aif b/sound/direct_sound_samples/cries/necrozma_dawn_wings.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_necrozma_dawn_wings.aif rename to sound/direct_sound_samples/cries/necrozma_dawn_wings.aif diff --git a/sound/direct_sound_samples/cries/uncomp_necrozma_dusk_mane.aif b/sound/direct_sound_samples/cries/necrozma_dusk_mane.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_necrozma_dusk_mane.aif rename to sound/direct_sound_samples/cries/necrozma_dusk_mane.aif diff --git a/sound/direct_sound_samples/cries/uncomp_necrozma_ultra.aif b/sound/direct_sound_samples/cries/necrozma_ultra.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_necrozma_ultra.aif rename to sound/direct_sound_samples/cries/necrozma_ultra.aif diff --git a/sound/direct_sound_samples/cries/uncomp_nickit.aif b/sound/direct_sound_samples/cries/nickit.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_nickit.aif rename to sound/direct_sound_samples/cries/nickit.aif diff --git a/sound/direct_sound_samples/cries/uncomp_nihilego.aif b/sound/direct_sound_samples/cries/nihilego.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_nihilego.aif rename to sound/direct_sound_samples/cries/nihilego.aif diff --git a/sound/direct_sound_samples/cries/noibat.aif b/sound/direct_sound_samples/cries/noibat.aif new file mode 100644 index 000000000..c77342cc1 Binary files /dev/null and b/sound/direct_sound_samples/cries/noibat.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_noivern.aif b/sound/direct_sound_samples/cries/noivern.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_noivern.aif rename to sound/direct_sound_samples/cries/noivern.aif diff --git a/sound/direct_sound_samples/cries/uncomp_obstagoon.aif b/sound/direct_sound_samples/cries/obstagoon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_obstagoon.aif rename to sound/direct_sound_samples/cries/obstagoon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_oranguru.aif b/sound/direct_sound_samples/cries/oranguru.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_oranguru.aif rename to sound/direct_sound_samples/cries/oranguru.aif diff --git a/sound/direct_sound_samples/cries/uncomp_orbeetle.aif b/sound/direct_sound_samples/cries/orbeetle.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_orbeetle.aif rename to sound/direct_sound_samples/cries/orbeetle.aif diff --git a/sound/direct_sound_samples/cries/uncomp_oricorio.aif b/sound/direct_sound_samples/cries/oricorio.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_oricorio.aif rename to sound/direct_sound_samples/cries/oricorio.aif diff --git a/sound/direct_sound_samples/cries/uncomp_oricorio_pau.aif b/sound/direct_sound_samples/cries/oricorio_pau.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_oricorio_pau.aif rename to sound/direct_sound_samples/cries/oricorio_pau.aif diff --git a/sound/direct_sound_samples/cries/oricorio_pom_pom.aif b/sound/direct_sound_samples/cries/oricorio_pom_pom.aif new file mode 100644 index 000000000..bb4c1f27a Binary files /dev/null and b/sound/direct_sound_samples/cries/oricorio_pom_pom.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_oricorio_sensu.aif b/sound/direct_sound_samples/cries/oricorio_sensu.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_oricorio_sensu.aif rename to sound/direct_sound_samples/cries/oricorio_sensu.aif diff --git a/sound/direct_sound_samples/cries/uncomp_palossand.aif b/sound/direct_sound_samples/cries/palossand.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_palossand.aif rename to sound/direct_sound_samples/cries/palossand.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pancham.aif b/sound/direct_sound_samples/cries/pancham.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pancham.aif rename to sound/direct_sound_samples/cries/pancham.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pangoro.aif b/sound/direct_sound_samples/cries/pangoro.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pangoro.aif rename to sound/direct_sound_samples/cries/pangoro.aif diff --git a/sound/direct_sound_samples/cries/uncomp_passimian.aif b/sound/direct_sound_samples/cries/passimian.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_passimian.aif rename to sound/direct_sound_samples/cries/passimian.aif diff --git a/sound/direct_sound_samples/cries/uncomp_perrserker.aif b/sound/direct_sound_samples/cries/perrserker.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_perrserker.aif rename to sound/direct_sound_samples/cries/perrserker.aif diff --git a/sound/direct_sound_samples/cries/uncomp_phantump.aif b/sound/direct_sound_samples/cries/phantump.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_phantump.aif rename to sound/direct_sound_samples/cries/phantump.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pheromosa.aif b/sound/direct_sound_samples/cries/pheromosa.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pheromosa.aif rename to sound/direct_sound_samples/cries/pheromosa.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pikipek.aif b/sound/direct_sound_samples/cries/pikipek.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pikipek.aif rename to sound/direct_sound_samples/cries/pikipek.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pincurchin.aif b/sound/direct_sound_samples/cries/pincurchin.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pincurchin.aif rename to sound/direct_sound_samples/cries/pincurchin.aif diff --git a/sound/direct_sound_samples/cries/uncomp_poipole.aif b/sound/direct_sound_samples/cries/poipole.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_poipole.aif rename to sound/direct_sound_samples/cries/poipole.aif diff --git a/sound/direct_sound_samples/cries/uncomp_polteageist.aif b/sound/direct_sound_samples/cries/polteageist.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_polteageist.aif rename to sound/direct_sound_samples/cries/polteageist.aif diff --git a/sound/direct_sound_samples/cries/uncomp_popplio.aif b/sound/direct_sound_samples/cries/popplio.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_popplio.aif rename to sound/direct_sound_samples/cries/popplio.aif diff --git a/sound/direct_sound_samples/cries/uncomp_primal_groudon.aif b/sound/direct_sound_samples/cries/primal_groudon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_primal_groudon.aif rename to sound/direct_sound_samples/cries/primal_groudon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_primal_kyogre.aif b/sound/direct_sound_samples/cries/primal_kyogre.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_primal_kyogre.aif rename to sound/direct_sound_samples/cries/primal_kyogre.aif diff --git a/sound/direct_sound_samples/cries/uncomp_primarina.aif b/sound/direct_sound_samples/cries/primarina.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_primarina.aif rename to sound/direct_sound_samples/cries/primarina.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pumpkaboo.aif b/sound/direct_sound_samples/cries/pumpkaboo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pumpkaboo.aif rename to sound/direct_sound_samples/cries/pumpkaboo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pumpkaboo_super.aif b/sound/direct_sound_samples/cries/pumpkaboo_super.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pumpkaboo_super.aif rename to sound/direct_sound_samples/cries/pumpkaboo_super.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pyroar.aif b/sound/direct_sound_samples/cries/pyroar.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pyroar.aif rename to sound/direct_sound_samples/cries/pyroar.aif diff --git a/sound/direct_sound_samples/cries/uncomp_pyukumuku.aif b/sound/direct_sound_samples/cries/pyukumuku.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_pyukumuku.aif rename to sound/direct_sound_samples/cries/pyukumuku.aif diff --git a/sound/direct_sound_samples/cries/uncomp_quilladin.aif b/sound/direct_sound_samples/cries/quilladin.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_quilladin.aif rename to sound/direct_sound_samples/cries/quilladin.aif diff --git a/sound/direct_sound_samples/cries/uncomp_raboot.aif b/sound/direct_sound_samples/cries/raboot.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_raboot.aif rename to sound/direct_sound_samples/cries/raboot.aif diff --git a/sound/direct_sound_samples/cries/uncomp_regidrago.aif b/sound/direct_sound_samples/cries/regidrago.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_regidrago.aif rename to sound/direct_sound_samples/cries/regidrago.aif diff --git a/sound/direct_sound_samples/cries/uncomp_regieleki.aif b/sound/direct_sound_samples/cries/regieleki.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_regieleki.aif rename to sound/direct_sound_samples/cries/regieleki.aif diff --git a/sound/direct_sound_samples/cries/uncomp_ribombee.aif b/sound/direct_sound_samples/cries/ribombee.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_ribombee.aif rename to sound/direct_sound_samples/cries/ribombee.aif diff --git a/sound/direct_sound_samples/cries/uncomp_rillaboom.aif b/sound/direct_sound_samples/cries/rillaboom.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_rillaboom.aif rename to sound/direct_sound_samples/cries/rillaboom.aif diff --git a/sound/direct_sound_samples/cries/uncomp_rockruff.aif b/sound/direct_sound_samples/cries/rockruff.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_rockruff.aif rename to sound/direct_sound_samples/cries/rockruff.aif diff --git a/sound/direct_sound_samples/cries/uncomp_rolycoly.aif b/sound/direct_sound_samples/cries/rolycoly.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_rolycoly.aif rename to sound/direct_sound_samples/cries/rolycoly.aif diff --git a/sound/direct_sound_samples/cries/uncomp_rookidee.aif b/sound/direct_sound_samples/cries/rookidee.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_rookidee.aif rename to sound/direct_sound_samples/cries/rookidee.aif diff --git a/sound/direct_sound_samples/cries/uncomp_rowlet.aif b/sound/direct_sound_samples/cries/rowlet.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_rowlet.aif rename to sound/direct_sound_samples/cries/rowlet.aif diff --git a/sound/direct_sound_samples/cries/uncomp_runerigus.aif b/sound/direct_sound_samples/cries/runerigus.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_runerigus.aif rename to sound/direct_sound_samples/cries/runerigus.aif diff --git a/sound/direct_sound_samples/cries/uncomp_salandit.aif b/sound/direct_sound_samples/cries/salandit.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_salandit.aif rename to sound/direct_sound_samples/cries/salandit.aif diff --git a/sound/direct_sound_samples/cries/uncomp_salazzle.aif b/sound/direct_sound_samples/cries/salazzle.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_salazzle.aif rename to sound/direct_sound_samples/cries/salazzle.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sandaconda.aif b/sound/direct_sound_samples/cries/sandaconda.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sandaconda.aif rename to sound/direct_sound_samples/cries/sandaconda.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sandygast.aif b/sound/direct_sound_samples/cries/sandygast.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sandygast.aif rename to sound/direct_sound_samples/cries/sandygast.aif diff --git a/sound/direct_sound_samples/cries/uncomp_scatterbug.aif b/sound/direct_sound_samples/cries/scatterbug.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_scatterbug.aif rename to sound/direct_sound_samples/cries/scatterbug.aif diff --git a/sound/direct_sound_samples/cries/uncomp_scorbunny.aif b/sound/direct_sound_samples/cries/scorbunny.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_scorbunny.aif rename to sound/direct_sound_samples/cries/scorbunny.aif diff --git a/sound/direct_sound_samples/cries/shelmet.aif b/sound/direct_sound_samples/cries/shelmet.aif index 13bf69e3e..b65d435f5 100644 Binary files a/sound/direct_sound_samples/cries/shelmet.aif and b/sound/direct_sound_samples/cries/shelmet.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_shiinotic.aif b/sound/direct_sound_samples/cries/shiinotic.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_shiinotic.aif rename to sound/direct_sound_samples/cries/shiinotic.aif diff --git a/sound/direct_sound_samples/cries/uncomp_silicobra.aif b/sound/direct_sound_samples/cries/silicobra.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_silicobra.aif rename to sound/direct_sound_samples/cries/silicobra.aif diff --git a/sound/direct_sound_samples/cries/uncomp_silvally.aif b/sound/direct_sound_samples/cries/silvally.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_silvally.aif rename to sound/direct_sound_samples/cries/silvally.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sinistea.aif b/sound/direct_sound_samples/cries/sinistea.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sinistea.aif rename to sound/direct_sound_samples/cries/sinistea.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sirfetchd.aif b/sound/direct_sound_samples/cries/sirfetchd.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sirfetchd.aif rename to sound/direct_sound_samples/cries/sirfetchd.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sizzlipede.aif b/sound/direct_sound_samples/cries/sizzlipede.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sizzlipede.aif rename to sound/direct_sound_samples/cries/sizzlipede.aif diff --git a/sound/direct_sound_samples/cries/uncomp_skiddo.aif b/sound/direct_sound_samples/cries/skiddo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_skiddo.aif rename to sound/direct_sound_samples/cries/skiddo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_skrelp.aif b/sound/direct_sound_samples/cries/skrelp.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_skrelp.aif rename to sound/direct_sound_samples/cries/skrelp.aif diff --git a/sound/direct_sound_samples/cries/uncomp_skwovet.aif b/sound/direct_sound_samples/cries/skwovet.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_skwovet.aif rename to sound/direct_sound_samples/cries/skwovet.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sliggoo.aif b/sound/direct_sound_samples/cries/sliggoo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sliggoo.aif rename to sound/direct_sound_samples/cries/sliggoo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_slowpoke_galarian.aif b/sound/direct_sound_samples/cries/slowpoke_galarian.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_slowpoke_galarian.aif rename to sound/direct_sound_samples/cries/slowpoke_galarian.aif diff --git a/sound/direct_sound_samples/cries/uncomp_slurpuff.aif b/sound/direct_sound_samples/cries/slurpuff.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_slurpuff.aif rename to sound/direct_sound_samples/cries/slurpuff.aif diff --git a/sound/direct_sound_samples/cries/uncomp_snom.aif b/sound/direct_sound_samples/cries/snom.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_snom.aif rename to sound/direct_sound_samples/cries/snom.aif diff --git a/sound/direct_sound_samples/cries/uncomp_sobble.aif b/sound/direct_sound_samples/cries/sobble.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sobble.aif rename to sound/direct_sound_samples/cries/sobble.aif diff --git a/sound/direct_sound_samples/cries/uncomp_solgaleo.aif b/sound/direct_sound_samples/cries/solgaleo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_solgaleo.aif rename to sound/direct_sound_samples/cries/solgaleo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_spectrier.aif b/sound/direct_sound_samples/cries/spectrier.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_spectrier.aif rename to sound/direct_sound_samples/cries/spectrier.aif diff --git a/sound/direct_sound_samples/cries/uncomp_spewpa.aif b/sound/direct_sound_samples/cries/spewpa.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_spewpa.aif rename to sound/direct_sound_samples/cries/spewpa.aif diff --git a/sound/direct_sound_samples/cries/uncomp_spritzee.aif b/sound/direct_sound_samples/cries/spritzee.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_spritzee.aif rename to sound/direct_sound_samples/cries/spritzee.aif diff --git a/sound/direct_sound_samples/cries/uncomp_stakataka.aif b/sound/direct_sound_samples/cries/stakataka.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_stakataka.aif rename to sound/direct_sound_samples/cries/stakataka.aif diff --git a/sound/direct_sound_samples/cries/uncomp_steenee.aif b/sound/direct_sound_samples/cries/steenee.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_steenee.aif rename to sound/direct_sound_samples/cries/steenee.aif diff --git a/sound/direct_sound_samples/cries/uncomp_stonjourner.aif b/sound/direct_sound_samples/cries/stonjourner.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_stonjourner.aif rename to sound/direct_sound_samples/cries/stonjourner.aif diff --git a/sound/direct_sound_samples/cries/uncomp_stufful.aif b/sound/direct_sound_samples/cries/stufful.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_stufful.aif rename to sound/direct_sound_samples/cries/stufful.aif diff --git a/sound/direct_sound_samples/cries/uncomp_swirlix.aif b/sound/direct_sound_samples/cries/swirlix.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_swirlix.aif rename to sound/direct_sound_samples/cries/swirlix.aif diff --git a/sound/direct_sound_samples/cries/swoobat.aif b/sound/direct_sound_samples/cries/swoobat.aif index 4b15334b5..c5b530b71 100644 Binary files a/sound/direct_sound_samples/cries/swoobat.aif and b/sound/direct_sound_samples/cries/swoobat.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_sylveon.aif b/sound/direct_sound_samples/cries/sylveon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_sylveon.aif rename to sound/direct_sound_samples/cries/sylveon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_talonflame.aif b/sound/direct_sound_samples/cries/talonflame.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_talonflame.aif rename to sound/direct_sound_samples/cries/talonflame.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tapu_bulu.aif b/sound/direct_sound_samples/cries/tapu_bulu.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tapu_bulu.aif rename to sound/direct_sound_samples/cries/tapu_bulu.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tapu_fini.aif b/sound/direct_sound_samples/cries/tapu_fini.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tapu_fini.aif rename to sound/direct_sound_samples/cries/tapu_fini.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tapu_koko.aif b/sound/direct_sound_samples/cries/tapu_koko.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tapu_koko.aif rename to sound/direct_sound_samples/cries/tapu_koko.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tapu_lele.aif b/sound/direct_sound_samples/cries/tapu_lele.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tapu_lele.aif rename to sound/direct_sound_samples/cries/tapu_lele.aif diff --git a/sound/direct_sound_samples/cries/uncomp_thievul.aif b/sound/direct_sound_samples/cries/thievul.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_thievul.aif rename to sound/direct_sound_samples/cries/thievul.aif diff --git a/sound/direct_sound_samples/cries/uncomp_thwackey.aif b/sound/direct_sound_samples/cries/thwackey.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_thwackey.aif rename to sound/direct_sound_samples/cries/thwackey.aif diff --git a/sound/direct_sound_samples/cries/uncomp_togedemaru.aif b/sound/direct_sound_samples/cries/togedemaru.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_togedemaru.aif rename to sound/direct_sound_samples/cries/togedemaru.aif diff --git a/sound/direct_sound_samples/cries/uncomp_torracat.aif b/sound/direct_sound_samples/cries/torracat.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_torracat.aif rename to sound/direct_sound_samples/cries/torracat.aif diff --git a/sound/direct_sound_samples/cries/uncomp_toucannon.aif b/sound/direct_sound_samples/cries/toucannon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_toucannon.aif rename to sound/direct_sound_samples/cries/toucannon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_toxapex.aif b/sound/direct_sound_samples/cries/toxapex.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_toxapex.aif rename to sound/direct_sound_samples/cries/toxapex.aif diff --git a/sound/direct_sound_samples/cries/uncomp_toxel.aif b/sound/direct_sound_samples/cries/toxel.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_toxel.aif rename to sound/direct_sound_samples/cries/toxel.aif diff --git a/sound/direct_sound_samples/cries/uncomp_toxtricity.aif b/sound/direct_sound_samples/cries/toxtricity.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_toxtricity.aif rename to sound/direct_sound_samples/cries/toxtricity.aif diff --git a/sound/direct_sound_samples/cries/uncomp_toxtricity_low_key.aif b/sound/direct_sound_samples/cries/toxtricity_low_key.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_toxtricity_low_key.aif rename to sound/direct_sound_samples/cries/toxtricity_low_key.aif diff --git a/sound/direct_sound_samples/cries/uncomp_trevenant.aif b/sound/direct_sound_samples/cries/trevenant.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_trevenant.aif rename to sound/direct_sound_samples/cries/trevenant.aif diff --git a/sound/direct_sound_samples/cries/uncomp_trumbeak.aif b/sound/direct_sound_samples/cries/trumbeak.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_trumbeak.aif rename to sound/direct_sound_samples/cries/trumbeak.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tsareena.aif b/sound/direct_sound_samples/cries/tsareena.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tsareena.aif rename to sound/direct_sound_samples/cries/tsareena.aif diff --git a/sound/direct_sound_samples/cries/uncomp_turtonator.aif b/sound/direct_sound_samples/cries/turtonator.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_turtonator.aif rename to sound/direct_sound_samples/cries/turtonator.aif diff --git a/sound/direct_sound_samples/cries/uncomp_type_null.aif b/sound/direct_sound_samples/cries/type_null.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_type_null.aif rename to sound/direct_sound_samples/cries/type_null.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tyrantrum.aif b/sound/direct_sound_samples/cries/tyrantrum.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tyrantrum.aif rename to sound/direct_sound_samples/cries/tyrantrum.aif diff --git a/sound/direct_sound_samples/cries/uncomp_tyrunt.aif b/sound/direct_sound_samples/cries/tyrunt.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_tyrunt.aif rename to sound/direct_sound_samples/cries/tyrunt.aif diff --git a/sound/direct_sound_samples/cries/uncomp_cottonee.aif b/sound/direct_sound_samples/cries/uncomp_cottonee.aif deleted file mode 100644 index a459a62f7..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_cottonee.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_elgyem.aif b/sound/direct_sound_samples/cries/uncomp_elgyem.aif deleted file mode 100644 index f1e94c136..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_elgyem.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_foongus.aif b/sound/direct_sound_samples/cries/uncomp_foongus.aif deleted file mode 100644 index dbd6f9c5c..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_foongus.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_keldeo.aif b/sound/direct_sound_samples/cries/uncomp_keldeo.aif deleted file mode 100644 index 4f73fc22d..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_keldeo.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_klefki.aif b/sound/direct_sound_samples/cries/uncomp_klefki.aif index f07f78dd9..4ffa19b57 100644 Binary files a/sound/direct_sound_samples/cries/uncomp_klefki.aif and b/sound/direct_sound_samples/cries/uncomp_klefki.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_noibat.aif b/sound/direct_sound_samples/cries/uncomp_noibat.aif deleted file mode 100644 index 38c008fd7..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_noibat.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif b/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif deleted file mode 100644 index e4685dc53..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_oricorio_pom_pom.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_shelmet.aif b/sound/direct_sound_samples/cries/uncomp_shelmet.aif deleted file mode 100644 index b65d435f5..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_shelmet.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_swoobat.aif b/sound/direct_sound_samples/cries/uncomp_swoobat.aif deleted file mode 100644 index c5b530b71..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_swoobat.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_yamask.aif b/sound/direct_sound_samples/cries/uncomp_yamask.aif deleted file mode 100644 index 8d44817f7..000000000 Binary files a/sound/direct_sound_samples/cries/uncomp_yamask.aif and /dev/null differ diff --git a/sound/direct_sound_samples/cries/uncomp_urshifu.aif b/sound/direct_sound_samples/cries/urshifu.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_urshifu.aif rename to sound/direct_sound_samples/cries/urshifu.aif diff --git a/sound/direct_sound_samples/cries/uncomp_urshifu_rapid_strike_style.aif b/sound/direct_sound_samples/cries/urshifu_rapid_strike_style.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_urshifu_rapid_strike_style.aif rename to sound/direct_sound_samples/cries/urshifu_rapid_strike_style.aif diff --git a/sound/direct_sound_samples/cries/uncomp_vikavolt.aif b/sound/direct_sound_samples/cries/vikavolt.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_vikavolt.aif rename to sound/direct_sound_samples/cries/vikavolt.aif diff --git a/sound/direct_sound_samples/cries/uncomp_vivillon.aif b/sound/direct_sound_samples/cries/vivillon.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_vivillon.aif rename to sound/direct_sound_samples/cries/vivillon.aif diff --git a/sound/direct_sound_samples/cries/uncomp_volcanion.aif b/sound/direct_sound_samples/cries/volcanion.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_volcanion.aif rename to sound/direct_sound_samples/cries/volcanion.aif diff --git a/sound/direct_sound_samples/cries/uncomp_wimpod.aif b/sound/direct_sound_samples/cries/wimpod.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_wimpod.aif rename to sound/direct_sound_samples/cries/wimpod.aif diff --git a/sound/direct_sound_samples/cries/uncomp_wishiwashi.aif b/sound/direct_sound_samples/cries/wishiwashi.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_wishiwashi.aif rename to sound/direct_sound_samples/cries/wishiwashi.aif diff --git a/sound/direct_sound_samples/cries/uncomp_wishiwashi_school.aif b/sound/direct_sound_samples/cries/wishiwashi_school.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_wishiwashi_school.aif rename to sound/direct_sound_samples/cries/wishiwashi_school.aif diff --git a/sound/direct_sound_samples/cries/uncomp_wooloo.aif b/sound/direct_sound_samples/cries/wooloo.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_wooloo.aif rename to sound/direct_sound_samples/cries/wooloo.aif diff --git a/sound/direct_sound_samples/cries/uncomp_xerneas.aif b/sound/direct_sound_samples/cries/xerneas.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_xerneas.aif rename to sound/direct_sound_samples/cries/xerneas.aif diff --git a/sound/direct_sound_samples/cries/uncomp_xurkitree.aif b/sound/direct_sound_samples/cries/xurkitree.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_xurkitree.aif rename to sound/direct_sound_samples/cries/xurkitree.aif diff --git a/sound/direct_sound_samples/cries/yamask.aif b/sound/direct_sound_samples/cries/yamask.aif index 519952d07..8d44817f7 100644 Binary files a/sound/direct_sound_samples/cries/yamask.aif and b/sound/direct_sound_samples/cries/yamask.aif differ diff --git a/sound/direct_sound_samples/cries/uncomp_yamper.aif b/sound/direct_sound_samples/cries/yamper.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_yamper.aif rename to sound/direct_sound_samples/cries/yamper.aif diff --git a/sound/direct_sound_samples/cries/uncomp_yungoos.aif b/sound/direct_sound_samples/cries/yungoos.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_yungoos.aif rename to sound/direct_sound_samples/cries/yungoos.aif diff --git a/sound/direct_sound_samples/cries/uncomp_yveltal.aif b/sound/direct_sound_samples/cries/yveltal.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_yveltal.aif rename to sound/direct_sound_samples/cries/yveltal.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zacian.aif b/sound/direct_sound_samples/cries/zacian.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zacian.aif rename to sound/direct_sound_samples/cries/zacian.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zacian_crowned_sword.aif b/sound/direct_sound_samples/cries/zacian_crowned_sword.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zacian_crowned_sword.aif rename to sound/direct_sound_samples/cries/zacian_crowned_sword.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zamazenta.aif b/sound/direct_sound_samples/cries/zamazenta.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zamazenta.aif rename to sound/direct_sound_samples/cries/zamazenta.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zamazenta_crowned_shield.aif b/sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zamazenta_crowned_shield.aif rename to sound/direct_sound_samples/cries/zamazenta_crowned_shield.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zarude.aif b/sound/direct_sound_samples/cries/zarude.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zarude.aif rename to sound/direct_sound_samples/cries/zarude.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zeraora.aif b/sound/direct_sound_samples/cries/zeraora.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zeraora.aif rename to sound/direct_sound_samples/cries/zeraora.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zygarde.aif b/sound/direct_sound_samples/cries/zygarde.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zygarde.aif rename to sound/direct_sound_samples/cries/zygarde.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zygarde_10.aif b/sound/direct_sound_samples/cries/zygarde_10.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zygarde_10.aif rename to sound/direct_sound_samples/cries/zygarde_10.aif diff --git a/sound/direct_sound_samples/cries/uncomp_zygarde_complete.aif b/sound/direct_sound_samples/cries/zygarde_complete.aif similarity index 100% rename from sound/direct_sound_samples/cries/uncomp_zygarde_complete.aif rename to sound/direct_sound_samples/cries/zygarde_complete.aif diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c index ef0bf9a3d..9b55d587b 100644 --- a/src/battle_anim_mons.c +++ b/src/battle_anim_mons.c @@ -35,7 +35,11 @@ static void CreateBattlerTrace(struct Task *task, u8 taskId); EWRAM_DATA static union AffineAnimCmd *sAnimTaskAffineAnim = NULL; +#if P_ENABLE_DEBUG == TRUE +const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] = +#else static const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] = +#endif { { // Single battle { 72, 80 }, @@ -60,7 +64,11 @@ const struct MonCoords gCastformFrontSpriteCoords[NUM_CASTFORM_FORMS] = [CASTFORM_ICE] = { .size = MON_COORDS_SIZE(64, 48), .y_offset = 8 }, }; +#if P_ENABLE_DEBUG == TRUE +const u8 sCastformElevations[NUM_CASTFORM_FORMS] = +#else static const u8 sCastformElevations[NUM_CASTFORM_FORMS] = +#endif { [CASTFORM_NORMAL] = 13, [CASTFORM_FIRE] = 14, diff --git a/src/battle_bg.c b/src/battle_bg.c index a0136ead5..2b890c49a 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -26,6 +26,7 @@ #include "constants/trainers.h" #include "constants/battle_anim.h" +#if !P_ENABLE_DEBUG struct BattleBackground { const void *tileset; @@ -34,6 +35,7 @@ struct BattleBackground const void *entryTilemap; const void *palette; }; +#endif // .rodata static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData? @@ -600,7 +602,11 @@ const struct WindowTemplate * const gBattleWindowTemplates[] = [B_WIN_TYPE_ARENA] = gBattleArenaWindowTemplates, }; +#if P_ENABLE_DEBUG == TRUE +const struct BattleBackground sBattleTerrainTable[] = +#else static const struct BattleBackground sBattleTerrainTable[] = +#endif { [BATTLE_TERRAIN_GRASS] = { diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c index 9bd8420ac..49c3016da 100644 --- a/src/battle_gfx_sfx_util.c +++ b/src/battle_gfx_sfx_util.c @@ -78,7 +78,11 @@ static const struct CompressedSpriteSheet sSpriteSheets_HealthBar[MAX_BATTLERS_C {gBlankGfxCompressed, 0x0120, TAG_HEALTHBAR_OPPONENT2_TILE} }; +#if P_ENABLE_DEBUG == TRUE +const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = +#else static const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2] = +#endif { {gBattleInterface_BallStatusBarPal, TAG_HEALTHBOX_PAL}, {gBattleInterface_BallDisplayPal, TAG_HEALTHBAR_PAL} diff --git a/src/data.c b/src/data.c index e551ddcce..4b216cfd2 100644 --- a/src/data.c +++ b/src/data.c @@ -302,18 +302,6 @@ const union AnimCmd *const gAnims_MonPic[] = #define SPECIES_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species} #define SPECIES_SHINY_PAL(species, pal) [SPECIES_##species] = {pal, SPECIES_##species + SPECIES_SHINY_TAG} -const bool8 SpeciesHasGenderDifference[NUM_SPECIES] = -{ - [SPECIES_EEVEE] = TRUE, - [SPECIES_COMBEE] = TRUE, - [SPECIES_HIPPOPOTAS] = TRUE, - [SPECIES_HIPPOWDON] = TRUE, - [SPECIES_UNFEZANT] = TRUE, - [SPECIES_FRILLISH] = TRUE, - [SPECIES_JELLICENT] = TRUE, - [SPECIES_PYROAR] = TRUE, -}; - #include "data/pokemon_graphics/front_pic_coordinates.h" #include "data/pokemon_graphics/back_pic_coordinates.h" diff --git a/src/data/graphics/pokemon.h b/src/data/graphics/pokemon.h index 9ae0ad366..4db994c0d 100644 --- a/src/data/graphics/pokemon.h +++ b/src/data/graphics/pokemon.h @@ -397,13 +397,20 @@ const u32 gMonFrontPic_Piplup[] = INCBIN_U32("graphics/pokemon/piplup/anim_front const u32 gMonFrontPic_Prinplup[] = INCBIN_U32("graphics/pokemon/prinplup/anim_front.4bpp.lz"); const u32 gMonFrontPic_Empoleon[] = INCBIN_U32("graphics/pokemon/empoleon/anim_front.4bpp.lz"); const u32 gMonFrontPic_Starly[] = INCBIN_U32("graphics/pokemon/starly/anim_front.4bpp.lz"); +const u32 gMonFrontPic_StarlyF[] = INCBIN_U32("graphics/pokemon/starly/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Staravia[] = INCBIN_U32("graphics/pokemon/staravia/anim_front.4bpp.lz"); +const u32 gMonFrontPic_StaraviaF[] = INCBIN_U32("graphics/pokemon/staravia/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Staraptor[] = INCBIN_U32("graphics/pokemon/staraptor/anim_front.4bpp.lz"); +const u32 gMonFrontPic_StaraptorF[] = INCBIN_U32("graphics/pokemon/staraptor/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Bidoof[] = INCBIN_U32("graphics/pokemon/bidoof/anim_front.4bpp.lz"); +const u32 gMonFrontPic_BidoofF[] = INCBIN_U32("graphics/pokemon/bidoof/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Bibarel[] = INCBIN_U32("graphics/pokemon/bibarel/anim_front.4bpp.lz"); const u32 gMonFrontPic_Kricketot[] = INCBIN_U32("graphics/pokemon/kricketot/anim_front.4bpp.lz"); +const u32 gMonFrontPic_KricketotF[] = INCBIN_U32("graphics/pokemon/kricketot/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Kricketune[] = INCBIN_U32("graphics/pokemon/kricketune/anim_front.4bpp.lz"); +const u32 gMonFrontPic_KricketuneF[] = INCBIN_U32("graphics/pokemon/kricketune/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Shinx[] = INCBIN_U32("graphics/pokemon/shinx/anim_front.4bpp.lz"); +const u32 gMonFrontPic_ShinxF[] = INCBIN_U32("graphics/pokemon/shinx/anim_frontf.4bpp.lz"); const u32 gMonFrontPic_Luxio[] = INCBIN_U32("graphics/pokemon/luxio/anim_front.4bpp.lz"); const u32 gMonFrontPic_Luxray[] = INCBIN_U32("graphics/pokemon/luxray/anim_front.4bpp.lz"); const u32 gMonFrontPic_Budew[] = INCBIN_U32("graphics/pokemon/budew/anim_front.4bpp.lz"); @@ -1543,13 +1550,19 @@ const u32 gMonBackPic_Piplup[] = INCBIN_U32("graphics/pokemon/piplup/back.4bpp.l const u32 gMonBackPic_Prinplup[] = INCBIN_U32("graphics/pokemon/prinplup/back.4bpp.lz"); const u32 gMonBackPic_Empoleon[] = INCBIN_U32("graphics/pokemon/empoleon/back.4bpp.lz"); const u32 gMonBackPic_Starly[] = INCBIN_U32("graphics/pokemon/starly/back.4bpp.lz"); +const u32 gMonBackPic_StarlyF[] = INCBIN_U32("graphics/pokemon/starly/backf.4bpp.lz"); const u32 gMonBackPic_Staravia[] = INCBIN_U32("graphics/pokemon/staravia/back.4bpp.lz"); +const u32 gMonBackPic_StaraviaF[] = INCBIN_U32("graphics/pokemon/staravia/back.4bpp.lz"); const u32 gMonBackPic_Staraptor[] = INCBIN_U32("graphics/pokemon/staraptor/back.4bpp.lz"); const u32 gMonBackPic_Bidoof[] = INCBIN_U32("graphics/pokemon/bidoof/back.4bpp.lz"); +const u32 gMonBackPic_BidoofF[] = INCBIN_U32("graphics/pokemon/bidoof/backf.4bpp.lz"); const u32 gMonBackPic_Bibarel[] = INCBIN_U32("graphics/pokemon/bibarel/back.4bpp.lz"); const u32 gMonBackPic_Kricketot[] = INCBIN_U32("graphics/pokemon/kricketot/back.4bpp.lz"); +const u32 gMonBackPic_KricketotF[] = INCBIN_U32("graphics/pokemon/kricketot/backf.4bpp.lz"); const u32 gMonBackPic_Kricketune[] = INCBIN_U32("graphics/pokemon/kricketune/back.4bpp.lz"); +const u32 gMonBackPic_KricketuneF[] = INCBIN_U32("graphics/pokemon/kricketune/backf.4bpp.lz"); const u32 gMonBackPic_Shinx[] = INCBIN_U32("graphics/pokemon/shinx/back.4bpp.lz"); +const u32 gMonBackPic_ShinxF[] = INCBIN_U32("graphics/pokemon/shinx/backf.4bpp.lz"); const u32 gMonBackPic_Luxio[] = INCBIN_U32("graphics/pokemon/luxio/back.4bpp.lz"); const u32 gMonBackPic_Luxray[] = INCBIN_U32("graphics/pokemon/luxray/back.4bpp.lz"); const u32 gMonBackPic_Budew[] = INCBIN_U32("graphics/pokemon/budew/back.4bpp.lz"); @@ -6501,3 +6514,180 @@ const u8 gMonFootprint_Zygarde[] = INCBIN_U8("graphics/pokemon/zygarde/footprint const u8 gMonFootprint_Diancie[] = INCBIN_U8("graphics/pokemon/diancie/footprint.1bpp"); const u8 gMonFootprint_Hoopa[] = INCBIN_U8("graphics/pokemon/hoopa/footprint.1bpp"); const u8 gMonFootprint_Volcanion[] = INCBIN_U8("graphics/pokemon/volcanion/footprint.1bpp"); +const u8 gMonFootprint_Rowlet[] = INCBIN_U8("graphics/pokemon/rowlet/footprint.1bpp"); +const u8 gMonFootprint_Dartrix[] = INCBIN_U8("graphics/pokemon/dartrix/footprint.1bpp"); +const u8 gMonFootprint_Decidueye[] = INCBIN_U8("graphics/pokemon/decidueye/footprint.1bpp"); +const u8 gMonFootprint_Litten[] = INCBIN_U8("graphics/pokemon/litten/footprint.1bpp"); +const u8 gMonFootprint_Torracat[] = INCBIN_U8("graphics/pokemon/torracat/footprint.1bpp"); +const u8 gMonFootprint_Incineroar[] = INCBIN_U8("graphics/pokemon/incineroar/footprint.1bpp"); +const u8 gMonFootprint_Popplio[] = INCBIN_U8("graphics/pokemon/popplio/footprint.1bpp"); +const u8 gMonFootprint_Brionne[] = INCBIN_U8("graphics/pokemon/brionne/footprint.1bpp"); +const u8 gMonFootprint_Primarina[] = INCBIN_U8("graphics/pokemon/primarina/footprint.1bpp"); +const u8 gMonFootprint_Pikipek[] = INCBIN_U8("graphics/pokemon/pikipek/footprint.1bpp"); +const u8 gMonFootprint_Trumbeak[] = INCBIN_U8("graphics/pokemon/trumbeak/footprint.1bpp"); +const u8 gMonFootprint_Toucannon[] = INCBIN_U8("graphics/pokemon/toucannon/footprint.1bpp"); +const u8 gMonFootprint_Yungoos[] = INCBIN_U8("graphics/pokemon/yungoos/footprint.1bpp"); +const u8 gMonFootprint_Gumshoos[] = INCBIN_U8("graphics/pokemon/gumshoos/footprint.1bpp"); +const u8 gMonFootprint_Grubbin[] = INCBIN_U8("graphics/pokemon/grubbin/footprint.1bpp"); +const u8 gMonFootprint_Charjabug[] = INCBIN_U8("graphics/pokemon/charjabug/footprint.1bpp"); +const u8 gMonFootprint_Vikavolt[] = INCBIN_U8("graphics/pokemon/vikavolt/footprint.1bpp"); +const u8 gMonFootprint_Crabrawler[] = INCBIN_U8("graphics/pokemon/crabrawler/footprint.1bpp"); +const u8 gMonFootprint_Crabominable[] = INCBIN_U8("graphics/pokemon/crabominable/footprint.1bpp"); +const u8 gMonFootprint_Oricorio[] = INCBIN_U8("graphics/pokemon/oricorio/footprint.1bpp"); +const u8 gMonFootprint_Cutiefly[] = INCBIN_U8("graphics/pokemon/cutiefly/footprint.1bpp"); +const u8 gMonFootprint_Ribombee[] = INCBIN_U8("graphics/pokemon/ribombee/footprint.1bpp"); +const u8 gMonFootprint_Rockruff[] = INCBIN_U8("graphics/pokemon/rockruff/footprint.1bpp"); +const u8 gMonFootprint_Lycanroc[] = INCBIN_U8("graphics/pokemon/lycanroc/footprint.1bpp"); +const u8 gMonFootprint_Wishiwashi[] = INCBIN_U8("graphics/pokemon/wishiwashi/footprint.1bpp"); +const u8 gMonFootprint_Mareanie[] = INCBIN_U8("graphics/pokemon/mareanie/footprint.1bpp"); +const u8 gMonFootprint_Toxapex[] = INCBIN_U8("graphics/pokemon/toxapex/footprint.1bpp"); +const u8 gMonFootprint_Mudbray[] = INCBIN_U8("graphics/pokemon/mudbray/footprint.1bpp"); +const u8 gMonFootprint_Mudsdale[] = INCBIN_U8("graphics/pokemon/mudsdale/footprint.1bpp"); +const u8 gMonFootprint_Dewpider[] = INCBIN_U8("graphics/pokemon/dewpider/footprint.1bpp"); +const u8 gMonFootprint_Araquanid[] = INCBIN_U8("graphics/pokemon/araquanid/footprint.1bpp"); +const u8 gMonFootprint_Fomantis[] = INCBIN_U8("graphics/pokemon/fomantis/footprint.1bpp"); +const u8 gMonFootprint_Lurantis[] = INCBIN_U8("graphics/pokemon/lurantis/footprint.1bpp"); +const u8 gMonFootprint_Morelull[] = INCBIN_U8("graphics/pokemon/morelull/footprint.1bpp"); +const u8 gMonFootprint_Shiinotic[] = INCBIN_U8("graphics/pokemon/shiinotic/footprint.1bpp"); +const u8 gMonFootprint_Salandit[] = INCBIN_U8("graphics/pokemon/salandit/footprint.1bpp"); +const u8 gMonFootprint_Salazzle[] = INCBIN_U8("graphics/pokemon/salazzle/footprint.1bpp"); +const u8 gMonFootprint_Stufful[] = INCBIN_U8("graphics/pokemon/stufful/footprint.1bpp"); +const u8 gMonFootprint_Bewear[] = INCBIN_U8("graphics/pokemon/bewear/footprint.1bpp"); +const u8 gMonFootprint_Bounsweet[] = INCBIN_U8("graphics/pokemon/bounsweet/footprint.1bpp"); +const u8 gMonFootprint_Steenee[] = INCBIN_U8("graphics/pokemon/steenee/footprint.1bpp"); +const u8 gMonFootprint_Tsareena[] = INCBIN_U8("graphics/pokemon/tsareena/footprint.1bpp"); +const u8 gMonFootprint_Comfey[] = INCBIN_U8("graphics/pokemon/comfey/footprint.1bpp"); +const u8 gMonFootprint_Oranguru[] = INCBIN_U8("graphics/pokemon/oranguru/footprint.1bpp"); +const u8 gMonFootprint_Passimian[] = INCBIN_U8("graphics/pokemon/passimian/footprint.1bpp"); +const u8 gMonFootprint_Wimpod[] = INCBIN_U8("graphics/pokemon/wimpod/footprint.1bpp"); +const u8 gMonFootprint_Golisopod[] = INCBIN_U8("graphics/pokemon/golisopod/footprint.1bpp"); +const u8 gMonFootprint_Sandygast[] = INCBIN_U8("graphics/pokemon/sandygast/footprint.1bpp"); +const u8 gMonFootprint_Palossand[] = INCBIN_U8("graphics/pokemon/palossand/footprint.1bpp"); +const u8 gMonFootprint_Pyukumuku[] = INCBIN_U8("graphics/pokemon/pyukumuku/footprint.1bpp"); +const u8 gMonFootprint_Type_Null[] = INCBIN_U8("graphics/pokemon/type_null/footprint.1bpp"); +const u8 gMonFootprint_Silvally[] = INCBIN_U8("graphics/pokemon/silvally/footprint.1bpp"); +const u8 gMonFootprint_Minior[] = INCBIN_U8("graphics/pokemon/minior/footprint.1bpp"); +const u8 gMonFootprint_Komala[] = INCBIN_U8("graphics/pokemon/komala/footprint.1bpp"); +const u8 gMonFootprint_Turtonator[] = INCBIN_U8("graphics/pokemon/turtonator/footprint.1bpp"); +const u8 gMonFootprint_Togedemaru[] = INCBIN_U8("graphics/pokemon/togedemaru/footprint.1bpp"); +const u8 gMonFootprint_Mimikyu[] = INCBIN_U8("graphics/pokemon/mimikyu/footprint.1bpp"); +const u8 gMonFootprint_Bruxish[] = INCBIN_U8("graphics/pokemon/bruxish/footprint.1bpp"); +const u8 gMonFootprint_Drampa[] = INCBIN_U8("graphics/pokemon/drampa/footprint.1bpp"); +const u8 gMonFootprint_Dhelmise[] = INCBIN_U8("graphics/pokemon/dhelmise/footprint.1bpp"); +const u8 gMonFootprint_Jangmo_o[] = INCBIN_U8("graphics/pokemon/jangmo_o/footprint.1bpp"); +const u8 gMonFootprint_Hakamo_o[] = INCBIN_U8("graphics/pokemon/hakamo_o/footprint.1bpp"); +const u8 gMonFootprint_Kommo_o[] = INCBIN_U8("graphics/pokemon/kommo_o/footprint.1bpp"); +const u8 gMonFootprint_Tapu_Koko[] = INCBIN_U8("graphics/pokemon/tapu_koko/footprint.1bpp"); +const u8 gMonFootprint_Tapu_Lele[] = INCBIN_U8("graphics/pokemon/tapu_lele/footprint.1bpp"); +const u8 gMonFootprint_Tapu_Bulu[] = INCBIN_U8("graphics/pokemon/tapu_bulu/footprint.1bpp"); +const u8 gMonFootprint_Tapu_Fini[] = INCBIN_U8("graphics/pokemon/tapu_fini/footprint.1bpp"); +const u8 gMonFootprint_Cosmog[] = INCBIN_U8("graphics/pokemon/cosmog/footprint.1bpp"); +const u8 gMonFootprint_Cosmoem[] = INCBIN_U8("graphics/pokemon/cosmoem/footprint.1bpp"); +const u8 gMonFootprint_Solgaleo[] = INCBIN_U8("graphics/pokemon/solgaleo/footprint.1bpp"); +const u8 gMonFootprint_Lunala[] = INCBIN_U8("graphics/pokemon/lunala/footprint.1bpp"); +const u8 gMonFootprint_Nihilego[] = INCBIN_U8("graphics/pokemon/nihilego/footprint.1bpp"); +const u8 gMonFootprint_Buzzwole[] = INCBIN_U8("graphics/pokemon/buzzwole/footprint.1bpp"); +const u8 gMonFootprint_Pheromosa[] = INCBIN_U8("graphics/pokemon/pheromosa/footprint.1bpp"); +const u8 gMonFootprint_Xurkitree[] = INCBIN_U8("graphics/pokemon/xurkitree/footprint.1bpp"); +const u8 gMonFootprint_Celesteela[] = INCBIN_U8("graphics/pokemon/celesteela/footprint.1bpp"); +const u8 gMonFootprint_Kartana[] = INCBIN_U8("graphics/pokemon/kartana/footprint.1bpp"); +const u8 gMonFootprint_Guzzlord[] = INCBIN_U8("graphics/pokemon/guzzlord/footprint.1bpp"); +const u8 gMonFootprint_Necrozma[] = INCBIN_U8("graphics/pokemon/necrozma/footprint.1bpp"); +const u8 gMonFootprint_Magearna[] = INCBIN_U8("graphics/pokemon/magearna/footprint.1bpp"); +const u8 gMonFootprint_Marshadow[] = INCBIN_U8("graphics/pokemon/marshadow/footprint.1bpp"); +const u8 gMonFootprint_Poipole[] = INCBIN_U8("graphics/pokemon/poipole/footprint.1bpp"); +const u8 gMonFootprint_Naganadel[] = INCBIN_U8("graphics/pokemon/naganadel/footprint.1bpp"); +const u8 gMonFootprint_Stakataka[] = INCBIN_U8("graphics/pokemon/stakataka/footprint.1bpp"); +const u8 gMonFootprint_Blacephalon[] = INCBIN_U8("graphics/pokemon/blacephalon/footprint.1bpp"); +const u8 gMonFootprint_Zeraora[] = INCBIN_U8("graphics/pokemon/zeraora/footprint.1bpp"); +const u8 gMonFootprint_Meltan[] = INCBIN_U8("graphics/pokemon/meltan/footprint.1bpp"); +const u8 gMonFootprint_Melmetal[] = INCBIN_U8("graphics/pokemon/melmetal/footprint.1bpp"); +const u8 gMonFootprint_Grookey[] = INCBIN_U8("graphics/pokemon/grookey/footprint.1bpp"); +const u8 gMonFootprint_Thwackey[] = INCBIN_U8("graphics/pokemon/thwackey/footprint.1bpp"); +const u8 gMonFootprint_Rillaboom[] = INCBIN_U8("graphics/pokemon/rillaboom/footprint.1bpp"); +const u8 gMonFootprint_Scorbunny[] = INCBIN_U8("graphics/pokemon/scorbunny/footprint.1bpp"); +const u8 gMonFootprint_Raboot[] = INCBIN_U8("graphics/pokemon/raboot/footprint.1bpp"); +const u8 gMonFootprint_Cinderace[] = INCBIN_U8("graphics/pokemon/cinderace/footprint.1bpp"); +const u8 gMonFootprint_Sobble[] = INCBIN_U8("graphics/pokemon/sobble/footprint.1bpp"); +const u8 gMonFootprint_Drizzile[] = INCBIN_U8("graphics/pokemon/drizzile/footprint.1bpp"); +const u8 gMonFootprint_Inteleon[] = INCBIN_U8("graphics/pokemon/inteleon/footprint.1bpp"); +const u8 gMonFootprint_Skwovet[] = INCBIN_U8("graphics/pokemon/skwovet/footprint.1bpp"); +const u8 gMonFootprint_Greedent[] = INCBIN_U8("graphics/pokemon/greedent/footprint.1bpp"); +const u8 gMonFootprint_Rookidee[] = INCBIN_U8("graphics/pokemon/rookidee/footprint.1bpp"); +const u8 gMonFootprint_Corvisquire[] = INCBIN_U8("graphics/pokemon/corvisquire/footprint.1bpp"); +const u8 gMonFootprint_Corviknight[] = INCBIN_U8("graphics/pokemon/corviknight/footprint.1bpp"); +const u8 gMonFootprint_Blipbug[] = INCBIN_U8("graphics/pokemon/blipbug/footprint.1bpp"); +const u8 gMonFootprint_Dottler[] = INCBIN_U8("graphics/pokemon/dottler/footprint.1bpp"); +const u8 gMonFootprint_Orbeetle[] = INCBIN_U8("graphics/pokemon/orbeetle/footprint.1bpp"); +const u8 gMonFootprint_Nickit[] = INCBIN_U8("graphics/pokemon/nickit/footprint.1bpp"); +const u8 gMonFootprint_Thievul[] = INCBIN_U8("graphics/pokemon/thievul/footprint.1bpp"); +const u8 gMonFootprint_Gossifleur[] = INCBIN_U8("graphics/pokemon/gossifleur/footprint.1bpp"); +const u8 gMonFootprint_Eldegoss[] = INCBIN_U8("graphics/pokemon/eldegoss/footprint.1bpp"); +const u8 gMonFootprint_Wooloo[] = INCBIN_U8("graphics/pokemon/wooloo/footprint.1bpp"); +const u8 gMonFootprint_Dubwool[] = INCBIN_U8("graphics/pokemon/dubwool/footprint.1bpp"); +const u8 gMonFootprint_Chewtle[] = INCBIN_U8("graphics/pokemon/chewtle/footprint.1bpp"); +const u8 gMonFootprint_Drednaw[] = INCBIN_U8("graphics/pokemon/drednaw/footprint.1bpp"); +const u8 gMonFootprint_Yamper[] = INCBIN_U8("graphics/pokemon/yamper/footprint.1bpp"); +const u8 gMonFootprint_Boltund[] = INCBIN_U8("graphics/pokemon/boltund/footprint.1bpp"); +const u8 gMonFootprint_Rolycoly[] = INCBIN_U8("graphics/pokemon/rolycoly/footprint.1bpp"); +const u8 gMonFootprint_Carkol[] = INCBIN_U8("graphics/pokemon/carkol/footprint.1bpp"); +const u8 gMonFootprint_Coalossal[] = INCBIN_U8("graphics/pokemon/coalossal/footprint.1bpp"); +const u8 gMonFootprint_Applin[] = INCBIN_U8("graphics/pokemon/applin/footprint.1bpp"); +const u8 gMonFootprint_Flapple[] = INCBIN_U8("graphics/pokemon/flapple/footprint.1bpp"); +const u8 gMonFootprint_Appletun[] = INCBIN_U8("graphics/pokemon/appletun/footprint.1bpp"); +const u8 gMonFootprint_Silicobra[] = INCBIN_U8("graphics/pokemon/silicobra/footprint.1bpp"); +const u8 gMonFootprint_Sandaconda[] = INCBIN_U8("graphics/pokemon/sandaconda/footprint.1bpp"); +const u8 gMonFootprint_Cramorant[] = INCBIN_U8("graphics/pokemon/cramorant/footprint.1bpp"); +const u8 gMonFootprint_Arrokuda[] = INCBIN_U8("graphics/pokemon/arrokuda/footprint.1bpp"); +const u8 gMonFootprint_Barraskewda[] = INCBIN_U8("graphics/pokemon/barraskewda/footprint.1bpp"); +const u8 gMonFootprint_Toxel[] = INCBIN_U8("graphics/pokemon/toxel/footprint.1bpp"); +const u8 gMonFootprint_Toxtricity[] = INCBIN_U8("graphics/pokemon/toxtricity/footprint.1bpp"); +const u8 gMonFootprint_Sizzlipede[] = INCBIN_U8("graphics/pokemon/sizzlipede/footprint.1bpp"); +const u8 gMonFootprint_Centiskorch[] = INCBIN_U8("graphics/pokemon/centiskorch/footprint.1bpp"); +const u8 gMonFootprint_Clobbopus[] = INCBIN_U8("graphics/pokemon/clobbopus/footprint.1bpp"); +const u8 gMonFootprint_Grapploct[] = INCBIN_U8("graphics/pokemon/grapploct/footprint.1bpp"); +const u8 gMonFootprint_Sinistea[] = INCBIN_U8("graphics/pokemon/sinistea/footprint.1bpp"); +const u8 gMonFootprint_Polteageist[] = INCBIN_U8("graphics/pokemon/polteageist/footprint.1bpp"); +const u8 gMonFootprint_Hatenna[] = INCBIN_U8("graphics/pokemon/hatenna/footprint.1bpp"); +const u8 gMonFootprint_Hattrem[] = INCBIN_U8("graphics/pokemon/hattrem/footprint.1bpp"); +const u8 gMonFootprint_Hatterene[] = INCBIN_U8("graphics/pokemon/hatterene/footprint.1bpp"); +const u8 gMonFootprint_Impidimp[] = INCBIN_U8("graphics/pokemon/impidimp/footprint.1bpp"); +const u8 gMonFootprint_Morgrem[] = INCBIN_U8("graphics/pokemon/morgrem/footprint.1bpp"); +const u8 gMonFootprint_Grimmsnarl[] = INCBIN_U8("graphics/pokemon/grimmsnarl/footprint.1bpp"); +const u8 gMonFootprint_Obstagoon[] = INCBIN_U8("graphics/pokemon/obstagoon/footprint.1bpp"); +const u8 gMonFootprint_Perrserker[] = INCBIN_U8("graphics/pokemon/perrserker/footprint.1bpp"); +const u8 gMonFootprint_Cursola[] = INCBIN_U8("graphics/pokemon/cursola/footprint.1bpp"); +const u8 gMonFootprint_Sirfetchd[] = INCBIN_U8("graphics/pokemon/sirfetchd/footprint.1bpp"); +const u8 gMonFootprint_Mr_Rime[] = INCBIN_U8("graphics/pokemon/mr_rime/footprint.1bpp"); +const u8 gMonFootprint_Runerigus[] = INCBIN_U8("graphics/pokemon/runerigus/footprint.1bpp"); +const u8 gMonFootprint_Milcery[] = INCBIN_U8("graphics/pokemon/milcery/footprint.1bpp"); +const u8 gMonFootprint_Alcremie[] = INCBIN_U8("graphics/pokemon/alcremie/footprint.1bpp"); +const u8 gMonFootprint_Falinks[] = INCBIN_U8("graphics/pokemon/falinks/footprint.1bpp"); +const u8 gMonFootprint_Pincurchin[] = INCBIN_U8("graphics/pokemon/pincurchin/footprint.1bpp"); +const u8 gMonFootprint_Snom[] = INCBIN_U8("graphics/pokemon/snom/footprint.1bpp"); +const u8 gMonFootprint_Frosmoth[] = INCBIN_U8("graphics/pokemon/frosmoth/footprint.1bpp"); +const u8 gMonFootprint_Stonjourner[] = INCBIN_U8("graphics/pokemon/stonjourner/footprint.1bpp"); +const u8 gMonFootprint_Eiscue[] = INCBIN_U8("graphics/pokemon/eiscue/footprint.1bpp"); +const u8 gMonFootprint_Indeedee[] = INCBIN_U8("graphics/pokemon/indeedee/footprint.1bpp"); +const u8 gMonFootprint_Morpeko[] = INCBIN_U8("graphics/pokemon/morpeko/footprint.1bpp"); +const u8 gMonFootprint_Cufant[] = INCBIN_U8("graphics/pokemon/cufant/footprint.1bpp"); +const u8 gMonFootprint_Copperajah[] = INCBIN_U8("graphics/pokemon/copperajah/footprint.1bpp"); +const u8 gMonFootprint_Dracozolt[] = INCBIN_U8("graphics/pokemon/dracozolt/footprint.1bpp"); +const u8 gMonFootprint_Arctozolt[] = INCBIN_U8("graphics/pokemon/arctozolt/footprint.1bpp"); +const u8 gMonFootprint_Dracovish[] = INCBIN_U8("graphics/pokemon/dracovish/footprint.1bpp"); +const u8 gMonFootprint_Arctovish[] = INCBIN_U8("graphics/pokemon/arctovish/footprint.1bpp"); +const u8 gMonFootprint_Duraludon[] = INCBIN_U8("graphics/pokemon/duraludon/footprint.1bpp"); +const u8 gMonFootprint_Dreepy[] = INCBIN_U8("graphics/pokemon/dreepy/footprint.1bpp"); +const u8 gMonFootprint_Drakloak[] = INCBIN_U8("graphics/pokemon/drakloak/footprint.1bpp"); +const u8 gMonFootprint_Dragapult[] = INCBIN_U8("graphics/pokemon/dragapult/footprint.1bpp"); +const u8 gMonFootprint_Zacian[] = INCBIN_U8("graphics/pokemon/zacian/footprint.1bpp"); +const u8 gMonFootprint_Zamazenta[] = INCBIN_U8("graphics/pokemon/zamazenta/footprint.1bpp"); +const u8 gMonFootprint_Eternatus[] = INCBIN_U8("graphics/pokemon/eternatus/footprint.1bpp"); +const u8 gMonFootprint_Kubfu[] = INCBIN_U8("graphics/pokemon/kubfu/footprint.1bpp"); +const u8 gMonFootprint_Urshifu[] = INCBIN_U8("graphics/pokemon/urshifu/footprint.1bpp"); +const u8 gMonFootprint_Zarude[] = INCBIN_U8("graphics/pokemon/zarude/footprint.1bpp"); +const u8 gMonFootprint_Regieleki[] = INCBIN_U8("graphics/pokemon/regieleki/footprint.1bpp"); +const u8 gMonFootprint_Regidrago[] = INCBIN_U8("graphics/pokemon/regidrago/footprint.1bpp"); +const u8 gMonFootprint_Glastrier[] = INCBIN_U8("graphics/pokemon/glastrier/footprint.1bpp"); +const u8 gMonFootprint_Spectrier[] = INCBIN_U8("graphics/pokemon/spectrier/footprint.1bpp"); +const u8 gMonFootprint_Calyrex[] = INCBIN_U8("graphics/pokemon/calyrex/footprint.1bpp"); diff --git a/src/data/pokemon/base_stats.h b/src/data/pokemon/base_stats.h index b9f43bfce..a67ea10a2 100644 --- a/src/data/pokemon/base_stats.h +++ b/src/data/pokemon/base_stats.h @@ -3790,6 +3790,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_VAPOREON] = @@ -11194,6 +11195,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAVIA] = @@ -11222,6 +11224,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_STARAPTOR] = @@ -11282,6 +11285,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_BIBAREL] = @@ -11337,6 +11341,7 @@ const struct BaseStats gBaseStats[] = .abilities = {ABILITY_SHED_SKIN, ABILITY_NONE, ABILITY_RUN_AWAY}, .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_KRICKETUNE] = @@ -11368,6 +11373,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_RED, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_SHINX] = @@ -11396,6 +11402,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BLUE, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_LUXIO] = @@ -11736,6 +11743,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_YELLOW, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_VESPIQUEN] = @@ -12672,6 +12680,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_HIPPOWDON] = @@ -12700,6 +12709,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_SKORUPI] = @@ -14676,6 +14686,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_GRAY, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_BLITZLE] = @@ -16767,6 +16778,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_JELLICENT] = @@ -16795,6 +16807,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_WHITE, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_ALOMOMOLA] = @@ -18879,6 +18892,7 @@ const struct BaseStats gBaseStats[] = #endif .bodyColor = BODY_COLOR_BROWN, .noFlip = FALSE, + .flags = FLAG_GENDER_DIFFERENCE, }, [SPECIES_FLABEBE] = @@ -27413,7 +27427,6 @@ const struct BaseStats gBaseStats[] = .flags = FLAG_GALARIAN_FORM, }, - [SPECIES_SLOWBRO_GALARIAN] = { .baseHP = 95, diff --git a/src/data/pokemon/evolution.h b/src/data/pokemon/evolution.h index f5fdda617..5fe8d69b9 100644 --- a/src/data/pokemon/evolution.h +++ b/src/data/pokemon/evolution.h @@ -471,8 +471,8 @@ const struct Evolution gEvolutionTable[NUM_SPECIES][EVOS_PER_MON] = {EVO_ITEM, ITEM_NONE, SPECIES_APPLETUN}}, [SPECIES_SILICOBRA] = {{EVO_LEVEL, 36, SPECIES_SANDACONDA}}, [SPECIES_ARROKUDA] = {{EVO_LEVEL, 26, SPECIES_BARRASKEWDA}}, - [SPECIES_TOXEL] = {{EVO_LEVEL, 30, SPECIES_TOXTRICITY}, - {EVO_LEVEL, 30, SPECIES_TOXTRICITY_LOW_KEY}}, + [SPECIES_TOXEL] = {{EVO_LEVEL_NATURE_AMPED, 30, SPECIES_TOXTRICITY}, + {EVO_LEVEL_NATURE_LOW_KEY, 30, SPECIES_TOXTRICITY_LOW_KEY}}, [SPECIES_SIZZLIPEDE] = {{EVO_LEVEL, 28, SPECIES_CENTISKORCH}}, [SPECIES_CLOBBOPUS] = {{EVO_MOVE, MOVE_TAUNT, SPECIES_GRAPPLOCT}}, [SPECIES_SINISTEA] = {{EVO_ITEM, ITEM_NONE, SPECIES_POLTEAGEIST}}, diff --git a/src/data/pokemon/form_change_table_pointers.h b/src/data/pokemon/form_change_table_pointers.h index 777b174a4..39fcc7aee 100644 --- a/src/data/pokemon/form_change_table_pointers.h +++ b/src/data/pokemon/form_change_table_pointers.h @@ -1,6 +1,7 @@ const struct FormChange *const gFormChangeTablePointers[NUM_SPECIES] = { [SPECIES_GIRATINA] = sGiratinaFormChangeTable, + [SPECIES_GIRATINA_ORIGIN] = sGiratinaFormChangeTable, [SPECIES_SHAYMIN] = sShayminFormChangeTable, [SPECIES_SHAYMIN_SKY] = sShayminSkyFormChangeTable, [SPECIES_ARCEUS] = sArceusFormChangeTable, diff --git a/src/data/pokemon/form_change_tables.h b/src/data/pokemon/form_change_tables.h index a84d376b0..f980f14b8 100644 --- a/src/data/pokemon/form_change_tables.h +++ b/src/data/pokemon/form_change_tables.h @@ -40,6 +40,7 @@ FORM_ITEM_USE_TIME: #define NIGHT 1 static const struct FormChange sGiratinaFormChangeTable[] = { + {FORM_ITEM_HOLD, SPECIES_GIRATINA, ITEM_NONE}, {FORM_ITEM_HOLD, SPECIES_GIRATINA_ORIGIN, ITEM_GRISEOUS_ORB}, {FORM_CHANGE_END}, }; diff --git a/src/data/pokemon/form_species_tables.h b/src/data/pokemon/form_species_tables.h index 89b3f4eec..810da6499 100644 --- a/src/data/pokemon/form_species_tables.h +++ b/src/data/pokemon/form_species_tables.h @@ -1,5 +1,3 @@ -#define FORM_SPECIES_END (0xffff) - static const u16 sVenusaurFormSpeciesIdTable[] = { SPECIES_VENUSAUR, SPECIES_VENUSAUR_MEGA, diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h index 4403a6292..15d56ee9d 100644 --- a/src/data/pokemon/pokedex_text.h +++ b/src/data/pokemon/pokedex_text.h @@ -2546,8 +2546,7 @@ const u8 gAmbipomPokedexText[] = _( "They live on large trees. Split into two,\n" "the tails are so adept at handling and\n" "doing things, Ambipom rarely uses\n" - "its hands now.\n" - ""); + "its hands now."); const u8 gDrifloonPokedexText[] = _( "Because of the way it floats aimlessly,\n" @@ -3045,8 +3044,7 @@ const u8 gHerdierPokedexText[] = _( "Its dense black fur grows continuously.\n" "The high cost of keeping its hard fur\n" "properly groomed makes this a\n" - "troublesome Pokémon to train.\n" - ""); + "troublesome Pokémon to train."); const u8 gStoutlandPokedexText[] = _( "Intelligent, good-natured, and valiant,\n" @@ -3190,8 +3188,7 @@ const u8 gAudinoPokedexText[] = _( "Its auditory sense is astounding.\n" "Using the feelers on its ears, it can tell\n" "how someone is feeling or when an egg\n" - "might hatch.\n" - ""); + "might hatch."); const u8 gTimburrPokedexText[] = _( "These Pokémon appear at building\n" @@ -3383,8 +3380,7 @@ const u8 gCofagrigusPokedexText[] = _( "Grave robbers who mistake them for\n" "real coffins and get too close end up\n" "trapped inside their bodies. Their bodies\n" - "are covered in pure gold.\n" - ""); + "are covered in pure gold."); const u8 gTirtougaPokedexText[] = _( "Reputed to be the ancestor of most\n" @@ -4260,15 +4256,13 @@ const u8 gTrevenantPokedexText[] = _( "Through its roots, it exerts control over\n" "other trees. A deadly curse falls upon\n" "anyone cutting down trees in forests\n" - "where Trevenant dwell.\n" - ""); + "where Trevenant dwell."); const u8 gPumpkabooPokedexText[] = _( "It is said to carry wandering spirits to\n" "the place where they belong so they can\n" "move on. As the sun sets, it becomes\n" - "restless and active.\n" - ""); + "restless and active."); const u8 gGourgeistPokedexText[] = _( "Singing in eerie voices, they wander town\n" @@ -4514,8 +4508,7 @@ const u8 gDewpiderPokedexText[] = _( "It crawls onto the land in search of food.\n" "When it comes across enemies or potential\n" "prey, this Pokémon smashes its\n" - "water-bubble-covered head into them.\n" - ""); + "water-bubble-covered head into them."); const u8 gAraquanidPokedexText[] = _( "Despite what its appearance suggests,\n" diff --git a/src/data/pokemon_graphics/back_pic_table.h b/src/data/pokemon_graphics/back_pic_table.h index 9d108ce83..80f7aab3b 100644 --- a/src/data/pokemon_graphics/back_pic_table.h +++ b/src/data/pokemon_graphics/back_pic_table.h @@ -1278,6 +1278,13 @@ const struct CompressedSpriteSheet gMonBackPicTable[] = const struct CompressedSpriteSheet gMonBackPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonBackPic_EeveeF), + SPECIES_SPRITE(STARLY, gMonBackPic_StarlyF), + SPECIES_SPRITE(STARAVIA, gMonBackPic_StaraviaF), + SPECIES_SPRITE(STARAPTOR, gMonBackPic_Staraptor), + SPECIES_SPRITE(BIDOOF, gMonBackPic_BidoofF), + SPECIES_SPRITE(KRICKETOT, gMonBackPic_KricketotF), + SPECIES_SPRITE(KRICKETUNE, gMonBackPic_KricketuneF), + SPECIES_SPRITE(SHINX, gMonBackPic_ShinxF), SPECIES_SPRITE(COMBEE, gMonBackPic_Combee), SPECIES_SPRITE(HIPPOPOTAS, gMonBackPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonBackPic_HippowdonF), diff --git a/src/data/pokemon_graphics/enemy_mon_elevation.h b/src/data/pokemon_graphics/enemy_mon_elevation.h index c0896e3fe..84a5ea9fa 100644 --- a/src/data/pokemon_graphics/enemy_mon_elevation.h +++ b/src/data/pokemon_graphics/enemy_mon_elevation.h @@ -14,8 +14,6 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_MAGNETON] = 9, [SPECIES_GASTLY] = 10, [SPECIES_HAUNTER] = 11, - [SPECIES_VOLTORB] = 11, - [SPECIES_ELECTRODE] = 12, [SPECIES_KOFFING] = 14, [SPECIES_WEEZING] = 6, [SPECIES_AERODACTYL] = 9, @@ -31,6 +29,8 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_MISDREAVUS] = 12, [SPECIES_UNOWN] = 8, [SPECIES_GLIGAR] = 8, + [SPECIES_MANTINE] = 6, + [SPECIES_PORYGON2] = 9, [SPECIES_LUGIA] = 6, [SPECIES_HO_OH] = 6, [SPECIES_CELEBI] = 15, @@ -41,13 +41,12 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_WINGULL] = 15, [SPECIES_PELIPPER] = 8, [SPECIES_MASQUERAIN] = 10, - [SPECIES_BALTOY] = 1, + [SPECIES_BALTOY] = 5, [SPECIES_CLAYDOL] = 10, [SPECIES_FLYGON] = 7, [SPECIES_GLALIE] = 12, [SPECIES_LUNATONE] = 13, [SPECIES_SOLROCK] = 4, - [SPECIES_SWABLU] = 12, [SPECIES_ALTARIA] = 8, [SPECIES_DUSKULL] = 13, [SPECIES_SHUPPET] = 14, @@ -66,11 +65,14 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_DRIFLOON] = 5, [SPECIES_DRIFBLIM] = 7, [SPECIES_MISMAGIUS] = 3, + [SPECIES_CHINGLING] = 5, [SPECIES_BRONZONG] = 4, [SPECIES_MAGNEZONE] = 4, [SPECIES_TOGEKISS] = 14, [SPECIES_YANMEGA] = 6, - [SPECIES_GLISCOR] = 6, + [SPECIES_GLISCOR] = 9, + [SPECIES_PORYGON_Z] = 12, + [SPECIES_PROBOPASS] = 6, [SPECIES_ROTOM] = 10, [SPECIES_UXIE] = 6, [SPECIES_MESPRIT] = 6, @@ -78,6 +80,8 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_CRESSELIA] = 3, [SPECIES_DARKRAI] = 4, // Gen 5 + [SPECIES_MUNNA] = 7, + [SPECIES_MUSHARNA] = 5, [SPECIES_WOOBAT] = 19, [SPECIES_SWOOBAT] = 12, [SPECIES_PETILIL] = 7, @@ -86,50 +90,178 @@ const u8 gEnemyMonElevation[NUM_SPECIES] = [SPECIES_ARCHEOPS] = 8, [SPECIES_SOLOSIS] = 14, [SPECIES_DUOSION] = 7, - [SPECIES_REUNICLUS] = 3, + [SPECIES_REUNICLUS] = 8, [SPECIES_EMOLGA] = 19, [SPECIES_TYNAMO] = 16, [SPECIES_EELEKTRIK] = 8, [SPECIES_EELEKTROSS] = 8, + [SPECIES_CRYOGONAL] = 3, [SPECIES_BRAVIARY] = 8, [SPECIES_HYDREIGON] = 3, + [SPECIES_VOLCARONA] = 6, [SPECIES_TORNADUS] = 7, [SPECIES_THUNDURUS] = 7, [SPECIES_LANDORUS] = 7, + [SPECIES_MELOETTA] = 8, // Gen 6 [SPECIES_FLETCHINDER] = 9, [SPECIES_TALONFLAME] = 7, [SPECIES_VIVILLON] = 9, + [SPECIES_FLABEBE] = 6, + [SPECIES_FLOETTE] = 4, + [SPECIES_HONEDGE] = 4, + [SPECIES_DOUBLADE] = 5, + [SPECIES_AEGISLASH] = 3, + [SPECIES_SPRITZEE] = 14, + [SPECIES_INKAY] = 14, + [SPECIES_CARBINK] = 4, + [SPECIES_KLEFKI] = 5, + [SPECIES_PHANTUMP] = 5, [SPECIES_NOIBAT] = 8, + [SPECIES_YVELTAL] = 5, [SPECIES_HOOPA] = 13, // Gen 7 [SPECIES_VIKAVOLT] = 8, [SPECIES_CUTIEFLY] = 10, + [SPECIES_RIBOMBEE] = 6, + [SPECIES_COMFEY] = 8, [SPECIES_MINIOR] = 17, + [SPECIES_DHELMISE] = 2, + [SPECIES_TAPU_KOKO] = 9, + [SPECIES_TAPU_LELE] = 8, + [SPECIES_TAPU_BULU] = 5, + [SPECIES_TAPU_FINI] = 6, + [SPECIES_COSMOG] = 7, + [SPECIES_COSMOEM] = 3, + [SPECIES_LUNALA] = 6, + [SPECIES_NIHILEGO] = 6, + [SPECIES_KARTANA] = 3, + [SPECIES_NECROZMA] = 6, + [SPECIES_POIPOLE] = 9, + [SPECIES_NAGANADEL] = 7, // Gen 8 - [SPECIES_CORVISQUIRE] = 6, + [SPECIES_CORVISQUIRE] = 10, + [SPECIES_ORBEETLE] = 8, + [SPECIES_FLAPPLE] = 9, + [SPECIES_SINISTEA] = 9, + [SPECIES_POLTEAGEIST] = 11, + [SPECIES_RUNERIGUS] = 5, + [SPECIES_MILCERY] = 10, + [SPECIES_FROSMOTH] = 7, + [SPECIES_DREEPY] = 5, + [SPECIES_DRAKLOAK] = 5, [SPECIES_DRAGAPULT] = 3, - [SPECIES_FROSMOTH] = 3, + [SPECIES_ETERNATUS] = 4, + [SPECIES_REGIELEKI] = 8, + [SPECIES_REGIDRAGO] = 5, // Megas + [SPECIES_BEEDRILL_MEGA] = 5, + [SPECIES_PIDGEOT_MEGA] = 8, + [SPECIES_ALAKAZAM_MEGA] = 7, + [SPECIES_PINSIR_MEGA] = 4, + [SPECIES_GYARADOS_MEGA] = 6, + [SPECIES_AERODACTYL_MEGA] = 7, + [SPECIES_MEWTWO_MEGA_Y] = 3, + [SPECIES_SHARPEDO_MEGA] = 1, + [SPECIES_ALTARIA_MEGA] = 6, + [SPECIES_BANETTE_MEGA] = 5, + [SPECIES_GLALIE_MEGA] = 8, + [SPECIES_METAGROSS_MEGA] = 4, [SPECIES_LATIAS_MEGA] = 8, [SPECIES_LATIOS_MEGA] = 8, - [SPECIES_METAGROSS_MEGA] = 4, - [SPECIES_GLALIE_MEGA] = 8, - [SPECIES_ALTARIA_MEGA] = 6, - [SPECIES_SHARPEDO_MEGA] = 1, - [SPECIES_PIDGEOT_MEGA] = 8, - [SPECIES_BEEDRILL_MEGA] = 5, - [SPECIES_BANETTE_MEGA] = 5, - [SPECIES_MEWTWO_MEGA_Y] = 3, - [SPECIES_AERODACTYL_MEGA] = 3, - [SPECIES_GYARADOS_MEGA] = 6, - [SPECIES_PINSIR_MEGA] = 4, - [SPECIES_ALAKAZAM_MEGA] = 7, + [SPECIES_RAYQUAZA_MEGA] = 4, + // Alolan Forms + [SPECIES_RAICHU_ALOLAN] = 4, + [SPECIES_GEODUDE_ALOLAN] = 16, // Galarian Forms - [SPECIES_WEEZING_GALARIAN] = 3, + [SPECIES_WEEZING_GALARIAN] = 6, + [SPECIES_ARTICUNO_GALARIAN] = 10, [SPECIES_YAMASK_GALARIAN] = 4, - // Misc Forms + // Other Forms + [SPECIES_UNOWN_B] = 8, + [SPECIES_UNOWN_C] = 8, + [SPECIES_UNOWN_D] = 8, + [SPECIES_UNOWN_E] = 8, + [SPECIES_UNOWN_F] = 8, + [SPECIES_UNOWN_G] = 8, + [SPECIES_UNOWN_H] = 8, + [SPECIES_UNOWN_I] = 8, + [SPECIES_UNOWN_J] = 8, + [SPECIES_UNOWN_K] = 8, + [SPECIES_UNOWN_L] = 8, + [SPECIES_UNOWN_M] = 8, + [SPECIES_UNOWN_N] = 8, + [SPECIES_UNOWN_O] = 8, + [SPECIES_UNOWN_P] = 8, + [SPECIES_UNOWN_Q] = 8, + [SPECIES_UNOWN_R] = 8, + [SPECIES_UNOWN_S] = 8, + [SPECIES_UNOWN_T] = 8, + [SPECIES_UNOWN_U] = 8, + [SPECIES_UNOWN_V] = 8, + [SPECIES_UNOWN_W] = 8, + [SPECIES_UNOWN_X] = 8, + [SPECIES_UNOWN_Y] = 8, + [SPECIES_UNOWN_Z] = 8, + [SPECIES_UNOWN_QMARK] = 8, + [SPECIES_UNOWN_EMARK] = 8, + [SPECIES_CASTFORM_SUNNY] = 5, + [SPECIES_CASTFORM_RAINY] = 5, + [SPECIES_CASTFORM_SNOWY] = 5, + [SPECIES_ROTOM_HEAT] = 6, + [SPECIES_ROTOM_WASH] = 6, + [SPECIES_ROTOM_FROST] = 6, + [SPECIES_ROTOM_FAN] = 6, + [SPECIES_ROTOM_MOW] = 6, [SPECIES_GIRATINA_ORIGIN] = 7, [SPECIES_THUNDURUS_THERIAN] = 7, - [SPECIES_ETERNATUS_ETERNAMAX] = 4, + [SPECIES_MELOETTA_PIROUETTE] = 5, + [SPECIES_VIVILLON_POLAR] = 9, + [SPECIES_VIVILLON_TUNDRA] = 9, + [SPECIES_VIVILLON_CONTINENTAL] = 9, + [SPECIES_VIVILLON_GARDEN] = 9, + [SPECIES_VIVILLON_ELEGANT] = 9, + [SPECIES_VIVILLON_MEADOW] = 9, + [SPECIES_VIVILLON_MODERN] = 9, + [SPECIES_VIVILLON_MARINE] = 9, + [SPECIES_VIVILLON_ARCHIPELAGO] = 9, + [SPECIES_VIVILLON_HIGH_PLAINS] = 9, + [SPECIES_VIVILLON_SANDSTORM] = 9, + [SPECIES_VIVILLON_RIVER] = 9, + [SPECIES_VIVILLON_MONSOON] = 9, + [SPECIES_VIVILLON_SAVANNA] = 9, + [SPECIES_VIVILLON_SUN] = 9, + [SPECIES_VIVILLON_OCEAN] = 9, + [SPECIES_VIVILLON_JUNGLE] = 9, + [SPECIES_VIVILLON_FANCY] = 9, + [SPECIES_VIVILLON_POKE_BALL] = 9, + [SPECIES_FLABEBE_YELLOW_FLOWER] = 6, + [SPECIES_FLABEBE_ORANGE_FLOWER] = 6, + [SPECIES_FLABEBE_BLUE_FLOWER] = 6, + [SPECIES_FLABEBE_WHITE_FLOWER] = 6, + [SPECIES_FLOETTE_YELLOW_FLOWER] = 4, + [SPECIES_FLOETTE_ORANGE_FLOWER] = 4, + [SPECIES_FLOETTE_BLUE_FLOWER] = 4, + [SPECIES_FLOETTE_WHITE_FLOWER] = 4, + [SPECIES_FLOETTE_ETERNAL_FLOWER] = 4, + [SPECIES_AEGISLASH_BLADE] = 3, + [SPECIES_HOOPA_UNBOUND] = 3, + [SPECIES_MINIOR_METEOR_ORANGE] = 17, + [SPECIES_MINIOR_METEOR_YELLOW] = 17, + [SPECIES_MINIOR_METEOR_GREEN] = 17, + [SPECIES_MINIOR_METEOR_BLUE] = 17, + [SPECIES_MINIOR_METEOR_INDIGO] = 17, + [SPECIES_MINIOR_METEOR_VIOLET] = 17, + [SPECIES_MINIOR_CORE_RED] = 17, + [SPECIES_MINIOR_CORE_ORANGE] = 17, + [SPECIES_MINIOR_CORE_YELLOW] = 17, + [SPECIES_MINIOR_CORE_GREEN] = 17, + [SPECIES_MINIOR_CORE_BLUE] = 17, + [SPECIES_MINIOR_CORE_INDIGO] = 17, + [SPECIES_MINIOR_CORE_VIOLET] = 17, + [SPECIES_NECROZMA_DAWN_WINGS] = 6, + [SPECIES_NECROZMA_ULTRA] = 5, + [SPECIES_SINISTEA_ANTIQUE] = 10, + [SPECIES_POLTEAGEIST_ANTIQUE] = 12, + [SPECIES_ETERNATUS_ETERNAMAX] = 13, }; diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h index 6ba0e7fcc..da05b7fff 100644 --- a/src/data/pokemon_graphics/footprint_table.h +++ b/src/data/pokemon_graphics/footprint_table.h @@ -722,5 +722,182 @@ const u8 *const gMonFootprintTable[] = [SPECIES_DIANCIE] = gMonFootprint_Diancie, [SPECIES_HOOPA] = gMonFootprint_Hoopa, [SPECIES_VOLCANION] = gMonFootprint_Volcanion, + [SPECIES_ROWLET] = gMonFootprint_Rowlet, + [SPECIES_DARTRIX] = gMonFootprint_Dartrix, + [SPECIES_DECIDUEYE] = gMonFootprint_Decidueye, + [SPECIES_LITTEN] = gMonFootprint_Litten, + [SPECIES_TORRACAT] = gMonFootprint_Torracat, + [SPECIES_INCINEROAR] = gMonFootprint_Incineroar, + [SPECIES_POPPLIO] = gMonFootprint_Popplio, + [SPECIES_BRIONNE] = gMonFootprint_Brionne, + [SPECIES_PRIMARINA] = gMonFootprint_Primarina, + [SPECIES_PIKIPEK] = gMonFootprint_Pikipek, + [SPECIES_TRUMBEAK] = gMonFootprint_Trumbeak, + [SPECIES_TOUCANNON] = gMonFootprint_Toucannon, + [SPECIES_YUNGOOS] = gMonFootprint_Yungoos, + [SPECIES_GUMSHOOS] = gMonFootprint_Gumshoos, + [SPECIES_GRUBBIN] = gMonFootprint_Grubbin, + [SPECIES_CHARJABUG] = gMonFootprint_Charjabug, + [SPECIES_VIKAVOLT] = gMonFootprint_Vikavolt, + [SPECIES_CRABRAWLER] = gMonFootprint_Crabrawler, + [SPECIES_CRABOMINABLE] = gMonFootprint_Crabominable, + [SPECIES_ORICORIO] = gMonFootprint_Oricorio, + [SPECIES_CUTIEFLY] = gMonFootprint_Cutiefly, + [SPECIES_RIBOMBEE] = gMonFootprint_Ribombee, + [SPECIES_ROCKRUFF] = gMonFootprint_Rockruff, + [SPECIES_LYCANROC] = gMonFootprint_Lycanroc, + [SPECIES_WISHIWASHI] = gMonFootprint_Wishiwashi, + [SPECIES_MAREANIE] = gMonFootprint_Mareanie, + [SPECIES_TOXAPEX] = gMonFootprint_Toxapex, + [SPECIES_MUDBRAY] = gMonFootprint_Mudbray, + [SPECIES_MUDSDALE] = gMonFootprint_Mudsdale, + [SPECIES_DEWPIDER] = gMonFootprint_Dewpider, + [SPECIES_ARAQUANID] = gMonFootprint_Araquanid, + [SPECIES_FOMANTIS] = gMonFootprint_Fomantis, + [SPECIES_LURANTIS] = gMonFootprint_Lurantis, + [SPECIES_MORELULL] = gMonFootprint_Morelull, + [SPECIES_SHIINOTIC] = gMonFootprint_Shiinotic, + [SPECIES_SALANDIT] = gMonFootprint_Salandit, + [SPECIES_SALAZZLE] = gMonFootprint_Salazzle, + [SPECIES_STUFFUL] = gMonFootprint_Stufful, + [SPECIES_BEWEAR] = gMonFootprint_Bewear, + [SPECIES_BOUNSWEET] = gMonFootprint_Bounsweet, + [SPECIES_STEENEE] = gMonFootprint_Steenee, + [SPECIES_TSAREENA] = gMonFootprint_Tsareena, + [SPECIES_COMFEY] = gMonFootprint_Comfey, + [SPECIES_ORANGURU] = gMonFootprint_Oranguru, + [SPECIES_PASSIMIAN] = gMonFootprint_Passimian, + [SPECIES_WIMPOD] = gMonFootprint_Wimpod, + [SPECIES_GOLISOPOD] = gMonFootprint_Golisopod, + [SPECIES_SANDYGAST] = gMonFootprint_Sandygast, + [SPECIES_PALOSSAND] = gMonFootprint_Palossand, + [SPECIES_PYUKUMUKU] = gMonFootprint_Pyukumuku, + [SPECIES_TYPE_NULL] = gMonFootprint_Type_Null, + [SPECIES_SILVALLY] = gMonFootprint_Silvally, + [SPECIES_MINIOR] = gMonFootprint_Minior, + [SPECIES_KOMALA] = gMonFootprint_Komala, + [SPECIES_TURTONATOR] = gMonFootprint_Turtonator, + [SPECIES_TOGEDEMARU] = gMonFootprint_Togedemaru, + [SPECIES_MIMIKYU] = gMonFootprint_Mimikyu, + [SPECIES_BRUXISH] = gMonFootprint_Bruxish, + [SPECIES_DRAMPA] = gMonFootprint_Drampa, + [SPECIES_DHELMISE] = gMonFootprint_Dhelmise, + [SPECIES_JANGMO_O] = gMonFootprint_Jangmo_o, + [SPECIES_HAKAMO_O] = gMonFootprint_Hakamo_o, + [SPECIES_KOMMO_O] = gMonFootprint_Kommo_o, + [SPECIES_TAPU_KOKO] = gMonFootprint_Tapu_Koko, + [SPECIES_TAPU_LELE] = gMonFootprint_Tapu_Lele, + [SPECIES_TAPU_BULU] = gMonFootprint_Tapu_Bulu, + [SPECIES_TAPU_FINI] = gMonFootprint_Tapu_Fini, + [SPECIES_COSMOG] = gMonFootprint_Cosmog, + [SPECIES_COSMOEM] = gMonFootprint_Cosmoem, + [SPECIES_SOLGALEO] = gMonFootprint_Solgaleo, + [SPECIES_LUNALA] = gMonFootprint_Lunala, + [SPECIES_NIHILEGO] = gMonFootprint_Nihilego, + [SPECIES_BUZZWOLE] = gMonFootprint_Buzzwole, + [SPECIES_PHEROMOSA] = gMonFootprint_Pheromosa, + [SPECIES_XURKITREE] = gMonFootprint_Xurkitree, + [SPECIES_CELESTEELA] = gMonFootprint_Celesteela, + [SPECIES_KARTANA] = gMonFootprint_Kartana, + [SPECIES_GUZZLORD] = gMonFootprint_Guzzlord, + [SPECIES_NECROZMA] = gMonFootprint_Necrozma, + [SPECIES_MAGEARNA] = gMonFootprint_Magearna, + [SPECIES_MARSHADOW] = gMonFootprint_Marshadow, + [SPECIES_POIPOLE] = gMonFootprint_Poipole, + [SPECIES_NAGANADEL] = gMonFootprint_Naganadel, + [SPECIES_STAKATAKA] = gMonFootprint_Stakataka, + [SPECIES_BLACEPHALON] = gMonFootprint_Blacephalon, + [SPECIES_ZERAORA] = gMonFootprint_Zeraora, + [SPECIES_MELTAN] = gMonFootprint_Meltan, + [SPECIES_MELMETAL] = gMonFootprint_Melmetal, + [SPECIES_GROOKEY] = gMonFootprint_Grookey, + [SPECIES_THWACKEY] = gMonFootprint_Thwackey, + [SPECIES_RILLABOOM] = gMonFootprint_Rillaboom, + [SPECIES_SCORBUNNY] = gMonFootprint_Scorbunny, + [SPECIES_RABOOT] = gMonFootprint_Raboot, + [SPECIES_CINDERACE] = gMonFootprint_Cinderace, + [SPECIES_SOBBLE] = gMonFootprint_Sobble, + [SPECIES_DRIZZILE] = gMonFootprint_Drizzile, + [SPECIES_INTELEON] = gMonFootprint_Inteleon, + [SPECIES_SKWOVET] = gMonFootprint_Skwovet, + [SPECIES_GREEDENT] = gMonFootprint_Greedent, + [SPECIES_ROOKIDEE] = gMonFootprint_Rookidee, + [SPECIES_CORVISQUIRE] = gMonFootprint_Corvisquire, + [SPECIES_CORVIKNIGHT] = gMonFootprint_Corviknight, + [SPECIES_BLIPBUG] = gMonFootprint_Blipbug, + [SPECIES_DOTTLER] = gMonFootprint_Dottler, + [SPECIES_ORBEETLE] = gMonFootprint_Orbeetle, + [SPECIES_NICKIT] = gMonFootprint_Nickit, + [SPECIES_THIEVUL] = gMonFootprint_Thievul, + [SPECIES_GOSSIFLEUR] = gMonFootprint_Gossifleur, + [SPECIES_ELDEGOSS] = gMonFootprint_Eldegoss, + [SPECIES_WOOLOO] = gMonFootprint_Wooloo, + [SPECIES_DUBWOOL] = gMonFootprint_Dubwool, + [SPECIES_CHEWTLE] = gMonFootprint_Chewtle, + [SPECIES_DREDNAW] = gMonFootprint_Drednaw, + [SPECIES_YAMPER] = gMonFootprint_Yamper, + [SPECIES_BOLTUND] = gMonFootprint_Boltund, + [SPECIES_ROLYCOLY] = gMonFootprint_Rolycoly, + [SPECIES_CARKOL] = gMonFootprint_Carkol, + [SPECIES_COALOSSAL] = gMonFootprint_Coalossal, + [SPECIES_APPLIN] = gMonFootprint_Applin, + [SPECIES_FLAPPLE] = gMonFootprint_Flapple, + [SPECIES_APPLETUN] = gMonFootprint_Appletun, + [SPECIES_SILICOBRA] = gMonFootprint_Silicobra, + [SPECIES_SANDACONDA] = gMonFootprint_Sandaconda, + [SPECIES_CRAMORANT] = gMonFootprint_Cramorant, + [SPECIES_ARROKUDA] = gMonFootprint_Arrokuda, + [SPECIES_BARRASKEWDA] = gMonFootprint_Barraskewda, + [SPECIES_TOXEL] = gMonFootprint_Toxel, + [SPECIES_TOXTRICITY] = gMonFootprint_Toxtricity, + [SPECIES_SIZZLIPEDE] = gMonFootprint_Sizzlipede, + [SPECIES_CENTISKORCH] = gMonFootprint_Centiskorch, + [SPECIES_CLOBBOPUS] = gMonFootprint_Clobbopus, + [SPECIES_GRAPPLOCT] = gMonFootprint_Grapploct, + [SPECIES_SINISTEA] = gMonFootprint_Sinistea, + [SPECIES_POLTEAGEIST] = gMonFootprint_Polteageist, + [SPECIES_HATENNA] = gMonFootprint_Hatenna, + [SPECIES_HATTREM] = gMonFootprint_Hattrem, + [SPECIES_HATTERENE] = gMonFootprint_Hatterene, + [SPECIES_IMPIDIMP] = gMonFootprint_Impidimp, + [SPECIES_MORGREM] = gMonFootprint_Morgrem, + [SPECIES_GRIMMSNARL] = gMonFootprint_Grimmsnarl, + [SPECIES_OBSTAGOON] = gMonFootprint_Obstagoon, + [SPECIES_PERRSERKER] = gMonFootprint_Perrserker, + [SPECIES_CURSOLA] = gMonFootprint_Cursola, + [SPECIES_SIRFETCHD] = gMonFootprint_Sirfetchd, + [SPECIES_MR_RIME] = gMonFootprint_Mr_Rime, + [SPECIES_RUNERIGUS] = gMonFootprint_Runerigus, + [SPECIES_MILCERY] = gMonFootprint_Milcery, + [SPECIES_ALCREMIE] = gMonFootprint_Alcremie, + [SPECIES_FALINKS] = gMonFootprint_Falinks, + [SPECIES_PINCURCHIN] = gMonFootprint_Pincurchin, + [SPECIES_SNOM] = gMonFootprint_Snom, + [SPECIES_FROSMOTH] = gMonFootprint_Frosmoth, + [SPECIES_STONJOURNER] = gMonFootprint_Stonjourner, + [SPECIES_EISCUE] = gMonFootprint_Eiscue, + [SPECIES_INDEEDEE] = gMonFootprint_Indeedee, + [SPECIES_MORPEKO] = gMonFootprint_Morpeko, + [SPECIES_CUFANT] = gMonFootprint_Cufant, + [SPECIES_COPPERAJAH] = gMonFootprint_Copperajah, + [SPECIES_DRACOZOLT] = gMonFootprint_Dracozolt, + [SPECIES_ARCTOZOLT] = gMonFootprint_Arctozolt, + [SPECIES_DRACOVISH] = gMonFootprint_Dracovish, + [SPECIES_ARCTOVISH] = gMonFootprint_Arctovish, + [SPECIES_DURALUDON] = gMonFootprint_Duraludon, + [SPECIES_DREEPY] = gMonFootprint_Dreepy, + [SPECIES_DRAKLOAK] = gMonFootprint_Drakloak, + [SPECIES_DRAGAPULT] = gMonFootprint_Dragapult, + [SPECIES_ZACIAN] = gMonFootprint_Zacian, + [SPECIES_ZAMAZENTA] = gMonFootprint_Zamazenta, + [SPECIES_ETERNATUS] = gMonFootprint_Eternatus, + [SPECIES_KUBFU] = gMonFootprint_Kubfu, + [SPECIES_URSHIFU] = gMonFootprint_Urshifu, + [SPECIES_ZARUDE] = gMonFootprint_Zarude, + [SPECIES_REGIELEKI] = gMonFootprint_Regieleki, + [SPECIES_REGIDRAGO] = gMonFootprint_Regidrago, + [SPECIES_GLASTRIER] = gMonFootprint_Glastrier, + [SPECIES_SPECTRIER] = gMonFootprint_Spectrier, + [SPECIES_CALYREX] = gMonFootprint_Calyrex, [SPECIES_EGG] = gMonFootprint_Bulbasaur, }; diff --git a/src/data/pokemon_graphics/front_pic_coordinates.h b/src/data/pokemon_graphics/front_pic_coordinates.h index 62bb69725..02a0e0613 100644 --- a/src/data/pokemon_graphics/front_pic_coordinates.h +++ b/src/data/pokemon_graphics/front_pic_coordinates.h @@ -507,12 +507,12 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_VOLTORB] = { .size = MON_COORDS_SIZE(32, 40), - .y_offset = 15, + .y_offset = 11, }, [SPECIES_ELECTRODE] = { .size = MON_COORDS_SIZE(48, 48), - .y_offset = 11, + .y_offset = 8, }, [SPECIES_EXEGGCUTE] = { @@ -1137,7 +1137,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_MANTINE] = { .size = MON_COORDS_SIZE(64, 56), - .y_offset = 10, + .y_offset = 9, }, [SPECIES_SKARMORY] = { @@ -1242,7 +1242,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_PUPITAR] = { .size = MON_COORDS_SIZE(40, 48), - .y_offset = 11, + .y_offset = 9, }, [SPECIES_TYRANITAR] = { @@ -1472,7 +1472,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_BALTOY] = { .size = MON_COORDS_SIZE(40, 40), - .y_offset = 14, + .y_offset = 11, }, [SPECIES_CLAYDOL] = { @@ -1497,7 +1497,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_BARBOACH] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 15, + .y_offset = 11, }, [SPECIES_WHISCASH] = { @@ -1507,7 +1507,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_LUVDISC] = { .size = MON_COORDS_SIZE(32, 40), - .y_offset = 14, + .y_offset = 11, }, [SPECIES_CORPHISH] = { @@ -1672,7 +1672,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_SWABLU] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 14, + .y_offset = 12, }, [SPECIES_ALTARIA] = { @@ -2172,7 +2172,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_CHINGLING] = { .size = MON_COORDS_SIZE(40, 40), - .y_offset = 15, + .y_offset = 12, }, [SPECIES_STUNKY] = { @@ -2392,7 +2392,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_DUSKNOIR] = { .size = MON_COORDS_SIZE(64, 64), - .y_offset = 4, + .y_offset = 2, }, [SPECIES_FROSLASS] = { @@ -2452,12 +2452,12 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_PHIONE] = { .size = MON_COORDS_SIZE(56, 40), - .y_offset = 12, + .y_offset = 8, }, [SPECIES_MANAPHY] = { .size = MON_COORDS_SIZE(64, 40), - .y_offset = 13, + .y_offset = 10, }, [SPECIES_DARKRAI] = { @@ -2592,7 +2592,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_MUNNA] = { .size = MON_COORDS_SIZE(32, 32), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MUSHARNA] = { @@ -3737,7 +3737,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_WISHIWASHI] = { .size = MON_COORDS_SIZE(40, 24), - .y_offset = 20, + .y_offset = 15, }, [SPECIES_MAREANIE] = { @@ -4237,7 +4237,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_ARROKUDA] = { .size = MON_COORDS_SIZE(56, 32), - .y_offset = 17, + .y_offset = 13, }, [SPECIES_BARRASKEWDA] = { @@ -5249,7 +5249,7 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_ROTOM_MOW] = { .size = MON_COORDS_SIZE(56, 64), - .y_offset = 3, + .y_offset = 12, }, // Giratina [SPECIES_GIRATINA_ORIGIN] = @@ -5915,37 +5915,37 @@ const struct MonCoords gMonFrontPicCoords[] = [SPECIES_MINIOR_CORE_RED] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MINIOR_CORE_ORANGE] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MINIOR_CORE_YELLOW] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MINIOR_CORE_GREEN] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MINIOR_CORE_BLUE] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MINIOR_CORE_INDIGO] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, [SPECIES_MINIOR_CORE_VIOLET] = { .size = MON_COORDS_SIZE(48, 40), - .y_offset = 16, + .y_offset = 14, }, // Mimikyu [SPECIES_MIMIKYU_BUSTED] = diff --git a/src/data/pokemon_graphics/front_pic_table.h b/src/data/pokemon_graphics/front_pic_table.h index 788afc744..7640dc23e 100644 --- a/src/data/pokemon_graphics/front_pic_table.h +++ b/src/data/pokemon_graphics/front_pic_table.h @@ -1278,6 +1278,13 @@ const struct CompressedSpriteSheet gMonFrontPicTable[] = const struct CompressedSpriteSheet gMonFrontPicTableFemale[] = { SPECIES_SPRITE(EEVEE, gMonFrontPic_EeveeF), + SPECIES_SPRITE(STARLY, gMonFrontPic_StarlyF), + SPECIES_SPRITE(STARAVIA, gMonFrontPic_StaraviaF), + SPECIES_SPRITE(STARAPTOR, gMonFrontPic_StaraptorF), + SPECIES_SPRITE(BIDOOF, gMonFrontPic_BidoofF), + SPECIES_SPRITE(KRICKETOT, gMonFrontPic_KricketotF), + SPECIES_SPRITE(KRICKETUNE, gMonFrontPic_KricketuneF), + SPECIES_SPRITE(SHINX, gMonFrontPic_ShinxF), SPECIES_SPRITE(COMBEE, gMonFrontPic_CombeeF), SPECIES_SPRITE(HIPPOPOTAS, gMonFrontPic_HippopotasF), SPECIES_SPRITE(HIPPOWDON, gMonFrontPic_Hippowdon), diff --git a/src/data/pokemon_graphics/palette_table.h b/src/data/pokemon_graphics/palette_table.h index cc8717e90..3de410700 100644 --- a/src/data/pokemon_graphics/palette_table.h +++ b/src/data/pokemon_graphics/palette_table.h @@ -1279,6 +1279,13 @@ const struct CompressedSpritePalette gMonPaletteTableFemale[] = { SPECIES_PAL(EEVEE, gMonPalette_Eevee), SPECIES_PAL(COMBEE, gMonPalette_Combee), + SPECIES_PAL(STARLY, gMonPalette_Starly), + SPECIES_PAL(STARAVIA, gMonPalette_Staravia), + SPECIES_PAL(STARAPTOR, gMonPalette_Staraptor), + SPECIES_PAL(BIDOOF, gMonPalette_Bidoof), + SPECIES_PAL(KRICKETOT, gMonPalette_Kricketot), + SPECIES_PAL(KRICKETUNE, gMonPalette_Kricketune), + SPECIES_PAL(SHINX, gMonPalette_Shinx), SPECIES_PAL(HIPPOPOTAS, gMonPalette_HippopotasF), SPECIES_PAL(HIPPOWDON, gMonPalette_HippowdonF), SPECIES_PAL(UNFEZANT, gMonPalette_UnfezantF), diff --git a/src/data/pokemon_graphics/shiny_palette_table.h b/src/data/pokemon_graphics/shiny_palette_table.h index b8324bdd5..aa7c4153e 100644 --- a/src/data/pokemon_graphics/shiny_palette_table.h +++ b/src/data/pokemon_graphics/shiny_palette_table.h @@ -1278,6 +1278,13 @@ const struct CompressedSpritePalette gMonShinyPaletteTable[] = const struct CompressedSpritePalette gMonShinyPaletteTableFemale[] = { SPECIES_SHINY_PAL(EEVEE, gMonShinyPalette_Eevee), + SPECIES_SHINY_PAL(STARLY, gMonShinyPalette_Starly), + SPECIES_SHINY_PAL(STARAVIA, gMonShinyPalette_Staravia), + SPECIES_SHINY_PAL(STARAPTOR, gMonShinyPalette_Staraptor), + SPECIES_SHINY_PAL(BIDOOF, gMonShinyPalette_Bidoof), + SPECIES_SHINY_PAL(KRICKETOT, gMonShinyPalette_Kricketot), + SPECIES_SHINY_PAL(KRICKETUNE, gMonShinyPalette_Kricketune), + SPECIES_SHINY_PAL(SHINX, gMonShinyPalette_Shinx), SPECIES_SHINY_PAL(COMBEE, gMonShinyPalette_Combee), SPECIES_SHINY_PAL(HIPPOPOTAS, gMonShinyPalette_HippopotasF), SPECIES_SHINY_PAL(HIPPOWDON, gMonShinyPalette_HippowdonF), diff --git a/src/decompress.c b/src/decompress.c index 418c5ea25..a1f92da2c 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -3,6 +3,7 @@ #include "data.h" #include "decompress.h" #include "pokemon.h" +#include "pokemon_debug.h" #include "text.h" EWRAM_DATA ALIGNED(4) u8 gDecompressionBuffer[0x4000] = {0}; @@ -69,7 +70,7 @@ void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffe void DecompressPicFromTableGender(void* buffer, s32 species, u32 personality) { - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) DecompressPicFromTable(&gMonFrontPicTableFemale[species], buffer, species); else DecompressPicFromTable(&gMonFrontPicTable[species], buffer, species); @@ -100,7 +101,7 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 } else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); - else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + else if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) { if (isFrontPic) LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); @@ -113,6 +114,45 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 DrawSpindaSpots(species, personality, dest, isFrontPic); } +#if P_ENABLE_DEBUG == TRUE +static void LoadSpecialPokePicCustom(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFrontPic, bool8 isFemale) +{ + if (species == SPECIES_UNOWN) + { + u32 id = GetUnownSpeciesId(personality); + + if (!isFrontPic) + LZ77UnCompWram(gMonBackPicTable[id].data, dest); + else + LZ77UnCompWram(gMonFrontPicTable[id].data, dest); + } + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon + LZ77UnCompWram(gMonFrontPicTable[0].data, dest); + else if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + { + if (isFrontPic) + LZ77UnCompWram(gMonFrontPicTableFemale[species].data, dest); + else + LZ77UnCompWram(gMonBackPicTableFemale[species].data, dest); + } + else + LZ77UnCompWram(src->data, dest); + + DrawSpindaSpots(species, personality, dest, isFrontPic); +} +void HandleLoadSpecialPokePicCustom(const struct CompressedSpriteSheet *src, void *dest, s32 species, u32 personality, bool8 isFemale) +{ + bool8 isFrontPic; + + if (src == &gMonFrontPicTable[species]) + isFrontPic = TRUE; // frontPic + else + isFrontPic = FALSE; // backPic + + LoadSpecialPokePicCustom(src, dest, species, personality, isFrontPic, isFemale); +} +#endif + void Unused_LZDecompressWramIndirect(const void **src, void *dest) { LZ77UnCompWram(*src, dest); diff --git a/src/evolution_scene.c b/src/evolution_scene.c index e5d628140..a0adb4b46 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -780,7 +780,7 @@ static void Task_EvolutionScene(u8 taskId) case EVOSTATE_TRY_LEARN_MOVE: if (!IsTextPrinterActive(0)) { - var = MonTryLearningNewMove(mon, gTasks[taskId].tLearnsFirstMove); + var = MonTryLearningNewMoveEvolution(mon, gTasks[taskId].tLearnsFirstMove); if (var != MOVE_NONE && !gTasks[taskId].tEvoWasStopped) { u8 text[20]; @@ -1201,7 +1201,7 @@ static void Task_TradeEvolutionScene(u8 taskId) case T_EVOSTATE_TRY_LEARN_MOVE: if (!IsTextPrinterActive(0) && IsFanfareTaskInactive() == TRUE) { - var = MonTryLearningNewMove(mon, gTasks[taskId].tLearnsFirstMove); + var = MonTryLearningNewMoveEvolution(mon, gTasks[taskId].tLearnsFirstMove); if (var != MOVE_NONE && !gTasks[taskId].tEvoWasStopped) { u8 text[20]; diff --git a/src/party_menu.c b/src/party_menu.c index 23d7389d2..db2b62c98 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -402,6 +402,7 @@ static bool8 SetUpFieldMove_Surf(void); static bool8 SetUpFieldMove_Fly(void); static bool8 SetUpFieldMove_Waterfall(void); static bool8 SetUpFieldMove_Dive(void); +void TryItemHoldFormChange(struct Pokemon *mon); // static const data #include "data/pokemon/tutor_learnsets.h" @@ -1730,6 +1731,7 @@ static void GiveItemToMon(struct Pokemon *mon, u16 item) itemBytes[0] = item; itemBytes[1] = item >> 8; SetMonData(mon, MON_DATA_HELD_ITEM, itemBytes); + TryItemHoldFormChange(&gPlayerParty[gPartyMenu.slotId]); } static u8 TryTakeMonItem(struct Pokemon* mon) @@ -1743,6 +1745,7 @@ static u8 TryTakeMonItem(struct Pokemon* mon) item = ITEM_NONE; SetMonData(mon, MON_DATA_HELD_ITEM, &item); + TryItemHoldFormChange(&gPlayerParty[gPartyMenu.slotId]); return 2; } @@ -4738,6 +4741,18 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move) return FALSE; } +bool8 BoxMonKnowsMove(struct BoxPokemon *mon, u16 move) +{ + u8 i; + + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (GetMonData(mon, MON_DATA_MOVE1 + i) == move) + return TRUE; + } + return FALSE; +} + static void DisplayLearnMoveMessage(const u8 *str) { StringExpandPlaceholders(gStringVar4, str); @@ -5399,6 +5414,22 @@ void ItemUseCB_FormChange_ConsumedOnUse(u8 taskId, TaskFunc task) if (TryItemUseFormChange(taskId, task)) RemoveBagItem(gSpecialVar_ItemId, 1); } +void TryItemHoldFormChange(struct Pokemon *mon) +{ + u16 species = GetMonData(mon, MON_DATA_SPECIES); + u16 targetSpecies = GetFormChangeTargetSpecies(mon, FORM_ITEM_HOLD_ABILITY, 0); + if (targetSpecies == SPECIES_NONE) + targetSpecies = GetFormChangeTargetSpecies(mon, FORM_ITEM_HOLD, 0); + if (targetSpecies != SPECIES_NONE) + { + PlayCry_NormalNoDucking(targetSpecies, 0, CRY_VOLUME_RS, CRY_VOLUME_RS); + SetMonData(mon, MON_DATA_SPECIES, &targetSpecies); + FreeAndDestroyMonIconSprite(&gSprites[sPartyMenuBoxes[gPartyMenu.slotId].monSpriteId]); + CreatePartyMonIconSpriteParameterized(targetSpecies, GetMonData(mon, MON_DATA_PERSONALITY, NULL), &sPartyMenuBoxes[gPartyMenu.slotId], 1); + CalculateMonStats(mon); + UpdatePartyMonHeldItemSprite(mon, &sPartyMenuBoxes[gPartyMenu.slotId]); + } +} #undef tState #undef tTargetSpecies diff --git a/src/pokedex.c b/src/pokedex.c index 04d1fd67f..46c417b1e 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -3991,7 +3991,10 @@ static void Task_DisplayCaughtMonDexPage(u8 taskId) gTasks[taskId].tState++; break; case 4: - spriteId = CreateMonSpriteFromNationalDexNumber(dexNum, MON_PAGE_X, MON_PAGE_Y, 0); + if ((gBaseStats[dexNum].flags & FLAG_GENDER_DIFFERENCE)) + spriteId = CreateMonPicSprite(dexNum, 0, ((u16)gTasks[taskId].tPersonalityHi << 16) | (u16)gTasks[taskId].tPersonalityLo, TRUE, MON_PAGE_X, MON_PAGE_Y, 0, TAG_NONE); + else + spriteId = CreateMonSpriteFromNationalDexNumber(dexNum, MON_PAGE_X, MON_PAGE_Y, 0); gSprites[spriteId].oam.priority = 0; BeginNormalPaletteFade(PALETTES_ALL, 0, 0x10, 0, RGB_BLACK); SetVBlankCallback(gPokedexVBlankCB); diff --git a/src/pokemon.c b/src/pokemon.c index 6df092045..28d103074 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1590,7 +1590,7 @@ static const u16 sSpeciesToNationalPokedexNum[NUM_SPECIES - 1] = [SPECIES_CALYREX_SHADOW_RIDER - 1] = NATIONAL_DEX_CALYREX, }; - // Assigns all Hoenn Dex Indexes to a National Dex Index +// Assigns all Hoenn Dex Indexes to a National Dex Index static const u16 sHoennToNationalOrder[HOENN_DEX_COUNT - 1] = { HOENN_TO_NATIONAL(TREECKO), @@ -1859,8 +1859,11 @@ const s8 gNatureStatTable[NUM_NATURES][NUM_NATURE_STATS] = #include "data/pokemon/form_change_table_pointers.h" // SPECIES_NONE are ignored in the following two tables, so decrement before accessing these arrays to get the right result - +#if P_ENABLE_DEBUG == TRUE +const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = +#else static const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1] = +#endif { [SPECIES_BULBASAUR - 1] = ANIM_V_JUMPS_H_JUMPS, [SPECIES_IVYSAUR - 1] = ANIM_V_STRETCH, @@ -3934,6 +3937,8 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) { if (gLevelUpLearnsets[species][i].level > level) break; + if (gLevelUpLearnsets[species][i].level == 0) + continue; if (GiveMoveToBoxMon(boxMon, gLevelUpLearnsets[species][i].move) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, gLevelUpLearnsets[species][i].move); } @@ -5145,14 +5150,26 @@ u8 GetMonsStateToDoubles_2(void) u16 GetAbilityBySpecies(u16 species, u8 abilityNum) { + int i; + if (abilityNum < NUM_ABILITY_SLOTS) gLastUsedAbility = gBaseStats[species].abilities[abilityNum]; else - gLastUsedAbility = gBaseStats[species].abilities[0]; - - if (gLastUsedAbility == ABILITY_NONE) - gLastUsedAbility = gBaseStats[species].abilities[0]; - + gLastUsedAbility = ABILITY_NONE; + + if (abilityNum >= NUM_NORMAL_ABILITY_SLOTS) // if abilityNum is empty hidden ability, look for other hidden abilities + { + for (i = NUM_NORMAL_ABILITY_SLOTS; i < NUM_ABILITY_SLOTS && gLastUsedAbility == ABILITY_NONE; i++) + { + gLastUsedAbility = gBaseStats[species].abilities[i]; + } + } + + for (i = 0; i < NUM_ABILITY_SLOTS && gLastUsedAbility == ABILITY_NONE; i++) // look for any non-empty ability + { + gLastUsedAbility = gBaseStats[species].abilities[i]; + } + return gLastUsedAbility; } @@ -6443,6 +6460,53 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 mode, u16 evolutionItem, u if (currentMap == gEvolutionTable[species][i].param) targetSpecies = gEvolutionTable[species][i].targetSpecies; break; + case EVO_LEVEL_NATURE_AMPED: + if (gEvolutionTable[species][i].param <= level) + { + u8 nature = GetNature(mon); + switch (nature) + { + case NATURE_HARDY: + case NATURE_BRAVE: + case NATURE_ADAMANT: + case NATURE_NAUGHTY: + case NATURE_DOCILE: + case NATURE_IMPISH: + case NATURE_LAX: + case NATURE_HASTY: + case NATURE_JOLLY: + case NATURE_NAIVE: + case NATURE_RASH: + case NATURE_SASSY: + case NATURE_QUIRKY: + targetSpecies = gEvolutionTable[species][i].targetSpecies; + break; + } + } + break; + case EVO_LEVEL_NATURE_LOW_KEY: + if (gEvolutionTable[species][i].param <= level) + { + u8 nature = GetNature(mon); + switch (nature) + { + case NATURE_LONELY: + case NATURE_BOLD: + case NATURE_RELAXED: + case NATURE_TIMID: + case NATURE_SERIOUS: + case NATURE_MODEST: + case NATURE_MILD: + case NATURE_QUIET: + case NATURE_BASHFUL: + case NATURE_CALM: + case NATURE_GENTLE: + case NATURE_CAREFUL: + targetSpecies = gEvolutionTable[species][i].targetSpecies; + break; + } + } + break; } } break; @@ -7393,14 +7457,14 @@ const u32 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 p shinyValue = GET_SHINY_VALUE(otId, personality); if (shinyValue < SHINY_ODDS) { - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) return gMonShinyPaletteTableFemale[species].data; else return gMonShinyPaletteTable[species].data; } else { - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) return gMonPaletteTableFemale[species].data; else return gMonPaletteTable[species].data; @@ -7422,14 +7486,14 @@ const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u shinyValue = GET_SHINY_VALUE(otId, personality); if (shinyValue < SHINY_ODDS) { - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) return &gMonShinyPaletteTableFemale[species]; else return &gMonShinyPaletteTable[species]; } else { - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) return &gMonPaletteTableFemale[species]; else return &gMonPaletteTable[species]; @@ -8084,20 +8148,25 @@ u8 GetFormIdFromFormSpeciesId(u16 formSpeciesId) return targetFormId; } -// returns SPECIES_NONE if no form change is possible u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg) +{ + return GetFormChangeTargetSpeciesBoxMon(&mon->box, method, arg); +} + +// Returns SPECIES_NONE if no form change is possible +u16 GetFormChangeTargetSpeciesBoxMon(struct BoxPokemon *mon, u16 method, u32 arg) { u32 i; u16 targetSpecies = SPECIES_NONE; - u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u16 species = GetBoxMonData(mon, MON_DATA_SPECIES, NULL); const struct FormChange *formChanges = gFormChangeTablePointers[species]; u16 heldItem; u32 ability; if (formChanges != NULL) { - heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, NULL); - ability = GetAbilityBySpecies(species, GetMonData(mon, MON_DATA_ABILITY_NUM, NULL)); + heldItem = GetBoxMonData(mon, MON_DATA_HELD_ITEM, NULL); + ability = GetAbilityBySpecies(species, GetBoxMonData(mon, MON_DATA_ABILITY_NUM, NULL)); for (i = 0; formChanges[i].method != FORM_CHANGE_END; i++) { @@ -8106,7 +8175,7 @@ u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg) switch (method) { case FORM_ITEM_HOLD: - if (heldItem == formChanges[i].param1) + if (heldItem == formChanges[i].param1 || formChanges[i].param1 == ITEM_NONE) targetSpecies = formChanges[i].targetSpecies; break; case FORM_ITEM_USE: @@ -8114,11 +8183,12 @@ u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg) targetSpecies = formChanges[i].targetSpecies; break; case FORM_MOVE: - if (MonKnowsMove(mon, formChanges[i].param1) != formChanges[i].param2) + if (BoxMonKnowsMove(mon, formChanges[i].param1) != formChanges[i].param2) targetSpecies = formChanges[i].targetSpecies; break; case FORM_ITEM_HOLD_ABILITY: - if (heldItem == formChanges[i].param1 && ability == formChanges[i].param2) + if ((heldItem == formChanges[i].param1 || formChanges[i].param1 == ITEM_NONE) + && ability == formChanges[i].param2) targetSpecies = formChanges[i].targetSpecies; break; case FORM_ITEM_USE_TIME: @@ -8145,3 +8215,29 @@ u16 GetFormChangeTargetSpecies(struct Pokemon *mon, u16 method, u32 arg) return species != targetSpecies ? targetSpecies : SPECIES_NONE; } + +u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove) +{ + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u8 level = GetMonData(mon, MON_DATA_LEVEL, NULL); + + // Since you can learn more than one move per level, + // the game needs to know whether you decided to + // learn it or keep the old set to avoid asking + // you to learn the same move over and over again. + if (firstMove) + { + sLearningMoveTableID = 0; + } + while(gLevelUpLearnsets[species][sLearningMoveTableID].move != LEVEL_UP_END) + { + while (gLevelUpLearnsets[species][sLearningMoveTableID].level == 0 || gLevelUpLearnsets[species][sLearningMoveTableID].level == level) + { + gMoveToLearn = gLevelUpLearnsets[species][sLearningMoveTableID].move; + sLearningMoveTableID++; + return GiveMoveToMon(mon, gMoveToLearn); + } + sLearningMoveTableID++; + } + return 0; +} diff --git a/src/pokemon_debug.c b/src/pokemon_debug.c new file mode 100644 index 000000000..77e83303d --- /dev/null +++ b/src/pokemon_debug.c @@ -0,0 +1,1758 @@ +//Credits: Gamer2020, AsparagusEduardo, TheXaman, ShinyDragonHunter +#include "global.h" +#include "battle.h" +#include "battle_anim.h" +#include "battle_gfx_sfx_util.h" +#include "bg.h" +#include "constants/rgb.h" +#include "constants/songs.h" +#include "data.h" +#include "decompress.h" +#include "field_weather.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "item.h" +#include "item_icon.h" +#include "list_menu.h" +#include "m4a.h" +#include "main.h" +#include "malloc.h" +#include "menu.h" +#include "overworld.h" +#include "palette.h" +#include "palette_util.h" +#include "pokedex.h" +#include "pokemon.h" +#include "pokemon_animation.h" +#include "pokemon_debug.h" +#include "pokemon_icon.h" +#include "reset_rtc_screen.h" +#include "scanline_effect.h" +#include "script.h" +#include "script_pokemon_util.h" +#include "sound.h" +#include "string_util.h" +#include "strings.h" +#include "task.h" +#include "text_window.h" +#include "trainer_pokemon_sprites.h" + +#include "constants/items.h" + +#if P_ENABLE_DEBUG == TRUE +extern const struct BattleBackground sBattleTerrainTable[]; +extern const struct CompressedSpriteSheet gSpriteSheet_EnemyShadow; +extern const struct SpriteTemplate gSpriteTemplate_EnemyShadow; +extern const struct SpritePalette sSpritePalettes_HealthBoxHealthBar[2]; +extern const struct UCoords8 sBattlerCoords[][MAX_BATTLERS_COUNT] ; +extern const struct MonCoords gCastformFrontSpriteCoords[NUM_CASTFORM_FORMS]; +extern const u8 sCastformElevations[NUM_CASTFORM_FORMS]; +extern const u8 sMonFrontAnimIdsTable[NUM_SPECIES - 1]; +static const u16 sBgColor[] = {RGB_WHITE}; + +static struct PokemonDebugMenu *GetStructPtr(u8 taskId) +{ + u8 *taskDataPtr = (u8*)(&gTasks[taskId].data[0]); + + return (struct PokemonDebugMenu*)(T1_READ_PTR(taskDataPtr)); +} + +//BgTemplates +static const struct BgTemplate sBgTemplates[] = +{ + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 24, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 1, + .mapBaseIndex = 28, + .screenSize = 2, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 30, + .screenSize = 1, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 2, + .mapBaseIndex = 26, + .screenSize = 1, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +//WindowTemplates +static const struct WindowTemplate sPokemonDebugWindowTemplate[] = +{ + [WIN_NAME_NUMBERS] = { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 12, + .width = 15, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 1 + }, + [WIN_INSTRUCTIONS] = { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 15, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 1 + 30 + }, + [WIN_BOTTOM_LEFT] = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 14, + .width = 6, + .height = 6, + .paletteNum = 0xF, + .baseBlock = 1 + 30 + 60 + }, + [WIN_BOTTOM_RIGHT] = { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 14, + .width = 24, + .height = 6, + .paletteNum = 0xF, + .baseBlock = 1 + 30 + 60 + 36 + }, + [WIN_FOOTPRINT] = + { + .bg = 0, + .tilemapLeft = 27, + .tilemapTop = 14, + .width = 2, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 1 + 30 + 60 + 36 + 144, + }, + DUMMY_WIN_TEMPLATE, +}; + +//Lookup tables +const u8 gBackAnimNames[][23 + 1] = +{ + [BACK_ANIM_NONE] = _("NONE"), + [BACK_ANIM_H_VIBRATE] = _("H VIBRATE"), + [BACK_ANIM_H_SLIDE] = _("H SLIDE"), + [BACK_ANIM_H_SPRING] = _("H SPRING"), + [BACK_ANIM_H_SPRING_REPEATED] = _("H SPRING REPEATED"), + [BACK_ANIM_SHRINK_GROW] = _("SHRINK GROW"), + [BACK_ANIM_GROW] = _("GROW"), + [BACK_ANIM_CIRCLE_COUNTERCLOCKWISE] = _("CIRCLE COUNTERCLOCKWISE"), + [BACK_ANIM_H_SHAKE] = _("H SHAKE"), + [BACK_ANIM_V_SHAKE] = _("V SHAKE"), + [BACK_ANIM_V_SHAKE_H_SLIDE] = _("V SHAKE H SLIDE"), + [BACK_ANIM_V_STRETCH] = _("V STRETCH"), + [BACK_ANIM_H_STRETCH] = _("H STRETCH"), + [BACK_ANIM_GROW_STUTTER] = _("GROW STUTTER"), + [BACK_ANIM_V_SHAKE_LOW] = _("V SHAKE LOW"), + [BACK_ANIM_TRIANGLE_DOWN] = _("TRIANGLE DOWN"), + [BACK_ANIM_CONCAVE_ARC_LARGE] = _("CONCAVE ARC LARGE"), + [BACK_ANIM_CONVEX_DOUBLE_ARC] = _("CONVEX DOUBLE ARC"), + [BACK_ANIM_CONCAVE_ARC_SMALL] = _("CONCAVE ARC SMALL"), + [BACK_ANIM_DIP_RIGHT_SIDE] = _("DIP RIGHT SIDE"), + [BACK_ANIM_SHRINK_GROW_VIBRATE] = _("SHRINK GROW VIBRATE"), + [BACK_ANIM_JOLT_RIGHT] = _("JOLT RIGHT"), + [BACK_ANIM_SHAKE_FLASH_YELLOW] = _("SHAKE FLASH YELLOW"), + [BACK_ANIM_SHAKE_GLOW_RED] = _("SHAKE GLOW RED"), + [BACK_ANIM_SHAKE_GLOW_GREEN] = _("SHAKE GLOW GREEN"), + [BACK_ANIM_SHAKE_GLOW_BLUE] = _("SHAKE GLOW BLUE"), +}; +const u8 gFrontAnimNames[][34] = +{ + [ANIM_V_SQUISH_AND_BOUNCE] = _("V SQUISH AND BOUNCE"), + [ANIM_CIRCULAR_STRETCH_TWICE] = _("CIRCULAR STRETCH TWICE"), + [ANIM_H_VIBRATE] = _("H VIBRATE"), + [ANIM_H_SLIDE] = _("H SLIDE"), + [ANIM_V_SLIDE] = _("V SLIDE"), + [ANIM_BOUNCE_ROTATE_TO_SIDES] = _("BOUNCE ROTATE TO SIDES"), + [ANIM_V_JUMPS_H_JUMPS] = _("V JUMPS H JUMPS"), + [ANIM_ROTATE_TO_SIDES] = _("ROTATE TO SIDES"), + [ANIM_ROTATE_TO_SIDES_TWICE] = _("ROTATE TO SIDES TWICE"), + [ANIM_GROW_VIBRATE] = _("GROW VIBRATE"), + [ANIM_ZIGZAG_FAST] = _("ZIGZAG FAST"), + [ANIM_SWING_CONCAVE] = _("SWING CONCAVE"), + [ANIM_SWING_CONCAVE_FAST] = _("SWING CONCAVE FAST"), + [ANIM_SWING_CONVEX] = _("SWING CONVEX"), + [ANIM_SWING_CONVEX_FAST] = _("SWING CONVEX FAST"), + [ANIM_H_SHAKE] = _("H SHAKE"), + [ANIM_V_SHAKE] = _("V SHAKE"), + [ANIM_CIRCULAR_VIBRATE] = _("CIRCULAR VIBRATE"), + [ANIM_TWIST] = _("TWIST"), + [ANIM_SHRINK_GROW] = _("SHRINK GROW"), + [ANIM_CIRCLE_C_CLOCKWISE] = _("CIRCLE C CLOCKWISE"), + [ANIM_GLOW_BLACK] = _("GLOW BLACK"), + [ANIM_H_STRETCH] = _("H STRETCH"), + [ANIM_V_STRETCH] = _("V STRETCH"), + [ANIM_RISING_WOBBLE] = _("RISING WOBBLE"), + [ANIM_V_SHAKE_TWICE] = _("V SHAKE TWICE"), + [ANIM_TIP_MOVE_FORWARD] = _("TIP MOVE FORWARD"), + [ANIM_H_PIVOT] = _("H PIVOT"), + [ANIM_V_SLIDE_WOBBLE] = _("V SLIDE WOBBLE"), + [ANIM_H_SLIDE_WOBBLE] = _("H SLIDE WOBBLE"), + [ANIM_V_JUMPS_BIG] = _("V JUMPS BIG"), + [ANIM_SPIN_LONG] = _("SPIN LONG"), + [ANIM_GLOW_ORANGE] = _("GLOW ORANGE"), + [ANIM_GLOW_RED] = _("GLOW RED"), + [ANIM_GLOW_BLUE] = _("GLOW BLUE"), + [ANIM_GLOW_YELLOW] = _("GLOW YELLOW"), + [ANIM_GLOW_PURPLE] = _("GLOW PURPLE"), + [ANIM_BACK_AND_LUNGE] = _("BACK AND LUNGE"), + [ANIM_BACK_FLIP] = _("BACK FLIP"), + [ANIM_FLICKER] = _("FLICKER"), + [ANIM_BACK_FLIP_BIG] = _("BACK FLIP BIG"), + [ANIM_FRONT_FLIP] = _("FRONT FLIP"), + [ANIM_TUMBLING_FRONT_FLIP] = _("TUMBLING FRONT FLIP"), + [ANIM_FIGURE_8] = _("FIGURE 8"), + [ANIM_FLASH_YELLOW] = _("FLASH YELLOW"), + [ANIM_SWING_CONCAVE_FAST_SHORT] = _("SWING CONCAVE FAST SHORT"), + [ANIM_SWING_CONVEX_FAST_SHORT] = _("SWING CONVEX FAST SHORT"), + [ANIM_ROTATE_UP_SLAM_DOWN] = _("ROTATE UP SLAM DOWN"), + [ANIM_DEEP_V_SQUISH_AND_BOUNCE] = _("DEEP V SQUISH AND BOUNCE"), + [ANIM_H_JUMPS] = _("H JUMPS"), + [ANIM_H_JUMPS_V_STRETCH] = _("H JUMPS V STRETCH"), + [ANIM_ROTATE_TO_SIDES_FAST] = _("ROTATE TO SIDES FAST"), + [ANIM_ROTATE_UP_TO_SIDES] = _("ROTATE UP TO SIDES"), + [ANIM_FLICKER_INCREASING] = _("FLICKER INCREASING"), + [ANIM_TIP_HOP_FORWARD] = _("TIP HOP FORWARD"), + [ANIM_PIVOT_SHAKE] = _("PIVOT SHAKE"), + [ANIM_TIP_AND_SHAKE] = _("TIP AND SHAKE"), + [ANIM_VIBRATE_TO_CORNERS] = _("VIBRATE TO CORNERS"), + [ANIM_GROW_IN_STAGES] = _("GROW IN STAGES"), + [ANIM_V_SPRING] = _("V SPRING"), + [ANIM_V_REPEATED_SPRING] = _("V REPEATED SPRING"), + [ANIM_SPRING_RISING] = _("SPRING RISING"), + [ANIM_H_SPRING] = _("H SPRING"), + [ANIM_H_REPEATED_SPRING_SLOW] = _("H REPEATED SPRING SLOW"), + [ANIM_H_SLIDE_SHRINK] = _("H SLIDE SHRINK"), + [ANIM_LUNGE_GROW] = _("LUNGE GROW"), + [ANIM_CIRCLE_INTO_BG] = _("CIRCLE INTO BG"), + [ANIM_RAPID_H_HOPS] = _("RAPID H HOPS"), + [ANIM_FOUR_PETAL] = _("FOUR PETAL"), + [ANIM_V_SQUISH_AND_BOUNCE_SLOW] = _("V SQUISH AND BOUNCE SLOW"), + [ANIM_H_SLIDE_SLOW] = _("H SLIDE SLOW"), + [ANIM_V_SLIDE_SLOW] = _("V SLIDE SLOW"), + [ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL] = _("BOUNCE ROTATE TO SIDES SMALL"), + [ANIM_BOUNCE_ROTATE_TO_SIDES_SLOW] = _("BOUNCE ROTATE TO SIDES SLOW"), + [ANIM_BOUNCE_ROTATE_TO_SIDES_SMALL_SLOW] = _("BOUNCE ROTATE TO SIDES SMALL SLOW"), + [ANIM_ZIGZAG_SLOW] = _("ZIGZAG SLOW"), + [ANIM_H_SHAKE_SLOW] = _("H SHAKE SLOW"), + [ANIM_V_SHAKE_SLOW] = _("V SHAKE SLOW"), + [ANIM_TWIST_TWICE] = _("TWIST TWICE"), + [ANIM_CIRCLE_C_CLOCKWISE_SLOW] = _("CIRCLE C CLOCKWISE SLOW"), + [ANIM_V_SHAKE_TWICE_SLOW] = _("V SHAKE TWICE SLOW"), + [ANIM_V_SLIDE_WOBBLE_SMALL] = _("V SLIDE WOBBLE SMALL"), + [ANIM_V_JUMPS_SMALL] = _("V JUMPS SMALL"), + [ANIM_SPIN] = _("SPIN"), + [ANIM_TUMBLING_FRONT_FLIP_TWICE] = _("TUMBLING FRONT FLIP TWICE"), + [ANIM_DEEP_V_SQUISH_AND_BOUNCE_TWICE] = _("DEEP V SQUISH AND BOUNCE TWICE"), + [ANIM_H_JUMPS_V_STRETCH_TWICE] = _("H JUMPS V STRETCH TWICE"), + [ANIM_V_SHAKE_BACK] = _("V SHAKE BACK"), + [ANIM_V_SHAKE_BACK_SLOW] = _("V SHAKE BACK SLOW"), + [ANIM_V_SHAKE_H_SLIDE_SLOW] = _("V SHAKE H SLIDE SLOW"), + [ANIM_V_STRETCH_BOTH_ENDS_SLOW] = _("V STRETCH BOTH ENDS SLOW"), + [ANIM_H_STRETCH_FAR_SLOW] = _("H STRETCH FAR SLOW"), + [ANIM_V_SHAKE_LOW_TWICE] = _("V SHAKE LOW TWICE"), + [ANIM_H_SHAKE_FAST] = _("H SHAKE FAST"), + [ANIM_H_SLIDE_FAST] = _("H SLIDE FAST"), + [ANIM_H_VIBRATE_FAST] = _("H VIBRATE FAST"), + [ANIM_H_VIBRATE_FASTEST] = _("H VIBRATE FASTEST"), + [ANIM_V_SHAKE_BACK_FAST] = _("V SHAKE BACK FAST"), + [ANIM_V_SHAKE_LOW_TWICE_SLOW] = _("V SHAKE LOW TWICE SLOW"), + [ANIM_V_SHAKE_LOW_TWICE_FAST] = _("V SHAKE LOW TWICE FAST"), + [ANIM_CIRCLE_C_CLOCKWISE_LONG] = _("CIRCLE C CLOCKWISE LONG"), + [ANIM_GROW_STUTTER_SLOW] = _("GROW STUTTER SLOW"), + [ANIM_V_SHAKE_H_SLIDE] = _("V SHAKE H SLIDE"), + [ANIM_V_SHAKE_H_SLIDE_FAST] = _("V SHAKE H SLIDE FAST"), + [ANIM_TRIANGLE_DOWN_SLOW] = _("TRIANGLE DOWN SLOW"), + [ANIM_TRIANGLE_DOWN] = _("TRIANGLE DOWN"), + [ANIM_TRIANGLE_DOWN_TWICE] = _("TRIANGLE DOWN TWICE"), + [ANIM_GROW] = _("GROW"), + [ANIM_GROW_TWICE] = _("GROW TWICE"), + [ANIM_H_SPRING_FAST] = _("H SPRING FAST"), + [ANIM_H_SPRING_SLOW] = _("H SPRING SLOW"), + [ANIM_H_REPEATED_SPRING_FAST] = _("H REPEATED SPRING FAST"), + [ANIM_H_REPEATED_SPRING] = _("H REPEATED SPRING"), + [ANIM_SHRINK_GROW_FAST] = _("SHRINK GROW FAST"), + [ANIM_SHRINK_GROW_SLOW] = _("SHRINK GROW SLOW"), + [ANIM_V_STRETCH_BOTH_ENDS] = _("V STRETCH BOTH ENDS"), + [ANIM_V_STRETCH_BOTH_ENDS_TWICE] = _("V STRETCH BOTH ENDS TWICE"), + [ANIM_H_STRETCH_FAR_TWICE] = _("H STRETCH FAR TWICE"), + [ANIM_H_STRETCH_FAR] = _("H STRETCH FAR"), + [ANIM_GROW_STUTTER_TWICE] = _("GROW STUTTER TWICE"), + [ANIM_GROW_STUTTER] = _("GROW STUTTER"), + [ANIM_CONCAVE_ARC_LARGE_SLOW] = _("CONCAVE ARC LARGE SLOW"), + [ANIM_CONCAVE_ARC_LARGE] = _("CONCAVE ARC LARGE"), + [ANIM_CONCAVE_ARC_LARGE_TWICE] = _("CONCAVE ARC LARGE TWICE"), + [ANIM_CONVEX_DOUBLE_ARC_SLOW] = _("CONVEX DOUBLE ARC SLOW"), + [ANIM_CONVEX_DOUBLE_ARC] = _("CONVEX DOUBLE ARC"), + [ANIM_CONVEX_DOUBLE_ARC_TWICE] = _("CONVEX DOUBLE ARC TWICE"), + [ANIM_CONCAVE_ARC_SMALL_SLOW] = _("CONCAVE ARC SMALL SLOW"), + [ANIM_CONCAVE_ARC_SMALL] = _("CONCAVE ARC SMALL"), + [ANIM_CONCAVE_ARC_SMALL_TWICE] = _("CONCAVE ARC SMALL TWICE"), + [ANIM_H_DIP] = _("H DIP"), + [ANIM_H_DIP_FAST] = _("H DIP FAST"), + [ANIM_H_DIP_TWICE] = _("H DIP TWICE"), + [ANIM_SHRINK_GROW_VIBRATE_FAST] = _("SHRINK GROW VIBRATE FAST"), + [ANIM_SHRINK_GROW_VIBRATE] = _("SHRINK GROW VIBRATE"), + [ANIM_SHRINK_GROW_VIBRATE_SLOW] = _("SHRINK GROW VIBRATE SLOW"), + [ANIM_JOLT_RIGHT_FAST] = _("JOLT RIGHT FAST"), + [ANIM_JOLT_RIGHT] = _("JOLT RIGHT"), + [ANIM_JOLT_RIGHT_SLOW] = _("JOLT RIGHT SLOW"), + [ANIM_SHAKE_FLASH_YELLOW_FAST] = _("SHAKE FLASH YELLOW FAST"), + [ANIM_SHAKE_FLASH_YELLOW] = _("SHAKE FLASH YELLOW"), + [ANIM_SHAKE_FLASH_YELLOW_SLOW] = _("SHAKE FLASH YELLOW SLOW"), + [ANIM_SHAKE_GLOW_RED_FAST] = _("SHAKE GLOW RED FAST"), + [ANIM_SHAKE_GLOW_RED] = _("SHAKE GLOW RED"), + [ANIM_SHAKE_GLOW_RED_SLOW] = _("SHAKE GLOW RED SLOW"), + [ANIM_SHAKE_GLOW_GREEN_FAST] = _("SHAKE GLOW GREEN FAST"), + [ANIM_SHAKE_GLOW_GREEN] = _("SHAKE GLOW GREEN"), + [ANIM_SHAKE_GLOW_GREEN_SLOW] = _("SHAKE GLOW GREEN SLOW"), + [ANIM_SHAKE_GLOW_BLUE_FAST] = _("SHAKE GLOW BLUE FAST"), + [ANIM_SHAKE_GLOW_BLUE] = _("SHAKE GLOW BLUE"), + [ANIM_SHAKE_GLOW_BLUE_SLOW] = _("SHAKE GLOW BLUE SLOW"), + [ANIM_SHAKE_GLOW_BLACK_SLOW] = _("SHAKE GLOW BLACK SLOW"), + [ANIM_SHAKE_GLOW_WHITE_SLOW] = _("SHAKE GLOW WHITE SLOW"), + [ANIM_SHAKE_GLOW_PURPLE_SLOW] = _("SHAKE GLOW PURPLE SLOW"), +}; +const u8 gBattleBackgroundNames[][30] = +{ + [MAP_BATTLE_SCENE_NORMAL] = _("NORMAL "), + [MAP_BATTLE_SCENE_GYM] = _("GYM "), + [MAP_BATTLE_SCENE_MAGMA] = _("MAGMA "), + [MAP_BATTLE_SCENE_AQUA] = _("AQUA "), + [MAP_BATTLE_SCENE_SIDNEY] = _("SIDNEY "), + [MAP_BATTLE_SCENE_PHOEBE] = _("PHOEBE "), + [MAP_BATTLE_SCENE_GLACIA] = _("GLACIA "), + [MAP_BATTLE_SCENE_DRAKE] = _("DRAKE "), + [MAP_BATTLE_SCENE_FRONTIER] = _("FRONTIER "), + [MAP_BATTLE_SCENE_LEADER] = _("LEADER "), + [MAP_BATTLE_SCENE_WALLACE] = _("WALLACE "), + [MAP_BATTLE_SCENE_GROUDON] = _("GROUDON "), + [MAP_BATTLE_SCENE_KYOGRE] = _("KYOGRE "), + [MAP_BATTLE_SCENE_RAYQUAZA] = _("RAYQUAZA "), +}; +const u8 gBattleBackgroundTerrainNames[][26] = +{ + [BATTLE_TERRAIN_GRASS] = _("NORMAL - GRASS "), + [BATTLE_TERRAIN_LONG_GRASS] = _("NORMAL - LONG GRASS "), + [BATTLE_TERRAIN_SAND] = _("NORMAL - SAND "), + [BATTLE_TERRAIN_UNDERWATER] = _("NORMAL - UNDERWATER "), + [BATTLE_TERRAIN_WATER] = _("NORMAL - WATER "), + [BATTLE_TERRAIN_POND] = _("NORMAL - POND "), + [BATTLE_TERRAIN_MOUNTAIN] = _("NORMAL - MOUNTAIN "), + [BATTLE_TERRAIN_CAVE] = _("NORMAL - CAVE "), + [BATTLE_TERRAIN_BUILDING] = _("NORMAL - BUILDING "), + [BATTLE_TERRAIN_PLAIN] = _("NORMAL - PLAIN "), +}; +//Function declarations +static void PrintDigitChars(struct PokemonDebugMenu *data); +static void SetUpModifyArrows(struct PokemonDebugMenu *data); +static void UpdateBattlerValue(struct PokemonDebugMenu *data); +static void ValueToCharDigits(u8 *charDigits, u32 newValue, u8 maxDigits); +static bool32 TryMoveDigit(struct PokemonDebugModifyArrows *modArrows, bool32 moveUp); +static void CB2_Debug_Runner(void); +static void ResetBGs_Debug_Menu(u16); +static void Handle_Input_Debug_Pokemon(u8); +static void ReloadPokemonSprites(struct PokemonDebugMenu *data); +static void Exit_Debug_Pokemon(u8); + +//Text handling functions +static void PadString(const u8 *src, u8 *dst) +{ + u32 i; + + for (i = 0; i < 17 && src[i] != EOS; i++) + dst[i] = src[i]; + + for (; i < 17; i++) + dst[i] = CHAR_SPACE; + + dst[i] = EOS; +} + +static void PrintInstructionsOnWindow(struct PokemonDebugMenu *data) +{ + u8 fontId = 0; + u8 x = 2; + u8 textInstructions[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Exit {A_BUTTON} Submenu 1$"); + u8 textInstructionsGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Exit {A_BUTTON} Submenu 1$"); + u8 textInstructionsSubmenuOne[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); + u8 textInstructionsSubmenuOneGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back {A_BUTTON} Submenu 2$"); + u8 textInstructionsSubmenuTwo[] = _("{START_BUTTON} Shiny\n{B_BUTTON} Back$"); + u8 textInstructionsSubmenuTwoGender[] = _("{START_BUTTON} Shiny {SELECT_BUTTON} Gender\n{B_BUTTON} Back$"); + + + u8 textBottom[] = _("BACK:\nFRONT:\nBG:$"); + u8 textBottomForms[] = _("BACK:\nFRONT:\nBG:\nFORMS:$"); + u8 textBottomSubmenuTwo[] = _("B coords:\nF coords:\nF elev:"); + u16 species = data->modifyArrows.currValue; + + u8 textL[] = _("{L_BUTTON}"); + u8 textR[] = _("{R_BUTTON}"); + + //Instruction window + FillWindowPixelBuffer(WIN_INSTRUCTIONS, 0x11); + if (data->currentSubmenu == 0) + { + if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsGender, x, 0, 0, NULL); + else + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructions, x, 0, 0, NULL); + } + else if (data->currentSubmenu == 1) + { + if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOneGender, x, 0, 0, NULL); + else + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuOne, x, 0, 0, NULL); + } + else if (data->currentSubmenu == 2) + { + if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwoGender, x, 0, 0, NULL); + else + AddTextPrinterParameterized(WIN_INSTRUCTIONS, fontId, textInstructionsSubmenuTwo, x, 0, 0, NULL); + } + CopyWindowToVram(WIN_INSTRUCTIONS, 3); + + //Bottom left text + FillWindowPixelBuffer(WIN_BOTTOM_LEFT, PIXEL_FILL(0)); + if (data->currentSubmenu != 2) + { + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textL, 30, 0, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textR, 30, 12, 0, NULL); + if (gFormSpeciesIdTables[data->currentmonId] != NULL) + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottomForms, 0, 0, 0, NULL); + else + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottom, 0, 0, 0, NULL); + } + else + AddTextPrinterParameterized(WIN_BOTTOM_LEFT, fontId, textBottomSubmenuTwo, 0, 0, 0, NULL); +} + +static void VBlankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void SetStructPtr(u8 taskId, void *ptr) +{ + u32 structPtr = (u32)(ptr); + u8 *taskDataPtr = (u8*)(&gTasks[taskId].data[0]); + + taskDataPtr[0] = structPtr >> 0; + taskDataPtr[1] = structPtr >> 8; + taskDataPtr[2] = structPtr >> 16; + taskDataPtr[3] = structPtr >> 24; +} + +//Digit and arrow functions +#define VAL_U16 0 +static void PrintDigitChars(struct PokemonDebugMenu *data) +{ + s32 i; + u16 species = data->modifyArrows.currValue; + u8 text[MODIFY_DIGITS_MAX + POKEMON_NAME_LENGTH + 8]; + + for (i = 0; i < data->modifyArrows.maxDigits; i++) + text[i] = data->modifyArrows.charDigits[i]; + + text[i++] = CHAR_SPACE; + text[i++] = CHAR_HYPHEN; + + if (gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) + { + if (data->isFemale) + text[i++] = CHAR_FEMALE; + else + text[i++] = CHAR_MALE; + text[i++] = CHAR_HYPHEN; + } + + text[i++] = CHAR_SPACE; + StringCopy(&text[i], gSpeciesNames[species]); + + FillWindowPixelBuffer(WIN_NAME_NUMBERS, 0x11); + AddTextPrinterParameterized(WIN_NAME_NUMBERS, 1, text, 6, 0, 0, NULL); +} + +static u32 CharDigitsToValue(u8 *charDigits, u8 maxDigits) +{ + s32 i; + u8 id = 0; + u32 newValue = 0; + u8 valueDigits[MODIFY_DIGITS_MAX]; + + for (i = 0; i < MODIFY_DIGITS_MAX; i++) + valueDigits[i] = charDigits[i] - CHAR_0; + + if (maxDigits >= MODIFY_DIGITS_MAX) + newValue += valueDigits[id++] * 1000; + if (maxDigits >= MODIFY_DIGITS_MAX - 1) + newValue += valueDigits[id++] * 100; + if (maxDigits >= MODIFY_DIGITS_MAX - 2) + newValue += valueDigits[id++] * 10; + if (maxDigits >= MODIFY_DIGITS_MAX - 3) + newValue += valueDigits[id++]; + + return newValue; +} + +static void ValueToCharDigits(u8 *charDigits, u32 newValue, u8 maxDigits) +{ + s32 i; + u8 valueDigits[MODIFY_DIGITS_MAX]; + u8 id = 0; + + if (maxDigits >= MODIFY_DIGITS_MAX) + valueDigits[id++] = newValue / 1000; + if (maxDigits >= MODIFY_DIGITS_MAX - 1) + valueDigits[id++] = (newValue % 1000) / 100; + if (maxDigits >= MODIFY_DIGITS_MAX - 2) + valueDigits[id++] = (newValue % 100) / 10; + if (maxDigits >= MODIFY_DIGITS_MAX - 3) + valueDigits[id++] = newValue % 10; + + for (i = 0; i < MODIFY_DIGITS_MAX; i++) + charDigits[i] = valueDigits[i] + CHAR_0; +} + +static void SetArrowInvisibility(struct PokemonDebugMenu *data) +{ + bool8 invisible = data->currentSubmenu; + switch (data->currentSubmenu) + { + case 0: + gSprites[data->modifyArrows.arrowSpriteId[0]].invisible = FALSE; + gSprites[data->modifyArrows.arrowSpriteId[1]].invisible = FALSE; + gSprites[data->optionArrows.arrowSpriteId[0]].invisible = TRUE; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].invisible = TRUE; + break; + case 1: + gSprites[data->modifyArrows.arrowSpriteId[0]].invisible = TRUE; + gSprites[data->modifyArrows.arrowSpriteId[1]].invisible = TRUE; + gSprites[data->optionArrows.arrowSpriteId[0]].invisible = FALSE; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].invisible = TRUE; + break; + case 2: + gSprites[data->modifyArrows.arrowSpriteId[0]].invisible = TRUE; + gSprites[data->modifyArrows.arrowSpriteId[1]].invisible = TRUE; + gSprites[data->optionArrows.arrowSpriteId[0]].invisible = TRUE; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].invisible = FALSE; + break; + } +} + +static void SetUpModifyArrows(struct PokemonDebugMenu *data) +{ + LoadSpritePalette(&gSpritePalette_Arrow); + data->modifyArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, MODIFY_DIGITS_ARROW_X, MODIFY_DIGITS_ARROW1_Y, 0); + data->modifyArrows.arrowSpriteId[1] = CreateSprite(&gSpriteTemplate_Arrow, MODIFY_DIGITS_ARROW_X, MODIFY_DIGITS_ARROW2_Y, 0); + gSprites[data->modifyArrows.arrowSpriteId[1]].animNum = 1; + + data->modifyArrows.minValue = 1; + data->modifyArrows.maxValue = NUM_SPECIES - 1; + data->modifyArrows.maxDigits = 4; + data->modifyArrows.modifiedValPtr = &data->currentmonId; + data->modifyArrows.typeOfVal = VAL_U16; + data->modifyArrows.currValue = data->currentmonId; + + data->modifyArrows.currentDigit = 0; + ValueToCharDigits(data->modifyArrows.charDigits, data->modifyArrows.currValue, data->modifyArrows.maxDigits); +} + +static void SetUpOptionArrows(struct PokemonDebugMenu *data) +{ + LoadSpritePalette(&gSpritePalette_Arrow); + data->optionArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, OPTIONS_ARROW_1_X, OPTIONS_ARROW_Y, 0); + gSprites[data->optionArrows.arrowSpriteId[0]].animNum = 2; + + data->optionArrows.currentDigit = 0; + + gSprites[data->optionArrows.arrowSpriteId[0]].invisible = TRUE; +} + +static void SetUpYPosModifyArrows(struct PokemonDebugMenu *data) +{ + LoadSpritePalette(&gSpritePalette_Arrow); + data->yPosModifyArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, OPTIONS_ARROW_1_X, OPTIONS_ARROW_Y, 0); + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].animNum = 2; + + data->yPosModifyArrows.currentDigit = 0; + + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].invisible = TRUE; +} + +static bool32 TryMoveDigit(struct PokemonDebugModifyArrows *modArrows, bool32 moveUp) +{ + s32 i; + u8 charDigits[MODIFY_DIGITS_MAX]; + u32 newValue; + + for (i = 0; i < MODIFY_DIGITS_MAX; i++) + charDigits[i] = modArrows->charDigits[i]; + + if (moveUp) + { + if (charDigits[modArrows->currentDigit] == CHAR_9) + { + charDigits[modArrows->currentDigit] = CHAR_0; + for (i = modArrows->currentDigit - 1; i >= 0; i--) + { + if (charDigits[i] == CHAR_9) + charDigits[i] = CHAR_0; + else + { + charDigits[i]++; + break; + } + } + } + else + charDigits[modArrows->currentDigit]++; + } + else + { + if (charDigits[modArrows->currentDigit] == CHAR_0) + { + charDigits[modArrows->currentDigit] = CHAR_9; + + for (i = modArrows->currentDigit - 1; i >= 0; i--) + { + if (charDigits[i] == CHAR_0) + charDigits[i] = CHAR_9; + else + { + charDigits[i]--; + break; + } + } + } + + else + charDigits[modArrows->currentDigit]--; + } + + newValue = CharDigitsToValue(charDigits, modArrows->maxDigits); + if (newValue > modArrows->maxValue || newValue < modArrows->minValue) + { + return FALSE; + } + else + { + modArrows->currValue = newValue; + for (i = 0; i < MODIFY_DIGITS_MAX; i++) + modArrows->charDigits[i] = charDigits[i]; + return TRUE; + } +} + +static void UpdateBattlerValue(struct PokemonDebugMenu *data) +{ + u32 i; + switch (data->modifyArrows.typeOfVal) + { + case VAL_U16: + *(u16*)(data->modifyArrows.modifiedValPtr) = data->modifyArrows.currValue; + break; + } +} + +//Sprite functions +static const struct CompressedSpritePalette *GetMonSpritePalStructCustom(u16 species, bool8 isFemale, bool8 isShiny) +{ + if (isShiny) + { + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + return &gMonShinyPaletteTableFemale[species]; + else + return &gMonShinyPaletteTable[species]; + } + else + { + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + return &gMonPaletteTableFemale[species]; + else + return &gMonPaletteTable[species]; + } +} + +static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bool8 isShiny, u8 battlerId) +{ + u16 paletteOffset; + const void *lzPaletteData; + const struct CompressedSpritePalette *palette; + + paletteOffset = 0x100 + battlerId * 16; + + palette = GetMonSpritePalStructCustom(species, isFemale, isShiny); + + if (isShiny) + { + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + lzPaletteData = gMonShinyPaletteTableFemale[species].data; + else + lzPaletteData = gMonShinyPaletteTable[species].data; + } + else + { + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + lzPaletteData = gMonPaletteTableFemale[species].data; + else + lzPaletteData = gMonPaletteTable[species].data; + } + + LZDecompressWram(lzPaletteData, gDecompressionBuffer); + LoadPalette(gDecompressionBuffer, paletteOffset, 0x20); + LoadPalette(gDecompressionBuffer, 0x80 + battlerId * 16, 0x20); +} + +static bool8 IsCastformForm(species) +{ + if (species == SPECIES_CASTFORM_SUNNY || species == SPECIES_CASTFORM_RAINY || species == SPECIES_CASTFORM_SNOWY) + return TRUE; + + return FALSE; +} + +static u8 GetCastformYCustom(species) +{ + u8 ret; + switch (species) + { + case SPECIES_CASTFORM: + ret = gCastformFrontSpriteCoords[CASTFORM_NORMAL].y_offset; + break; + case SPECIES_CASTFORM_SUNNY: + ret = gCastformFrontSpriteCoords[CASTFORM_FIRE].y_offset; + break; + case SPECIES_CASTFORM_RAINY: + ret = gCastformFrontSpriteCoords[CASTFORM_WATER].y_offset; + break; + case SPECIES_CASTFORM_SNOWY: + ret = gCastformFrontSpriteCoords[CASTFORM_ICE].y_offset; + break; + } + return ret; +} + +static u8 GetElevationValue(u16 species) +{ + u8 val; + if (species == SPECIES_CASTFORM) + val = sCastformElevations[0]; + else if (IsCastformForm(species)) + val = sCastformElevations[species - SPECIES_CASTFORM_SUNNY + 1]; + else + val = gEnemyMonElevation[species]; + + return val; +} + +static void SetConstSpriteValues(struct PokemonDebugMenu *data) +{ + u16 species = data->currentmonId; + data->constSpriteValues.frontPicCoords = gMonFrontPicCoords[species].y_offset; + data->constSpriteValues.frontElevation = GetElevationValue(species); + data->constSpriteValues.backPicCoords = gMonBackPicCoords[species].y_offset; +} + +static void ResetOffsetSpriteValues(struct PokemonDebugMenu *data) +{ + data->offsetsSpriteValues.offset_back_picCoords = 0; + data->offsetsSpriteValues.offset_front_picCoords = 0; + data->offsetsSpriteValues.offset_front_elevation = 0; +} + +static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 offset_elevation) +{ + u16 offset; + u8 y; + + //FrontPicCoords + offset = gMonFrontPicCoords[species].y_offset + offset_picCoords; + + //Elevation + offset -= GetElevationValue(species) + offset_elevation; + + //Main position + y = offset + sBattlerCoords[0][1].y; + + if (y > DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8) + y = DISPLAY_HEIGHT - MON_PIC_HEIGHT + 8; + + return y; +} + +static void UpdateShadowSpriteInvisible(struct PokemonDebugMenu *data) +{ + if (data->constSpriteValues.frontElevation + data->offsetsSpriteValues.offset_front_elevation == 0) + gSprites[data->frontShadowSpriteId].invisible = TRUE; + else + gSprites[data->frontShadowSpriteId].invisible = FALSE; +} + +static void SpriteCB_EnemyShadowCustom(struct Sprite *shadowSprite) +{ + u8 frontSpriteId = shadowSprite->data[0]; + struct Sprite *battlerSprite = &gSprites[frontSpriteId]; + + shadowSprite->x = battlerSprite->x; + shadowSprite->x2 = battlerSprite->x2; +} + +static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonDebugMenu *data, u16 species) +{ + u8 x, y; + bool8 invisible = FALSE; + if (gEnemyMonElevation[species] == 0 && !IsCastformForm(species)) + invisible = TRUE; + LoadCompressedSpriteSheet(&gSpriteSheet_EnemyShadow); + LoadSpritePalette(&sSpritePalettes_HealthBoxHealthBar[0]); + x = sBattlerCoords[0][1].x; + y = sBattlerCoords[0][1].y; + + data->frontShadowSpriteId = CreateSprite(&gSpriteTemplate_EnemyShadow, x, y + 29, 0xC8); + gSprites[data->frontShadowSpriteId].data[0] = data->frontspriteId; + + gSprites[data->frontShadowSpriteId].callback = SpriteCB_EnemyShadowCustom; + gSprites[data->frontShadowSpriteId].oam.priority = 0; + gSprites[data->frontShadowSpriteId].invisible = invisible; +} + +//Tile functions (footprints) +static void DrawFootprintCustom(u8 windowId, u16 species) +{ + u8 footprint[32 * 4] = {0}; + const u8 * footprintGfx = gMonFootprintTable[species]; + u32 i, j, tileIdx = 0; + + if (footprintGfx != NULL) + { + for (i = 0; i < 32; i++) + { + u8 tile = footprintGfx[i]; + for (j = 0; j < 4; j++) + { + u8 value = ((tile >> (2 * j)) & 1 ? 2 : 0); + if (tile & (2 << (2 * j))) + value |= 0x20; + footprint[tileIdx] = value; + tileIdx++; + } + } + } + CopyToWindowPixelBuffer(windowId, footprint, sizeof(footprint), 0); +} + +//Battle background functions +static void LoadBattleBg(u8 battleBgType, u8 battleTerrain) +{ + switch (battleBgType) + { + default: + case MAP_BATTLE_SCENE_NORMAL: + LZDecompressVram(sBattleTerrainTable[battleTerrain].tileset, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(sBattleTerrainTable[battleTerrain].tilemap, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(sBattleTerrainTable[battleTerrain].palette, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GYM: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_MAGMA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_AQUA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_SIDNEY: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_PHOEBE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GLACIA: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_DRAKE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_FRONTIER: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_LEADER: + LZDecompressVram(gBattleTerrainTiles_Building, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_WALLACE: + LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_GROUDON: + LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_KYOGRE: + LZDecompressVram(gBattleTerrainTiles_Water, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60); + break; + case MAP_BATTLE_SCENE_RAYQUAZA: + LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void*)(BG_CHAR_ADDR(2))); + LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void*)(BG_SCREEN_ADDR(26))); + LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, 0x20, 0x60); + break; + } +} +static void PrintBattleBgName(u8 taskId) +{ + struct PokemonDebugMenu *data = GetStructPtr(taskId); + u8 fontId = 0; + u8 text[30+1]; + + if (data->battleBgType == 0) + StringCopy(text, gBattleBackgroundTerrainNames[data->battleTerrain]); + else + StringCopy(text, gBattleBackgroundNames[data->battleBgType]); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, 0, 24, 0, NULL); +} +static void UpdateBattleBg(u8 taskId, bool8 increment) +{ + struct PokemonDebugMenu *data = GetStructPtr(taskId); + + if (data->battleBgType == MAP_BATTLE_SCENE_NORMAL) + { + if (increment) + { + if (data->battleTerrain == BATTLE_TERRAIN_PLAIN) + data->battleBgType += 1; + else + data->battleTerrain += 1; + } + else + { + if (data->battleTerrain == BATTLE_TERRAIN_GRASS) + data->battleBgType = MAP_BATTLE_SCENE_RAYQUAZA; + else + data->battleTerrain -= 1; + } + } + else if (data->battleBgType == MAP_BATTLE_SCENE_GYM) + { + if (increment) + data->battleBgType += 1; + else + { + data->battleBgType = MAP_BATTLE_SCENE_NORMAL; + data->battleTerrain = BATTLE_TERRAIN_PLAIN; + } + } + else if (data->battleBgType == MAP_BATTLE_SCENE_RAYQUAZA) + { + if (increment) + { + data->battleBgType = MAP_BATTLE_SCENE_NORMAL; + data->battleTerrain = BATTLE_TERRAIN_GRASS; + } + else + data->battleBgType -= 1; + } + else + { + if (increment) + data->battleBgType += 1; + else + data->battleBgType -= 1; + } + + PrintBattleBgName(taskId); + + LoadBattleBg(data->battleBgType, data->battleTerrain); +} + +// ******************************* +// Main functions +static void UpdateMonAnimNames(u8 taskId) +{ + struct PokemonDebugMenu *data = GetStructPtr(taskId); + u8 frontAnim = data->animIdFront; + u8 backAnim = data->animIdBack; + u8 text[34]; + u8 fontId = 0; + u8 textNum[4]; + + FillWindowPixelBuffer(WIN_BOTTOM_RIGHT, PIXEL_FILL(0)); + + //Back + StringCopy(text, gBackAnimNames[backAnim]); + ConvertIntToDecimalStringN(textNum, backAnim, STR_CONV_MODE_LEADING_ZEROS, 3); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNum, 0, 0, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, 18, 0, 0, NULL); + //Front + StringCopy(text, gFrontAnimNames[frontAnim]); + ConvertIntToDecimalStringN(textNum, frontAnim, STR_CONV_MODE_LEADING_ZEROS, 3); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNum, 0, 12, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, 18, 12, 0, NULL); + + PrintBattleBgName(taskId); +} + +static void UpdateYPosOffsetText(struct PokemonDebugMenu *data) +{ + u8 text[34]; + u8 fontId = 0; + u8 textConst[] = _("const val:"); + u8 textNew[] = _("new val:"); + u8 x_const_val = 50; + u8 x_new_text = 70; + u8 x_new_val = 110; + u8 y = 0; + + u8 backPicCoords = data->constSpriteValues.backPicCoords; + u8 frontPicCoords = data->constSpriteValues.frontPicCoords; + u8 frontElevation = data->constSpriteValues.frontElevation; + + s8 offset_back_picCoords = data->offsetsSpriteValues.offset_back_picCoords; + s8 offset_front_picCoords = data->offsetsSpriteValues.offset_front_picCoords; + s8 offset_front_elevation = data->offsetsSpriteValues.offset_front_elevation; + + u8 newBackPicCoords = backPicCoords + offset_back_picCoords; + u8 newFrontPicCoords = frontPicCoords + offset_front_picCoords; + u8 newFrontElevation = frontElevation + offset_front_elevation; + + FillWindowPixelBuffer(WIN_BOTTOM_RIGHT, PIXEL_FILL(0)); + + //Back + y = 0; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ConvertIntToDecimalStringN(text, backPicCoords , STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ConvertIntToDecimalStringN(text, newBackPicCoords , STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); + //Front picCoords + y = 12; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ConvertIntToDecimalStringN(text, frontPicCoords , STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ConvertIntToDecimalStringN(text, newFrontPicCoords , STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); + //Front elevation + y = 24; + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textConst, 0, y, 0, NULL); + ConvertIntToDecimalStringN(text, frontElevation , STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_const_val, y, 0, NULL); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, textNew, x_new_text, y, 0, NULL); + ConvertIntToDecimalStringN(text, newFrontElevation , STR_CONV_MODE_LEFT_ALIGN, 2); + AddTextPrinterParameterized(WIN_BOTTOM_RIGHT, fontId, text, x_new_val, y, 0, NULL); +} + +static void ResetPokemonDebugWindows(void) +{ + u8 i; + + FreeAllWindowBuffers(); + InitWindows(sPokemonDebugWindowTemplate); + + for (i = 0; i < WIN_END + 1; i++) + { + FillWindowPixelBuffer(i, PIXEL_FILL(0)); + PutWindowTilemap(i); + CopyWindowToVram(i, 3); + } +} + +void CB2_Debug_Pokemon(void) +{ + u8 taskId; + const struct CompressedSpritePalette *palette; + struct PokemonDebugMenu *data; + u16 species; + s16 offset_y; + u8 front_x = sBattlerCoords[0][1].x; + u8 front_y; + + switch (gMain.state) + { + case 0: + default: + SetVBlankCallback(NULL); + FreeMonSpritesGfx(); + ResetBGs_Debug_Menu(0); + DmaFillLarge16(3, 0, (u8 *)VRAM, VRAM_SIZE, 0x1000) + DmaClear32(3, OAM, OAM_SIZE); + DmaClear16(3, PLTT, PLTT_SIZE); + gMain.state = 1; + break; + case 1: + ScanlineEffect_Stop(); + ResetTasks(); + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 8; + ResetAllPicSprites(); + BlendPalettes(PALETTES_ALL, 16, RGB_BLACK); + LoadPalette(GetTextWindowPalette(0), 15*16, 0x40); + + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 20, 15); + InitBgsFromTemplates(0, sBgTemplates, ARRAY_COUNT(sBgTemplates)); + data->battleBgType = 0; + data->battleTerrain = 0; + LoadBattleBg(data->battleBgType , data->battleTerrain); + + gMain.state++; + break; + case 2: + ResetPokemonDebugWindows(); + gMain.state++; + break; + case 3: + AllocateMonSpritesGfx(); + + LoadPalette(sBgColor, 0, 2); + LoadMonIconPalette(SPECIES_BULBASAUR); + + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + + //input task handler + taskId = CreateTask(Handle_Input_Debug_Pokemon, 0); + + data = AllocZeroed(sizeof(struct PokemonDebugMenu)); + SetStructPtr(taskId, data); + + data->currentmonId = SPECIES_BULBASAUR; + species = data->currentmonId; + + //Print instructions + PrintInstructionsOnWindow(data); + + //Palettes + palette = GetMonSpritePalStructCustom(species, data->isFemale, data->isShiny); + LoadCompressedSpritePalette(palette); + //Front + HandleLoadSpecialPokePicCustom(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites.ptr[1], species, 0, data->isFemale); + data->isShiny = FALSE; + data->isFemale = FALSE; + BattleLoadOpponentMonSpriteGfxCustom(species, data->isFemale, data->isShiny, 1); + SetMultiuseSpriteTemplateToPokemon(species, 1); + gMultiuseSpriteTemplate.paletteTag = palette->tag; + front_y = GetBattlerSpriteFinal_YCustom(species, 0, 0); + data->frontspriteId = CreateSprite(&gMultiuseSpriteTemplate, front_x, front_y, 0); + gSprites[data->frontspriteId].oam.paletteNum = 1; + gSprites[data->frontspriteId].callback = SpriteCallbackDummy; + gSprites[data->frontspriteId].oam.priority = 0; + //Front Shadow + LoadAndCreateEnemyShadowSpriteCustom(data, species); + + //Back + HandleLoadSpecialPokePicCustom(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites.ptr[2], species, 0, data->isFemale); + BattleLoadOpponentMonSpriteGfxCustom(species, data->isFemale, data->isShiny, 4); + SetMultiuseSpriteTemplateToPokemon(species, 2); + offset_y = gMonBackPicCoords[species].y_offset; + data->backspriteId = CreateSprite(&gMultiuseSpriteTemplate, DEBUG_MON_BACK_X, DEBUG_MON_BACK_Y + offset_y, 0); + gSprites[data->backspriteId].oam.paletteNum = 4; + gSprites[data->backspriteId].callback = SpriteCallbackDummy; + gSprites[data->backspriteId].oam.priority = 0; + + //Icon Sprite + data->iconspriteId = CreateMonIconCustom(species, SpriteCB_MonIcon, DEBUG_ICON_X, DEBUG_ICON_Y, 4, data->isShiny, data->isFemale, data->isShiny); + gSprites[data->iconspriteId].oam.priority = 0; + + //Modify Arrows + SetUpModifyArrows(data); + PrintDigitChars(data); + + //Option Arrow + SetUpOptionArrows(data); + + //Modify Y Pos Arrow + SetUpYPosModifyArrows(data); + + //Anim names + data->animIdBack = GetSpeciesBackAnimSet(species) + 1; + data->animIdFront = sMonFrontAnimIdsTable[data->currentmonId - 1]; + UpdateMonAnimNames(taskId); + + //BattleNg Name + PrintBattleBgName(taskId); + + //Footprint + DrawFootprintCustom(WIN_FOOTPRINT, species); + CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX); + + gMain.state++; + break; + case 4: + EnableInterrupts(1); + SetVBlankCallback(VBlankCB); + SetMainCallback2(CB2_Debug_Runner); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 0x80); + break; + } +} + +static void CB2_Debug_Runner(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +static void ResetBGs_Debug_Menu(u16 a) +{ + if (!(a & DISPCNT_BG0_ON)) + { + ClearGpuRegBits(0, DISPCNT_BG0_ON); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + } + if (!(a & DISPCNT_BG1_ON)) + { + ClearGpuRegBits(0, DISPCNT_BG1_ON); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + } + if (!(a & DISPCNT_BG2_ON)) + { + ClearGpuRegBits(0, DISPCNT_BG2_ON); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + } + if (!(a & DISPCNT_BG3_ON)) + { + ClearGpuRegBits(0, DISPCNT_BG3_ON); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + } + if (!(a & DISPCNT_OBJ_ON)) + { + ClearGpuRegBits(0, DISPCNT_OBJ_ON); + ResetSpriteData(); + FreeAllSpritePalettes(); + gReservedSpritePaletteCount = 8; + } +} + +static void ApplyOffsetSpriteValues(struct PokemonDebugMenu *data) +{ + u16 species = data->currentmonId; + //Back + gSprites[data->backspriteId].y = DEBUG_MON_BACK_Y + gMonBackPicCoords[species].y_offset + data->offsetsSpriteValues.offset_back_picCoords; + //Front + gSprites[data->frontspriteId].y = GetBattlerSpriteFinal_YCustom(species, data->offsetsSpriteValues.offset_front_picCoords, data->offsetsSpriteValues.offset_front_elevation); + //Shadow if one was added + UpdateShadowSpriteInvisible(data); +} + +static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment) +{ + struct PokemonDebugMenu *data = GetStructPtr(taskId); + u8 option = data->submenuYpos[1]; + + switch (option) + { + case 0: + if (increment) + { + if (data->animIdBack >= BACK_ANIM_SHAKE_GLOW_BLUE) + data->animIdBack = 1; + else + data->animIdBack += 1; + } + else + { + if (data->animIdBack <= 1) + data->animIdBack = BACK_ANIM_SHAKE_GLOW_BLUE; + else + data->animIdBack -= 1; + } + UpdateMonAnimNames(taskId); + break; + case 1: + if (increment) + { + if (data->animIdFront >= ANIM_SHAKE_GLOW_PURPLE_SLOW) + data->animIdFront = 0; + else + data->animIdFront += 1; + } + else + { + if (data->animIdFront <= 0) + data->animIdFront = ANIM_SHAKE_GLOW_PURPLE_SLOW; + else + data->animIdFront -= 1; + } + UpdateMonAnimNames(taskId); + break; + case 2: + UpdateBattleBg(taskId, increment); + break; + case 3: + if (gFormSpeciesIdTables[data->currentmonId] != NULL) + { + struct PokemonDebugModifyArrows *modArrows = &data->modifyArrows; + u8 formId = GetFormIdFromFormSpeciesId(data->currentmonId); + if (increment) + { + if (gFormSpeciesIdTables[data->currentmonId][formId + 1] != FORM_SPECIES_END) + modArrows->currValue = GetFormSpeciesId(data->currentmonId, formId + 1); + else + modArrows->currValue = gFormSpeciesIdTables[data->currentmonId][0]; + } + else + { + if (gFormSpeciesIdTables[data->currentmonId][formId] == gFormSpeciesIdTables[data->currentmonId][0]) + { + u8 lastForm; + for (lastForm = 0; gFormSpeciesIdTables[data->currentmonId][lastForm] != FORM_SPECIES_END; lastForm++) + { + if (gFormSpeciesIdTables[data->currentmonId][lastForm + 1] == FORM_SPECIES_END) + break; + } + modArrows->currValue = gFormSpeciesIdTables[data->currentmonId][lastForm]; + } + else + modArrows->currValue = GetFormSpeciesId(data->currentmonId, formId - 1); + } + data->animIdBack = GetSpeciesBackAnimSet(modArrows->currValue) + 1; + data->animIdFront = sMonFrontAnimIdsTable[modArrows->currValue - 1]; + UpdateMonAnimNames(taskId); + ResetOffsetSpriteValues(data); + + UpdateBattlerValue(data); + ReloadPokemonSprites(data); + while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + PlaySE(SE_DEX_SCROLL); + } + break; + default: + break; + } +} + +static void UpdateSubmenuTwoOptionValue(u8 taskId, bool8 increment) +{ + struct PokemonDebugMenu *data = GetStructPtr(taskId); + u16 species = data->currentmonId; + u8 option = data->submenuYpos[2]; + s8 offset; + u8 y; + + switch (option) + { + case 0: //Back picCoords + offset = data->offsetsSpriteValues.offset_back_picCoords; + if (increment) + { + if (offset == MAX_Y_OFFSET) + offset = -data->constSpriteValues.backPicCoords; + else + offset += 1; + } + else + { + if (offset == -data->constSpriteValues.backPicCoords) + offset = MAX_Y_OFFSET; + else + offset -= 1; + } + data->offsetsSpriteValues.offset_back_picCoords = offset; + gSprites[data->backspriteId].y = DEBUG_MON_BACK_Y + gMonBackPicCoords[species].y_offset + offset; + break; + case 1: //Front picCoords + offset = data->offsetsSpriteValues.offset_front_picCoords; + if (increment) + { + if (offset == MAX_Y_OFFSET) + offset = -data->constSpriteValues.frontPicCoords; + else + offset += 1; + } + else + { + if (offset == -data->constSpriteValues.frontPicCoords) + offset = MAX_Y_OFFSET; + else + offset -= 1; + } + data->offsetsSpriteValues.offset_front_picCoords = offset; + y = GetBattlerSpriteFinal_YCustom(species, offset, data->offsetsSpriteValues.offset_front_elevation); + gSprites[data->frontspriteId].y = y; + break; + case 2: //Front elevation + offset = data->offsetsSpriteValues.offset_front_elevation; + if (increment) + { + if (offset == MAX_Y_OFFSET) + offset = -data->constSpriteValues.frontElevation; + else + offset += 1; + } + else + { + if (offset == -data->constSpriteValues.frontElevation) + offset = MAX_Y_OFFSET; + else + offset -= 1; + } + data->offsetsSpriteValues.offset_front_elevation = offset; + y = GetBattlerSpriteFinal_YCustom(species, data->offsetsSpriteValues.offset_front_picCoords, offset); + gSprites[data->frontspriteId].y = y; + UpdateShadowSpriteInvisible(data); + break; + } + + UpdateYPosOffsetText(data); +} + +static void Handle_Input_Debug_Pokemon(u8 taskId) +{ + struct PokemonDebugMenu *data = GetStructPtr(taskId); + struct Sprite *Frontsprite = &gSprites[data->frontspriteId]; + struct Sprite *Backsprite = &gSprites[data->backspriteId]; + + if (JOY_NEW(L_BUTTON) && (Backsprite->callback == SpriteCallbackDummy)) + { + PlayCryInternal(data->currentmonId, 0, 120, 10, 0); + LaunchAnimationTaskForBackSprite(Backsprite, data->animIdBack-1); + } + if (JOY_NEW(R_BUTTON) && (Frontsprite->callback == SpriteCallbackDummy)) + { + PlayCryInternal(data->currentmonId, 0, 120, 10, 0); + if (HasTwoFramesAnimation(data->currentmonId)) + StartSpriteAnim(Frontsprite, 1); + LaunchAnimationTaskForFrontSprite(Frontsprite, data->animIdFront); + } + + if (JOY_NEW(START_BUTTON)) + { + data->isShiny = !data->isShiny; + + if(data->isShiny) + PlaySE(SE_SHINY); + + ReloadPokemonSprites(data); + ApplyOffsetSpriteValues(data); + } + if (JOY_NEW(SELECT_BUTTON) && (gBaseStats[data->currentmonId].flags & FLAG_GENDER_DIFFERENCE)) + { + data->isFemale = !data->isFemale; + PrintDigitChars(data); + UpdateBattlerValue(data); + ReloadPokemonSprites(data); + while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + PlaySE(SE_DEX_SCROLL); + } + + if (data->currentSubmenu == 0) + { + if (JOY_NEW(A_BUTTON)) + { + data->currentSubmenu = 1; + SetArrowInvisibility(data); + PrintInstructionsOnWindow(data); + } + else if (JOY_NEW(B_BUTTON)) + { + BeginNormalPaletteFade(PALETTES_ALL, 0, 0, 0x10, RGB_BLACK); + gTasks[taskId].func = Exit_Debug_Pokemon; + PlaySE(SE_PC_OFF); + } + else if (JOY_NEW(DPAD_DOWN)) + { + if (TryMoveDigit(&data->modifyArrows, FALSE)) + { + data->isFemale = FALSE; + PrintDigitChars(data); + UpdateBattlerValue(data); + ReloadPokemonSprites(data); + data->animIdBack = GetSpeciesBackAnimSet(data->currentmonId) + 1; + data->animIdFront = sMonFrontAnimIdsTable[data->currentmonId - 1]; + UpdateMonAnimNames(taskId); + ResetOffsetSpriteValues(data); + } + PlaySE(SE_DEX_SCROLL); + while (!(gMain.intrCheck & INTR_FLAG_VBLANK)); + } + else if (JOY_NEW(DPAD_UP)) + { + if (TryMoveDigit(&data->modifyArrows, TRUE)) + { + data->isFemale = FALSE; + PrintDigitChars(data); + UpdateBattlerValue(data); + ReloadPokemonSprites(data); + data->animIdBack = GetSpeciesBackAnimSet(data->currentmonId) + 1; + data->animIdFront = sMonFrontAnimIdsTable[data->currentmonId - 1]; + UpdateMonAnimNames(taskId); + ResetOffsetSpriteValues(data); + } + + PlaySE(SE_DEX_SCROLL); + } + else if (JOY_NEW(DPAD_LEFT)) + { + if (data->modifyArrows.currentDigit != 0) + { + data->modifyArrows.currentDigit--; + gSprites[data->modifyArrows.arrowSpriteId[0]].x2 -= 6; + gSprites[data->modifyArrows.arrowSpriteId[1]].x2 -= 6; + } + } + else if (JOY_NEW(DPAD_RIGHT)) + { + if (data->modifyArrows.currentDigit != (data->modifyArrows.maxDigits - 1)) + { + data->modifyArrows.currentDigit++; + gSprites[data->modifyArrows.arrowSpriteId[0]].x2 += 6; + gSprites[data->modifyArrows.arrowSpriteId[1]].x2 += 6; + } + } + + } + else if (data->currentSubmenu == 1) //Submenu 1 + { + if (JOY_NEW(A_BUTTON)) + { + data->currentSubmenu = 2; + PrintInstructionsOnWindow(data); + SetArrowInvisibility(data); + SetConstSpriteValues(data); + UpdateYPosOffsetText(data); + } + else if (JOY_NEW(B_BUTTON)) + { + data->currentSubmenu = 0; + if (data->submenuYpos[1] == 3) + { + data->submenuYpos[1] = 2; + data->optionArrows.currentDigit = data->submenuYpos[1]; + gSprites[data->optionArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->optionArrows.currentDigit * 12; + } + SetArrowInvisibility(data); + PrintInstructionsOnWindow(data); + } + else if (JOY_NEW(DPAD_DOWN)) + { + data->submenuYpos[1] += 1; + if (data->submenuYpos[1] >= 3) + { + if ((gFormSpeciesIdTables[data->currentmonId] == NULL) || (data->submenuYpos[1] >= 4)) + data->submenuYpos[1] = 0; + } + data->optionArrows.currentDigit = data->submenuYpos[1]; + gSprites[data->optionArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->optionArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_UP)) + { + if (data->submenuYpos[1] == 0) + { + if (gFormSpeciesIdTables[data->currentmonId] != NULL) + data->submenuYpos[1] = 3; + else + data->submenuYpos[1] = 2; + } + else + data->submenuYpos[1] -= 1; + + data->optionArrows.currentDigit = data->submenuYpos[1]; + gSprites[data->optionArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->optionArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_LEFT)) + { + UpdateSubmenuOneOptionValue(taskId, FALSE); + } + else if (JOY_NEW(DPAD_RIGHT)) + { + UpdateSubmenuOneOptionValue(taskId, TRUE); + } + } + else if (data->currentSubmenu == 2) //Submenu 2 + { + if (JOY_NEW(B_BUTTON)) + { + data->currentSubmenu = 1; + + SetArrowInvisibility(data); + PrintInstructionsOnWindow(data); + UpdateMonAnimNames(taskId); + } + else if (JOY_NEW(DPAD_DOWN)) + { + data->submenuYpos[2] += 1; + if (data->submenuYpos[2] >= 3) + data->submenuYpos[2] = 0; + + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_UP)) + { + if (data->submenuYpos[2] == 0) + data->submenuYpos[2] = 2; + else + data->submenuYpos[2] -= 1; + + data->yPosModifyArrows.currentDigit = data->submenuYpos[2]; + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].y = OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12; + } + else if (JOY_NEW(DPAD_LEFT)) + { + UpdateSubmenuTwoOptionValue(taskId, FALSE); + } + else if (JOY_NEW(DPAD_RIGHT)) + { + UpdateSubmenuTwoOptionValue(taskId, TRUE); + } + } +} + +static void ReloadPokemonSprites(struct PokemonDebugMenu *data) +{ + const struct CompressedSpritePalette *palette; + u16 species = data->currentmonId; + s16 offset_y; + u8 front_x = sBattlerCoords[0][1].x; + u8 front_y; + + DestroySprite(&gSprites[data->frontspriteId]); + DestroySprite(&gSprites[data->backspriteId]); + DestroySprite(&gSprites[data->iconspriteId]); + + FreeMonSpritesGfx(); + ResetSpriteData(); + ResetPaletteFade(); + FreeAllSpritePalettes(); + ResetAllPicSprites(); + FreeMonIconPalettes(); + + AllocateMonSpritesGfx(); + LoadMonIconPalette(species); + + //Update instructions + PrintInstructionsOnWindow(data); + + //Palettes + palette = GetMonSpritePalStructCustom(species, data->isFemale, data->isShiny); + LoadCompressedSpritePalette(palette); + //Front + HandleLoadSpecialPokePicCustom(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites.ptr[1], species, 0, data->isFemale); + BattleLoadOpponentMonSpriteGfxCustom(species, data->isFemale, data->isShiny, 1); + SetMultiuseSpriteTemplateToPokemon(species, 1); + gMultiuseSpriteTemplate.paletteTag = palette->tag; + front_y = GetBattlerSpriteFinal_YCustom(species, 0, 0); + data->frontspriteId = CreateSprite(&gMultiuseSpriteTemplate, front_x, front_y, 0); + gSprites[data->frontspriteId].oam.paletteNum = 1; + gSprites[data->frontspriteId].callback = SpriteCallbackDummy; + gSprites[data->frontspriteId].oam.priority = 0; + //Front Shadow + LoadAndCreateEnemyShadowSpriteCustom(data, species); + + //Back + HandleLoadSpecialPokePicCustom(&gMonBackPicTable[species], gMonSpritesGfxPtr->sprites.ptr[2], species, 0, data->isFemale); + BattleLoadOpponentMonSpriteGfxCustom(species, data->isFemale, data->isShiny, 5); + SetMultiuseSpriteTemplateToPokemon(species, 2); + offset_y = gMonBackPicCoords[species].y_offset; + data->backspriteId = CreateSprite(&gMultiuseSpriteTemplate, DEBUG_MON_BACK_X, DEBUG_MON_BACK_Y + offset_y, 0); + gSprites[data->backspriteId].oam.paletteNum = 5; + gSprites[data->backspriteId].callback = SpriteCallbackDummy; + gSprites[data->backspriteId].oam.priority = 0; + + //Icon Sprite + data->iconspriteId = CreateMonIconCustom(species, SpriteCB_MonIcon, DEBUG_ICON_X, DEBUG_ICON_Y, 4, data->isShiny, data->isFemale, data->isShiny); + gSprites[data->iconspriteId].oam.priority = 0; + + //Modify Arrows + LoadSpritePalette(&gSpritePalette_Arrow); + data->modifyArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, MODIFY_DIGITS_ARROW_X + (data->modifyArrows.currentDigit * 6), MODIFY_DIGITS_ARROW1_Y, 0); + data->modifyArrows.arrowSpriteId[1] = CreateSprite(&gSpriteTemplate_Arrow, MODIFY_DIGITS_ARROW_X + (data->modifyArrows.currentDigit * 6), MODIFY_DIGITS_ARROW2_Y, 0); + gSprites[data->modifyArrows.arrowSpriteId[1]].animNum = 1; + + //Option Arrow + LoadSpritePalette(&gSpritePalette_Arrow); + data->optionArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, OPTIONS_ARROW_1_X, OPTIONS_ARROW_Y + data->optionArrows.currentDigit * 12, 0); + gSprites[data->optionArrows.arrowSpriteId[0]].animNum = 2; + + //Y Pos Modify Arrow + LoadSpritePalette(&gSpritePalette_Arrow); + data->yPosModifyArrows.arrowSpriteId[0] = CreateSprite(&gSpriteTemplate_Arrow, OPTIONS_ARROW_1_X, OPTIONS_ARROW_Y + data->yPosModifyArrows.currentDigit * 12, 0); + gSprites[data->yPosModifyArrows.arrowSpriteId[0]].animNum = 2; + + //Arrow invisibility + SetArrowInvisibility(data); + + //Footprint + DrawFootprintCustom(WIN_FOOTPRINT, species); + CopyWindowToVram(WIN_FOOTPRINT, COPYWIN_GFX); +} + +static void Exit_Debug_Pokemon(u8 taskId) +{ + if (!gPaletteFade.active) + { + struct PokemonDebugMenu *data = GetStructPtr(taskId); + Free(data); + FreeMonSpritesGfx(); + DestroyTask(taskId); + SetMainCallback2(CB2_ReturnToFieldWithOpenMenu); + m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 0x100); + } +} + +#endif diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index c7d77d98a..666330975 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -2,6 +2,7 @@ #include "graphics.h" #include "mail.h" #include "palette.h" +#include "pokemon_debug.h" #include "pokemon_icon.h" #include "sprite.h" #include "data.h" @@ -22,6 +23,10 @@ struct MonIconSpriteTemplate static u8 CreateMonIconSprite(struct MonIconSpriteTemplate *, s16, s16, u8); static void FreeAndDestroyMonIconSprite_(struct Sprite *sprite); +#if P_ENABLE_DEBUG == TRUE +static const u8 *GetMonIconPtrCustom(u16 species, u32 personality, bool8 isFemale); +static const u8* GetMonIconTilesCustom(u16 species, bool8 isFemale); +#endif const u8 *const gMonIconTable[] = { @@ -1238,6 +1243,13 @@ const u8 *const gMonIconTable[] = const u8 *const gMonIconTableFemale[] = { [SPECIES_EEVEE] = gMonIcon_Eevee, + [SPECIES_STARLY] = gMonIcon_Starly, + [SPECIES_STARAVIA] = gMonIcon_Staravia, + [SPECIES_STARAPTOR] = gMonIcon_Staraptor, + [SPECIES_BIDOOF] = gMonIcon_Bidoof, + [SPECIES_KRICKETOT] = gMonIcon_Kricketot, + [SPECIES_KRICKETUNE] = gMonIcon_Kricketune, + [SPECIES_SHINX] = gMonIcon_Shinx, [SPECIES_COMBEE] = gMonIcon_Combee, [SPECIES_HIPPOPOTAS] = gMonIcon_Hippopotas, [SPECIES_HIPPOWDON] = gMonIcon_Hippowdon, @@ -2426,6 +2438,12 @@ const u8 gMonIconPaletteIndices[] = const u8 gMonIconPaletteIndicesFemale[] = { [SPECIES_EEVEE] = 2, + [SPECIES_STARLY] = 0, + [SPECIES_STARAVIA] = 0, + [SPECIES_BIDOOF] = 2, + [SPECIES_KRICKETOT] = 2, + [SPECIES_KRICKETUNE] = 2, + [SPECIES_SHINX] = 0, [SPECIES_COMBEE] = 0, [SPECIES_HIPPOPOTAS] = 1, [SPECIES_HIPPOWDON] = 1, @@ -2563,7 +2581,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u if (species > NUM_SPECIES) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; - else if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + else if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndicesFemale[species]; spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); @@ -2573,6 +2591,33 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u return spriteId; } +#if P_ENABLE_DEBUG == TRUE +u8 CreateMonIconCustom(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool8 isFemale, bool8 isShiny) +{ + u8 spriteId; + struct MonIconSpriteTemplate iconTemplate = + { + .oam = &sMonIconOamData, + .image = GetMonIconPtrCustom(species, personality, isFemale), + .anims = sMonIconAnims, + .affineAnims = sMonIconAffineAnims, + .callback = callback, + .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species], + }; + + if (species > NUM_SPECIES) + iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; + else if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndicesFemale[species]; + + spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); + + UpdateMonIconFrame(&gSprites[spriteId]); + + return spriteId; +} +#endif + u8 CreateMonIconNoPersonality(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority) { u8 spriteId; @@ -2644,6 +2689,13 @@ const u8 *GetMonIconPtr(u16 species, u32 personality) return GetMonIconTiles(GetIconSpecies(species, personality), personality); } +#if P_ENABLE_DEBUG == TRUE +static const u8 *GetMonIconPtrCustom(u16 species, u32 personality, bool8 isFemale) +{ + return GetMonIconTilesCustom(GetIconSpecies(species, personality), isFemale); +} +#endif + void FreeAndDestroyMonIconSprite(struct Sprite *sprite) { FreeAndDestroyMonIconSprite_(sprite); @@ -2706,12 +2758,23 @@ void SpriteCB_MonIcon(struct Sprite *sprite) const u8* GetMonIconTiles(u16 species, u32 personality) { const u8* iconSprite = gMonIconTable[species]; - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) { iconSprite = gMonIconTableFemale[species]; } return iconSprite; } +#if P_ENABLE_DEBUG == TRUE +static const u8* GetMonIconTilesCustom(u16 species, bool8 isFemale) +{ + const u8* iconSprite = gMonIconTable[species]; + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && isFemale) + { + iconSprite = gMonIconTableFemale[species]; + } + return iconSprite; +} +#endif void TryLoadAllMonIconPalettesAtOffset(u16 offset) { diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 1bbdd066b..2847d328d 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -576,6 +576,7 @@ EWRAM_DATA static bool8 sIsMonBeingMoved = 0; EWRAM_DATA static u8 sMovingMonOrigBoxId = 0; EWRAM_DATA static u8 sMovingMonOrigBoxPos = 0; EWRAM_DATA static bool8 sAutoActionOn = 0; +EWRAM_DATA static bool8 sJustOpenedBag = 0; // Main tasks static void EnterPokeStorage(u8); @@ -877,6 +878,10 @@ static void UnkUtil_Run(void); static void UnkUtil_CpuRun(struct UnkUtilData *); static void UnkUtil_DmaRun(struct UnkUtilData *); +// Form changing +void SetMonFormPSS(struct BoxPokemon *boxMon); +void UpdateSpeciesSpritePSS(struct BoxPokemon *boxmon); + struct { const u8 *text; const u8 *desc; @@ -3085,6 +3090,7 @@ static void Task_TakeItemForMoving(u8 taskId) StartCursorAnim(CURSOR_ANIM_OPEN); TakeItemFromMon(sInPartyMenu ? CURSOR_AREA_IN_PARTY : CURSOR_AREA_IN_BOX, GetCursorPosition()); sStorage->state++; + sJustOpenedBag = FALSE; break; case 2: if (!IsItemIconAnimActive()) @@ -3604,6 +3610,7 @@ static void Task_GiveItemFromBag(u8 taskId) sWhichToReshow = SCREEN_CHANGE_ITEM_FROM_BAG - 1; sStorage->screenChangeType = SCREEN_CHANGE_ITEM_FROM_BAG; SetPokeStorageTask(Task_ChangeScreen); + sJustOpenedBag = TRUE; } break; } @@ -3781,9 +3788,16 @@ static void GiveChosenBagItem(void) { u8 pos = GetCursorPosition(); if (sInPartyMenu) + { + struct Pokemon *mon = &gPlayerParty[pos]; SetMonData(&gPlayerParty[pos], MON_DATA_HELD_ITEM, &itemId); + SetMonFormPSS(&mon->box); + } else + { SetCurrentBoxMonData(pos, MON_DATA_HELD_ITEM, &itemId); + SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][pos]); + } RemoveBagItem(itemId, 1); } @@ -5095,7 +5109,7 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality) u16 i, offset; // Treat female mons as a seperate species as they may have a different icon than males - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) species |= 0x8000; // 1 << 15 // Search icon list for this species @@ -5125,7 +5139,7 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality) sStorage->numIconsPerSpecies[i]++; offset = 16 * i; species &= GENDER_MASK; - CpuCopy32(GetMonIconTiles(species, personality), (void*)(OBJ_VRAM0) + offset * 32, 0x200); + CpuCopy32(GetMonIconTiles(species, personality), (void*)(OBJ_VRAM0) + offset * TILE_SIZE_4BPP, 0x200); return offset; } @@ -5162,7 +5176,7 @@ static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s struct SpriteTemplate template = sSpriteTemplate_MonIcon; species = GetIconSpecies(species, personality); - if (SpeciesHasGenderDifference[species] && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) + if ((gBaseStats[species].flags & FLAG_GENDER_DIFFERENCE) && GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE) { template.paletteTag = PALTAG_MON_ICON_0 + gMonIconPaletteIndicesFemale[species]; } @@ -6878,6 +6892,19 @@ static void ReshowDisplayMon(void) TryRefreshDisplayMon(); } +void SetMonFormPSS(struct BoxPokemon *boxMon) +{ + u16 species = GetMonData(boxMon, MON_DATA_SPECIES); + u16 targetSpecies = GetFormChangeTargetSpeciesBoxMon(boxMon, FORM_ITEM_HOLD_ABILITY, 0); + if (targetSpecies == SPECIES_NONE) + targetSpecies = GetFormChangeTargetSpeciesBoxMon(boxMon, FORM_ITEM_HOLD, 0); + if (targetSpecies != SPECIES_NONE) + { + SetBoxMonData(boxMon, MON_DATA_SPECIES, &targetSpecies); + UpdateSpeciesSpritePSS(boxMon); + } +} + static void SetDisplayMonData(void *pokemon, u8 mode) { u8 *txtPtr; @@ -8852,11 +8879,14 @@ static void TakeItemFromMon(u8 cursorArea, u8 cursorPos) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &itemId); SetBoxMonIconObjMode(cursorPos, 1); + SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { + struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &itemId); SetPartyMonIconObjMode(cursorPos, 1); + SetMonFormPSS(&mon->box); } sStorage->movingItemId = sStorage->displayMonItemId; @@ -8891,12 +8921,15 @@ static void SwapItemsWithMon(u8 cursorArea, u8 cursorPos) itemId = GetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM); SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sStorage->movingItemId); sStorage->movingItemId = itemId; + SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { + struct Pokemon *mon = &gPlayerParty[cursorPos]; itemId = GetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM); SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sStorage->movingItemId); sStorage->movingItemId = itemId; + SetMonFormPSS(&mon->box); } id = GetItemIconIdxByPosition(CURSOR_AREA_IN_HAND, 0); @@ -8918,11 +8951,14 @@ static void GiveItemToMon(u8 cursorArea, u8 cursorPos) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &sStorage->movingItemId); SetBoxMonIconObjMode(cursorPos, 0); + SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { + struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &sStorage->movingItemId); SetPartyMonIconObjMode(cursorPos, 0); + SetMonFormPSS(&mon->box); } } @@ -8942,11 +8978,14 @@ static void MoveItemFromMonToBag(u8 cursorArea, u8 cursorPos) { SetCurrentBoxMonData(cursorPos, MON_DATA_HELD_ITEM, &itemId); SetBoxMonIconObjMode(cursorPos, 1); + SetMonFormPSS(&gPokemonStoragePtr->boxes[StorageGetCurrentBox()][cursorPos]); } else { + struct Pokemon *mon = &gPlayerParty[cursorPos]; SetMonData(&gPlayerParty[cursorPos], MON_DATA_HELD_ITEM, &itemId); SetPartyMonIconObjMode(cursorPos, 1); + SetMonFormPSS(&mon->box); } } @@ -10090,3 +10129,33 @@ static void UnkUtil_DmaRun(struct UnkUtilData *data) data->dest += 64; } } + +void UpdateSpeciesSpritePSS(struct BoxPokemon *boxMon) +{ + u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES); + u32 otId = GetBoxMonData(boxMon, MON_DATA_OT_ID); + u32 pid = GetBoxMonData(boxMon, MON_DATA_PERSONALITY); + + // Update front sprite + sStorage->displayMonSpecies = species; + sStorage->displayMonPalette = GetMonSpritePalFromSpeciesAndPersonality(species, otId, pid); + if (!sJustOpenedBag) + { + LoadDisplayMonGfx(species, pid); + StartDisplayMonMosaicEffect(); + + // Recreate icon sprite + if (sInPartyMenu) + { + DestroyAllPartyMonIcons(); + CreatePartyMonsSprites(TRUE); + } + else + { + DestroyBoxMonIcon(sStorage->boxMonsSprites[sCursorPosition]); + CreateBoxMonIconAtPos(sCursorPosition); + SetBoxMonIconObjMode(sCursorPosition, GetMonData(boxMon, MON_DATA_HELD_ITEM) == ITEM_NONE); + } + } + sJustOpenedBag = FALSE; +} diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 323c42818..61adc06f2 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -28,6 +28,7 @@ #include "palette.h" #include "pokeball.h" #include "pokemon.h" +#include "pokemon_debug.h" #include "pokemon_storage_system.h" #include "pokemon_summary_screen.h" #include "region_map.h" @@ -1638,6 +1639,15 @@ static void Task_HandleInput(u8 taskId) PlaySE(SE_SELECT); BeginCloseSummaryScreen(taskId); } + #if P_ENABLE_DEBUG == TRUE + else if (JOY_NEW(SELECT_BUTTON) && !gMain.inBattle) + { + sMonSummaryScreen->callback = CB2_Debug_Pokemon; + StopPokemonAnimations(); + PlaySE(SE_SELECT); + CloseSummaryScreen(taskId); + } + #endif } } diff --git a/src/script_pokemon_util.c b/src/script_pokemon_util.c index 0b6944d01..8a9e65ff8 100755 --- a/src/script_pokemon_util.c +++ b/src/script_pokemon_util.c @@ -64,11 +64,23 @@ u8 ScriptGiveMon(u16 species, u8 level, u16 item, u32 unused1, u32 unused2, u8 u int sentToPc; u8 heldItem[2]; struct Pokemon mon; + u16 targetSpecies; CreateMon(&mon, species, level, USE_RANDOM_IVS, FALSE, 0, OT_ID_PLAYER_ID, 0); heldItem[0] = item; heldItem[1] = item >> 8; SetMonData(&mon, MON_DATA_HELD_ITEM, heldItem); + + // In case a mon with a form changing item is given. Eg: SPECIES_ARCEUS with ITEM_SPLASH_PLATE will transform into SPECIES_ARCEUS_WATER upon gifted. + targetSpecies = GetFormChangeTargetSpecies(&mon, FORM_ITEM_HOLD_ABILITY, 0); + if (targetSpecies == SPECIES_NONE) + targetSpecies = GetFormChangeTargetSpecies(&mon, FORM_ITEM_HOLD, 0); + if (targetSpecies != SPECIES_NONE) + { + SetMonData(&mon, MON_DATA_SPECIES, &targetSpecies); + CalculateMonStats(&mon); + } + sentToPc = GiveMonToPlayer(&mon); nationalDexNum = SpeciesToNationalPokedexNum(species);