summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-12-24 14:23:52 -0600
committerGitHub <noreply@github.com>2017-12-24 14:23:52 -0600
commite3078400bbdb3e8416806127290b9a2d68cfb3b8 (patch)
tree7ef9993608fc9c6e426ce908957ac07f72b8f650 /src
parentb827bd9a5a44e17fa9fced591465fc64a619a134 (diff)
parente5c216e5066dac26fad64cb2e7bb6a5f0d40bf3f (diff)
Merge pull request #492 from PikalaxALT/decompile_data
Decompile data and abstract away some explicit memcpy calls
Diffstat (limited to 'src')
-rw-r--r--src/data/bard_music_de.h3699
-rw-r--r--src/data/bard_music_en.h3678
-rw-r--r--src/data/menu_cursor_de.h345
-rw-r--r--src/data/menu_cursor_en.h363
-rw-r--r--src/debug/unknown_debug_menu.c26
-rw-r--r--src/engine/menu_cursor.c26
-rw-r--r--src/engine/mystery_event_msg.c51
-rw-r--r--src/engine/mystery_event_script.c12
-rw-r--r--src/engine/naming_screen.c425
-rw-r--r--src/engine/trainer_card.c5
-rw-r--r--src/field/bard_music.c174
-rw-r--r--src/field/decoration.c270
-rw-r--r--src/field/field_effect.c257
-rw-r--r--src/field/field_effect_helpers.c84
-rw-r--r--src/field/field_map_obj.c38
-rw-r--r--src/field/field_map_obj_helpers.c115
-rw-r--r--src/field/field_specials.c27
-rw-r--r--src/field/overworld.c26
-rw-r--r--src/field/party_menu.c67
-rw-r--r--src/field/player_pc.c18
-rw-r--r--src/field/trainer_see.c96
-rw-r--r--src/libs/m4a_2.c2
-rw-r--r--src/libs/m4a_4.c2
-rw-r--r--src/pokemon/pokemon_2.c2
-rw-r--r--src/scene/credits.c12
-rw-r--r--src/scene/intro.c10
-rwxr-xr-xsrc/scene/intro_credits_graphics.c392
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)
{
}