diff options
author | Marcus Huderle <huderlem@gmail.com> | 2017-12-24 14:23:52 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-24 14:23:52 -0600 |
commit | e3078400bbdb3e8416806127290b9a2d68cfb3b8 (patch) | |
tree | 7ef9993608fc9c6e426ce908957ac07f72b8f650 /src | |
parent | b827bd9a5a44e17fa9fced591465fc64a619a134 (diff) | |
parent | e5c216e5066dac26fad64cb2e7bb6a5f0d40bf3f (diff) |
Merge pull request #492 from PikalaxALT/decompile_data
Decompile data and abstract away some explicit memcpy calls
Diffstat (limited to 'src')
27 files changed, 9465 insertions, 757 deletions
diff --git a/src/data/bard_music_de.h b/src/data/bard_music_de.h new file mode 100644 index 000000000..262fe26a3 --- /dev/null +++ b/src/data/bard_music_de.h @@ -0,0 +1,3699 @@ +#ifndef GUARD_DATA_BARD_MUSIC_H +#define GUARD_DATA_BARD_MUSIC_H + +static const struct BardSound BardMusic_POKEMON[][6] = { + { // ARMALDO + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAUTIFLY + {0x02}, {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // MEDITITE + {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SEAKING + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TORCHIC + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ANORITH + {0x02}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ABSOL + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SURSKIT + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MASQUERAIN + {0x02}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // GEODUDE + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // ILLUMISE + {0x11}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // SKARMORY + {0x02}, {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // SKITTY + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // DELCATTY + {0x0B}, {0x0B}, {0x1A}, {0x1A}, {0xFF}, {0xFF} + }, { // SWELLOW + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GLALIE + {0x11}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // KYOGRE + {0x11}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHAMP + {0x02}, {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // PINSIR + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KECLEON + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SHUPPET + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SILCOON + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // BRELOOM + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHROOMISH + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CARVANHA + {0x02}, {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // TREECKO + {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // WINGULL + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GYARADOS + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // NINETALES + {0x29}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GIRAFARIG + {0x11}, {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // KIRLIA + {0x11}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // BELLOSSOM + {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // KINGDRA + {0x0B}, {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // GLOOM + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAWILE + {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GROUDON + {0x1A}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MIGHTYENA + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CROBAT + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ABRA + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLAKING + {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WURMPLE + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGIKARP + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNEMITE + {0x02}, {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // TORKOAL + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHOKE + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GULPIN + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ARON + {0x1A}, {0x29}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // PSYDUCK + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LAIRON + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHISMUR + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NUZLEAF + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PHANPY + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHELGON + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDUCK + {0x0B}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLBAT + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLEM + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GRAVELER + {0x0B}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // GARDEVOIR + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYDON + {0x11}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYHORN + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOREBYSS + {0x02}, {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // CORSOLA + {0x1A}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // CACNEA + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DUSCLOPS + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHARPEDO + {0x1A}, {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // ZANGOOSE + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSHREW + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSLASH + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SEADRA + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // RELICANTH + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ZIGZAGOON + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CRAWDAUNT + {0x0B}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SCEPTILE + {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // GROVYLE + {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // BANETTE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // JIRACHI + {0x11}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // STARMIE + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ZUBAT + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TAILLOW + {0x02}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WYNAUT + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WOBBUFFET + {0x1A}, {0x11}, {0x0B}, {0x02}, {0x29}, {0xFF} + }, { // SOLROCK + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHIFTRY + {0x0B}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HORSEA + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BAGON + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEDOT + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SPHEAL + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // BELDUM + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MEDICHAM + {0x0B}, {0x11}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // CHINCHOU + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHIMECHO + {0x02}, {0x11}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // ALTARIA + {0x02}, {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // SWABLU + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NINCADA + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // DEOXYS + {0x0B}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // NINJASK + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DODUO + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DODRIO + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KOFFING + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACRUEL + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // DUSTOX + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOUDRED + {0x02}, {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // GOLDEEN + {0x1A}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // BARBOACH + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEALEO + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // WALREIN + {0x02}, {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // TROPIUS + {0x1A}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DONPHAN + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NUMEL + {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // ODDISH + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAPINCH + {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SLAKOTH + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHISCASH + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHEDINJA + {0x11}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MARSHTOMP + {0x1A}, {0x1A}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // NATU + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // XATU + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CLAYDOL + {0x0B}, {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // CACTURNE + {0x1A}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // NOSEPASS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CLAMPERL + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CAMERUPT + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // EXPLOUD + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BLAZIKEN + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOMBRE + {0x1A}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // LOTAD + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPINDA + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPOINK + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEVIPER + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HARIYAMA + {0x02}, {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // VOLBEAT + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // HUNTAIL + {0x02}, {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // PIKACHU + {0x11}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // PICHU + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STARYU + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VIBRAVA + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // VOLTORB + {0x1A}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FEEBAS + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALAKAZAM + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GRUMPIG + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WIGGLYTUFF + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // IGGLYBUFF + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // FLYGON + {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // PLUSLE + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JIGGLYPUFF + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // CORPHISH + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRIMER + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MUK + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // HERACROSS + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // PELIPPER + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WAILORD + {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // WAILMER + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SALAMENCE + {0x29}, {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // AGGRON + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POOCHYENA + {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CASTFORM + {0x1A}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MINUN + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGCARGO + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAKUHITA + {0x02}, {0x29}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // SLUGMA + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEZING + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LINOONE + {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CASCOON + {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MARILL + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AZUMARILL + {0x02}, {0x29}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // SWALOT + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ELECTRODE + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MUDKIP + {0x11}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MILOTIC + {0x11}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // METAGROSS + {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // METANG + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACOOL + {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // BALTOY + {0x29}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SABLEYE + {0x1A}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // VIGOROTH + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORUNT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CRADILY + {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // KADABRA + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // DUSKULL + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RAICHU + {0x02}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // MANECTRIC + {0x1A}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SWAMPERT + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ELECTRIKE + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LATIAS + {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LATIOS + {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // LUVDISC + {0x11}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // VILEPLUME + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RALTS + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LANTURN + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LILEEP + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LUNATONE + {0x29}, {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // AZURILL + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LUDICOLO + {0x02}, {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // MAGNETON + {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // REGICE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // REGISTEEL + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // REGIROCK + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // RAYQUAZA + {0x02}, {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // VULPIX + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ROSELIA + {0x1A}, {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // COMBUSKEN + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHOP + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_TRAINER[][6] = { + { // I CHOOSE YOU + {0x29}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GOTCHA + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRADE + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SAPPHIRE + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EVOLVE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ENCYCLOPEDIA + {0x0B}, {0x11}, {0x1A}, {0x0B}, {0x11}, {0xFF} + }, { // NATURE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CENTER + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EGG + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LINK + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SP. ABILITY + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // TRAINER + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // VERSION + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // POKéNAV + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // POKéMON + {0x1A}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // GET + {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // POKéDEX + {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RUBY + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LEVEL + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_STATUS[][6] = { + { // DARK + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STENCH + {0x29}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // THICK FAT + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RAIN DISH + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DRIZZLE + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ARENA TRAP + {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // INTIMIDATE + {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK HEAD + {0x0B}, {0x11}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // COLOR + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALT. COLOR + {0x02}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // ROCK + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAUTIFUL + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAUTY + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // AIR LOCK + {0x11}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYCHIC + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER CUTTER + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FIGHTING + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHADOW TAG + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SMART + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMARTNESS + {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SPEED BOOST + {0x0B}, {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // COOL + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COOLNESS + {0x29}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE ARMOR + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CUTE + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CUTENESS + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STURDY + {0x1A}, {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // SUCTION CUPS + {0x02}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GRASS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEAR BODY + {0x0B}, {0x29}, {0x02}, {0x1A}, {0x1A}, {0xFF} + }, { // TORRENT + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GHOST + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // ICE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GUTS + {0x02}, {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // ROUGH SKIN + {0x02}, {0x29}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // SHELL ARMOR + {0x02}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // NATURAL CURE + {0x11}, {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // DAMP + {0x0B}, {0x29}, {0x11}, {0x0B}, {0x11}, {0xFF} + }, { // GROUND + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LIMBER + {0x0B}, {0x11}, {0x11}, {0x11}, {0x0B}, {0xFF} + }, { // MAGNET PULL + {0x02}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // WHITE SMOKE + {0x29}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // SYNCHRONIZE + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERGROW + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SWIFT SWIM + {0x02}, {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // SAND STREAM + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND VEIL + {0x02}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // KEEN EYE + {0x02}, {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // INNERFOCUS + {0x1A}, {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF} + }, { // STATIC + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TYPE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOUGH + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOUGHNESS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHED SKIN + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // HUGE POWER + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // VOLT ABSORB + {0x1A}, {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // WATER ABSORB + {0x02}, {0x0B}, {0x11}, {0x1A}, {0x02}, {0x1A} + }, { // ELECTRIC + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // FORECAST + {0x1A}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SERENE GRACE + {0x0B}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON POINT + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRACE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OBLIVIOUS + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // TRUANT + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RUN AWAY + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // STICKY HOLD + {0x0B}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // CLOUD NINE + {0x1A}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // NORMAL + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STEEL + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ILLUMINATE + {0x0B}, {0x0B}, {0x29}, {0x29}, {0xFF}, {0xFF} + }, { // EARLY BIRD + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HUSTLE + {0x11}, {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF} + }, { // SHINE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FLYING + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DROUGHT + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LIGHTNINGROD + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // COMPOUNDEYES + {0x02}, {0x0B}, {0x0B}, {0x02}, {0x29}, {0xFF} + }, { // MARVEL SCALE + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WONDER GUARD + {0x29}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // INSOMNIA + {0x11}, {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // LEVITATE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PLUS + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PRESSURE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LIQUID OOZE + {0x1A}, {0x02}, {0x0B}, {0x1A}, {0x0B}, {0xFF} + }, { // COLOR CHANGE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SOUNDPROOF + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EFFECT SPORE + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // PKRS + {0x1A}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // FIRE + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAME BODY + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MINUS + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OWN TEMPO + {0x0B}, {0x1A}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // MAGMA ARMOR + {0x02}, {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // WATER + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER VEIL + {0x02}, {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // BUG + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SWARM + {0x0B}, {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // CUTE CHARM + {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // IMMUNITY + {0x11}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // BLAZE + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PICKUP + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PATTERN + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FLASH FIRE + {0x0B}, {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // VITAL SPIRIT + {0x29}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // CHLOROPHYLL + {0x1A}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // PURE POWER + {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SHIELD DUST + {0x29}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_BATTLE[][6] = { + { // MATCH UP + {0x02}, {0x1A}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // GO + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NO. 1 + {0x29}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // DECIDE + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // LET ME WIN + {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WINS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WIN + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WON + {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // IF I WIN + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // WHEN I WIN + {0x11}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // CAN’T WIN + {0x11}, {0x0B}, {0x29}, {0x0B}, {0x11}, {0xFF} + }, { // CAN WIN + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NO MATCH + {0x29}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // SPIRIT + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DECIDED + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TRUMP CARD + {0x29}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TAKE THAT + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COME ON + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ATTACK + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SURRENDER + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GUTSY + {0x02}, {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // TALENT + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // STRATEGY + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SMITE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MATCH + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VICTORY + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OFFENSIVE + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SENSE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VERSUS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FIGHTS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // POWER + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHALLENGE + {0x0B}, {0x02}, {0x29}, {0x1A}, {0x0B}, {0x29} + }, { // STRONG + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO STRONG + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GO EASY + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FOE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GENIUS + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LEGEND + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ESCAPE + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AIM + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FIGHT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RESUSCITATE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // POINTS + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SERIOUS + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVE UP + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSS + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IF I LOSE + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // LOST + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GUARD + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PARTNER + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // REJECT + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ACCEPT + {0x02}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // INVINCIBLE + {0x29}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // RECEIVED + {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // EASY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEAK + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO WEAK + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PUSHOVER + {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LEADER + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RULE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MOVE + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_GREETINGS[][6] = { + { // THANKS + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YES + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE GOES + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE I COME + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE IT IS + {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // YEAH + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WELCOME + {0x11}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // OI + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOW DO + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CONGRATS + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVE ME + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SORRY + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // APOLOGIZE + {0x0B}, {0x0B}, {0x11}, {0x29}, {0xFF}, {0xFF} + }, { // FORGIVE + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEY, THERE + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HELLO + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOOD-BYE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THANK YOU + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // I’VE ARRIVED + {0x11}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // PARDON + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCUSE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEE YA + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCUSE ME + {0x0B}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // WELL, THEN + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GO AHEAD + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // APPRECIATE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEY? + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHAT’S UP? + {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // HUH? + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NO + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HI + {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // YEAH, YEAH + {0x0B}, {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // BYE-BYE + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MEET YOU + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEY + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMELL + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LISTENING + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOO-HAH + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YAHOO + {0x29}, {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // YO + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COME OVER + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COUNT ON + {0x0B}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_PEOPLE[][6] = { + { // OPPONENT + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // I + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YOU + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YOURS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SON + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YOUR + {0x0B, 0xF7}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // YOU’RE + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YOU’VE + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MOTHER + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRANDFATHER + {0x1A}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // UNCLE + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FATHER + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BOY + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ADULT + {0x0B}, {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // BROTHER + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SISTER + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRANDMOTHER + {0x1A}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // AUNT + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PARENT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAN + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ME + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIRL + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BABE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FAMILY + {0x02}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // HER + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HIM + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HE + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PLACE + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DAUGHTER + {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HIS + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HE’S + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AREN’T + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SIBLINGS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // KID + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHILDREN + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MR. + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MRS. + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MYSELF + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // I WAS + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TO ME + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // I AM + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // I’VE + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHO + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMEONE + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHO WAS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TO WHOM + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHOSE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHO IS + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IT’S + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LADY + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FRIEND + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALLY + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // PERSON + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DUDE + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY WERE + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TO THEM + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THEIR + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY’RE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY’VE + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEEN + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TO US + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OUR + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WE’RE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RIVAL + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WE’VE + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WOMAN + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHE WAS + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TO HER + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HER’S + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SHE IS + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOME + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_VOICES[][6] = { + { // ! + {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // !! + {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ?! + {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ? + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // … + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // …! + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ……… + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // - + {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // - - - + {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UH-OH + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WAAAH + {0x02, 0x05, 0x08}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // AHAHA + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // OH? + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NOPE + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // URGH + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HMM + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHOAH + {0x1A}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // WROOOAAR! + {0x1A}, {0x1A}, {0x1A}, {0x02}, {0xFF}, {0xFF} + }, { // WOW + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIGGLE + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SIGH + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UNBELIEVABLE + {0x29}, {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF} + }, { // CRIES + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AGREE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EH? + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CRY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EHEHE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // OI, OI, OI + {0x1A}, {0x0B}, {0x1A}, {0x0B}, {0x1A}, {0x0B} + }, { // OH, YEAH + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // OH + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OOPS + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOCKED + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EEK + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRAAAH + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GWAHAHAHA + {0x02}, {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // WAY + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TCH + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEHE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HAH + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YUP + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // HAHAHA + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // AIYEEH + {0x02}, {0x11}, {0x11}, {0x0B}, {0x0B}, {0xFF} + }, { // HIYAH + {0x11}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FUFUFU + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LOL + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORT + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HUMPH + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEHEHE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HEH + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOHOHO + {0x1A}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // UH-HUH + {0x29}, {0x11}, {0x29}, {0x11}, {0xFF}, {0xFF} + }, { // OH, DEAR + {0x0B}, {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF} + }, { // ARRGH + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MUFUFU + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MMM + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OH-KAY + {0x1A}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // OKAY + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LALALA + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // YAY + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AWW + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WOWEE + {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GWAH + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WAHAHAHA + {0x02}, {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_SPEECH[][6] = { + { // LISTEN + {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NOT VERY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MEAN + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LIE + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LAY + {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RECOMMEND + {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NITWIT + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // QUITE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FROM + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FEELING + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BUT + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOWEVER + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CASE + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THE + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MISS + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HOW + {0x0B}, {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF} + }, { // HIT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ENOUGH + {0x0B}, {0x11}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // A LOT + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // A LITTLE + {0x0B}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // ABSOLUTELY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AND + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ONLY + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AROUND + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PROBABLY + {0x0B}, {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // IF + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VERY + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // A TINY BIT + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WILD + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT’S + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JUST + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EVEN SO, {0x0C}, {0x0B}, {0x1A}, {0x33}, {0xFF}, {0xFF} + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MUST BE + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NATURALLY + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // FOR NOW, {0x1A}, {0x23}, {0xFF}, {0x33}, {0xFF}, {0xFF} + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UNDERSTOOD + {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // JOKING + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // READY + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMETHING + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMEHOW + {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // ALTHOUGH + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALSO + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PERFECT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AS MUCH AS + {0x1A}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // REALLY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRULY + {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SERIOUSLY + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOTALLY + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UNTIL + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AS IF + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MOOD + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RATHER + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AWFULLY + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MODE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MORE + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO LATE + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FINALLY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ANY + {0x11}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // INSTEAD + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FANTASTIC + {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_ENDINGS[][6] = { + { // WILL + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WILL BE HERE + {0x11}, {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // OR + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TIMES + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WONDER + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IS IT? + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIMME + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COULD + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LIKELY TO + {0x0B}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WOULD + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ISN’T IT? + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LET’S + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OTHER + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ARE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WAS + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WERE + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THOSE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ISN’T + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WON’T + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CAN’T + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CAN + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DON’T + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DO + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DOES + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHOM + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHICH + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WASN’T + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEREN’T + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HAVE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HAVEN’T + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // A + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AN + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NOT + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THERE + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OK? + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SO + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAYBE + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ABOUT + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OVER + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IT + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALL + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FOR + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ON + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OFF + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AS + {0x0B}, {0x02}, {0x29}, {0x1A}, {0xFF}, {0xFF} + }, { // TO + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WITH + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BETTER + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EVER + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SINCE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OF + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BELONGS TO + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AT + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IN + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OUT + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LIKE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DID + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DIDN’T + {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // DOESN’T + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WITHOUT + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AFTER + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEFORE + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHILE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THAN + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ONCE + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ANYWHERE + {0x11}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_FEELINGS[][6] = { + { // MEET + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PLAY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HURRIED + {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // GOES + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIDDY + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPY + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPINESS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCITE + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // IMPORTANT + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FUNNY + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOT + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GO HOME + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // DISAPPOINTED + {0x0B}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DISAPPOINTS + {0x0B}, {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // SAD + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TRY + {0x29}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // TRIES + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEARS + {0x29}, {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // THINK + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEAR + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WANTS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MISHEARD + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DISLIKE + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ANGRY + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ANGER + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SCARY + {0x29}, {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF} + }, { // LONESOME + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // DISAPPOINT + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JOY + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GETS + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NEVER + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DARN + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DOWNCAST + {0x0B}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // INCREDIBLE + {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LIKES + {0x1A}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DISLIKES + {0x02}, {0x0B}, {0x11}, {0x29}, {0xFF}, {0xFF} + }, { // BORING + {0x02}, {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF} + }, { // CARE + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CARES + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALL RIGHT + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ADORE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DISASTER + {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ENJOY + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ENJOYS + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EAT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LACKING + {0x29}, {0x29}, {0x0B}, {0x11}, {0x0B}, {0xFF} + }, { // BAD + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HARD + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TERRIBLE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOULD + {0x11}, {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // NICE + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DRINK + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SURPRISE + {0x11}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // FEAR + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WANT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WAIT + {0x02}, {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF} + }, { // SATISFIED + {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SEE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RARE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NEGATIVE + {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // DONE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DANGER + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DEFEATED + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAT + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GREAT + {0x1A}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ROMANTIC + {0x1A}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // QUESTION + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UNDERSTAND + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // UNDERSTANDS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_CONDITIONS[][6] = { + { // HOT + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXISTS + {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCESS + {0x11}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // APPROVED + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HAS + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOOD + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LESS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MOMENTUM + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOING + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEIRD + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BUSY + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TOGETHER + {0x29}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FULL + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ABSENT + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BEING + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NEED + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TASTY + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SKILLED + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NOISY + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BIG + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LATE + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CLOSE + {0x02}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // DOCILE + {0x02}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // AMUSING + {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ENTERTAINING + {0x29}, {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // PERFECTION + {0x0B}, {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // PRETTY + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEALTHY + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCELLENT + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // UPSIDE DOWN + {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // COLD + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // REFRESHING + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // UNAVOIDABLE + {0x29}, {0x0B}, {0x0B}, {0x11}, {0x02}, {0xFF} + }, { // MUCH + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERWHELMING + {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // FABULOUS + {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ELSE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // EXPENSIVE + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CORRECT + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IMPOSSIBLE + {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SMALL + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DIFFERENT + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // TIRED + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SKILL + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOP + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NON-STOP + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PREPOSTEROUS + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NONE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NOTHING + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NATURAL + {0x02}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // BECOMES + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LUKEWARM + {0x02}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FAST + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOW + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AWFUL + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALONE + {0x02}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // BORED + {0x0B}, {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // SECRET + {0x0B}, {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF} + }, { // MYSTERY + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LACKS + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEST + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOUSY + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MISTAKE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KIND + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WELL + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEAKENED + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SIMPLE + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEMS + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BADLY + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_ACTIONS[][6] = { + { // MEETS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CONCEDE + {0x0B}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // GIVE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVES + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PLAYED + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PLAYS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COLLECT + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WALKING + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WALKS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SAYS + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WENT + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SAID + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WAKE UP + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WAKES UP + {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // ANGERS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TEACH + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TEACHES + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PLEASE + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LEARN + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHANGE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STORY + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRUST + {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // LAVISH + {0x1A}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LISTENS + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEARING + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAINS + {0x02}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CHOOSE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COME + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CAME + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEARCH + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAKE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CAUSE + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOW + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOWS + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // REFUSE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // STORES + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BRAG + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // IGNORANT + {0x11}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // THINKS + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BELIEVE + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SLIDE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // EATS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // USE + {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // USES + {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // USING + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // COULDN’T + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CAPABLE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DISAPPEAR + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // APPEAR + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // THROW + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WORRY + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEPT + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEEP + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RELEASE + {0x0B}, {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // DRINKS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RUNS + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RUN + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WORKS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WORKING + {0x02}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // TALKING + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TALK + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SINK + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SMACK + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PRETEND + {0x1A}, {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // PRAISE + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERDO + {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // SHOW + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LOOKS + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEES + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEK + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // OWN + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TAKE + {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ALLOW + {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FORGET + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FORGETS + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // APPEARS + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // FAINT + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FAINTED + {0x02}, {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_LIFESTYLE[][6] = { + { // CHORES + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOME + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MONEY + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALLOWANCE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BATH + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CONVERSATION + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SCHOOL + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COMMEMORATE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HABIT + {0x0B}, {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // GROUP + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WORD + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STORE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SERVICE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WORK + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SYSTEM + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAIN + {0x02}, {0x11}, {0x11}, {0x0B}, {0x0B}, {0xFF} + }, { // CLASS + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // LESSONS + {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // INFORMATION + {0x11}, {0x1A}, {0x02}, {0x11}, {0x1A}, {0xFF} + }, { // LIVING + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TEACHER + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOURNAMENT + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LETTER + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EVENT + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DIGITAL + {0x11}, {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // TEST + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DEPT. STORE + {0x02}, {0x29}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // TELEVISION + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PHONE + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // ITEM + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NAME + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NEWS + {0x0B}, {0x29}, {0x11}, {0x0B}, {0x11}, {0x0B} + }, { // POPULAR + {0x1A}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PARTY + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STUDY + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHINE + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MAIL + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MESSAGE + {0x11}, {0x0B}, {0x11}, {0x29}, {0xFF}, {0xFF} + }, { // PROMISE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DREAM + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KINDERGARTEN + {0x11}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // LIFE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RADIO + {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // RENTAL + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WORLD + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_HOBBIES[][6] = { + { // IDOL + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ANIME + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SONG + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MOVIE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SWEETS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHAT + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CHILD’S PLAY + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TOYS + {0x11}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // MUSIC + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CARDS + {0x02}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // SHOPPING + {0x0B}, {0x11}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // CAMERA + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VIEWING + {0x0B}, {0x11}, {0x11}, {0x29}, {0xFF}, {0xFF} + }, { // SPECTATOR + {0x29}, {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // GOURMET + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GAME + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RPG + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // COLLECTION + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COMPLETE + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGAZINE + {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WALK + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BIKE + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOBBY + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPORTS + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOFTWARE + {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SONGS + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DIET + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TREASURE + {0x1A}, {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // TRAVEL + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DANCE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHANNEL + {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAKING + {0x0B}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // FISHING + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DATE + {0x0B}, {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF} + }, { // DESIGN + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LOCOMOTIVE + {0x1A}, {0x1A}, {0x1A}, {0x11}, {0x0B}, {0xFF} + }, { // PLUSH DOLL + {0x11}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PC + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FLOWERS + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HERO + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NAP + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HEROINE + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FASHION + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ADVENTURE + {0x02}, {0x0B}, {0x0B}, {0x29}, {0x0B}, {0xFF} + }, { // BOARD + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BALL + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BOOK + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FESTIVAL + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // COMICS + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOLIDAY + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PLANS + {0x0B}, {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // TRENDY + {0x11}, {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF} + }, { // VACATION + {0x29}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // LOOK + {0x02}, {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_TIME[][6] = { + { // FALL + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MORNING + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TOMORROW + {0x11}, {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // LAST + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DAY + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMETIME + {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ALWAYS + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CURRENT + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FOREVER + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DAYS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // END + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TUESDAY + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YESTERDAY + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TODAY + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FRIDAY + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MONDAY + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LATER + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EARLIER + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ANOTHER + {0x02}, {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // TIME + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FINISH + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEDNESDAY + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOON + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // START + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MONTH + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STOP + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NOW + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FINAL + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NEXT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AGE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SATURDAY + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SUMMER + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SUNDAY + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEGINNING + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPRING + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DAYTIME + {0x02}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // WINTER + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DAILY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OLDEN + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ALMOST + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NEARLY + {0x0B}, {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // THURSDAY + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // NIGHTTIME + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // NIGHT + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEK + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_MISC[][6] = { + { // HIGHS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOWS + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UM + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // REAR + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THINGS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THING + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BELOW + {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ABOVE + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // BACK + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HIGH + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // INSIDE + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OUTSIDE + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BESIDE + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THIS IS IT! + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // THIS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EVERY + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THESE + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // THESE WERE + {0x11}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // DOWN + {0x11}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THOSE ARE + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THOSE WERE + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT’S IT! + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AM + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT WAS + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FRONT + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UP + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHOICE + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FAR + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AWAY + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NEAR + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHERE + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHEN + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHAT + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DEEP + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHALLOW + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WHY + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CONFUSED + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OPPOSITE + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // LEFT + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RIGHT + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_ADJECTIVES[][6] = { + { // WANDERING + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RICKETY + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK-SOLID + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // HUNGRY + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // TIGHT + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TICKLISH + {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // TWIRLING + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIRALING + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THIRSTY + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOLLING + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SILKY + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SADLY + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOPELESS + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // USELESS + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DROOLING + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCITING + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THICK + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMOOTH + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLIMY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THIN + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BREAK + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VORACIOUS + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SCATTER + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AWESOME + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WIMPY + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WOBBLY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHAKY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RIPPED + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHREDDED + {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // INCREASING + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YET + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DESTROYED + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FIERY + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LOVEY-DOVEY + {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPILY + {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ANTICIPATION + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_EVENTS[][6] = { + { // APPEAL + {0x02}, {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // EVENTS + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STAY-AT-HOME + {0x02}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // BERRY + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CONTEST + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MC + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JUDGE + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SUPER + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STAGE + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HALL OF FAME + {0x29}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // EVOLUTION + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE TOWER + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // LEADERS + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE ROOM + {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // HIDDEN + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SECRET BASE + {0x0B}, {0x0B}, {0x11}, {0x02}, {0x11}, {0xFF} + }, { // BLEND + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POKEBLOCK + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MASTER + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RANK + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RIBBON + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_MOVE_1[][6] = { + { // THUNDERBOLT + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // IRON_TAIL + {0x0B}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // ICE_BALL + {0x1A}, {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // YAWN + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOVELY_KISS + {0x1A}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // NIGHTMARE + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MORNING_SUN + {0x1A}, {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // VITAL_THROW + {0x11}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DIG + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // THRASH + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SWEET_SCENT + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARM + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RAIN_DANCE + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CONFUSE_RAY + {0x1A}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // HAIL + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // AROMATHERAPY + {0x02}, {0x1A}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // BUBBLE + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ENCORE + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CUT + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // RAGE + {0x02}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // SUPER_FANG + {0x29}, {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // PAIN_SPLIT + {0x0B}, {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF} + }, { // TORMENT + {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // STRING_SHOT + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // SWAGGER + {0x02}, {0x0B}, {0x0B}, {0x0B}, {0x11}, {0xFF} + }, { // SNORE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEAL_BELL + {0x11}, {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // SCREECH + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0x11}, {0xFF} + }, { // ROCK_THROW + {0x0B}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_SMASH + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // ROCK_SLIDE + {0x0B}, {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // WEATHER_BALL + {0x0B}, {0x0B}, {0x1A}, {0x1A}, {0x1A}, {0x0B} + }, { // WHIRLPOOL + {0x11}, {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // FAKE_TEARS + {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SING + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPITE + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AIR_CUTTER + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AEROBLAST + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMOKESCREEN + {0x02}, {0x29}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // PURSUIT + {0x0B}, {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_SLAP + {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MIRROR_MOVE + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERHEAT + {0x11}, {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // AURORA_BEAM + {0x02}, {0x29}, {0x1A}, {0x02}, {0x02}, {0xFF} + }, { // MEMENTO + {0x0B}, {0x0B}, {0x1A}, {0x1A}, {0x11}, {0xFF} + }, { // OCTAZOOKA + {0x1A}, {0x02}, {0x29}, {0x29}, {0x02}, {0xFF} + }, { // FLATTER + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ASTONISH + {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // WILL_O_WISP + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RETURN + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRUDGE + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STRENGTH + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COUNTER + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAME_WHEEL + {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAMETHROWER + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // ODOR_SLEUTH + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHARPEN + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_TEAM + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // GUST + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HARDEN + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DISABLE + {0x02}, {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // RAZOR_WIND + {0x11}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // BIDE + {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // CRUNCH + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BITE + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THUNDER + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // THUNDER_PUNCH + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ENDEAVOR + {0x1A}, {0x11}, {0x29}, {0x02}, {0x11}, {0x1A} + }, { // FACADE + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // KARATE_CHOP + {0x02}, {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // CLAMP + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WITHDRAW + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // CONSTRICT + {0x29}, {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF} + }, { // BRICK_BREAK + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_TOMB + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FOCUS_ENERGY + {0x0B}, {0x0B}, {0x11}, {0x1A}, {0x29}, {0xFF} + }, { // FOCUS_PUNCH + {0x02}, {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // GIGA_DRAIN + {0x11}, {0x02}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // REVERSAL + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SMELLING_SALT + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPORE + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LEECH_LIFE + {0x29}, {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // SLASH + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SILVER_WIND + {0x11}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // METAL_SOUND + {0x0B}, {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // GRASS_WHISTLE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TICKLE + {0x02}, {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // SPIDER_WEB + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CRABHAMMER + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HAZE + {0x29}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // MEAN_LOOK + {0x1A}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CROSS_CHOP + {0x0B}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // OUTRAGE + {0x29}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LOW_KICK + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ANCIENT_POWER + {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SYNTHESIS + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // AGILITY + {0x02}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // RAPID_SPIN + {0x29}, {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // ICY_WIND + {0x0B}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // MIND_READER + {0x11}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // COSMIC_POWER + {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SKY_ATTACK + {0x11}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // POWDER_SNOW + {0x29}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // FOLLOW_ME + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // METEOR_MASH + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ENDURE + {0x02}, {0x29}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // ROLLOUT + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SCARY_FACE + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYBEAM + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYWAVE + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYCHIC + {0x11}, {0x1A}, {0x11}, {0x0B}, {0x0B}, {0xFF} + }, { // HYPNOSIS + {0x11}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // UPROAR + {0x02}, {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER_SPOUT + {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SIGNAL_BEAM + {0x02}, {0x0B}, {0x0B}, {0x29}, {0x0B}, {0xFF} + }, { // PSYCH_UP + {0x11}, {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // SUBMISSION + {0x11}, {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // RECOVER + {0x0B}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // EARTHQUAKE + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NATURE_POWER + {0x02}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LICK + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAIL + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TAIL_WHIP + {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SELF_DESTRUCT + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // STUN_SPORE + {0x02}, {0x0B}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // BIND + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SHADOW_PUNCH + {0x11}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // SHADOW_BALL + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARGE + {0x02}, {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF} + }, { // MIST + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // FISSURE + {0x0B}, {0x1A}, {0x11}, {0x29}, {0xFF}, {0xFF} + }, { // EXTREME_SPEED + {0x29}, {0x1A}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // EXTRASENSORY + {0x1A}, {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // SAFEGUARD + {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ABSORB + {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SKY_UPPERCUT + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SKILL_SWAP + {0x0B}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // SKETCH + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HEADBUTT + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_EDGE + {0x11}, {0x11}, {0x1A}, {0x02}, {0x0B}, {0xFF} + }, { // SANDSTORM + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND_ATTACK + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND_TOMB + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPARK + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // SWIFT + {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // KINESIS + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMOG + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GROWTH + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SACRED_FIRE + {0x0B}, {0x29}, {0x0B}, {0x0B}, {0x29}, {0x0B} + }, { // SHEER_COLD + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0x0B}, {0xFF} + }, { // SOLAR_BEAM + {0x1A}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SONIC_BOOM + {0x29}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FLY + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_MOVE_2[][6] = { + { // TACKLE + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // EXPLOSION + {0x0B}, {0x1A}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // DIVE + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FIRE_BLAST + {0x0B}, {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF} + }, { // WATERFALL + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MUDDY_WATER + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // STOCKPILE + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLAM + {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TWISTER + {0x11}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BULLET_SEED + {0x29}, {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // TWINEEDLE + {0x29}, {0x1A}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // SOFT_BOILED + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // EGG_BOMB + {0x0B}, {0x11}, {0x0B}, {0x1A}, {0x0B}, {0xFF} + }, { // FAINT_ATTACK + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BARRAGE + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MINIMIZE + {0x1A}, {0x11}, {0x02}, {0x1A}, {0xFF}, {0xFF} + }, { // SEISMIC_TOSS + {0x0B}, {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // SUPERSONIC + {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // TAUNT + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MOONLIGHT + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // PECK + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ARM_THRUST + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HORN_ATTACK + {0x1A}, {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // HORN_DRILL + {0x1A}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WING_ATTACK + {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // AERIAL_ACE + {0x02}, {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF} + }, { // SWORDS_DANCE + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VINE_WHIP + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CONVERSION + {0x29}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // CONVERSION_2 + {0x29}, {0x02}, {0x29}, {0x0B}, {0x11}, {0xFF} + }, { // HELPING_HAND + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // IRON_DEFENSE + {0x0B}, {0x11}, {0x0B}, {0x02}, {0x0B}, {0xFF} + }, { // TELEPORT + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // THUNDER_SHOCK + {0x1A}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOCK_WAVE + {0x1A}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // QUICK_ATTACK + {0x29}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SWEET_KISS + {0x11}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // THUNDER_WAVE + {0x1A}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // ZAP_CANNON + {0x11}, {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // BLOCK + {0x11}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // HOWL + {0x02}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_GAS + {0x11}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TOXIC + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_FANG + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_POWDER + {0x11}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_STING + {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIKE_CANNON + {0x1A}, {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // ACID_ARMOR + {0x0B}, {0x29}, {0x0B}, {0x02}, {0x0B}, {0xFF} + }, { // TAKE_DOWN + {0x1A}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // JUMP_KICK + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BOUNCE + {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HI_JUMP_KICK + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRI_ATTACK + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON_CLAW + {0x02}, {0x0B}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // TRICK + {0x11}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // TRIPLE_KICK + {0x0B}, {0x11}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // DRILL_PECK + {0x1A}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MUD_SPORT + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MUD_SLAP + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // THIEF + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AMNESIA + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // NIGHT_SHADE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GROWL + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SLACK_OFF + {0x02}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SURF + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ROLE_PLAY + {0x1A}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // NEEDLE_ARM + {0x11}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // DOUBLE_KICK + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SUNNY_DAY + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LEER + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WISH + {0x29}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // FAKE_OUT + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEEP_TALK + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PAY_DAY + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ASSIST + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEAT_WAVE + {0x11}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // SLEEP_POWDER + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // REST + {0x0B}, {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // INGRAIN + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CONFUSION + {0x1A}, {0x29}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // BODY_SLAM + {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SWALLOW + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CURSE + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HYDRO_PUMP + {0x11}, {0x1A}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // HYPER_VOICE + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER_BEAM + {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SUPERPOWER + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // STEEL_WING + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIT_UP + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // DYNAMIC_PUNCH + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GUILLOTINE + {0x11}, {0x1A}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // VICE_GRIP + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOCK_OFF + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POUND + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RAZOR_LEAF + {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // BATON_PASS + {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // PETAL_DANCE + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SPLASH + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BUBBLE_BEAM + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BELLY_DRUM + {0x02}, {0x29}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // BARRIER + {0x02}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // LIGHT_SCREEN + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SCRATCH + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER_FANG + {0x11}, {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // EMBER + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SECRET_POWER + {0x0B}, {0x0B}, {0x11}, {0x02}, {0x29}, {0x0B} + }, { // DIZZY_PUNCH + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BULK_UP + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IMPRISON + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // FEATHER_DANCE + {0x02}, {0x29}, {0x0B}, {0x0B}, {0x11}, {0x0B} + }, { // WHIRLWIND + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAT_UP + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BLIZZARD + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STOMP + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FLASH + {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TEETER_DANCE + {0x02}, {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // CRUSH_CLAW + {0x0B}, {0x02}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // BLAZE_KICK + {0x0B}, {0x29}, {0x0B}, {0x0B}, {0x0B}, {0xFF} + }, { // PRESENT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ERUPTION + {0x0B}, {0x29}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // SLUDGE + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLUDGE_BOMB + {0x02}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // GLARE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TRANSFORM + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_TAIL + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ROAR + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BONE_RUSH + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CAMOUFLAGE + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COVET + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TAIL_GLOW + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // BONE_CLUB + {0x1A}, {0x0B}, {0x0B}, {0x29}, {0x0B}, {0xFF} + }, { // BONEMERANG + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FIRE_SPIN + {0x0B}, {0x29}, {0x0B}, {0x11}, {0x0B}, {0xFF} + }, { // FIRE_PUNCH + {0x0B}, {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // PERISH_SONG + {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // WRAP + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIKES + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNITUDE + {0x11}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // MAGICAL_LEAF + {0x02}, {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // MAGIC_COAT + {0x02}, {0x11}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // MUD_SHOT + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MACH_PUNCH + {0x0B}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // PROTECT + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DEFENSE_CURL + {0x0B}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // ROLLING_KICK + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SUBSTITUTE + {0x0B}, {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF} + }, { // DETECT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PIN_MISSILE + {0x02}, {0x0B}, {0x02}, {0x0B}, {0x0B}, {0xFF} + }, { // WATER_SPORT + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER_GUN + {0x02}, {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // MIST_BALL + {0x0B}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER_PULSE + {0x02}, {0x02}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // FURY_ATTACK + {0x29}, {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // FURY_SWIPES + {0x02}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // DESTINY_BOND + {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // FALSE_SWIPE + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FORESIGHT + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MIRROR_COAT + {0x11}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FUTURE_SIGHT + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MILK_DRINK + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // CALM_MIND + {0x0B}, {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF} + }, { // MEGA_DRAIN + {0x0B}, {0x02}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // MEGA_KICK + {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGA_PUNCH + {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGAHORN + {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HIDDEN_POWER + {0x02}, {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // METAL_CLAW + {0x0B}, {0x02}, {0x02}, {0x29}, {0x0B}, {0xFF} + }, { // ATTRACT + {0x02}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // MIMIC + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // FRUSTRATION + {0x29}, {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // LEECH_SEED + {0x0B}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // METRONOME + {0x0B}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // DREAM_EATER + {0x02}, {0x29}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // ACID + {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // MEDITATE + {0x0B}, {0x11}, {0x02}, {0x11}, {0x1A}, {0xFF} + }, { // SNATCH + {0x11}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // LUSTER_PURGE + {0x0B}, {0x11}, {0x0B}, {0x0B}, {0xFF}, {0xFF} + }, { // LEAF_BLADE + {0x02}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // RECYCLE + {0x02}, {0x29}, {0x0B}, {0x0B}, {0x11}, {0x29} + }, { // REFLECT + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // REFRESH + {0x0B}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // REVENGE + {0x0B}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON_RAGE + {0x02}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON_BREATH + {0x0B}, {0x29}, {0x1A}, {0x0B}, {0xFF}, {0xFF} + }, { // DRAGON_DANCE + {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ICE_PUNCH + {0x0B}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ICE_BEAM + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FURY_CUTTER + {0x1A}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // COMET_PUNCH + {0x1A}, {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // SKULL_BASH + {0x0B}, {0x0B}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // LOCK_ON + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_BLAST + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // COTTON_SPORE + {0x02}, {0x29}, {0x1A}, {0x02}, {0x02}, {0xFF} + }, { // STRUGGLE + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_TRENDY_SAYING[][6] = { + { // KTHX, BYE. + {0x1A}, {0x29}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // YES, SIR! + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // AVANT GARDE + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // COUPLE + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MUCH OBLIGED + {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // YEEHAW! + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGA + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // 1-HIT KO! + {0x29}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // DESTINY + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CANCEL + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // NEW + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FLATTEN + {0x0B}, {0x0B}, {0x0B}, {0x0B}, {0x0B}, {0xFF} + }, { // KIDDING + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSER + {0x29}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSING + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPENING + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HIP AND + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHAKE + {0x02}, {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // SHADY + {0x1A}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // UPBEAT + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MODERN + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMELL YA + {0x11}, {0x0B}, {0x02}, {0x0B}, {0xFF}, {0xFF} + }, { // BANG + {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOCKOUT + {0x11}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // HASSLE + {0x02}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // WINNER + {0x0B}, {0x29}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // FEVER + {0x0B}, {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // WANNABE + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // BABY + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HEART + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // OLD + {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YOUNG + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // UGLY + {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + } +}; + + +static const struct BardSound BardMusic_POKEMON_2[][6] = { + { // EKANS + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ARBOK + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SEAKING + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ARIADOS + {0x02}, {0x11}, {0x02}, {0x1A}, {0xFF}, {0xFF} + }, { // CROCONAW + {0x11}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // UNOWN + {0x11}, {0x1A}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // EEVEE + {0x0B}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // GEODUDE + {0x0B}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // SPINARAK + {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // PILOSWINE + {0x0B}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ONIX + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ARCANINE + {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SUDOWOODO + {0x1A}, {0x0B}, {0x02}, {0x29}, {0xFF}, {0xFF} + }, { // WEEPINBELL + {0x29}, {0x11}, {0x02}, {0x11}, {0x02}, {0xFF} + }, { // VICTREEBEL + {0x02}, {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // WOOPER + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SWINUB + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SKARMORY + {0x02}, {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // AIPOM + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ESPEON + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // HITMONCHAN + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ELEKID + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ELECTABUZZ + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // ENTEI + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // FERALIGATR + {0x11}, {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF} + }, { // FURRET + {0x11}, {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // OCTILLERY + {0x1A}, {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // PRIMEAPE + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SENTRET + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STANTLER + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SPEAROW + {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FEAROW + {0x11}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // OMASTAR + {0x02}, {0x1A}, {0x1A}, {0x1A}, {0xFF}, {0xFF} + }, { // OMANYTE + {0x02}, {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // GROWLITHE + {0x29}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHAMP + {0x02}, {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // DRAGONITE + {0x02}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // PINSIR + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORLAX + {0x0B}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // KABUTO + {0x02}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // KABUTOPS + {0x02}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // HITMONTOP + {0x02}, {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF} + }, { // WARTORTLE + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BLASTOISE + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FARFETCHD + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CUBONE + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAROWAK + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KANGASKHAN + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SUNFLORA + {0x1A}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CATERPIE + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // GYARADOS + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // RAPIDASH + {0x02}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // NINETALES + {0x29}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GIRAFARIG + {0x11}, {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // BELLOSSOM + {0x29}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // KINGDRA + {0x0B}, {0x0B}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // KINGLER + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GLOOM + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PINECO + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GLIGAR + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KRABBY + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRANBULL + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CROBAT + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ABRA + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GENGAR + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TAUROS + {0x02}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGIKARP + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNEMITE + {0x02}, {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // GASTLY + {0x0B}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // HAUNTER + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHOKE + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KAKUNA + {0x1A}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYDUCK + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PHANPY + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RATTATA + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDUCK + {0x0B}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLBAT + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLEM + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // GRAVELER + {0x0B}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // VENONAT + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYDON + {0x11}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYHORN + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PUPITAR + {0x29}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CORSOLA + {0x1A}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // HITMONLEE + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ZAPDOS + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JOLTEON + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSHREW + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSLASH + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SEADRA + {0x0B}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SHELLDER + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VAPOREON + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // DEWGONG + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SUICUNE + {0x29}, {0x11}, {0x29}, {0x0B}, {0xFF}, {0xFF} + }, { // STARMIE + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SCYTHER + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ZUBAT + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BEEDRILL + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPNO + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DROWZEE + {0x02}, {0x29}, {0x02}, {0x1A}, {0xFF}, {0xFF} + }, { // SQUIRTLE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CELEBI + {0x0B}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WOBBUFFET + {0x1A}, {0x11}, {0x0B}, {0x02}, {0x29}, {0xFF} + }, { // DUGTRIO + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HORSEA + {0x0B}, {0x0B}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // EXEGGCUTE + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CHIKORITA + {0x0B}, {0x11}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // CHINCHOU + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHUCKLE + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DIGLETT + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // REMORAID + {0x0B}, {0x1A}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // DELIBIRD + {0x1A}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // HOUNDOUR + {0x29}, {0x29}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // AMPHAROS + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // DODUO + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DODRIO + {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SMEARGLE + {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // KOFFING + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACRUEL + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // TOGETIC + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TOGEPI + {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDEEN + {0x1A}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // METAPOD + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DONPHAN + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // ODDISH + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // EXEGGUTOR + {0x1A}, {0x1A}, {0x0B}, {0x11}, {0xFF}, {0xFF} + }, { // NIDOKING + {0x11}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDOQUEEN + {0x11}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDORAN_F + {0x11}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDORAN_M + {0x11}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDORINA + {0x11}, {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // NIDORINO + {0x11}, {0x1A}, {0x11}, {0x1A}, {0xFF}, {0xFF} + }, { // MEOWTH + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SNEASEL + {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POLIWHIRL + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // POLITOED + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POLIWRATH + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // POLIWAG + {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // QUAGSIRE + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // NATU + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // XATU + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DUNSPARCE + {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEL + {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // STEELIX + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TYPHLOSION + {0x1A}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGONAIR + {0x02}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // BUTTERFREE + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SCIZOR + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOPPIP + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BLISSEY + {0x0B}, {0x11}, {0x0B}, {0x11}, {0x02}, {0xFF} + }, { // PARAS + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PARASECT + {0x02}, {0x02}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // QWILFISH + {0x02}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MR_MIME + {0x02}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // TYROGUE + {0x02}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // CLOYSTER + {0x02}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // TYRANITAR + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEFFA + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEDLE + {0x1A}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // PIKACHU + {0x11}, {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEFABLE + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // PIDGEOT + {0x02}, {0x29}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // PIDGEOTTO + {0x02}, {0x29}, {0x1A}, {0x02}, {0xFF}, {0xFF} + }, { // PICHU + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEFAIRY + {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARMANDER + {0x29}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // STARYU + {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CYNDAQUIL + {0x0B}, {0x29}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // SUNKERN + {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TEDDIURSA + {0x0B}, {0x11}, {0x29}, {0x02}, {0xFF}, {0xFF} + }, { // VOLTORB + {0x1A}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MOLTRES + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAREON + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ALAKAZAM + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGMAR + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // FORRETRESS + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // WIGGLYTUFF + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // IVYSAUR + {0x11}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // BULBASAUR + {0x11}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // VENUSAUR + {0x11}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // AERODACTYL + {0x02}, {0x0B}, {0x1A}, {0x02}, {0x11}, {0xFF} + }, { // MAGBY + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // IGGLYBUFF + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // UMBREON + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // ARTICUNO + {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JIGGLYPUFF + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // SNUBBULL + {0x29}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // BAYLEEF + {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // GRIMER + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MUK + {0x0B}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // HERACROSS + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // HOUNDOOM + {0x29}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // PERSIAN + {0x1A}, {0x11}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // LICKITUNG + {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HO_OH + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // HOOTHOOT + {0x1A}, {0x1A}, {0x1A}, {0x1A}, {0xFF}, {0xFF} + }, { // PIDGEY + {0x02}, {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // PONYTA + {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SKIPLOOM + {0x29}, {0x0B}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // PORYGON + {0x1A}, {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // PORYGON2 + {0x1A}, {0x11}, {0x1A}, {0x0B}, {0x11}, {0xFF} + }, { // MAGCARGO + {0x02}, {0x02}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SLUGMA + {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // QUILAVA + {0x11}, {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF} + }, { // BELLSPROUT + {0x1A}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEZING + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MARILL + {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AZUMARILL + {0x02}, {0x29}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // ELECTRODE + {0x0B}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MANKEY + {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MANTINE + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // DRATINI + {0x02}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MEW + {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MEWTWO + {0x11}, {0x29}, {0x29}, {0x29}, {0xFF}, {0xFF} + }, { // MILTANK + {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MISDREAVUS + {0x02}, {0x29}, {0x29}, {0x11}, {0xFF}, {0xFF} + }, { // SMOOCHUM + {0x29}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGANIUM + {0x0B}, {0x02}, {0x11}, {0x0B}, {0xFF}, {0xFF} + }, { // DITTO + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACOOL + {0x0B}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MAREEP + {0x1A}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAAFFY + {0x02}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // VENOMOTH + {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // TANGELA + {0x02}, {0x0B}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SLOWKING + {0x02}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SLOWBRO + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SLOWPOKE + {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MURKROW + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // YANMA + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KADABRA + {0x02}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LARVITAR + {0x02}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // NOCTOWL + {0x1A}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // RAIKOU + {0x02}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // RAICHU + {0x02}, {0x11}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // CHANSEY + {0x02}, {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF} + }, { // RATICATE + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LAPRAS + {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // VILEPLUME + {0x11}, {0x1A}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // LANTURN + {0x02}, {0x29}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARMELEON + {0x29}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARIZARD + {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // URSARING + {0x29}, {0x02}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // JYNX + {0x1A}, {0x02}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LUGIA + {0x29}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNETON + {0x02}, {0x0B}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // LEDIAN + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // LEDYBA + {0x0B}, {0x11}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // VULPIX + {0x29}, {0x11}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JUMPLUFF + {0x02}, {0x29}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // TOTODILE + {0x02}, {0x11}, {0x02}, {0x11}, {0xFF}, {0xFF} + }, { // MACHOP + {0x02}, {0x1A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + } +}; + +#endif //GUARD_DATA_BARD_MUSIC_H diff --git a/src/data/bard_music_en.h b/src/data/bard_music_en.h new file mode 100644 index 000000000..98f4d4def --- /dev/null +++ b/src/data/bard_music_en.h @@ -0,0 +1,3678 @@ +#ifndef GUARD_DATA_BARD_MUSIC_H +#define GUARD_DATA_BARD_MUSIC_H + +/*static*/ const struct BardSound BardMusic_POKEMON[][6] = { + { // ARMALDO + {0x1B}, {0x1B}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // BEAUTIFLY + {0x2D}, {0x09}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // MEDITITE + {0x09}, {0x11}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // SEAKING + {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TORCHIC + {0x18}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANORITH + {0x00}, {0x18}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ABSOL + {0x00}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SURSKIT + {0x30}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MASQUERAIN + {0x00}, {0x30}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // GEODUDE + {0x0C}, {0x18}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // ILLUMISE + {0x0C}, {0x27}, {0x0C}, {0x03}, {0xFF}, {0xFF} + }, { // SKARMORY + {0x1B}, {0x1A}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // SKITTY + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DELCATTY + {0x09}, {0x00}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // SWELLOW + {0x09}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GLALIE + {0x05}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KYOGRE + {0x12}, {0x18}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHAMP + {0x2A}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PINSIR + {0x11}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KECLEON + {0x09}, {0x0C}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // SHUPPET + {0x2A}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SILCOON + {0x11}, {0x28}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BRELOOM + {0x09}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHROOMISH + {0x27}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CARVANHA + {0x1B}, {0x01}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // TREECKO + {0x0C}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WINGULL + {0x0F}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GYARADOS + {0x1D}, {0x09}, {0x11}, {0x1D}, {0xFF}, {0xFF} + }, { // NINETALES + {0x12}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIRAFARIG + {0x30}, {0x00}, {0x2A}, {0x11}, {0xFF}, {0xFF} + }, { // KIRLIA + {0x30}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // BELLOSSOM + {0x09}, {0x1B}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // KINGDRA + {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GLOOM + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAWILE + {0x1B}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GROUDON + {0x21}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MIGHTYENA + {0x12}, {0x0C}, {0x09}, {0x2C}, {0xFF}, {0xFF} + }, { // CROBAT + {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ABRA + {0x00}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLAKING + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WURMPLE + {0x30}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGIKARP + {0x00}, {0x11}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNEMITE + {0x00}, {0x09}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // TORKOAL + {0x18}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHOKE + {0x2A}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GULPIN + {0x24}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARON + {0x1B}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYDUCK + {0x12}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LAIRON + {0x05}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHISMUR + {0x11}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NUZLEAF + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PHANPY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHELGON + {0x09}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDUCK + {0x18}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLBAT + {0x1A}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLEM + {0x18}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRAVELER + {0x00}, {0x09}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // GARDEVOIR + {0x1B}, {0x09}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // RHYDON + {0x12}, {0x15}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYHORN + {0x14}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOREBYSS + {0x1A}, {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // CORSOLA + {0x18}, {0x18}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // CACNEA + {0x00}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // DUSCLOPS + {0x2A}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHARPEDO + {0x1D}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // ZANGOOSE + {0x03}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSHREW + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSLASH + {0x00}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEADRA + {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RELICANTH + {0x09}, {0x11}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // ZIGZAGOON + {0x11}, {0x00}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // CRAWDAUNT + {0x1B}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SCEPTILE + {0x09}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GROVYLE + {0x18}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BANETTE + {0x03}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // JIRACHI + {0x30}, {0x1B}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // STARMIE + {0x1B}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ZUBAT + {0x27}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TAILLOW + {0x03}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WYNAUT + {0x12}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WOBBUFFET + {0x1D}, {0x2C}, {0x09}, {0xFF}, {0xFF}, {0xFF} + }, { // SOLROCK + {0x18}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHIFTRY + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HORSEA + {0x1A}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BAGON + {0x05}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEDOT + {0x0C}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPHEAL + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BELDUM + {0x09}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEDICHAM + {0x09}, {0x11}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // CHINCHOU + {0x0F}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHIMECHO + {0x12}, {0x09}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // ALTARIA + {0x06}, {0x1B}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // SWABLU + {0x1B}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NINCADA + {0x0F}, {0x06}, {0x06}, {0xFF}, {0xFF}, {0xFF} + }, { // DEOXYS + {0x0C}, {0x1B}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // NINJASK + {0x0F}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DODUO + {0x1A}, {0x27}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // DODRIO + {0x1A}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // KOFFING + {0x15}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACRUEL + {0x09}, {0x2A}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // DUSTOX + {0x2C}, {0x17}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOUDRED + {0x21}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDEEN + {0x1A}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BARBOACH + {0x1B}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEALEO + {0x0C}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // WALREIN + {0x1B}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TROPIUS + {0x18}, {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF} + }, { // DONPHAN + {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NUMEL + {0x2C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ODDISH + {0x15}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAPINCH + {0x00}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLAKOTH + {0x00}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHISCASH + {0x11}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHEDINJA + {0x09}, {0x0F}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // MARSHTOMP + {0x1B}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NATU + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // XATU + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLAYDOL + {0x03}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CACTURNE + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOSEPASS + {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLAMPERL + {0x00}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAMERUPT + {0x00}, {0x30}, {0x2A}, {0x33}, {0xFF}, {0xFF} + }, { // EXPLOUD + {0x09}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BLAZIKEN + {0x03}, {0x11}, {0x0F}, {0x33}, {0xFF}, {0xFF} + }, { // LOMBRE + {0x18}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOTAD + {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPINDA + {0x0F}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPOINK + {0x1E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEVIPER + {0x09}, {0x12}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // HARIYAMA + {0x1B}, {0x0C}, {0x1B}, {0x2A}, {0xFF}, {0xFF} + }, { // VOLBEAT + {0x18}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HUNTAIL + {0x2A}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PIKACHU + {0x0C}, {0x2A}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // PICHU + {0x0C}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STARYU + {0x1B}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VIBRAVA + {0x11}, {0x1B}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // VOLTORB + {0x1A}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FEEBAS + {0x0E}, {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // ALAKAZAM + {0x00}, {0x2C}, {0x2C}, {0x00}, {0xFF}, {0xFF} + }, { // GRUMPIG + {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WIGGLYTUFF + {0x11}, {0x27}, {0x0C}, {0x2A}, {0x33}, {0xFF} + }, { // IGGLYBUFF + {0x11}, {0x2A}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // FLYGON + {0x12}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PLUSLE + {0x2A}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // JIGGLYPUFF + {0x11}, {0x27}, {0x0C}, {0x2A}, {0x33}, {0xFF} + }, { // CORPHISH + {0x18}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRIMER + {0x12}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MUK + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HERACROSS + {0x09}, {0x2A}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // PELIPPER + {0x09}, {0x0C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // WAILORD + {0x03}, {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // WAILMER + {0x05}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SALAMENCE + {0x00}, {0x00}, {0x09}, {0x33}, {0xFF}, {0xFF} + }, { // AGGRON + {0x00}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POOCHYENA + {0x27}, {0x0C}, {0x09}, {0x2C}, {0xFF}, {0xFF} + }, { // CASTFORM + {0x00}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MINUN + {0x12}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGCARGO + {0x00}, {0x1B}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // MAKUHITA + {0x1B}, {0x27}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // SLUGMA + {0x2C}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEZING + {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LINOONE + {0x14}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CASCOON + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MARILL + {0x08}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AZUMARILL + {0x08}, {0x27}, {0x2C}, {0x10}, {0xFF}, {0xFF} + }, { // SWALOT + {0x1B}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ELECTRODE + {0x0C}, {0x09}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // MUDKIP + {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MILOTIC + {0x12}, {0x18}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // METAGROSS + {0x09}, {0x2A}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // METANG + {0x09}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACOOL + {0x09}, {0x2A}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // BALTOY + {0x01}, {0x1E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SABLEYE + {0x03}, {0x0B}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // VIGOROTH + {0x11}, {0x30}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORUNT + {0x18}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CRADILY + {0x03}, {0x11}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // KADABRA + {0x2C}, {0x00}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // DUSKULL + {0x2A}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAICHU + {0x12}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MANECTRIC + {0x00}, {0x09}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // SWAMPERT + {0x1B}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ELECTRIKE + {0x0C}, {0x09}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // LATIAS + {0x00}, {0x0C}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // LATIOS + {0x00}, {0x0C}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // LUVDISC + {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VILEPLUME + {0x14}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RALTS + {0x07}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LANTURN + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LILEEP + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LUNATONE + {0x27}, {0x2C}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // AZURILL + {0x06}, {0x27}, {0x0F}, {0x33}, {0xFF}, {0xFF} + }, { // LUDICOLO + {0x27}, {0x09}, {0x1A}, {0x1A}, {0xFF}, {0xFF} + }, { // MAGNETON + {0x00}, {0x09}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // REGICE + {0x09}, {0x0C}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // REGISTEEL + {0x09}, {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // REGIROCK + {0x09}, {0x0C}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // RAYQUAZA + {0x03}, {0x03}, {0x2A}, {0x33}, {0xFF}, {0xFF} + }, { // VULPIX + {0x24}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROSELIA + {0x18}, {0x09}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // COMBUSKEN + {0x2C}, {0x2C}, {0x0F}, {0x33}, {0xFF}, {0xFF} + }, { // MACHOP + {0x2A}, {0x15}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_TRAINER[][6] = { + { // I CHOOSE YOU + {0x12}, {0x27}, {0x2D}, {0xFF}, {0xFF}, {0xFF} + }, { // GOTCHA + {0x15}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRADE + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SAPPHIRE + {0x00}, {0x12}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // EVOLVE + {0x0C}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ENCYCLOPEDIA + {0x09}, {0x12}, {0x18}, {0x0C}, {0x0C}, {0x06} + }, { // NATURE + {0x03}, {0x30}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // CENTER + {0x09}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EGG + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LINK + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SP. ABILITY + {0x09}, {0x08}, {0x06}, {0x11}, {0x11}, {0x0C} + }, { // TRAINER + {0x03}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VERSION + {0x32}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POKéNAV + {0x18}, {0x0C}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // POKéMON + {0x18}, {0x0C}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // GET + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POKéDEX + {0x18}, {0x0C}, {0x09}, {0xFF}, {0xFF}, {0xFF} + }, { // RUBY + {0x27}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LEVEL + {0x09}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_STATUS[][6] = { + { // DARK + {0x08}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STENCH + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THICK FAT + {0x11}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAIN DISH + {0x03}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DRIZZLE + {0x11}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARENA TRAP + {0x06}, {0x0C}, {0x06}, {0x00}, {0xFF}, {0xFF} + }, { // INTIMIDATE + {0x0F}, {0x11}, {0x2C}, {0x03}, {0xFF}, {0xFF} + }, { // ROCK HEAD + {0x15}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COLOR + {0x2C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALT. COLOR + {0x1B}, {0x32}, {0x01}, {0x2C}, {0x30}, {0xFF} + }, { // ROCK + {0x15}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAUTIFUL + {0x27}, {0x0C}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAUTY + {0x27}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AIR LOCK + {0x09}, {0x15}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYCHIC + {0x12}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER CUTTER + {0x12}, {0x30}, {0x2C}, {0x30}, {0xFF}, {0xFF} + }, { // FIGHTING + {0x12}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHADOW TAG + {0x00}, {0x18}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // SMART + {0x06}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SMARTNESS + {0x06}, {0x32}, {0x09}, {0xFF}, {0xFF}, {0xFF} + }, { // SPEED BOOST + {0x0C}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COOL + {0x29}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COOLNESS + {0x29}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE ARMOR + {0x00}, {0x09}, {0x06}, {0x30}, {0xFF}, {0xFF} + }, { // CUTE + {0x2D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CUTENESS + {0x2D}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STURDY + {0x30}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SUCTION CUPS + {0x2A}, {0x0F}, {0x2A}, {0x33}, {0x33}, {0xFF} + }, { // GRASS + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEAR BODY + {0x0E}, {0x17}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // TORRENT + {0x1A}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GHOST + {0x15}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ICE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GUTS + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROUGH SKIN + {0x2C}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHELL ARMOR + {0x09}, {0x06}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // NATURAL CURE + {0x00}, {0x32}, {0x08}, {0x30}, {0x33}, {0xFF} + }, { // DAMP + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GROUND + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LIMBER + {0x0F}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNET PULL + {0x00}, {0x09}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // WHITE SMOKE + {0x12}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SYNCHRONIZE + {0x0F}, {0x18}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // OVERGROW + {0x18}, {0x30}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // SWIFT SWIM + {0x11}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND STREAM + {0x02}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND VEIL + {0x02}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KEEN EYE + {0x0C}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INNERFOCUS + {0x0F}, {0x30}, {0x18}, {0x2A}, {0xFF}, {0xFF} + }, { // STATIC + {0x00}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TYPE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOUGH + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOUGHNESS + {0x2C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHED SKIN + {0x09}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HUGE POWER + {0x2D}, {0x21}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // VOLT ABSORB + {0x24}, {0x2C}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER ABSORB + {0x06}, {0x30}, {0x2C}, {0x1A}, {0xFF}, {0xFF} + }, { // ELECTRIC + {0x0B}, {0x09}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // FORECAST + {0x1A}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SERENE GRACE + {0x30}, {0x0E}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // POISON + {0x20}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON POINT + {0x20}, {0x1B}, {0x1E}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON + {0x01}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRACE + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OBLIVIOUS + {0x2C}, {0x11}, {0x0C}, {0x2C}, {0x33}, {0xFF} + }, { // TRUANT + {0x27}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RUN AWAY + {0x2A}, {0x08}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // STICKY HOLD + {0x11}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // CLOUD NINE + {0x21}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NORMAL + {0x1A}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STEEL + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ILLUMINATE + {0x11}, {0x27}, {0x0F}, {0x03}, {0xFF}, {0xFF} + }, { // EARLY BIRD + {0x30}, {0x0C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // HUSTLE + {0x2A}, {0x26}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHINE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLYING + {0x12}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DROUGHT + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LIGHTNINGROD + {0x12}, {0x11}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // COMPOUNDEYES + {0x15}, {0x21}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // MARVEL SCALE + {0x06}, {0x24}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // WONDER GUARD + {0x2A}, {0x30}, {0x06}, {0xFF}, {0xFF}, {0xFF} + }, { // INSOMNIA + {0x0F}, {0x15}, {0x0C}, {0x06}, {0xFF}, {0xFF} + }, { // LEVITATE + {0x09}, {0x0C}, {0x03}, {0xFF}, {0xFF}, {0xFF} + }, { // PLUS + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PRESSURE + {0x09}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LIQUID OOZE + {0x11}, {0x09}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // COLOR CHANGE + {0x17}, {0x30}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // SOUNDPROOF + {0x21}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EFFECT SPORE + {0x0C}, {0x09}, {0x1A}, {0x33}, {0xFF}, {0xFF} + }, { // PKRS + {0x18}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // FIRE + {0x14}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAME BODY + {0x03}, {0x15}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // MINUS + {0x12}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OWN TEMPO + {0x18}, {0x09}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGMA ARMOR + {0x01}, {0x2C}, {0x1B}, {0x30}, {0xFF}, {0xFF} + }, { // WATER + {0x06}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER VEIL + {0x06}, {0x30}, {0x04}, {0x33}, {0xFF}, {0xFF} + }, { // BUG + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SWARM + {0x07}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CUTE CHARM + {0x2D}, {0x07}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IMMUNITY + {0x11}, {0x27}, {0x11}, {0x0C}, {0xFF}, {0xFF} + }, { // BLAZE + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PICKUP + {0x11}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PATTERN + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLASH FIRE + {0x00}, {0x14}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // VITAL SPIRIT + {0x12}, {0x1B}, {0x30}, {0x11}, {0xFF}, {0xFF} + }, { // CHLOROPHYLL + {0x1A}, {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // PURE POWER + {0x2D}, {0x21}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // SHIELD DUST + {0x0E}, {0x2B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_BATTLE[][6] = { + { // MATCH UP + {0x02}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GO + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NO. 1 + {0x2A}, {0x30}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // DECIDE + {0x0C}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LET ME WIN + {0x09}, {0x0C}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // WINS + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WIN + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WON + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IF I WIN + {0x0F}, {0x12}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // WHEN I WIN + {0x0F}, {0x12}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // CAN’T WIN + {0x02}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAN WIN + {0x00}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NO MATCH + {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIRIT + {0x09}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DECIDED + {0x0C}, {0x12}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TRUMP CARD + {0x2C}, {0x08}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TAKE THAT + {0x05}, {0x01}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COME ON + {0x2C}, {0x17}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ATTACK + {0x2A}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SURRENDER + {0x30}, {0x09}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // GUTSY + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TALENT + {0x01}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STRATEGY + {0x00}, {0x0B}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // SMITE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MATCH + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VICTORY + {0x11}, {0x32}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // OFFENSIVE + {0x15}, {0x0B}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // SENSE + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VERSUS + {0x30}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FIGHTS + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POWER + {0x23}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHALLENGE + {0x01}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STRONG + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO STRONG + {0x29}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GO EASY + {0x18}, {0x0C}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // FOE + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GENIUS + {0x0E}, {0x0E}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // LEGEND + {0x09}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ESCAPE + {0x09}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AIM + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE + {0x00}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FIGHT + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RESUSCITATE + {0x0C}, {0x09}, {0x11}, {0x05}, {0xFF}, {0xFF} + }, { // POINTS + {0x1E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SERIOUS + {0x0C}, {0x0E}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVE UP + {0x11}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSS + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IF I LOSE + {0x0F}, {0x12}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // LOST + {0x16}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSE + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GUARD + {0x08}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PARTNER + {0x15}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REJECT + {0x0C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ACCEPT + {0x00}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INVINCIBLE + {0x0F}, {0x11}, {0x2C}, {0x24}, {0xFF}, {0xFF} + }, { // RECEIVED + {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EASY + {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEAK + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO WEAK + {0x27}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PUSHOVER + {0x29}, {0x1A}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // LEADER + {0x0C}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RULE + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOVE + {0x29}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_GREETINGS[][6] = { + { // THANKS + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YES + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE GOES + {0x30}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE I COME + {0x30}, {0x12}, {0x17}, {0x33}, {0xFF}, {0xFF} + }, { // HERE IT IS + {0x30}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // YEAH + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WELCOME + {0x09}, {0x17}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OI + {0x1E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOW DO + {0x21}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONGRATS + {0x2C}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVE ME + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SORRY + {0x1B}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // APOLOGIZE + {0x2C}, {0x06}, {0x17}, {0x12}, {0x33}, {0xFF} + }, { // FORGIVE + {0x1A}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEY, THERE + {0x04}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HELLO + {0x09}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOOD-BYE + {0x26}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THANK YOU + {0x03}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // I’VE ARRIVED + {0x12}, {0x06}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // PARDON + {0x1D}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCUSE + {0x09}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEE YA + {0x0E}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCUSE ME + {0x0B}, {0x28}, {0x0D}, {0xFF}, {0xFF}, {0xFF} + }, { // WELL, THEN + {0x09}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GO AHEAD + {0x1A}, {0x2C}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // APPRECIATE + {0x00}, {0x0C}, {0x0E}, {0x05}, {0xFF}, {0xFF} + }, { // HEY? + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHAT’S UP? + {0x2C}, {0x2B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HUH? + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NO + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HI + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YEAH, YEAH + {0x0A}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BYE-BYE + {0x14}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEET YOU + {0x0E}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEY + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SMELL + {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LISTENING + {0x11}, {0x0B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HOO-HAH + {0x27}, {0x01}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YAHOO + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YO + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COME OVER + {0x2C}, {0x18}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // COUNT ON + {0x23}, {0x17}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_PEOPLE[][6] = { + { // OPPONENT + {0x2C}, {0x1A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // I + {0x13}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YOU + {0x2D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YOURS + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SON + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YOUR + {0x1A, 0xF7}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YOU’RE + {0x26}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YOU’VE + {0x2D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOTHER + {0x2C}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRANDFATHER + {0x01}, {0x08}, {0x32}, {0x33}, {0xFF}, {0xFF} + }, { // UNCLE + {0x2C}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FATHER + {0x08}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BOY + {0x1E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ADULT + {0x00}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BROTHER + {0x15}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SISTER + {0x11}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRANDMOTHER + {0x01}, {0x2C}, {0x32}, {0x33}, {0xFF}, {0xFF} + }, { // AUNT + {0x07}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PARENT + {0x09}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAN + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ME + {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIRL + {0x30}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BABE + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAMILY + {0x00}, {0x11}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // HER + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HIM + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HE + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PLACE + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DAUGHTER + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HIS + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HE’S + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AREN’T + {0x1C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SIBLINGS + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KID + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHILDREN + {0x11}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MR. + {0x11}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MRS. + {0x11}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MYSELF + {0x12}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // I WAS + {0x12}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TO ME + {0x27}, {0x0D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MY + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // I AM + {0x12}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // I’VE + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHO + {0x29}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMEONE + {0x2A}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHO WAS + {0x27}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TO WHOM + {0x27}, {0x29}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHOSE + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHO IS + {0x27}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IT’S + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LADY + {0x05}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FRIEND + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALLY + {0x00}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PERSON + {0x32}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DUDE + {0x28}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY WERE + {0x05}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TO THEM + {0x27}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THEIR + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY’RE + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THEY’VE + {0x03}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WE + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEEN + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TO US + {0x27}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OUR + {0x21}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WE’RE + {0x0C}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RIVAL + {0x12}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WE’VE + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WOMAN + {0x26}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHE + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHE WAS + {0x0C}, {0x2B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TO HER + {0x27}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HER’S + {0x30}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHE IS + {0x0C}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SOME + {0x0C}, {0x01}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_VOICES[][6] = { + { // ! + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // !! + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ?! + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ? + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // … + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // …! + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ……… + {0x0C}, {0x30}, {0x33}, {0x0C}, {0x30}, {0xFF} + }, { // - + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // - - - + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UH-OH + {0x2C}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WAAAH + {0x1B, 0x05, 0x08}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AHAHA + {0x06}, {0x06}, {0x06}, {0x33}, {0x33}, {0xFF} + }, { // OH? + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOPE + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // URGH + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HMM + {0x28}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHOAH + {0x19}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WROOOAAR! + {0x1C}, {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // WOW + {0x23}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIGGLE + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SIGH + {0x0A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UNBELIEVABLE + {0x2C}, {0x0E}, {0x0C}, {0x02}, {0x24}, {0xFF} + }, { // CRIES + {0x13}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AGREE + {0x06}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EH? + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CRY + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EHEHE + {0x0C}, {0x0C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // OI, OI, OI + {0x1E}, {0x1E}, {0x1E}, {0xFF}, {0xFF}, {0xFF} + }, { // OH, YEAH + {0x18}, {0x01}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OH + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OOPS + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOCKED + {0x17}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EEK + {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRAAAH + {0x06}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GWAHAHAHA + {0x06}, {0x06}, {0x06}, {0x17}, {0xFF}, {0xFF} + }, { // WAY + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TCH + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEHE + {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAH + {0x06}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YUP + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAHAHA + {0x06}, {0x06}, {0x06}, {0xFF}, {0xFF}, {0xFF} + }, { // AIYEEH + {0x13}, {0x0D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HIYAH + {0x0C}, {0x07}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FUFUFU + {0x27}, {0x27}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // LOL + {0x18}, {0x1A}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORT + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HUMPH + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEHEHE + {0x0C}, {0x0C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // HEH + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOHOHO + {0x18}, {0x18}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // UH-HUH + {0x2A}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OH, DEAR + {0x18}, {0x0E}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // ARRGH + {0x1C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MUFUFU + {0x27}, {0x27}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // MMM + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OH-KAY + {0x18}, {0x04}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OKAY + {0x18}, {0x04}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LALALA + {0x06}, {0x06}, {0x06}, {0xFF}, {0xFF}, {0xFF} + }, { // YAY + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AWW + {0x07}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WOWEE + {0x22}, {0x0D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GWAH + {0x07}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WAHAHAHA + {0x06}, {0x06}, {0x06}, {0x06}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_SPEECH[][6] = { + { // LISTEN + {0x09}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOT VERY + {0x15}, {0x09}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // MEAN + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LIE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LAY + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RECOMMEND + {0x09}, {0x2C}, {0x0A}, {0xFF}, {0xFF}, {0xFF} + }, { // NITWIT + {0x0F}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // QUITE + {0x14}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FROM + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FEELING + {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BUT + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOWEVER + {0x21}, {0x09}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // CASE + {0x0C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THE + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MISS + {0x11}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOW + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HIT + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ENOUGH + {0x0E}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // A LOT + {0x03}, {0x17}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // A LITTLE + {0x03}, {0x11}, {0x26}, {0x33}, {0xFF}, {0xFF} + }, { // ABSOLUTELY + {0x00}, {0x2C}, {0x2D}, {0x0E}, {0x33}, {0xFF} + }, { // AND + {0x00}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ONLY + {0x1A}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AROUND + {0x0A}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PROBABLY + {0x15}, {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // IF + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VERY + {0x0A}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // A TINY BIT + {0x2C}, {0x14}, {0x0C}, {0x11}, {0xFF}, {0xFF} + }, { // WILD + {0x12}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT’S + {0x00}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // JUST + {0x2C}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EVEN SO, + {0x0C}, {0x0B}, {0x1A}, {0x33}, {0xFF}, {0xFF} + }, { // MUST BE + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NATURALLY + {0x01}, {0x30}, {0x06}, {0x0E}, {0x33}, {0xFF} + }, { // FOR NOW, + {0x1A}, {0x23}, {0xFF}, {0x33}, {0xFF}, {0xFF} + }, { // UNDERSTOOD + {0x2C}, {0x32}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // JOKING + {0x18}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // READY + {0x09}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMETHING + {0x1B}, {0x0E}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMEHOW + {0x1B}, {0x23}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALTHOUGH + {0x06}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALSO + {0x06}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PERFECT + {0x32}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AS MUCH AS + {0x01}, {0x2C}, {0x01}, {0xFF}, {0xFF}, {0xFF} + }, { // REALLY + {0x0C}, {0x0A}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // TRULY + {0x27}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SERIOUSLY + {0x11}, {0x0E}, {0x26}, {0x0E}, {0x33}, {0xFF} + }, { // TOTALLY + {0x18}, {0x07}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // UNTIL + {0x2C}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AS IF + {0x01}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOOD + {0x28}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RATHER + {0x00}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AWFULLY + {0x06}, {0x26}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // MODE + {0x1A}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MORE + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO LATE + {0x27}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FINALLY + {0x12}, {0x06}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // ANY + {0x08}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INSTEAD + {0x0F}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FANTASTIC + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_ENDINGS[][6] = { + { // WILL + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WILL BE HERE + {0x10}, {0x0C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // OR + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TIMES + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WONDER + {0x2C}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IS IT? + {0x11}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BE + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIMME + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COULD + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LIKELY TO + {0x14}, {0x0E}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // WOULD + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IS + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ISN’T IT? + {0x11}, {0x09}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LET’S + {0x0B}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OTHER + {0x2C}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARE + {0x1C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WAS + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WERE + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THOSE + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ISN’T + {0x0F}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WON’T + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAN’T + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAN + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DON’T + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DO + {0x27}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOES + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHOM + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHICH + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WASN’T + {0x2C}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEREN’T + {0x32}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAVE + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAVEN’T + {0x00}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // A + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AN + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOT + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THERE + {0x0B}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OK? + {0x1A}, {0x04}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SO + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAYBE + {0x03}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ABOUT + {0x2A}, {0x23}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OVER + {0x18}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IT + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALL + {0x06}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FOR + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ON + {0x1C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OFF + {0x1D}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AS + {0x01}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TO + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WITH + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BETTER + {0x09}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EVER + {0x09}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SINCE + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OF + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BELONGS TO + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AT + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IN + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OUT + {0x21}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOO + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LIKE + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DID + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DIDN’T + {0x11}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOESN’T + {0x2C}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WITHOUT + {0x11}, {0x23}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // AFTER + {0x00}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEFORE + {0x0C}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHILE + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THAN + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ONCE + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANYWHERE + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_FEELINGS[][6] = { + { // MEET + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PLAY + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HURRIED + {0x32}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOES + {0x19}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIDDY + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPINESS + {0x00}, {0x0C}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCITE + {0x0B}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IMPORTANT + {0x0F}, {0x1A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // FUNNY + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOT + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GO HOME + {0x18}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DISAPPOINTED + {0x11}, {0x00}, {0x1E}, {0x0B}, {0xFF}, {0xFF} + }, { // DISAPPOINTS + {0x11}, {0x00}, {0x20}, {0xFF}, {0xFF}, {0xFF} + }, { // SAD + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRY + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRIES + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEARS + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THINK + {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEAR + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WANTS + {0x08}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MISHEARD + {0x11}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DISLIKE + {0x11}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANGRY + {0x05}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANGER + {0x05}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SCARY + {0x0B}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LONESOME + {0x18}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DISAPPOINT + {0x11}, {0x2A}, {0x20}, {0xFF}, {0xFF}, {0xFF} + }, { // JOY + {0x20}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GETS + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEVER + {0x0B}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DARN + {0x08}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOWNCAST + {0x21}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INCREDIBLE + {0x0F}, {0x0B}, {0x11}, {0x26}, {0xFF}, {0xFF} + }, { // LIKES + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DISLIKES + {0x11}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BORING + {0x1A}, {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // CARE + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CARES + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALL RIGHT + {0x06}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ADORE + {0x2C}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DISASTER + {0x11}, {0x00}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // ENJOY + {0x11}, {0x20}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ENJOYS + {0x11}, {0x20}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EAT + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LACKING + {0x02}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BAD + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HARD + {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TERRIBLE + {0x0B}, {0x2A}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOULD + {0x29}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NICE + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DRINK + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SURPRISE + {0x32}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FEAR + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WANT + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WAIT + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SATISFIED + {0x00}, {0x11}, {0x14}, {0x33}, {0xFF}, {0xFF} + }, { // SEE + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RARE + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEGATIVE + {0x0B}, {0x2C}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // DONE + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DANGER + {0x03}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DEFEATED + {0x0E}, {0x0E}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // BEAT + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GREAT + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROMANTIC + {0x1A}, {0x00}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // QUESTION + {0x0B}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UNDERSTAND + {0x2C}, {0x32}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // UNDERSTANDS + {0x2C}, {0x32}, {0x02}, {0x33}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_CONDITIONS[][6] = { + { // HOT + {0x15}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXISTS + {0x0B}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCESS + {0x0B}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // APPROVED + {0x06}, {0x29}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAS + {0x01}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOOD + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LESS + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOMENTUM + {0x1A}, {0x0B}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // GOING + {0x1A}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEIRD + {0x18}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BUSY + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOGETHER + {0x29}, {0x0A}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // FULL + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ABSENT + {0x02}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEING + {0x0F}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEED + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TASTY + {0x05}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SKILLED + {0x11}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOISY + {0x20}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BIG + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LATE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLOSE + {0x19}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOCILE + {0x17}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AMUSING + {0x2C}, {0x27}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // ENTERTAINING + {0x09}, {0x30}, {0x03}, {0x11}, {0x33}, {0xFF} + }, { // PERFECTION + {0x32}, {0x0B}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // PRETTY + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEALTHY + {0x0A}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCELLENT + {0x09}, {0x2C}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // UPSIDE DOWN + {0x2C}, {0x14}, {0x23}, {0xFF}, {0xFF}, {0xFF} + }, { // COLD + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REFRESHING + {0x0E}, {0x0A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // UNAVOIDABLE + {0x2C}, {0x2A}, {0x1E}, {0x2C}, {0x26}, {0xFF} + }, { // MUCH + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERWHELMING + {0x1A}, {0x32}, {0x0B}, {0x11}, {0x33}, {0xFF} + }, { // FABULOUS + {0x00}, {0x27}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // ELSE + {0x0A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXPENSIVE + {0x09}, {0x0A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // CORRECT + {0x1A}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IMPOSSIBLE + {0x0F}, {0x1D}, {0x2A}, {0x26}, {0xFF}, {0xFF} + }, { // SMALL + {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DIFFERENT + {0x11}, {0x30}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // TIRED + {0x14}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SKILL + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOP + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NON-STOP + {0x17}, {0x16}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PREPOSTEROUS + {0x2A}, {0x16}, {0x32}, {0x2C}, {0x33}, {0xFF} + }, { // NONE + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOTHING + {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NATURAL + {0x02}, {0x32}, {0x26}, {0xFF}, {0xFF}, {0xFF} + }, { // BECOMES + {0x0E}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LUKEWARM + {0x29}, {0x1C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAST + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOW + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AWFUL + {0x08}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALONE + {0x2C}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BORED + {0x1A}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SECRET + {0x0E}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MYSTERY + {0x11}, {0x30}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // LACKS + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEST + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOUSY + {0x21}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MISTAKE + {0x11}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KIND + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WELL + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEAKENED + {0x0E}, {0x0B}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SIMPLE + {0x0F}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEMS + {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BADLY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_ACTIONS[][6] = { + { // MEETS + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONCEDE + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVE + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIVES + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PLAYED + {0x04}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PLAYS + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COLLECT + {0x2C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WALKING + {0x06}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WALKS + {0x08}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SAYS + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WENT + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SAID + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WAKE UP + {0x05}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WAKES UP + {0x05}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANGERS + {0x03}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TEACH + {0x0D}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TEACHES + {0x0C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PLEASE + {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LEARN + {0x30}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHANGE + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STORY + {0x1A}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRUST + {0x0B}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LAVISH + {0x01}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LISTENS + {0x11}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEARING + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAINS + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHOOSE + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COME + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAME + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEARCH + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAKE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAUSE + {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOW + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOWS + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REFUSE + {0x0C}, {0x2F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STORES + {0x1A}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BRAG + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IGNORANT + {0x11}, {0x1A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // THINKS + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BELIEVE + {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLIDE + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EATS + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // USE + {0x2F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // USES + {0x2F}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // USING + {0x2F}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COULDN’T + {0x26}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAPABLE + {0x05}, {0x2C}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // DISAPPEAR + {0x11}, {0x2C}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // APPEAR + {0x2C}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THROW + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WORRY + {0x32}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEPT + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEEP + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RELEASE + {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DRINKS + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RUNS + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RUN + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WORKS + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WORKING + {0x32}, {0x0D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TALKING + {0x1B}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TALK + {0x1B}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SINK + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SMACK + {0x01}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PRETEND + {0x0E}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PRAISE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERDO + {0x18}, {0x30}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOW + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOOKS + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEES + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEK + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OWN + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TAKE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALLOW + {0x2C}, {0x23}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FORGET + {0x1A}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FORGETS + {0x1A}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // APPEARS + {0x2C}, {0x0D}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // FAINT + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAINTED + {0x03}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_LIFESTYLE[][6] = { + { // CHORES + {0x31}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOME + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MONEY + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALLOWANCE + {0x2A}, {0x23}, {0x02}, {0x33}, {0xFF}, {0xFF} + }, { // BATH + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONVERSATION + {0x2A}, {0x32}, {0x03}, {0x2C}, {0x33}, {0xFF} + }, { // SCHOOL + {0x29}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COMMEMORATE + {0x2C}, {0x0B}, {0x32}, {0x05}, {0xFF}, {0xFF} + }, { // HABIT + {0x00}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GROUP + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WORD + {0x30}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STORE + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SERVICE + {0x32}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WORK + {0x32}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SYSTEM + {0x11}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAIN + {0x30}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLASS + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LESSONS + {0x09}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INFORMATION + {0x0F}, {0x30}, {0x05}, {0x2C}, {0x33}, {0xFF} + }, { // LIVING + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TEACHER + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOURNAMENT + {0x32}, {0x2A}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // LETTER + {0x0B}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EVENT + {0x0C}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DIGITAL + {0x11}, {0x11}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // TEST + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DEPT. STORE + {0x0C}, {0x1B}, {0x0B}, {0x1A}, {0xFF}, {0xFF} + }, { // TELEVISION + {0x09}, {0x2C}, {0x11}, {0x1B}, {0x33}, {0xFF} + }, { // PHONE + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ITEM + {0x12}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NAME + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEWS + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POPULAR + {0x1D}, {0x27}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // PARTY + {0x1C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STUDY + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHINE + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAIL + {0x03}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MESSAGE + {0x0B}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PROMISE + {0x1D}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DREAM + {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // KINDERGARTEN + {0x0F}, {0x32}, {0x17}, {0x0F}, {0x33}, {0xFF} + }, { // LIFE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RADIO + {0x03}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // RENTAL + {0x0B}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WORLD + {0x32}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_HOBBIES[][6] = { + { // IDOL + {0x14}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANIME + {0x00}, {0x2C}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // SONG + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOVIE + {0x27}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SWEETS + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHAT + {0x01}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHILD’S PLAY + {0x14}, {0x26}, {0x04}, {0xFF}, {0xFF}, {0xFF} + }, { // TOYS + {0x1E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MUSIC + {0x2F}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CARDS + {0x17}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOPPING + {0x15}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAMERA + {0x00}, {0x32}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // VIEWING + {0x2F}, {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // SPECTATOR + {0x0B}, {0x05}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // GOURMET + {0x26}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GAME + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RPG + {0x1B}, {0x0C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // COLLECTION + {0x2C}, {0x0B}, {0x1B}, {0x33}, {0x33}, {0xFF} + }, { // COMPLETE + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGAZINE + {0x02}, {0x2C}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // WALK + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BIKE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOBBY + {0x15}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPORTS + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SOFTWARE + {0x17}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SONGS + {0x17}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DIET + {0x14}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TREASURE + {0x0A}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRAVEL + {0x00}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DANCE + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHANNEL + {0x00}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAKING + {0x05}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FISHING + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DATE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DESIGN + {0x0E}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOCOMOTIVE + {0x1A}, {0x2C}, {0x1A}, {0x11}, {0xFF}, {0xFF} + }, { // PLUSH DOLL + {0x2C}, {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // PC + {0x0E}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLOWERS + {0x21}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HERO + {0x0C}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NAP + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEROINE + {0x0C}, {0x1A}, {0x0F}, {0x33}, {0xFF}, {0xFF} + }, { // FASHION + {0x01}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ADVENTURE + {0x00}, {0x0B}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // BOARD + {0x1A}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BALL + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BOOK + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FESTIVAL + {0x0B}, {0x0E}, {0x08}, {0xFF}, {0xFF}, {0xFF} + }, { // COMICS + {0x1B}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOLIDAY + {0x1D}, {0x11}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // PLANS + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRENDY + {0x09}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VACATION + {0x03}, {0x05}, {0x1D}, {0x33}, {0xFF}, {0xFF} + }, { // LOOK + {0x26}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_TIME[][6] = { + { // FALL + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MORNING + {0x1A}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOMORROW + {0x27}, {0x1C}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // LAST + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DAY + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SOMETIME + {0x2C}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALWAYS + {0x1B}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CURRENT + {0x09}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FOREVER + {0x18}, {0x09}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // DAYS + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // END + {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TUESDAY + {0x27}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YESTERDAY + {0x0B}, {0x32}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // TODAY + {0x27}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FRIDAY + {0x12}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MONDAY + {0x2C}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LATER + {0x05}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EARLIER + {0x30}, {0x0C}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // ANOTHER + {0x2A}, {0x2C}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // TIME + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FINISH + {0x0F}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEDNESDAY + {0x0A}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SOON + {0x28}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // START + {0x17}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MONTH + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STOP + {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NOW + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FINAL + {0x12}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEXT + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AGE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SATURDAY + {0x00}, {0x30}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // SUMMER + {0x2C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SUNDAY + {0x2C}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEGINNING + {0x0E}, {0x0F}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // SPRING + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DAYTIME + {0x05}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WINTER + {0x0F}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DAILY + {0x05}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OLDEN + {0x1A}, {0x0A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ALMOST + {0x1B}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEARLY + {0x0E}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THURSDAY + {0x30}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NIGHTTIME + {0x14}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NIGHT + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEK + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_MISC[][6] = { + { // HIGHS + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOWS + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UM + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REAR + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THINGS + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THING + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BELOW + {0x0C}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ABOVE + {0x2A}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BACK + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HIGH + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HERE + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INSIDE + {0x0F}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OUTSIDE + {0x21}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BESIDE + {0x0E}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THIS IS IT! + {0x11}, {0x11}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // THIS + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EVERY + {0x09}, {0x30}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // THESE + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THESE WERE + {0x0E}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOWN + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT + {0x02}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THOSE ARE + {0x18}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THOSE WERE + {0x18}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT’S IT! + {0x01}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AM + {0x00}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THAT WAS + {0x00}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FRONT + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UP + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHOICE + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAR + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AWAY + {0x2C}, {0x04}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEAR + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHERE + {0x09}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHEN + {0x10}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHAT + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DEEP + {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // SHALLOW + {0x01}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WHY + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONFUSED + {0x2A}, {0x2E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OPPOSITE + {0x1D}, {0x1A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // LEFT + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RIGHT + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_ADJECTIVES[][6] = { + { // WANDERING + {0x1D}, {0x32}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // RICKETY + {0x11}, {0x09}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK-SOLID + {0x1B}, {0x1B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // HUNGRY + {0x2A}, {0x30}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // TIGHT + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TICKLISH + {0x11}, {0x24}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TWIRLING + {0x30}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIRALING + {0x12}, {0x08}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // THIRSTY + {0x30}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOLLING + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SILKY + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SADLY + {0x00}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOPELESS + {0x18}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // USELESS + {0x2D}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DROOLING + {0x27}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXCITING + {0x09}, {0x12}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // THICK + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SMOOTH + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLIMY + {0x12}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THIN + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BREAK + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VORACIOUS + {0x32}, {0x05}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // SCATTER + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AWESOME + {0x1B}, {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // WIMPY + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WOBBLY + {0x1D}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHAKY + {0x03}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RIPPED + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHREDDED + {0x09}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INCREASING + {0x0F}, {0x0C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // YET + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DESTROYED + {0x0C}, {0x1E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FIERY + {0x14}, {0x32}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // LOVEY-DOVEY + {0x2C}, {0x0E}, {0x2C}, {0x0E}, {0xFF}, {0xFF} + }, { // HAPPILY + {0x00}, {0x2C}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // ANTICIPATION + {0x00}, {0x11}, {0x11}, {0x03}, {0x1D}, {0x33} + } +}; + +/*static*/ const struct BardSound BardMusic_EVENTS[][6] = { + { // APPEAL + {0x2C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EVENTS + {0x0C}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STAY-AT-HOME + {0x03}, {0x00}, {0x18}, {0x33}, {0x33}, {0xFF} + }, { // BERRY + {0x09}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONTEST + {0x1D}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MC + {0x09}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // JUDGE + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SUPER + {0x27}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STAGE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HALL OF FAME + {0x15}, {0x2C}, {0x04}, {0x33}, {0xFF}, {0xFF} + }, { // EVOLUTION + {0x1A}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER + {0x12}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE TOWER + {0x02}, {0x2C}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // LEADERS + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BATTLE ROOM + {0x00}, {0x2C}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // HIDDEN + {0x11}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SECRET BASE + {0x0C}, {0x09}, {0x04}, {0x33}, {0xFF}, {0xFF} + }, { // BLEND + {0x0A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POKEBLOCK + {0x18}, {0x0C}, {0x1D}, {0x33}, {0xFF}, {0xFF} + }, { // MASTER + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RANK + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RIBBON + {0x11}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_MOVE_1[][6] = { + { // THUNDERBOLT + {0x2A}, {0x30}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // IRON_TAIL + {0x12}, {0x1B}, {0x05}, {0x33}, {0xFF}, {0xFF} + }, { // ICE_BALL + {0x12}, {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // YAWN + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOVELY_KISS + {0x2C}, {0x2C}, {0x0C}, {0x11}, {0x33}, {0xFF} + }, { // NIGHTMARE + {0x12}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MORNING_SUN + {0x1A}, {0x0E}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // VITAL_THROW + {0x12}, {0x24}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // DIG + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THRASH + {0x30}, {0x02}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SWEET_SCENT + {0x0E}, {0x0B}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // CHARM + {0x15}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAIN_DANCE + {0x03}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONFUSE_RAY + {0x1B}, {0x2D}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // HAIL + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AROMATHERAPY + {0x2A}, {0x18}, {0x2C}, {0x00}, {0x1B}, {0x0E} + }, { // BUBBLE + {0x2C}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ENCORE + {0x1B}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CUT + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAGE + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SUPER_FANG + {0x27}, {0x30}, {0x01}, {0x33}, {0xFF}, {0xFF} + }, { // PAIN_SPLIT + {0x03}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TORMENT + {0x18}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STRING_SHOT + {0x32}, {0x0C}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // SWAGGER + {0x02}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORE + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEAL_BELL + {0x0E}, {0x0A}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // SCREECH + {0x30}, {0x0D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_THROW + {0x1B}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_SMASH + {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_SLIDE + {0x1B}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEATHER_BALL + {0x09}, {0x30}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // WHIRLPOOL + {0x30}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAKE_TEARS + {0x03}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SING + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPITE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AIR_CUTTER + {0x05}, {0x2A}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // AEROBLAST + {0x05}, {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // SMOKESCREEN + {0x1A}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PURSUIT + {0x30}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_SLAP + {0x2A}, {0x0A}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // MIRROR_MOVE + {0x0C}, {0x32}, {0x29}, {0xFF}, {0xFF}, {0xFF} + }, { // OVERHEAT + {0x18}, {0x30}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // AURORA_BEAM + {0x1B}, {0x1A}, {0x2C}, {0x0C}, {0x33}, {0xFF} + }, { // MEMENTO + {0x2A}, {0x09}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // OCTAZOOKA + {0x1B}, {0x2C}, {0x28}, {0x2C}, {0xFF}, {0xFF} + }, { // FLATTER + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ASTONISH + {0x2A}, {0x1B}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // WILL_O_WISP + {0x11}, {0x18}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // RETURN + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRUDGE + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STRENGTH + {0x32}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COUNTER + {0x21}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAME_WHEEL + {0x03}, {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // FLAMETHROWER + {0x00}, {0x1A}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // ODOR_SLEUTH + {0x18}, {0x30}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // SHARPEN + {0x1B}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_TEAM + {0x2C}, {0x2C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // GUST + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HARDEN + {0x1B}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DISABLE + {0x11}, {0x03}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // RAZOR_WIND + {0x05}, {0x30}, {0x0F}, {0x33}, {0xFF}, {0xFF} + }, { // BIDE + {0x0B}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CRUNCH + {0x30}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BITE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THUNDER + {0x2A}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THUNDER_PUNCH + {0x2A}, {0x30}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // ENDEAVOR + {0x09}, {0x09}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // FACADE + {0x2C}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KARATE_CHOP + {0x2C}, {0x1D}, {0x0E}, {0x1D}, {0xFF}, {0xFF} + }, { // CLAMP + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WITHDRAW + {0x11}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONSTRICT + {0x1B}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BRICK_BREAK + {0x11}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_TOMB + {0x1B}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FOCUS_ENERGY + {0x1A}, {0x2C}, {0x0B}, {0x30}, {0x0C}, {0xFF} + }, { // FOCUS_PUNCH + {0x18}, {0x2C}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // GIGA_DRAIN + {0x11}, {0x2A}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // REVERSAL + {0x0C}, {0x30}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // SMELLING_SALT + {0x09}, {0x0C}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // SPORE + {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LEECH_LIFE + {0x0C}, {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // SLASH + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SILVER_WIND + {0x11}, {0x30}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // METAL_SOUND + {0x09}, {0x1B}, {0x21}, {0xFF}, {0xFF}, {0xFF} + }, { // GRASS_WHISTLE + {0x00}, {0x11}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // TICKLE + {0x11}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIDER_WEB + {0x12}, {0x30}, {0x09}, {0xFF}, {0xFF}, {0xFF} + }, { // CRABHAMMER + {0x02}, {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // HAZE + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEAN_LOOK + {0x0C}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CROSS_CHOP + {0x1B}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OUTRAGE + {0x21}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOW_KICK + {0x18}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ANCIENT_POWER + {0x03}, {0x0C}, {0x21}, {0x32}, {0x33}, {0xFF} + }, { // SYNTHESIS + {0x0F}, {0x2A}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // AGILITY + {0x2A}, {0x11}, {0x11}, {0x0E}, {0xFF}, {0xFF} + }, { // RAPID_SPIN + {0x00}, {0x0F}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // ICY_WIND + {0x12}, {0x0C}, {0x0F}, {0xFF}, {0xFF}, {0xFF} + }, { // MIND_READER + {0x12}, {0x0C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // COSMIC_POWER + {0x1B}, {0x11}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // SKY_ATTACK + {0x12}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // POWDER_SNOW + {0x21}, {0x30}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // FOLLOW_ME + {0x15}, {0x18}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // METEOR_MASH + {0x0C}, {0x0C}, {0x18}, {0x00}, {0x33}, {0x33} + }, { // ENDURE + {0x09}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROLLOUT + {0x1A}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SCARY_FACE + {0x03}, {0x0C}, {0x03}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYBEAM + {0x12}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYWAVE + {0x12}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYCHIC + {0x12}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPNOSIS + {0x11}, {0x18}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // UPROAR + {0x2C}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER_SPOUT + {0x1B}, {0x30}, {0x21}, {0xFF}, {0xFF}, {0xFF} + }, { // SIGNAL_BEAM + {0x11}, {0x1B}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // PSYCH_UP + {0x12}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SUBMISSION + {0x2A}, {0x11}, {0x0B}, {0xFF}, {0xFF}, {0xFF} + }, { // RECOVER + {0x0C}, {0x2C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // EARTHQUAKE + {0x30}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NATURE_POWER + {0x03}, {0x30}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // LICK + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAIL + {0x05}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TAIL_WHIP + {0x05}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SELF_DESTRUCT + {0x09}, {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF} + }, { // STUN_SPORE + {0x2C}, {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // BIND + {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHADOW_PUNCH + {0x00}, {0x18}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // SHADOW_BALL + {0x00}, {0x18}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARGE + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MIST + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FISSURE + {0x11}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXTREME_SPEED + {0x09}, {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // EXTRASENSORY + {0x09}, {0x2A}, {0x09}, {0x18}, {0x0C}, {0xFF} + }, { // SAFEGUARD + {0x03}, {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // ABSORB + {0x2A}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SKY_UPPERCUT + {0x12}, {0x2C}, {0x30}, {0x2A}, {0xFF}, {0xFF} + }, { // SKILL_SWAP + {0x11}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SKETCH + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEADBUTT + {0x09}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_EDGE + {0x2C}, {0x24}, {0x0A}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSTORM + {0x00}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND_ATTACK + {0x00}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // SAND_TOMB + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPARK + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SWIFT + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KINESIS + {0x0F}, {0x0C}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SMOG + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GROWTH + {0x30}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SACRED_FIRE + {0x03}, {0x11}, {0x12}, {0x30}, {0x33}, {0xFF} + }, { // SHEER_COLD + {0x0E}, {0x30}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // SOLAR_BEAM + {0x18}, {0x30}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // SONIC_BOOM + {0x1B}, {0x11}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // FLY + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_MOVE_2[][6] = { + { // TACKLE + {0x00}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXPLOSION + {0x09}, {0x18}, {0x2C}, {0x33}, {0x33}, {0xFF} + }, { // DIVE + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FIRE_BLAST + {0x12}, {0x30}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // WATERFALL + {0x1D}, {0x30}, {0x1D}, {0x33}, {0xFF}, {0xFF} + }, { // MUDDY_WATER + {0x2A}, {0x0C}, {0x1B}, {0x30}, {0xFF}, {0xFF} + }, { // STOCKPILE + {0x1B}, {0x14}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLAM + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TWISTER + {0x11}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BULLET_SEED + {0x2A}, {0x09}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // TWINEEDLE + {0x0F}, {0x0C}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // SOFT_BOILED + {0x1B}, {0x1E}, {0x0B}, {0x33}, {0xFF}, {0xFF} + }, { // EGG_BOMB + {0x09}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAINT_ATTACK + {0x03}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // BARRAGE + {0x30}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MINIMIZE + {0x0F}, {0x0F}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // SEISMIC_TOSS + {0x12}, {0x11}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // SUPERSONIC + {0x27}, {0x30}, {0x1B}, {0x11}, {0xFF}, {0xFF} + }, { // TAUNT + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOONLIGHT + {0x27}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PECK + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARM_THRUST + {0x1B}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HORN_ATTACK + {0x18}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // HORN_DRILL + {0x18}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WING_ATTACK + {0x0C}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // AERIAL_ACE + {0x03}, {0x0C}, {0x2A}, {0x03}, {0xFF}, {0xFF} + }, { // SWORDS_DANCE + {0x1A}, {0x30}, {0x01}, {0x33}, {0xFF}, {0xFF} + }, { // VINE_WHIP + {0x12}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONVERSION + {0x2A}, {0x30}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // CONVERSION_2 + {0x2A}, {0x30}, {0x2C}, {0x27}, {0x33}, {0xFF} + }, { // HELPING_HAND + {0x09}, {0x0C}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // IRON_DEFENSE + {0x12}, {0x1B}, {0x0C}, {0x09}, {0xFF}, {0xFF} + }, { // TELEPORT + {0x09}, {0x0C}, {0x1A}, {0x33}, {0xFF}, {0xFF} + }, { // THUNDER_SHOCK + {0x2A}, {0x30}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // SHOCK_WAVE + {0x1B}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // QUICK_ATTACK + {0x27}, {0x11}, {0x2A}, {0x00}, {0xFF}, {0xFF} + }, { // SWEET_KISS + {0x0E}, {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // THUNDER_WAVE + {0x2A}, {0x30}, {0x05}, {0x33}, {0xFF}, {0xFF} + }, { // ZAP_CANNON + {0x00}, {0x01}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // BLOCK + {0x1B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOWL + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_GAS + {0x1E}, {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // TOXIC + {0x1B}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_FANG + {0x1E}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // POISON_POWDER + {0x1E}, {0x2C}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // POISON_STING + {0x1E}, {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // SPIKE_CANNON + {0x14}, {0x00}, {0x1D}, {0xFF}, {0xFF}, {0xFF} + }, { // ACID_ARMOR + {0x00}, {0x11}, {0x1B}, {0x30}, {0xFF}, {0xFF} + }, { // TAKE_DOWN + {0x03}, {0x23}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // JUMP_KICK + {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BOUNCE + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HI_JUMP_KICK + {0x12}, {0x2C}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // TRI_ATTACK + {0x12}, {0x2A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON_CLAW + {0x00}, {0x1B}, {0x1D}, {0xFF}, {0xFF}, {0xFF} + }, { // TRICK + {0x11}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRIPLE_KICK + {0x11}, {0x24}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // DRILL_PECK + {0x11}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MUD_SPORT + {0x2A}, {0x18}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // MUD_SLAP + {0x2C}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // THIEF + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AMNESIA + {0x02}, {0x0E}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // NIGHT_SHADE + {0x12}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GROWL + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLACK_OFF + {0x00}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SURF + {0x30}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROLE_PLAY + {0x18}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEEDLE_ARM + {0x0C}, {0x2A}, {0x1D}, {0xFF}, {0xFF}, {0xFF} + }, { // DOUBLE_KICK + {0x2A}, {0x2C}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SUNNY_DAY + {0x2A}, {0x0E}, {0x05}, {0xFF}, {0xFF}, {0xFF} + }, { // LEER + {0x0E}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WISH + {0x0F}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FAKE_OUT + {0x03}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEEP_TALK + {0x0E}, {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // PAY_DAY + {0x05}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ASSIST + {0x2A}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEAT_WAVE + {0x0C}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLEEP_POWDER + {0x0C}, {0x21}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // REST + {0x09}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // INGRAIN + {0x0F}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CONFUSION + {0x2C}, {0x29}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // BODY_SLAM + {0x1D}, {0x0C}, {0x02}, {0xFF}, {0xFF}, {0xFF} + }, { // SWALLOW + {0x1B}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CURSE + {0x30}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HYDRO_PUMP + {0x12}, {0x18}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER_VOICE + {0x12}, {0x30}, {0x1E}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER_BEAM + {0x12}, {0x30}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // SUPERPOWER + {0x27}, {0x30}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // STEEL_WING + {0x0E}, {0x0D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIT_UP + {0x11}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DYNAMIC_PUNCH + {0x12}, {0x00}, {0x11}, {0x2C}, {0xFF}, {0xFF} + }, { // GUILLOTINE + {0x0C}, {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // VICE_GRIP + {0x14}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOCK_OFF + {0x1B}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POUND + {0x21}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAZOR_LEAF + {0x05}, {0x30}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // BATON_PASS + {0x2A}, {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // PETAL_DANCE + {0x09}, {0x2C}, {0x02}, {0x33}, {0xFF}, {0xFF} + }, { // SPLASH + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BUBBLE_BEAM + {0x2A}, {0x24}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // BELLY_DRUM + {0x09}, {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF} + }, { // BARRIER + {0x05}, {0x0E}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // LIGHT_SCREEN + {0x12}, {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // SCRATCH + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPER_FANG + {0x12}, {0x30}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // EMBER + {0x09}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SECRET_POWER + {0x0C}, {0x09}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // DIZZY_PUNCH + {0x11}, {0x0E}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // BULK_UP + {0x2C}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IMPRISON + {0x0F}, {0x0F}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // FEATHER_DANCE + {0x09}, {0x30}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // WHIRLWIND + {0x2C}, {0x1D}, {0x0E}, {0x1D}, {0xFF}, {0xFF} + }, { // BEAT_UP + {0x0C}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BLIZZARD + {0x0F}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STOMP + {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLASH + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TEETER_DANCE + {0x0C}, {0x30}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // CRUSH_CLAW + {0x2C}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BLAZE_KICK + {0x05}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PRESENT + {0x09}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ERUPTION + {0x0C}, {0x2C}, {0x1D}, {0x33}, {0xFF}, {0xFF} + }, { // SLUDGE + {0x2C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLUDGE_BOMB + {0x2B}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GLARE + {0x05}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TRANSFORM + {0x00}, {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // POISON_TAIL + {0x1E}, {0x2C}, {0x05}, {0x33}, {0xFF}, {0xFF} + }, { // ROAR + {0x1A}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BONE_RUSH + {0x18}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CAMOUFLAGE + {0x00}, {0x18}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // COVET + {0x2A}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TAIL_GLOW + {0x04}, {0x1A}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // BONE_CLUB + {0x18}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BONEMERANG + {0x18}, {0x30}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // FIRE_SPIN + {0x12}, {0x30}, {0x0F}, {0x33}, {0xFF}, {0xFF} + }, { // FIRE_PUNCH + {0x12}, {0x30}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // PERISH_SONG + {0x09}, {0x11}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // WRAP + {0x00}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPIKES + {0x12}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNITUDE + {0x00}, {0x0F}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGICAL_LEAF + {0x00}, {0x11}, {0x24}, {0x0C}, {0x33}, {0xFF} + }, { // MAGIC_COAT + {0x00}, {0x11}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // MUD_SHOT + {0x2C}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MACH_PUNCH + {0x1B}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PROTECT + {0x18}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DEFENSE_CURL + {0x0E}, {0x0B}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // ROLLING_KICK + {0x18}, {0x0C}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SUBSTITUTE + {0x2A}, {0x11}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // DETECT + {0x0C}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PIN_MISSILE + {0x0F}, {0x11}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER_SPORT + {0x1B}, {0x30}, {0x1A}, {0x33}, {0xFF}, {0xFF} + }, { // WATER_GUN + {0x1D}, {0x32}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // MIST_BALL + {0x11}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WATER_PULSE + {0x1B}, {0x30}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // FURY_ATTACK + {0x30}, {0x0C}, {0x2A}, {0x02}, {0xFF}, {0xFF} + }, { // FURY_SWIPES + {0x30}, {0x0C}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // DESTINY_BOND + {0x09}, {0x0F}, {0x0C}, {0x1B}, {0xFF}, {0xFF} + }, { // FALSE_SWIPE + {0x1B}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FORESIGHT + {0x1A}, {0x14}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // MIRROR_COAT + {0x09}, {0x30}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // FUTURE_SIGHT + {0x27}, {0x30}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // MILK_DRINK + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CALM_MIND + {0x1B}, {0x12}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGA_DRAIN + {0x03}, {0x2C}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // MEGA_KICK + {0x03}, {0x2A}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGA_PUNCH + {0x03}, {0x2A}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGAHORN + {0x03}, {0x2A}, {0x1A}, {0x33}, {0xFF}, {0xFF} + }, { // HIDDEN_POWER + {0x0F}, {0x09}, {0x21}, {0x30}, {0xFF}, {0xFF} + }, { // METAL_CLAW + {0x09}, {0x24}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // ATTRACT + {0x2A}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MIMIC + {0x11}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FRUSTRATION + {0x2C}, {0x03}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // LEECH_SEED + {0x0C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // METRONOME + {0x09}, {0x18}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // DREAM_EATER + {0x0E}, {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // ACID + {0x00}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEDITATE + {0x09}, {0x11}, {0x03}, {0x33}, {0xFF}, {0xFF} + }, { // SNATCH + {0x00}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LUSTER_PURGE + {0x2A}, {0x30}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // LEAF_BLADE + {0x0C}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RECYCLE + {0x0C}, {0x12}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // REFLECT + {0x0C}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REFRESH + {0x0C}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REVENGE + {0x0C}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGON_RAGE + {0x00}, {0x1B}, {0x05}, {0x33}, {0x33}, {0xFF} + }, { // DRAGON_BREATH + {0x00}, {0x1B}, {0x0B}, {0x33}, {0x33}, {0xFF} + }, { // DRAGON_DANCE + {0x00}, {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF} + }, { // ICE_PUNCH + {0x2C}, {0x1D}, {0x0E}, {0x1D}, {0xFF}, {0xFF} + }, { // ICE_BEAM + {0x12}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FURY_CUTTER + {0x30}, {0x0C}, {0x2A}, {0x30}, {0xFF}, {0xFF} + }, { // COMET_PUNCH + {0x1D}, {0x0B}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // SKULL_BASH + {0x2A}, {0x33}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // LOCK_ON + {0x1B}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ROCK_BLAST + {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // COTTON_SPORE + {0x1D}, {0x1D}, {0x1A}, {0x33}, {0xFF}, {0xFF} + }, { // STRUGGLE + {0x2A}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_TRENDY_SAYING[][6] = { + { // KTHX, BYE. + {0x05}, {0x02}, {0x14}, {0x33}, {0xFF}, {0xFF} + }, { // YES, SIR! + {0x0B}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AVANT GARDE + {0x1B}, {0x1B}, {0x17}, {0xFF}, {0xFF}, {0xFF} + }, { // COUPLE + {0x2C}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MUCH OBLIGED + {0x2C}, {0x2C}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // YEEHAW! + {0x0D}, {0x1D}, {0x33}, {0x33}, {0xFF}, {0xFF} + }, { // MEGA + {0x05}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // 1-HIT KO! + {0x2C}, {0x11}, {0x03}, {0x1A}, {0xFF}, {0xFF} + }, { // DESTINY + {0x0B}, {0x11}, {0x0E}, {0xFF}, {0xFF}, {0xFF} + }, { // CANCEL + {0x00}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // NEW + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLATTEN + {0x00}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KIDDING + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSER + {0x27}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LOSING + {0x27}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAPPENING + {0x00}, {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF} + }, { // HIP AND + {0x11}, {0x01}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHAKE + {0x05}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHADY + {0x05}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UPBEAT + {0x2C}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MODERN + {0x1D}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SMELL YA + {0x0A}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BANG + {0x03}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KNOCKOUT + {0x1D}, {0x23}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HASSLE + {0x2A}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WINNER + {0x0F}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FEVER + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WANNABE + {0x1D}, {0x2C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // BABY + {0x05}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HEART + {0x1C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OLD + {0x18}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YOUNG + {0x2B}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // UGLY + {0x2A}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +/*static*/ const struct BardSound BardMusic_POKEMON_2[][6] = { + { // EKANS + {0x09}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARBOK + {0x06}, {0x17}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEAKING + {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARIADOS + {0x1B}, {0x0C}, {0x2A}, {0x18}, {0xFF}, {0xFF} + }, { // CROCONAW + {0x1B}, {0x18}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // UNOWN + {0x2A}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EEVEE + {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GEODUDE + {0x0C}, {0x18}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // SPINARAK + {0x0F}, {0x30}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // PILOSWINE + {0x11}, {0x1A}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // ONIX + {0x15}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ARCANINE + {0x06}, {0x03}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // SUDOWOODO + {0x27}, {0x18}, {0x27}, {0x18}, {0xFF}, {0xFF} + }, { // WEEPINBELL + {0x0C}, {0x0F}, {0x0B}, {0x33}, {0xFF}, {0xFF} + }, { // VICTREEBEL + {0x11}, {0x0C}, {0x09}, {0x33}, {0xFF}, {0xFF} + }, { // WOOPER + {0x27}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SWINUB + {0x11}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SKARMORY + {0x1B}, {0x1A}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // AIPOM + {0x03}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ESPEON + {0x09}, {0x0C}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // HITMONCHAN + {0x11}, {0x15}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // ELEKID + {0x0B}, {0x0B}, {0x11}, {0x33}, {0xFF}, {0xFF} + }, { // ELECTABUZZ + {0x0C}, {0x09}, {0x2C}, {0x2C}, {0xFF}, {0xFF} + }, { // ENTEI + {0x09}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FERALIGATR + {0x30}, {0x00}, {0x0F}, {0x03}, {0x30}, {0xFF} + }, { // FURRET + {0x30}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OCTILLERY + {0x1B}, {0x11}, {0x30}, {0x0C}, {0xFF}, {0xFF} + }, { // PRIMEAPE + {0x12}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SENTRET + {0x09}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STANTLER + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SPEAROW + {0x0C}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FEAROW + {0x0C}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // OMASTAR + {0x18}, {0x00}, {0x15}, {0x33}, {0xFF}, {0xFF} + }, { // OMANYTE + {0x18}, {0x00}, {0x12}, {0x33}, {0xFF}, {0xFF} + }, { // GROWLITHE + {0x21}, {0x0F}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHAMP + {0x2A}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DRAGONITE + {0x00}, {0x15}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // PINSIR + {0x11}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SNORLAX + {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KABUTO + {0x2A}, {0x27}, {0x1A}, {0xFF}, {0xFF}, {0xFF} + }, { // KABUTOPS + {0x2A}, {0x27}, {0x15}, {0x33}, {0xFF}, {0xFF} + }, { // HITMONTOP + {0x11}, {0x15}, {0x1D}, {0x33}, {0xFF}, {0xFF} + }, { // WARTORTLE + {0x08}, {0x30}, {0x24}, {0x33}, {0xFF}, {0xFF} + }, { // BLASTOISE + {0x00}, {0x1E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FARFETCHD + {0x06}, {0x0B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CUBONE + {0x2D}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAROWAK + {0x00}, {0x1A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // KANGASKHAN + {0x00}, {0x00}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // SUNFLORA + {0x2C}, {0x18}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // CATERPIE + {0x00}, {0x30}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // GYARADOS + {0x1D}, {0x09}, {0x11}, {0x1D}, {0xFF}, {0xFF} + }, { // RAPIDASH + {0x00}, {0x11}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // NINETALES + {0x12}, {0x05}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GIRAFARIG + {0x30}, {0x00}, {0x2A}, {0x11}, {0xFF}, {0xFF} + }, { // BELLOSSOM + {0x09}, {0x1B}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // KINGDRA + {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KINGLER + {0x0C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GLOOM + {0x27}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PINECO + {0x12}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GLIGAR + {0x12}, {0x1B}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KRABBY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRANBULL + {0x02}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CROBAT + {0x18}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ABRA + {0x00}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GENGAR + {0x09}, {0x08}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TAUROS + {0x1D}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGIKARP + {0x00}, {0x11}, {0x1B}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNEMITE + {0x00}, {0x09}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // GASTLY + {0x00}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HAUNTER + {0x15}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHOKE + {0x2A}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KAKUNA + {0x2A}, {0x27}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // PSYDUCK + {0x12}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PHANPY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RATTATA + {0x00}, {0x00}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDUCK + {0x18}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLBAT + {0x1A}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLEM + {0x18}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRAVELER + {0x00}, {0x09}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // VENONAT + {0x09}, {0x1A}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYDON + {0x12}, {0x15}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RHYHORN + {0x14}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PUPITAR + {0x27}, {0x11}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // CORSOLA + {0x18}, {0x18}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // HITMONLEE + {0x11}, {0x15}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // ZAPDOS + {0x00}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // JOLTEON + {0x1A}, {0x0C}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSHREW + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SANDSLASH + {0x00}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEADRA + {0x0C}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHELLDER + {0x09}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VAPOREON + {0x03}, {0x18}, {0x0C}, {0x15}, {0xFF}, {0xFF} + }, { // DEWGONG + {0x27}, {0x15}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SUICUNE + {0x0C}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STARMIE + {0x1B}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SCYTHER + {0x12}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ZUBAT + {0x27}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BEEDRILL + {0x0C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HYPNO + {0x11}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DROWZEE + {0x21}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SQUIRTLE + {0x30}, {0x24}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CELEBI + {0x09}, {0x09}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // WOBBUFFET + {0x1D}, {0x2C}, {0x09}, {0xFF}, {0xFF}, {0xFF} + }, { // DUGTRIO + {0x2C}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // HORSEA + {0x1A}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXEGGCUTE + {0x09}, {0x2C}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // CHIKORITA + {0x11}, {0x18}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // CHINCHOU + {0x0F}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SHUCKLE + {0x2A}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DIGLETT + {0x11}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // REMORAID + {0x09}, {0x18}, {0x03}, {0xFF}, {0xFF}, {0xFF} + }, { // DELIBIRD + {0x09}, {0x0C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // HOUNDOUR + {0x23}, {0x1A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AMPHAROS + {0x00}, {0x06}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // DODUO + {0x1A}, {0x27}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // DODRIO + {0x1A}, {0x0C}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // SMEARGLE + {0x30}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KOFFING + {0x15}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACRUEL + {0x09}, {0x2A}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // TOGETIC + {0x18}, {0x09}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // TOGEPI + {0x18}, {0x09}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // GOLDEEN + {0x1A}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // METAPOD + {0x09}, {0x2A}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // DONPHAN + {0x1B}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // ODDISH + {0x15}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // EXEGGUTOR + {0x09}, {0x2C}, {0x09}, {0x32}, {0x33}, {0xFF} + }, { // NIDOKING + {0x12}, {0x18}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDOQUEEN + {0x12}, {0x18}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDORAN_F + {0x12}, {0x18}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDORAN_M + {0x12}, {0x18}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // NIDORINA + {0x12}, {0x18}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // NIDORINO + {0x12}, {0x18}, {0x0C}, {0x18}, {0xFF}, {0xFF} + }, { // MEOWTH + {0x0C}, {0x21}, {0x11}, {0xFF}, {0xFF}, {0xFF} + }, { // SNEASEL + {0x0C}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // POLIWHIRL + {0x15}, {0x0C}, {0x30}, {0xFF}, {0xFF}, {0xFF} + }, { // POLITOED + {0x1B}, {0x0C}, {0x18}, {0x33}, {0xFF}, {0xFF} + }, { // POLIWRATH + {0x15}, {0x0C}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // POLIWAG + {0x15}, {0x0C}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // QUAGSIRE + {0x00}, {0x12}, {0x32}, {0xFF}, {0xFF}, {0xFF} + }, { // NATU + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // XATU + {0x00}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DUNSPARCE + {0x2A}, {0x1C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SEEL + {0x0E}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // STEELIX + {0x0C}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TYPHLOSION + {0x12}, {0x18}, {0x1B}, {0x33}, {0x33}, {0xFF} + }, { // DRAGONAIR + {0x00}, {0x15}, {0x0B}, {0x33}, {0xFF}, {0xFF} + }, { // BUTTERFREE + {0x2A}, {0x30}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // SCIZOR + {0x11}, {0x32}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOPPIP + {0x1D}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BLISSEY + {0x11}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PARAS + {0x09}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PARASECT + {0x09}, {0x00}, {0x09}, {0xFF}, {0xFF}, {0xFF} + }, { // QWILFISH + {0x11}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MR_MIME + {0x11}, {0x30}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // TYROGUE + {0x12}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLOYSTER + {0x1E}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TYRANITAR + {0x12}, {0x00}, {0x11}, {0x1B}, {0xFF}, {0xFF} + }, { // CLEFFA + {0x09}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEDLE + {0x0E}, {0x26}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PIKACHU + {0x0C}, {0x2A}, {0x27}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEFABLE + {0x09}, {0x2A}, {0x24}, {0xFF}, {0xFF}, {0xFF} + }, { // PIDGEOT + {0x11}, {0x0C}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // PIDGEOTTO + {0x11}, {0x0C}, {0x18}, {0x18}, {0xFF}, {0xFF} + }, { // PICHU + {0x0C}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CLEFAIRY + {0x09}, {0x0B}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARMANDER + {0x06}, {0x02}, {0x32}, {0x33}, {0xFF}, {0xFF} + }, { // STARYU + {0x1B}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CYNDAQUIL + {0x0F}, {0x2A}, {0x09}, {0x33}, {0xFF}, {0xFF} + }, { // SUNKERN + {0x2C}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TEDDIURSA + {0x09}, {0x0C}, {0x30}, {0x2C}, {0xFF}, {0xFF} + }, { // VOLTORB + {0x1A}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MOLTRES + {0x1A}, {0x09}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAREON + {0x03}, {0x0C}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // ALAKAZAM + {0x00}, {0x2C}, {0x2C}, {0x00}, {0xFF}, {0xFF} + }, { // MAGMAR + {0x00}, {0x1D}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FORRETRESS + {0x1A}, {0x09}, {0x09}, {0x33}, {0xFF}, {0xFF} + }, { // WIGGLYTUFF + {0x11}, {0x27}, {0x0C}, {0x2A}, {0x33}, {0xFF} + }, { // IVYSAUR + {0x14}, {0x0C}, {0x32}, {0x33}, {0xFF}, {0xFF} + }, { // BULBASAUR + {0x24}, {0x2A}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // VENUSAUR + {0x0C}, {0x2C}, {0x30}, {0x33}, {0xFF}, {0xFF} + }, { // AERODACTYL + {0x03}, {0x18}, {0x00}, {0x18}, {0xFF}, {0xFF} + }, { // MAGBY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // IGGLYBUFF + {0x11}, {0x2A}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // UMBREON + {0x2A}, {0x0C}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // ARTICUNO + {0x06}, {0x11}, {0x27}, {0x18}, {0xFF}, {0xFF} + }, { // JIGGLYPUFF + {0x11}, {0x27}, {0x0C}, {0x2A}, {0x33}, {0xFF} + }, { // SNUBBULL + {0x2C}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // BAYLEEF + {0x03}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // GRIMER + {0x12}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MUK + {0x2A}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HERACROSS + {0x09}, {0x2A}, {0x1B}, {0x33}, {0xFF}, {0xFF} + }, { // HOUNDOOM + {0x21}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PERSIAN + {0x32}, {0x11}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // LICKITUNG + {0x11}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // HO_OH + {0x18}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // HOOTHOOT + {0x27}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PIDGEY + {0x11}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PONYTA + {0x1A}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // SKIPLOOM + {0x11}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // PORYGON + {0x18}, {0x0C}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // PORYGON2 + {0x1A}, {0x0C}, {0x1B}, {0x27}, {0xFF}, {0xFF} + }, { // MAGCARGO + {0x00}, {0x1B}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // SLUGMA + {0x2C}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // QUILAVA + {0x11}, {0x06}, {0x08}, {0xFF}, {0xFF}, {0xFF} + }, { // BELLSPROUT + {0x0B}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // WEEZING + {0x0C}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MARILL + {0x08}, {0x10}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // AZUMARILL + {0x08}, {0x27}, {0x2C}, {0x10}, {0xFF}, {0xFF} + }, { // ELECTRODE + {0x0C}, {0x09}, {0x18}, {0xFF}, {0xFF}, {0xFF} + }, { // MANKEY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MANTINE + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // DRATINI + {0x00}, {0x0C}, {0x0C}, {0xFF}, {0xFF}, {0xFF} + }, { // MEW + {0x2D}, {0xFF}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEWTWO + {0x2D}, {0x27}, {0xFF}, {0xFF}, {0xFF}, {0xFF} + }, { // MILTANK + {0x11}, {0x03}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MISDREAVUS + {0x11}, {0x0C}, {0x2C}, {0x33}, {0xFF}, {0xFF} + }, { // SMOOCHUM + {0x27}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MEGANIUM + {0x03}, {0x09}, {0x0C}, {0x2A}, {0xFF}, {0xFF} + }, { // DITTO + {0x11}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TENTACOOL + {0x09}, {0x2A}, {0x27}, {0x33}, {0xFF}, {0xFF} + }, { // MAREEP + {0x1D}, {0x0E}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // FLAAFFY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VENOMOTH + {0x09}, {0x1A}, {0x15}, {0xFF}, {0xFF}, {0xFF} + }, { // TANGELA + {0x02}, {0x09}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // SLOWKING + {0x18}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLOWBRO + {0x18}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // SLOWPOKE + {0x18}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // MURKROW + {0x30}, {0x18}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // YANMA + {0x00}, {0x2A}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // KADABRA + {0x2C}, {0x00}, {0x2C}, {0xFF}, {0xFF}, {0xFF} + }, { // LARVITAR + {0x15}, {0x11}, {0x15}, {0x33}, {0xFF}, {0xFF} + }, { // NOCTOWL + {0x1B}, {0x21}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAIKOU + {0x12}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RAICHU + {0x12}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHANSEY + {0x00}, {0x0C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // RATICATE + {0x00}, {0x0C}, {0x03}, {0xFF}, {0xFF}, {0xFF} + }, { // LAPRAS + {0x2C}, {0x00}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // VILEPLUME + {0x14}, {0x27}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LANTURN + {0x00}, {0x30}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // CHARMELEON + {0x06}, {0x0C}, {0x0C}, {0x15}, {0x33}, {0xFF} + }, { // CHARIZARD + {0x06}, {0x11}, {0x32}, {0x33}, {0x33}, {0xFF} + }, { // URSARING + {0x30}, {0x2C}, {0x0C}, {0x33}, {0xFF}, {0xFF} + }, { // JYNX + {0x0C}, {0x33}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // LUGIA + {0x27}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // MAGNETON + {0x00}, {0x09}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // LEDIAN + {0x09}, {0x0C}, {0x00}, {0xFF}, {0xFF}, {0xFF} + }, { // LEDYBA + {0x09}, {0x0C}, {0x2A}, {0xFF}, {0xFF}, {0xFF} + }, { // VULPIX + {0x24}, {0x11}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // JUMPLUFF + {0x2C}, {0x2C}, {0x33}, {0xFF}, {0xFF}, {0xFF} + }, { // TOTODILE + {0x18}, {0x18}, {0x12}, {0xFF}, {0xFF}, {0xFF} + }, { // MACHOP + {0x2A}, {0x15}, {0x33}, {0xFF}, {0xFF}, {0xFF} + } +}; + +#endif //GUARD_DATA_BARD_MUSIC_H diff --git a/src/data/menu_cursor_de.h b/src/data/menu_cursor_de.h new file mode 100644 index 000000000..cd56f51d9 --- /dev/null +++ b/src/data/menu_cursor_de.h @@ -0,0 +1,345 @@ +#ifndef GUARD_DATA_MENU_CURSOR_H +#define GUARD_DATA_MENU_CURSOR_H + +const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_00.4bpp"); +const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_01.4bpp"); +const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_02.4bpp"); +const u8 OutlineCursorTiles_03[] = INCBIN_U8("graphics/interface/outline_cursor_03.4bpp"); +const u8 OutlineCursorTiles_04[] = INCBIN_U8("graphics/interface/outline_cursor_04.4bpp"); +const u8 OutlineCursorTiles_05[] = INCBIN_U8("graphics/interface/outline_cursor_05.4bpp"); +const u8 OutlineCursorTiles_06[] = INCBIN_U8("graphics/interface/outline_cursor_06.4bpp"); +const u8 OutlineCursorTiles_07[] = INCBIN_U8("graphics/interface/outline_cursor_07.4bpp"); +const u8 OutlineCursorTiles_08[] = INCBIN_U8("graphics/interface/outline_cursor_08.4bpp"); +const u8 OutlineCursorTiles_09[] = INCBIN_U8("graphics/interface/outline_cursor_09.4bpp"); +const u8 OutlineCursorTiles_10[] = INCBIN_U8("graphics/interface/outline_cursor_10.4bpp"); +const u8 OutlineCursorTiles_11[] = INCBIN_U8("graphics/interface/outline_cursor_11.4bpp"); +const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_12.4bpp"); +const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_13.4bpp"); +const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_14.4bpp"); +const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_15.4bpp"); + +const struct OamData gOamData_842F11C = { + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_V_RECTANGLE +}; +const struct OamData gOamData_842F124 = { + .objMode = ST_OAM_OBJ_WINDOW, + .shape = ST_OAM_V_RECTANGLE +}; +const struct OamData gOamData_842F12C = { + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_V_RECTANGLE +}; + +const union AnimCmd gSpriteAnim_842F134[] = { + ANIMCMD_FRAME(0, 63), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_842F13C[] = { + gSpriteAnim_842F134 +}; + +const struct SpriteSheet gUnknown_0842F140[] = { + { OutlineCursorTiles_00, 0x380, 0xFFF0 }, + { OutlineCursorTiles_01, 0x380, 0xFFF0 }, + { OutlineCursorTiles_02, 0x380, 0xFFF0 }, + { OutlineCursorTiles_03, 0x380, 0xFFF0 }, + { OutlineCursorTiles_04, 0x380, 0xFFF0 }, + { OutlineCursorTiles_05, 0x380, 0xFFF0 }, + { OutlineCursorTiles_06, 0x380, 0xFFF0 }, + { OutlineCursorTiles_07, 0x380, 0xFFF0 }, + { OutlineCursorTiles_08, 0x380, 0xFFF0 }, + { OutlineCursorTiles_09, 0x380, 0xFFF0 }, + { OutlineCursorTiles_10, 0x380, 0xFFF0 }, + { OutlineCursorTiles_11, 0x380, 0xFFF0 }, + { OutlineCursorTiles_12, 0x380, 0xFFF0 }, + { OutlineCursorTiles_13, 0x380, 0xFFF0 }, + { OutlineCursorTiles_14, 0x380, 0xFFF0 }, + { OutlineCursorTiles_15, 0x380, 0xFFF0 } +}; + +const struct SpriteSheet gUnknown_0842F1C0[] = { + { OutlineCursorTiles_00, 0x380, 0xFFF1 }, + { OutlineCursorTiles_01, 0x380, 0xFFF1 }, + { OutlineCursorTiles_02, 0x380, 0xFFF1 }, + { OutlineCursorTiles_03, 0x380, 0xFFF1 }, + { OutlineCursorTiles_04, 0x380, 0xFFF1 }, + { OutlineCursorTiles_05, 0x380, 0xFFF1 }, + { OutlineCursorTiles_06, 0x380, 0xFFF1 }, + { OutlineCursorTiles_07, 0x380, 0xFFF1 }, + { OutlineCursorTiles_08, 0x380, 0xFFF1 }, + { OutlineCursorTiles_09, 0x380, 0xFFF1 }, + { OutlineCursorTiles_10, 0x380, 0xFFF1 }, + { OutlineCursorTiles_11, 0x380, 0xFFF1 }, + { OutlineCursorTiles_12, 0x380, 0xFFF1 }, + { OutlineCursorTiles_13, 0x380, 0xFFF1 }, + { OutlineCursorTiles_14, 0x380, 0xFFF1 }, + { OutlineCursorTiles_15, 0x380, 0xFFF1 } +}; + +const struct SpritePalette gUnknown_0842F240 = { + gUnknown_0203A360, 0xfff0 +}; +const struct SpritePalette gUnknown_0842F248 = { + gUnknown_0203A360, 0xfff1 +}; + +const struct SpriteTemplate gSpriteTemplate_842F250[] = { + { + 0xfff0, 0xfff0, &gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }, { + 0xfff0, 0xffff, &gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }, { + 0xfff0, 0xffff, &gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + } +}; +const struct SpriteTemplate gSpriteTemplate_842F298[] = { + { + 0xfff1, 0xfff1, &gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }, { + 0xfff1, 0xffff, &gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + } +}; + + +const struct Subsprite gSubspriteTable_842F2C8[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F2D8[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 9, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F2F0[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 9, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 17, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F310[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 25, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F328[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F340[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 9, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 41, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F360[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 17, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 49, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F380[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 25, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 57, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F3A0[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 65, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F3C0[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 9, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 41, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 73, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F3E8[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 49, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 81, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F410[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 57, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 89, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F438[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 65, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 97, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F460[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 9, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 41, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 73, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 105, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F490[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 65, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 81, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 113, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F4C0[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 65, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 89, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 121, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F4F0[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 33, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 65, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 97, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 129, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F520[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 1, 0, 0 }, + { 1, -1, ST_OAM_V_RECTANGLE, 1, 4, 0 }, + { 9, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 41, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 73, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 105, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 137, -1, ST_OAM_V_RECTANGLE, 1, 8, 0 } +}; + +const struct Subsprite gSubspriteTable_842F558[] = { + { -1, -1, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 7, -1, ST_OAM_SQUARE, 2, 12, 0 }, + { 35, -1, ST_OAM_V_RECTANGLE, 0, 8, 0 } +}; + +const struct Subsprite *const gUnknown_0842F5BC[] = { + gSubspriteTable_842F558 +}; + +const struct SubspriteTable gSubspriteTables_842F5C0[] = { + {1, gMenuCursorSubsprites}, + {1, gMenuCursorSubsprites}, + {2, gMenuCursorSubsprites}, + {3, gMenuCursorSubsprites}, + {4, gMenuCursorSubsprites}, + {5, gMenuCursorSubsprites}, + {6, gMenuCursorSubsprites}, + {7, gMenuCursorSubsprites}, + {8, gMenuCursorSubsprites}, + {9, gMenuCursorSubsprites}, + {10, gMenuCursorSubsprites}, + {11, gMenuCursorSubsprites}, + {12, gMenuCursorSubsprites}, + {13, gMenuCursorSubsprites}, + {14, gMenuCursorSubsprites}, + {15, gMenuCursorSubsprites}, + {16, gMenuCursorSubsprites}, + {17, gMenuCursorSubsprites}, + {18, gMenuCursorSubsprites}, + {19, gMenuCursorSubsprites}, + {20, gMenuCursorSubsprites}, + {21, gMenuCursorSubsprites}, + {22, gMenuCursorSubsprites}, + {23, gMenuCursorSubsprites}, + {24, gMenuCursorSubsprites}, + {25, gMenuCursorSubsprites}, + {26, gMenuCursorSubsprites}, + {27, gMenuCursorSubsprites}, + {28, gMenuCursorSubsprites}, + {29, gMenuCursorSubsprites}, + {30, gMenuCursorSubsprites}, + {31, gMenuCursorSubsprites} +}; + +const struct SubspriteTable gSubspriteTables_842F6C0[] = { + {2, gSubspriteTable_842F2C8}, + {2, gSubspriteTable_842F2C8}, + {3, gSubspriteTable_842F2D8}, + {4, gSubspriteTable_842F2F0}, + {3, gSubspriteTable_842F310}, + {3, gSubspriteTable_842F328}, + {4, gSubspriteTable_842F340}, + {4, gSubspriteTable_842F360}, + {4, gSubspriteTable_842F380}, + {4, gSubspriteTable_842F3A0}, + {5, gSubspriteTable_842F3C0}, + {5, gSubspriteTable_842F3E8}, + {5, gSubspriteTable_842F410}, + {5, gSubspriteTable_842F438}, + {6, gSubspriteTable_842F460}, + {6, gSubspriteTable_842F490}, + {6, gSubspriteTable_842F4C0}, + {6, gSubspriteTable_842F4F0}, + {7, gSubspriteTable_842F520} +}; + +const struct SubspriteTable gUnknown_0842F758[] = { + {3, gMenuCursorSubsprites} +}; + +const struct Subsprite gUnknown_0842F760 = { + .y = -1, .shape = ST_OAM_V_RECTANGLE, .size = 1 +}; + +const struct Subsprite gUnknown_0842F768 = { + .y = -1, .shape = ST_OAM_V_RECTANGLE, .size = 1, .tileOffset = 8 +}; + +const struct Subsprite gUnknown_0842F770 = { + .y = -1, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 12 +}; + +const struct Subsprite gUnknown_0842F778 = { + .y = -1, .shape = ST_OAM_V_RECTANGLE, .size = 1, .tileOffset = 4 +}; + +const struct Subsprite gUnknown_0842F780 = { + .y = -1, .shape = ST_OAM_V_RECTANGLE, .size = 1 +}; + +const struct Subsprite gUnknown_0842F788 = { + .y = -1, .shape = ST_OAM_SQUARE, .size = 2, .tileOffset = 12 +}; + +const struct Subsprite gUnknown_0842F790 = { + .y = -1, .shape = ST_OAM_V_RECTANGLE, .size = 1, .tileOffset = 4 +}; + +const struct Subsprite gUnknown_0842F798 = { + .y = -1, .shape = ST_OAM_V_RECTANGLE, .size = 1, .tileOffset = 8 +}; + +#endif //GUARD_DATA_MENU_CURSOR_H diff --git a/src/data/menu_cursor_en.h b/src/data/menu_cursor_en.h new file mode 100644 index 000000000..a926f2629 --- /dev/null +++ b/src/data/menu_cursor_en.h @@ -0,0 +1,363 @@ +#ifndef GUARD_DATA_MENU_CURSOR_H +#define GUARD_DATA_MENU_CURSOR_H + +const u8 OutlineCursorTiles_00[] = INCBIN_U8("graphics/interface/outline_cursor_00.4bpp"); +const u8 OutlineCursorTiles_01[] = INCBIN_U8("graphics/interface/outline_cursor_01.4bpp"); +const u8 OutlineCursorTiles_02[] = INCBIN_U8("graphics/interface/outline_cursor_02.4bpp"); +const u8 OutlineCursorTiles_03[] = INCBIN_U8("graphics/interface/outline_cursor_03.4bpp"); +const u8 OutlineCursorTiles_04[] = INCBIN_U8("graphics/interface/outline_cursor_04.4bpp"); +const u8 OutlineCursorTiles_05[] = INCBIN_U8("graphics/interface/outline_cursor_05.4bpp"); +const u8 OutlineCursorTiles_06[] = INCBIN_U8("graphics/interface/outline_cursor_06.4bpp"); +const u8 OutlineCursorTiles_07[] = INCBIN_U8("graphics/interface/outline_cursor_07.4bpp"); +const u8 OutlineCursorTiles_08[] = INCBIN_U8("graphics/interface/outline_cursor_08.4bpp"); +const u8 OutlineCursorTiles_09[] = INCBIN_U8("graphics/interface/outline_cursor_09.4bpp"); +const u8 OutlineCursorTiles_10[] = INCBIN_U8("graphics/interface/outline_cursor_10.4bpp"); +const u8 OutlineCursorTiles_11[] = INCBIN_U8("graphics/interface/outline_cursor_11.4bpp"); +const u8 OutlineCursorTiles_12[] = INCBIN_U8("graphics/interface/outline_cursor_12.4bpp"); +const u8 OutlineCursorTiles_13[] = INCBIN_U8("graphics/interface/outline_cursor_13.4bpp"); +const u8 OutlineCursorTiles_14[] = INCBIN_U8("graphics/interface/outline_cursor_14.4bpp"); +const u8 OutlineCursorTiles_15[] = INCBIN_U8("graphics/interface/outline_cursor_15.4bpp"); + +const struct OamData gOamData_842F11C = { + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_V_RECTANGLE +}; +const struct OamData gOamData_842F124 = { + .objMode = ST_OAM_OBJ_WINDOW, + .shape = ST_OAM_V_RECTANGLE +}; +const struct OamData gOamData_842F12C = { + .objMode = ST_OAM_OBJ_NORMAL, + .shape = ST_OAM_V_RECTANGLE +}; + +const union AnimCmd gSpriteAnim_842F134[] = { + ANIMCMD_FRAME(0, 63), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_842F13C[] = { + gSpriteAnim_842F134 +}; + +const struct SpriteSheet gUnknown_0842F140[] = { + { OutlineCursorTiles_00, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_01, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_02, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_03, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_04, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_05, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_06, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_07, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_08, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_09, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_10, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_11, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_12, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_13, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_14, 0x1C0, 0xFFF0 }, + { OutlineCursorTiles_15, 0x1C0, 0xFFF0 } +}; + +const struct SpriteSheet gUnknown_0842F1C0[] = { + { OutlineCursorTiles_00, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_01, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_02, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_03, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_04, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_05, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_06, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_07, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_08, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_09, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_10, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_11, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_12, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_13, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_14, 0x1C0, 0xFFF1 }, + { OutlineCursorTiles_15, 0x1C0, 0xFFF1 } +}; + +const struct SpritePalette gUnknown_0842F240 = { + gUnknown_0203A360, 0xfff0 +}; +const struct SpritePalette gUnknown_0842F248 = { + gUnknown_0203A360, 0xfff1 +}; + +const struct SpriteTemplate gSpriteTemplate_842F250[] = { + { + 0xfff0, 0xfff0, &gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }, { + 0xfff0, 0xffff, &gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }, { + 0xfff0, 0xffff, &gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + } +}; +const struct SpriteTemplate gSpriteTemplate_842F298[] = { + { + 0xfff1, 0xfff1, &gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + }, { + 0xfff1, 0xffff, &gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + } +}; + + +const struct Subsprite gSubspriteTable_842F2C8[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F2D8[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 9, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F2F0[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 9, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 17, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F310[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 25, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F328[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F340[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 41, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F360[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 17, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 49, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F380[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 25, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 57, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F3A0[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 65, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F3C0[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 41, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 73, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F3E8[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 49, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 81, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F410[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 57, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 89, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F438[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 97, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F460[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 41, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 73, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 105, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F490[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 81, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 113, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F4C0[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 89, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 121, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F4F0[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 33, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 65, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 97, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 129, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F520[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 1, 0, ST_OAM_V_RECTANGLE, 0, 2, 0 }, + { 9, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 41, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 73, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 105, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 137, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite gSubspriteTable_842F558[] = { + { -1, 0, ST_OAM_V_RECTANGLE, 0, 0, 0 }, + { 7, 0, ST_OAM_H_RECTANGLE, 2, 6, 0 }, + { 35, 0, ST_OAM_V_RECTANGLE, 0, 4, 0 } +}; + +const struct Subsprite *const gUnknown_0842F570[] = { + gSubspriteTable_842F2C8, + gSubspriteTable_842F2C8, + gSubspriteTable_842F2D8, + gSubspriteTable_842F2F0, + gSubspriteTable_842F310, + gSubspriteTable_842F328, + gSubspriteTable_842F340, + gSubspriteTable_842F360, + gSubspriteTable_842F380, + gSubspriteTable_842F3A0, + gSubspriteTable_842F3C0, + gSubspriteTable_842F3E8, + gSubspriteTable_842F410, + gSubspriteTable_842F438, + gSubspriteTable_842F460, + gSubspriteTable_842F490, + gSubspriteTable_842F4C0, + gSubspriteTable_842F4F0, + gSubspriteTable_842F520 +}; + +const struct Subsprite *const gUnknown_0842F5BC[] = { + gSubspriteTable_842F558 +}; + +const struct SubspriteTable gSubspriteTables_842F5C0[] = { + {1, gMenuCursorSubsprites}, + {1, gMenuCursorSubsprites}, + {2, gMenuCursorSubsprites}, + {3, gMenuCursorSubsprites}, + {4, gMenuCursorSubsprites}, + {5, gMenuCursorSubsprites}, + {6, gMenuCursorSubsprites}, + {7, gMenuCursorSubsprites}, + {8, gMenuCursorSubsprites}, + {9, gMenuCursorSubsprites}, + {10, gMenuCursorSubsprites}, + {11, gMenuCursorSubsprites}, + {12, gMenuCursorSubsprites}, + {13, gMenuCursorSubsprites}, + {14, gMenuCursorSubsprites}, + {15, gMenuCursorSubsprites}, + {1, gMenuCursorSubsprites}, + {17, gMenuCursorSubsprites}, + {18, gMenuCursorSubsprites}, + {19, gMenuCursorSubsprites}, + {20, gMenuCursorSubsprites}, + {21, gMenuCursorSubsprites}, + {22, gMenuCursorSubsprites}, + {23, gMenuCursorSubsprites}, + {24, gMenuCursorSubsprites}, + {25, gMenuCursorSubsprites}, + {26, gMenuCursorSubsprites}, + {27, gMenuCursorSubsprites}, + {28, gMenuCursorSubsprites}, + {29, gMenuCursorSubsprites}, + {30, gMenuCursorSubsprites}, + {31, gMenuCursorSubsprites} +}; + +const struct SubspriteTable gSubspriteTables_842F6C0[] = { + {2, gSubspriteTable_842F2C8}, + {2, gSubspriteTable_842F2C8}, + {3, gSubspriteTable_842F2D8}, + {4, gSubspriteTable_842F2F0}, + {3, gSubspriteTable_842F310}, + {3, gSubspriteTable_842F328}, + {4, gSubspriteTable_842F340}, + {4, gSubspriteTable_842F360}, + {4, gSubspriteTable_842F380}, + {4, gSubspriteTable_842F3A0}, + {5, gSubspriteTable_842F3C0}, + {5, gSubspriteTable_842F3E8}, + {5, gSubspriteTable_842F410}, + {5, gSubspriteTable_842F438}, + {6, gSubspriteTable_842F460}, + {6, gSubspriteTable_842F490}, + {6, gSubspriteTable_842F4C0}, + {6, gSubspriteTable_842F4F0}, + {7, gSubspriteTable_842F520} +}; + +const struct SubspriteTable gUnknown_0842F758[] = { + {3, gMenuCursorSubsprites} +}; + +const struct Subsprite gUnknown_0842F760 = { + .shape = ST_OAM_V_RECTANGLE +}; + +const struct Subsprite gUnknown_0842F768 = { + .shape = ST_OAM_V_RECTANGLE, .tileOffset = 4 +}; + +const struct Subsprite gUnknown_0842F770 = { + .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 6 +}; + +const struct Subsprite gUnknown_0842F778 = { + .shape = ST_OAM_V_RECTANGLE, .tileOffset = 2 +}; + +const struct Subsprite gUnknown_0842F780 = { + .shape = ST_OAM_H_RECTANGLE, .size = 2, .tileOffset = 6 +}; + +const struct Subsprite gUnknown_0842F788 = { + .shape = ST_OAM_V_RECTANGLE, .tileOffset = 2 +}; + +const struct Subsprite gUnknown_0842F790 = { + .shape = ST_OAM_V_RECTANGLE, .tileOffset = 4 +}; + +#endif //GUARD_DATA_MENU_CURSOR_H diff --git a/src/debug/unknown_debug_menu.c b/src/debug/unknown_debug_menu.c index 429f43766..a8c3ad16b 100644 --- a/src/debug/unknown_debug_menu.c +++ b/src/debug/unknown_debug_menu.c @@ -6,10 +6,30 @@ extern u8 gBattleCommunication[]; extern u8 (*gCallback_03004AE8)(void); -extern const struct MenuAction gUnknown_0842C29C[]; - +static u8 sub_814A4B8(void); static u8 sub_814A464(void); +const u8 UnknownString_1stRound[] = _("1st round"); +const u8 UnknownString_2ndRound[] = _("2nd round"); +const u8 UnknownString_3rdRound[] = _("3rd round"); +const u8 UnknownString_4thRound[] = _("4th round"); +const u8 UnknownString_5thRound[] = _("5th round"); +const u8 UnknownString_6thRound[] = _("6th round"); +const u8 UnknownString_7thRound[] = _("7th round"); +const u8 UnknownString_8thRound[] = _("8th round"); + + +const struct MenuAction gUnknown_0842C29C[] = { + {UnknownString_1stRound, sub_814A4B8}, + {UnknownString_2ndRound, sub_814A4B8}, + {UnknownString_3rdRound, sub_814A4B8}, + {UnknownString_4thRound, sub_814A4B8}, + {UnknownString_5thRound, sub_814A4B8}, + {UnknownString_6thRound, sub_814A4B8}, + {UnknownString_7thRound, sub_814A4B8}, + {UnknownString_8thRound, sub_814A4B8} +}; + int unref_sub_814A414(void) { MenuZeroFillScreen(); @@ -40,7 +60,7 @@ static u8 sub_814A464(void) } } -u8 sub_814A4B8(void) +static u8 sub_814A4B8(void) { gSaveBlock2.battleTower.var_4AE[0] = 3; gSaveBlock2.battleTower.var_4AE[1] = 3; diff --git a/src/engine/menu_cursor.c b/src/engine/menu_cursor.c index d43be2a2f..960d3cc87 100644 --- a/src/engine/menu_cursor.c +++ b/src/engine/menu_cursor.c @@ -3,25 +3,7 @@ #include "palette.h" #include "sprite.h" -extern const struct SpriteSheet gUnknown_0842F140[]; -extern const struct SpriteSheet gUnknown_0842F1C0[]; -extern const struct SpritePalette gUnknown_0842F240; -extern const struct SpritePalette gUnknown_0842F248; -extern const struct SpriteTemplate gSpriteTemplate_842F250[]; -extern const struct SpriteTemplate gSpriteTemplate_842F298[]; - -extern struct Subsprite *const gUnknown_0842F5BC[]; - -extern const struct SubspriteTable gSubspriteTables_842F5C0[]; -extern const struct SubspriteTable gSubspriteTables_842F6C0[]; -extern const struct SubspriteTable gUnknown_0842F758[]; - -extern const struct Subsprite gUnknown_0842F780; -extern const struct Subsprite gUnknown_0842F788; -extern const struct Subsprite gUnknown_0842F790; - -extern u16 gUnknown_0203A360[]; - +EWRAM_DATA u16 gUnknown_0203A360[0x10] = {}; EWRAM_DATA struct Subsprite gMenuCursorSubsprites[10] = {0}; EWRAM_DATA u8 gUnknown_0203A3D0 = 0; EWRAM_DATA u8 gUnknown_0203A3D1 = 0; @@ -29,6 +11,12 @@ EWRAM_DATA u8 gUnknown_0203A3D2 = 0; EWRAM_DATA u8 gUnknown_0203A3D3 = 0; EWRAM_DATA u8 gUnknown_0203A3D4 = 0; +#if ENGLISH +#include "../src/data/menu_cursor_en.h" +#elif GERMAN +#include "../src/data/menu_cursor_de.h" +#endif // ENGLISH/GERMAN + void sub_814A590(void) { gUnknown_0203A3D0 = 0x40; diff --git a/src/engine/mystery_event_msg.c b/src/engine/mystery_event_msg.c new file mode 100644 index 000000000..03ef22727 --- /dev/null +++ b/src/engine/mystery_event_msg.c @@ -0,0 +1,51 @@ +#include "global.h" + +#if ENGLISH + +const u8 gOtherText_BerryObtainedDadHasIt[] = _("Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM."); + +const u8 gOtherText_BerryTransformed[] = _("The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY."); + +const u8 gOtherText_BerryAlreadyObtained[] = _("The {STR_VAR_1} BERRY has already been\nobtained."); + +const u8 gOtherText_SpecialRibbonReceived[] = _("A special RIBBON was awarded to your\nparty POKéMON."); + +const u8 gOtherText_DexUpgraded[] = _("The POKéDEX has been upgraded with\nthe NATIONAL MODE."); + +const u8 gOtherText_RareWordAdded[] = _("A rare word has been added."); + +const u8 gOtherText_PokeWasSentOver[] = _("{STR_VAR_1} was sent over!"); + +const u8 gOtherText_PartyIsFull[] = _("Your party is full.\n{STR_VAR_1} could not be sent over."); + +const u8 gOtherText_NewTrainerInHoenn[] = _("A new TRAINER has arrived in HOENN."); + +const u8 gOtherText_NewAdversaryInBattleTower[] = _("A new adversary has arrived in the\nBATTLE TOWER."); + +const u8 gOtherText_DataCannotUseVersion[] = _("This data cannot be used in\nthis version."); + +#elif GERMAN + +const u8 gOtherText_BerryObtainedDadHasIt[] = _("Eine {STR_VAR_2}BEERE! Vater in der \nARENA von BLÜTENBURG CITY besitzt\lauch eine."); + +const u8 gOtherText_BerryTransformed[] = _("Die {STR_VAR_1}BEERE verwandelte\nsich in eine {STR_VAR_2}BEERE!"); + +const u8 gOtherText_BerryAlreadyObtained[] = _("Du hast schon eine {STR_VAR_1}BEERE."); + +const u8 gOtherText_SpecialRibbonReceived[] = _("Ein besonderes BAND wurde deinem\nPOKéMON im Team verliehen."); + +const u8 gOtherText_DexUpgraded[] = _("Der POKéDEX wurde mit dem NATIONALEN\nMODUS ausgerüstet."); + +const u8 gOtherText_RareWordAdded[] = _("Ein seltenes Wort wurde hinzugefügt."); + +const u8 gOtherText_PokeWasSentOver[] = _("{STR_VAR_1} wurde gesendet!"); + +const u8 gOtherText_PartyIsFull[] = _("Dein Team ist bereits vollständig.\n{STR_VAR_1} kann nicht gesendet\lwerden."); + +const u8 gOtherText_NewTrainerInHoenn[] = _("Ein neuer TRAINER ist in HOENN\nangekommen."); + +const u8 gOtherText_NewAdversaryInBattleTower[] = _("Ein neuer Widersacher ist im DUELLTURM\neingetroffen."); + +const u8 gOtherText_DataCannotUseVersion[] = _("Die Daten können in dieser Edition\nnicht eingesetzt werden."); + +#endif // ENGLISH/GERMAN diff --git a/src/engine/mystery_event_script.c b/src/engine/mystery_event_script.c index 2fc62d4f8..6fcad66ac 100644 --- a/src/engine/mystery_event_script.c +++ b/src/engine/mystery_event_script.c @@ -14,6 +14,7 @@ #include "string_util.h" #include "text.h" #include "util.h" +#include "mystery_event_msg.h" #if ENGLISH #define LANGUAGE_MASK 0x2 @@ -32,17 +33,6 @@ extern void party_compaction(void); extern ScrCmdFunc gMysteryEventScriptCmdTable[]; extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[]; -extern const u8 gOtherText_BerryObtainedDadHasIt[]; -extern const u8 gOtherText_BerryTransformed[]; -extern const u8 gOtherText_BerryAlreadyObtained[]; -extern const u8 gOtherText_SpecialRibbonReceived[]; -extern const u8 gOtherText_DexUpgraded[]; -extern const u8 gOtherText_RareWordAdded[]; -extern const u8 gOtherText_PokeWasSentOver[]; -extern const u8 gOtherText_PartyIsFull[]; -extern const u8 gOtherText_NewTrainerInHoenn[]; -extern const u8 gOtherText_DataCannotUseVersion[]; - static EWRAM_DATA struct ScriptContext sMysteryEventScriptContext = {0}; static bool32 CheckCompatibility(u16 a1, u32 a2, u16 a3, u32 a4) diff --git a/src/engine/naming_screen.c b/src/engine/naming_screen.c index 4d2545440..440504d5a 100644 --- a/src/engine/naming_screen.c +++ b/src/engine/naming_screen.c @@ -1,6 +1,7 @@ #include "global.h" #include "naming_screen.h" #include "data2.h" +#include "graphics.h" #include "field_effect.h" #include "field_map_obj.h" #include "field_player_avatar.h" @@ -29,16 +30,11 @@ extern u16 gKeyRepeatStartDelay; extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); -const u32 gSpriteImage_83CE094[] = INCBIN_U32("graphics/naming_screen/pc_icon/0.4bpp"); -const u32 gSpriteImage_83CE154[] = INCBIN_U32("graphics/naming_screen/pc_icon/1.4bpp"); +const u8 gSpriteImage_83CE094[] = INCBIN_U8("graphics/naming_screen/pc_icon/0.4bpp"); +const u8 gSpriteImage_83CE154[] = INCBIN_U8("graphics/naming_screen/pc_icon/1.4bpp"); -//Some unused pointer, perhaps. -asm(".section .rodata\n\ -@ XXX: what is this?\n\ - .align 2\n\ - .4byte 0x2000000\n"); +struct NamingScreenData *const namingScreenDataPtr = &namingScreenData; -extern u16 *const gUnknown_083CE28C[]; extern const struct SubspriteTable gSubspriteTables_83CE558[]; extern const struct SubspriteTable gSubspriteTables_83CE560[]; extern const struct SubspriteTable gSubspriteTables_83CE578[]; @@ -55,7 +51,6 @@ extern const struct SpriteTemplate gSpriteTemplate_83CE688; extern const struct SpriteSheet gUnknown_083CE6A0[]; extern const struct SpritePalette gUnknown_083CE708[]; extern const u8 gNamingScreenMenu_Gfx[]; -extern const u16 gNamingScreenPalettes[]; extern const u16 gUnknown_083CE748[]; extern const u16 gUnknown_083CEBF8[]; extern const u16 gUnknown_083CF0A8[]; @@ -198,12 +193,12 @@ static void VBlankCB_NamingScreen(void) LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); - REG_BG1VOFS = namingScreenData.bg1vOffset; - REG_BG2VOFS = namingScreenData.bg2vOffset; + REG_BG1VOFS = namingScreenDataPtr->bg1vOffset; + REG_BG2VOFS = namingScreenDataPtr->bg2vOffset; REG_BG1CNT &= 0xFFFC; - REG_BG1CNT |= namingScreenData.unk8; + REG_BG1CNT |= namingScreenDataPtr->unk8; REG_BG2CNT &= 0xFFFC; - REG_BG2CNT |= namingScreenData.unkA; + REG_BG2CNT |= namingScreenDataPtr->unkA; } static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 c, u16 d, u32 e, MainCallback returnCallback) @@ -228,12 +223,12 @@ static void GetNamingScreenParameters(void) taskId = FindTaskIdByFunc(Task_DoNothing); task = &gTasks[taskId]; - namingScreenData.templateNum = task->data[0]; - namingScreenData.unk3E = task->data[1]; - namingScreenData.unk40 = task->data[2]; - namingScreenData.unk42 = (task->data[3] << 16) | (u16)task->data[4]; - LoadWordFromTwoHalfwords(&task->data[5], (u32 *)&namingScreenData.destBuffer); - LoadWordFromTwoHalfwords(&task->data[7], (u32 *)&namingScreenData.returnCallback); + namingScreenDataPtr->templateNum = task->data[0]; + namingScreenDataPtr->unk3E = task->data[1]; + namingScreenDataPtr->unk40 = task->data[2]; + namingScreenDataPtr->unk42 = (task->data[3] << 16) | (u16)task->data[4]; + LoadWordFromTwoHalfwords(&task->data[5], (u32 *)&namingScreenDataPtr->destBuffer); + LoadWordFromTwoHalfwords(&task->data[7], (u32 *)&namingScreenDataPtr->returnCallback); DestroyTask(taskId); } @@ -311,20 +306,20 @@ static const struct NamingScreenTemplate *const sNamingScreenTemplates[]; //for static void NamingScreen_Init(void) { GetNamingScreenParameters(); - namingScreenData.state = 0; - namingScreenData.bg1vOffset = 0; - namingScreenData.bg2vOffset = 0; - namingScreenData.unk8 = 1; - namingScreenData.unkA = 2; - namingScreenData.unkC = 0; - namingScreenData.unkD = 1; - namingScreenData.template = sNamingScreenTemplates[namingScreenData.templateNum]; - namingScreenData.currentPage = namingScreenData.template->unk4; - namingScreenData.unk2 = 14 - namingScreenData.template->maxChars / 2; - namingScreenData.unk3C = gKeyRepeatStartDelay; - memset(namingScreenData.textBuffer, 0xFF, sizeof(namingScreenData.textBuffer)); - if (namingScreenData.template->unk0 != 0) - StringCopy(namingScreenData.textBuffer, namingScreenData.destBuffer); + namingScreenDataPtr->state = 0; + namingScreenDataPtr->bg1vOffset = 0; + namingScreenDataPtr->bg2vOffset = 0; + namingScreenDataPtr->unk8 = 1; + namingScreenDataPtr->unkA = 2; + namingScreenDataPtr->unkC = 0; + namingScreenDataPtr->unkD = 1; + namingScreenDataPtr->template = sNamingScreenTemplates[namingScreenDataPtr->templateNum]; + namingScreenDataPtr->currentPage = namingScreenDataPtr->template->unk4; + namingScreenDataPtr->unk2 = 14 - namingScreenDataPtr->template->maxChars / 2; + namingScreenDataPtr->unk3C = gKeyRepeatStartDelay; + memset(namingScreenDataPtr->textBuffer, 0xFF, sizeof(namingScreenDataPtr->textBuffer)); + if (namingScreenDataPtr->template->unk0 != 0) + StringCopy(namingScreenDataPtr->textBuffer, namingScreenDataPtr->destBuffer); gKeyRepeatStartDelay = 16; } @@ -408,14 +403,14 @@ static void sub_80B5E50(void) static void Task_NamingScreenMain(u8 taskId) { - while (sMainStateFuncs[namingScreenData.state](&gTasks[taskId]) != 0) + while (sMainStateFuncs[namingScreenDataPtr->state](&gTasks[taskId]) != 0) ; } static bool8 MainState_BeginFadeIn(struct Task *task) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); - namingScreenData.state++; + namingScreenDataPtr->state++; return 0; } @@ -425,7 +420,7 @@ static bool8 MainState_WaitFadeIn(struct Task *task) { SetInputState(INPUT_STATE_ENABLED); sub_80B68D8(1); - namingScreenData.state++; + namingScreenDataPtr->state++; } return FALSE; } @@ -441,7 +436,7 @@ static bool8 MainState_MoveToOKButton(struct Task *task) { SetInputState(INPUT_STATE_ENABLED); MoveCursorToOKButton(); - namingScreenData.state = MAIN_STATE_HANDLE_INPUT; + namingScreenDataPtr->state = MAIN_STATE_HANDLE_INPUT; } return FALSE; } @@ -454,7 +449,7 @@ static bool8 MainState_StartPageSwap(struct Task *task) sub_80B6888(1); sub_80B6460(0, 0, 1); PlaySE(SE_WIN_OPEN); - namingScreenData.state = MAIN_STATE_WAIT_PAGE_SWAP; + namingScreenDataPtr->state = MAIN_STATE_WAIT_PAGE_SWAP; return FALSE; } @@ -465,18 +460,18 @@ static bool8 MainState_WaitPageSwap(struct Task *task) if (IsPageSwapAnimNotInProgress()) { - namingScreenData.state = MAIN_STATE_HANDLE_INPUT; - namingScreenData.currentPage++; - namingScreenData.currentPage %= 3; + namingScreenDataPtr->state = MAIN_STATE_HANDLE_INPUT; + namingScreenDataPtr->currentPage++; + namingScreenDataPtr->currentPage %= 3; sub_80B7614(); sub_80B77F8(); SetInputState(INPUT_STATE_ENABLED); GetCursorPos(&cursorX, &cursorY); #if ENGLISH - if (namingScreenData.currentPage == PAGE_OTHERS && (cursorX == 6 || cursorX == 7)) + if (namingScreenDataPtr->currentPage == PAGE_OTHERS && (cursorX == 6 || cursorX == 7)) cursorX = 5; #elif GERMAN - if (namingScreenData.currentPage == PAGE_OTHERS && (cursorX == 7 || cursorX == 8)) + if (namingScreenDataPtr->currentPage == PAGE_OTHERS && (cursorX == 7 || cursorX == 8)) cursorX = 6; #endif SetCursorPos(cursorX, cursorY); @@ -491,17 +486,17 @@ static bool8 MainState_6(struct Task *task) SetInputState(INPUT_STATE_DISABLED); sub_80B68D8(0); sub_80B6460(3, 0, 1); - gKeyRepeatStartDelay = namingScreenData.unk3C; - if (namingScreenData.templateNum == NAMING_SCREEN_TEMPLATE_MON_NAME + gKeyRepeatStartDelay = namingScreenDataPtr->unk3C; + if (namingScreenDataPtr->templateNum == NAMING_SCREEN_TEMPLATE_MON_NAME && CalculatePlayerPartyCount() >= 6) { DisplaySentToPCMessage(); - namingScreenData.state = MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE; + namingScreenDataPtr->state = MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE; return FALSE; } else { - namingScreenData.state = MAIN_STATE_BEGIN_FADE_OUT; + namingScreenDataPtr->state = MAIN_STATE_BEGIN_FADE_OUT; return TRUE; //Exit the naming screen } } @@ -509,21 +504,21 @@ static bool8 MainState_6(struct Task *task) static bool8 MainState_UpdateSentToPCMessage(struct Task *task) { if (MenuUpdateWindowText()) - namingScreenData.state++; + namingScreenDataPtr->state++; return FALSE; } static bool8 MainState_BeginFadeInOut(struct Task *task) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0); - namingScreenData.state++; + namingScreenDataPtr->state++; return FALSE; } static bool8 MainState_WaitFadeOutAndExit(struct Task *task) { if (!gPaletteFade.active) - SetMainCallback2(namingScreenData.returnCallback); + SetMainCallback2(namingScreenDataPtr->returnCallback); return FALSE; } @@ -584,7 +579,7 @@ static bool8 KeyboardKeyHandler_Character(u8 event) if (var) { SetInputState(INPUT_STATE_DISABLED); - namingScreenData.state = MAIN_STATE_MOVE_TO_OK_BUTTON; + namingScreenDataPtr->state = MAIN_STATE_MOVE_TO_OK_BUTTON; } } return FALSE; @@ -613,7 +608,7 @@ static bool8 KeyboardKeyHandler_OK(u8 event) if (event == KBEVENT_PRESSED_A) { PlaySE(SE_SELECT); - namingScreenData.state = MAIN_STATE_6; + namingScreenDataPtr->state = MAIN_STATE_6; return TRUE; } else @@ -622,7 +617,7 @@ static bool8 KeyboardKeyHandler_OK(u8 event) static bool8 sub_80B61C8(void) { - namingScreenData.state = MAIN_STATE_START_PAGE_SWAP; + namingScreenDataPtr->state = MAIN_STATE_START_PAGE_SWAP; return TRUE; } @@ -764,9 +759,9 @@ static void HandleDpadMovement(struct Task *task) { //The "others" page only has 5 columns #if ENGLISH - if (namingScreenData.currentPage == PAGE_OTHERS && (cursorX == 6 || cursorX == 7)) + if (namingScreenDataPtr->currentPage == PAGE_OTHERS && (cursorX == 6 || cursorX == 7)) #elif GERMAN - if (namingScreenData.currentPage == PAGE_OTHERS && (cursorX == 6 || cursorX == 7 || cursorX == 8)) + if (namingScreenDataPtr->currentPage == PAGE_OTHERS && (cursorX == 6 || cursorX == 7 || cursorX == 8)) #endif { if (sDpadDeltaX[dpadDir] > 0) @@ -948,8 +943,8 @@ static void Task_HandlePageSwapAnim(u8 taskId) static bool8 PageSwapAnimState_Init(struct Task *task) { - namingScreenData.bg1vOffset = 0; - namingScreenData.bg2vOffset = 0; + namingScreenDataPtr->bg1vOffset = 0; + namingScreenDataPtr->bg2vOffset = 0; task->tState++; return 0; } @@ -958,19 +953,19 @@ static bool8 PageSwapAnimState_1(struct Task *task) { u16 *const arr[] = { - &namingScreenData.bg2vOffset, - &namingScreenData.bg1vOffset + &namingScreenDataPtr->bg2vOffset, + &namingScreenDataPtr->bg1vOffset }; task->tFrameCount += 4; - *arr[namingScreenData.unkC] = Sin(task->tFrameCount, 40); - *arr[namingScreenData.unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); + *arr[namingScreenDataPtr->unkC] = Sin(task->tFrameCount, 40); + *arr[namingScreenDataPtr->unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); if (task->tFrameCount >= 64) { - u8 temp = namingScreenData.unk8; //Why u8 and not u16? + u8 temp = namingScreenDataPtr->unk8; //Why u8 and not u16? - namingScreenData.unk8 = namingScreenData.unkA; - namingScreenData.unkA = temp; + namingScreenDataPtr->unk8 = namingScreenDataPtr->unkA; + namingScreenDataPtr->unkA = temp; task->tState++; } return 0; @@ -978,17 +973,17 @@ static bool8 PageSwapAnimState_1(struct Task *task) static bool8 PageSwapAnimState_2(struct Task *task) { - u16 *const arr[] = {&namingScreenData.bg2vOffset, &namingScreenData.bg1vOffset}; + u16 *const arr[] = {&namingScreenDataPtr->bg2vOffset, &namingScreenDataPtr->bg1vOffset}; task->tFrameCount += 4; - *arr[namingScreenData.unkC] = Sin(task->tFrameCount, 40); - *arr[namingScreenData.unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); + *arr[namingScreenDataPtr->unkC] = Sin(task->tFrameCount, 40); + *arr[namingScreenDataPtr->unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); if (task->tFrameCount >= 128) { - u8 temp = namingScreenData.unkC; + u8 temp = namingScreenDataPtr->unkC; - namingScreenData.unkC = namingScreenData.unkD; - namingScreenData.unkD = temp; + namingScreenDataPtr->unkC = namingScreenDataPtr->unkD; + namingScreenDataPtr->unkD = temp; task->tState++; } return 0; @@ -1009,11 +1004,11 @@ static bool8 PageSwapAnimState_Done(struct Task *task) static void CursorInit(void) { - namingScreenData.cursorSpriteId = CreateSprite(&gSpriteTemplate_83CE640, 0, 0, 0); - gSprites[namingScreenData.cursorSpriteId].oam.priority = 1; - gSprites[namingScreenData.cursorSpriteId].oam.objMode = 1; - gSprites[namingScreenData.cursorSpriteId].data[6] = 1; - gSprites[namingScreenData.cursorSpriteId].data[6] = 2; + namingScreenDataPtr->cursorSpriteId = CreateSprite(&gSpriteTemplate_83CE640, 0, 0, 0); + gSprites[namingScreenDataPtr->cursorSpriteId].oam.priority = 1; + gSprites[namingScreenDataPtr->cursorSpriteId].oam.objMode = 1; + gSprites[namingScreenDataPtr->cursorSpriteId].data[6] = 1; + gSprites[namingScreenDataPtr->cursorSpriteId].data[6] = 2; SetCursorPos(0, 0); } @@ -1031,12 +1026,12 @@ static const u8 sKeyboardSymbolPositions[][COLUMN_COUNT] = { static u8 CursorColToKeyboardCol(s16 x) { - return sKeyboardSymbolPositions[namingScreenData.currentPage][x]; + return sKeyboardSymbolPositions[namingScreenDataPtr->currentPage][x]; } static void SetCursorPos(s16 x, s16 y) { - struct Sprite *cursorSprite = &gSprites[namingScreenData.cursorSpriteId]; + struct Sprite *cursorSprite = &gSprites[namingScreenDataPtr->cursorSpriteId]; cursorSprite->pos1.x = CursorColToKeyboardCol(x) * 8 + 27; cursorSprite->pos1.y = y * 16 + 80; @@ -1048,7 +1043,7 @@ static void SetCursorPos(s16 x, s16 y) static void GetCursorPos(s16 *x, s16 *y) { - struct Sprite *cursorSprite = &gSprites[namingScreenData.cursorSpriteId]; + struct Sprite *cursorSprite = &gSprites[namingScreenDataPtr->cursorSpriteId]; *x = cursorSprite->data[0]; *y = cursorSprite->data[1]; @@ -1061,25 +1056,25 @@ static void MoveCursorToOKButton(void) static void sub_80B6888(u8 a) { - gSprites[namingScreenData.cursorSpriteId].data[4] &= -256; - gSprites[namingScreenData.cursorSpriteId].data[4] |= a; - StartSpriteAnim(&gSprites[namingScreenData.cursorSpriteId], 0); + gSprites[namingScreenDataPtr->cursorSpriteId].data[4] &= -256; + gSprites[namingScreenDataPtr->cursorSpriteId].data[4] |= a; + StartSpriteAnim(&gSprites[namingScreenDataPtr->cursorSpriteId], 0); } static void sub_80B68D8(u8 a) { - gSprites[namingScreenData.cursorSpriteId].data[4] &= 0xFF; - gSprites[namingScreenData.cursorSpriteId].data[4] |= a << 8; + gSprites[namingScreenDataPtr->cursorSpriteId].data[4] &= 0xFF; + gSprites[namingScreenDataPtr->cursorSpriteId].data[4] |= a << 8; } static void sub_80B6914(void) { - StartSpriteAnim(&gSprites[namingScreenData.cursorSpriteId], 1); + StartSpriteAnim(&gSprites[namingScreenDataPtr->cursorSpriteId], 1); } static bool8 IsCursorAnimFinished(void) { - return gSprites[namingScreenData.cursorSpriteId].animEnded; + return gSprites[namingScreenDataPtr->cursorSpriteId].animEnded; } static u8 GetKeyRoleAtCursorPos(void) @@ -1134,7 +1129,7 @@ static void sub_80B6A80(void) u8 spriteId3; spriteId1 = CreateSprite(&gSpriteTemplate_83CE5C8, 0xCC, 0x50, 0); - namingScreenData.unk10 = spriteId1; + namingScreenDataPtr->unk10 = spriteId1; SetSubspriteTables(&gSprites[spriteId1], gSubspriteTables_83CE558); spriteId2 = CreateSprite(&gSpriteTemplate_83CE5F8, 0xCC, 0x4C, 1); @@ -1148,10 +1143,10 @@ static void sub_80B6A80(void) static void sub_80B6B14(void) { - struct Sprite *sprite = &gSprites[namingScreenData.unk10]; + struct Sprite *sprite = &gSprites[namingScreenDataPtr->unk10]; sprite->data[0] = 2; - sprite->data[1] = namingScreenData.currentPage; + sprite->data[1] = namingScreenDataPtr->currentPage; } static u8 sub_80B6B5C(struct Sprite *); @@ -1178,7 +1173,7 @@ static u8 sub_80B6B5C(struct Sprite *sprite) struct Sprite *sprite1 = &gSprites[sprite->data[6]]; struct Sprite *sprite2 = &gSprites[sprite->data[7]]; - sub_80B6C48(namingScreenData.currentPage, sprite1, sprite2); + sub_80B6C48(namingScreenDataPtr->currentPage, sprite1, sprite2); sprite->data[0]++; return 0; } @@ -1247,11 +1242,11 @@ static void sub_80B6D04(void) s16 r1; u8 i; - r1 = (namingScreenData.unk2 - 1) * 8 + 4; + r1 = (namingScreenDataPtr->unk2 - 1) * 8 + 4; spriteId = CreateSprite(&gSpriteTemplate_83CE658, r1, 0x28, 0); gSprites[spriteId].oam.priority = 3; - r1 = namingScreenData.unk2 * 8 + 4; - for (i = 0; i < namingScreenData.template->maxChars; i++, r1 += 8) + r1 = namingScreenDataPtr->unk2 * 8 + 4; + for (i = 0; i < namingScreenDataPtr->template->maxChars; i++, r1 += 8) { spriteId = CreateSprite(&gSpriteTemplate_83CE670, r1, 0x2C, 0); gSprites[spriteId].oam.priority = 3; @@ -1312,7 +1307,7 @@ static void (*const gUnknown_083CE2E0[])(void) = static void sub_80B6E44(void) { - gUnknown_083CE2E0[namingScreenData.template->unk2](); + gUnknown_083CE2E0[namingScreenDataPtr->template->unk2](); } static void nullsub_40(void) @@ -1324,7 +1319,7 @@ static void sub_80B6E68(void) u8 rivalGfxId; u8 spriteId; - rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, namingScreenData.unk3E); + rivalGfxId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, namingScreenDataPtr->unk3E); spriteId = AddPseudoFieldObject(rivalGfxId, SpriteCallbackDummy, 0x38, 0x18, 0); gSprites[spriteId].oam.priority = 3; StartSpriteAnim(&gSprites[spriteId], 4); @@ -1344,7 +1339,7 @@ static void sub_80B6EFC(void) u8 spriteId; sub_809D51C(); - spriteId = CreateMonIcon(namingScreenData.unk3E, SpriteCallbackDummy, 0x34, 0x18, 0, namingScreenData.unk42); + spriteId = CreateMonIcon(namingScreenDataPtr->unk3E, SpriteCallbackDummy, 0x34, 0x18, 0, namingScreenDataPtr->unk42); gSprites[spriteId].oam.priority = 3; } @@ -1352,21 +1347,21 @@ static u8 GetTextCaretPosition(void) { u8 i; - for (i = 0; i < namingScreenData.template->maxChars; i++) + for (i = 0; i < namingScreenDataPtr->template->maxChars; i++) { - if (namingScreenData.textBuffer[i] == EOS) + if (namingScreenDataPtr->textBuffer[i] == EOS) return i; } - return namingScreenData.template->maxChars - 1; + return namingScreenDataPtr->template->maxChars - 1; } static u8 GetPreviousTextCaretPosition(void) { s8 i; - for (i = namingScreenData.template->maxChars - 1; i > 0; i--) + for (i = namingScreenDataPtr->template->maxChars - 1; i > 0; i--) { - if (namingScreenData.textBuffer[i] != EOS) + if (namingScreenDataPtr->textBuffer[i] != EOS) return i; } return 0; @@ -1378,9 +1373,9 @@ static void DeleteTextCharacter(void) u8 var2; index = GetPreviousTextCaretPosition(); - namingScreenData.textBuffer[index] = 0; + namingScreenDataPtr->textBuffer[index] = 0; sub_80B7960(); - namingScreenData.textBuffer[index] = EOS; + namingScreenDataPtr->textBuffer[index] = EOS; var2 = GetKeyRoleAtCursorPos(); if (var2 == 0 || var2 == 2) sub_80B6460(1, 0, 1); @@ -1408,7 +1403,7 @@ static bool8 sub_80B7004(void) PlaySE(SE_SELECT); if (r4) { - if (GetPreviousTextCaretPosition() == namingScreenData.template->maxChars - 1) + if (GetPreviousTextCaretPosition() == namingScreenDataPtr->template->maxChars - 1) return TRUE; } return FALSE; @@ -1420,7 +1415,7 @@ static void sub_80B7090(void) // DoInput? u8 r4; r5 = GetPreviousTextCaretPosition(); - r4 = namingScreenData.textBuffer[r5]; + r4 = namingScreenDataPtr->textBuffer[r5]; if (sub_80B7198(r4)) { if (sub_80B7264(r4)) @@ -1445,7 +1440,7 @@ static bool8 sub_80B7104(void) u8 r4; r5 = GetPreviousTextCaretPosition(); - r4 = namingScreenData.textBuffer[r5]; + r4 = namingScreenDataPtr->textBuffer[r5]; if (sub_80B720C(r4)) { sub_80B72A4(r4, r5); @@ -1460,7 +1455,7 @@ static bool8 sub_80B713C(void) u8 r4; r5 = GetPreviousTextCaretPosition(); - r4 = namingScreenData.textBuffer[r5]; + r4 = namingScreenDataPtr->textBuffer[r5]; if (sub_80B7264(r4)) { sub_80B7370(r4, r5); @@ -1473,7 +1468,7 @@ static void AddTextCharacter(u8 ch) { u8 index = GetTextCaretPosition(); - namingScreenData.textBuffer[index] = ch; + namingScreenDataPtr->textBuffer[index] = ch; } static bool8 sub_80B7198(u8 a) @@ -1545,7 +1540,7 @@ static void sub_80B72A4(u8 a, u8 b) chr = a + 0x2C; else if (a >= 155 && a <= 159) chr = a + 0xFB; - namingScreenData.textBuffer[b] = chr; + namingScreenDataPtr->textBuffer[b] = chr; } static void sub_80B7370(u8 a, u8 b) @@ -1560,7 +1555,7 @@ static void sub_80B7370(u8 a, u8 b) chr = a + 0x31; else if (a >= 150 && a <= 154) chr = a + 5; - namingScreenData.textBuffer[b] = chr; + namingScreenDataPtr->textBuffer[b] = chr; } static void sub_80B73CC(u8 a, u8 b) @@ -1583,7 +1578,7 @@ static void sub_80B73CC(u8 a, u8 b) chr = a + 0xCF; else if (a >= 150 && a <= 154) chr = a + 0xD4; - namingScreenData.textBuffer[b] = chr; + namingScreenDataPtr->textBuffer[b] = chr; } static void sub_80B7474(u8 a, u8 b) @@ -1594,18 +1589,18 @@ static void sub_80B7474(u8 a, u8 b) chr = a + 0xCF; else if (a >= 155 && a <= 159) chr = a + 0xCF; - namingScreenData.textBuffer[b] = chr; + namingScreenDataPtr->textBuffer[b] = chr; } static void sub_80B74B0(void) { u8 i; - for (i = 0; i < namingScreenData.template->maxChars; i++) + for (i = 0; i < namingScreenDataPtr->template->maxChars; i++) { - if (namingScreenData.textBuffer[i] != 0 && namingScreenData.textBuffer[i] != 0xFF) + if (namingScreenDataPtr->textBuffer[i] != 0 && namingScreenDataPtr->textBuffer[i] != 0xFF) { - StringCopyN(namingScreenData.destBuffer, namingScreenData.textBuffer, namingScreenData.template->maxChars + 1); + StringCopyN(namingScreenDataPtr->destBuffer, namingScreenDataPtr->textBuffer, namingScreenDataPtr->template->maxChars + 1); break; } } @@ -1613,7 +1608,7 @@ static void sub_80B74B0(void) static void DisplaySentToPCMessage(void) { - StringCopy(gStringVar1, namingScreenData.destBuffer); + StringCopy(gStringVar1, namingScreenDataPtr->destBuffer); StringExpandPlaceholders(gStringVar4, gOtherText_SentToPC); BasicInitMenuWindow(&gWindowConfig_81E6E88); MenuDisplayMessageBox(); @@ -1670,8 +1665,8 @@ static void sub_80B75C4(void) (u16 *)(VRAM + 0xE800), }; - gUnknown_083CE2F0[namingScreenData.currentPage][0](arr[namingScreenData.unkC]); - gUnknown_083CE2F0[namingScreenData.currentPage][1](arr[namingScreenData.unkD]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][0](arr[namingScreenDataPtr->unkC]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->unkD]); } static void sub_80B7614(void) @@ -1682,7 +1677,7 @@ static void sub_80B7614(void) (u16 *)(VRAM + 0xE800), }; - gUnknown_083CE2F0[namingScreenData.currentPage][1](arr[namingScreenData.unkD]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->unkD]); } static void sub_80B7650(u16 *vramBuffer) @@ -1736,12 +1731,12 @@ static void sub_80B76E0(u16 *vramBuffer, const u16 *src) static void sub_80B772C(void) { - nullsub_20(namingScreenData.currentPage, namingScreenData.unkC); + nullsub_20(namingScreenDataPtr->currentPage, namingScreenDataPtr->unkC); } static void sub_80B7740(void) { - nullsub_20((namingScreenData.currentPage + 1) % 3, namingScreenData.unkD); + nullsub_20((namingScreenDataPtr->currentPage + 1) % 3, namingScreenDataPtr->unkD); } static void nullsub_20(u8 a, u8 b) @@ -1802,23 +1797,23 @@ static const u8 sKeyboardCharacters[][4][20]; //forward declaration static u8 GetCharAtKeyboardPos(s16 a, s16 b) { - return sKeyboardCharacters[namingScreenData.currentPage][b][a]; + return sKeyboardCharacters[namingScreenDataPtr->currentPage][b][a]; } static void sub_80B7794(void) { - BasicInitMenuWindow(gUnknown_083CE328[namingScreenData.currentPage][0][namingScreenData.unkC]); - gUnknown_083CE310[namingScreenData.currentPage][0](); - BasicInitMenuWindow(gUnknown_083CE328[namingScreenData.currentPage][1][namingScreenData.unkD]); - gUnknown_083CE310[namingScreenData.currentPage][1](); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][0][namingScreenDataPtr->unkC]); + gUnknown_083CE310[namingScreenDataPtr->currentPage][0](); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->unkD]); + gUnknown_083CE310[namingScreenDataPtr->currentPage][1](); sub_80B772C(); sub_80B7740(); } static void sub_80B77F8(void) { - BasicInitMenuWindow(gUnknown_083CE328[namingScreenData.currentPage][1][namingScreenData.unkD]); - gUnknown_083CE310[namingScreenData.currentPage][1](); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->unkD]); + gUnknown_083CE310[namingScreenDataPtr->currentPage][1](); sub_80B7740(); } @@ -1849,9 +1844,9 @@ static void PrintKeyboardCharacters(u8 page) //print letters on page static void sub_80B78A8(void) { BasicInitMenuWindow(&gWindowConfig_81E6F4C); - gUnknown_083CE358[namingScreenData.templateNum](); - gUnknown_083CE368[namingScreenData.template->unk3](); - MenuPrint(namingScreenData.template->title, 9, 2); + gUnknown_083CE358[namingScreenDataPtr->templateNum](); + gUnknown_083CE368[namingScreenDataPtr->template->unk3](); + MenuPrint(namingScreenDataPtr->template->title, 9, 2); } static void nullsub_61(void) @@ -1860,7 +1855,7 @@ static void nullsub_61(void) static void sub_80B78F8(void) { - StringCopy(gStringVar1, gSpeciesNames[(s16)namingScreenData.unk3E]); + StringCopy(gStringVar1, gSpeciesNames[(s16)namingScreenDataPtr->unk3E]); } static void nullsub_62(void) @@ -1871,9 +1866,9 @@ static void sub_80B7924(void) { u8 genderSymbol[2] = _("♂"); - if ((s16)namingScreenData.unk40 != MON_GENDERLESS) + if ((s16)namingScreenDataPtr->unk40 != MON_GENDERLESS) { - if ((s16)namingScreenData.unk40 == MON_FEMALE) + if ((s16)namingScreenDataPtr->unk40 == MON_FEMALE) genderSymbol[0] = 0xB6; //female symbol MenuPrint(genderSymbol, 0x14, 4); } @@ -1890,9 +1885,9 @@ static void sub_80B7960(void) string[4] = 0x11; string[5] = 1; string += 6; - StringCopy(string, namingScreenData.textBuffer); + StringCopy(string, namingScreenDataPtr->textBuffer); BasicInitMenuWindow(&gWindowConfig_81E6F4C); - MenuPrint(gStringVar1, namingScreenData.unk2, 4); + MenuPrint(gStringVar1, namingScreenDataPtr->unk2, 4); } //-------------------------------------------------- @@ -2034,4 +2029,162 @@ const struct OamData gOamData_83CE4A8 = .affineParam = 0, }; -//TODO: dump sprite data + +const struct Subsprite gSubspriteTable_83CE4B0[] = { + { -20, -16, ST_OAM_H_RECTANGLE, 1, 0, 1 }, + { 12, -16, ST_OAM_SQUARE, 0, 4, 1 }, + { -20, -8, ST_OAM_H_RECTANGLE, 1, 5, 1 }, + { 12, -8, ST_OAM_SQUARE, 0, 9, 1 }, + { -20, 0, ST_OAM_H_RECTANGLE, 1, 10, 1 }, + { 12, 0, ST_OAM_SQUARE, 0, 14, 1 }, + { -20, 8, ST_OAM_H_RECTANGLE, 1, 15, 1 }, + { 12, 8, ST_OAM_SQUARE, 0, 19, 1 } +}; + +const struct Subsprite gSubspriteTable_83CE4F0[] = { + { -12, -4, ST_OAM_SQUARE, 0, 0, 1 }, + { 4, -4, ST_OAM_SQUARE, 0, 1, 1 } +}; + +const struct Subsprite gSubspriteTable_83CE500[] = { + { -12, -4, ST_OAM_H_RECTANGLE, 0, 0, 1 }, + { 4, -4, ST_OAM_SQUARE, 0, 2, 1 } +}; + +const struct Subsprite gSubspriteTable_83CE510[] = { + { -20, -12, ST_OAM_H_RECTANGLE, 1, 0, 1 }, + { 12, -12, ST_OAM_SQUARE, 0, 4, 1 }, + { -20, -4, ST_OAM_H_RECTANGLE, 1, 5, 1 }, + { 12, -4, ST_OAM_SQUARE, 0, 9, 1 }, + { -20, 4, ST_OAM_H_RECTANGLE, 1, 10, 1 }, + { 12, 4, ST_OAM_SQUARE, 0, 14, 1 } +}; + +const struct Subsprite gSubspriteTable_83CE540[] = { + { -8, -12, ST_OAM_H_RECTANGLE, 0, 0, 3 }, + { -8, -4, ST_OAM_H_RECTANGLE, 0, 2, 3 }, + { -8, 4, ST_OAM_H_RECTANGLE, 0, 4, 3 } +}; + +const struct SubspriteTable gSubspriteTables_83CE558[] = { + { 8, gSubspriteTable_83CE4B0 } +}; + +const struct SubspriteTable gSubspriteTables_83CE560[] = { + { 2, gSubspriteTable_83CE500 }, + { 2, gSubspriteTable_83CE500 }, + { 2, gSubspriteTable_83CE500 } +}; + +const struct SubspriteTable gSubspriteTables_83CE578[] = { + { 6, gSubspriteTable_83CE510 } +}; + +const struct SubspriteTable gSubspriteTables_83CE580[] = { + { 3, gSubspriteTable_83CE540 } +}; + +const struct SpriteFrameImage gSpriteImageTable_83CE588[] = { + { gSpriteImage_83CE094, 0xc0 }, + { gSpriteImage_83CE154, 0xc0 } +}; + +const union AnimCmd gSpriteAnim_83CE598[] = { + ANIMCMD_FRAME(0, 1), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd gSpriteAnim_83CE5A0[] = { + ANIMCMD_FRAME(4, 8), + ANIMCMD_FRAME(8, 8), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_83CE5AC[] = { + ANIMCMD_FRAME(0, 2), + ANIMCMD_FRAME(1, 2), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gSpriteAnimTable_83CE5B8[] = { + gSpriteAnim_83CE598 +}; + +const union AnimCmd *const gSpriteAnimTable_83CE5BC[] = { + gSpriteAnim_83CE598, + gSpriteAnim_83CE5A0 +}; + +const union AnimCmd *const gSpriteAnimTable_83CE5C4[] = { + gSpriteAnim_83CE5AC +}; + +const struct SpriteTemplate gSpriteTemplate_83CE5C8 = { + 2, 4, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34 +}; + +const struct SpriteTemplate gSpriteTemplate_83CE5E0 = { + 3, 1, &gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83CE5F8 = { + 4, 4, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83CE610 = { + 0, 6, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83CE628 = { + 1, 6, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteTemplate gSpriteTemplate_83CE640 = { + 7, 5, &gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998 +}; + +const struct SpriteTemplate gSpriteTemplate_83CE658 = { + 10, 3, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C +}; + +const struct SpriteTemplate gSpriteTemplate_83CE670 = { + 11, 3, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8 +}; + +const struct SpriteTemplate gSpriteTemplate_83CE688 = { + 0xFFFF, 0, &gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy +}; + +const struct SpriteSheet gUnknown_083CE6A0[] = { + { gNamingScreenBackButtonTiles, 0x1E0, 0 }, + { gNamingScreenOKButtonTiles, 0x1E0, 1 }, + { gNamingScreenChangeKeyboardBoxTiles, 0x280, 2 }, + { gNamingScreenChangeKeyboardButtonTiles, 0x100, 3 }, + { gNamingScreenLowerTextTiles, 0x60, 4 }, + { gNamingScreenUpperTextTiles, 0x60, 5 }, + { gNamingScreenOthersTextTiles, 0x60, 6 }, + { gNamingScreenCursorTiles, 0x80, 7 }, + { gNamingScreenActiveCursorSmallTiles, 0x80, 8 }, + { gNamingScreenActiveCursorBigTiles, 0x80, 9 }, + { gNamingScreenRightPointingTriangleTiles, 0x20, 10 }, + { gNamingScreenUnderscoreTiles, 0x20, 11 }, + {} +}; + +const struct SpritePalette gUnknown_083CE708[] = { + {gNamingScreenPalettes[0], 0}, + {gNamingScreenPalettes[1], 1}, + {gNamingScreenPalettes[2], 2}, + {gNamingScreenPalettes[3], 3}, + {gNamingScreenPalettes[4], 4}, + {gNamingScreenPalettes[5], 5}, + {gNamingScreenPalettes[4], 6}, + {} +}; + +const u16 gUnknown_083CE748[] = INCBIN_U16("graphics/naming_screen/lower_keyboard_map.bin"); + +const u16 gUnknown_083CEBF8[] = INCBIN_U16("graphics/naming_screen/upper_keyboard_map.bin"); + +const u16 gUnknown_083CF0A8[] = INCBIN_U16("graphics/naming_screen/others_keyboard_map.bin"); + diff --git a/src/engine/trainer_card.c b/src/engine/trainer_card.c index 207fa5f77..dcd1197cb 100644 --- a/src/engine/trainer_card.c +++ b/src/engine/trainer_card.c @@ -287,10 +287,7 @@ void sub_8093324(void) if (ewram0_2.var_1) { - struct TrainerCard(*trainerCards)[4] = &gTrainerCards; - s16 var = task->data[TD_1]; - struct TrainerCard *dest = &(*trainerCards)[var]; - memcpy(&ewram0_2.var_64, dest, sizeof(struct TrainerCard)); + ewram0_2.var_64 = gTrainerCards[task->data[TD_1]]; } else { diff --git a/src/field/bard_music.c b/src/field/bard_music.c index daf003233..5c48749cf 100644 --- a/src/field/bard_music.c +++ b/src/field/bard_music.c @@ -11,29 +11,185 @@ struct BardSound /*0x06*/ u16 var06; }; -extern const struct BardSound (*const gBardMusicTable[])[][6]; -extern s16 *gUnknown_08417068[]; -extern u32 gUnknown_084170F4[]; +static const s16 Unknown_8416F08[] = {-768, 6144}; +static const s16 Unknown_8416F0C[] = {2304, 6144}; +static const s16 Unknown_8416F10[] = {256, 6144}; +static const s16 Unknown_8416F14[] = {1024, 6144}; +static const s16 Unknown_8416F18[] = {2816, 6144}; +static const s16 Unknown_8416F1C[] = {-768, -256, 6144}; +static const s16 Unknown_8416F22[] = {-768, 512, 6144}; +static const s16 Unknown_8416F28[] = {512, 1024, 6144}; +static const s16 Unknown_8416F2E[] = {1536, 2048, 6144}; +static const s16 Unknown_8416F34[] = {2304, 2048, 6144}; +static const s16 Unknown_8416F3A[] = {-768, -256, -768, 6144}; +static const s16 Unknown_8416F42[] = {1024, -768, 1024, 6144}; +static const s16 Unknown_8416F4A[] = {2304, 2048, 1536, 6144}; +static const s16 Unknown_8416F52[] = {256, 512, 1024, 6144}; +static const s16 Unknown_8416F5A[] = {1536, 4096, 3328, 6144}; +static const s16 Unknown_8416F62[] = {1024, 2304, 1024, 2304, 6144}; +static const s16 Unknown_8416F6C[] = {2304, 1024, 3328, 1024, 6144}; +static const s16 Unknown_8416F76[] = {256, 512, 1024, 1536, 6144}; +static const s16 Unknown_8416F80[] = {2048, 1536, 1024, 512, 6144}; +static const s16 Unknown_8416F8A[] = {3840, 3328, 2816, 2560, 6144}; +static const s16 Unknown_8416F94[] = {-768, -256, 256, 512, 1024, 6144}; +static const s16 Unknown_8416FA0[] = {2304, 2048, 1536, 1024, 512, 6144}; +static const s16 Unknown_8416FAC[] = {256, 1024, 2304, 1024, 256, 6144}; +static const s16 Unknown_8416FB8[] = {2304, 1024, 2304, 1024, -768, 6144}; +static const s16 Unknown_8416FC4[] = {2816, 2048, 1024, 1024, 1536, 6144}; +static const s16 Unknown_8416FD0[] = {-768, -256, 256, 512, 1024, 1536, 6144}; +static const s16 Unknown_8416FDE[] = {2048, 1536, 1024, 512, 256, -256, 6144}; +static const s16 Unknown_8416FEC[] = {256, 512, 1024, 256, 512, 4096, 6144}; +static const s16 Unknown_8416FFA[] = {1024, -768, 2304, 1024, 2304, 1024, 6144}; +static const s16 Unknown_8417008[] = {2048, 2304, 2048, 2304, 2048, 2304, 6144}; +static const s16 Unknown_8417016[] = {512, 256, 512, 256, 512, 1024, 512, 6144}; +static const s16 Unknown_8417026[] = {256, 256, -256, -256, -768, 1024, -768, 6144}; +static const s16 Unknown_8417036[] = {2048, 2304, 2816, 3328, 3584, 3328, 2816, 6144}; +static const s16 Unknown_8417046[] = {2048, 1536, 1024, 512, 3328, 2816, 2304, 6144}; +static const s16 Unknown_8417056[] = {768, 1024, 1536, 2048, 1792, 2048, 1024, 6144}; + +static const s16 *const sWordPitches[] = { + Unknown_8416F08, + Unknown_8416F0C, + Unknown_8416F10, + Unknown_8416F14, + Unknown_8416F18, + Unknown_8416F1C, + Unknown_8416F22, + Unknown_8416F28, + Unknown_8416F2E, + Unknown_8416F34, + Unknown_8416F3A, + Unknown_8416F42, + Unknown_8416F4A, + Unknown_8416F52, + Unknown_8416F5A, + Unknown_8416F62, + Unknown_8416F6C, + Unknown_8416F76, + Unknown_8416F80, + Unknown_8416F8A, + Unknown_8416F94, + Unknown_8416FA0, + Unknown_8416FAC, + Unknown_8416FB8, + Unknown_8416FC4, + Unknown_8416FD0, + Unknown_8416FDE, + Unknown_8416FEC, + Unknown_8416FFA, + Unknown_8417008, + Unknown_8417016, + Unknown_8417026, + Unknown_8417036, + Unknown_8417046, + Unknown_8417056 +}; + +static const u32 sBardSoundLengthDeltas[] = { + 9, + 22, + 15, + 16, + 39, + 21, + 9, + 30, + 24, + 15, + 25, + 12, + 22, + 45, + 24, + 15, + 40, + 9, + 21, + 42, + 18, + 9, + 22, + 15, + 27, + 48, + 18, + 27, + 33, + 24, + 25, + 39, + 19, + 16, + 54, + 18, + 9, + 45, + 15, + 12, + 39, + 23, + 5, + 45, + 12, + 21, + 48, + 12, + 21, + 69, + 18, + 15 +}; + +#if ENGLISH +#include "../src/data/bard_music_en.h" +#elif GERMAN +#include "../src/data/bard_music_de.h" +#endif // ENGLISH/GERMAN + +static const struct BardSound (*const gBardMusicTable[])[6] = { + BardMusic_POKEMON, + BardMusic_TRAINER, + BardMusic_STATUS, + BardMusic_BATTLE, + BardMusic_GREETINGS, + BardMusic_PEOPLE, + BardMusic_VOICES, + BardMusic_SPEECH, + BardMusic_ENDINGS, + BardMusic_FEELINGS, + BardMusic_CONDITIONS, + BardMusic_ACTIONS, + BardMusic_LIFESTYLE, + BardMusic_HOBBIES, + BardMusic_TIME, + BardMusic_MISC, + BardMusic_ADJECTIVES, + BardMusic_EVENTS, + BardMusic_MOVE_1, + BardMusic_MOVE_2, + BardMusic_TRENDY_SAYING, + BardMusic_POKEMON_2 +}; static s16 CalcWordPitch(u32 arg0, u32 songPos) { - return gUnknown_08417068[arg0][songPos]; + return sWordPitches[arg0][songPos]; } #if ENGLISH const struct BardSound *GetWordSounds(u16 group, u16 word) { - const struct BardSound (*sounds)[][6] = gBardMusicTable[group]; + const struct BardSound (*sounds)[6] = gBardMusicTable[group]; - return (*sounds)[word]; + return sounds[word]; } #elif GERMAN const struct BardSound *GetWordSounds(u16 group, u16 word) { - const struct BardSound (*sounds)[][6] = gBardMusicTable[group]; + const struct BardSound (*sounds)[6] = gBardMusicTable[group]; u32 index = de_sub_80EB748(group, word); - return (*sounds)[index]; + return sounds[index]; } #endif @@ -48,7 +204,7 @@ s32 GetWordPhonemes(struct BardSong *song, const struct BardSound *src, u16 arg2 song->phonemes[i].sound = src[i].var00; if (src[i].var00 != 0xFF) { - s32 length = src[i].var01 + gUnknown_084170F4[src[i].var00]; + s32 length = src[i].var01 + sBardSoundLengthDeltas[src[i].var00]; song->phonemes[i].length = length; song->phonemes[i].volume = src[i].volume; diff --git a/src/field/decoration.c b/src/field/decoration.c index 8b774afc3..87a9d8028 100644 --- a/src/field/decoration.c +++ b/src/field/decoration.c @@ -1426,139 +1426,6 @@ const struct YesNoFuncTable gUnknown_083EC634[] = { {sub_8109D04, sub_80FF058} }; -const u16 gUnknown_083EC654[] = {0x6318, 0x739C, 0x7FFF}; -const u8 gUnknown_083EC65A[] = _("{PALETTE 13}{STR_VAR_1}"); - -const u8 Unknown_3EC660[] = {0, 1, 2, 3}; -const u8 Unknown_3EC664[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13}; -const u8 Unknown_3EC670[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; -const u8 Unknown_3EC680[] = {0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21}; -const u8 Unknown_3EC68C[] = {0, 1, 2, 3, 4, 5, 6, 7}; -const u8 Unknown_3EC694[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}; -const u8 Unknown_3EC6B4[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45}; -const u8 Unknown_3EC6D8[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29}; - -const u8 Unknown_3EC6F0[] = {0, 0, 0, 0}; -const u8 Unknown_3EC6F4[] = {0, 0, 1, 1, 0, 0, 1, 1}; -const u8 Unknown_3EC6FC[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2}; -const u8 Unknown_3EC708[] = {0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 4, 4, 5, 5, 6, 6, 7, 7}; -const u8 Unknown_3EC728[] = {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3}; -const u8 Unknown_3EC738[] = {0, 0, 0, 0, 1, 1, 1, 1}; -const u8 Unknown_3EC740[] = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2}; -const u8 Unknown_3EC74C[] = {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3, 4, 4, 5, 5, 4, 4, 5, 5, 6, 6, 7, 7, 6, 6, 7, 7}; -const u8 Unknown_3EC76C[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 6, 6, 7, 7, 8, 8}; -const u8 Unknown_3EC790[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5}; - -const u8 Unknown_3EC7A8[] = {4, 5, 6, 7}; -const u8 Unknown_3EC7AC[] = {4, 5, 4, 5, 6, 7, 6, 7}; -const u8 Unknown_3EC7B4[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7}; -const u8 Unknown_3EC7C0[] = {4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7}; -const u8 Unknown_3EC7E0[] = {4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7}; -const u8 Unknown_3EC7F0[] = {4, 5, 6, 7, 4, 5, 6, 7}; -const u8 Unknown_3EC7F8[] = {4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7}; -const u8 Unknown_3EC804[] = {4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7}; -const u8 Unknown_3EC824[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7}; -const u8 Unknown_3EC848[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7}; - -const struct UnkStruct_803EC860 gUnknown_083EC860[] = { - {Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4}, - {Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8}, - {Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc}, - {Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20}, - {Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10}, - {Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8}, - {Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc}, - {Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20}, - {Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24}, - {Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18} -}; - -const struct UnkStruct_083EC900 gUnknown_083EC900[] = { - {0, 1, 0x78, 0x4e}, - {1, 2, 0x80, 0x4e}, - {1, 3, 0x90, 0x56}, - {1, 3, 0x90, 0x46}, - {0, 2, 0x80, 0x46}, - {2, 2, 0x78, 0x46}, - {2, 3, 0x80, 0x56}, - {2, 3, 0x80, 0x36}, - {0, 3, 0x90, 0x46}, - {1, 3, 0x90, 0x46} -}; - -const union AnimCmd gSpriteAnim_83EC928[] = { - ANIMCMD_FRAME(.imageValue = 0, .duration = 0), - ANIMCMD_END -}; - -const union AnimCmd *const gSpriteAnimTable_83EC930[] = { - gSpriteAnim_83EC928 -}; - -const struct SpriteFrameImage gSpriteImageTable_83EC934[] = { - {.data = gUnknown_02038900.image, .size = sizeof(gUnknown_02038900.image)} -}; - -const struct SpriteTemplate gSpriteTemplate_83EC93C = { - .tileTag = 0xffff, - .paletteTag = 3000, - .oam = &gUnknown_020391AC, - .anims = gSpriteAnimTable_83EC930, - .images = gSpriteImageTable_83EC934, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_81009A8 -}; - -const struct SpritePalette gUnknown_083EC954 = {.data = (u16 *)&gUnknown_02038900.palette, .tag = 3000}; - -const struct YesNoFuncTable gUnknown_083EC95C = {.yesFunc = sub_81000C4, .noFunc = sub_810065C}; -const struct YesNoFuncTable gUnknown_083EC964 = {.yesFunc = sub_810026C, .noFunc = sub_810065C}; -const struct YesNoFuncTable gUnknown_083EC96C[] = { - {.yesFunc = sub_80FFAB0, .noFunc = sub_80FFB08}, - {.yesFunc = sub_8100F88, .noFunc = sub_8100FB4} -}; - -const u8 gUnknown_083EC97C[] = {4, 4, 4, 4, 0, 3, 3, 0}; -const u8 gUnknown_083EC984[] = {4, 4, 4, 4, 0, 4, 3, 0}; - -const u16 gUnknown_083EC98C[] = INCBIN_U16("graphics/unknown/83EC98C.gbapal"); -const u16 Unknown_3EC9AC[] = INCBIN_U16("graphics/unknown/83EC9AC.gbapal"); -const struct YesNoFuncTable gUnknown_083EC9CC = {.yesFunc = sub_810153C, .noFunc = sub_8100EEC}; -const struct YesNoFuncTable gUnknown_083EC9D4 = {.yesFunc = sub_8101590, .noFunc = sub_8100EEC}; -const u32 gSpriteImage_83EC9DC[] = INCBIN_U32("graphics/unknown_sprites/83EC9DC.4bpp"); -const struct SpritePalette gUnknown_083ECA5C = {.data = gUnknown_083EC98C, .tag = 8}; -const struct SpritePalette gUnknown_083ECA64 = {.data = Unknown_3EC9AC, .tag = 8}; -const struct OamData gOamData_83ECA6C = { - .size = 1, .priority = 1 -}; - -const union AnimCmd gSpriteAnim_83ECA74[] = { - ANIMCMD_FRAME(.imageValue = 0, .duration = 0), - ANIMCMD_END -}; - -const union AnimCmd *const gSpriteAnimTable_83ECA7C[] = { - gSpriteAnim_83ECA74 -}; - -const struct SpriteFrameImage gSpriteImageTable_83ECA80[] = { - obj_frame_tiles(gSpriteImage_83EC9DC) -}; - -const struct SpriteTemplate gSpriteTemplate_83ECA88 = { - .tileTag = 0xffff, - .paletteTag = 8, - .oam = &gOamData_83ECA6C, - .anims = gSpriteAnimTable_83ECA7C, - .images = gSpriteImageTable_83ECA80, - .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_8101698 -}; - -const struct YesNoFuncTable gUnknown_083ECAA0 = {.yesFunc = sub_8101848, .noFunc = sub_80FED3C}; - -u8 *const unref_label_083ECAA8[] = {gSharedMem}; - // text extern u8 gUnknown_0815F399[]; @@ -1605,8 +1472,9 @@ void DoPlayerPCDecoration(u8 taskId) void sub_80FE2B4(void) { - u16 palettes[3]; - memcpy(palettes, gUnknown_083EC654, sizeof gUnknown_083EC654); + u16 palettes[3] = {RGB(24, 24, 24), + RGB(28, 28, 28), + RGB(31, 31, 31)}; LoadPalette(&palettes[2], 0xdf, 2); LoadPalette(&palettes[1], 0xd1, 2); LoadPalette(&palettes[0], 0xd8, 2); @@ -1908,6 +1776,8 @@ void sub_80FE948(u8 taskId) } } +const u8 gUnknown_083EC65A[] = _("{PALETTE 13}{STR_VAR_1}"); + void sub_80FEABC(u8 taskId, u8 dummy1) { u16 i; @@ -3568,6 +3438,136 @@ u16 sub_810089C(u16 a0) return ((u16 *)gMapHeader.mapData->secondaryTileset->metatiles)[a0] & 0xfff; } +const u8 Unknown_3EC660[] = {0, 1, 2, 3}; +const u8 Unknown_3EC664[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13}; +const u8 Unknown_3EC670[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}; +const u8 Unknown_3EC680[] = {0, 1, 4, 5, 8, 9, 12, 13, 16, 17, 20, 21}; +const u8 Unknown_3EC68C[] = {0, 1, 2, 3, 4, 5, 6, 7}; +const u8 Unknown_3EC694[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31}; +const u8 Unknown_3EC6B4[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 32, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 45}; +const u8 Unknown_3EC6D8[] = {0, 1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29}; + +const u8 Unknown_3EC6F0[] = {0, 0, 0, 0}; +const u8 Unknown_3EC6F4[] = {0, 0, 1, 1, 0, 0, 1, 1}; +const u8 Unknown_3EC6FC[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2}; +const u8 Unknown_3EC708[] = {0, 0, 1, 1, 2, 2, 3, 3, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 4, 4, 5, 5, 6, 6, 7, 7}; +const u8 Unknown_3EC728[] = {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3}; +const u8 Unknown_3EC738[] = {0, 0, 0, 0, 1, 1, 1, 1}; +const u8 Unknown_3EC740[] = {0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2}; +const u8 Unknown_3EC74C[] = {0, 0, 1, 1, 0, 0, 1, 1, 2, 2, 3, 3, 2, 2, 3, 3, 4, 4, 5, 5, 4, 4, 5, 5, 6, 6, 7, 7, 6, 6, 7, 7}; +const u8 Unknown_3EC76C[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 6, 6, 7, 7, 8, 8}; +const u8 Unknown_3EC790[] = {0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 3, 3, 4, 4, 5, 5}; + +const u8 Unknown_3EC7A8[] = {4, 5, 6, 7}; +const u8 Unknown_3EC7AC[] = {4, 5, 4, 5, 6, 7, 6, 7}; +const u8 Unknown_3EC7B4[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7}; +const u8 Unknown_3EC7C0[] = {4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 6, 7}; +const u8 Unknown_3EC7E0[] = {4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7}; +const u8 Unknown_3EC7F0[] = {4, 5, 6, 7, 4, 5, 6, 7}; +const u8 Unknown_3EC7F8[] = {4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7}; +const u8 Unknown_3EC804[] = {4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7, 4, 5, 4, 5, 6, 7, 6, 7}; +const u8 Unknown_3EC824[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7}; +const u8 Unknown_3EC848[] = {4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7, 4, 5, 4, 5, 4, 5, 6, 7, 6, 7, 6, 7}; + +const struct UnkStruct_803EC860 gUnknown_083EC860[] = { + {Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4}, + {Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8}, + {Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc}, + {Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20}, + {Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10}, + {Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8}, + {Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc}, + {Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20}, + {Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24}, + {Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18} +}; + +const struct UnkStruct_083EC900 gUnknown_083EC900[] = { + {0, 1, 0x78, 0x4e}, + {1, 2, 0x80, 0x4e}, + {1, 3, 0x90, 0x56}, + {1, 3, 0x90, 0x46}, + {0, 2, 0x80, 0x46}, + {2, 2, 0x78, 0x46}, + {2, 3, 0x80, 0x56}, + {2, 3, 0x80, 0x36}, + {0, 3, 0x90, 0x46}, + {1, 3, 0x90, 0x46} +}; + +const union AnimCmd gSpriteAnim_83EC928[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83EC930[] = { + gSpriteAnim_83EC928 +}; + +const struct SpriteFrameImage gSpriteImageTable_83EC934[] = { + {.data = gUnknown_02038900.image, .size = sizeof(gUnknown_02038900.image)} +}; + +const struct SpriteTemplate gSpriteTemplate_83EC93C = { + .tileTag = 0xffff, + .paletteTag = 3000, + .oam = &gUnknown_020391AC, + .anims = gSpriteAnimTable_83EC930, + .images = gSpriteImageTable_83EC934, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_81009A8 +}; + +const struct SpritePalette gUnknown_083EC954 = {.data = (u16 *)&gUnknown_02038900.palette, .tag = 3000}; + +const struct YesNoFuncTable gUnknown_083EC95C = {.yesFunc = sub_81000C4, .noFunc = sub_810065C}; +const struct YesNoFuncTable gUnknown_083EC964 = {.yesFunc = sub_810026C, .noFunc = sub_810065C}; +const struct YesNoFuncTable gUnknown_083EC96C[] = { + {.yesFunc = sub_80FFAB0, .noFunc = sub_80FFB08}, + {.yesFunc = sub_8100F88, .noFunc = sub_8100FB4} +}; + +const u8 gUnknown_083EC97C[] = {4, 4, 4, 4, 0, 3, 3, 0}; +const u8 gUnknown_083EC984[] = {4, 4, 4, 4, 0, 4, 3, 0}; + +const u16 gUnknown_083EC98C[] = INCBIN_U16("graphics/unknown/83EC98C.gbapal"); +const u16 Unknown_3EC9AC[] = INCBIN_U16("graphics/unknown/83EC9AC.gbapal"); +const struct YesNoFuncTable gUnknown_083EC9CC = {.yesFunc = sub_810153C, .noFunc = sub_8100EEC}; +const struct YesNoFuncTable gUnknown_083EC9D4 = {.yesFunc = sub_8101590, .noFunc = sub_8100EEC}; +const u32 gSpriteImage_83EC9DC[] = INCBIN_U32("graphics/unknown_sprites/83EC9DC.4bpp"); +const struct SpritePalette gUnknown_083ECA5C = {.data = gUnknown_083EC98C, .tag = 8}; +const struct SpritePalette gUnknown_083ECA64 = {.data = Unknown_3EC9AC, .tag = 8}; +const struct OamData gOamData_83ECA6C = { + .size = 1, .priority = 1 +}; + +const union AnimCmd gSpriteAnim_83ECA74[] = { + ANIMCMD_FRAME(.imageValue = 0, .duration = 0), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_83ECA7C[] = { + gSpriteAnim_83ECA74 +}; + +const struct SpriteFrameImage gSpriteImageTable_83ECA80[] = { + obj_frame_tiles(gSpriteImage_83EC9DC) +}; + +const struct SpriteTemplate gSpriteTemplate_83ECA88 = { + .tileTag = 0xffff, + .paletteTag = 8, + .oam = &gOamData_83ECA6C, + .anims = gSpriteAnimTable_83ECA7C, + .images = gSpriteImageTable_83ECA80, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = sub_8101698 +}; + +const struct YesNoFuncTable gUnknown_083ECAA0 = {.yesFunc = sub_8101848, .noFunc = sub_80FED3C}; + +u8 *const unref_label_083ECAA8[] = {gSharedMem}; + void sub_81008BC(struct UnkStruct_02038900 *unk_02038900) { u8 i; diff --git a/src/field/field_effect.c b/src/field/field_effect.c index 4337300da..1e2aaa4ed 100644 --- a/src/field/field_effect.c +++ b/src/field/field_effect.c @@ -310,114 +310,6 @@ void (*const gUnknown_0839F378[])(struct Task *) = { sub_8087914 }; -const u8 gUnknown_0839F380[] = {1, 3, 4, 2, 1}; - -void (*const gUnknown_0839F388[])(struct Task *) = { - sub_8087AA4, - sub_8087AC8 -}; - -void (*const gUnknown_0839F390[])(struct Task *) = { - sub_8087BEC, - sub_8087C14, - sub_8087CA4, - sub_8087D78 -}; - -void (*const gUnknown_0839F3A0[])(struct Task *) = { - sub_8087E4C, - sub_8087ED8, - sub_8087FDC -}; - -void (*const gUnknown_0839F3AC[])(struct Task *) = { - sub_8088150, - sub_80881C0, - sub_8088228, - sub_80882B4, - sub_80882E4, - sub_8088338, - sub_8088380 -}; - -void (*const gUnknown_0839F3C8[])(struct Task *) = { - sub_80884AC, - sub_80884E8, - sub_8088554, - sub_80885A8, - sub_80885D8, - sub_808860C, - sub_808862C -}; - -void (*const gUnknown_0839F3E4[])(struct Task *) = { - sub_8088984, - sub_80889E4, - sub_8088A30, - sub_8088A78, - sub_8088AF4 -}; - -void (*const gUnknown_0839F3F8[])(struct Task *) = { - sub_8088CA0, - sub_8088CF8, - sub_8088D3C, - sub_8088D94, - sub_8088DD8, - sub_8088E2C, - sub_8088EB4, - sub_8088F10, - sub_8088F30 -}; - -const union AffineAnimCmd SpriteAffineAnim_839F41C[] = { - AFFINEANIMCMD_FRAME(8, 8, -30, 0), - AFFINEANIMCMD_FRAME(28, 28, 0, 30), - AFFINEANIMCMD_END -}; - -const union AffineAnimCmd SpriteAffineAnim_839F434[] = { - AFFINEANIMCMD_FRAME(256, 256, 64, 0), - AFFINEANIMCMD_FRAME(-10, -10, 0, 22), - AFFINEANIMCMD_END -}; - -const union AffineAnimCmd *const gSpriteAffineAnimTable_0839F44C[] = { - SpriteAffineAnim_839F41C, - SpriteAffineAnim_839F434 -}; - -void (*const gUnknown_0839F454[])(struct Task *) = { - sub_80892A0, - sub_8089354, - sub_80893C0, - sub_8089414, - sub_808948C, - sub_80894C4, - fishE -}; - -const s16 gUnknown_0839F470[] = { - -2, - -4, - -5, - -6, - -7, - -8, - -8, - -8, - -7, - -7, - -6, - -5, - -3, - -2, - 0, - 2, - 4, - 8 -}; - static u8 sActiveList[32]; extern u8 *gFieldEffectScriptPointers[]; @@ -2100,8 +1992,7 @@ void sub_80878F4(struct Task *task) void sub_8087914(struct Task *task) { struct MapObject *mapObject; - u8 unknown_0839F380[5]; - memcpy(unknown_0839F380, gUnknown_0839F380, sizeof gUnknown_0839F380); + u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; if (task->data[14] != 0 && (--task->data[14]) == 0) { sub_8053FF8(); @@ -2130,6 +2021,11 @@ void sub_8087914(struct Task *task) } } +void (*const gUnknown_0839F388[])(struct Task *) = { + sub_8087AA4, + sub_8087AC8 +}; + void sub_8087A74(u8); void mapldr_080859D4(void) @@ -2159,10 +2055,8 @@ void sub_8087AA4(struct Task *task) void sub_8087AC8(struct Task *task) { - struct MapObject *mapObject; - u8 unknown_0839F380[5]; - memcpy(unknown_0839F380, gUnknown_0839F380, sizeof gUnknown_0839F380); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { if (FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(mapObject) && !FieldObjectClearAnimIfSpecialAnimFinished(mapObject)) @@ -2195,6 +2089,13 @@ void sub_8087BA8(void) CreateTask(sub_8087BBC, 0); } +void (*const gUnknown_0839F390[])(struct Task *) = { + sub_8087BEC, + sub_8087C14, + sub_8087CA4, + sub_8087D78 +}; + void sub_8087BBC(u8 taskId) { gUnknown_0839F390[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -2211,10 +2112,8 @@ void sub_8087BEC(struct Task *task) void sub_8087C14(struct Task *task) { - struct MapObject *mapObject; - u8 unknown_0839F380[5]; - memcpy(unknown_0839F380, gUnknown_0839F380, sizeof gUnknown_0839F380); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if (task->data[1] == 0 || (--task->data[1]) == 0) { FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); @@ -2233,12 +2132,9 @@ void sub_8087C14(struct Task *task) void sub_8087CA4(struct Task *task) { - struct MapObject *mapObject; - struct Sprite *sprite; - u8 unknown_0839F380[5]; - memcpy(unknown_0839F380, gUnknown_0839F380, sizeof gUnknown_0839F380); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sprite = &gSprites[gPlayerAvatar.spriteId]; + u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((--task->data[1]) <= 0) { task->data[1] = 4; @@ -2288,6 +2184,12 @@ void mapldr_08085D88(void) CreateTask(sub_8087E1C, 0); } +void (*const gUnknown_0839F3A0[])(struct Task *) = { + sub_8087E4C, + sub_8087ED8, + sub_8087FDC +}; + void sub_8087E1C(u8 taskId) { gUnknown_0839F3A0[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -2314,12 +2216,9 @@ void sub_8087E4C(struct Task *task) void sub_8087ED8(struct Task *task) { - u8 unknown_0839F380[5]; - struct MapObject *mapObject; - struct Sprite *sprite; - memcpy(unknown_0839F380, gUnknown_0839F380, sizeof gUnknown_0839F380); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; - sprite = &gSprites[gPlayerAvatar.spriteId]; + u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; if ((sprite->pos2.y += task->data[1]) >= -8) { if (task->data[13] == 0) @@ -2356,10 +2255,8 @@ void sub_8087ED8(struct Task *task) void sub_8087FDC(struct Task *task) { - u8 unknown_0839F380[5]; - struct MapObject *mapObject; - memcpy(unknown_0839F380, gUnknown_0839F380, sizeof gUnknown_0839F380); - mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; + u8 unknown_0839F380[5] = {1, 3, 4, 2, 1}; + struct MapObject *mapObject = &gMapObjects[gPlayerAvatar.mapObjectId]; if ((--task->data[1]) == 0) { FieldObjectTurn(mapObject, unknown_0839F380[mapObject->mapobj_unk_18]); @@ -2409,6 +2306,16 @@ bool8 FldEff_FieldMoveShowMonInit(void) return FALSE; } +void (*const gUnknown_0839F3AC[])(struct Task *) = { + sub_8088150, + sub_80881C0, + sub_8088228, + sub_80882B4, + sub_80882E4, + sub_8088338, + sub_8088380 +}; + void sub_8088120(u8 taskId) { gUnknown_0839F3AC[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -2565,6 +2472,16 @@ bool8 sub_8088708(struct Task *); void sub_80886F8(struct Task *); bool8 sub_80887C0(struct Task *); +void (*const gUnknown_0839F3C8[])(struct Task *) = { + sub_80884AC, + sub_80884E8, + sub_8088554, + sub_80885A8, + sub_80885D8, + sub_808860C, + sub_808862C +}; + void sub_808847C(u8 taskId) { gUnknown_0839F3C8[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -2884,6 +2801,14 @@ u8 FldEff_UseSurf(void) return FALSE; } +void (*const gUnknown_0839F3E4[])(struct Task *) = { + sub_8088984, + sub_80889E4, + sub_8088A30, + sub_8088A78, + sub_8088AF4 +}; + void sub_8088954(u8 taskId) { gUnknown_0839F3E4[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -3012,6 +2937,18 @@ u8 FldEff_UseFly(void) return 0; } +void (*const gUnknown_0839F3F8[])(struct Task *) = { + sub_8088CA0, + sub_8088CF8, + sub_8088D3C, + sub_8088D94, + sub_8088DD8, + sub_8088E2C, + sub_8088EB4, + sub_8088F10, + sub_8088F30 +}; + void sub_8088C70(u8 taskId) { gUnknown_0839F3F8[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -3170,6 +3107,23 @@ void sub_8088FFC(u8 a0, u8 a1) gSprites[a0].data[6] = a1; } +const union AffineAnimCmd SpriteAffineAnim_839F41C[] = { + AFFINEANIMCMD_FRAME(8, 8, -30, 0), + AFFINEANIMCMD_FRAME(28, 28, 0, 30), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd SpriteAffineAnim_839F434[] = { + AFFINEANIMCMD_FRAME(256, 256, 64, 0), + AFFINEANIMCMD_FRAME(-10, -10, 0, 22), + AFFINEANIMCMD_END +}; + +const union AffineAnimCmd *const gSpriteAffineAnimTable_0839F44C[] = { + SpriteAffineAnim_839F41C, + SpriteAffineAnim_839F434 +}; + void sub_8089018(struct Sprite *sprite) { if (sprite->data[7] == 0) @@ -3282,6 +3236,16 @@ u8 FldEff_FlyIn(void) return 0; } +void (*const gUnknown_0839F454[])(struct Task *) = { + sub_80892A0, + sub_8089354, + sub_80893C0, + sub_8089414, + sub_808948C, + sub_80894C4, + fishE +}; + void sub_8089270(u8 taskId) { gUnknown_0839F454[gTasks[taskId].data[0]](&gTasks[taskId]); @@ -3333,10 +3297,27 @@ void sub_8089354(struct Task *task) void sub_80893C0(struct Task *task) { - s16 unknown_0839F470[18]; - struct Sprite *sprite; - memcpy(unknown_0839F470, gUnknown_0839F470, sizeof gUnknown_0839F470); - sprite = &gSprites[gPlayerAvatar.spriteId]; + s16 unknown_0839F470[18] = { + -2, + -4, + -5, + -6, + -7, + -8, + -8, + -8, + -7, + -7, + -6, + -5, + -3, + -2, + 0, + 2, + 4, + 8 + }; + struct Sprite *sprite = &gSprites[gPlayerAvatar.spriteId]; sprite->pos2.y = unknown_0839F470[task->data[2]]; if ((++task->data[2]) >= 18) { diff --git a/src/field/field_effect_helpers.c b/src/field/field_effect_helpers.c index 1d831d2e9..165829a55 100644 --- a/src/field/field_effect_helpers.c +++ b/src/field/field_effect_helpers.c @@ -31,50 +31,6 @@ static u32 ShowDisguiseFieldEffect(u8, u8, u8); const u8 UnusedEggString_8401E28[] = _("タマゴ"); -const u16 gUnknown_08401E2C[] = { - 0x0c, - 0x1c, - 0x2c -}; - -const u8 gUnknown_08401E32[] = { - 0, - 1, - 2, - 3 -}; - -const u16 gUnknown_08401E36[] = { - 4, - 4, - 4, - 16 -}; - -void (*const gUnknown_08401E40[])(struct Sprite *) = { - sub_81275A0, - sub_81275C4 -}; - -void (*const gUnknown_08401E48[])(struct Sprite *) = { - sub_8127DA0, - sub_8127DD0, - sub_8127E30 -}; - -const u8 gUnknown_08401E54[] = { - 0, - 0, - 1, - 2, - 3 -}; - -const u16 gUnknown_08401E5A[] = { - 3, - 7 -}; - void SetUpReflection(struct MapObject *mapObject, struct Sprite *sprite, bool8 flag) { struct Sprite *newSprite; @@ -107,9 +63,7 @@ static s16 sub_81268D0(struct MapObject *mapObject) static void npc_pal_op(struct MapObject *mapObject, struct Sprite *sprite) { u8 whichElement; - u16 unk_8041e2c[ARRAY_COUNT(gUnknown_08401E2C)]; - - memcpy(unk_8041e2c, gUnknown_08401E2C, sizeof gUnknown_08401E2C); + u16 unk_8041e2c[] = {0x0c, 0x1c, 0x2c}; sprite->data[2] = 0; if (!GetFieldObjectGraphicsInfo(mapObject->graphicsId)->disableReflectionPaletteLoad && ((whichElement = sub_8057450(mapObject->mapobj_unk_1F)) || (whichElement = sub_8057450(mapObject->mapobj_unk_1E)))) { @@ -237,6 +191,20 @@ void sub_8126BC4(u8 spriteId, u8 animNum, s16 x, s16 y) } } +const u8 gUnknown_08401E32[] = { + 0, + 1, + 2, + 3 +}; + +const u16 gUnknown_08401E36[] = { + 4, + 4, + 4, + 16 +}; + u32 FldEff_Shadow(void) { u8 mapObjectId; @@ -589,6 +557,11 @@ u32 FldEff_BikeTireTracks(void) return spriteId; } +void (*const gUnknown_08401E40[])(struct Sprite *) = { + sub_81275A0, + sub_81275C4 +}; + void sub_8127584(struct Sprite *sprite) { gUnknown_08401E40[sprite->data[0]](sprite); @@ -917,6 +890,12 @@ u32 FldEff_Ash(void) return 0; } +void (*const gUnknown_08401E48[])(struct Sprite *) = { + sub_8127DA0, + sub_8127DD0, + sub_8127E30 +}; + void sub_8127D84(struct Sprite *sprite) { gUnknown_08401E48[sprite->data[0]](sprite); @@ -1018,9 +997,7 @@ void sub_8127F7C(struct Sprite *sprite) static void sub_8127FD4(struct MapObject *mapObject, struct Sprite *sprite) { - u8 unk_8041E54[ARRAY_COUNT(gUnknown_08401E54)]; - - memcpy(unk_8041E54, gUnknown_08401E54, sizeof gUnknown_08401E54); + u8 unk_8041E54[] = {0, 0, 1, 2, 3}; if (sub_8127F64(sprite) == 0) { StartSpriteAnimIfDifferent(sprite, unk_8041E54[mapObject->placeholder18]); @@ -1134,11 +1111,8 @@ __attribute__((naked)) static void sub_812800C(struct MapObject *mapObject, stru static void sub_81280A0(struct MapObject *mapObject, struct Sprite *linkedSprite, struct Sprite *sprite) { - u16 unk_8401E5A[ARRAY_COUNT(gUnknown_08401E5A)]; - u8 v0; - - memcpy(unk_8401E5A, gUnknown_08401E5A, sizeof gUnknown_08401E5A); - v0 = sub_8127F5C(sprite); + u16 unk_8401E5A[] = {3, 7}; + u8 v0 = sub_8127F5C(sprite); if (v0 != 0) { if (((u16)(++ sprite->data[4]) & unk_8401E5A[sprite->data[5]]) == 0) diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c index 81c0c5854..ba7c3d68e 100644 --- a/src/field/field_map_obj.c +++ b/src/field/field_map_obj.c @@ -2020,7 +2020,7 @@ u8 GetFieldObjectIdByLocalId(u8 localId) #ifdef NONMATCHING u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 c) { - struct MapObject2 *mapObj; //TODO: resolve the mapobj_unk_19b weirdness + struct MapObject *mapObj; //TODO: resolve the mapobj_unk_19b weirdness u8 var; u16 r3; u16 r2; @@ -2029,8 +2029,8 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 if (GetAvailableFieldObjectSlot(template->localId, b, c, &var) != 0) return 16; //_0805ACCE - mapObj = (struct MapObject2 *)&gMapObjects[var]; - npc_clear_ids_and_state((struct MapObject *)mapObj); + mapObj = &gMapObjects[var]; + npc_clear_ids_and_state(mapObj); r3 = template->x + 7; r2 = template->y + 7; mapObj->active = TRUE; @@ -2048,8 +2048,8 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 mapObj->coords3.y = r2; mapObj->mapobj_unk_0B_0 = template->elevation; mapObj->elevation = template->elevation; - mapObj->mapobj_unk_19 = template->unkA_0; - mapObj->mapobj_unk_19b = template->unkA_4; + mapObj->range.as_nybbles.x = template->unkA_0; + mapObj->range.as_nybbles.y = template->unkA_4; mapObj->trainerType = template->unkC; mapObj->trainerRange_berryTreeId = template->unkE; mapObj->mapobj_unk_20 = gUnknown_0836DC09[template->movementType]; @@ -2058,10 +2058,10 @@ u8 InitFieldObjectStateFromTemplate(struct MapObjectTemplate *template, u8 b, u8 //asm("":::"r5","r6"); if (gUnknown_0836DBBC[mapObj->animPattern] != 0) { - if (mapObj->mapobj_unk_19 == 0) - mapObj->mapobj_unk_19++; - if (mapObj->mapobj_unk_19b == 0) - mapObj->mapobj_unk_19b++; + if (mapObj->range.as_nybbles.x == 0) + mapObj->range.as_nybbles.x++; + if (mapObj->range.as_nybbles.y == 0) + mapObj->range.as_nybbles.y++; } return var; } @@ -5464,7 +5464,7 @@ u8 sub_805FF20(struct MapObject *mapObject, u8 direction) return npc_block_way(mapObject, x, y, direction); } -bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject2 *mapObject, s16 x, s16 y); +bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y); static bool8 DoesObjectCollideWithObjectAt(struct MapObject *mapObject, s16 x, s16 y); bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction); @@ -5472,7 +5472,7 @@ u8 npc_block_way(struct MapObject *mapObject, s16 x, s16 y, u32 dirn) { u8 direction; direction = dirn; - if (IsCoordOutsideFieldObjectMovementRect((struct MapObject2 *)mapObject, x, y)) + if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) return 1; else if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction)) return 2; @@ -5489,7 +5489,7 @@ u8 sub_8060024(struct MapObject *mapObject, s16 x, s16 y, u8 direction) { u8 flags = 0; - if (IsCoordOutsideFieldObjectMovementRect((struct MapObject2 *)mapObject, x, y)) + if (IsCoordOutsideFieldObjectMovementRect(mapObject, x, y)) flags |= 1; if (MapGridIsImpassableAt(x, y) || GetMapBorderIdAt(x, y) == -1 || IsMetatileDirectionallyImpassable(mapObject, x, y, direction) || (mapObject->mapobj_bit_15 && !CanCameraMoveInDirection(direction))) flags |= 2; @@ -5500,22 +5500,22 @@ u8 sub_8060024(struct MapObject *mapObject, s16 x, s16 y, u8 direction) return flags; } -bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject2 *mapObject, s16 x, s16 y) +bool8 IsCoordOutsideFieldObjectMovementRect(struct MapObject *mapObject, s16 x, s16 y) { s16 minv; s16 maxv; - if (mapObject->mapobj_unk_19 != 0) + if (mapObject->range.as_nybbles.x != 0) { - minv = mapObject->coords1.x - (mapObject->mapobj_unk_19); - maxv = mapObject->coords1.x + (mapObject->mapobj_unk_19); + minv = mapObject->coords1.x - (mapObject->range.as_nybbles.x); + maxv = mapObject->coords1.x + (mapObject->range.as_nybbles.x); if (minv > x || maxv < x) return TRUE; } - if (mapObject->mapobj_unk_19b != 0) + if (mapObject->range.as_nybbles.y != 0) { - minv = mapObject->coords1.y - (mapObject->mapobj_unk_19b); - maxv = mapObject->coords1.y + (mapObject->mapobj_unk_19b); + minv = mapObject->coords1.y - (mapObject->range.as_nybbles.y); + maxv = mapObject->coords1.y + (mapObject->range.as_nybbles.y); if (minv > y || maxv < y) return TRUE; } diff --git a/src/field/field_map_obj_helpers.c b/src/field/field_map_obj_helpers.c index f1a113d44..328b66ed2 100644 --- a/src/field/field_map_obj_helpers.c +++ b/src/field/field_map_obj_helpers.c @@ -7,13 +7,92 @@ typedef void (*SpriteStepFunc)(struct Sprite *sprite, u8 dir); -extern s16 gUnknown_08376194[]; -extern SpriteStepFunc *gUnknown_08376180[]; -extern s8 *gUnknown_083761D0[]; -extern s16 gUnknown_083761DC[]; -extern u8 gUnknown_083761E2[]; -extern s16 gUnknown_083761E6[]; -extern u8 gUnknown_083761EC[]; +void Step1(struct Sprite *sprite, u8 dir); +void Step2(struct Sprite *sprite, u8 dir); +void Step3(struct Sprite *sprite, u8 dir); +void Step4(struct Sprite *sprite, u8 dir); +void Step8(struct Sprite *sprite, u8 dir); + +const SpriteStepFunc Unknown_83760F0[] = { + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1, + Step1 +}; + +const SpriteStepFunc Unknown_8376130[] = { + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2, + Step2 +}; + +const SpriteStepFunc Unknown_8376150[] = { + Step2, + Step3, + Step3, + Step2, + Step3, + Step3 +}; + +const SpriteStepFunc Unknown_8376168[] = { + Step4, + Step4, + Step4, + Step4 +}; + +const SpriteStepFunc Unknown_8376178[] = { + Step8, + Step8 +}; + +const SpriteStepFunc *const gUnknown_08376180[] = { + Unknown_83760F0, + Unknown_8376130, + Unknown_8376150, + Unknown_8376168, + Unknown_8376178 +}; + +const s16 gUnknown_08376194[] = { + 16, 8, 6, 4, 2 +}; + +const s8 Unknown_837619E[] = { + -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 +}; + +const s8 Unknown_83761AE[] = { + 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 +}; + +const s8 Unknown_83761BE[] = { + -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 +}; + +const s8 *const gUnknown_083761D0[] = { + Unknown_837619E, + Unknown_83761AE, + Unknown_83761BE +}; bool8 FreezeMapObject(struct MapObject *mapObject) { @@ -156,14 +235,9 @@ void sub_80646E4(struct Sprite *sprite, u8 a2, u8 a3, u8 a4) u8 sub_8064704(struct Sprite *sprite) { - u8 v2; - s16 v5[3]; - u8 v6[3]; - - memcpy(v5, gUnknown_083761DC, 6); - memcpy(v6, gUnknown_083761E2, 3); - - v2 = 0; + s16 v5[3] = {0x10, 0x10, 0x20}; + u8 v6[3] = {0, 0, 1}; + u8 v2 = 0; if (sprite->data[4]) Step1(sprite, sprite->data[3]); @@ -186,14 +260,9 @@ u8 sub_8064704(struct Sprite *sprite) u8 sub_806478C(struct Sprite *sprite) { - u8 v2; - s16 v5[3]; - u8 v6[3]; - - memcpy(v5, gUnknown_083761E6, 6); - memcpy(v6, gUnknown_083761EC, 3); - - v2 = 0; + s16 v5[3] = {0x20, 0x20, 0x40}; + u8 v6[3] = {1, 1, 2}; + u8 v2 = 0; if (sprite->data[4] && !(sprite->data[6] & 1)) Step1(sprite, sprite->data[3]); diff --git a/src/field/field_specials.c b/src/field/field_specials.c index 43921ed55..8cb1ba487 100644 --- a/src/field/field_specials.c +++ b/src/field/field_specials.c @@ -312,28 +312,23 @@ u8 GetLinkPartnerNames(void) return nLinkPlayers; } -const u8 gUnknown_083F8358[4] = {7, 9, 8, 10}; -const s8 gUnknown_083F835C[4][2] = { - { 0, 1}, - { 1, 0}, - { 0, -1}, - {-1, 0} -}; - void SpawnBerryBlenderLinkPlayerSprites(void) { - u8 unknown_083F8358[4]; - u8 unknown_083F835C[4][2]; + u8 j = 0; + s16 x = 0; + s16 y = 0; + u8 unknown_083F8358[] = {7, 9, 8, 10}; + s8 unknown_083F835C[][2] = { + { 0, 1}, + { 1, 0}, + { 0, -1}, + {-1, 0} + }; u8 myLinkPlayerNumber; u8 playerDirectionLowerNybble; u8 rivalAvatarGraphicsId; u8 i; - u8 j = 0; - s16 x = 0; - s16 y = 0; - memcpy(unknown_083F8358, gUnknown_083F8358, sizeof gUnknown_083F8358); - memcpy(unknown_083F835C, gUnknown_083F835C, sizeof gUnknown_083F835C); myLinkPlayerNumber = sub_8008218(); playerDirectionLowerNybble = player_get_direction_lower_nybble(); switch (playerDirectionLowerNybble) @@ -362,7 +357,7 @@ void SpawnBerryBlenderLinkPlayerSprites(void) if (myLinkPlayerNumber != i) { rivalAvatarGraphicsId = GetRivalAvatarGraphicsIdByStateIdAndGender(0, gLinkPlayers[i].gender); - SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, unknown_083F8358[j], 0xf0 - i, (s8)unknown_083F835C[j][0] + x + 7, (s8)unknown_083F835C[j][1] + y + 7, 0); + SpawnSpecialFieldObjectParametrized(rivalAvatarGraphicsId, unknown_083F8358[j], 0xf0 - i, unknown_083F835C[j][0] + x + 7, unknown_083F835C[j][1] + y + 7, 0); j++; if (j == 4) { diff --git a/src/field/overworld.c b/src/field/overworld.c index 5594d23e6..d0e40eac3 100644 --- a/src/field/overworld.c +++ b/src/field/overworld.c @@ -287,7 +287,7 @@ void LoadMapObjTemplatesFromHeader(void) { // Clear map object templates CpuFill32(0, gSaveBlock1.mapObjectTemplates, sizeof(gSaveBlock1.mapObjectTemplates)); - + // Copy map header events to save block CpuCopy32(gMapHeader.events->mapObjects, gSaveBlock1.mapObjectTemplates, @@ -981,7 +981,7 @@ static void PlayAmbientCry(void) s16 x, y; s8 pan; s8 volume; - + PlayerGetDestCoords(&x, &y); if (sIsAmbientCryWaterMon == TRUE && !MetatileBehavior_IsSurfableWaterOrUnderwater(MapGridGetMetatileBehaviorAt(x, y))) @@ -1158,7 +1158,7 @@ void OverworldBasic(void) sub_8072EDC(); } -// This CB2 is used when starting +// This CB2 is used when starting void CB2_OverworldBasic(void) { OverworldBasic(); @@ -2430,7 +2430,7 @@ void SpawnLinkPlayerMapObject(u8 linkPlayerId, s16 x, s16 y, u8 a4) mapObj->active = 1; mapObj->mapobj_bit_1 = a4; - mapObj->mapobj_unk_19 = 2; + mapObj->range.as_byte = 2; mapObj->spriteId = 64; InitLinkPlayerMapObjectPos(mapObj, x, y); @@ -2453,7 +2453,7 @@ void unref_sub_8055A6C(u8 linkPlayerId, u8 a2) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - mapObj->mapobj_unk_19 = a2; + mapObj->range.as_byte = a2; } } @@ -2487,7 +2487,7 @@ u8 sub_8055B30(u8 linkPlayerId) { u8 mapObjId = gLinkPlayerMapObjects[linkPlayerId].mapObjId; struct MapObject *mapObj = &gMapObjects[mapObjId]; - return mapObj->mapobj_unk_19; + return mapObj->range.as_byte; } u8 sub_8055B50(u8 linkPlayerId) @@ -2559,10 +2559,10 @@ static u8 sub_8055CB0(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapOb { s16 x, y; - mapObj->mapobj_unk_19 = npc_something3(a3, mapObj->mapobj_unk_19); - FieldObjectMoveDestCoords(mapObj, mapObj->mapobj_unk_19, &x, &y); + mapObj->range.as_byte = npc_something3(a3, mapObj->range.as_byte); + FieldObjectMoveDestCoords(mapObj, mapObj->range.as_byte, &x, &y); - if (LinkPlayerDetectCollision(linkPlayerMapObj->mapObjId, mapObj->mapobj_unk_19, x, y)) + if (LinkPlayerDetectCollision(linkPlayerMapObj->mapObjId, mapObj->range.as_byte, x, y)) { return 0; } @@ -2577,7 +2577,7 @@ static u8 sub_8055CB0(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapOb static u8 sub_8055D18(struct LinkPlayerMapObject *linkPlayerMapObj, struct MapObject *mapObj, u8 a3) { - mapObj->mapobj_unk_19 = npc_something3(a3, mapObj->mapobj_unk_19); + mapObj->range.as_byte = npc_something3(a3, mapObj->range.as_byte); return 0; } @@ -2590,7 +2590,7 @@ static void sub_8055D38(struct LinkPlayerMapObject *linkPlayerMapObj, struct Map { mapObj->mapobj_unk_21--; linkPlayerMapObj->mode = 1; - MoveCoords(mapObj->mapobj_unk_19, &mapObj->coords1.x, &mapObj->coords1.y); + MoveCoords(mapObj->range.as_byte, &mapObj->coords1.x, &mapObj->coords1.y); if (!mapObj->mapobj_unk_21) { npc_coords_shift_still(mapObj); @@ -2662,9 +2662,9 @@ void SpriteCB_LinkPlayer(struct Sprite *sprite) SetObjectSubpriorityByZCoord(mapObj->elevation, sprite, 1); sprite->oam.priority = ZCoordToPriority(mapObj->elevation); if (!linkPlayerMapObj->mode) - StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObj->mapobj_unk_19)); + StartSpriteAnim(sprite, FieldObjectDirectionToImageAnimId(mapObj->range.as_byte)); else - StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->mapobj_unk_19)); + StartSpriteAnimIfDifferent(sprite, get_go_image_anim_num(mapObj->range.as_byte)); sub_806487C(sprite, 0); if (mapObj->mapobj_bit_2) { diff --git a/src/field/party_menu.c b/src/field/party_menu.c index 089f93f9e..9c1150515 100644 --- a/src/field/party_menu.c +++ b/src/field/party_menu.c @@ -436,34 +436,6 @@ static const struct PartyMenuHandlersStruct PartyMenuHandlers[] = { {HandleMoveTutorPartyMenu, SetupMoveTutorPartyMenu, 0}, // PARTY_MENU_TYPE_MOVE_TUTOR }; -static const u16 gUnknown_08376CD4[] = { - 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, - 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, -}; - -static const u16 gUnknown_08376CEC[] = { - 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F, - 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, -}; - -static const u8 *const StatNames[] = { - gOtherText_HP, - gOtherText_Attack, - gOtherText_Defense, - gOtherText_SpAtk, - gOtherText_SpDef, - gOtherText_Speed, -}; - -static const u8 StatDataTypes[] = { - MON_DATA_MAX_HP, - MON_DATA_ATK, - MON_DATA_DEF, - MON_DATA_SPATK, - MON_DATA_SPDEF, - MON_DATA_SPEED, -}; - struct Unk201C000 { /*0x00*/ struct Pokemon *pokemon; @@ -1227,12 +1199,11 @@ void sub_806BB3C(s16 a, u16 b) void sub_806BB9C(u8 a) { u8 i; - u16 *vramPtr; - const u16 arr[12]; - - memcpy(&arr, gUnknown_08376CD4, sizeof gUnknown_08376CD4); - - vramPtr = (u16 *)(BG_VRAM + 0x3C30); + u16 arr[12] = { + 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, + 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, + }; + u16 *vramPtr = (u16 *)(BG_VRAM + 0x3C30); for (i = 0; i < PARTY_SIZE; i++) { vramPtr[i] = arr[i] + (a << 12); @@ -1243,12 +1214,11 @@ void sub_806BB9C(u8 a) void sub_806BBEC(u8 a) { u8 i; - u16 *vramPtr; - const u16 arr[12]; - - memcpy(&arr, gUnknown_08376CEC, sizeof gUnknown_08376CEC); - - vramPtr = (u16 *)(BG_VRAM + 0x3CB0); + u16 arr[12] = { + 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F, + 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F, + }; + u16 *vramPtr = (u16 *)(BG_VRAM + 0x3CB0); for (i = 0; i < PARTY_SIZE; i++) { vramPtr[i] = arr[i] + (a << 12); @@ -4910,6 +4880,23 @@ void DoPPUpItemEffect(u8 taskId, u16 b, TaskFunc c) gMain.newKeys = 0; } +static const u8 *const StatNames[] = { + gOtherText_HP, + gOtherText_Attack, + gOtherText_Defense, + gOtherText_SpAtk, + gOtherText_SpDef, + gOtherText_Speed, +}; + +static const u8 StatDataTypes[] = { + MON_DATA_MAX_HP, + MON_DATA_ATK, + MON_DATA_DEF, + MON_DATA_SPATK, + MON_DATA_SPDEF, + MON_DATA_SPEED, +}; void DoRareCandyItemEffect(u8 taskId, u16 b, TaskFunc c) { u8 i; diff --git a/src/field/player_pc.c b/src/field/player_pc.c index dd6b4c0c5..4fef09386 100644 --- a/src/field/player_pc.c +++ b/src/field/player_pc.c @@ -171,15 +171,6 @@ static const u8 gNonSelectedItemQuantityFormatText[] = _("{STR_VAR_1}"); static const u8 gSelectedItemQuantityFormatText[] = _("{COLOR RED}{STR_VAR_1}"); static const u8 gUnknown_08406330[] = _("{CLEAR_TO 32}"); -static const u16 gUnknown_08406334[3] = -{ - 0x5294, - 0x6B5A, - 0x7FFF -}; - -static const u8 gHighlightedMoveToBagFormatText[] = _("{COLOR RED}{STR_VAR_1}"); - extern u8 *gUnknown_02039314; extern struct MenuAction gUnknown_08406298[]; @@ -1007,9 +998,12 @@ static void ItemStorage_GoBackToItemPCMenu(u8 taskId, u8 var) static void ItemStorage_LoadPalette(void) { - u16 arr[3]; + u16 arr[] = { + 0x5294, + 0x6B5A, + 0x7FFF + }; - memcpy(arr, gUnknown_08406334, sizeof(arr)); LoadPalette(&arr[2], 0xDF, 2); LoadPalette(&arr[1], 0xD1, 2); LoadPalette(&arr[0], 0xD8, 2); @@ -1261,6 +1255,8 @@ static void Mailbox_ReturnToFieldFromReadMail(void) SetMainCallback2(c2_exit_to_overworld_2_switch); } +static const u8 gHighlightedMoveToBagFormatText[] = _("{COLOR RED}{STR_VAR_1}"); + static void Mailbox_MoveToBag(u8 taskId) { HandleDestroyMenuCursors(); diff --git a/src/field/trainer_see.c b/src/field/trainer_see.c index 38bc6971c..3034b2b65 100644 --- a/src/field/trainer_see.c +++ b/src/field/trainer_see.c @@ -9,14 +9,22 @@ #include "task.h" #include "util.h" +static bool8 CheckTrainer(u8); +static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3); +static void objc_exclamation_mark_probably(struct Sprite *sprite); +static bool8 TrainerCanApproachPlayer(struct MapObject *); +static void sub_80842C8(struct MapObject *, u8); +static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction); +static void RunTrainerSeeFuncList(u8 taskId); + const u8 gSpriteImage_839B308[] = INCBIN_U8("graphics/unknown_sprites/839B4E0/0.4bpp"); const u8 gSpriteImage_839B388[] = INCBIN_U8("graphics/unknown_sprites/839B4E0/1.4bpp"); const u8 gSpriteImage_839B408[] = INCBIN_U8("graphics/unknown_sprites/839B408.4bpp"); -u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); -u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); -u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y); -u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y); +static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y); static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *, s16, s16, s16) = { @@ -26,9 +34,6 @@ static u8 (*const sDirectionalApproachDistanceFuncs[])(struct MapObject *, s16, GetTrainerApproachDistanceEast, }; -extern struct SpriteTemplate gSpriteTemplate_839B510; -extern struct SpriteTemplate gSpriteTemplate_839B528; - bool8 CheckTrainers(void) { u8 mapObjId; @@ -43,7 +48,7 @@ bool8 CheckTrainers(void) return FALSE; } -bool8 CheckTrainer(u8 mapObjId) +static bool8 CheckTrainer(u8 mapObjId) { u8 *scriptPtr = GetFieldObjectScriptPointerByFieldObjectId(mapObjId); @@ -69,7 +74,7 @@ bool8 CheckTrainer(u8 mapObjId) } } -bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) +static bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) { s16 x, y; u8 i; @@ -79,14 +84,14 @@ bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) if (trainerObj->trainerType == 1) // can only see in one direction { approachDistance = sDirectionalApproachDistanceFuncs[trainerObj->mapobj_unk_18 - 1](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); - return CheckPathBetweenTrainerAndPlayer((struct MapObject2 *)trainerObj, approachDistance, trainerObj->mapobj_unk_18); + return CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, trainerObj->mapobj_unk_18); } else // can see in all directions { for (i = 0; i < 4; i++) { approachDistance = sDirectionalApproachDistanceFuncs[i](trainerObj, trainerObj->trainerRange_berryTreeId, x, y); - if (CheckPathBetweenTrainerAndPlayer((struct MapObject2 *)trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east + if (CheckPathBetweenTrainerAndPlayer(trainerObj, approachDistance, i + 1)) // directions are 1-4 instead of 0-3. south north west east return approachDistance; } } @@ -94,7 +99,7 @@ bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) } // Returns how far south the player is from trainer. 0 if out of trainer's sight. -u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->coords2.x == x && y > trainerObj->coords2.y @@ -105,7 +110,7 @@ u8 GetTrainerApproachDistanceSouth(struct MapObject *trainerObj, s16 range, s16 } // Returns how far north the player is from trainer. 0 if out of trainer's sight. -u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->coords2.x == x && y < trainerObj->coords2.y @@ -116,7 +121,7 @@ u8 GetTrainerApproachDistanceNorth(struct MapObject *trainerObj, s16 range, s16 } // Returns how far west the player is from trainer. 0 if out of trainer's sight. -u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->coords2.y == y && x < trainerObj->coords2.x @@ -127,7 +132,7 @@ u8 GetTrainerApproachDistanceWest(struct MapObject *trainerObj, s16 range, s16 x } // Returns how far east the player is from trainer. 0 if out of trainer's sight. -u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y) +static u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x, s16 y) { if (trainerObj->coords2.y == y && x > trainerObj->coords2.x @@ -143,7 +148,7 @@ u8 GetTrainerApproachDistanceEast(struct MapObject *trainerObj, s16 range, s16 x #define COLLISION_MASK 1 #endif -bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 approachDistance, u8 direction) +static bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject *trainerObj, u8 approachDistance, u8 direction) { s16 x, y; u8 unk19_temp; @@ -159,21 +164,21 @@ bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 approac for (i = 0; i <= approachDistance - 1; i++, MoveCoords(direction, &x, &y)) { - collision = sub_8060024((struct MapObject *)trainerObj, x, y, direction); + collision = sub_8060024(trainerObj, x, y, direction); if (collision != 0 && (collision & COLLISION_MASK)) return FALSE; } // preserve mapobj_unk_19 before clearing. - unk19_temp = trainerObj->mapobj_unk_19; - unk19b_temp = trainerObj->mapobj_unk_19b; - trainerObj->mapobj_unk_19 = 0; - trainerObj->mapobj_unk_19b = 0; + unk19_temp = trainerObj->range.as_nybbles.x; + unk19b_temp = trainerObj->range.as_nybbles.y; + trainerObj->range.as_nybbles.x = 0; + trainerObj->range.as_nybbles.y = 0; collision = npc_block_way((struct MapObject *)trainerObj, x, y, direction); - trainerObj->mapobj_unk_19 = unk19_temp; - trainerObj->mapobj_unk_19b = unk19b_temp; + trainerObj->range.as_nybbles.x = unk19_temp; + trainerObj->range.as_nybbles.y = unk19b_temp; if (collision == 4) return approachDistance; @@ -183,7 +188,7 @@ bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 approac #define tTrainerObjHi data[1] #define tTrainerObjLo data[2] -void sub_80842C8(struct MapObject *trainerObj, u8 b) +static void sub_80842C8(struct MapObject *trainerObj, u8 b) { u8 taskId = CreateTask(RunTrainerSeeFuncList, 0x50); struct Task *task = &gTasks[taskId]; @@ -193,7 +198,7 @@ void sub_80842C8(struct MapObject *trainerObj, u8 b) task->data[3] = b; } -void sub_80842FC(TaskFunc followupFunc) +static void sub_80842FC(TaskFunc followupFunc) { TaskFunc taskFunc = RunTrainerSeeFuncList; u8 taskId = FindTaskIdByFunc(taskFunc); @@ -232,7 +237,7 @@ static bool8 (*const gTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct sub_80846C8, }; -void RunTrainerSeeFuncList(u8 taskId) +static void RunTrainerSeeFuncList(u8 taskId) { struct Task *task = &gTasks[taskId]; struct MapObject *trainerObj = (struct MapObject *)((task->tTrainerObjHi << 16) | (task->tTrainerObjLo)); @@ -450,6 +455,41 @@ static void Task_DestroyTrainerApproachTask(u8 taskId) EnableBothScriptContexts(); } +static const struct OamData gOamData_839B4D8 = { + .size = 1, .priority = 1 +}; + +static const struct SpriteFrameImage gSpriteImageTable_839B4E0[] = { + { gSpriteImage_839B308, sizeof gSpriteImage_839B308 }, + { gSpriteImage_839B388, sizeof gSpriteImage_839B388 } +}; + +static const struct SpriteFrameImage gSpriteImageTable_839B4F0[] = { + { gSpriteImage_839B408, sizeof gSpriteImage_839B408 } +}; + +static const union AnimCmd gSpriteAnim_839B4F8[] = { + ANIMCMD_FRAME(0, 60), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_839B500[] = { + ANIMCMD_FRAME(1, 60), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_839B508[] = { + gSpriteAnim_839B4F8, + gSpriteAnim_839B500 +}; + +static const struct SpriteTemplate gSpriteTemplate_839B510 = { + 0xffff, 0xffff, &gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4E0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably +}; +static const struct SpriteTemplate gSpriteTemplate_839B528 = { + 0xffff, 4100, &gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4F0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably +}; + u8 FldEff_ExclamationMarkIcon1(void) { u8 spriteId = CreateSpriteAtEnd(&gSpriteTemplate_839B510, 0, 0, 0x53); @@ -480,7 +520,7 @@ u8 FldEff_HeartIcon(void) return 0; } -void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3) +static void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3) { sprite->oam.priority = 1; sprite->coordOffsetEnabled = 1; @@ -494,7 +534,7 @@ void sub_8084894(struct Sprite *sprite, u16 a2, u8 a3) StartSpriteAnim(sprite, a3); } -void objc_exclamation_mark_probably(struct Sprite *sprite) +static void objc_exclamation_mark_probably(struct Sprite *sprite) { u8 mapObjId; diff --git a/src/libs/m4a_2.c b/src/libs/m4a_2.c index 2d3c65848..2e5956ef0 100644 --- a/src/libs/m4a_2.c +++ b/src/libs/m4a_2.c @@ -85,7 +85,7 @@ void m4aSoundInit(void) mplayInfo->memAccArea = gMPlayMemAccArea; } - memcpy(&gPokemonCrySong, &gPokemonCrySongTemplate, sizeof(struct PokemonCrySong)); + gPokemonCrySong = gPokemonCrySongTemplate; for (i = 0; i < MAX_POKEMON_CRIES; i++) { diff --git a/src/libs/m4a_4.c b/src/libs/m4a_4.c index 2e1d140b4..da5550252 100644 --- a/src/libs/m4a_4.c +++ b/src/libs/m4a_4.c @@ -445,7 +445,7 @@ start_song: #define CRY ((s32)&gPokemonCrySongs + i * sizeof(struct PokemonCrySong)) #define CRY_OFS(field) offsetof(struct PokemonCrySong, field) - memcpy((void *)CRY, &gPokemonCrySong, sizeof(struct PokemonCrySong)); + *(struct PokemonCrySong *)CRY = gPokemonCrySong; *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone; *(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0); diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c index 8e5d7a33f..37bc2e0ad 100644 --- a/src/pokemon/pokemon_2.c +++ b/src/pokemon/pokemon_2.c @@ -1060,7 +1060,7 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord) s32 i, j; ZeroEnemyPartyMons(); - memcpy(eSecretBaseRecord, secretBaseRecord, sizeof(*secretBaseRecord)); + *eSecretBaseRecord = *secretBaseRecord; for (i = 0; i < 6; i++) { diff --git a/src/scene/credits.c b/src/scene/credits.c index e7744822b..17c1bf263 100644 --- a/src/scene/credits.c +++ b/src/scene/credits.c @@ -1228,9 +1228,9 @@ static bool8 sub_8144ECC(u8 data, u8 taskIdA) case 2: if (gSaveBlock2.playerGender == MALE) { - LoadCompressedObjectPic(&gIntro2BrendanSpriteSheet); - LoadCompressedObjectPic(&gUnknown_08416E34); - LoadCompressedObjectPic(&gIntro2BicycleSpriteSheet); + LoadCompressedObjectPic(gIntro2BrendanSpriteSheet); + LoadCompressedObjectPic(gUnknown_08416E34); + LoadCompressedObjectPic(gIntro2BicycleSpriteSheet); LoadSpritePalettes(gIntro2SpritePalettes); spriteId = intro_create_brendan_sprite(120, 46); @@ -1245,9 +1245,9 @@ static bool8 sub_8144ECC(u8 data, u8 taskIdA) } else { - LoadCompressedObjectPic(&gIntro2MaySpriteSheet); - LoadCompressedObjectPic(&gUnknown_08416E24); - LoadCompressedObjectPic(&gIntro2BicycleSpriteSheet); + LoadCompressedObjectPic(gIntro2MaySpriteSheet); + LoadCompressedObjectPic(gUnknown_08416E24); + LoadCompressedObjectPic(gIntro2BicycleSpriteSheet); LoadSpritePalettes(gIntro2SpritePalettes); spriteId = intro_create_may_sprite(120, 46); diff --git a/src/scene/intro.c b/src/scene/intro.c index 9e334d06b..4dc6cc91c 100644 --- a/src/scene/intro.c +++ b/src/scene/intro.c @@ -1087,14 +1087,14 @@ static void Task_IntroStartBikeRide(u8 taskId) u8 spriteId; if (gUnknown_02039318 == 0) - LoadCompressedObjectPic(&gIntro2BrendanSpriteSheet); + LoadCompressedObjectPic(gIntro2BrendanSpriteSheet); else - LoadCompressedObjectPic(&gIntro2MaySpriteSheet); - LoadCompressedObjectPic(&gIntro2BicycleSpriteSheet); + LoadCompressedObjectPic(gIntro2MaySpriteSheet); + LoadCompressedObjectPic(gIntro2BicycleSpriteSheet); #ifdef SAPPHIRE - LoadCompressedObjectPic(&gIntro2LatiasSpriteSheet); + LoadCompressedObjectPic(gIntro2LatiasSpriteSheet); #else - LoadCompressedObjectPic(&gIntro2LatiosSpriteSheet); + LoadCompressedObjectPic(gIntro2LatiosSpriteSheet); #endif LoadSpritePalettes(gIntro2SpritePalettes); if (gUnknown_02039318 == 0) diff --git a/src/scene/intro_credits_graphics.c b/src/scene/intro_credits_graphics.c index 05c67696a..6cee74cce 100755 --- a/src/scene/intro_credits_graphics.c +++ b/src/scene/intro_credits_graphics.c @@ -24,32 +24,282 @@ // define register constants for the inline asm asm(".include \"constants/gba_constants.inc\"\n"); -struct UnknownStruct1 +struct IntroCreditsSpriteMetadata { - u8 var0_0:4; - u8 var0_4:2; - u8 var0_6:2; - u8 var1; - u8 var2; - u8 var3; - u16 var4; -}; - -extern u8 gUnknown_0841225C; -extern u8 gUnknown_084126DC; -extern u8 gUnknown_084121FC; -extern u8 gUnknown_084128D8; -extern u8 gUnknown_08412EB4; -extern u8 gUnknown_08412818; -extern u8 gUnknown_08413184; -extern u8 gUnknown_08413340; -extern u8 gUnknown_084139C8; -extern u8 gUnknown_08413300; -extern u8 gUnknown_08413CCC; - -extern const struct SpriteTemplate gSpriteTemplate_8416B3C; -const extern struct CompressedSpriteSheet gUnknown_08416B54; -const extern struct CompressedSpriteSheet gUnknown_08416BDC; + u8 animNum:4; + u8 shape:2; + u8 size:2; + u8 x; + u8 y; + u8 subpriority; + u16 xOff; +}; + +const u16 gUnknown_084121FC[] = INCBIN_U16("graphics/intro/intro2_grass.gbapal"); +const u16 gUnknown_0841221C[] = INCBIN_U16("graphics/intro/intro2_grass_afternoon.gbapal"); +const u16 gUnknown_0841223C[] = INCBIN_U16("graphics/intro/intro2_grass_night.gbapal"); +const u8 gUnknown_0841225C[] = INCBIN_U8("graphics/intro/intro2_grass.4bpp.lz"); +const u8 gUnknown_084126DC[] = INCBIN_U8("graphics/intro/intro2_grass_map.bin.lz"); +const u16 gUnknown_08412818[] = INCBIN_U16("graphics/intro/8412818.gbapal"); +const u16 gUnknown_08412878[] = INCBIN_U16("graphics/intro/8412878.gbapal"); +const u8 gUnknown_084128D8[] = INCBIN_U8("graphics/intro/intro2_bgclouds.4bpp.lz"); +const u8 gUnknown_08412EB4[] = INCBIN_U8("graphics/intro/intro2_bgclouds_map.bin.lz"); +const u16 gUnknown_08413184[] = INCBIN_U16("graphics/intro/intro2_bgclouds.gbapal"); +const u16 gUnknown_084131A4[] = INCBIN_U16("graphics/intro/intro2_bgclouds_afternoon.gbapal"); +const u8 gUnknown_084131C4[] = INCBIN_U8("graphics/intro/intro2_bgclouds2.4bpp.lz"); +const u16 gUnknown_08413300[] = INCBIN_U16("graphics/intro/intro2_bgtrees2.gbapal"); +const u16 gUnknown_08413320[] = INCBIN_U16("graphics/intro/intro2_bgtrees2_afternoon.gbapal"); +const u8 gUnknown_08413340[] = INCBIN_U8("graphics/intro/intro2_bgtrees.4bpp.lz"); +const u8 gUnknown_084139C8[] = INCBIN_U8("graphics/intro/intro2_bgtrees_map.bin.lz"); +const u16 gUnknown_08413CCC[] = INCBIN_U16("graphics/intro/intro2_bgtrees.gbapal"); +const u8 gIntro2TreeTiles[] = INCBIN_U8("graphics/intro/intro2_bgtreessmall.4bpp.lz"); +const u16 gUnknown_08413E38[] = INCBIN_U16("graphics/intro/8413E38.gbapal"); +const u8 gUnknown_08413E78[] = INCBIN_U8("graphics/intro/intro2_bgnight.4bpp.lz"); // only used in credits, coupled with intro because bicycle sequence +const u16 gUnknown_08414064[] = INCBIN_U16("graphics/intro/intro2_bgnight.gbapal"); +const u8 gUnknown_08414084[] = INCBIN_U8("graphics/intro/intro2_bgnight_map.bin.lz"); +const u8 gIntro2NightTiles[] = INCBIN_U8("graphics/intro/intro2_night.4bpp.lz"); +const u16 gIntro2BrendanPalette[] = INCBIN_U16("graphics/intro/intro2_brendan.gbapal"); +const u8 gIntro2BrendanTiles[] = INCBIN_U8("graphics/intro/intro2_brendan.4bpp.lz"); +const u16 gIntro2MayPalette[] = INCBIN_U16("graphics/intro/intro2_may.gbapal"); +const u16 gUnknown_08414F90[0xF0] = {0}; +const u8 gIntro2MayTiles[] = INCBIN_U8("graphics/intro/intro2_may.4bpp.lz"); +const u8 gIntro2BicycleTiles[] = INCBIN_U8("graphics/intro/intro2_bicycle.4bpp.lz"); +const u16 gIntro2LatiosPalette[] = INCBIN_U16("graphics/intro/intro2_latios.gbapal"); +const u8 gIntro2LatiosTiles[] = INCBIN_U8("graphics/intro/intro2_latios.4bpp.lz"); +const u16 gIntro2LatiasPalette[] = INCBIN_U16("graphics/intro/intro2_latias.gbapal"); +const u8 gIntro2LatiasTiles[] = INCBIN_U8("graphics/intro/intro2_latias.4bpp.lz"); + +void sub_814910C(struct Sprite *sprite); +void nullsub_82(struct Sprite *sprite); +void sub_81492A0(struct Sprite *sprite); +void nullsub_83(struct Sprite *sprite); + +const struct SpriteTemplate gSpriteTemplate_8416B3C = { + 2000, 0xFFFF, &gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814910C +}; + +const struct CompressedSpriteSheet gUnknown_08416B54[] = { + { gUnknown_084131C4, 0x400, 2000 }, + {} +}; + +const union AnimCmd gSpriteAnim_8416B64[] = { + ANIMCMD_FRAME( 0, 30), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_8416B6C[] = { + ANIMCMD_FRAME(16, 30), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_8416B74[] = { + ANIMCMD_FRAME(20, 30), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_8416B7C[] = { + ANIMCMD_FRAME(22, 30), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8416B84[] = { + gSpriteAnim_8416B64, + gSpriteAnim_8416B6C, + gSpriteAnim_8416B74, + gSpriteAnim_8416B7C +}; + +const struct IntroCreditsSpriteMetadata gUnknown_08416B94[] = { + { 0, ST_OAM_SQUARE, 2, 72, 32, 100, 0xc00 }, + { 0, ST_OAM_SQUARE, 2, 158, 32, 100, 0xc00 }, + { 1, ST_OAM_SQUARE, 1, 192, 40, 101, 0x800 }, + { 1, ST_OAM_SQUARE, 1, 56, 40, 101, 0x800 }, + { 2, ST_OAM_H_RECTANGLE, 0, 100, 44, 102, 0x400 }, + { 2, ST_OAM_H_RECTANGLE, 0, 152, 44, 102, 0x400 }, + { 3, ST_OAM_H_RECTANGLE, 0, 8, 46, 103, 0x100 }, + { 3, ST_OAM_H_RECTANGLE, 0, 56, 46, 103, 0x100 }, + { 3, ST_OAM_H_RECTANGLE, 0, 240, 46, 103, 0x100 }, +}; + +const struct CompressedSpriteSheet gUnknown_08416BDC[] = { + { gIntro2TreeTiles, 0x400, 2000 }, + {} +}; + +const union AnimCmd gSpriteAnim_8416BEC[] = { + ANIMCMD_FRAME( 0, 30), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_8416BF4[] = { + ANIMCMD_FRAME(16, 30), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_8416BFC[] = { + ANIMCMD_FRAME(24, 30), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8416C04[] = { + gSpriteAnim_8416BEC, + gSpriteAnim_8416BF4, + gSpriteAnim_8416BFC +}; + +const struct IntroCreditsSpriteMetadata gUnknown_08416C10[] = { + { 0, ST_OAM_SQUARE, 2, 16, 88, 100, 0x2000 }, + { 0, ST_OAM_SQUARE, 2, 80, 88, 100, 0x2000 }, + { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x2000 }, + { 0, ST_OAM_SQUARE, 2, 208, 88, 100, 0x2000 }, + { 1, ST_OAM_V_RECTANGLE, 2, 40, 88, 101, 0x1000 }, + { 1, ST_OAM_V_RECTANGLE, 2, 104, 88, 101, 0x1000 }, + { 1, ST_OAM_V_RECTANGLE, 2, 168, 88, 101, 0x1000 }, + { 1, ST_OAM_V_RECTANGLE, 2, 232, 88, 101, 0x1000 }, + { 2, ST_OAM_V_RECTANGLE, 2, 56, 88, 102, 0x800 }, + { 2, ST_OAM_V_RECTANGLE, 2, 120, 88, 102, 0x800 }, + { 2, ST_OAM_V_RECTANGLE, 2, 184, 88, 102, 0x800 }, + { 2, ST_OAM_V_RECTANGLE, 2, 248, 88, 102, 0x800 }, +}; + +const struct CompressedSpriteSheet gUnknown_08416C70[] = { + { gIntro2NightTiles, 0x400, 2000 }, + {} +}; + +const union AnimCmd gSpriteAnim_8416C80[] = { + ANIMCMD_FRAME(0, 30), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8416C88[] = { + gSpriteAnim_8416C80 +}; + +const struct IntroCreditsSpriteMetadata gUnknown_08416C8C[] = { + { 0, ST_OAM_SQUARE, 2, 24, 88, 100, 0x1000 }, + { 0, ST_OAM_SQUARE, 2, 64, 88, 100, 0x1000 }, + { 0, ST_OAM_SQUARE, 2, 104, 88, 100, 0x1000 }, + { 0, ST_OAM_SQUARE, 2, 144, 88, 100, 0x1000 }, + { 0, ST_OAM_SQUARE, 2, 184, 88, 100, 0x1000 }, + { 0, ST_OAM_SQUARE, 2, 224, 88, 100, 0x1000 }, +}; + +const struct OamData gOamData_8416CBC = { + .y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1 +}; + +const union AnimCmd gSpriteAnim_8416CC4[] = { + ANIMCMD_FRAME( 0, 8), + ANIMCMD_FRAME( 64, 8), + ANIMCMD_FRAME(128, 8), + ANIMCMD_FRAME(192, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gSpriteAnimTable_8416CD8[] = { + gSpriteAnim_8416CC4 +}; + +const struct SpriteTemplate gSpriteTemplate_8416CDC = { + 1002, 1002, &gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82 +}; + +const struct SpriteTemplate gSpriteTemplate_8416CF4 = { + 1003, 1003, &gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82 +}; + +const struct OamData gOamData_8416D0C = { + .y = 160, .shape = ST_OAM_H_RECTANGLE, .size = 3, .priority = 1 +}; + +const union AnimCmd gSpriteAnim_8416D14[] = { + ANIMCMD_FRAME( 0, 8), + ANIMCMD_FRAME( 32, 8), + ANIMCMD_FRAME( 64, 8), + ANIMCMD_FRAME( 96, 8), + ANIMCMD_JUMP(0) +}; + +const union AnimCmd *const gSpriteAnimTable_8416D28[] = { + gSpriteAnim_8416D14 +}; + +const struct SpriteTemplate gSpriteTemplate_Brendan = { + 1001, 1002, &gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0 +}; + +const struct SpriteTemplate gSpriteTemplate_May = { + 1001, 1003, &gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0 +}; + +const struct OamData gOamData_8416D5C = { + .y = 160, .shape = ST_OAM_SQUARE, .size = 3, .priority = 1 +}; + +const union AnimCmd gSpriteAnim_8416D64[] = { + ANIMCMD_FRAME( 0, 16), + ANIMCMD_END +}; + +const union AnimCmd gSpriteAnim_8416D6C[] = { + ANIMCMD_FRAME( 64, 16), + ANIMCMD_END +}; + +const union AnimCmd *const gSpriteAnimTable_8416D74[] = { + gSpriteAnim_8416D64, + gSpriteAnim_8416D6C +}; + +const struct SpriteTemplate gSpriteTemplate_8416D7C = { + 1004, 1004, &gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83 +}; + +const struct SpriteTemplate gSpriteTemplate_8416D94 = { + 1005, 1005, &gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83 +}; + +const struct CompressedSpriteSheet gIntro2BrendanSpriteSheet[] = { + { gIntro2BrendanTiles, 0x3800, 1002 }, + {} +}; +const struct CompressedSpriteSheet gIntro2MaySpriteSheet[] = { + { gIntro2MayTiles, 0x3800, 1003 }, + {} +}; +const struct CompressedSpriteSheet gIntro2BicycleSpriteSheet[] = { + { gIntro2BicycleTiles, 0x1000, 1001 }, + {} +}; +const struct CompressedSpriteSheet gIntro2LatiosSpriteSheet[] = { + { gIntro2LatiosTiles, 0x1000, 1004 }, + {} +}; +const struct CompressedSpriteSheet gIntro2LatiasSpriteSheet[] = { + { gIntro2LatiasTiles, 0x1000, 1005 }, + {} +}; + +const struct SpritePalette gIntro2SpritePalettes[] = { + {gIntro2BrendanPalette, 1002}, + {gIntro2MayPalette, 1003}, + {gIntro2LatiosPalette, 1004}, + {gIntro2LatiasPalette, 1005}, + {} +}; + +const struct CompressedSpriteSheet gUnknown_08416E24[] = { + { gIntro2BrendanTiles, 0x2000, 1002}, + {} +}; + +const struct CompressedSpriteSheet gUnknown_08416E34[] = { + { gIntro2MayTiles, 0x2000, 1003}, + {} +}; + extern u16 gUnknown_02039358; extern s16 gUnknown_0203935A; @@ -71,7 +321,7 @@ void load_intro_part2_graphics(u8 a) LZ77UnCompVram(&gUnknown_084128D8, (void *)(VRAM)); LZ77UnCompVram(&gUnknown_08412EB4, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_08412818, 0, 96); - LoadCompressedObjectPic(&gUnknown_08416B54); + LoadCompressedObjectPic(gUnknown_08416B54); LoadPalette(&gUnknown_08413184, 256, 32); sub_8149248(); break; @@ -79,7 +329,7 @@ void load_intro_part2_graphics(u8 a) LZ77UnCompVram(&gUnknown_08413340, (void *)(VRAM)); LZ77UnCompVram(&gUnknown_084139C8, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_08413300, 0, 32); - LoadCompressedObjectPic(&gUnknown_08416BDC); + LoadCompressedObjectPic(gUnknown_08416BDC); LoadPalette(&gUnknown_08413CCC, 256, 32); sub_8149264(); break; @@ -106,30 +356,6 @@ void sub_8148C78(u8 a) } } -extern u8 gUnknown_084131C4; -extern u8 gUnknown_084131A4; -extern u8 gUnknown_0841221C; -extern u8 gUnknown_08412878; -extern u8 gUnknown_08413320; -extern u8 gUnknown_0841223C; -extern u8 gUnknown_08413E78; -extern u8 gUnknown_08414084; -extern u8 gUnknown_08413E38; -const extern struct CompressedSpriteSheet gUnknown_08416C70; -extern u8 gUnknown_08414064; -extern struct UnknownStruct1 gUnknown_08416B94; -extern struct UnknownStruct1 gUnknown_08416C10; -extern struct UnknownStruct1 gUnknown_08416C8C; -const extern union AnimCmd *const gSpriteAnimTable_8416B84; -const extern union AnimCmd *const gSpriteAnimTable_8416C04; -const extern union AnimCmd *const gSpriteAnimTable_8416C88; -const extern struct SpriteTemplate gSpriteTemplate_8416CDC; -const extern struct SpriteTemplate gSpriteTemplate_Brendan; -const extern struct SpriteTemplate gSpriteTemplate_8416CF4; -const extern struct SpriteTemplate gSpriteTemplate_May; -const extern struct SpriteTemplate gSpriteTemplate_8416D7C; -const extern struct SpriteTemplate gSpriteTemplate_8416D94; - void sub_8149280(); void sub_8148CB0(u8 a) @@ -144,7 +370,7 @@ void sub_8148CB0(u8 a) LZ77UnCompVram(&gUnknown_084128D8, (void *)(VRAM)); LZ77UnCompVram(&gUnknown_08412EB4, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_08412818, 0, 96); - LoadCompressedObjectPic(&gUnknown_08416B54); + LoadCompressedObjectPic(gUnknown_08416B54); LZ77UnCompVram(&gUnknown_084131C4, (void *)(VRAM + 0x10000)); LoadPalette(&gUnknown_08413184, 256, 32); sub_8149248(); @@ -154,7 +380,7 @@ void sub_8148CB0(u8 a) LZ77UnCompVram(&gUnknown_084128D8, (void *)(VRAM)); LZ77UnCompVram(&gUnknown_08412EB4, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_08412878, 0, 96); - LoadCompressedObjectPic(&gUnknown_08416B54); + LoadCompressedObjectPic(gUnknown_08416B54); LZ77UnCompVram(&gUnknown_084131C4, (void *)(VRAM + 0x10000)); LoadPalette(&gUnknown_084131A4, 256, 32); sub_8149248(); @@ -165,7 +391,7 @@ void sub_8148CB0(u8 a) LZ77UnCompVram(&gUnknown_08413340, (void *)(VRAM)); LZ77UnCompVram(&gUnknown_084139C8, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_08413320, 0, 32); - LoadCompressedObjectPic(&gUnknown_08416BDC); + LoadCompressedObjectPic(gUnknown_08416BDC); LoadPalette(&gUnknown_08413320, 256, 32); sub_8149264(); break; @@ -174,7 +400,7 @@ void sub_8148CB0(u8 a) LZ77UnCompVram(&gUnknown_08413E78, (void *)(VRAM)); LZ77UnCompVram(&gUnknown_08414084, (void *)(VRAM + 0x3000)); LoadPalette(&gUnknown_08413E38, 0, 64); - LoadCompressedObjectPic(&gUnknown_08416C70); + LoadCompressedObjectPic(gUnknown_08416C70); LoadPalette(&gUnknown_08414064, 256, 32); sub_8149280(); break; @@ -367,43 +593,43 @@ _0814901C: .4byte REG_BG3VOFS\n\ void sub_8149020(u8 mode) { - u16 var1; - u16 var2; + u16 x; + u16 y; switch (mode) { case 0: default: /* stuff */ - if (gMain.vblankCounter1 & 3 || gPaletteFade.active) + if (gMain.vblankCounter1 & 3 || gPaletteFade.active) break; if (gMain.vblankCounter1 & 4) { - var1 = gPlttBufferUnfaded[9]; - var2 = gPlttBufferUnfaded[10]; + x = gPlttBufferUnfaded[9]; + y = gPlttBufferUnfaded[10]; } else { - var1 = gPlttBufferUnfaded[10]; - var2 = gPlttBufferUnfaded[9]; + x = gPlttBufferUnfaded[10]; + y = gPlttBufferUnfaded[9]; } - LoadPalette(&var1, 9, 2); - LoadPalette(&var2, 10, 2); + LoadPalette(&x, 9, 2); + LoadPalette(&y, 10, 2); break; case 2: - if (gMain.vblankCounter1 & 3 || gPaletteFade.active) + if (gMain.vblankCounter1 & 3 || gPaletteFade.active) break; if (gMain.vblankCounter1 & 4) { - var1 = 0x3D27; - var2 = 0x295; + x = 0x3D27; + y = 0x295; } else { - var1 = 0x31C; - var2 = 0x3D27; + x = 0x31C; + y = 0x3D27; } - LoadPalette(&var1, 12, 2); - LoadPalette(&var2, 13, 2); + LoadPalette(&x, 12, 2); + LoadPalette(&y, 13, 2); break; case 1: break; @@ -433,42 +659,42 @@ void sub_814910C(struct Sprite *sprite) } } -void sub_8149174(u8 a, struct UnknownStruct1 *b, const union AnimCmd *const *c, u8 d) +void sub_8149174(u8 a, const struct IntroCreditsSpriteMetadata *b, const union AnimCmd *const *c, u8 d) { u8 i; for(i = 0; i < d; i++) { - u8 sprite = CreateSprite(&gSpriteTemplate_8416B3C, b[i].var1, b[i].var2, b[i].var3); - CalcCenterToCornerVec(&gSprites[sprite], b[i].var0_4, b[i].var0_6, 0); + u8 sprite = CreateSprite(&gSpriteTemplate_8416B3C, b[i].x, b[i].y, b[i].subpriority); + CalcCenterToCornerVec(&gSprites[sprite], b[i].shape, b[i].size, 0); gSprites[sprite].oam.priority = 3; - gSprites[sprite].oam.shape = b[i].var0_4; - gSprites[sprite].oam.size = b[i].var0_6; + gSprites[sprite].oam.shape = b[i].shape; + gSprites[sprite].oam.size = b[i].size; gSprites[sprite].oam.paletteNum = 0; gSprites[sprite].anims = c; - StartSpriteAnim(&gSprites[sprite], b[i].var0_0); + StartSpriteAnim(&gSprites[sprite], b[i].animNum); gSprites[sprite].data[0] = a; - gSprites[sprite].data[1] = b[i].var4; + gSprites[sprite].data[1] = b[i].xOff; gSprites[sprite].data[2] = 0; } } void sub_8149248() { - sub_8149174(0, &gUnknown_08416B94, &gSpriteAnimTable_8416B84, 9); + sub_8149174(0, gUnknown_08416B94, gSpriteAnimTable_8416B84, 9); } void sub_8149264() { - sub_8149174(1, &gUnknown_08416C10, &gSpriteAnimTable_8416C04, 12); + sub_8149174(1, gUnknown_08416C10, gSpriteAnimTable_8416C04, 12); } void sub_8149280() { - sub_8149174(1, &gUnknown_08416C8C, &gSpriteAnimTable_8416C88, 6); + sub_8149174(1, gUnknown_08416C8C, gSpriteAnimTable_8416C88, 6); } -void nullsub_82() +void nullsub_82(struct Sprite *sprite) { } @@ -499,7 +725,7 @@ u8 intro_create_may_sprite(s16 a, s16 b) return sprite; } -void nullsub_83() +void nullsub_83(struct Sprite *sprite) { } |