summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--.travis.yml5
-rwxr-xr-x[-rw-r--r--].travis/calcrom/calcrom.pl15
-rw-r--r--INSTALL.md15
-rw-r--r--Makefile71
-rw-r--r--README.md5
-rw-r--r--asm/crt0.s43
-rw-r--r--asm/easy_chat_2.s7654
-rw-r--r--asm/librfu.s2253
-rw-r--r--asm/librfu_intr.s697
-rw-r--r--asm/librfu_stwi.s1560
-rw-r--r--asm/link_rfu.s7646
-rw-r--r--asm/link_rfu_2.s8
-rw-r--r--asm/macros.inc9
-rw-r--r--asm/pokedex_screen.s34
-rw-r--r--asm/post_battle_event_funcs.s121
-rwxr-xr-xasmdiff.sh26
-rw-r--r--config.mk51
-rw-r--r--data/event_object_80688E4.s4
-rw-r--r--data/event_scripts.s10
-rw-r--r--data/field_effect.s11
-rw-r--r--data/graphics.s64
-rw-r--r--data/graphics/title_screen/lg_border_bg.bin1
-rw-r--r--data/graphics/title_screen/unk_lg_83bf764.pal19
-rw-r--r--data/graphics/title_screen/unk_lg_83bf784.pngbin0 -> 350 bytes
-rw-r--r--data/graphics/title_screen/unk_lg_83bf89c.pngbin0 -> 135 bytes
-rw-r--r--data/link_rfu.s8
-rw-r--r--data/link_rfu_2.s2
-rw-r--r--data/link_rfu_3.s2
-rw-r--r--data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc59
-rw-r--r--data/pokedex_screen.s2294
-rw-r--r--data/strings.s20
-rw-r--r--data/text/help_system.inc5
-rw-r--r--firered.sha1 (renamed from rom.sha1)0
-rw-r--r--firered_rev1.sha11
-rw-r--r--graphics/field_effects/unk_83CBB30.binbin768 -> 640 bytes
-rw-r--r--graphics/field_effects/unk_83CBDB0.pngbin0 -> 217 bytes
-rw-r--r--graphics/pokemon/deoxys/back_def.pngbin0 -> 1106 bytes
-rw-r--r--graphics/pokemon/deoxys/front_def.pngbin0 -> 1650 bytes
-rw-r--r--graphics/pokemon/deoxys/icon_defense.pngbin0 -> 414 bytes
-rw-r--r--graphics/slot_machine/unk_846504c.pal19
-rw-r--r--graphics/slot_machine/unk_lg_8464434.pngbin0 -> 1200 bytes
-rw-r--r--graphics/slot_machine/unk_lg_8464a3c.pngbin0 -> 845 bytes
-rw-r--r--graphics/slot_machine/unk_lg_84652bc.pal19
-rw-r--r--graphics/slot_machine/unk_lg_84652dc.pal19
-rw-r--r--graphics/slot_machine/unk_lg_84652fc.pal19
-rw-r--r--graphics/slot_machine/unk_lg_846531c.pal19
-rw-r--r--graphics/slot_machine/unk_lg_846533c.pal19
-rw-r--r--graphics/slot_machine/unk_lg_846535c.pngbin0 -> 1605 bytes
-rw-r--r--graphics/slot_machine/unk_lg_8465ab8.binbin0 -> 1280 bytes
-rw-r--r--graphics/slot_machine/unk_lg_8465d9c.pal19
-rw-r--r--graphics/slot_machine/unk_lg_8465dbc.pal19
-rw-r--r--graphics/slot_machine/unk_lg_8465ddc.pal19
-rw-r--r--graphics/slot_machine/unk_lg_8465dfc.pal19
-rw-r--r--graphics/slot_machine/unk_lg_8465f00.pngbin0 -> 842 bytes
-rw-r--r--graphics/slot_machine/unk_lg_8466278.binbin0 -> 1280 bytes
-rw-r--r--graphics/title_screen/unk_lg_8eab744.pal259
-rw-r--r--graphics/title_screen/unk_lg_8eab944.pngbin0 -> 5875 bytes
-rw-r--r--graphics/title_screen/unk_lg_8ead508.binbin0 -> 1280 bytes
-rw-r--r--graphics/title_screen/unk_lg_8ead768.pal19
-rw-r--r--graphics/title_screen/unk_lg_8ead788.pngbin0 -> 2031 bytes
-rw-r--r--graphics/title_screen/unk_lg_8eae1ec.binbin0 -> 1280 bytes
-rw-r--r--graphics/title_screen/unk_lg_8eae388.pal19
-rw-r--r--graphics/title_screen/unk_lg_8eae77c.pal19
-rw-r--r--graphics_file_rules.mk3
-rw-r--r--include/cereader_tool.h15
-rw-r--r--include/config.h22
-rw-r--r--include/constants/object_events.h6
-rw-r--r--include/easy_chat.h8
-rw-r--r--include/event_object_movement.h1
-rw-r--r--include/event_scripts.h3
-rw-r--r--include/graphics.h16
-rw-r--r--include/load_save.h1
-rw-r--r--include/overworld.h2
-rw-r--r--include/pokedex_screen.h14
-rw-r--r--include/rom_818CFC8.h13
-rw-r--r--include/rom_81BE66C.h14
-rw-r--r--include/strings.h5
-rw-r--r--include/trade.h2
-rw-r--r--ld_script.txt13
-rw-r--r--leafgreen.sha11
-rw-r--r--leafgreen_rev1.sha11
-rw-r--r--sound/direct_sound_data.inc1199
-rw-r--r--sound/direct_sound_samples/bicycle_bell.aif (renamed from sound/direct_sound_samples/wave_53.aif)bin6562 -> 6562 bytes
-rw-r--r--sound/direct_sound_samples/classical_choir_voice_ahhs.aif (renamed from sound/direct_sound_samples/wave_6.aif)bin5906 -> 5906 bytes
-rw-r--r--sound/direct_sound_samples/dance_drums_ride_bell.aif (renamed from sound/direct_sound_samples/wave_26.aif)bin30834 -> 30834 bytes
-rw-r--r--sound/direct_sound_samples/drum_and_percussion_kick.aif (renamed from sound/direct_sound_samples/wave_23.aif)bin3930 -> 3930 bytes
-rw-r--r--sound/direct_sound_samples/jv1080_slap_bass.aif (renamed from sound/direct_sound_samples/wave_3.aif)bin3994 -> 3994 bytes
-rw-r--r--sound/direct_sound_samples/register_noise.aif (renamed from sound/direct_sound_samples/wave_76.aif)bin8098 -> 8098 bytes
-rw-r--r--sound/direct_sound_samples/sc88_accordion.aif (renamed from sound/direct_sound_samples/wave_74.aif)bin5170 -> 5170 bytes
-rw-r--r--sound/direct_sound_samples/sc88_accordion_duplicate.aif (renamed from sound/direct_sound_samples/wave_80.aif)bin5170 -> 5170 bytes
-rw-r--r--sound/direct_sound_samples/sc88_bongo.aif (renamed from sound/direct_sound_samples/wave_21.aif)bin1370 -> 1370 bytes
-rw-r--r--sound/direct_sound_samples/sc88_bongo_low.aif (renamed from sound/direct_sound_samples/wave_22.aif)bin1546 -> 1546 bytes
-rw-r--r--sound/direct_sound_samples/sc88_bubbles.aif (renamed from sound/direct_sound_samples/wave_60.aif)bin4178 -> 4178 bytes
-rw-r--r--sound/direct_sound_samples/sc88_flute.aif (renamed from sound/direct_sound_samples/wave_48.aif)bin1990 -> 1990 bytes
-rw-r--r--sound/direct_sound_samples/sc88_french_horn_60.aif (renamed from sound/direct_sound_samples/wave_46.aif)bin28662 -> 28662 bytes
-rw-r--r--sound/direct_sound_samples/sc88_french_horn_72.aif (renamed from sound/direct_sound_samples/wave_47.aif)bin17894 -> 17894 bytes
-rw-r--r--sound/direct_sound_samples/sc88_fretless_bass.aif (renamed from sound/direct_sound_samples/wave_2.aif)bin3118 -> 3118 bytes
-rw-r--r--sound/direct_sound_samples/sc88_glockenspiel.aif (renamed from sound/direct_sound_samples/wave_0.aif)bin1798 -> 1798 bytes
-rw-r--r--sound/direct_sound_samples/sc88_harp.aif (renamed from sound/direct_sound_samples/wave_70.aif)bin2706 -> 2706 bytes
-rw-r--r--sound/direct_sound_samples/sc88_nylon_str_guitar.aif (renamed from sound/direct_sound_samples/wave_78.aif)bin8146 -> 8146 bytes
-rw-r--r--sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif (renamed from sound/direct_sound_samples/wave_20.aif)bin3982 -> 3982 bytes
-rw-r--r--sound/direct_sound_samples/sc88_orchestra_snare.aif (renamed from sound/direct_sound_samples/wave_17.aif)bin2234 -> 2234 bytes
-rw-r--r--sound/direct_sound_samples/sc88_organ2.aif (renamed from sound/direct_sound_samples/wave_1.aif)bin2138 -> 2138 bytes
-rw-r--r--sound/direct_sound_samples/sc88_piano1_48.aif (renamed from sound/direct_sound_samples/wave_34.aif)bin4034 -> 4034 bytes
-rw-r--r--sound/direct_sound_samples/sc88_piano1_60.aif (renamed from sound/direct_sound_samples/wave_35.aif)bin5826 -> 5826 bytes
-rw-r--r--sound/direct_sound_samples/sc88_piano1_72.aif (renamed from sound/direct_sound_samples/wave_36.aif)bin5566 -> 5566 bytes
-rw-r--r--sound/direct_sound_samples/sc88_piano1_84.aif (renamed from sound/direct_sound_samples/wave_37.aif)bin3054 -> 3054 bytes
-rw-r--r--sound/direct_sound_samples/sc88_pick_bass.aif (renamed from sound/direct_sound_samples/wave_49.aif)bin7346 -> 7346 bytes
-rw-r--r--sound/direct_sound_samples/sc88_pizzicato_strings.aif (renamed from sound/direct_sound_samples/wave_55.aif)bin1950 -> 1950 bytes
-rw-r--r--sound/direct_sound_samples/sc88_square_wave.aif (renamed from sound/direct_sound_samples/wave_52.aif)bin7286 -> 7286 bytes
-rw-r--r--sound/direct_sound_samples/sc88_standard3_snare.aif (renamed from sound/direct_sound_samples/wave_15.aif)bin1846 -> 1846 bytes
-rw-r--r--sound/direct_sound_samples/sc88_standard_bells.aif (renamed from sound/direct_sound_samples/wave_30.aif)bin6230 -> 6230 bytes
-rw-r--r--sound/direct_sound_samples/sc88_standard_hand_clap.aif (renamed from sound/direct_sound_samples/wave_16.aif)bin2258 -> 2258 bytes
-rw-r--r--sound/direct_sound_samples/sc88_standard_kick.aif (renamed from sound/direct_sound_samples/wave_14.aif)bin1250 -> 1250 bytes
-rw-r--r--sound/direct_sound_samples/sc88_string_ensemble_60.aif (renamed from sound/direct_sound_samples/wave_38.aif)bin13830 -> 13830 bytes
-rw-r--r--sound/direct_sound_samples/sc88_string_ensemble_72.aif (renamed from sound/direct_sound_samples/wave_39.aif)bin9086 -> 9086 bytes
-rw-r--r--sound/direct_sound_samples/sc88_string_ensemble_84.aif (renamed from sound/direct_sound_samples/wave_40.aif)bin14126 -> 14126 bytes
-rw-r--r--sound/direct_sound_samples/sc88_synth_bass.aif (renamed from sound/direct_sound_samples/wave_4.aif)bin3286 -> 3286 bytes
-rw-r--r--sound/direct_sound_samples/sc88_timpani.aif (renamed from sound/direct_sound_samples/wave_5.aif)bin5426 -> 5426 bytes
-rw-r--r--sound/direct_sound_samples/sc88_timpani_with_snare.aif (renamed from sound/direct_sound_samples/wave_50.aif)bin5426 -> 5426 bytes
-rw-r--r--sound/direct_sound_samples/sc88_trumpet_60.aif (renamed from sound/direct_sound_samples/wave_41.aif)bin5042 -> 5042 bytes
-rw-r--r--sound/direct_sound_samples/sc88_trumpet_72.aif (renamed from sound/direct_sound_samples/wave_42.aif)bin5490 -> 5490 bytes
-rw-r--r--sound/direct_sound_samples/sc88_trumpet_84.aif (renamed from sound/direct_sound_samples/wave_43.aif)bin5250 -> 5250 bytes
-rw-r--r--sound/direct_sound_samples/sc88_tubular_bell.aif (renamed from sound/direct_sound_samples/wave_66.aif)bin6610 -> 6610 bytes
-rw-r--r--sound/direct_sound_samples/sc88_wind.aif (renamed from sound/direct_sound_samples/wave_59.aif)bin4774 -> 4774 bytes
-rw-r--r--sound/direct_sound_samples/sc88_xylophone.aif (renamed from sound/direct_sound_samples/wave_71.aif)bin2710 -> 2710 bytes
-rw-r--r--sound/direct_sound_samples/sd90_ambient_tom.aif (renamed from sound/direct_sound_samples/wave_25.aif)bin8478 -> 8478 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif (renamed from sound/direct_sound_samples/wave_87.aif)bin5130 -> 5130 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif (renamed from sound/direct_sound_samples/wave_86.aif)bin9930 -> 9930 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_distortion_guitar_high.aif (renamed from sound/direct_sound_samples/wave_83.aif)bin12370 -> 12370 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_distortion_guitar_low.aif (renamed from sound/direct_sound_samples/wave_84.aif)bin11446 -> 11446 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_oboe.aif (renamed from sound/direct_sound_samples/wave_7.aif)bin5030 -> 5030 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_overdrive_guitar.aif (renamed from sound/direct_sound_samples/wave_82.aif)bin7890 -> 7890 bytes
-rw-r--r--sound/direct_sound_samples/sd90_classical_whistle.aif (renamed from sound/direct_sound_samples/wave_85.aif)bin2754 -> 2754 bytes
-rw-r--r--sound/direct_sound_samples/sd90_enhanced_delay_shaku.aif (renamed from sound/direct_sound_samples/wave_88.aif)bin8546 -> 8546 bytes
-rw-r--r--sound/direct_sound_samples/sd90_solo_snare.aif (renamed from sound/direct_sound_samples/wave_24.aif)bin6582 -> 6582 bytes
-rw-r--r--sound/direct_sound_samples/sd90_special_scream_drive.aif (renamed from sound/direct_sound_samples/wave_79.aif)bin6298 -> 6298 bytes
-rw-r--r--sound/direct_sound_samples/steinway_b_piano.aif (renamed from sound/direct_sound_samples/wave_81.aif)bin4646 -> 4646 bytes
-rw-r--r--sound/direct_sound_samples/trinity_cymbal_crash.aif (renamed from sound/direct_sound_samples/wave_19.aif)bin2374 -> 2374 bytes
-rw-r--r--sound/direct_sound_samples/unknown_anvil_high.aif (renamed from sound/direct_sound_samples/wave_29.aif)bin3766 -> 3766 bytes
-rw-r--r--sound/direct_sound_samples/unknown_anvil_low.aif (renamed from sound/direct_sound_samples/wave_31.aif)bin5606 -> 5606 bytes
-rw-r--r--sound/direct_sound_samples/unknown_close_hihat.aif (renamed from sound/direct_sound_samples/wave_67.aif)bin1110 -> 1110 bytes
-rw-r--r--sound/direct_sound_samples/unknown_cowbell.aif (renamed from sound/direct_sound_samples/wave_27.aif)bin2554 -> 2554 bytes
-rw-r--r--sound/direct_sound_samples/unknown_djembe.aif (renamed from sound/direct_sound_samples/wave_28.aif)bin3778 -> 3778 bytes
-rw-r--r--sound/direct_sound_samples/unknown_ethnic_drum.aif (renamed from sound/direct_sound_samples/wave_32.aif)bin5670 -> 5670 bytes
-rw-r--r--sound/direct_sound_samples/unknown_polysynth.aif (renamed from sound/direct_sound_samples/wave_69.aif)bin13122 -> 13122 bytes
-rw-r--r--sound/direct_sound_samples/unknown_snare.aif (renamed from sound/direct_sound_samples/wave_11.aif)bin1306 -> 1306 bytes
-rw-r--r--sound/direct_sound_samples/unknown_synth_snare.aif (renamed from sound/direct_sound_samples/wave_51.aif)bin2670 -> 2670 bytes
-rw-r--r--sound/direct_sound_samples/unknown_tambourine.aif (renamed from sound/direct_sound_samples/wave_18.aif)bin2294 -> 2294 bytes
-rw-r--r--sound/direct_sound_samples/unknown_tom.aif (renamed from sound/direct_sound_samples/wave_75.aif)bin4258 -> 4258 bytes
-rw-r--r--sound/direct_sound_samples/unknown_trombone_39.aif (renamed from sound/direct_sound_samples/wave_44.aif)bin4350 -> 4350 bytes
-rw-r--r--sound/direct_sound_samples/unknown_trombone_51.aif (renamed from sound/direct_sound_samples/wave_45.aif)bin4286 -> 4286 bytes
-rw-r--r--sound/direct_sound_samples/unknown_tsuzumi.aif (renamed from sound/direct_sound_samples/wave_33.aif)bin4406 -> 4406 bytes
-rw-r--r--sound/direct_sound_samples/unknown_wood_block_high.aif (renamed from sound/direct_sound_samples/wave_13.aif)bin4970 -> 4970 bytes
-rw-r--r--sound/direct_sound_samples/unknown_wood_block_low.aif (renamed from sound/direct_sound_samples/wave_12.aif)bin6430 -> 6430 bytes
-rw-r--r--sound/direct_sound_samples/unused_acid_bass.aif (renamed from sound/direct_sound_samples/wave_63.aif)bin8254 -> 8254 bytes
-rw-r--r--sound/direct_sound_samples/unused_electric_guitar.aif (renamed from sound/direct_sound_samples/wave_9.aif)bin4982 -> 4982 bytes
-rw-r--r--sound/direct_sound_samples/unused_sc88_unison_slap.aif (renamed from sound/direct_sound_samples/wave_10.aif)bin13918 -> 13918 bytes
-rw-r--r--sound/direct_sound_samples/unused_sd90_oboe.aif (renamed from sound/direct_sound_samples/wave_8.aif)bin2822 -> 2822 bytes
-rw-r--r--sound/voice_groups.inc1012
-rw-r--r--src/battle_ai_script_commands.c3
-rw-r--r--src/battle_transition.c4
-rw-r--r--src/braille_text.c1
-rw-r--r--src/cereader_tool.c4
-rw-r--r--src/data/ingame_trades.h36
-rw-r--r--src/data/pokemon/level_up_learnsets.h25
-rw-r--r--src/data/pokemon/pokedex_orders.h1610
-rw-r--r--src/data/pokemon/pokedex_text.h2713
-rw-r--r--src/data/pokemon/pokedex_text_fr.h2720
-rw-r--r--src/data/pokemon/pokedex_text_lg.h2711
-rw-r--r--src/data/pokemon_graphics/footprint_table.h416
-rw-r--r--src/data/wild_encounters.json12807
-rw-r--r--src/data/wild_encounters.json.txt7
-rw-r--r--src/daycare.c4
-rw-r--r--src/field_specials.c2
-rw-r--r--src/fieldmap.c2
-rw-r--r--src/intro.c17
-rw-r--r--src/link.c2
-rw-r--r--src/main.c9
-rw-r--r--src/malloc.c12
-rw-r--r--src/menews_jisan.c2
-rw-r--r--src/menu2.c4
-rw-r--r--src/mevent.c16
-rw-r--r--src/mevent_server.c54
-rw-r--r--src/mystery_event_script.c4
-rw-r--r--src/oak_speech.c24
-rw-r--r--src/pokedex.c5
-rw-r--r--src/pokedex_screen.c106
-rw-r--r--src/pokemon.c12
-rw-r--r--src/post_battle_event_funcs.c59
-rw-r--r--src/quest_log.c75
-rw-r--r--src/scrcmd.c4
-rw-r--r--src/script_menu.c8
-rw-r--r--src/slot_machine.c37
-rw-r--r--src/string_util.c28
-rw-r--r--src/title_screen.c202
-rw-r--r--src/trade.c1799
-rw-r--r--src/trainer_card.c130
-rw-r--r--src/trainer_tower.c97
-rw-r--r--src/vs_seeker.c2
-rw-r--r--tools/jsonproc/jsonproc.cpp7
202 files changed, 32969 insertions, 18384 deletions
diff --git a/.gitignore b/.gitignore
index c0b0cb86c..e590e06f6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,9 @@
*.exe
*.fwjpnfont
*.gba
+*.sgm
+*.sa1
+*.sg1
*.gbapal
*.hwjpnfont
*.i
diff --git a/.travis.yml b/.travis.yml
index 519ba1aca..d12c7ddcb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,5 +1,5 @@
language: generic
-dist: trusty
+dist: bionic
sudo: false
addons:
apt:
@@ -27,5 +27,8 @@ matrix:
script:
- make tools CXX=g++-7
- make -j2 compare
+ - make -j2 compare_leafgreen
+ - make -j2 compare_firered_rev1
+ - make -j2 compare_leafgreen_rev1
after_success:
- .travis/calcrom/webhook.sh pokefirered
diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl
index d252be996..603a727d9 100644..100755
--- a/.travis/calcrom/calcrom.pl
+++ b/.travis/calcrom/calcrom.pl
@@ -136,25 +136,10 @@ print "$documented symbols documented ($docPct%)\n";
print "$partial_documented symbols partially documented ($partialPct%)\n";
print "$undocumented symbols undocumented ($undocPct%)\n";
-my $foundLines = `git grep '\.incbin "baserom\.gba"' data/`;
-my @allLines = split('\n', $foundLines);
-my $incbinTotal = 0;
-my $incbinNum = 0;
-foreach my $line (@allLines)
-{
- if ($line =~ /\.incbin\s+"baserom\.gba",\s*0x\w+,\s*(.+?)\s*(\@.*)?$/)
- {
- my $size = hex($1);
- $incbinTotal += $size;
- $incbinNum++;
- }
-}
print "\n";
my $dataTotal = $srcdata + $data;
my $srcDataPct = sprintf("%.4f", 100 * $srcdata / $dataTotal);
my $dataPct = sprintf("%.4f", 100 * $data / $dataTotal);
-my $incbinTotalPct = sprintf("%.4f", 100 * $incbinTotal / $dataTotal);
print "$dataTotal total bytes of data\n";
print "$srcdata bytes of data in src ($srcDataPct%)\n";
print "$data bytes of data in data ($dataPct%)\n";
-print "$incbinNum baserom incbins with a combined $incbinTotal bytes ($incbinTotalPct%)\n";
diff --git a/INSTALL.md b/INSTALL.md
index 729014051..1b2ba259e 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,6 +1,6 @@
## Prerequisites
-| Linux | macOS | Windows 10 (build 18917+) | Windows 10 (1709+) | Windows Vista, 7, 8, 8.1, and 10 (1507, 1511, 1607, 1703)
+| Linux | macOS | Windows 10 (build 18917+) | Windows 10 (1709+) | Windows 8, 8.1, and 10 (1507, 1511, 1607, 1703)
| ----- | ----- | ------------------------- | ------------------ | ---------------------------------------------------------
| none | [Xcode Command Line Tools package][xcode] | [Windows Subsystem for Linux 2][wsl2] | [Windows Subsystem for Linux][wsl] | [Cygwin][cygwin]
@@ -42,4 +42,17 @@ If only `.c` or `.s` files were changed, turn off the dependency scanning tempor
make -j$(nproc) NODEP=1
+Convenient targets have been defined to build Pokémon LeafGreen and the 1.1 revisions of both games:
+
+ # LeafGreen 1.0
+ make -j$(nproc) leafgreen
+ # FireRed 1.1
+ make -j$(nproc) firered_rev1
+ # LeafGreen 1.1
+ make -j$(nproc) leafgreen_rev1
+
+To confirm these match the respective official ROM images, prefix `compare_` to each target name. For example:
+
+ make -j$(nproc) compare_leafgreen
+
**Note:** If the build command is not recognized on Linux, including the Linux environment used within Windows, run `nproc` and replace `$(nproc)` with the returned value (e.g.: `make -j4`). Because `nproc` is not available on macOS, the alternative is `sysctl -n hw.ncpu`.
diff --git a/Makefile b/Makefile
index f818c84ab..edaa183ed 100644
--- a/Makefile
+++ b/Makefile
@@ -5,36 +5,7 @@ CPP := $(CC) -E
LD := tools/binutils/bin/arm-none-eabi-ld
OBJCOPY := tools/binutils/bin/arm-none-eabi-objcopy
-GAME_VERSION := FIRERED
-REVISION := 0
-GAME_LANGUAGE := ENGLISH
-
-# So long as baserom.gba is required, we error out if the
-# user tries to build any ROM other than FireRed.
-ifneq ($(GAME_VERSION),FIRERED)
-$(error We can only build English Pokemon FireRed v1.0 currently)
-else ifneq ($(REVISION),0)
-$(error We can only build English Pokemon FireRed v1.0 currently)
-else ifneq ($(GAME_LANGUAGE),ENGLISH)
-$(error We can only build English Pokemon FireRed v1.0 currently)
-endif
-
-ifeq ($(GAME_VERSION),FIRERED)
-TITLE := POKEMON FIRE
-GAME_CODE := BPR
-BUILD_NAME := firered
-else
-TITLE := POKEMON LEAF
-GAME_CODE := BPL
-BUILD_NAME := leafgreen
-endif
-ifeq ($(GAME_LANGUAGE),ENGLISH)
-GAME_CODE := $(GAME_CODE)E
-endif
-ifneq ($(REVISION),0)
-BUILD_NAME := $(BUILD_NAME)_rev$(REVISION)
-endif
-MAKER_CODE := 01
+include config.mk
SHELL := /bin/bash -o pipefail
@@ -57,12 +28,12 @@ DATA_ASM_BUILDDIR = $(OBJ_DIR)/$(DATA_ASM_SUBDIR)
SONG_BUILDDIR = $(OBJ_DIR)/$(SONG_SUBDIR)
MID_BUILDDIR = $(OBJ_DIR)/$(MID_SUBDIR)
-ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(REVISION) --defsym $(GAME_LANGUAGE)=1
+ASFLAGS := -mcpu=arm7tdmi --defsym $(GAME_VERSION)=1 --defsym REVISION=$(GAME_REVISION) --defsym $(GAME_LANGUAGE)=1
CC1 := tools/agbcc/bin/agbcc
override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm
-CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -undef -D$(GAME_VERSION) -DREVISION=$(REVISION) -D$(GAME_LANGUAGE)
+CPPFLAGS := -I tools/agbcc -I tools/agbcc/include -iquote include -nostdinc -undef -D$(GAME_VERSION) -DREVISION=$(GAME_REVISION) -D$(GAME_LANGUAGE)
LDFLAGS = -Map ../../$(MAP)
@@ -123,7 +94,9 @@ TOOLDIRS := $(filter-out tools/agbcc tools/binutils,$(wildcard tools/*))
TOOLBASE = $(TOOLDIRS:tools/%=%)
TOOLS = $(foreach tool,$(TOOLBASE),tools/$(tool)/$(tool)$(EXE))
-.PHONY: all rom tools clean-tools mostlyclean clean compare tidy berry_fix $(TOOLDIRS)
+ALL_BUILDS := firered firered_rev1 leafgreen leafgreen_rev1
+
+.PHONY: all rom tools clean-tools mostlyclean clean compare tidy berry_fix $(TOOLDIRS) $(ALL_BUILDS) $(ALL_BUILDS:%=compare_%)
MAKEFLAGS += --no-print-directory
@@ -133,7 +106,7 @@ all: tools rom
rom: $(ROM)
ifeq ($(COMPARE),1)
- @$(SHA1) rom.sha1
+ @$(SHA1) $(BUILD_NAME).sha1
endif
tools: $(TOOLDIRS)
@@ -146,14 +119,14 @@ compare:
@$(MAKE) COMPARE=1
mostlyclean: tidy
- rm -f sound/direct_sound_samples/*.bin
- rm -f $(SONG_OBJS) $(MID_SUBDIR)/*.s
+ $(RM) sound/direct_sound_samples/*.bin
+ $(RM) $(SONG_OBJS) $(MID_SUBDIR)/*.s
find . \( -iname '*.1bpp' -o -iname '*.4bpp' -o -iname '*.8bpp' -o -iname '*.gbapal' -o -iname '*.lz' -o -iname '*.latfont' -o -iname '*.hwjpnfont' -o -iname '*.fwjpnfont' \) -exec rm {} +
- rm -f $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
- rm -f $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc
+ $(RM) $(DATA_ASM_SUBDIR)/layouts/layouts.inc $(DATA_ASM_SUBDIR)/layouts/layouts_table.inc
+ $(RM) $(DATA_ASM_SUBDIR)/maps/connections.inc $(DATA_ASM_SUBDIR)/maps/events.inc $(DATA_ASM_SUBDIR)/maps/groups.inc $(DATA_ASM_SUBDIR)/maps/headers.inc
find $(DATA_ASM_SUBDIR)/maps \( -iname 'connections.inc' -o -iname 'events.inc' -o -iname 'header.inc' \) -exec rm {} +
- rm -f $(AUTO_GEN_TARGETS)
- @$(MAKE) clean -C berry_fix
+ $(RM) $(AUTO_GEN_TARGETS)
+ @$(MAKE) -C berry_fix clean
clean-tools:
@$(foreach tooldir,$(TOOLDIRS),$(MAKE) clean -C $(tooldir);)
@@ -161,8 +134,8 @@ clean-tools:
clean: mostlyclean clean-tools
tidy:
- rm -f $(ROM) $(ELF) $(MAP)
- rm -r build/*
+ $(RM) $(ALL_BUILDS:%=poke%{.gba,.elf,.map})
+ $(RM) -r build
@$(MAKE) -C berry_fix tidy
include graphics_file_rules.mk
@@ -197,7 +170,7 @@ $(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/isagbprn.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/isagbprn.o: CFLAGS := -mthumb-interwork
-#$(C_BUILDDIR)/trainer_tower.o: CFLAGS += -ffreestanding
+$(C_BUILDDIR)/trainer_tower.o: CFLAGS += -ffreestanding
$(C_BUILDDIR)/flying.o: CFLAGS += -ffreestanding
ifeq ($(NODEP),1)
@@ -252,8 +225,18 @@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_comm
$(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
cd $(OBJ_DIR) && ../../$(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(LIB)
- $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
+ $(FIX) $@ -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(GAME_REVISION) --silent
$(ROM): $(ELF)
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@
+# "friendly" target names for convenience sake
+firered: ; @$(MAKE) GAME_VERSION=FIRERED
+firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1
+leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN
+leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1
+
+compare_firered: ; @$(MAKE) GAME_VERSION=FIRERED COMPARE=1
+compare_firered_rev1: ; @$(MAKE) GAME_VERSION=FIRERED GAME_REVISION=1 COMPARE=1
+compare_leafgreen: ; @$(MAKE) GAME_VERSION=LEAFGREEN COMPARE=1
+compare_leafgreen_rev1: ; @$(MAKE) GAME_VERSION=LEAFGREEN GAME_REVISION=1 COMPARE=1
diff --git a/README.md b/README.md
index b72d2ca86..fc8d0f5c7 100644
--- a/README.md
+++ b/README.md
@@ -7,9 +7,12 @@
This is a disassembly of Pokémon FireRed and LeafGreen.
-It builds the following ROM:
+It builds the following ROMs:
* [**pokefirered.gba**](https://datomatic.no-intro.org/?page=show_record&s=23&n=1616) `sha1: 41cb23d8dccc8ebd7c649cd8fbb58eeace6e2fdc`
+* [**pokeleafgreen.gba**](https://datomatic.no-intro.org/?page=show_record&s=23&n=1617) `sha1: 574fa542ffebb14be69902d1d36f1ec0a4afd71e`
+* [**pokefirered_rev1.gba**](https://datomatic.no-intro.org/?page=show_record&s=23&n=1672) `sha1: dd5945db9b930750cb39d00c84da8571feebf417`
+* [**pokeleafgreen_rev1.gba**](https://datomatic.no-intro.org/index.php?page=show_record&s=23&n=1668) `sha1: 7862c67bdecbe21d1d69ce082ce34327e1c6ed5e`
To set up the repository, see [INSTALL.md](INSTALL.md).
diff --git a/asm/crt0.s b/asm/crt0.s
index f2e28c9e1..609845337 100644
--- a/asm/crt0.s
+++ b/asm/crt0.s
@@ -46,20 +46,29 @@ GPIOPortReadEnable: @ 80000C8
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
.4byte 0xFFFFFFFF
+ .ifdef FIRERED
.4byte 4
.4byte 2
.ascii "pokemon red version"
.space 13
- .4byte 0x82350AC @ gMonFrontPicTable
- .4byte 0x823654C @ gMonBackPicTable
- .4byte 0x823730C @ gMonPaletteTable
- .4byte 0x82380CC @ gMonShinyPaletteTable
- .4byte 0x83D37A0 @ gMonIconTable
- .4byte 0x83D3E80 @ gMonIconPaletteIndices
- .4byte 0x83D4038 @ gMonIconPaletteTable
- .4byte 0x8245EE0 @ gSpeciesNames
- .4byte 0x8247094 @ gMoveNames
- .4byte 0x84556F8 @ gDecorations
+ .else
+ .ifdef LEAFGREEN
+ .4byte 5
+ .4byte 2
+ .ascii "pokemon green version"
+ .space 11
+ .endif
+ .endif
+ .4byte gMonFrontPicTable
+ .4byte gMonBackPicTable
+ .4byte gMonPaletteTable
+ .4byte gMonShinyPaletteTable
+ .4byte gMonIconTable
+ .4byte gMonIconPaletteIndices
+ .4byte gMonIconPaletteTable
+ .4byte gSpeciesNames
+ .4byte gMoveNames
+ .4byte gDecorations
.4byte 0xEE0 @ offsetof(struct SaveBlock1, flags)
.4byte 0x1000 @ offsetof(struct SaveBlock1, vars)
.4byte 0x18 @ offsetof(struct SaveBlock2, pokedex)
@@ -88,13 +97,13 @@ GPIOPortReadEnable: @ 80000C8
.4byte 0x30BB
.4byte 0x30A7
.4byte 0
- .4byte 0x8254784 @ gBaseStats
- .4byte 0x824FC40 @ gAbilityNames
- .4byte 0x824FB08 @ gAbilityDescriptionPointers
- .4byte 0x83DB028 @ gItems
- .4byte 0x8250C04 @ gBattleMoves
- .4byte 0x826056C @ gBallSpriteSheets
- .4byte 0x82605CC @ gBallSpritePalettes
+ .4byte gBaseStats
+ .4byte gAbilityNames
+ .4byte gAbilityDescriptionPointers
+ .4byte gItems
+ .4byte gBattleMoves
+ .4byte gBallSpriteSheets
+ .4byte gBallSpritePalettes
.4byte 0xA8
.4byte 0x82C
.4byte 0x83B
diff --git a/asm/easy_chat_2.s b/asm/easy_chat_2.s
new file mode 100644
index 000000000..c88c5deeb
--- /dev/null
+++ b/asm/easy_chat_2.s
@@ -0,0 +1,7654 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start DoEasyChatScreen
+DoEasyChatScreen: @ 80FEBAC
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ adds r5, r0, 0
+ adds r6, r1, 0
+ mov r8, r2
+ lsls r5, 24
+ lsrs r5, 24
+ bl ResetTasks
+ ldr r0, _080FEC00 @ =sub_80FEC54
+ movs r1, 0
+ bl CreateTask
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ ldr r1, _080FEC04 @ =gTasks
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ strh r5, [r0, 0xA]
+ adds r0, r4, 0
+ movs r1, 0x2
+ adds r2, r6, 0
+ bl SetWordTaskArg
+ adds r0, r4, 0
+ movs r1, 0x4
+ mov r2, r8
+ bl SetWordTaskArg
+ ldr r0, _080FEC08 @ =sub_80FEC0C
+ bl SetMainCallback2
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FEC00: .4byte sub_80FEC54
+_080FEC04: .4byte gTasks
+_080FEC08: .4byte sub_80FEC0C
+ thumb_func_end DoEasyChatScreen
+
+ thumb_func_start sub_80FEC0C
+sub_80FEC0C: @ 80FEC0C
+ push {lr}
+ bl RunTasks
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEC0C
+
+ thumb_func_start sub_80FEC24
+sub_80FEC24: @ 80FEC24
+ push {lr}
+ bl TransferPlttBuffer
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEC24
+
+ thumb_func_start sub_80FEC38
+sub_80FEC38: @ 80FEC38
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, _080FEC50 @ =gTasks
+ lsls r2, r0, 2
+ adds r2, r0
+ lsls r2, 3
+ adds r2, r3
+ str r1, [r2]
+ movs r0, 0
+ strh r0, [r2, 0x8]
+ bx lr
+ .align 2, 0
+_080FEC50: .4byte gTasks
+ thumb_func_end sub_80FEC38
+
+ thumb_func_start sub_80FEC54
+sub_80FEC54: @ 80FEC54
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl IsUpdateLinkStateCBActive
+ cmp r0, 0
+ bne _080FEC70
+_080FEC62:
+ adds r0, r4, 0
+ bl sub_80FED80
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FEC62
+ b _080FEC7E
+_080FEC70:
+ adds r0, r4, 0
+ bl sub_80FED80
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _080FEC86
+_080FEC7E:
+ ldr r1, _080FEC8C @ =sub_80FEC90
+ adds r0, r4, 0
+ bl sub_80FEC38
+_080FEC86:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FEC8C: .4byte sub_80FEC90
+ thumb_func_end sub_80FEC54
+
+ thumb_func_start sub_80FEC90
+sub_80FEC90: @ 80FEC90
+ push {r4-r6,lr}
+ sub sp, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _080FECB4 @ =gTasks+0x8
+ adds r6, r0, r1
+ movs r0, 0
+ ldrsh r5, [r6, r0]
+ cmp r5, 0x1
+ beq _080FECEC
+ cmp r5, 0x1
+ bgt _080FECB8
+ cmp r5, 0
+ beq _080FECC2
+ b _080FED6E
+ .align 2, 0
+_080FECB4: .4byte gTasks+0x8
+_080FECB8:
+ cmp r5, 0x2
+ beq _080FED28
+ cmp r5, 0x3
+ beq _080FED38
+ b _080FED6E
+_080FECC2:
+ ldr r0, _080FECE8 @ =sub_80FEC24
+ bl SetVBlankCallback
+ movs r4, 0x1
+ negs r4, r4
+ adds r0, r4, 0
+ movs r1, 0x10
+ movs r2, 0
+ bl BlendPalettes
+ str r5, [sp]
+ adds r0, r4, 0
+ adds r1, r4, 0
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ b _080FED20
+ .align 2, 0
+_080FECE8: .4byte sub_80FEC24
+_080FECEC:
+ bl sub_80FF028
+ lsls r0, 16
+ lsrs r4, r0, 16
+ cmp r4, 0x17
+ bne _080FED10
+ movs r1, 0x1
+ negs r1, r1
+ movs r0, 0
+ str r0, [sp]
+ adds r0, r1, 0
+ movs r2, 0
+ movs r3, 0x10
+ bl BeginNormalPaletteFade
+ movs r0, 0x3
+ strh r0, [r6]
+ b _080FED6E
+_080FED10:
+ cmp r4, 0
+ beq _080FED6E
+ movs r0, 0x5
+ bl PlaySE
+ adds r0, r4, 0
+ bl sub_8100134
+_080FED20:
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+ b _080FED6E
+_080FED28:
+ bl sub_810014C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FED6E
+ movs r0, 0x1
+ strh r0, [r6]
+ b _080FED6E
+_080FED38:
+ ldr r0, _080FED78 @ =gPaletteFade
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080FED6E
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ cmp r0, 0xE
+ bne _080FED50
+ bl sub_80FEF4C
+_080FED50:
+ movs r1, 0x2
+ ldrsh r0, [r6, r1]
+ cmp r0, 0
+ bne _080FED62
+ ldr r0, _080FED7C @ =0x0000082d
+ bl FlagSet
+ bl sub_80FEF2C
+_080FED62:
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl GetWordTaskArg
+ bl sub_80FEE24
+_080FED6E:
+ add sp, 0x4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FED78: .4byte gPaletteFade
+_080FED7C: .4byte 0x0000082d
+ thumb_func_end sub_80FEC90
+
+ thumb_func_start sub_80FED80
+sub_80FED80: @ 80FED80
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r0, r5, 2
+ adds r0, r5
+ lsls r0, 3
+ ldr r1, _080FEDA4 @ =gTasks+0x8
+ adds r6, r0, r1
+ movs r1, 0
+ ldrsh r0, [r6, r1]
+ cmp r0, 0x4
+ bhi _080FEE12
+ lsls r0, 2
+ ldr r1, _080FEDA8 @ =_080FEDAC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080FEDA4: .4byte gTasks+0x8
+_080FEDA8: .4byte _080FEDAC
+ .align 2, 0
+_080FEDAC:
+ .4byte _080FEDC0
+ .4byte _080FEDD4
+ .4byte _080FEDDA
+ .4byte _080FEDEE
+ .4byte _080FEE06
+_080FEDC0:
+ movs r0, 0
+ bl SetVBlankCallback
+ bl ResetSpriteData
+ bl FreeAllSpritePalettes
+ bl ResetPaletteFade
+ b _080FEE16
+_080FEDD4:
+ bl InitEasyChatSelection
+ b _080FEDF2
+_080FEDDA:
+ ldrb r4, [r6, 0x2]
+ adds r0, r5, 0
+ movs r1, 0x2
+ bl GetWordTaskArg
+ adds r1, r0, 0
+ adds r0, r4, 0
+ bl sub_80FEF6C
+ b _080FEDF2
+_080FEDEE:
+ bl sub_80FFF80
+_080FEDF2:
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FEE16
+ adds r0, r5, 0
+ movs r1, 0x4
+ bl GetWordTaskArg
+ bl sub_80FEE24
+ b _080FEE16
+_080FEE06:
+ bl sub_80FFF98
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FEE16
+ b _080FEE1C
+_080FEE12:
+ movs r0, 0
+ b _080FEE1E
+_080FEE16:
+ ldrh r0, [r6]
+ adds r0, 0x1
+ strh r0, [r6]
+_080FEE1C:
+ movs r0, 0x1
+_080FEE1E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FED80
+
+ thumb_func_start sub_80FEE24
+sub_80FEE24: @ 80FEE24
+ push {r4,lr}
+ adds r4, r0, 0
+ bl DestroyEasyChatSelectionData
+ bl sub_80FF010
+ bl sub_810011C
+ bl FreeAllWindowBuffers
+ adds r0, r4, 0
+ bl SetMainCallback2
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FEE24
+
+ thumb_func_start sub_80FEE44
+sub_80FEE44: @ 80FEE44
+ push {lr}
+ ldr r0, _080FEE58 @ =gSpecialVar_0x8004
+ ldrh r0, [r0]
+ cmp r0, 0xE
+ bhi _080FEF12
+ lsls r0, 2
+ ldr r1, _080FEE5C @ =_080FEE60
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080FEE58: .4byte gSpecialVar_0x8004
+_080FEE5C: .4byte _080FEE60
+ .align 2, 0
+_080FEE60:
+ .4byte _080FEE9C
+ .4byte _080FEEB0
+ .4byte _080FEEC4
+ .4byte _080FEED8
+ .4byte _080FEEF4
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEF12
+ .4byte _080FEEEC
+_080FEE9C:
+ ldr r0, _080FEEA8 @ =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r2, _080FEEAC @ =0x00002ca0
+ adds r1, r0, r2
+ b _080FEF08
+ .align 2, 0
+_080FEEA8: .4byte gSaveBlock1Ptr
+_080FEEAC: .4byte 0x00002ca0
+_080FEEB0:
+ ldr r0, _080FEEBC @ =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r2, _080FEEC0 @ =0x00002cac
+ adds r1, r0, r2
+ b _080FEF08
+ .align 2, 0
+_080FEEBC: .4byte gSaveBlock1Ptr
+_080FEEC0: .4byte 0x00002cac
+_080FEEC4:
+ ldr r0, _080FEED0 @ =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r2, _080FEED4 @ =0x00002cb8
+ adds r1, r0, r2
+ b _080FEF08
+ .align 2, 0
+_080FEED0: .4byte gSaveBlock1Ptr
+_080FEED4: .4byte 0x00002cb8
+_080FEED8:
+ ldr r0, _080FEEE4 @ =gSaveBlock1Ptr
+ ldr r0, [r0]
+ ldr r2, _080FEEE8 @ =0x00002cc4
+ adds r1, r0, r2
+ b _080FEF08
+ .align 2, 0
+_080FEEE4: .4byte gSaveBlock1Ptr
+_080FEEE8: .4byte 0x00002cc4
+_080FEEEC:
+ bl GetMEventProfileECWordsMaybe
+ adds r1, r0, 0
+ b _080FEF08
+_080FEEF4:
+ ldr r2, _080FEF18 @ =gSaveBlock1Ptr
+ ldr r0, _080FEF1C @ =gSpecialVar_0x8005
+ ldrh r1, [r0]
+ lsls r0, r1, 3
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _080FEF20 @ =0x00002cd0
+ adds r0, r1
+ ldr r1, [r2]
+ adds r1, r0
+_080FEF08:
+ ldr r0, _080FEF24 @ =gSpecialVar_0x8004
+ ldrb r0, [r0]
+ ldr r2, _080FEF28 @ =sub_80568C4
+ bl DoEasyChatScreen
+_080FEF12:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FEF18: .4byte gSaveBlock1Ptr
+_080FEF1C: .4byte gSpecialVar_0x8005
+_080FEF20: .4byte 0x00002cd0
+_080FEF24: .4byte gSpecialVar_0x8004
+_080FEF28: .4byte sub_80568C4
+ thumb_func_end sub_80FEE44
+
+ thumb_func_start sub_80FEF2C
+sub_80FEF2C: @ 80FEF2C
+ push {r4,lr}
+ ldr r4, _080FEF44 @ =gSpecialVar_0x8004
+ ldr r0, _080FEF48 @ =gUnknown_843F29C
+ movs r1, 0x4
+ bl sub_80FFEDC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FEF44: .4byte gSpecialVar_0x8004
+_080FEF48: .4byte gUnknown_843F29C
+ thumb_func_end sub_80FEF2C
+
+ thumb_func_start sub_80FEF4C
+sub_80FEF4C: @ 80FEF4C
+ push {r4,lr}
+ ldr r4, _080FEF64 @ =gSpecialVar_0x8004
+ ldr r0, _080FEF68 @ =gUnknown_843F2A4
+ movs r1, 0x4
+ bl sub_80FFEDC
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FEF64: .4byte gSpecialVar_0x8004
+_080FEF68: .4byte gUnknown_843F2A4
+ thumb_func_end sub_80FEF4C
+
+ thumb_func_start sub_80FEF6C
+sub_80FEF6C: @ 80FEF6C
+ push {r4-r6,lr}
+ adds r6, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ ldr r4, _080FEF88 @ =gUnknown_203ACE8
+ movs r0, 0x2C
+ bl Alloc
+ str r0, [r4]
+ cmp r0, 0
+ bne _080FEF8C
+ movs r0, 0
+ b _080FF006
+ .align 2, 0
+_080FEF88: .4byte gUnknown_203ACE8
+_080FEF8C:
+ movs r1, 0
+ strb r5, [r0]
+ ldr r0, [r4]
+ str r6, [r0, 0x14]
+ strb r1, [r0, 0x4]
+ ldr r0, [r4]
+ strb r1, [r0, 0x5]
+ ldr r0, [r4]
+ strb r1, [r0, 0x6]
+ ldr r0, [r4]
+ strb r1, [r0, 0x9]
+ adds r0, r5, 0
+ bl sub_80FFF1C
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r3, [r4]
+ ldr r2, _080FF00C @ =gUnknown_843F2AC
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r2
+ ldrb r2, [r1, 0x1]
+ strb r2, [r3, 0x2]
+ ldr r2, [r4]
+ ldrb r1, [r1, 0x2]
+ strb r1, [r2, 0x3]
+ ldr r1, [r4]
+ ldrb r3, [r1, 0x2]
+ ldrb r2, [r1, 0x3]
+ adds r5, r3, 0
+ muls r5, r2
+ adds r2, r5, 0
+ strb r2, [r1, 0x7]
+ ldr r1, [r4]
+ strb r0, [r1, 0x1]
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x7]
+ cmp r0, 0x9
+ bls _080FEFE0
+ movs r0, 0x9
+ strb r0, [r1, 0x7]
+_080FEFE0:
+ ldr r0, [r4]
+ adds r1, r0, 0
+ adds r1, 0x18
+ ldrb r2, [r0, 0x7]
+ adds r0, r6, 0
+ bl CpuSet
+ bl GetNumDisplayableGroups
+ ldr r2, [r4]
+ lsls r0, 24
+ lsrs r0, 24
+ subs r0, 0x1
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ adds r0, 0x1
+ strb r0, [r2, 0xD]
+ movs r0, 0x1
+_080FF006:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF00C: .4byte gUnknown_843F2AC
+ thumb_func_end sub_80FEF6C
+
+ thumb_func_start sub_80FF010
+sub_80FF010: @ 80FF010
+ push {lr}
+ ldr r0, _080FF024 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _080FF01E
+ bl Free
+_080FF01E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FF024: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF010
+
+ thumb_func_start sub_80FF028
+sub_80FF028: @ 80FF028
+ push {lr}
+ ldr r0, _080FF040 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x4]
+ cmp r0, 0x6
+ bhi _080FF092
+ lsls r0, 2
+ ldr r1, _080FF044 @ =_080FF048
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080FF040: .4byte gUnknown_203ACE8
+_080FF044: .4byte _080FF048
+ .align 2, 0
+_080FF048:
+ .4byte _080FF064
+ .4byte _080FF06A
+ .4byte _080FF070
+ .4byte _080FF076
+ .4byte _080FF07C
+ .4byte _080FF082
+ .4byte _080FF088
+_080FF064:
+ bl sub_80FF098
+ b _080FF08C
+_080FF06A:
+ bl sub_80FF20C
+ b _080FF08C
+_080FF070:
+ bl sub_80FF360
+ b _080FF08C
+_080FF076:
+ bl sub_80FF41C
+ b _080FF08C
+_080FF07C:
+ bl sub_80FF4A8
+ b _080FF08C
+_080FF082:
+ bl sub_80FF544
+ b _080FF08C
+_080FF088:
+ bl sub_80FF4F0
+_080FF08C:
+ lsls r0, 16
+ lsrs r0, 16
+ b _080FF094
+_080FF092:
+ movs r0, 0
+_080FF094:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF028
+
+ thumb_func_start sub_80FF098
+sub_80FF098: @ 80FF098
+ push {r4-r7,lr}
+ ldr r0, _080FF0C0 @ =gMain
+ ldrh r1, [r0, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF0E4
+ ldr r1, _080FF0C4 @ =gUnknown_203ACE8
+ ldr r3, [r1]
+ movs r2, 0
+ movs r0, 0x2
+ strb r0, [r3, 0x4]
+ ldr r0, [r1]
+ strb r2, [r0, 0xA]
+ ldr r0, [r1]
+ strb r2, [r0, 0xB]
+ ldr r0, [r1]
+ strb r2, [r0, 0xC]
+ movs r0, 0x9
+ b _080FF1FC
+ .align 2, 0
+_080FF0C0: .4byte gMain
+_080FF0C4: .4byte gUnknown_203ACE8
+_080FF0C8:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF194
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF184
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF174
+ movs r0, 0
+ b _080FF1FC
+_080FF0E4:
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF1A4
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF1AA
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF0C8
+ ldr r2, _080FF16C @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x6]
+ subs r0, 0x1
+_080FF104:
+ strb r0, [r1, 0x6]
+_080FF106:
+ adds r7, r2, 0
+ adds r4, r7, 0
+ ldr r2, [r4]
+ movs r0, 0x6
+ ldrsb r0, [r2, r0]
+ ldr r6, _080FF170 @ =gUnknown_843F2AC
+ cmp r0, 0
+ bge _080FF124
+ ldrb r0, [r2, 0x1]
+ lsls r1, r0, 1
+ adds r1, r0
+ lsls r1, 3
+ adds r1, r6
+ ldrb r0, [r1, 0x2]
+ strb r0, [r2, 0x6]
+_080FF124:
+ ldr r3, [r4]
+ movs r2, 0x6
+ ldrsb r2, [r3, r2]
+ adds r5, r6, 0
+ ldrb r1, [r3, 0x1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r5
+ ldrb r0, [r0, 0x2]
+ cmp r2, r0
+ ble _080FF140
+ movs r0, 0
+ strb r0, [r3, 0x6]
+_080FF140:
+ ldr r3, [r4]
+ movs r2, 0x6
+ ldrsb r2, [r3, r2]
+ ldrb r1, [r3, 0x1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r0, r5
+ ldrb r0, [r1, 0x2]
+ cmp r2, r0
+ bne _080FF1B4
+ movs r0, 0x5
+ ldrsb r0, [r3, r0]
+ cmp r0, 0x2
+ ble _080FF162
+ movs r0, 0x2
+ strb r0, [r3, 0x5]
+_080FF162:
+ ldr r1, [r4]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ movs r0, 0x3
+ b _080FF1FC
+ .align 2, 0
+_080FF16C: .4byte gUnknown_203ACE8
+_080FF170: .4byte gUnknown_843F2AC
+_080FF174:
+ ldr r2, _080FF180 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x5]
+ adds r0, 0x1
+ strb r0, [r1, 0x5]
+ b _080FF106
+ .align 2, 0
+_080FF180: .4byte gUnknown_203ACE8
+_080FF184:
+ ldr r2, _080FF190 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x6]
+ adds r0, 0x1
+ b _080FF104
+ .align 2, 0
+_080FF190: .4byte gUnknown_203ACE8
+_080FF194:
+ ldr r2, _080FF1A0 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x5]
+ subs r0, 0x1
+ strb r0, [r1, 0x5]
+ b _080FF106
+ .align 2, 0
+_080FF1A0: .4byte gUnknown_203ACE8
+_080FF1A4:
+ bl sub_80FF590
+ b _080FF1AE
+_080FF1AA:
+ bl sub_80FF5C0
+_080FF1AE:
+ lsls r0, 16
+ lsrs r0, 16
+ b _080FF1FC
+_080FF1B4:
+ movs r0, 0x5
+ ldrsb r0, [r3, r0]
+ cmp r0, 0
+ bge _080FF1C2
+ ldrb r0, [r1, 0x1]
+ subs r0, 0x1
+ strb r0, [r3, 0x5]
+_080FF1C2:
+ ldr r3, [r4]
+ movs r2, 0x5
+ ldrsb r2, [r3, r2]
+ ldrb r1, [r3, 0x1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r6
+ ldrb r0, [r0, 0x1]
+ cmp r2, r0
+ blt _080FF1DC
+ movs r0, 0
+ strb r0, [r3, 0x5]
+_080FF1DC:
+ bl sub_80FFCE0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _080FF1FA
+ ldr r2, [r7]
+ ldr r0, [r2, 0x4]
+ ldr r1, _080FF204 @ =0x00ffff00
+ ands r0, r1
+ ldr r1, _080FF208 @ =0x00040100
+ cmp r0, r1
+ bne _080FF1FA
+ movs r0, 0
+ strb r0, [r2, 0x5]
+_080FF1FA:
+ movs r0, 0x2
+_080FF1FC:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF204: .4byte 0x00ffff00
+_080FF208: .4byte 0x00040100
+ thumb_func_end sub_80FF098
+
+ thumb_func_start sub_80FF20C
+sub_80FF20C: @ 80FF20C
+ push {r4-r6,lr}
+ ldr r2, _080FF22C @ =gMain
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF270
+ ldr r0, _080FF230 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x5]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0x1
+ beq _080FF26A
+ b _080FF254
+ .align 2, 0
+_080FF22C: .4byte gMain
+_080FF230: .4byte gUnknown_203ACE8
+_080FF234:
+ movs r0, 0x20
+ ands r0, r2
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _080FF2F8
+ movs r0, 0x80
+ ands r0, r2
+ cmp r0, 0
+ bne _080FF2E8
+ movs r0, 0x10
+ ands r0, r2
+ cmp r0, 0
+ bne _080FF2D8
+ movs r0, 0
+ b _080FF34E
+_080FF254:
+ cmp r0, 0x1
+ bgt _080FF25E
+ cmp r0, 0
+ beq _080FF264
+ b _080FF270
+_080FF25E:
+ cmp r0, 0x2
+ beq _080FF30E
+ b _080FF270
+_080FF264:
+ bl sub_80FF5A8
+ b _080FF312
+_080FF26A:
+ bl sub_80FF590
+ b _080FF312
+_080FF270:
+ ldrh r2, [r2, 0x2E]
+ movs r0, 0x2
+ ands r0, r2
+ cmp r0, 0
+ bne _080FF308
+ movs r0, 0x8
+ ands r0, r2
+ cmp r0, 0
+ bne _080FF30E
+ movs r0, 0x40
+ ands r0, r2
+ cmp r0, 0
+ beq _080FF234
+ ldr r2, _080FF2D0 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x6]
+ subs r0, 0x1
+ strb r0, [r1, 0x6]
+_080FF294:
+ adds r6, r2, 0
+_080FF296:
+ adds r5, r6, 0
+ ldr r4, [r5]
+ movs r3, 0x6
+ ldrsb r3, [r4, r3]
+ ldr r2, _080FF2D4 @ =gUnknown_843F2AC
+ ldrb r1, [r4, 0x1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r1, r0, r2
+ ldrb r0, [r1, 0x2]
+ cmp r3, r0
+ bne _080FF318
+ movs r0, 0x5
+ ldrsb r0, [r4, r0]
+ cmp r0, 0
+ bge _080FF2BC
+ movs r0, 0x2
+ strb r0, [r4, 0x5]
+_080FF2BC:
+ ldr r1, [r5]
+ movs r0, 0x5
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x2
+ ble _080FF2CA
+ movs r0, 0
+ strb r0, [r1, 0x5]
+_080FF2CA:
+ movs r0, 0x3
+ b _080FF34E
+ .align 2, 0
+_080FF2D0: .4byte gUnknown_203ACE8
+_080FF2D4: .4byte gUnknown_843F2AC
+_080FF2D8:
+ ldr r2, _080FF2E4 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x5]
+ adds r0, 0x1
+ strb r0, [r1, 0x5]
+ b _080FF294
+ .align 2, 0
+_080FF2E4: .4byte gUnknown_203ACE8
+_080FF2E8:
+ ldr r1, _080FF2F4 @ =gUnknown_203ACE8
+ ldr r0, [r1]
+ strb r3, [r0, 0x6]
+ adds r6, r1, 0
+ b _080FF296
+ .align 2, 0
+_080FF2F4: .4byte gUnknown_203ACE8
+_080FF2F8:
+ ldr r2, _080FF304 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x5]
+ subs r0, 0x1
+ strb r0, [r1, 0x5]
+ b _080FF294
+ .align 2, 0
+_080FF304: .4byte gUnknown_203ACE8
+_080FF308:
+ bl sub_80FF590
+ b _080FF312
+_080FF30E:
+ bl sub_80FF5C0
+_080FF312:
+ lsls r0, 16
+ lsrs r0, 16
+ b _080FF34E
+_080FF318:
+ movs r0, 0x5
+ ldrsb r0, [r4, r0]
+ ldrb r1, [r1, 0x1]
+ cmp r0, r1
+ blt _080FF326
+ subs r0, r1, 0x1
+ strb r0, [r4, 0x5]
+_080FF326:
+ bl sub_80FFCE0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x2
+ bne _080FF344
+ ldr r2, [r6]
+ ldr r0, [r2, 0x4]
+ ldr r1, _080FF354 @ =0x00ffff00
+ ands r0, r1
+ ldr r1, _080FF358 @ =0x00040100
+ cmp r0, r1
+ bne _080FF344
+ movs r0, 0
+ strb r0, [r2, 0x5]
+_080FF344:
+ ldr r0, _080FF35C @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0x4]
+ movs r0, 0x2
+_080FF34E:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF354: .4byte 0x00ffff00
+_080FF358: .4byte 0x00040100
+_080FF35C: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF20C
+
+ thumb_func_start sub_80FF360
+sub_80FF360: @ 80FF360
+ push {lr}
+ ldr r1, _080FF378 @ =gMain
+ ldrh r2, [r1, 0x2E]
+ movs r0, 0x2
+ ands r0, r2
+ adds r3, r1, 0
+ cmp r0, 0
+ beq _080FF37C
+ bl sub_80FF678
+ b _080FF412
+ .align 2, 0
+_080FF378: .4byte gMain
+_080FF37C:
+ movs r0, 0x1
+ ands r0, r2
+ cmp r0, 0
+ beq _080FF3CA
+ ldr r0, _080FF39C @ =gUnknown_203ACE8
+ ldr r2, [r0]
+ movs r1, 0xA
+ ldrsb r1, [r2, r1]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080FF3A0
+ bl sub_80FF5FC
+ b _080FF412
+ .align 2, 0
+_080FF39C: .4byte gUnknown_203ACE8
+_080FF3A0:
+ movs r0, 0xB
+ ldrsb r0, [r2, r0]
+ cmp r0, 0x1
+ beq _080FF3BE
+ cmp r0, 0x1
+ bgt _080FF3B2
+ cmp r0, 0
+ beq _080FF3B8
+ b _080FF3CA
+_080FF3B2:
+ cmp r0, 0x2
+ beq _080FF3C4
+ b _080FF3CA
+_080FF3B8:
+ bl sub_80FF688
+ b _080FF412
+_080FF3BE:
+ bl sub_80FF6B4
+ b _080FF412
+_080FF3C4:
+ bl sub_80FF678
+ b _080FF412
+_080FF3CA:
+ ldrh r1, [r3, 0x2E]
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF3DA
+ bl sub_80FF688
+ b _080FF412
+_080FF3DA:
+ ldrh r1, [r3, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF3E8
+ movs r0, 0x2
+ b _080FF40E
+_080FF3E8:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF3F4
+ movs r0, 0x3
+ b _080FF40E
+_080FF3F4:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF400
+ movs r0, 0x1
+ b _080FF40E
+_080FF400:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF40C
+ movs r0, 0
+ b _080FF416
+_080FF40C:
+ movs r0, 0
+_080FF40E:
+ bl sub_80FF7CC
+_080FF412:
+ lsls r0, 16
+ lsrs r0, 16
+_080FF416:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF360
+
+ thumb_func_start sub_80FF41C
+sub_80FF41C: @ 80FF41C
+ push {lr}
+ ldr r2, _080FF438 @ =gMain
+ ldrh r1, [r2, 0x2E]
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF440
+ ldr r0, _080FF43C @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0x2
+ strb r0, [r1, 0x4]
+ movs r0, 0xD
+ b _080FF4A2
+ .align 2, 0
+_080FF438: .4byte gMain
+_080FF43C: .4byte gUnknown_203ACE8
+_080FF440:
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF44E
+ bl sub_80FF6C8
+ b _080FF49E
+_080FF44E:
+ movs r0, 0x8
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF45A
+ movs r0, 0x4
+ b _080FF49A
+_080FF45A:
+ movs r0, 0x4
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF466
+ movs r0, 0x5
+ b _080FF49A
+_080FF466:
+ ldrh r1, [r2, 0x30]
+ movs r0, 0x40
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF474
+ movs r0, 0x2
+ b _080FF49A
+_080FF474:
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF480
+ movs r0, 0x3
+ b _080FF49A
+_080FF480:
+ movs r0, 0x20
+ ands r0, r1
+ cmp r0, 0
+ beq _080FF48C
+ movs r0, 0x1
+ b _080FF49A
+_080FF48C:
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ bne _080FF498
+ movs r0, 0
+ b _080FF4A2
+_080FF498:
+ movs r0, 0
+_080FF49A:
+ bl sub_80FFA38
+_080FF49E:
+ lsls r0, 16
+ lsrs r0, 16
+_080FF4A2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF41C
+
+ thumb_func_start sub_80FF4A8
+sub_80FF4A8: @ 80FF4A8
+ push {lr}
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _080FF4DC
+ cmp r1, 0
+ bgt _080FF4C4
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080FF4C8
+ b _080FF4E8
+_080FF4C4:
+ cmp r1, 0x1
+ bne _080FF4E8
+_080FF4C8:
+ bl sub_80FF5F0
+ ldr r1, _080FF4D8 @ =gUnknown_203ACE8
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x7
+ b _080FF4EA
+ .align 2, 0
+_080FF4D8: .4byte gUnknown_203ACE8
+_080FF4DC:
+ ldr r0, _080FF4E4 @ =gSpecialVar_Result
+ strh r1, [r0]
+ movs r0, 0x17
+ b _080FF4EA
+ .align 2, 0
+_080FF4E4: .4byte gSpecialVar_Result
+_080FF4E8:
+ movs r0, 0
+_080FF4EA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF4A8
+
+ thumb_func_start sub_80FF4F0
+sub_80FF4F0: @ 80FF4F0
+ push {r4,lr}
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _080FF524
+ cmp r1, 0
+ bgt _080FF50C
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080FF510
+ b _080FF53C
+_080FF50C:
+ cmp r1, 0x1
+ bne _080FF53C
+_080FF510:
+ bl sub_80FF5F0
+ ldr r1, _080FF520 @ =gUnknown_203ACE8
+ ldr r1, [r1]
+ strb r0, [r1, 0x4]
+ movs r0, 0x7
+ b _080FF53E
+ .align 2, 0
+_080FF520: .4byte gUnknown_203ACE8
+_080FF524:
+ ldr r4, _080FF538 @ =gSpecialVar_Result
+ bl sub_80FF78C
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r4]
+ bl sub_80FF6F0
+ movs r0, 0x17
+ b _080FF53E
+ .align 2, 0
+_080FF538: .4byte gSpecialVar_Result
+_080FF53C:
+ movs r0, 0
+_080FF53E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF4F0
+
+ thumb_func_start sub_80FF544
+sub_80FF544: @ 80FF544
+ push {lr}
+ bl Menu_ProcessInputNoWrapClearOnChoose
+ lsls r0, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ beq _080FF574
+ cmp r1, 0
+ bgt _080FF560
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080FF564
+ b _080FF588
+_080FF560:
+ cmp r1, 0x1
+ bne _080FF588
+_080FF564:
+ ldr r0, _080FF570 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ movs r0, 0x7
+ b _080FF58A
+ .align 2, 0
+_080FF570: .4byte gUnknown_203ACE8
+_080FF574:
+ bl sub_80FF728
+ ldr r0, _080FF584 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ movs r0, 0x8
+ b _080FF58A
+ .align 2, 0
+_080FF584: .4byte gUnknown_203ACE8
+_080FF588:
+ movs r0, 0
+_080FF58A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF544
+
+ thumb_func_start sub_80FF590
+sub_80FF590: @ 80FF590
+ ldr r2, _080FF5A4 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x4]
+ strb r0, [r1, 0x8]
+ ldr r1, [r2]
+ movs r0, 0x4
+ strb r0, [r1, 0x4]
+ movs r0, 0x5
+ bx lr
+ .align 2, 0
+_080FF5A4: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF590
+
+ thumb_func_start sub_80FF5A8
+sub_80FF5A8: @ 80FF5A8
+ ldr r2, _080FF5BC @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0x4]
+ strb r0, [r1, 0x8]
+ ldr r1, [r2]
+ movs r0, 0x5
+ strb r0, [r1, 0x4]
+ movs r0, 0x4
+ bx lr
+ .align 2, 0
+_080FF5BC: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF5A8
+
+ thumb_func_start sub_80FF5C0
+sub_80FF5C0: @ 80FF5C0
+ push {r4,lr}
+ ldr r4, _080FF5DC @ =gUnknown_203ACE8
+ ldr r0, [r4]
+ ldrb r1, [r0, 0x4]
+ strb r1, [r0, 0x8]
+ bl sub_80FFF48
+ cmp r0, 0
+ bne _080FF5E0
+ ldr r1, [r4]
+ movs r0, 0x6
+ strb r0, [r1, 0x4]
+ b _080FF5E8
+ .align 2, 0
+_080FF5DC: .4byte gUnknown_203ACE8
+_080FF5E0:
+ ldr r1, [r4]
+ movs r0, 0x4
+ strb r0, [r1, 0x4]
+ movs r0, 0x5
+_080FF5E8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF5C0
+
+ thumb_func_start sub_80FF5F0
+sub_80FF5F0: @ 80FF5F0
+ ldr r0, _080FF5F8 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x8]
+ bx lr
+ .align 2, 0
+_080FF5F8: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF5F0
+
+ thumb_func_start sub_80FF5FC
+sub_80FF5FC: @ 80FF5FC
+ push {lr}
+ ldr r0, _080FF624 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x9]
+ cmp r0, 0
+ bne _080FF628
+ bl sub_80FFB8C
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetSelectedGroupByIndex
+ adds r1, r0, 0
+ lsls r1, 24
+ lsrs r1, 24
+ movs r0, 0
+ bl GetUnlockedECWords
+ b _080FF638
+ .align 2, 0
+_080FF624: .4byte gUnknown_203ACE8
+_080FF628:
+ bl sub_80FFBAC
+ adds r1, r0, 0
+ lsls r1, 16
+ lsrs r1, 16
+ movs r0, 0x1
+ bl GetUnlockedECWords
+_080FF638:
+ bl GetNumDisplayedWords
+ lsls r0, 16
+ lsrs r0, 16
+ cmp r0, 0
+ beq _080FF670
+ ldr r2, _080FF66C @ =gUnknown_203ACE8
+ ldr r3, [r2]
+ subs r0, 0x1
+ lsrs r1, r0, 31
+ adds r0, r1
+ asrs r0, 1
+ movs r1, 0
+ strb r0, [r3, 0xF]
+ ldr r0, [r2]
+ strb r1, [r0, 0xE]
+ ldr r0, [r2]
+ strb r1, [r0, 0x10]
+ ldr r0, [r2]
+ strb r1, [r0, 0x11]
+ ldr r1, [r2]
+ movs r0, 0x3
+ strb r0, [r1, 0x4]
+ movs r0, 0xB
+ b _080FF672
+ .align 2, 0
+_080FF66C: .4byte gUnknown_203ACE8
+_080FF670:
+ movs r0, 0
+_080FF672:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF5FC
+
+ thumb_func_start sub_80FF678
+sub_80FF678: @ 80FF678
+ ldr r0, _080FF684 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0x4]
+ movs r0, 0xA
+ bx lr
+ .align 2, 0
+_080FF684: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF678
+
+ thumb_func_start sub_80FF688
+sub_80FF688: @ 80FF688
+ push {lr}
+ ldr r1, _080FF6A8 @ =gUnknown_203ACE8
+ ldr r0, [r1]
+ movs r2, 0
+ strb r2, [r0, 0xA]
+ ldr r0, [r1]
+ strb r2, [r0, 0xB]
+ ldr r0, [r1]
+ strb r2, [r0, 0xC]
+ ldr r1, [r1]
+ ldrb r0, [r1, 0x9]
+ cmp r0, 0
+ bne _080FF6AC
+ movs r0, 0x1
+ strb r0, [r1, 0x9]
+ b _080FF6AE
+ .align 2, 0
+_080FF6A8: .4byte gUnknown_203ACE8
+_080FF6AC:
+ strb r2, [r1, 0x9]
+_080FF6AE:
+ movs r0, 0x16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF688
+
+ thumb_func_start sub_80FF6B4
+sub_80FF6B4: @ 80FF6B4
+ push {lr}
+ ldr r0, _080FF6C4 @ =0x0000ffff
+ bl sub_80FF768
+ movs r0, 0x1
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF6C4: .4byte 0x0000ffff
+ thumb_func_end sub_80FF6B4
+
+ thumb_func_start sub_80FF6C8
+sub_80FF6C8: @ 80FF6C8
+ push {lr}
+ bl sub_80FFBE4
+ lsls r0, 16
+ lsrs r0, 16
+ bl GetDisplayedWordByIndex
+ lsls r0, 16
+ lsrs r0, 16
+ bl sub_80FF768
+ ldr r0, _080FF6EC @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0
+ strb r0, [r1, 0x4]
+ movs r0, 0xC
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF6EC: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF6C8
+
+ thumb_func_start sub_80FF6F0
+sub_80FF6F0: @ 80FF6F0
+ push {r4,r5,lr}
+ movs r4, 0
+ ldr r3, _080FF724 @ =gUnknown_203ACE8
+ ldr r0, [r3]
+ ldrb r0, [r0, 0x7]
+ cmp r4, r0
+ bcs _080FF71E
+ adds r5, r3, 0
+_080FF700:
+ ldr r3, [r5]
+ ldr r1, [r3, 0x14]
+ lsls r2, r4, 1
+ adds r1, r2, r1
+ adds r0, r3, 0
+ adds r0, 0x18
+ adds r0, r2
+ ldrh r0, [r0]
+ strh r0, [r1]
+ adds r0, r4, 0x1
+ lsls r0, 16
+ lsrs r4, r0, 16
+ ldrb r3, [r3, 0x7]
+ cmp r4, r3
+ bcc _080FF700
+_080FF71E:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FF724: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF6F0
+
+ thumb_func_start sub_80FF728
+sub_80FF728: @ 80FF728
+ push {r4,r5,lr}
+ movs r3, 0
+ ldr r2, _080FF760 @ =gUnknown_203ACE8
+ ldr r0, [r2]
+ ldrb r0, [r0, 0x7]
+ cmp r3, r0
+ bcs _080FF758
+ adds r5, r2, 0
+ ldr r0, _080FF764 @ =0x0000ffff
+ adds r4, r0, 0
+_080FF73C:
+ ldr r2, [r5]
+ lsls r0, r3, 1
+ adds r1, r2, 0
+ adds r1, 0x18
+ adds r1, r0
+ ldrh r0, [r1]
+ orrs r0, r4
+ strh r0, [r1]
+ adds r0, r3, 0x1
+ lsls r0, 16
+ lsrs r3, r0, 16
+ ldrb r2, [r2, 0x7]
+ cmp r3, r2
+ bcc _080FF73C
+_080FF758:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FF760: .4byte gUnknown_203ACE8
+_080FF764: .4byte 0x0000ffff
+ thumb_func_end sub_80FF728
+
+ thumb_func_start sub_80FF768
+sub_80FF768: @ 80FF768
+ push {r4,lr}
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ bl sub_80FFB6C
+ lsls r0, 16
+ ldr r1, _080FF788 @ =gUnknown_203ACE8
+ ldr r1, [r1]
+ lsrs r0, 15
+ adds r1, 0x18
+ adds r1, r0
+ strh r4, [r1]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FF788: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF768
+
+ thumb_func_start sub_80FF78C
+sub_80FF78C: @ 80FF78C
+ push {r4,r5,lr}
+ movs r2, 0
+ ldr r0, _080FF7B4 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x7]
+ cmp r2, r1
+ bcs _080FF7C2
+ adds r5, r1, 0
+ adds r4, r0, 0
+ adds r4, 0x18
+ ldr r3, [r0, 0x14]
+_080FF7A2:
+ lsls r0, r2, 1
+ adds r1, r4, r0
+ adds r0, r3
+ ldrh r1, [r1]
+ ldrh r0, [r0]
+ cmp r1, r0
+ beq _080FF7B8
+ movs r0, 0x1
+ b _080FF7C4
+ .align 2, 0
+_080FF7B4: .4byte gUnknown_203ACE8
+_080FF7B8:
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, r5
+ bcc _080FF7A2
+_080FF7C2:
+ movs r0, 0
+_080FF7C4:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF78C
+
+ thumb_func_start sub_80FF7CC
+sub_80FF7CC: @ 80FF7CC
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, _080FF7F0 @ =gUnknown_203ACE8
+ ldr r3, [r0]
+ movs r1, 0xA
+ ldrsb r1, [r3, r1]
+ movs r0, 0x1
+ negs r0, r0
+ cmp r1, r0
+ beq _080FF7FC
+ ldrb r0, [r3, 0x9]
+ cmp r0, 0
+ bne _080FF7F4
+ adds r0, r2, 0
+ bl sub_80FF80C
+ b _080FF802
+ .align 2, 0
+_080FF7F0: .4byte gUnknown_203ACE8
+_080FF7F4:
+ adds r0, r2, 0
+ bl sub_80FF8D8
+ b _080FF802
+_080FF7FC:
+ adds r0, r2, 0
+ bl sub_80FF968
+_080FF802:
+ lsls r0, 16
+ lsrs r0, 16
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF7CC
+
+ thumb_func_start sub_80FF80C
+sub_80FF80C: @ 80FF80C
+ push {r4,lr}
+ cmp r0, 0x1
+ beq _080FF882
+ cmp r0, 0x1
+ bcc _080FF8A2
+ cmp r0, 0x2
+ beq _080FF820
+ cmp r0, 0x3
+ beq _080FF848
+ b _080FF8CE
+_080FF820:
+ ldr r0, _080FF83C @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0xB
+ ldrsb r0, [r1, r0]
+ ldrb r3, [r1, 0xC]
+ cmn r0, r3
+ beq _080FF8CE
+ ldrb r2, [r1, 0xB]
+ cmp r0, 0
+ beq _080FF840
+ subs r0, r2, 0x1
+ strb r0, [r1, 0xB]
+_080FF838:
+ movs r0, 0xE
+ b _080FF8D0
+ .align 2, 0
+_080FF83C: .4byte gUnknown_203ACE8
+_080FF840:
+ subs r0, r3, 0x1
+ strb r0, [r1, 0xC]
+ movs r0, 0x10
+ b _080FF8D0
+_080FF848:
+ ldr r0, _080FF870 @ =gUnknown_203ACE8
+ ldr r2, [r0]
+ movs r1, 0xB
+ ldrsb r1, [r2, r1]
+ ldrb r3, [r2, 0xC]
+ adds r1, r3
+ ldrb r0, [r2, 0xD]
+ subs r0, 0x1
+ cmp r1, r0
+ bge _080FF8CE
+ ldrb r1, [r2, 0xB]
+ movs r0, 0xB
+ ldrsb r0, [r2, r0]
+ cmp r0, 0x2
+ bgt _080FF874
+ adds r0, r1, 0x1
+ strb r0, [r2, 0xB]
+ movs r4, 0xE
+ b _080FF87A
+ .align 2, 0
+_080FF870: .4byte gUnknown_203ACE8
+_080FF874:
+ adds r0, r3, 0x1
+ strb r0, [r2, 0xC]
+ movs r4, 0xF
+_080FF87A:
+ bl sub_80FFC1C
+ adds r0, r4, 0
+ b _080FF8D0
+_080FF882:
+ ldr r0, _080FF898 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0xA]
+ movs r0, 0xA
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ beq _080FF89C
+ subs r0, r2, 0x1
+ strb r0, [r1, 0xA]
+ b _080FF838
+ .align 2, 0
+_080FF898: .4byte gUnknown_203ACE8
+_080FF89C:
+ bl sub_80FF9E8
+ b _080FF838
+_080FF8A2:
+ ldr r0, _080FF8C4 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0xA]
+ movs r0, 0xA
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ bgt _080FF8C8
+ adds r0, r2, 0x1
+ strb r0, [r1, 0xA]
+ bl sub_80FFC6C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FF838
+ bl sub_80FF9E8
+ b _080FF838
+ .align 2, 0
+_080FF8C4: .4byte gUnknown_203ACE8
+_080FF8C8:
+ bl sub_80FF9E8
+ b _080FF838
+_080FF8CE:
+ movs r0, 0
+_080FF8D0:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FF80C
+
+ thumb_func_start sub_80FF8D8
+sub_80FF8D8: @ 80FF8D8
+ push {lr}
+ cmp r0, 0x1
+ beq _080FF944
+ cmp r0, 0x1
+ bcc _080FF928
+ cmp r0, 0x2
+ beq _080FF8EE
+ cmp r0, 0x3
+ beq _080FF90E
+ movs r0, 0
+ b _080FF960
+_080FF8EE:
+ ldr r0, _080FF900 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0xB]
+ movs r0, 0xB
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ ble _080FF904
+ subs r0, r2, 0x1
+ b _080FF906
+ .align 2, 0
+_080FF900: .4byte gUnknown_203ACE8
+_080FF904:
+ movs r0, 0x3
+_080FF906:
+ strb r0, [r1, 0xB]
+ bl sub_80FFC1C
+ b _080FF95E
+_080FF90E:
+ ldr r0, _080FF920 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0xB]
+ movs r0, 0xB
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x2
+ bgt _080FF924
+ adds r0, r2, 0x1
+ b _080FF906
+ .align 2, 0
+_080FF920: .4byte gUnknown_203ACE8
+_080FF924:
+ movs r0, 0
+ b _080FF906
+_080FF928:
+ ldr r0, _080FF940 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r0, [r1, 0xA]
+ adds r0, 0x1
+ strb r0, [r1, 0xA]
+ bl sub_80FFC6C
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FF95E
+ b _080FF95A
+ .align 2, 0
+_080FF940: .4byte gUnknown_203ACE8
+_080FF944:
+ ldr r2, _080FF964 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ ldrb r0, [r1, 0xA]
+ subs r0, 0x1
+ strb r0, [r1, 0xA]
+ ldr r0, [r2]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 24
+ asrs r0, 24
+ cmp r0, 0
+ bge _080FF95E
+_080FF95A:
+ bl sub_80FF9E8
+_080FF95E:
+ movs r0, 0xE
+_080FF960:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF964: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF8D8
+
+ thumb_func_start sub_80FF968
+sub_80FF968: @ 80FF968
+ push {lr}
+ adds r2, r0, 0
+ cmp r2, 0x1
+ beq _080FF9B8
+ cmp r2, 0x1
+ bcc _080FF9CC
+ cmp r2, 0x2
+ beq _080FF980
+ cmp r2, 0x3
+ beq _080FF99C
+ movs r0, 0
+ b _080FF9DE
+_080FF980:
+ ldr r0, _080FF994 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r3, [r1, 0xB]
+ movs r0, 0xB
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ beq _080FF998
+ subs r0, r3, 0x1
+ b _080FF9DA
+ .align 2, 0
+_080FF994: .4byte gUnknown_203ACE8
+_080FF998:
+ strb r2, [r1, 0xB]
+ b _080FF9DC
+_080FF99C:
+ ldr r0, _080FF9B0 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0xB]
+ movs r0, 0xB
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x1
+ bgt _080FF9B4
+ adds r0, r2, 0x1
+ b _080FF9DA
+ .align 2, 0
+_080FF9B0: .4byte gUnknown_203ACE8
+_080FF9B4:
+ movs r0, 0
+ b _080FF9DA
+_080FF9B8:
+ ldr r0, _080FF9C8 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r0, [r1, 0xB]
+ adds r0, 0x1
+ strb r0, [r1, 0xB]
+ bl sub_80FFA0C
+ b _080FF9DC
+ .align 2, 0
+_080FF9C8: .4byte gUnknown_203ACE8
+_080FF9CC:
+ ldr r2, _080FF9E4 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ movs r0, 0
+ strb r0, [r1, 0xA]
+ ldr r1, [r2]
+ ldrb r0, [r1, 0xB]
+ adds r0, 0x1
+_080FF9DA:
+ strb r0, [r1, 0xB]
+_080FF9DC:
+ movs r0, 0xE
+_080FF9DE:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FF9E4: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF968
+
+ thumb_func_start sub_80FF9E8
+sub_80FF9E8: @ 80FF9E8
+ push {lr}
+ ldr r2, _080FFA08 @ =gUnknown_203ACE8
+ ldr r1, [r2]
+ movs r0, 0xFF
+ strb r0, [r1, 0xA]
+ ldr r2, [r2]
+ ldrb r1, [r2, 0xB]
+ movs r0, 0xB
+ ldrsb r0, [r2, r0]
+ cmp r0, 0
+ beq _080FFA02
+ subs r0, r1, 0x1
+ strb r0, [r2, 0xB]
+_080FFA02:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FFA08: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FF9E8
+
+ thumb_func_start sub_80FFA0C
+sub_80FFA0C: @ 80FFA0C
+ push {r4,lr}
+ ldr r4, _080FFA24 @ =gUnknown_203ACE8
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x9]
+ cmp r0, 0
+ bne _080FFA28
+ movs r0, 0x1
+ strb r0, [r1, 0xA]
+ bl sub_80FFC1C
+ b _080FFA32
+ .align 2, 0
+_080FFA24: .4byte gUnknown_203ACE8
+_080FFA28:
+ ldrb r0, [r1, 0xB]
+ bl sub_80FFC04
+ ldr r1, [r4]
+ strb r0, [r1, 0xA]
+_080FFA32:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80FFA0C
+
+ thumb_func_start sub_80FFA38
+sub_80FFA38: @ 80FFA38
+ push {r4,lr}
+ cmp r0, 0x5
+ bls _080FFA40
+ b _080FFB64
+_080FFA40:
+ lsls r0, 2
+ ldr r1, _080FFA4C @ =_080FFA50
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080FFA4C: .4byte _080FFA50
+ .align 2, 0
+_080FFA50:
+ .4byte _080FFAEC
+ .4byte _080FFACA
+ .4byte _080FFA68
+ .4byte _080FFA94
+ .4byte _080FFB14
+ .4byte _080FFB34
+_080FFA68:
+ ldr r0, _080FFA88 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0x11
+ ldrsb r0, [r1, r0]
+ ldrb r3, [r1, 0xE]
+ adds r0, r3
+ cmp r0, 0
+ bgt _080FFA7A
+ b _080FFB64
+_080FFA7A:
+ ldrb r2, [r1, 0x11]
+ movs r0, 0x11
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ ble _080FFA8C
+ subs r0, r2, 0x1
+ b _080FFAB2
+ .align 2, 0
+_080FFA88: .4byte gUnknown_203ACE8
+_080FFA8C:
+ subs r0, r3, 0x1
+ strb r0, [r1, 0xE]
+ movs r4, 0x12
+ b _080FFAC2
+_080FFA94:
+ ldr r0, _080FFAB8 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ movs r0, 0x11
+ ldrsb r0, [r1, r0]
+ ldrb r3, [r1, 0xE]
+ adds r0, r3
+ ldrb r2, [r1, 0xF]
+ cmp r0, r2
+ bge _080FFB64
+ ldrb r2, [r1, 0x11]
+ movs r0, 0x11
+ ldrsb r0, [r1, r0]
+ cmp r0, 0x2
+ bgt _080FFABC
+ adds r0, r2, 0x1
+_080FFAB2:
+ strb r0, [r1, 0x11]
+ movs r4, 0x11
+ b _080FFAC2
+ .align 2, 0
+_080FFAB8: .4byte gUnknown_203ACE8
+_080FFABC:
+ adds r0, r3, 0x1
+ strb r0, [r1, 0xE]
+ movs r4, 0x13
+_080FFAC2:
+ bl sub_80FFC44
+ adds r0, r4, 0
+ b _080FFB66
+_080FFACA:
+ ldr r0, _080FFADC @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0x10]
+ movs r0, 0x10
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ ble _080FFAE0
+ subs r0, r2, 0x1
+ b _080FFAE2
+ .align 2, 0
+_080FFADC: .4byte gUnknown_203ACE8
+_080FFAE0:
+ movs r0, 0x1
+_080FFAE2:
+ strb r0, [r1, 0x10]
+ bl sub_80FFC44
+_080FFAE8:
+ movs r0, 0x11
+ b _080FFB66
+_080FFAEC:
+ ldr r4, _080FFB10 @ =gUnknown_203ACE8
+ ldr r1, [r4]
+ ldrb r2, [r1, 0x10]
+ movs r0, 0x10
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ bgt _080FFB0A
+ adds r0, r2, 0x1
+ strb r0, [r1, 0x10]
+ bl sub_80FFCC0
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FFAE8
+ ldr r1, [r4]
+_080FFB0A:
+ movs r0, 0
+ strb r0, [r1, 0x10]
+ b _080FFAE8
+ .align 2, 0
+_080FFB10: .4byte gUnknown_203ACE8
+_080FFB14:
+ ldr r0, _080FFB28 @ =gUnknown_203ACE8
+ ldr r2, [r0]
+ ldrb r0, [r2, 0xE]
+ adds r1, r0, 0
+ cmp r1, 0
+ beq _080FFB64
+ cmp r1, 0x3
+ bls _080FFB2C
+ subs r0, 0x4
+ b _080FFB2E
+ .align 2, 0
+_080FFB28: .4byte gUnknown_203ACE8
+_080FFB2C:
+ movs r0, 0
+_080FFB2E:
+ strb r0, [r2, 0xE]
+ movs r0, 0x14
+ b _080FFB66
+_080FFB34:
+ ldr r3, _080FFB60 @ =gUnknown_203ACE8
+ ldr r1, [r3]
+ ldrb r2, [r1, 0xE]
+ ldrb r0, [r1, 0xF]
+ subs r0, 0x4
+ cmp r2, r0
+ bgt _080FFB64
+ adds r0, r2, 0x4
+ strb r0, [r1, 0xE]
+ ldr r2, [r3]
+ ldrb r1, [r2, 0xE]
+ ldrb r3, [r2, 0xF]
+ subs r0, r3, 0x3
+ cmp r1, r0
+ ble _080FFB58
+ adds r0, r3, 0
+ adds r0, 0xFD
+ strb r0, [r2, 0xE]
+_080FFB58:
+ bl sub_80FFC44
+ movs r0, 0x15
+ b _080FFB66
+ .align 2, 0
+_080FFB60: .4byte gUnknown_203ACE8
+_080FFB64:
+ movs r0, 0
+_080FFB66:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFA38
+
+ thumb_func_start sub_80FFB6C
+sub_80FFB6C: @ 80FFB6C
+ ldr r0, _080FFB88 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ movs r2, 0x6
+ ldrsb r2, [r0, r2]
+ ldrb r1, [r0, 0x2]
+ muls r1, r2
+ ldrb r0, [r0, 0x5]
+ lsls r0, 24
+ asrs r0, 24
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ bx lr
+ .align 2, 0
+_080FFB88: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFB6C
+
+ thumb_func_start sub_80FFB8C
+sub_80FFB8C: @ 80FFB8C
+ ldr r0, _080FFBA8 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ movs r1, 0xB
+ ldrsb r1, [r0, r1]
+ ldrb r2, [r0, 0xC]
+ adds r1, r2
+ lsls r1, 1
+ ldrb r0, [r0, 0xA]
+ lsls r0, 24
+ asrs r0, 24
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ bx lr
+ .align 2, 0
+_080FFBA8: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFB8C
+
+ thumb_func_start sub_80FFBAC
+sub_80FFBAC: @ 80FFBAC
+ push {lr}
+ ldr r0, _080FFBDC @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r0, [r1, 0xA]
+ movs r3, 0
+ cmp r0, 0x6
+ bhi _080FFBBE
+ movs r3, 0xA
+ ldrsb r3, [r1, r3]
+_080FFBBE:
+ ldrb r0, [r1, 0xB]
+ movs r2, 0
+ cmp r0, 0x3
+ bhi _080FFBCA
+ movs r2, 0xB
+ ldrsb r2, [r1, r2]
+_080FFBCA:
+ ldr r0, _080FFBE0 @ =gUnknown_843F39C
+ lsls r1, r2, 3
+ subs r1, r2
+ adds r1, r3, r1
+ adds r1, r0
+ ldrb r0, [r1]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_080FFBDC: .4byte gUnknown_203ACE8
+_080FFBE0: .4byte gUnknown_843F39C
+ thumb_func_end sub_80FFBAC
+
+ thumb_func_start sub_80FFBE4
+sub_80FFBE4: @ 80FFBE4
+ ldr r0, _080FFC00 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ movs r1, 0x11
+ ldrsb r1, [r0, r1]
+ ldrb r2, [r0, 0xE]
+ adds r1, r2
+ lsls r1, 1
+ ldrb r0, [r0, 0x10]
+ lsls r0, 24
+ asrs r0, 24
+ adds r0, r1
+ lsls r0, 16
+ lsrs r0, 16
+ bx lr
+ .align 2, 0
+_080FFC00: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFBE4
+
+ thumb_func_start sub_80FFC04
+sub_80FFC04: @ 80FFC04
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080FFC12
+ cmp r0, 0x1
+ beq _080FFC16
+_080FFC12:
+ movs r0, 0x6
+ b _080FFC18
+_080FFC16:
+ movs r0, 0x5
+_080FFC18:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFC04
+
+ thumb_func_start sub_80FFC1C
+sub_80FFC1C: @ 80FFC1C
+ push {lr}
+ b _080FFC32
+_080FFC20:
+ ldr r0, _080FFC40 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0xA]
+ movs r0, 0xA
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ beq _080FFC3C
+ subs r0, r2, 0x1
+ strb r0, [r1, 0xA]
+_080FFC32:
+ bl sub_80FFC6C
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FFC20
+_080FFC3C:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FFC40: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFC1C
+
+ thumb_func_start sub_80FFC44
+sub_80FFC44: @ 80FFC44
+ push {lr}
+ b _080FFC5A
+_080FFC48:
+ ldr r0, _080FFC68 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r2, [r1, 0x10]
+ movs r0, 0x10
+ ldrsb r0, [r1, r0]
+ cmp r0, 0
+ beq _080FFC64
+ subs r0, r2, 0x1
+ strb r0, [r1, 0x10]
+_080FFC5A:
+ bl sub_80FFCC0
+ lsls r0, 24
+ cmp r0, 0
+ bne _080FFC48
+_080FFC64:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FFC68: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFC44
+
+ thumb_func_start sub_80FFC6C
+sub_80FFC6C: @ 80FFC6C
+ push {r4,lr}
+ ldr r4, _080FFC98 @ =gUnknown_203ACE8
+ ldr r1, [r4]
+ ldrb r0, [r1, 0x9]
+ cmp r0, 0
+ bne _080FFC9C
+ bl sub_80FFB8C
+ adds r4, r0, 0
+ bl GetNumDisplayableGroups
+ movs r1, 0
+ lsls r0, 24
+ lsls r4, 16
+ lsrs r4, 16
+ lsrs r0, 24
+ cmp r4, r0
+ bcc _080FFC92
+ movs r1, 0x1
+_080FFC92:
+ adds r0, r1, 0
+ b _080FFCB8
+ .align 2, 0
+_080FFC98: .4byte gUnknown_203ACE8
+_080FFC9C:
+ ldrb r0, [r1, 0xB]
+ bl sub_80FFC04
+ movs r2, 0
+ ldr r1, [r4]
+ ldrb r1, [r1, 0xA]
+ lsls r1, 24
+ asrs r1, 24
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r1, r0
+ ble _080FFCB6
+ movs r2, 0x1
+_080FFCB6:
+ adds r0, r2, 0
+_080FFCB8:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFC6C
+
+ thumb_func_start sub_80FFCC0
+sub_80FFCC0: @ 80FFCC0
+ push {r4,lr}
+ bl sub_80FFBE4
+ adds r4, r0, 0
+ bl GetNumDisplayedWords
+ movs r1, 0
+ lsls r4, 16
+ lsls r0, 16
+ cmp r4, r0
+ bcc _080FFCD8
+ movs r1, 0x1
+_080FFCD8:
+ adds r0, r1, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFCC0
+
+ thumb_func_start sub_80FFCE0
+sub_80FFCE0: @ 80FFCE0
+ ldr r2, _080FFCF4 @ =gUnknown_843F2AC
+ ldr r0, _080FFCF8 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r0, r2
+ ldrb r0, [r0, 0x3]
+ bx lr
+ .align 2, 0
+_080FFCF4: .4byte gUnknown_843F2AC
+_080FFCF8: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFCE0
+
+ thumb_func_start sub_80FFCFC
+sub_80FFCFC: @ 80FFCFC
+ ldr r2, _080FFD14 @ =gUnknown_843F2AC
+ ldr r0, _080FFD18 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x1]
+ lsls r0, r1, 1
+ adds r0, r1
+ lsls r0, 3
+ adds r2, 0x4
+ adds r0, r2
+ ldr r0, [r0]
+ bx lr
+ .align 2, 0
+_080FFD14: .4byte gUnknown_843F2AC
+_080FFD18: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFCFC
+
+ thumb_func_start sub_80FFD1C
+sub_80FFD1C: @ 80FFD1C
+ ldr r0, _080FFD24 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ adds r0, 0x18
+ bx lr
+ .align 2, 0
+_080FFD24: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD1C
+
+ thumb_func_start sub_80FFD28
+sub_80FFD28: @ 80FFD28
+ ldr r0, _080FFD30 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x3]
+ bx lr
+ .align 2, 0
+_080FFD30: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD28
+
+ thumb_func_start sub_80FFD34
+sub_80FFD34: @ 80FFD34
+ ldr r0, _080FFD3C @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x2]
+ bx lr
+ .align 2, 0
+_080FFD3C: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD34
+
+ thumb_func_start sub_80FFD40
+sub_80FFD40: @ 80FFD40
+ ldr r0, _080FFD48 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x5]
+ bx lr
+ .align 2, 0
+_080FFD48: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD40
+
+ thumb_func_start sub_80FFD4C
+sub_80FFD4C: @ 80FFD4C
+ ldr r0, _080FFD54 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ bx lr
+ .align 2, 0
+_080FFD54: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD4C
+
+ thumb_func_start sub_80FFD58
+sub_80FFD58: @ 80FFD58
+ push {r4,r5,lr}
+ ldr r4, _080FFD88 @ =gUnknown_843F2AC
+ ldr r2, _080FFD8C @ =gUnknown_203ACE8
+ ldr r5, [r2]
+ ldrb r3, [r5, 0x1]
+ lsls r2, r3, 1
+ adds r2, r3
+ lsls r2, 3
+ adds r3, r4, 0
+ adds r3, 0x8
+ adds r2, r3
+ ldr r2, [r2]
+ str r2, [r0]
+ ldrb r2, [r5, 0x1]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r4, 0xC
+ adds r0, r4
+ ldr r0, [r0]
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FFD88: .4byte gUnknown_843F2AC
+_080FFD8C: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD58
+
+ thumb_func_start sub_80FFD90
+sub_80FFD90: @ 80FFD90
+ push {r4,r5,lr}
+ ldr r4, _080FFDC0 @ =gUnknown_843F2AC
+ ldr r2, _080FFDC4 @ =gUnknown_203ACE8
+ ldr r5, [r2]
+ ldrb r3, [r5, 0x1]
+ lsls r2, r3, 1
+ adds r2, r3
+ lsls r2, 3
+ adds r3, r4, 0
+ adds r3, 0x10
+ adds r2, r3
+ ldr r2, [r2]
+ str r2, [r0]
+ ldrb r2, [r5, 0x1]
+ lsls r0, r2, 1
+ adds r0, r2
+ lsls r0, 3
+ adds r4, 0x14
+ adds r0, r4
+ ldr r0, [r0]
+ str r0, [r1]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FFDC0: .4byte gUnknown_843F2AC
+_080FFDC4: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFD90
+
+ thumb_func_start sub_80FFDC8
+sub_80FFDC8: @ 80FFDC8
+ push {lr}
+ adds r2, r0, 0
+ ldr r0, _080FFDDC @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0]
+ cmp r0, 0x4
+ bne _080FFDE4
+ ldr r0, _080FFDE0 @ =gUnknown_84189EE
+ b _080FFDE6
+ .align 2, 0
+_080FFDDC: .4byte gUnknown_203ACE8
+_080FFDE0: .4byte gUnknown_84189EE
+_080FFDE4:
+ ldr r0, _080FFDF0 @ =gUnknown_84189E0
+_080FFDE6:
+ str r0, [r2]
+ movs r0, 0
+ str r0, [r1]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_080FFDF0: .4byte gUnknown_84189E0
+ thumb_func_end sub_80FFDC8
+
+ thumb_func_start sub_80FFDF4
+sub_80FFDF4: @ 80FFDF4
+ ldr r2, _080FFE00 @ =gUnknown_8418937
+ str r2, [r0]
+ ldr r0, _080FFE04 @ =gUnknown_8418956
+ str r0, [r1]
+ bx lr
+ .align 2, 0
+_080FFE00: .4byte gUnknown_8418937
+_080FFE04: .4byte gUnknown_8418956
+ thumb_func_end sub_80FFDF4
+
+ thumb_func_start sub_80FFE08
+sub_80FFE08: @ 80FFE08
+ ldr r2, _080FFE18 @ =gUnknown_203ACE8
+ ldr r3, [r2]
+ ldrb r2, [r3, 0xA]
+ strb r2, [r0]
+ ldrb r0, [r3, 0xB]
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080FFE18: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFE08
+
+ thumb_func_start sub_80FFE1C
+sub_80FFE1C: @ 80FFE1C
+ ldr r0, _080FFE24 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x9]
+ bx lr
+ .align 2, 0
+_080FFE24: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFE1C
+
+ thumb_func_start sub_80FFE28
+sub_80FFE28: @ 80FFE28
+ ldr r0, _080FFE30 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xC]
+ bx lr
+ .align 2, 0
+_080FFE30: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFE28
+
+ thumb_func_start sub_80FFE34
+sub_80FFE34: @ 80FFE34
+ ldr r2, _080FFE44 @ =gUnknown_203ACE8
+ ldr r3, [r2]
+ ldrb r2, [r3, 0x10]
+ strb r2, [r0]
+ ldrb r0, [r3, 0x11]
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_080FFE44: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFE34
+
+ thumb_func_start sub_80FFE48
+sub_80FFE48: @ 80FFE48
+ ldr r0, _080FFE50 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xE]
+ bx lr
+ .align 2, 0
+_080FFE50: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFE48
+
+ thumb_func_start sub_80FFE54
+sub_80FFE54: @ 80FFE54
+ ldr r0, _080FFE5C @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r0, [r0, 0xF]
+ bx lr
+ .align 2, 0
+_080FFE5C: .4byte gUnknown_203ACE8
+ thumb_func_end sub_80FFE54
+
+ thumb_func_start sub_80FFE60
+sub_80FFE60: @ 80FFE60
+ movs r0, 0
+ bx lr
+ thumb_func_end sub_80FFE60
+
+ thumb_func_start sub_80FFE64
+sub_80FFE64: @ 80FFE64
+ push {lr}
+ ldr r0, _080FFE78 @ =gUnknown_203ACE8
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x4]
+ cmp r0, 0x2
+ beq _080FFE7C
+ cmp r0, 0x3
+ beq _080FFE86
+ b _080FFE90
+ .align 2, 0
+_080FFE78: .4byte gUnknown_203ACE8
+_080FFE7C:
+ ldrb r0, [r1, 0x9]
+ cmp r0, 0
+ bne _080FFE90
+ ldrb r0, [r1, 0xC]
+ b _080FFE88
+_080FFE86:
+ ldrb r0, [r1, 0xE]
+_080FFE88:
+ cmp r0, 0
+ beq _080FFE90
+ movs r0, 0x1
+ b _080FFE92
+_080FFE90:
+ movs r0, 0
+_080FFE92:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFE64
+
+ thumb_func_start sub_80FFE98
+sub_80FFE98: @ 80FFE98
+ push {lr}
+ ldr r0, _080FFEAC @ =gUnknown_203ACE8
+ ldr r2, [r0]
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0x2
+ beq _080FFEB0
+ cmp r0, 0x3
+ beq _080FFEC6
+ b _080FFED4
+ .align 2, 0
+_080FFEAC: .4byte gUnknown_203ACE8
+_080FFEB0:
+ ldrb r0, [r2, 0x9]
+ cmp r0, 0
+ bne _080FFED4
+ ldrb r1, [r2, 0xC]
+ adds r1, 0x4
+ ldrb r0, [r2, 0xD]
+ subs r0, 0x1
+ cmp r1, r0
+ bgt _080FFED4
+ movs r0, 0x1
+ b _080FFED6
+_080FFEC6:
+ ldrb r0, [r2, 0xE]
+ adds r0, 0x4
+ ldrb r2, [r2, 0xF]
+ cmp r0, r2
+ bgt _080FFED4
+ movs r0, 0x1
+ b _080FFED6
+_080FFED4:
+ movs r0, 0
+_080FFED6:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFE98
+
+ thumb_func_start sub_80FFEDC
+sub_80FFEDC: @ 80FFEDC
+ push {r4,r5,lr}
+ adds r5, r0, 0
+ lsls r1, 24
+ lsrs r3, r1, 24
+ movs r2, 0
+ cmp r2, r3
+ bcs _080FFF12
+ ldr r0, _080FFF04 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ adds r4, r0, 0
+ adds r4, 0x18
+_080FFEF2:
+ lsls r0, r2, 1
+ adds r1, r0, r5
+ adds r0, r4, r0
+ ldrh r1, [r1]
+ ldrh r0, [r0]
+ cmp r1, r0
+ beq _080FFF08
+ movs r0, 0x1
+ b _080FFF14
+ .align 2, 0
+_080FFF04: .4byte gUnknown_203ACE8
+_080FFF08:
+ adds r0, r2, 0x1
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r2, r3
+ bcc _080FFEF2
+_080FFF12:
+ movs r0, 0
+_080FFF14:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFEDC
+
+ thumb_func_start sub_80FFF1C
+sub_80FFF1C: @ 80FFF1C
+ push {lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ movs r1, 0
+ ldr r2, _080FFF34 @ =gUnknown_843F2AC
+_080FFF26:
+ ldrb r0, [r2]
+ cmp r0, r3
+ bne _080FFF38
+ lsls r0, r1, 24
+ lsrs r0, 24
+ b _080FFF42
+ .align 2, 0
+_080FFF34: .4byte gUnknown_843F2AC
+_080FFF38:
+ adds r2, 0x18
+ adds r1, 0x1
+ cmp r1, 0x9
+ bls _080FFF26
+ movs r0, 0
+_080FFF42:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFF1C
+
+ thumb_func_start sub_80FFF48
+sub_80FFF48: @ 80FFF48
+ push {r4,lr}
+ movs r2, 0
+ ldr r0, _080FFF68 @ =gUnknown_203ACE8
+ ldr r0, [r0]
+ ldrb r1, [r0, 0x7]
+ cmp r2, r1
+ bge _080FFF78
+ ldr r4, _080FFF6C @ =0x0000ffff
+ adds r3, r1, 0
+ adds r1, r0, 0
+ adds r1, 0x18
+_080FFF5E:
+ ldrh r0, [r1]
+ cmp r0, r4
+ beq _080FFF70
+ movs r0, 0
+ b _080FFF7A
+ .align 2, 0
+_080FFF68: .4byte gUnknown_203ACE8
+_080FFF6C: .4byte 0x0000ffff
+_080FFF70:
+ adds r1, 0x2
+ adds r2, 0x1
+ cmp r2, r3
+ blt _080FFF5E
+_080FFF78:
+ movs r0, 0x1
+_080FFF7A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFF48
+
+ thumb_func_start sub_80FFF80
+sub_80FFF80: @ 80FFF80
+ push {lr}
+ bl sub_8100BF4
+ lsls r0, 24
+ cmp r0, 0
+ beq _080FFF90
+ movs r0, 0x1
+ b _080FFF92
+_080FFF90:
+ movs r0, 0
+_080FFF92:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_80FFF80
+
+ thumb_func_start sub_80FFF98
+sub_80FFF98: @ 80FFF98
+ push {r4,lr}
+ sub sp, 0x8
+ ldr r0, _080FFFB4 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x5
+ bls _080FFFA8
+ b _08100100
+_080FFFA8:
+ lsls r0, 2
+ ldr r1, _080FFFB8 @ =_080FFFBC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_080FFFB4: .4byte gUnknown_203ACEC
+_080FFFB8: .4byte _080FFFBC
+ .align 2, 0
+_080FFFBC:
+ .4byte _080FFFD4
+ .4byte _08100038
+ .4byte _0810006C
+ .4byte _0810009C
+ .4byte _081000AE
+ .4byte _081000B8
+_080FFFD4:
+ movs r0, 0
+ bl ResetBgsAndClearDma3BusyFlags
+ ldr r1, _08100028 @ =gUnknown_843F8A0
+ movs r0, 0
+ movs r2, 0x4
+ bl InitBgsFromTemplates
+ ldr r4, _0810002C @ =gUnknown_203ACEC
+ ldr r1, [r4]
+ movs r0, 0xB0
+ lsls r0, 4
+ adds r1, r0
+ movs r0, 0x3
+ bl SetBgTilemapBuffer
+ ldr r1, [r4]
+ movs r0, 0xC0
+ lsls r0, 2
+ adds r1, r0
+ movs r0, 0x1
+ bl SetBgTilemapBuffer
+ ldr r0, _08100030 @ =gUnknown_843F8B0
+ bl InitWindows
+ bl DeactivateAllTextPrinters
+ bl sub_8100CBC
+ bl sub_8100C5C
+ movs r0, 0
+ str r0, [sp, 0x4]
+ movs r1, 0xE0
+ lsls r1, 19
+ ldr r2, _08100034 @ =0x01000100
+ add r0, sp, 0x4
+ bl CpuFastSet
+ b _08100104
+ .align 2, 0
+_08100028: .4byte gUnknown_843F8A0
+_0810002C: .4byte gUnknown_203ACEC
+_08100030: .4byte gUnknown_843F8B0
+_08100034: .4byte 0x01000100
+_08100038:
+ ldr r1, _08100064 @ =gUnknown_8E99DAC
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl DecompressAndLoadBgGfxUsingHeap
+ ldr r1, _08100068 @ =gUnknown_8E99E74
+ movs r0, 0x3
+ movs r2, 0
+ movs r3, 0
+ bl CopyToBgTilemapBuffer
+ bl sub_8100F44
+ bl sub_8102428
+ movs r0, 0x3
+ bl CopyBgTilemapBufferToVram
+ b _08100104
+ .align 2, 0
+_08100064: .4byte gUnknown_8E99DAC
+_08100068: .4byte gUnknown_8E99E74
+_0810006C:
+ ldr r0, _08100094 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 2
+ adds r0, r1
+ bl sub_8101100
+ ldr r1, _08100098 @ =gUnknown_843F7AC
+ movs r0, 0
+ str r0, [sp]
+ movs r0, 0x1
+ movs r2, 0
+ movs r3, 0
+ bl DecompressAndLoadBgGfxUsingHeap
+ movs r0, 0x1
+ bl CopyBgTilemapBufferToVram
+ b _08100104
+ .align 2, 0
+_08100094: .4byte gUnknown_203ACEC
+_08100098: .4byte gUnknown_843F7AC
+_0810009C:
+ bl sub_8100D24
+ bl sub_8100E34
+ bl sub_8100FDC
+ bl sub_81012CC
+ b _08100104
+_081000AE:
+ bl sub_8101A90
+ bl sub_8101AC4
+ b _08100104
+_081000B8:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810010E
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_8101A5C
+ movs r0, 0x48
+ movs r1, 0x3F
+ bl SetGpuReg
+ movs r0, 0x4A
+ movs r1, 0x3B
+ bl SetGpuReg
+ movs r0, 0x3
+ bl ShowBg
+ movs r0, 0x1
+ bl ShowBg
+ movs r0, 0x2
+ bl ShowBg
+ movs r0, 0
+ bl ShowBg
+ bl sub_81021D4
+ bl sub_8102320
+ b _08100104
+_08100100:
+ movs r0, 0
+ b _08100110
+_08100104:
+ ldr r0, _08100118 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_0810010E:
+ movs r0, 0x1
+_08100110:
+ add sp, 0x8
+ pop {r4}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08100118: .4byte gUnknown_203ACEC
+ thumb_func_end sub_80FFF98
+
+ thumb_func_start sub_810011C
+sub_810011C: @ 810011C
+ push {lr}
+ ldr r0, _08100130 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _0810012A
+ bl Free
+_0810012A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08100130: .4byte gUnknown_203ACEC
+ thumb_func_end sub_810011C
+
+ thumb_func_start sub_8100134
+sub_8100134: @ 8100134
+ push {lr}
+ ldr r1, _08100148 @ =gUnknown_203ACEC
+ ldr r1, [r1]
+ movs r2, 0
+ strh r0, [r1, 0x4]
+ strh r2, [r1]
+ bl sub_810014C
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08100148: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8100134
+
+ thumb_func_start sub_810014C
+sub_810014C: @ 810014C
+ push {lr}
+ ldr r0, _08100164 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x4]
+ cmp r0, 0x16
+ bhi _08100250
+ lsls r0, 2
+ ldr r1, _08100168 @ =_0810016C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08100164: .4byte gUnknown_203ACEC
+_08100168: .4byte _0810016C
+ .align 2, 0
+_0810016C:
+ .4byte _08100250
+ .4byte _081001C8
+ .4byte _081001CE
+ .4byte _081001D4
+ .4byte _081001DA
+ .4byte _081001E0
+ .4byte _081001E6
+ .4byte _081001EC
+ .4byte _081001F2
+ .4byte _081001F8
+ .4byte _081001FE
+ .4byte _08100204
+ .4byte _0810020A
+ .4byte _08100210
+ .4byte _08100216
+ .4byte _0810021C
+ .4byte _08100222
+ .4byte _08100228
+ .4byte _0810022E
+ .4byte _08100234
+ .4byte _0810023A
+ .4byte _08100240
+ .4byte _08100246
+_081001C8:
+ bl sub_8100258
+ b _0810024A
+_081001CE:
+ bl sub_8100290
+ b _0810024A
+_081001D4:
+ bl sub_8100374
+ b _0810024A
+_081001DA:
+ bl sub_8100430
+ b _0810024A
+_081001E0:
+ bl sub_81003A8
+ b _0810024A
+_081001E6:
+ bl sub_81003EC
+ b _0810024A
+_081001EC:
+ bl sub_8100474
+ b _0810024A
+_081001F2:
+ bl sub_81004B8
+ b _0810024A
+_081001F8:
+ bl sub_81004F4
+ b _0810024A
+_081001FE:
+ bl sub_81005C0
+ b _0810024A
+_08100204:
+ bl sub_81007D0
+ b _0810024A
+_0810020A:
+ bl sub_8100890
+ b _0810024A
+_08100210:
+ bl sub_810093C
+ b _0810024A
+_08100216:
+ bl sub_8100720
+ b _0810024A
+_0810021C:
+ bl sub_810072C
+ b _0810024A
+_08100222:
+ bl sub_8100774
+ b _0810024A
+_08100228:
+ bl sub_81009F8
+ b _0810024A
+_0810022E:
+ bl sub_8100A78
+ b _0810024A
+_08100234:
+ bl sub_8100A04
+ b _0810024A
+_0810023A:
+ bl sub_8100B70
+ b _0810024A
+_08100240:
+ bl sub_8100AE8
+ b _0810024A
+_08100246:
+ bl sub_8100660
+_0810024A:
+ lsls r0, 24
+ lsrs r0, 24
+ b _08100252
+_08100250:
+ movs r0, 0
+_08100252:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810014C
+
+ thumb_func_start sub_8100258
+sub_8100258: @ 8100258
+ push {r4,lr}
+ ldr r4, _0810026C @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _08100270
+ cmp r0, 0x1
+ beq _0810027E
+ b _08100288
+ .align 2, 0
+_0810026C: .4byte gUnknown_203ACEC
+_08100270:
+ bl sub_8100FDC
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100288
+_0810027E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r0, 24
+ b _0810028A
+_08100288:
+ movs r0, 0x1
+_0810028A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100258
+
+ thumb_func_start sub_8100290
+sub_8100290: @ 8100290
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x40
+ bl sub_80FFD1C
+ adds r4, r0, 0
+ bl sub_80FFCE0
+ lsls r0, 24
+ lsrs r0, 24
+ mov r9, r0
+ bl sub_80FFD40
+ lsls r0, 24
+ lsrs r7, r0, 24
+ bl sub_80FFD4C
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ bl sub_80FFD34
+ lsls r0, 24
+ lsrs r0, 24
+ mov r1, r8
+ muls r1, r0
+ adds r0, r1, 0
+ lsls r0, 1
+ adds r4, r0
+ ldr r1, _08100304 @ =gUnknown_843F888
+ mov r2, r9
+ lsls r0, r2, 2
+ adds r0, r1
+ ldrb r0, [r0]
+ lsls r0, 19
+ movs r1, 0xD0
+ lsls r1, 12
+ adds r0, r1
+ lsrs r6, r0, 16
+ movs r5, 0
+ cmp r5, r7
+ bcs _0810033A
+ ldr r2, _08100308 @ =0x0000ffff
+ mov r10, r2
+_081002EE:
+ ldrh r0, [r4]
+ cmp r0, r10
+ bne _08100310
+ movs r0, 0x1
+ ldr r1, _0810030C @ =gUnknown_843F8D8
+ movs r2, 0
+ bl GetStringWidth
+ lsls r1, r0, 3
+ subs r0, r1, r0
+ b _08100322
+ .align 2, 0
+_08100304: .4byte gUnknown_843F888
+_08100308: .4byte 0x0000ffff
+_0810030C: .4byte gUnknown_843F8D8
+_08100310:
+ ldrh r1, [r4]
+ mov r0, sp
+ bl CopyEasyChatWord
+ movs r0, 0x1
+ mov r1, sp
+ movs r2, 0
+ bl GetStringWidth
+_08100322:
+ adds r0, 0x11
+ lsls r1, r6, 16
+ asrs r1, 16
+ adds r1, r0
+ lsls r1, 16
+ lsrs r6, r1, 16
+ adds r4, 0x2
+ adds r0, r5, 0x1
+ lsls r0, 24
+ lsrs r5, r0, 24
+ cmp r5, r7
+ bcc _081002EE
+_0810033A:
+ ldr r1, _08100370 @ =gUnknown_843F888
+ mov r2, r9
+ lsls r0, r2, 2
+ adds r0, r1
+ mov r2, r8
+ lsls r1, r2, 1
+ ldrb r0, [r0, 0x1]
+ adds r1, r0
+ adds r1, 0x1
+ lsls r1, 3
+ adds r1, 0x1
+ lsls r0, r6, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ bl sub_8101B58
+ movs r0, 0
+ add sp, 0x40
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_08100370: .4byte gUnknown_843F888
+ thumb_func_end sub_8100290
+
+ thumb_func_start sub_8100374
+sub_8100374: @ 8100374
+ push {lr}
+ bl sub_80FFD40
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08100396
+ cmp r0, 0x1
+ bgt _0810038C
+ cmp r0, 0
+ beq _08100392
+ b _081003A2
+_0810038C:
+ cmp r0, 0x2
+ beq _0810039A
+ b _081003A2
+_08100392:
+ movs r0, 0x1C
+ b _0810039C
+_08100396:
+ movs r0, 0x73
+ b _0810039C
+_0810039A:
+ movs r0, 0xBF
+_0810039C:
+ movs r1, 0x61
+ bl sub_8101B58
+_081003A2:
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100374
+
+ thumb_func_start sub_81003A8
+sub_81003A8: @ 81003A8
+ push {r4,lr}
+ ldr r4, _081003BC @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _081003C0
+ cmp r0, 0x1
+ beq _081003DA
+ b _081003E4
+ .align 2, 0
+_081003BC: .4byte gUnknown_203ACEC
+_081003C0:
+ bl sub_8101B88
+ movs r0, 0x2
+ bl sub_8100E7C
+ movs r0, 0x1
+ bl sub_8100F18
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _081003E4
+_081003DA:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r0, 24
+ b _081003E6
+_081003E4:
+ movs r0, 0x1
+_081003E6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81003A8
+
+ thumb_func_start sub_81003EC
+sub_81003EC: @ 81003EC
+ push {r4,lr}
+ ldr r4, _08100400 @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _08100404
+ cmp r0, 0x1
+ beq _0810041E
+ b _08100428
+ .align 2, 0
+_08100400: .4byte gUnknown_203ACEC
+_08100404:
+ bl sub_8101B88
+ movs r0, 0x3
+ bl sub_8100E7C
+ movs r0, 0
+ bl sub_8100F18
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100428
+_0810041E:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r0, 24
+ b _0810042A
+_08100428:
+ movs r0, 0x1
+_0810042A:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81003EC
+
+ thumb_func_start sub_8100430
+sub_8100430: @ 8100430
+ push {r4,lr}
+ ldr r4, _08100444 @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _08100448
+ cmp r0, 0x1
+ beq _08100462
+ b _0810046C
+ .align 2, 0
+_08100444: .4byte gUnknown_203ACEC
+_08100448:
+ bl sub_8101B88
+ movs r0, 0x1
+ bl sub_8100E7C
+ movs r0, 0x1
+ bl sub_8100F18
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _0810046C
+_08100462:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r0, 24
+ b _0810046E
+_0810046C:
+ movs r0, 0x1
+_0810046E:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100430
+
+ thumb_func_start sub_8100474
+sub_8100474: @ 8100474
+ push {r4,lr}
+ ldr r4, _08100488 @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _0810048C
+ cmp r0, 0x1
+ beq _081004A6
+ b _081004B0
+ .align 2, 0
+_08100488: .4byte gUnknown_203ACEC
+_0810048C:
+ bl sub_8101BA8
+ movs r0, 0
+ bl sub_8100E7C
+ movs r0, 0
+ bl ShowBg
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _081004B0
+_081004A6:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r0, 24
+ b _081004B2
+_081004B0:
+ movs r0, 0x1
+_081004B2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100474
+
+ thumb_func_start sub_81004B8
+sub_81004B8: @ 81004B8
+ push {r4,lr}
+ ldr r4, _081004CC @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _081004D0
+ cmp r0, 0x1
+ beq _081004E6
+ movs r0, 0x1
+ b _081004EE
+ .align 2, 0
+_081004CC: .4byte gUnknown_203ACEC
+_081004D0:
+ bl sub_8101BA8
+ movs r0, 0
+ bl sub_8100E7C
+ bl sub_8100FDC
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_081004E6:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ lsrs r0, 24
+_081004EE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81004B8
+
+ thumb_func_start sub_81004F4
+sub_81004F4: @ 81004F4
+ push {lr}
+ ldr r0, _0810050C @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _081005AE
+ lsls r0, 2
+ ldr r1, _08100510 @ =_08100514
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_0810050C: .4byte gUnknown_203ACEC
+_08100510: .4byte _08100514
+ .align 2, 0
+_08100514:
+ .4byte _08100528
+ .4byte _08100544
+ .4byte _08100556
+ .4byte _0810056C
+ .4byte _0810058C
+_08100528:
+ bl sub_8101B88
+ movs r0, 0
+ bl HideBg
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl sub_8101A5C
+ bl sub_810131C
+ b _0810057A
+_08100544:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _081005B8
+ movs r0, 0
+ bl sub_81015D4
+ b _0810057A
+_08100556:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _081005B8
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _081005B8
+ b _0810057A
+_0810056C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _081005B8
+ bl sub_8101FAC
+_0810057A:
+ ldr r0, _08100588 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _081005B8
+ .align 2, 0
+_08100588: .4byte gUnknown_203ACEC
+_0810058C:
+ bl sub_8102018
+ lsls r0, 24
+ cmp r0, 0
+ bne _081005B8
+ bl sub_8101BC0
+ movs r0, 0
+ bl sub_81022E0
+ bl sub_810224C
+ ldr r0, _081005B4 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_081005AE:
+ movs r0, 0
+ b _081005BA
+ .align 2, 0
+_081005B4: .4byte gUnknown_203ACEC
+_081005B8:
+ movs r0, 0x1
+_081005BA:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81004F4
+
+ thumb_func_start sub_81005C0
+sub_81005C0: @ 81005C0
+ push {lr}
+ ldr r0, _081005D8 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _08100658
+ lsls r0, 2
+ ldr r1, _081005DC @ =_081005E0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081005D8: .4byte gUnknown_203ACEC
+_081005DC: .4byte _081005E0
+ .align 2, 0
+_081005E0:
+ .4byte _081005F4
+ .4byte _08100602
+ .4byte _0810061E
+ .4byte _08100630
+ .4byte _08100654
+_081005F4:
+ bl sub_8101C48
+ bl sub_81020AC
+ bl sub_81022B0
+ b _08100644
+_08100602:
+ bl sub_81020D0
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ beq _08100658
+ movs r0, 0x1
+ bl sub_81015D4
+ ldr r0, _0810062C @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_0810061E:
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100658
+ b _08100644
+ .align 2, 0
+_0810062C: .4byte gUnknown_203ACEC
+_08100630:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100658
+ bl sub_8101BA8
+ movs r0, 0
+ bl ShowBg
+_08100644:
+ ldr r0, _08100650 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100658
+ .align 2, 0
+_08100650: .4byte gUnknown_203ACEC
+_08100654:
+ movs r0, 0
+ b _0810065A
+_08100658:
+ movs r0, 0x1
+_0810065A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81005C0
+
+ thumb_func_start sub_8100660
+sub_8100660: @ 8100660
+ push {lr}
+ ldr r0, _08100678 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _08100718
+ lsls r0, 2
+ ldr r1, _0810067C @ =_08100680
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08100678: .4byte gUnknown_203ACEC
+_0810067C: .4byte _08100680
+ .align 2, 0
+_08100680:
+ .4byte _08100694
+ .4byte _081006A8
+ .4byte _081006C2
+ .4byte _081006E8
+ .4byte _0810070E
+_08100694:
+ bl sub_8101C48
+ bl sub_81022B0
+ bl sub_810215C
+ movs r0, 0x5
+ bl sub_81015D4
+ b _081006D6
+_081006A8:
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100718
+ bl sub_81021B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100718
+ bl sub_810131C
+ b _081006D6
+_081006C2:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100718
+ movs r0, 0x6
+ bl sub_81015D4
+ bl sub_8102178
+_081006D6:
+ ldr r0, _081006E4 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100718
+ .align 2, 0
+_081006E4: .4byte gUnknown_203ACEC
+_081006E8:
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100718
+ bl sub_81021B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100718
+ bl sub_810224C
+ bl sub_8101BC0
+ ldr r0, _08100714 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_0810070E:
+ movs r0, 0
+ b _0810071A
+ .align 2, 0
+_08100714: .4byte gUnknown_203ACEC
+_08100718:
+ movs r0, 0x1
+_0810071A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100660
+
+ thumb_func_start sub_8100720
+sub_8100720: @ 8100720
+ push {lr}
+ bl sub_8101C80
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100720
+
+ thumb_func_start sub_810072C
+sub_810072C: @ 810072C
+ push {r4,lr}
+ ldr r4, _08100740 @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0
+ beq _08100744
+ cmp r0, 0x1
+ beq _08100754
+ b _0810076A
+ .align 2, 0
+_08100740: .4byte gUnknown_203ACEC
+_08100744:
+ movs r0, 0x1
+ movs r1, 0x2
+ bl sub_81019B0
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08100754:
+ bl sub_8101A10
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810076A
+ bl sub_8101C80
+ bl sub_810224C
+ movs r0, 0
+ b _0810076C
+_0810076A:
+ movs r0, 0x1
+_0810076C:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810072C
+
+ thumb_func_start sub_8100774
+sub_8100774: @ 8100774
+ push {r4,lr}
+ ldr r4, _0810078C @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _081007A8
+ cmp r0, 0x1
+ bgt _08100790
+ cmp r0, 0
+ beq _08100796
+ b _081007C8
+ .align 2, 0
+_0810078C: .4byte gUnknown_203ACEC
+_08100790:
+ cmp r0, 0x2
+ beq _081007C0
+ b _081007C8
+_08100796:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x2
+ bl sub_81019B0
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_081007A8:
+ bl sub_8101A10
+ lsls r0, 24
+ cmp r0, 0
+ bne _081007C8
+ bl sub_810224C
+ ldr r0, _081007C4 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_081007C0:
+ movs r0, 0
+ b _081007CA
+ .align 2, 0
+_081007C4: .4byte gUnknown_203ACEC
+_081007C8:
+ movs r0, 0x1
+_081007CA:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100774
+
+ thumb_func_start sub_81007D0
+sub_81007D0: @ 81007D0
+ push {lr}
+ ldr r0, _081007E8 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x5
+ bhi _08100888
+ lsls r0, 2
+ ldr r1, _081007EC @ =_081007F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081007E8: .4byte gUnknown_203ACEC
+_081007EC: .4byte _081007F0
+ .align 2, 0
+_081007F0:
+ .4byte _08100808
+ .4byte _08100816
+ .4byte _08100826
+ .4byte _08100838
+ .4byte _08100858
+ .4byte _0810087E
+_08100808:
+ bl sub_8101C48
+ bl sub_81020AC
+ bl sub_81022B0
+ b _08100848
+_08100816:
+ bl sub_81020D0
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100888
+ bl sub_81015BC
+ b _08100848
+_08100826:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100888
+ movs r0, 0x2
+ bl sub_81015D4
+ b _08100848
+_08100838:
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100888
+ movs r0, 0x2
+ bl sub_81012E0
+_08100848:
+ ldr r0, _08100854 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100888
+ .align 2, 0
+_08100854: .4byte gUnknown_203ACEC
+_08100858:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100888
+ bl sub_8101E80
+ movs r0, 0x1
+ bl sub_81022E0
+ bl sub_810224C
+ bl sub_8102394
+ ldr r0, _08100884 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_0810087E:
+ movs r0, 0
+ b _0810088A
+ .align 2, 0
+_08100884: .4byte gUnknown_203ACEC
+_08100888:
+ movs r0, 0x1
+_0810088A:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81007D0
+
+ thumb_func_start sub_8100890
+sub_8100890: @ 8100890
+ push {lr}
+ ldr r0, _081008A8 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x5
+ bhi _08100934
+ lsls r0, 2
+ ldr r1, _081008AC @ =_081008B0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081008A8: .4byte gUnknown_203ACEC
+_081008AC: .4byte _081008B0
+ .align 2, 0
+_081008B0:
+ .4byte _081008C8
+ .4byte _081008CE
+ .4byte _081008E0
+ .4byte _081008F2
+ .4byte _08100914
+ .4byte _0810092C
+_081008C8:
+ bl sub_8100FDC
+ b _08100902
+_081008CE:
+ bl sub_8101F80
+ bl sub_81022B0
+ bl sub_81023F8
+ bl sub_81015BC
+ b _08100902
+_081008E0:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100934
+ movs r0, 0x3
+ bl sub_81015D4
+ b _08100902
+_081008F2:
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100934
+ movs r0, 0
+ bl ShowBg
+_08100902:
+ ldr r0, _08100910 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100934
+ .align 2, 0
+_08100910: .4byte gUnknown_203ACEC
+_08100914:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100934
+ bl sub_8101BA8
+ ldr r0, _08100930 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_0810092C:
+ movs r0, 0
+ b _08100936
+ .align 2, 0
+_08100930: .4byte gUnknown_203ACEC
+_08100934:
+ movs r0, 0x1
+_08100936:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100890
+
+ thumb_func_start sub_810093C
+sub_810093C: @ 810093C
+ push {lr}
+ ldr r0, _08100954 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrh r0, [r0]
+ cmp r0, 0x4
+ bhi _081009F0
+ lsls r0, 2
+ ldr r1, _08100958 @ =_0810095C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08100954: .4byte gUnknown_203ACEC
+_08100958: .4byte _0810095C
+ .align 2, 0
+_0810095C:
+ .4byte _08100970
+ .4byte _08100982
+ .4byte _08100994
+ .4byte _081009A4
+ .4byte _081009C4
+_08100970:
+ bl sub_8101F80
+ bl sub_81022B0
+ bl sub_81023F8
+ bl sub_81015BC
+ b _081009B2
+_08100982:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _081009F0
+ movs r0, 0x4
+ bl sub_81015D4
+ b _081009B2
+_08100994:
+ bl sub_81016AC
+ lsls r0, 24
+ cmp r0, 0
+ bne _081009F0
+ bl sub_810131C
+ b _081009B2
+_081009A4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _081009F0
+ bl sub_8101FAC
+_081009B2:
+ ldr r0, _081009C0 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _081009F0
+ .align 2, 0
+_081009C0: .4byte gUnknown_203ACEC
+_081009C4:
+ bl sub_8102018
+ lsls r0, 24
+ cmp r0, 0
+ bne _081009F0
+ bl sub_8101BC0
+ movs r0, 0
+ bl sub_81022E0
+ bl sub_810224C
+ ldr r0, _081009EC @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ movs r0, 0
+ b _081009F2
+ .align 2, 0
+_081009EC: .4byte gUnknown_203ACEC
+_081009F0:
+ movs r0, 0x1
+_081009F2:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_810093C
+
+ thumb_func_start sub_81009F8
+sub_81009F8: @ 81009F8
+ push {lr}
+ bl sub_8101F04
+ movs r0, 0
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81009F8
+
+ thumb_func_start sub_8100A04
+sub_8100A04: @ 8100A04
+ push {r4,lr}
+ ldr r4, _08100A1C @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _08100A30
+ cmp r0, 0x1
+ bgt _08100A20
+ cmp r0, 0
+ beq _08100A2A
+ b _08100A6E
+ .align 2, 0
+_08100A1C: .4byte gUnknown_203ACEC
+_08100A20:
+ cmp r0, 0x2
+ beq _08100A4C
+ cmp r0, 0x3
+ beq _08100A6A
+ b _08100A6E
+_08100A2A:
+ bl sub_81013EC
+ b _08100A42
+_08100A30:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100A6E
+ movs r0, 0x1
+ movs r1, 0x2
+ bl sub_81019B0
+_08100A42:
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100A6E
+_08100A4C:
+ bl sub_8101A10
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100A6E
+ bl sub_8101F04
+ bl sub_810224C
+ bl sub_8102394
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08100A6A:
+ movs r0, 0
+ b _08100A70
+_08100A6E:
+ movs r0, 0x1
+_08100A70:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100A04
+
+ thumb_func_start sub_8100A78
+sub_8100A78: @ 8100A78
+ push {r4,lr}
+ ldr r4, _08100A90 @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _08100AA4
+ cmp r0, 0x1
+ bgt _08100A94
+ cmp r0, 0
+ beq _08100A9E
+ b _08100AE0
+ .align 2, 0
+_08100A90: .4byte gUnknown_203ACEC
+_08100A94:
+ cmp r0, 0x2
+ beq _08100AC2
+ cmp r0, 0x3
+ beq _08100ADC
+ b _08100AE0
+_08100A9E:
+ bl sub_8101410
+ b _08100AB8
+_08100AA4:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100AE0
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0x2
+ bl sub_81019B0
+_08100AB8:
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100AE0
+_08100AC2:
+ bl sub_8101A10
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100AE0
+ bl sub_810224C
+ bl sub_8102394
+ ldr r1, [r4]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08100ADC:
+ movs r0, 0
+ b _08100AE2
+_08100AE0:
+ movs r0, 0x1
+_08100AE2:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100A78
+
+ thumb_func_start sub_8100AE8
+sub_8100AE8: @ 8100AE8
+ push {r4,r5,lr}
+ ldr r5, _08100B00 @ =gUnknown_203ACEC
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _08100B14
+ cmp r0, 0x1
+ bgt _08100B04
+ cmp r0, 0
+ beq _08100B0E
+ b _08100B66
+ .align 2, 0
+_08100B00: .4byte gUnknown_203ACEC
+_08100B04:
+ cmp r0, 0x2
+ beq _08100B44
+ cmp r0, 0x3
+ beq _08100B62
+ b _08100B66
+_08100B0E:
+ bl sub_8101434
+ b _08100B3A
+_08100B14:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100B66
+ bl sub_80FFE48
+ adds r4, r0, 0
+ bl sub_8101A48
+ lsls r4, 24
+ lsrs r4, 24
+ subs r4, r0
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_81019B0
+_08100B3A:
+ ldr r1, [r5]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100B66
+_08100B44:
+ bl sub_8101A10
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100B66
+ bl sub_8101F04
+ bl sub_810224C
+ bl sub_8102394
+ ldr r1, [r5]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08100B62:
+ movs r0, 0
+ b _08100B68
+_08100B66:
+ movs r0, 0x1
+_08100B68:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100AE8
+
+ thumb_func_start sub_8100B70
+sub_8100B70: @ 8100B70
+ push {r4,r5,lr}
+ ldr r5, _08100B88 @ =gUnknown_203ACEC
+ ldr r0, [r5]
+ ldrh r0, [r0]
+ cmp r0, 0x1
+ beq _08100B9C
+ cmp r0, 0x1
+ bgt _08100B8C
+ cmp r0, 0
+ beq _08100B96
+ b _08100BEA
+ .align 2, 0
+_08100B88: .4byte gUnknown_203ACEC
+_08100B8C:
+ cmp r0, 0x2
+ beq _08100BCC
+ cmp r0, 0x3
+ beq _08100BE6
+ b _08100BEA
+_08100B96:
+ bl sub_8101478
+ b _08100BC2
+_08100B9C:
+ bl IsDma3ManagerBusyWithBgCopy
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100BEA
+ bl sub_80FFE48
+ adds r4, r0, 0
+ bl sub_8101A48
+ lsls r4, 24
+ lsrs r4, 24
+ subs r4, r0
+ lsls r4, 16
+ asrs r4, 16
+ adds r0, r4, 0
+ movs r1, 0x4
+ bl sub_81019B0
+_08100BC2:
+ ldr r1, [r5]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+ b _08100BEA
+_08100BCC:
+ bl sub_8101A10
+ lsls r0, 24
+ cmp r0, 0
+ bne _08100BEA
+ bl sub_810224C
+ bl sub_8102394
+ ldr r1, [r5]
+ ldrh r0, [r1]
+ adds r0, 0x1
+ strh r0, [r1]
+_08100BE6:
+ movs r0, 0
+ b _08100BEC
+_08100BEA:
+ movs r0, 0x1
+_08100BEC:
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100B70
+
+ thumb_func_start sub_8100BF4
+sub_8100BF4: @ 8100BF4
+ push {r4,lr}
+ ldr r4, _08100C50 @ =gUnknown_203ACEC
+ movs r0, 0x98
+ lsls r0, 5
+ bl Alloc
+ adds r2, r0, 0
+ str r2, [r4]
+ cmp r2, 0
+ beq _08100C54
+ movs r1, 0
+ strh r1, [r2]
+ movs r3, 0xB6
+ lsls r3, 2
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ adds r3, 0x4
+ adds r0, r2, r3
+ str r1, [r0]
+ movs r0, 0x1
+ b _08100C56
+ .align 2, 0
+_08100C50: .4byte gUnknown_203ACEC
+_08100C54:
+ movs r0, 0
+_08100C56:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8100BF4
+
+ thumb_func_start sub_8100C5C
+sub_8100C5C: @ 8100C5C
+ push {lr}
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x3
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0x2
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgX
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ bl ChangeBgY
+ movs r1, 0xC1
+ lsls r1, 6
+ movs r0, 0
+ bl SetGpuReg
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100C5C
+
+ thumb_func_start sub_8100CBC
+sub_8100CBC: @ 8100CBC
+ push {r4,lr}
+ bl ResetPaletteFade
+ ldr r0, _08100D10 @ =gUnknown_8E99D8C
+ movs r1, 0
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _08100D14 @ =gUnknown_843F76C
+ movs r1, 0x10
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _08100D18 @ =gUnknown_843F78C
+ movs r1, 0x40
+ movs r2, 0x20
+ bl LoadPalette
+ ldr r0, _08100D1C @ =gUnknown_843F874
+ movs r1, 0xA0
+ movs r2, 0x8
+ bl LoadPalette
+ ldr r4, _08100D20 @ =gUnknown_843F87C
+ adds r0, r4, 0
+ movs r1, 0xB0
+ movs r2, 0xA
+ bl LoadPalette
+ adds r0, r4, 0
+ movs r1, 0xF0
+ movs r2, 0xA
+ bl LoadPalette
+ adds r0, r4, 0
+ movs r1, 0x30
+ movs r2, 0xA
+ bl LoadPalette
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08100D10: .4byte gUnknown_8E99D8C
+_08100D14: .4byte gUnknown_843F76C
+_08100D18: .4byte gUnknown_843F78C
+_08100D1C: .4byte gUnknown_843F874
+_08100D20: .4byte gUnknown_843F87C
+ thumb_func_end sub_8100CBC
+
+ thumb_func_start sub_8100D24
+sub_8100D24: @ 8100D24
+ push {r4,r5,lr}
+ sub sp, 0x14
+ bl sub_80FFCFC
+ adds r5, r0, 0
+ cmp r5, 0
+ beq _08100D7A
+ movs r0, 0x1
+ adds r1, r5, 0
+ movs r2, 0
+ bl GetStringWidth
+ movs r4, 0x80
+ subs r4, r0
+ lsrs r4, 1
+ movs r0, 0
+ movs r1, 0
+ bl FillWindowPixelBuffer
+ lsls r4, 24
+ lsrs r4, 24
+ movs r1, 0
+ str r1, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r0, 0x2
+ str r0, [sp, 0xC]
+ movs r0, 0x3
+ str r0, [sp, 0x10]
+ movs r0, 0
+ movs r1, 0x1
+ adds r2, r5, 0
+ adds r3, r4, 0
+ bl sub_8100DC4
+ movs r0, 0
+ bl PutWindowTilemap
+ movs r0, 0
+ movs r1, 0x3
+ bl CopyWindowToVram
+_08100D7A:
+ add sp, 0x14
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100D24
+
+ thumb_func_start sub_8100D84
+sub_8100D84: @ 8100D84
+ push {r4-r6,lr}
+ sub sp, 0xC
+ adds r6, r2, 0
+ ldr r2, [sp, 0x1C]
+ ldr r4, [sp, 0x20]
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r2, 24
+ lsrs r0, r2, 24
+ lsls r4, 24
+ lsrs r4, 24
+ cmp r1, 0x1
+ bne _08100DAC
+ adds r0, 0x2
+ lsls r0, 24
+ lsrs r0, 24
+_08100DAC:
+ str r0, [sp]
+ str r4, [sp, 0x4]
+ ldr r0, [sp, 0x24]
+ str r0, [sp, 0x8]
+ adds r0, r5, 0
+ adds r2, r6, 0
+ bl AddTextPrinterParameterized
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100D84
+
+ thumb_func_start sub_8100DC4
+sub_8100DC4: @ 8100DC4
+ push {r4-r7,lr}
+ mov r7, r9
+ mov r6, r8
+ push {r6,r7}
+ sub sp, 0x10
+ mov r9, r2
+ ldr r2, [sp, 0x2C]
+ ldr r4, [sp, 0x30]
+ ldr r5, [sp, 0x34]
+ ldr r6, [sp, 0x38]
+ ldr r7, [sp, 0x3C]
+ mov r8, r7
+ lsls r0, 24
+ lsrs r0, 24
+ mov r12, r0
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r3, 24
+ lsrs r7, r3, 24
+ lsls r2, 24
+ lsrs r3, r2, 24
+ lsls r4, 24
+ lsrs r4, 24
+ lsls r5, 24
+ lsrs r5, 24
+ lsls r6, 24
+ lsrs r6, 24
+ mov r0, r8
+ lsls r0, 24
+ lsrs r2, r0, 24
+ cmp r1, 0x1
+ bne _08100E0A
+ adds r0, r3, 0x2
+ lsls r0, 24
+ lsrs r3, r0, 24
+_08100E0A:
+ add r0, sp, 0xC
+ strb r5, [r0]
+ strb r6, [r0, 0x1]
+ strb r2, [r0, 0x2]
+ str r0, [sp]
+ lsls r0, r4, 24
+ asrs r0, 24
+ str r0, [sp, 0x4]
+ mov r0, r9
+ str r0, [sp, 0x8]
+ mov r0, r12
+ adds r2, r7, 0
+ bl AddTextPrinterParameterized3
+ add sp, 0x10
+ pop {r3,r4}
+ mov r8, r3
+ mov r9, r4
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100DC4
+
+ thumb_func_start sub_8100E34
+sub_8100E34: @ 8100E34
+ push {lr}
+ sub sp, 0xC
+ movs r0, 0x20
+ str r0, [sp]
+ movs r0, 0x14
+ str r0, [sp, 0x4]
+ movs r0, 0x11
+ str r0, [sp, 0x8]
+ movs r0, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0
+ bl FillBgTilemapBufferRect
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0xE0
+ bl TextWindow_SetUserSelectedFrame
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r2, 0xE
+ bl DrawTextBorderOuter
+ movs r0, 0
+ bl sub_8100E7C
+ movs r0, 0x1
+ bl PutWindowTilemap
+ movs r0, 0
+ bl CopyBgTilemapBufferToVram
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100E34
+
+ thumb_func_start sub_8100E7C
+sub_8100E7C: @ 8100E7C
+ push {lr}
+ sub sp, 0x14
+ lsls r0, 24
+ lsrs r1, r0, 24
+ adds r2, r1, 0
+ movs r0, 0
+ str r0, [sp, 0x10]
+ str r0, [sp, 0xC]
+ cmp r1, 0x1
+ beq _08100EC2
+ cmp r1, 0x1
+ bgt _08100E9A
+ cmp r1, 0
+ beq _08100EA4
+ b _08100ECA
+_08100E9A:
+ cmp r2, 0x2
+ beq _08100EAE
+ cmp r2, 0x3
+ beq _08100EB8
+ b _08100ECA
+_08100EA4:
+ add r1, sp, 0x10
+ add r0, sp, 0xC
+ bl sub_80FFD58
+ b _08100ECA
+_08100EAE:
+ add r1, sp, 0x10
+ add r0, sp, 0xC
+ bl sub_80FFDC8
+ b _08100ECA
+_08100EB8:
+ add r1, sp, 0x10
+ add r0, sp, 0xC
+ bl sub_80FFD90
+ b _08100ECA
+_08100EC2:
+ add r1, sp, 0x10
+ add r0, sp, 0xC
+ bl sub_80FFDF4
+_08100ECA:
+ movs r0, 0x1
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r2, [sp, 0xC]
+ cmp r2, 0
+ beq _08100EEC
+ movs r1, 0
+ str r1, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ str r1, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r3, 0
+ bl sub_8100D84
+_08100EEC:
+ ldr r2, [sp, 0x10]
+ cmp r2, 0
+ beq _08100F08
+ movs r0, 0x10
+ str r0, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ movs r0, 0x1
+ movs r1, 0x1
+ movs r3, 0
+ bl sub_8100D84
+_08100F08:
+ movs r0, 0x1
+ movs r1, 0x3
+ bl CopyWindowToVram
+ add sp, 0x14
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8100E7C
+
+ thumb_func_start sub_8100F18
+sub_8100F18: @ 8100F18
+ push {lr}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, _08100F40 @ =gUnknown_843F8D0
+ movs r1, 0x1
+ str r1, [sp]
+ movs r1, 0xE
+ str r1, [sp, 0x4]
+ str r0, [sp, 0x8]
+ adds r0, r2, 0
+ movs r1, 0x1
+ movs r2, 0
+ movs r3, 0x2
+ bl CreateYesNoMenu
+ add sp, 0xC
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08100F40: .4byte gUnknown_843F8D0
+ thumb_func_end sub_8100F18
+
+ thumb_func_start sub_8100F44
+sub_8100F44: @ 8100F44
+ push {r4,r5,lr}
+ sub sp, 0x8
+ bl sub_80FFCE0
+ lsls r0, 24
+ ldr r5, _08100FC0 @ =0xffffff00
+ ldr r3, [sp]
+ ands r3, r5
+ movs r1, 0x3
+ orrs r3, r1
+ str r3, [sp]
+ ldr r1, _08100FC4 @ =gUnknown_843F888
+ lsrs r0, 22
+ adds r0, r1
+ ldrb r2, [r0]
+ lsls r2, 8
+ ldr r4, _08100FC8 @ =0xffff00ff
+ adds r1, r4, 0
+ ands r1, r3
+ orrs r1, r2
+ str r1, [sp]
+ ldrb r2, [r0, 0x1]
+ lsls r2, 16
+ ldr r3, _08100FCC @ =0xff00ffff
+ ands r3, r1
+ orrs r3, r2
+ str r3, [sp]
+ ldrb r2, [r0, 0x2]
+ lsls r2, 24
+ ldr r1, _08100FD0 @ =0x00ffffff
+ ands r1, r3
+ orrs r1, r2
+ str r1, [sp]
+ ldrb r1, [r0, 0x3]
+ ldr r0, [sp, 0x4]
+ ands r0, r5
+ orrs r0, r1
+ ands r0, r4
+ movs r1, 0xB0
+ lsls r1, 4
+ orrs r0, r1
+ ldr r1, _08100FD4 @ =0x0000ffff
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 15
+ orrs r0, r1
+ str r0, [sp, 0x4]
+ mov r0, sp
+ bl AddWindow
+ ldr r1, _08100FD8 @ =gUnknown_203ACEC
+ ldr r1, [r1]
+ strh r0, [r1, 0x2]
+ lsls r0, 24
+ lsrs r0, 24
+ bl PutWindowTilemap
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08100FC0: .4byte 0xffffff00
+_08100FC4: .4byte gUnknown_843F888
+_08100FC8: .4byte 0xffff00ff
+_08100FCC: .4byte 0xff00ffff
+_08100FD0: .4byte 0x00ffffff
+_08100FD4: .4byte 0x0000ffff
+_08100FD8: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8100F44
+
+ thumb_func_start sub_8100FDC
+sub_8100FDC: @ 8100FDC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x14
+ bl sub_80FFD1C
+ adds r4, r0, 0
+ bl sub_80FFD34
+ lsls r0, 24
+ lsrs r0, 24
+ mov r8, r0
+ bl sub_80FFD28
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0xC]
+ bl sub_80FFCE0
+ lsls r0, 24
+ lsrs r0, 24
+ str r0, [sp, 0x10]
+ ldr r0, _0810101C @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x2]
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ movs r6, 0
+ b _081010D6
+ .align 2, 0
+_0810101C: .4byte gUnknown_203ACEC
+_08101020:
+ ldr r0, _0810105C @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0xA
+ movs r0, 0xFF
+ strb r0, [r1, 0xA]
+ adds r0, r2, 0
+ ldr r1, _08101060 @ =gUnknown_843F8DB
+ bl StringAppend
+ adds r2, r0, 0
+ movs r5, 0
+ lsls r7, r6, 28
+ adds r0, r6, 0x1
+ mov r9, r0
+ cmp r5, r8
+ bge _081010B4
+ ldr r0, _08101064 @ =0x0000ffff
+ mov r10, r0
+_08101046:
+ ldrh r0, [r4]
+ cmp r0, r10
+ beq _08101068
+ adds r1, r0, 0
+ adds r0, r2, 0
+ bl CopyEasyChatWord
+ adds r2, r0, 0
+ adds r4, 0x2
+ b _08101096
+ .align 2, 0
+_0810105C: .4byte gUnknown_203ACEC
+_08101060: .4byte gUnknown_843F8DB
+_08101064: .4byte 0x0000ffff
+_08101068:
+ adds r0, r2, 0
+ movs r1, 0
+ movs r2, 0x4
+ bl WriteColorChangeControlCode
+ adds r2, r0, 0
+ adds r4, 0x2
+ movs r3, 0xF9
+ movs r1, 0x9
+ movs r0, 0x6
+_0810107C:
+ strb r3, [r2]
+ adds r2, 0x1
+ strb r1, [r2]
+ adds r2, 0x1
+ subs r0, 0x1
+ cmp r0, 0
+ bge _0810107C
+ adds r0, r2, 0
+ movs r1, 0
+ movs r2, 0x2
+ bl WriteColorChangeControlCode
+ adds r2, r0, 0
+_08101096:
+ adds r0, r2, 0
+ ldr r1, _081010F8 @ =gUnknown_843F8DB
+ bl StringAppend
+ adds r2, r0, 0
+ ldr r0, [sp, 0x10]
+ cmp r0, 0x2
+ bne _081010AE
+ cmp r5, 0
+ bne _081010AE
+ cmp r6, 0x4
+ beq _081010B4
+_081010AE:
+ adds r5, 0x1
+ cmp r5, r8
+ blt _08101046
+_081010B4:
+ movs r0, 0xFF
+ strb r0, [r2]
+ ldr r0, _081010FC @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ ldrb r0, [r2, 0x2]
+ adds r2, 0xA
+ lsrs r1, r7, 24
+ str r1, [sp]
+ movs r1, 0xFF
+ str r1, [sp, 0x4]
+ movs r1, 0
+ str r1, [sp, 0x8]
+ movs r1, 0x1
+ movs r3, 0
+ bl sub_8100D84
+ mov r6, r9
+_081010D6:
+ ldr r0, [sp, 0xC]
+ cmp r6, r0
+ blt _08101020
+ ldr r0, _081010FC @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x2]
+ movs r1, 0x3
+ bl CopyWindowToVram
+ add sp, 0x14
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081010F8: .4byte gUnknown_843F8DB
+_081010FC: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8100FDC
+
+ thumb_func_start sub_8101100
+sub_8101100: @ 8101100
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x4
+ mov r8, r0
+ bl sub_80FFCE0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ movs r0, 0
+ str r0, [sp]
+ ldr r2, _08101194 @ =0x01000200
+ mov r0, sp
+ mov r1, r8
+ bl CpuFastSet
+ cmp r5, 0x2
+ bne _081011A4
+ ldr r0, _08101198 @ =gUnknown_843F888
+ adds r1, r0, 0
+ adds r1, 0x8
+ ldrb r5, [r0, 0x8]
+ ldrb r0, [r1, 0x2]
+ adds r4, r5, r0
+ ldrb r2, [r1, 0x1]
+ ldrb r0, [r1, 0x3]
+ adds r0, r2
+ mov r12, r0
+ adds r7, r2, 0
+ cmp r7, r12
+ blt _08101144
+ b _08101296
+_08101144:
+ adds r3, r5, 0
+ lsls r0, r3, 1
+ mov r9, r0
+_0810114A:
+ subs r6, r3, 0x1
+ lsls r0, r7, 5
+ adds r1, r0, r6
+ lsls r1, 1
+ add r1, r8
+ ldr r5, _0810119C @ =0x00001005
+ adds r2, r5, 0
+ strh r2, [r1]
+ adds r6, r3, 0
+ adds r5, r0, 0
+ adds r2, r7, 0x1
+ cmp r6, r4
+ bge _0810117E
+ movs r0, 0x80
+ lsls r0, 5
+ adds r1, r0, 0
+ lsls r0, r7, 6
+ add r0, r8
+ add r0, r9
+ subs r6, r4, r6
+_08101172:
+ strh r1, [r0]
+ adds r0, 0x2
+ subs r6, 0x1
+ cmp r6, 0
+ bne _08101172
+ adds r6, r4, 0
+_0810117E:
+ adds r0, r5, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r5, _081011A0 @ =0x00001007
+ adds r1, r5, 0
+ strh r1, [r0]
+ adds r7, r2, 0
+ cmp r7, r12
+ blt _0810114A
+ b _08101296
+ .align 2, 0
+_08101194: .4byte 0x01000200
+_08101198: .4byte gUnknown_843F888
+_0810119C: .4byte 0x00001005
+_081011A0: .4byte 0x00001007
+_081011A4:
+ ldr r6, _081012A8 @ =gUnknown_843F888
+ mov r9, r6
+ lsls r5, 2
+ adds r1, r5, r6
+ ldrb r3, [r1, 0x1]
+ subs r7, r3, 0x1
+ ldrb r2, [r1]
+ subs r6, r2, 0x1
+ ldrb r0, [r1, 0x2]
+ adds r4, r2, r0
+ ldrb r0, [r1, 0x3]
+ adds r3, r0
+ mov r12, r3
+ lsls r0, r7, 5
+ adds r0, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r3, _081012AC @ =0x00001001
+ adds r1, r3, 0
+ strh r1, [r0]
+ adds r6, r2, 0
+ mov r10, r9
+ mov r9, r5
+ cmp r6, r4
+ bge _081011F0
+ ldr r5, _081012B0 @ =0x00001002
+ adds r2, r5, 0
+ lsls r1, r6, 1
+ lsls r0, r7, 6
+ add r0, r8
+ adds r1, r0
+ subs r6, r4, r6
+_081011E4:
+ strh r2, [r1]
+ adds r1, 0x2
+ subs r6, 0x1
+ cmp r6, 0
+ bne _081011E4
+ adds r6, r4, 0
+_081011F0:
+ lsls r0, r7, 5
+ adds r0, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r6, _081012B4 @ =0x00001003
+ adds r1, r6, 0
+ strh r1, [r0]
+ adds r7, 0x1
+ cmp r7, r12
+ bge _08101252
+ ldr r0, _081012A8 @ =gUnknown_843F888
+ add r0, r9
+ ldrb r3, [r0]
+ lsls r5, r3, 1
+_0810120C:
+ subs r6, r3, 0x1
+ lsls r0, r7, 5
+ adds r0, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r2, _081012B8 @ =0x00001005
+ adds r1, r2, 0
+ strh r1, [r0]
+ adds r6, r3, 0
+ adds r2, r7, 0x1
+ cmp r6, r4
+ bge _0810123E
+ movs r0, 0x80
+ lsls r0, 5
+ adds r1, r0, 0
+ lsls r0, r7, 6
+ add r0, r8
+ adds r0, r5, r0
+ subs r6, r4, r6
+_08101232:
+ strh r1, [r0]
+ adds r0, 0x2
+ subs r6, 0x1
+ cmp r6, 0
+ bne _08101232
+ adds r6, r4, 0
+_0810123E:
+ lsls r0, r7, 5
+ adds r0, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r6, _081012BC @ =0x00001007
+ adds r1, r6, 0
+ strh r1, [r0]
+ adds r7, r2, 0
+ cmp r7, r12
+ blt _0810120C
+_08101252:
+ mov r0, r9
+ add r0, r10
+ ldrb r3, [r0]
+ subs r6, r3, 0x1
+ lsls r2, r7, 5
+ adds r0, r2, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r5, _081012C0 @ =0x00001009
+ adds r1, r5, 0
+ strh r1, [r0]
+ adds r6, r3, 0
+ adds r5, r2, 0
+ cmp r6, r4
+ bge _0810128A
+ ldr r0, _081012C4 @ =0x0000100a
+ adds r2, r0, 0
+ lsls r1, r6, 1
+ lsls r0, r7, 6
+ add r0, r8
+ adds r0, r1, r0
+ subs r6, r4, r6
+_0810127E:
+ strh r2, [r0]
+ adds r0, 0x2
+ subs r6, 0x1
+ cmp r6, 0
+ bne _0810127E
+ adds r6, r4, 0
+_0810128A:
+ adds r0, r5, r6
+ lsls r0, 1
+ add r0, r8
+ ldr r2, _081012C8 @ =0x0000100b
+ adds r1, r2, 0
+ strh r1, [r0]
+_08101296:
+ add sp, 0x4
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081012A8: .4byte gUnknown_843F888
+_081012AC: .4byte 0x00001001
+_081012B0: .4byte 0x00001002
+_081012B4: .4byte 0x00001003
+_081012B8: .4byte 0x00001005
+_081012BC: .4byte 0x00001007
+_081012C0: .4byte 0x00001009
+_081012C4: .4byte 0x0000100a
+_081012C8: .4byte 0x0000100b
+ thumb_func_end sub_8101100
+
+ thumb_func_start sub_81012CC
+sub_81012CC: @ 81012CC
+ push {lr}
+ movs r0, 0x2
+ bl PutWindowTilemap
+ movs r0, 0x2
+ bl CopyBgTilemapBufferToVram
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81012CC
+
+ thumb_func_start sub_81012E0
+sub_81012E0: @ 81012E0
+ push {r4,lr}
+ adds r4, r0, 0
+ bl sub_810198C
+ movs r0, 0x2
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ cmp r4, 0x1
+ beq _08101304
+ cmp r4, 0x1
+ bcc _081012FE
+ cmp r4, 0x2
+ beq _0810130A
+ b _0810130E
+_081012FE:
+ bl sub_810133C
+ b _0810130E
+_08101304:
+ bl sub_81013A0
+ b _0810130E
+_0810130A:
+ bl sub_81013DC
+_0810130E:
+ movs r0, 0x2
+ movs r1, 0x2
+ bl CopyWindowToVram
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81012E0
+
+ thumb_func_start sub_810131C
+sub_810131C: @ 810131C
+ push {lr}
+ bl sub_80FFE1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08101330
+ movs r0, 0
+ bl sub_81012E0
+ b _08101336
+_08101330:
+ movs r0, 0x1
+ bl sub_81012E0
+_08101336:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810131C
+
+ thumb_func_start sub_810133C
+sub_810133C: @ 810133C
+ push {r4-r7,lr}
+ sub sp, 0xC
+ movs r5, 0
+ movs r7, 0x60
+_08101344:
+ movs r4, 0
+ lsls r0, r7, 24
+ lsrs r6, r0, 24
+_0810134A:
+ lsls r0, r5, 24
+ lsrs r0, 24
+ adds r5, 0x1
+ bl GetSelectedGroupByIndex
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x16
+ beq _0810138A
+ bl GetEasyChatWordGroupName
+ adds r2, r0, 0
+ movs r0, 0x54
+ adds r3, r4, 0
+ muls r3, r0
+ adds r3, 0xA
+ lsls r3, 24
+ lsrs r3, 24
+ str r6, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_8100D84
+ adds r4, 0x1
+ cmp r4, 0x1
+ ble _0810134A
+ adds r7, 0x10
+ b _08101344
+_0810138A:
+ bl sub_80FFE28
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ bl sub_81019B0
+ add sp, 0xC
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_810133C
+
+ thumb_func_start sub_81013A0
+sub_81013A0: @ 81013A0
+ push {r4-r6,lr}
+ sub sp, 0xC
+ movs r5, 0
+ movs r4, 0xC0
+ lsls r4, 23
+ ldr r6, _081013D8 @ =gUnknown_843F8E0
+_081013AC:
+ ldm r6!, {r2}
+ lsrs r0, r4, 24
+ str r0, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ movs r0, 0x2
+ movs r1, 0x1
+ movs r3, 0xA
+ bl sub_8100D84
+ movs r0, 0x80
+ lsls r0, 21
+ adds r4, r0
+ adds r5, 0x1
+ cmp r5, 0x3
+ bls _081013AC
+ add sp, 0xC
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081013D8: .4byte gUnknown_843F8E0
+ thumb_func_end sub_81013A0
+
+ thumb_func_start sub_81013DC
+sub_81013DC: @ 81013DC
+ push {lr}
+ movs r0, 0
+ movs r1, 0x4
+ bl sub_81014AC
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81013DC
+
+ thumb_func_start sub_81013EC
+sub_81013EC: @ 81013EC
+ push {r4,lr}
+ bl sub_80FFE48
+ adds r4, r0, 0
+ adds r4, 0x3
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8101558
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_81014AC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81013EC
+
+ thumb_func_start sub_8101410
+sub_8101410: @ 8101410
+ push {r4,lr}
+ bl sub_80FFE48
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_8101558
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_81014AC
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101410
+
+ thumb_func_start sub_8101434
+sub_8101434: @ 8101434
+ push {r4,r5,lr}
+ bl sub_80FFE48
+ lsls r0, 24
+ lsrs r0, 24
+ adds r5, r0, 0
+ adds r0, r5, 0x4
+ lsls r0, 24
+ lsrs r4, r0, 24
+ bl sub_80FFE54
+ adds r0, 0x1
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r4, r0
+ bls _08101456
+ adds r4, r0, 0
+_08101456:
+ cmp r5, r4
+ bcs _08101470
+ subs r4, r5
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_8101558
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_81014AC
+_08101470:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101434
+
+ thumb_func_start sub_8101478
+sub_8101478: @ 8101478
+ push {r4,r5,lr}
+ bl sub_80FFE48
+ lsls r0, 24
+ lsrs r5, r0, 24
+ bl sub_8101A48
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r5, r0
+ bcs _081014A4
+ subs r4, r0, r5
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_8101558
+ adds r0, r5, 0
+ adds r1, r4, 0
+ bl sub_81014AC
+_081014A4:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101478
+
+ thumb_func_start sub_81014AC
+sub_81014AC: @ 81014AC
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0xC
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ mov r10, r1
+ lsls r4, r0, 1
+ lsls r0, 4
+ adds r1, r0, 0
+ adds r1, 0x60
+ movs r0, 0xFF
+ ands r1, r0
+ movs r0, 0
+ cmp r0, r10
+ bge _08101538
+ ldr r2, _08101550 @ =gUnknown_203ACEC
+ mov r9, r2
+_081014D8:
+ movs r5, 0
+ movs r2, 0x10
+ adds r2, r1
+ mov r8, r2
+ adds r7, r0, 0x1
+ lsls r0, r1, 24
+ lsrs r6, r0, 24
+_081014E6:
+ lsls r0, r4, 16
+ lsrs r0, 16
+ adds r4, 0x1
+ bl GetDisplayedWordByIndex
+ lsls r0, 16
+ lsrs r1, r0, 16
+ ldr r0, _08101554 @ =0x0000ffff
+ cmp r1, r0
+ beq _0810152A
+ mov r2, r9
+ ldr r0, [r2]
+ adds r0, 0xCB
+ movs r2, 0
+ bl CopyEasyChatWordPadded
+ mov r0, r9
+ ldr r2, [r0]
+ adds r2, 0xCB
+ movs r0, 0xD
+ adds r3, r5, 0
+ muls r3, r0
+ adds r3, 0x3
+ lsls r3, 27
+ lsrs r3, 24
+ str r6, [sp]
+ movs r0, 0xFF
+ str r0, [sp, 0x4]
+ movs r0, 0
+ str r0, [sp, 0x8]
+ movs r0, 0x2
+ movs r1, 0x1
+ bl sub_8100D84
+_0810152A:
+ adds r5, 0x1
+ cmp r5, 0x1
+ ble _081014E6
+ mov r1, r8
+ adds r0, r7, 0
+ cmp r0, r10
+ blt _081014D8
+_08101538:
+ movs r0, 0x2
+ movs r1, 0x2
+ bl CopyWindowToVram
+ add sp, 0xC
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101550: .4byte gUnknown_203ACEC
+_08101554: .4byte 0x0000ffff
+ thumb_func_end sub_81014AC
+
+ thumb_func_start sub_8101558
+sub_8101558: @ 8101558
+ push {r4,r5,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r0, 20
+ adds r3, r0, 0
+ adds r3, 0x60
+ movs r0, 0xFF
+ ands r3, r0
+ lsrs r0, r1, 20
+ adds r1, r3, r0
+ cmp r1, 0xFF
+ ble _08101584
+ ldr r0, _08101580 @ =0xffffff00
+ adds r4, r1, r0
+ movs r0, 0x80
+ lsls r0, 1
+ subs r0, r3
+ b _08101586
+ .align 2, 0
+_08101580: .4byte 0xffffff00
+_08101584:
+ movs r4, 0
+_08101586:
+ movs r5, 0xE0
+ str r5, [sp]
+ lsls r0, 16
+ lsrs r0, 16
+ str r0, [sp, 0x4]
+ movs r0, 0x2
+ movs r1, 0x11
+ movs r2, 0
+ bl FillWindowPixelRect
+ cmp r4, 0
+ beq _081015B2
+ str r5, [sp]
+ lsls r0, r4, 16
+ lsrs r0, 16
+ str r0, [sp, 0x4]
+ movs r0, 0x2
+ movs r1, 0x11
+ movs r2, 0
+ movs r3, 0
+ bl FillWindowPixelRect
+_081015B2:
+ add sp, 0x8
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101558
+
+ thumb_func_start sub_81015BC
+sub_81015BC: @ 81015BC
+ push {lr}
+ movs r0, 0x2
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ movs r0, 0x2
+ movs r1, 0x2
+ bl CopyWindowToVram
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81015BC
+
+ thumb_func_start sub_81015D4
+sub_81015D4: @ 81015D4
+ push {lr}
+ ldr r1, _081015E8 @ =gUnknown_203ACEC
+ cmp r0, 0x6
+ bhi _0810168E
+ lsls r0, 2
+ ldr r1, _081015EC @ =_081015F0
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081015E8: .4byte gUnknown_203ACEC
+_081015EC: .4byte _081015F0
+ .align 2, 0
+_081015F0:
+ .4byte _0810160C
+ .4byte _08101620
+ .4byte _08101630
+ .4byte _08101644
+ .4byte _08101658
+ .4byte _0810166C
+ .4byte _08101680
+_0810160C:
+ ldr r1, _0810161C @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r0, 0
+ strb r0, [r2, 0x6]
+ ldr r2, [r1]
+ movs r0, 0xA
+ b _0810168C
+ .align 2, 0
+_0810161C: .4byte gUnknown_203ACEC
+_08101620:
+ ldr r1, _0810162C @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r3, 0
+ movs r0, 0x9
+ b _0810164C
+ .align 2, 0
+_0810162C: .4byte gUnknown_203ACEC
+_08101630:
+ ldr r1, _08101640 @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r0, 0xB
+ strb r0, [r2, 0x6]
+ ldr r2, [r1]
+ movs r0, 0x11
+ b _0810168C
+ .align 2, 0
+_08101640: .4byte gUnknown_203ACEC
+_08101644:
+ ldr r1, _08101654 @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r3, 0
+ movs r0, 0x11
+_0810164C:
+ strb r0, [r2, 0x6]
+ ldr r0, [r1]
+ strb r3, [r0, 0x7]
+ b _0810168E
+ .align 2, 0
+_08101654: .4byte gUnknown_203ACEC
+_08101658:
+ ldr r1, _08101668 @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r0, 0x11
+ strb r0, [r2, 0x6]
+ ldr r2, [r1]
+ movs r0, 0xA
+ b _0810168C
+ .align 2, 0
+_08101668: .4byte gUnknown_203ACEC
+_0810166C:
+ ldr r1, _0810167C @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r0, 0x12
+ strb r0, [r2, 0x6]
+ ldr r2, [r1]
+ movs r0, 0x16
+ b _0810168C
+ .align 2, 0
+_0810167C: .4byte gUnknown_203ACEC
+_08101680:
+ ldr r1, _081016A8 @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r0, 0x16
+ strb r0, [r2, 0x6]
+ ldr r2, [r1]
+ movs r0, 0x12
+_0810168C:
+ strb r0, [r2, 0x7]
+_0810168E:
+ ldr r1, [r1]
+ ldrb r0, [r1, 0x6]
+ movs r3, 0x1
+ negs r3, r3
+ adds r2, r3, 0
+ ldrb r3, [r1, 0x7]
+ cmp r0, r3
+ bcs _081016A0
+ movs r2, 0x1
+_081016A0:
+ strb r2, [r1, 0x8]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081016A8: .4byte gUnknown_203ACEC
+ thumb_func_end sub_81015D4
+
+ thumb_func_start sub_81016AC
+sub_81016AC: @ 81016AC
+ push {r4,lr}
+ ldr r4, _081016D8 @ =gUnknown_203ACEC
+ ldr r1, [r4]
+ ldrb r2, [r1, 0x6]
+ ldrb r0, [r1, 0x7]
+ cmp r2, r0
+ beq _081016DC
+ ldrb r0, [r1, 0x8]
+ adds r0, r2, r0
+ strb r0, [r1, 0x6]
+ ldr r0, [r4]
+ ldrb r0, [r0, 0x6]
+ bl sub_81016E4
+ ldr r0, [r4]
+ ldrb r1, [r0, 0x6]
+ ldrb r0, [r0, 0x7]
+ eors r1, r0
+ negs r0, r1
+ orrs r0, r1
+ lsrs r0, 31
+ b _081016DE
+ .align 2, 0
+_081016D8: .4byte gUnknown_203ACEC
+_081016DC:
+ movs r0, 0
+_081016DE:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81016AC
+
+ thumb_func_start sub_81016E4
+sub_81016E4: @ 81016E4
+ push {r4,lr}
+ sub sp, 0x8
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x1E
+ str r0, [sp]
+ movs r0, 0xA
+ str r0, [sp, 0x4]
+ movs r0, 0x1
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0xA
+ bl FillBgTilemapBufferRect_Palette0
+ cmp r4, 0x16
+ bls _08101706
+ b _08101822
+_08101706:
+ lsls r0, r4, 2
+ ldr r1, _08101710 @ =_08101714
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08101710: .4byte _08101714
+ .align 2, 0
+_08101714:
+ .4byte _08101822
+ .4byte _08101770
+ .4byte _08101778
+ .4byte _08101780
+ .4byte _08101788
+ .4byte _08101790
+ .4byte _08101798
+ .4byte _08101808
+ .4byte _081017FA
+ .4byte _081017EC
+ .4byte _081017DE
+ .4byte _081017A6
+ .4byte _081017AE
+ .4byte _081017B6
+ .4byte _081017BE
+ .4byte _081017C6
+ .4byte _081017CE
+ .4byte _081017D6
+ .4byte _081017DE
+ .4byte _081017EC
+ .4byte _081017FA
+ .4byte _08101808
+ .4byte _08101816
+_08101770:
+ movs r0, 0xB
+ movs r1, 0xE
+ movs r2, 0x3
+ b _0810179E
+_08101778:
+ movs r0, 0x9
+ movs r1, 0xE
+ movs r2, 0x7
+ b _0810179E
+_08101780:
+ movs r0, 0x7
+ movs r1, 0xE
+ movs r2, 0xB
+ b _0810179E
+_08101788:
+ movs r0, 0x5
+ movs r1, 0xE
+ movs r2, 0xF
+ b _0810179E
+_08101790:
+ movs r0, 0x3
+ movs r1, 0xE
+ movs r2, 0x13
+ b _0810179E
+_08101798:
+ movs r0, 0x1
+ movs r1, 0xE
+ movs r2, 0x17
+_0810179E:
+ movs r3, 0x2
+ bl sub_8101830
+ b _08101822
+_081017A6:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x18
+ b _081017E4
+_081017AE:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x19
+ b _081017E4
+_081017B6:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x1A
+ b _081017E4
+_081017BE:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x1B
+ b _081017E4
+_081017C6:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x1C
+ b _081017E4
+_081017CE:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x1D
+ b _081017E4
+_081017D6:
+ movs r0, 0
+ movs r1, 0xA
+ movs r2, 0x1E
+ b _081017E4
+_081017DE:
+ movs r0, 0x1
+ movs r1, 0xA
+ movs r2, 0x17
+_081017E4:
+ movs r3, 0xA
+ bl sub_8101830
+ b _08101822
+_081017EC:
+ movs r0, 0x1
+ movs r1, 0xB
+ movs r2, 0x17
+ movs r3, 0x8
+ bl sub_8101830
+ b _08101822
+_081017FA:
+ movs r0, 0x1
+ movs r1, 0xC
+ movs r2, 0x17
+ movs r3, 0x6
+ bl sub_8101830
+ b _08101822
+_08101808:
+ movs r0, 0x1
+ movs r1, 0xD
+ movs r2, 0x17
+ movs r3, 0x4
+ bl sub_8101830
+ b _08101822
+_08101816:
+ movs r0, 0x1
+ movs r1, 0xE
+ movs r2, 0x17
+ movs r3, 0x2
+ bl sub_8101830
+_08101822:
+ movs r0, 0x1
+ bl CopyBgTilemapBufferToVram
+ add sp, 0x8
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81016E4
+
+ thumb_func_start sub_8101830
+sub_8101830: @ 8101830
+ push {r4-r7,lr}
+ mov r7, r10
+ mov r6, r9
+ mov r5, r8
+ push {r5-r7}
+ sub sp, 0x8
+ mov r12, r0
+ adds r7, r1, 0
+ mov r9, r2
+ mov r10, r3
+ ldr r0, _08101968 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xC0
+ lsls r1, 2
+ adds r6, r0, r1
+ mov r0, r12
+ add r0, r9
+ subs r5, r0, 0x1
+ adds r0, r7, r3
+ subs r0, 0x1
+ mov r8, r0
+ mov r2, r12
+ adds r3, r7, 0
+ lsls r0, r3, 5
+ adds r0, r2
+ lsls r0, 1
+ adds r0, r6
+ ldr r4, _0810196C @ =0x00004001
+ adds r1, r4, 0
+ strh r1, [r0]
+ adds r2, 0x1
+ cmp r2, r5
+ bge _0810188C
+ ldr r0, _08101970 @ =0x00004002
+ adds r4, r0, 0
+ lsls r1, r2, 1
+ lsls r0, r3, 6
+ adds r0, r6
+ adds r1, r0
+ subs r2, r5, r2
+_08101880:
+ strh r4, [r1]
+ adds r1, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08101880
+ adds r2, r5, 0
+_0810188C:
+ lsls r0, r3, 5
+ adds r0, r2
+ lsls r0, 1
+ adds r0, r6
+ ldr r2, _08101974 @ =0x00004003
+ adds r1, r2, 0
+ strh r1, [r0]
+ adds r3, 0x1
+ mov r4, r12
+ adds r4, 0x1
+ adds r0, r7, 0x1
+ str r0, [sp, 0x4]
+ mov r1, r9
+ subs r1, 0x2
+ str r1, [sp]
+ movs r2, 0x2
+ negs r2, r2
+ add r10, r2
+ cmp r3, r8
+ bge _081018FC
+ lsls r7, r4, 1
+ mov r9, r7
+_081018B8:
+ lsls r0, r3, 5
+ add r0, r12
+ lsls r0, 1
+ adds r0, r6
+ ldr r2, _08101978 @ =0x00004005
+ adds r1, r2, 0
+ strh r1, [r0]
+ adds r2, r4, 0
+ adds r7, r3, 0x1
+ cmp r4, r5
+ bge _081018E8
+ movs r0, 0x80
+ lsls r0, 7
+ adds r1, r0, 0
+ lsls r0, r3, 6
+ adds r0, r6
+ add r0, r9
+ subs r2, r5, r4
+_081018DC:
+ strh r1, [r0]
+ adds r0, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bne _081018DC
+ adds r2, r5, 0
+_081018E8:
+ lsls r0, r3, 5
+ adds r0, r2
+ lsls r0, 1
+ adds r0, r6
+ ldr r2, _0810197C @ =0x00004007
+ adds r1, r2, 0
+ strh r1, [r0]
+ adds r3, r7, 0
+ cmp r3, r8
+ blt _081018B8
+_081018FC:
+ lsls r0, r3, 5
+ mov r7, r12
+ adds r1, r0, r7
+ lsls r1, 1
+ adds r1, r6
+ ldr r7, _08101980 @ =0x00004009
+ adds r2, r7, 0
+ strh r2, [r1]
+ adds r2, r4, 0
+ mov r12, r0
+ cmp r4, r5
+ bge _0810192E
+ ldr r0, _08101984 @ =0x0000400a
+ adds r7, r0, 0
+ lsls r1, r4, 1
+ lsls r0, r3, 6
+ adds r0, r6
+ adds r0, r1, r0
+ subs r2, r5, r4
+_08101922:
+ strh r7, [r0]
+ adds r0, 0x2
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08101922
+ adds r2, r5, 0
+_0810192E:
+ mov r1, r12
+ adds r0, r1, r2
+ lsls r0, 1
+ adds r0, r6
+ ldr r2, _08101988 @ =0x0000400b
+ adds r1, r2, 0
+ strh r1, [r0]
+ lsls r0, r4, 27
+ lsrs r0, 24
+ ldr r3, [sp, 0x4]
+ lsls r1, r3, 27
+ lsrs r1, 24
+ ldr r4, [sp]
+ lsls r2, r4, 27
+ lsrs r2, 24
+ mov r7, r10
+ lsls r3, r7, 27
+ lsrs r3, 24
+ bl sub_8101A5C
+ add sp, 0x8
+ pop {r3-r5}
+ mov r8, r3
+ mov r9, r4
+ mov r10, r5
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101968: .4byte gUnknown_203ACEC
+_0810196C: .4byte 0x00004001
+_08101970: .4byte 0x00004002
+_08101974: .4byte 0x00004003
+_08101978: .4byte 0x00004005
+_0810197C: .4byte 0x00004007
+_08101980: .4byte 0x00004009
+_08101984: .4byte 0x0000400a
+_08101988: .4byte 0x0000400b
+ thumb_func_end sub_8101830
+
+ thumb_func_start sub_810198C
+sub_810198C: @ 810198C
+ push {lr}
+ movs r1, 0x80
+ lsls r1, 4
+ movs r0, 0x2
+ movs r2, 0
+ bl ChangeBgY
+ ldr r0, _081019AC @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xB3
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ strh r1, [r0]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081019AC: .4byte gUnknown_203ACEC
+ thumb_func_end sub_810198C
+
+ thumb_func_start sub_81019B0
+sub_81019B0: @ 81019B0
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ lsls r4, 16
+ lsrs r4, 16
+ lsls r1, 24
+ lsrs r5, r1, 24
+ movs r0, 0x2
+ bl GetBgY
+ adds r2, r0, 0
+ ldr r0, _081019FC @ =gUnknown_203ACEC
+ ldr r3, [r0]
+ movs r0, 0xB3
+ lsls r0, 2
+ adds r1, r3, r0
+ ldrh r0, [r1]
+ adds r0, r4
+ strh r0, [r1]
+ lsls r4, 20
+ asrs r4, 16
+ lsls r0, r4, 8
+ adds r2, r0
+ cmp r5, 0
+ beq _08101A00
+ movs r1, 0xB4
+ lsls r1, 2
+ adds r0, r3, r1
+ str r2, [r0]
+ movs r0, 0xB5
+ lsls r0, 2
+ adds r1, r3, r0
+ lsls r0, r5, 8
+ str r0, [r1]
+ cmp r4, 0
+ bge _08101A0A
+ negs r0, r0
+ str r0, [r1]
+ b _08101A0A
+ .align 2, 0
+_081019FC: .4byte gUnknown_203ACEC
+_08101A00:
+ movs r0, 0x2
+ adds r1, r2, 0
+ movs r2, 0
+ bl ChangeBgY
+_08101A0A:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81019B0
+
+ thumb_func_start sub_8101A10
+sub_8101A10: @ 8101A10
+ push {lr}
+ movs r0, 0x2
+ bl GetBgY
+ ldr r1, _08101A3C @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r3, 0xB4
+ lsls r3, 2
+ adds r1, r2, r3
+ ldr r1, [r1]
+ cmp r0, r1
+ beq _08101A40
+ movs r1, 0xB5
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r1, [r0]
+ movs r0, 0x2
+ movs r2, 0x1
+ bl ChangeBgY
+ movs r0, 0x1
+ b _08101A42
+ .align 2, 0
+_08101A3C: .4byte gUnknown_203ACEC
+_08101A40:
+ movs r0, 0
+_08101A42:
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8101A10
+
+ thumb_func_start sub_8101A48
+sub_8101A48: @ 8101A48
+ ldr r0, _08101A58 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xB3
+ lsls r1, 2
+ adds r0, r1
+ ldrh r0, [r0]
+ bx lr
+ .align 2, 0
+_08101A58: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101A48
+
+ thumb_func_start sub_8101A5C
+sub_8101A5C: @ 8101A5C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ lsls r2, 24
+ lsrs r2, 24
+ lsls r3, 24
+ lsrs r3, 24
+ lsls r4, r0, 8
+ adds r0, r2
+ orrs r4, r0
+ lsls r5, r1, 8
+ adds r1, r3
+ orrs r5, r1
+ movs r0, 0x40
+ adds r1, r4, 0
+ bl SetGpuReg
+ movs r0, 0x44
+ adds r1, r5, 0
+ bl SetGpuReg
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101A5C
+
+ thumb_func_start sub_8101A90
+sub_8101A90: @ 8101A90
+ push {r4,r5,lr}
+ ldr r0, _08101AB8 @ =gUnknown_843F8F0
+ bl LoadSpriteSheets
+ ldr r0, _08101ABC @ =gUnknown_843F910
+ bl LoadSpritePalettes
+ movs r5, 0
+ ldr r4, _08101AC0 @ =gUnknown_843F938
+_08101AA2:
+ adds r0, r4, 0
+ bl LoadCompressedSpriteSheet
+ adds r4, 0x8
+ adds r5, 0x1
+ cmp r5, 0x3
+ bls _08101AA2
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101AB8: .4byte gUnknown_843F8F0
+_08101ABC: .4byte gUnknown_843F910
+_08101AC0: .4byte gUnknown_843F938
+ thumb_func_end sub_8101A90
+
+ thumb_func_start sub_8101AC4
+sub_8101AC4: @ 8101AC4
+ push {lr}
+ bl sub_80FFCE0
+ lsls r0, 24
+ ldr r1, _08101B10 @ =gUnknown_843F888
+ lsrs r0, 22
+ adds r0, r1
+ ldrb r1, [r0]
+ lsls r1, 19
+ ldrb r2, [r0, 0x1]
+ adds r2, 0x1
+ lsls r2, 3
+ adds r2, 0x1
+ ldr r0, _08101B14 @ =gUnknown_843F968
+ movs r3, 0xD0
+ lsls r3, 12
+ adds r1, r3
+ asrs r1, 16
+ movs r3, 0x2
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08101B18 @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r1, 0xB6
+ lsls r1, 2
+ adds r2, r1
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _08101B1C @ =gSprites
+ adds r1, r0
+ str r1, [r2]
+ movs r0, 0x1
+ strh r0, [r1, 0x30]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101B10: .4byte gUnknown_843F888
+_08101B14: .4byte gUnknown_843F968
+_08101B18: .4byte gUnknown_203ACEC
+_08101B1C: .4byte gSprites
+ thumb_func_end sub_8101AC4
+
+ thumb_func_start sub_8101B20
+sub_8101B20: @ 8101B20
+ push {lr}
+ adds r1, r0, 0
+ movs r2, 0x30
+ ldrsh r0, [r1, r2]
+ cmp r0, 0
+ beq _08101B4E
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _08101B4E
+ movs r0, 0
+ strh r0, [r1, 0x2E]
+ ldrh r0, [r1, 0x24]
+ adds r0, 0x1
+ strh r0, [r1, 0x24]
+ lsls r0, 16
+ cmp r0, 0
+ ble _08101B4E
+ ldr r0, _08101B54 @ =0x0000fffa
+ strh r0, [r1, 0x24]
+_08101B4E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101B54: .4byte 0x0000fffa
+ thumb_func_end sub_8101B20
+
+ thumb_func_start sub_8101B58
+sub_8101B58: @ 8101B58
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r0, 24
+ lsls r1, 24
+ lsrs r1, 24
+ ldr r2, _08101B84 @ =gUnknown_203ACEC
+ ldr r2, [r2]
+ movs r3, 0xB6
+ lsls r3, 2
+ adds r2, r3
+ ldr r3, [r2]
+ movs r4, 0
+ strh r0, [r3, 0x20]
+ ldr r0, [r2]
+ strh r1, [r0, 0x22]
+ ldr r0, [r2]
+ strh r4, [r0, 0x24]
+ ldr r0, [r2]
+ strh r4, [r0, 0x2E]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101B84: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101B58
+
+ thumb_func_start sub_8101B88
+sub_8101B88: @ 8101B88
+ ldr r0, _08101BA4 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ movs r0, 0xB6
+ lsls r0, 2
+ adds r1, r0
+ ldr r0, [r1]
+ movs r2, 0
+ strh r2, [r0, 0x2E]
+ ldr r0, [r1]
+ strh r2, [r0, 0x30]
+ ldr r0, [r1]
+ strh r2, [r0, 0x24]
+ bx lr
+ .align 2, 0
+_08101BA4: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101B88
+
+ thumb_func_start sub_8101BA8
+sub_8101BA8: @ 8101BA8
+ ldr r0, _08101BBC @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xB6
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ movs r0, 0x1
+ strh r0, [r1, 0x30]
+ bx lr
+ .align 2, 0
+_08101BBC: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101BA8
+
+ thumb_func_start sub_8101BC0
+sub_8101BC0: @ 8101BC0
+ push {r4-r6,lr}
+ mov r6, r8
+ push {r6}
+ ldr r6, _08101C38 @ =gUnknown_843F9B8
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _08101C3C @ =gUnknown_203ACEC
+ ldr r2, [r5]
+ movs r1, 0xB7
+ lsls r1, 2
+ mov r8, r1
+ add r2, r8
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r4, _08101C40 @ =gSprites
+ adds r1, r4
+ str r1, [r2]
+ movs r0, 0x20
+ strh r0, [r1, 0x24]
+ adds r0, r6, 0
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x3
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, [r5]
+ movs r1, 0xB8
+ lsls r1, 2
+ adds r3, r2, r1
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ str r1, [r3]
+ ldr r0, _08101C44 @ =0x0000ffe0
+ strh r0, [r1, 0x24]
+ add r2, r8
+ ldr r1, [r2]
+ adds r1, 0x3F
+ ldrb r0, [r1]
+ movs r2, 0x1
+ orrs r0, r2
+ strb r0, [r1]
+ bl sub_8101C80
+ pop {r3}
+ mov r8, r3
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101C38: .4byte gUnknown_843F9B8
+_08101C3C: .4byte gUnknown_203ACEC
+_08101C40: .4byte gSprites
+_08101C44: .4byte 0x0000ffe0
+ thumb_func_end sub_8101BC0
+
+ thumb_func_start sub_8101C48
+sub_8101C48: @ 8101C48
+ push {r4-r6,lr}
+ ldr r5, _08101C7C @ =gUnknown_203ACEC
+ ldr r0, [r5]
+ movs r4, 0xB7
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl DestroySprite
+ ldr r0, [r5]
+ adds r4, r0, r4
+ movs r6, 0
+ str r6, [r4]
+ movs r4, 0xB8
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ bl DestroySprite
+ ldr r0, [r5]
+ adds r0, r4
+ str r6, [r0]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101C7C: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101C48
+
+ thumb_func_start sub_8101C80
+sub_8101C80: @ 8101C80
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _08101CC8 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ movs r2, 0xB7
+ lsls r2, 2
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08101CDC
+ adds r2, 0x4
+ adds r0, r1, r2
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08101CDC
+ mov r4, sp
+ adds r4, 0x1
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_80FFE08
+ bl sub_80FFE1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08101CCC
+ mov r0, sp
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ movs r1, 0
+ ldrsb r1, [r4, r1]
+ bl sub_8101CE4
+ b _08101CDC
+ .align 2, 0
+_08101CC8: .4byte gUnknown_203ACEC
+_08101CCC:
+ mov r0, sp
+ ldrb r0, [r0]
+ lsls r0, 24
+ asrs r0, 24
+ movs r1, 0
+ ldrsb r1, [r4, r1]
+ bl sub_8101D9C
+_08101CDC:
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101C80
+
+ thumb_func_start sub_8101CE4
+sub_8101CE4: @ 8101CE4
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r1, 24
+ lsrs r7, r1, 24
+ lsls r0, 24
+ asrs r5, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r5, r0
+ beq _08101D48
+ ldr r0, _08101D44 @ =gUnknown_203ACEC
+ mov r8, r0
+ ldr r0, [r0]
+ movs r4, 0xB7
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ movs r1, 0
+ bl StartSpriteAnim
+ mov r2, r8
+ ldr r1, [r2]
+ adds r4, r1, r4
+ ldr r2, [r4]
+ movs r0, 0x54
+ muls r5, r0
+ adds r5, 0x3A
+ strh r5, [r2, 0x20]
+ ldr r0, [r4]
+ lsls r4, r7, 24
+ asrs r4, 20
+ adds r4, 0x60
+ strh r4, [r0, 0x22]
+ movs r6, 0xB8
+ lsls r6, 2
+ adds r1, r6
+ ldr r0, [r1]
+ movs r1, 0
+ bl StartSpriteAnim
+ mov r1, r8
+ ldr r0, [r1]
+ adds r0, r6
+ ldr r1, [r0]
+ strh r5, [r1, 0x20]
+ b _08101D8A
+ .align 2, 0
+_08101D44: .4byte gUnknown_203ACEC
+_08101D48:
+ ldr r6, _08101D98 @ =gUnknown_203ACEC
+ ldr r0, [r6]
+ movs r4, 0xB7
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r1, [r6]
+ adds r4, r1, r4
+ ldr r0, [r4]
+ movs r2, 0xD8
+ mov r8, r2
+ mov r2, r8
+ strh r2, [r0, 0x20]
+ ldr r0, [r4]
+ lsls r4, r7, 24
+ asrs r4, 20
+ adds r4, 0x70
+ strh r4, [r0, 0x22]
+ movs r5, 0xB8
+ lsls r5, 2
+ adds r1, r5
+ ldr r0, [r1]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r0, [r6]
+ adds r0, r5
+ ldr r1, [r0]
+ mov r2, r8
+ strh r2, [r1, 0x20]
+_08101D8A:
+ ldr r0, [r0]
+ strh r4, [r0, 0x22]
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101D98: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101CE4
+
+ thumb_func_start sub_8101D9C
+sub_8101D9C: @ 8101D9C
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsrs r4, r0, 24
+ asrs r2, r0, 24
+ movs r0, 0x1
+ negs r0, r0
+ cmp r2, r0
+ beq _08101E2C
+ lsls r0, r5, 24
+ asrs r1, r0, 24
+ lsls r0, r1, 4
+ adds r0, 0x60
+ mov r8, r0
+ movs r7, 0x20
+ cmp r2, 0x6
+ bne _08101DCE
+ cmp r1, 0
+ bne _08101DCE
+ movs r7, 0x9D
+ movs r6, 0x2
+ b _08101DE4
+_08101DCE:
+ ldr r3, _08101E24 @ =gUnknown_843F958
+ lsls r1, r4, 24
+ lsrs r0, r1, 24
+ movs r2, 0
+ cmp r0, 0x6
+ bhi _08101DDC
+ asrs r2, r1, 24
+_08101DDC:
+ adds r0, r2, r3
+ ldrb r0, [r0]
+ adds r7, r0
+ movs r6, 0x3
+_08101DE4:
+ ldr r5, _08101E28 @ =gUnknown_203ACEC
+ ldr r0, [r5]
+ movs r4, 0xB7
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ adds r1, r6, 0
+ bl StartSpriteAnim
+ ldr r1, [r5]
+ adds r4, r1, r4
+ ldr r0, [r4]
+ strh r7, [r0, 0x20]
+ ldr r0, [r4]
+ mov r2, r8
+ strh r2, [r0, 0x22]
+ movs r4, 0xB8
+ lsls r4, 2
+ adds r1, r4
+ ldr r0, [r1]
+ adds r1, r6, 0
+ bl StartSpriteAnim
+ ldr r0, [r5]
+ adds r0, r4
+ ldr r1, [r0]
+ strh r7, [r1, 0x20]
+ ldr r0, [r0]
+ mov r1, r8
+ strh r1, [r0, 0x22]
+ b _08101E72
+ .align 2, 0
+_08101E24: .4byte gUnknown_843F958
+_08101E28: .4byte gUnknown_203ACEC
+_08101E2C:
+ ldr r6, _08101E7C @ =gUnknown_203ACEC
+ ldr r0, [r6]
+ movs r4, 0xB7
+ lsls r4, 2
+ adds r0, r4
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r1, [r6]
+ adds r4, r1, r4
+ ldr r0, [r4]
+ movs r2, 0xD8
+ mov r8, r2
+ mov r2, r8
+ strh r2, [r0, 0x20]
+ ldr r0, [r4]
+ lsls r4, r5, 24
+ asrs r4, 20
+ adds r4, 0x70
+ strh r4, [r0, 0x22]
+ movs r5, 0xB8
+ lsls r5, 2
+ adds r1, r5
+ ldr r0, [r1]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ ldr r0, [r6]
+ adds r0, r5
+ ldr r1, [r0]
+ mov r2, r8
+ strh r2, [r1, 0x20]
+ ldr r0, [r0]
+ strh r4, [r0, 0x22]
+_08101E72:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101E7C: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101D9C
+
+ thumb_func_start sub_8101E80
+sub_8101E80: @ 8101E80
+ push {lr}
+ ldr r0, _08101EC4 @ =gUnknown_843F968
+ movs r1, 0
+ movs r2, 0
+ movs r3, 0x4
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _08101EC8 @ =gUnknown_203ACEC
+ ldr r2, [r1]
+ movs r1, 0xB9
+ lsls r1, 2
+ adds r2, r1
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r0, _08101ECC @ =gSprites
+ adds r1, r0
+ str r1, [r2]
+ ldr r0, _08101ED0 @ =sub_8101ED4
+ str r0, [r1, 0x1C]
+ ldrb r2, [r1, 0x5]
+ movs r0, 0xD
+ negs r0, r0
+ ands r0, r2
+ movs r2, 0x8
+ orrs r0, r2
+ strb r0, [r1, 0x5]
+ bl sub_8101F04
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101EC4: .4byte gUnknown_843F968
+_08101EC8: .4byte gUnknown_203ACEC
+_08101ECC: .4byte gSprites
+_08101ED0: .4byte sub_8101ED4
+ thumb_func_end sub_8101E80
+
+ thumb_func_start sub_8101ED4
+sub_8101ED4: @ 8101ED4
+ push {lr}
+ adds r1, r0, 0
+ ldrh r0, [r1, 0x2E]
+ adds r0, 0x1
+ strh r0, [r1, 0x2E]
+ lsls r0, 16
+ asrs r0, 16
+ cmp r0, 0x2
+ ble _08101EFA
+ movs r0, 0
+ strh r0, [r1, 0x2E]
+ ldrh r0, [r1, 0x24]
+ adds r0, 0x1
+ strh r0, [r1, 0x24]
+ lsls r0, 16
+ cmp r0, 0
+ ble _08101EFA
+ ldr r0, _08101F00 @ =0x0000fffa
+ strh r0, [r1, 0x24]
+_08101EFA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101F00: .4byte 0x0000fffa
+ thumb_func_end sub_8101ED4
+
+ thumb_func_start sub_8101F04
+sub_8101F04: @ 8101F04
+ push {r4,lr}
+ sub sp, 0x4
+ mov r4, sp
+ adds r4, 0x1
+ mov r0, sp
+ adds r1, r4, 0
+ bl sub_80FFE34
+ mov r0, sp
+ movs r1, 0
+ ldrsb r1, [r0, r1]
+ movs r0, 0xD
+ muls r0, r1
+ adds r0, 0x3
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0
+ ldrsb r1, [r4, r1]
+ lsls r1, 25
+ movs r2, 0xB0
+ lsls r2, 20
+ adds r1, r2
+ lsrs r1, 24
+ bl sub_8101F40
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8101F04
+
+ thumb_func_start sub_8101F40
+sub_8101F40: @ 8101F40
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r2, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ ldr r0, _08101F7C @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xB9
+ lsls r1, 2
+ adds r3, r0, r1
+ ldr r1, [r3]
+ cmp r1, 0
+ beq _08101F74
+ lsls r0, r2, 3
+ adds r0, 0x4
+ movs r2, 0
+ strh r0, [r1, 0x20]
+ ldr r1, [r3]
+ adds r0, r4, 0x1
+ lsls r0, 3
+ adds r0, 0x1
+ strh r0, [r1, 0x22]
+ ldr r0, [r3]
+ strh r2, [r0, 0x24]
+ ldr r0, [r3]
+ strh r2, [r0, 0x2E]
+_08101F74:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101F7C: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101F40
+
+ thumb_func_start sub_8101F80
+sub_8101F80: @ 8101F80
+ push {r4,lr}
+ ldr r4, _08101FA8 @ =gUnknown_203ACEC
+ ldr r0, [r4]
+ movs r1, 0xB9
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ cmp r0, 0
+ beq _08101FA2
+ bl DestroySprite
+ ldr r0, [r4]
+ movs r1, 0xB9
+ lsls r1, 2
+ adds r0, r1
+ movs r1, 0
+ str r1, [r0]
+_08101FA2:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08101FA8: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8101F80
+
+ thumb_func_start sub_8101FAC
+sub_8101FAC: @ 8101FAC
+ push {r4-r6,lr}
+ ldr r0, _08102004 @ =gUnknown_843FA40
+ movs r1, 0xD0
+ movs r2, 0x80
+ movs r3, 0x6
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r5, _08102008 @ =gUnknown_203ACEC
+ ldr r2, [r5]
+ movs r1, 0xBA
+ lsls r1, 2
+ adds r2, r1
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ ldr r4, _0810200C @ =gSprites
+ adds r1, r4
+ str r1, [r2]
+ movs r6, 0
+ ldr r0, _08102010 @ =0x0000ffc0
+ strh r0, [r1, 0x24]
+ ldr r0, _08102014 @ =gUnknown_843FA20
+ movs r1, 0xD0
+ movs r2, 0x50
+ movs r3, 0x5
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r2, [r5]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r3, r2, r1
+ lsls r1, r0, 4
+ adds r1, r0
+ lsls r1, 2
+ adds r1, r4
+ str r1, [r3]
+ strb r6, [r2, 0x9]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08102004: .4byte gUnknown_843FA40
+_08102008: .4byte gUnknown_203ACEC
+_0810200C: .4byte gSprites
+_08102010: .4byte 0x0000ffc0
+_08102014: .4byte gUnknown_843FA20
+ thumb_func_end sub_8101FAC
+
+ thumb_func_start sub_8102018
+sub_8102018: @ 8102018
+ push {r4,lr}
+ ldr r4, _0810202C @ =gUnknown_203ACEC
+ ldr r2, [r4]
+ ldrb r3, [r2, 0x9]
+ cmp r3, 0
+ beq _08102030
+ cmp r3, 0x1
+ beq _08102088
+ movs r0, 0
+ b _081020A6
+ .align 2, 0
+_0810202C: .4byte gUnknown_203ACEC
+_08102030:
+ movs r0, 0xBA
+ lsls r0, 2
+ adds r2, r0
+ ldr r1, [r2]
+ ldrh r0, [r1, 0x24]
+ adds r0, 0x8
+ strh r0, [r1, 0x24]
+ ldr r2, [r2]
+ movs r1, 0x24
+ ldrsh r0, [r2, r1]
+ cmp r0, 0
+ blt _081020A4
+ strh r3, [r2, 0x24]
+ bl sub_80FFE1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _08102066
+ ldr r0, [r4]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _08102076
+_08102066:
+ ldr r0, [r4]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x2
+ bl StartSpriteAnim
+_08102076:
+ ldr r0, _08102084 @ =gUnknown_203ACEC
+ ldr r1, [r0]
+ ldrb r0, [r1, 0x9]
+ adds r0, 0x1
+ strb r0, [r1, 0x9]
+ b _081020A4
+ .align 2, 0
+_08102084: .4byte gUnknown_203ACEC
+_08102088:
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _081020A4
+ movs r0, 0x2
+ strb r0, [r2, 0x9]
+ movs r0, 0
+ b _081020A6
+_081020A4:
+ movs r0, 0x1
+_081020A6:
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8102018
+
+ thumb_func_start sub_81020AC
+sub_81020AC: @ 81020AC
+ push {lr}
+ ldr r2, _081020CC @ =gUnknown_203ACEC
+ ldr r1, [r2]
+ movs r0, 0
+ strb r0, [r1, 0x9]
+ ldr r0, [r2]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x3
+ bl StartSpriteAnim
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081020CC: .4byte gUnknown_203ACEC
+ thumb_func_end sub_81020AC
+
+ thumb_func_start sub_81020D0
+sub_81020D0: @ 81020D0
+ push {r4-r6,lr}
+ ldr r5, _081020E4 @ =gUnknown_203ACEC
+ ldr r3, [r5]
+ ldrb r0, [r3, 0x9]
+ cmp r0, 0
+ beq _081020E8
+ cmp r0, 0x1
+ beq _08102102
+ movs r0, 0
+ b _08102154
+ .align 2, 0
+_081020E4: .4byte gUnknown_203ACEC
+_081020E8:
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r3, r1
+ ldr r0, [r0]
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r0, 0x10
+ ands r0, r1
+ cmp r0, 0
+ beq _08102152
+ movs r0, 0x1
+ strb r0, [r3, 0x9]
+ b _08102152
+_08102102:
+ movs r0, 0xBA
+ lsls r0, 2
+ adds r2, r3, r0
+ ldr r1, [r2]
+ ldrh r0, [r1, 0x24]
+ subs r0, 0x8
+ movs r6, 0
+ strh r0, [r1, 0x24]
+ ldr r0, [r2]
+ movs r2, 0x24
+ ldrsh r1, [r0, r2]
+ movs r0, 0x40
+ negs r0, r0
+ cmp r1, r0
+ bgt _08102152
+ movs r4, 0xBB
+ lsls r4, 2
+ adds r0, r3, r4
+ ldr r0, [r0]
+ bl DestroySprite
+ ldr r0, [r5]
+ movs r1, 0xBA
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ bl DestroySprite
+ ldr r1, [r5]
+ adds r4, r1, r4
+ str r6, [r4]
+ movs r2, 0xBA
+ lsls r2, 2
+ adds r0, r1, r2
+ str r6, [r0]
+ ldrb r0, [r1, 0x9]
+ adds r0, 0x1
+ strb r0, [r1, 0x9]
+ movs r0, 0
+ b _08102154
+_08102152:
+ movs r0, 0x1
+_08102154:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81020D0
+
+ thumb_func_start sub_810215C
+sub_810215C: @ 810215C
+ push {lr}
+ ldr r0, _08102174 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x4
+ bl StartSpriteAnim
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08102174: .4byte gUnknown_203ACEC
+ thumb_func_end sub_810215C
+
+ thumb_func_start sub_8102178
+sub_8102178: @ 8102178
+ push {lr}
+ bl sub_80FFE1C
+ lsls r0, 24
+ cmp r0, 0
+ bne _0810219C
+ ldr r0, _08102198 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x1
+ bl StartSpriteAnim
+ b _081021AE
+ .align 2, 0
+_08102198: .4byte gUnknown_203ACEC
+_0810219C:
+ ldr r0, _081021B4 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ movs r1, 0x2
+ bl StartSpriteAnim
+_081021AE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081021B4: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8102178
+
+ thumb_func_start sub_81021B8
+sub_81021B8: @ 81021B8
+ ldr r0, _081021D0 @ =gUnknown_203ACEC
+ ldr r0, [r0]
+ movs r1, 0xBB
+ lsls r1, 2
+ adds r0, r1
+ ldr r0, [r0]
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ lsrs r1, 4
+ movs r0, 0x1
+ bics r0, r1
+ bx lr
+ .align 2, 0
+_081021D0: .4byte gUnknown_203ACEC
+ thumb_func_end sub_81021B8
+
+ thumb_func_start sub_81021D4
+sub_81021D4: @ 81021D4
+ push {r4,lr}
+ ldr r4, _08102240 @ =gUnknown_843FA98
+ adds r0, r4, 0
+ movs r1, 0x60
+ movs r2, 0x50
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _08102202
+ ldr r0, _08102244 @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ movs r0, 0xBC
+ lsls r0, 2
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08102248 @ =gSprites
+ adds r0, r1
+ str r0, [r2]
+_08102202:
+ adds r0, r4, 0
+ movs r1, 0x60
+ movs r2, 0x9C
+ movs r3, 0
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _08102236
+ ldr r0, _08102244 @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ movs r0, 0xBD
+ lsls r0, 2
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08102248 @ =gSprites
+ adds r0, r1
+ str r0, [r2]
+ adds r0, 0x3F
+ ldrb r1, [r0]
+ movs r2, 0x2
+ orrs r1, r2
+ strb r1, [r0]
+_08102236:
+ bl sub_81022B0
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08102240: .4byte gUnknown_843FA98
+_08102244: .4byte gUnknown_203ACEC
+_08102248: .4byte gSprites
+ thumb_func_end sub_81021D4
+
+ thumb_func_start sub_810224C
+sub_810224C: @ 810224C
+ push {r4-r6,lr}
+ bl sub_80FFE64
+ ldr r6, _081022AC @ =gUnknown_203ACEC
+ ldr r1, [r6]
+ movs r2, 0xBC
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ movs r2, 0
+ cmp r0, 0
+ bne _08102266
+ movs r2, 0x1
+_08102266:
+ adds r3, r1, 0
+ adds r3, 0x3E
+ movs r4, 0x1
+ lsls r2, 2
+ ldrb r1, [r3]
+ movs r5, 0x5
+ negs r5, r5
+ adds r0, r5, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r3]
+ bl sub_80FFE98
+ ldr r1, [r6]
+ movs r2, 0xBD
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ movs r2, 0
+ cmp r0, 0
+ bne _08102292
+ movs r2, 0x1
+_08102292:
+ adds r3, r1, 0
+ adds r3, 0x3E
+ adds r1, r4, 0
+ ands r1, r2
+ lsls r1, 2
+ ldrb r2, [r3]
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081022AC: .4byte gUnknown_203ACEC
+ thumb_func_end sub_810224C
+
+ thumb_func_start sub_81022B0
+sub_81022B0: @ 81022B0
+ ldr r3, _081022DC @ =gUnknown_203ACEC
+ ldr r0, [r3]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r0, [r3]
+ movs r1, 0xBD
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_081022DC: .4byte gUnknown_203ACEC
+ thumb_func_end sub_81022B0
+
+ thumb_func_start sub_81022E0
+sub_81022E0: @ 81022E0
+ push {lr}
+ cmp r0, 0
+ bne _081022FC
+ ldr r0, _081022F8 @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ movs r1, 0x60
+ b _0810230A
+ .align 2, 0
+_081022F8: .4byte gUnknown_203ACEC
+_081022FC:
+ ldr r0, _0810231C @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ movs r1, 0xBC
+ lsls r1, 2
+ adds r0, r2, r1
+ ldr r0, [r0]
+ movs r1, 0x78
+_0810230A:
+ strh r1, [r0, 0x20]
+ movs r3, 0xBD
+ lsls r3, 2
+ adds r0, r2, r3
+ ldr r0, [r0]
+ strh r1, [r0, 0x20]
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0810231C: .4byte gUnknown_203ACEC
+ thumb_func_end sub_81022E0
+
+ thumb_func_start sub_8102320
+sub_8102320: @ 8102320
+ push {r4,lr}
+ ldr r4, _08102388 @ =gUnknown_843FA80
+ adds r0, r4, 0
+ movs r1, 0xDC
+ movs r2, 0x54
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _0810234E
+ ldr r0, _0810238C @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ movs r0, 0xBE
+ lsls r0, 2
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08102390 @ =gSprites
+ adds r0, r1
+ str r0, [r2]
+_0810234E:
+ adds r0, r4, 0
+ movs r1, 0xDC
+ movs r2, 0x9C
+ movs r3, 0x1
+ bl CreateSprite
+ lsls r0, 24
+ lsrs r1, r0, 24
+ cmp r1, 0x40
+ beq _0810237E
+ ldr r0, _0810238C @ =gUnknown_203ACEC
+ ldr r2, [r0]
+ movs r0, 0xBF
+ lsls r0, 2
+ adds r2, r0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _08102390 @ =gSprites
+ adds r0, r1
+ str r0, [r2]
+ movs r1, 0x1
+ bl StartSpriteAnim
+_0810237E:
+ bl sub_81023F8
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08102388: .4byte gUnknown_843FA80
+_0810238C: .4byte gUnknown_203ACEC
+_08102390: .4byte gSprites
+ thumb_func_end sub_8102320
+
+ thumb_func_start sub_8102394
+sub_8102394: @ 8102394
+ push {r4-r6,lr}
+ bl sub_80FFE64
+ ldr r6, _081023F4 @ =gUnknown_203ACEC
+ ldr r1, [r6]
+ movs r2, 0xBE
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ movs r2, 0
+ cmp r0, 0
+ bne _081023AE
+ movs r2, 0x1
+_081023AE:
+ adds r3, r1, 0
+ adds r3, 0x3E
+ movs r4, 0x1
+ lsls r2, 2
+ ldrb r1, [r3]
+ movs r5, 0x5
+ negs r5, r5
+ adds r0, r5, 0
+ ands r0, r1
+ orrs r0, r2
+ strb r0, [r3]
+ bl sub_80FFE98
+ ldr r1, [r6]
+ movs r2, 0xBF
+ lsls r2, 2
+ adds r1, r2
+ ldr r1, [r1]
+ movs r2, 0
+ cmp r0, 0
+ bne _081023DA
+ movs r2, 0x1
+_081023DA:
+ adds r3, r1, 0
+ adds r3, 0x3E
+ adds r1, r4, 0
+ ands r1, r2
+ lsls r1, 2
+ ldrb r2, [r3]
+ adds r0, r5, 0
+ ands r0, r2
+ orrs r0, r1
+ strb r0, [r3]
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081023F4: .4byte gUnknown_203ACEC
+ thumb_func_end sub_8102394
+
+ thumb_func_start sub_81023F8
+sub_81023F8: @ 81023F8
+ ldr r3, _08102424 @ =gUnknown_203ACEC
+ ldr r0, [r3]
+ movs r1, 0xBE
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ movs r2, 0x4
+ orrs r0, r2
+ strb r0, [r1]
+ ldr r0, [r3]
+ movs r1, 0xBF
+ lsls r1, 2
+ adds r0, r1
+ ldr r1, [r0]
+ adds r1, 0x3E
+ ldrb r0, [r1]
+ orrs r0, r2
+ strb r0, [r1]
+ bx lr
+ .align 2, 0
+_08102424: .4byte gUnknown_203ACEC
+ thumb_func_end sub_81023F8
+
+ thumb_func_start sub_8102428
+sub_8102428: @ 8102428
+ push {r4,lr}
+ sub sp, 0x14
+ ldr r3, _081024A8 @ =0xffffff00
+ ldr r0, [sp, 0xC]
+ ands r0, r3
+ movs r1, 0x3
+ orrs r0, r1
+ ldr r2, _081024AC @ =0xffff00ff
+ ands r0, r2
+ movs r1, 0x80
+ lsls r1, 3
+ orrs r0, r1
+ ldr r1, _081024B0 @ =0xff00ffff
+ ands r0, r1
+ movs r1, 0xB0
+ lsls r1, 12
+ orrs r0, r1
+ ldr r1, _081024B4 @ =0x00ffffff
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 21
+ orrs r0, r1
+ str r0, [sp, 0xC]
+ ldr r0, [sp, 0x10]
+ ands r0, r3
+ movs r1, 0x2
+ orrs r0, r1
+ ands r0, r2
+ movs r1, 0xB0
+ lsls r1, 4
+ orrs r0, r1
+ ldr r1, _081024B8 @ =0x0000ffff
+ ands r0, r1
+ movs r1, 0xC0
+ lsls r1, 14
+ orrs r0, r1
+ str r0, [sp, 0x10]
+ add r0, sp, 0xC
+ bl AddWindow
+ adds r4, r0, 0
+ lsls r4, 24
+ lsrs r4, 24
+ adds r0, r4, 0
+ movs r1, 0x11
+ bl FillWindowPixelBuffer
+ ldr r2, _081024BC @ =gUnknown_841EE2B
+ movs r0, 0
+ str r0, [sp]
+ str r0, [sp, 0x4]
+ str r0, [sp, 0x8]
+ adds r0, r4, 0
+ movs r1, 0x1
+ movs r3, 0
+ bl sub_8100D84
+ adds r0, r4, 0
+ bl PutWindowTilemap
+ add sp, 0x14
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081024A8: .4byte 0xffffff00
+_081024AC: .4byte 0xffff00ff
+_081024B0: .4byte 0xff00ffff
+_081024B4: .4byte 0x00ffffff
+_081024B8: .4byte 0x0000ffff
+_081024BC: .4byte gUnknown_841EE2B
+ thumb_func_end sub_8102428
+
+ .align 2, 0 @ Don't pad with nop.
diff --git a/asm/librfu.s b/asm/librfu.s
index bdf816bd8..03bf3eeb8 100644
--- a/asm/librfu.s
+++ b/asm/librfu.s
@@ -5,2251 +5,6 @@
.text
- thumb_func_start STWI_init_all
-STWI_init_all: @ 81DF114
- push {r4,lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0x1
- bne _081DF150
- adds r2, r3, 0
- adds r2, 0xE8
- str r2, [r1]
- ldr r1, _081DF13C @ =0x040000d4
- ldr r0, _081DF140 @ =IntrSIO32
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _081DF144 @ =0x800004b0
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _081DF148 @ =gRfuState
- ldr r2, _081DF14C @ =0x00000a48
- adds r0, r3, r2
- b _081DF15A
- .align 2, 0
-_081DF13C: .4byte 0x040000d4
-_081DF140: .4byte IntrSIO32
-_081DF144: .4byte 0x800004b0
-_081DF148: .4byte gRfuState
-_081DF14C: .4byte 0x00000a48
-_081DF150:
- ldr r0, _081DF1D4 @ =IntrSIO32
- str r0, [r1]
- ldr r1, _081DF1D8 @ =gRfuState
- adds r0, r3, 0
- adds r0, 0xE8
-_081DF15A:
- str r0, [r1]
- adds r2, r1, 0
- ldr r1, [r2]
- str r3, [r1, 0x28]
- adds r0, r3, 0
- adds r0, 0x74
- str r0, [r1, 0x24]
- ldrb r0, [r1, 0x14]
- movs r4, 0
- movs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r0, [r2]
- str r4, [r0]
- strb r4, [r0, 0x4]
- ldr r0, [r2]
- strb r4, [r0, 0x5]
- ldr r0, [r2]
- strb r4, [r0, 0x7]
- ldr r0, [r2]
- strb r4, [r0, 0x8]
- ldr r0, [r2]
- strb r4, [r0, 0x9]
- ldr r0, [r2]
- str r4, [r0, 0xC]
- ldrb r1, [r0, 0x10]
- strb r4, [r0, 0x10]
- ldr r0, [r2]
- ldrh r1, [r0, 0x12]
- movs r1, 0
- strh r4, [r0, 0x12]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- adds r0, 0x2C
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r1, _081DF1DC @ =0x04000134
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _081DF1E0 @ =0x00005003
- adds r0, r2, 0
- strh r0, [r1]
- bl STWI_init_Callback_M
- bl STWI_init_Callback_S
- ldr r3, _081DF1E4 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _081DF1E8 @ =0x04000200
- ldrh r0, [r4]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF1D4: .4byte IntrSIO32
-_081DF1D8: .4byte gRfuState
-_081DF1DC: .4byte 0x04000134
-_081DF1E0: .4byte 0x00005003
-_081DF1E4: .4byte 0x04000208
-_081DF1E8: .4byte 0x04000200
- thumb_func_end STWI_init_all
-
- thumb_func_start STWI_init_timer
-STWI_init_timer: @ 81DF1EC
- push {r4,r5,lr}
- ldr r2, _081DF218 @ =STWI_intr_timer
- str r2, [r0]
- ldr r5, _081DF21C @ =gRfuState
- ldr r0, [r5]
- movs r4, 0
- strb r1, [r0, 0xA]
- ldr r3, _081DF220 @ =0x04000208
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _081DF224 @ =0x04000200
- ldr r1, [r5]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- ldrh r1, [r4]
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF218: .4byte STWI_intr_timer
-_081DF21C: .4byte gRfuState
-_081DF220: .4byte 0x04000208
-_081DF224: .4byte 0x04000200
- thumb_func_end STWI_init_timer
-
- thumb_func_start AgbRFU_SoftReset
-AgbRFU_SoftReset: @ 81DF228
- push {r4,r5,lr}
- ldr r5, _081DF2C0 @ =0x04000134
- movs r1, 0x80
- lsls r1, 8
- adds r0, r1, 0
- strh r0, [r5]
- ldr r2, _081DF2C4 @ =0x000080a0
- adds r0, r2, 0
- strh r0, [r5]
- ldr r1, _081DF2C8 @ =gRfuState
- ldr r0, [r1]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r3, _081DF2CC @ =0x04000100
- adds r2, r0, r3
- ldr r4, _081DF2D0 @ =0x04000102
- adds r3, r0, r4
- movs r0, 0
- strh r0, [r3]
- strh r0, [r2]
- movs r0, 0x83
- strh r0, [r3]
- ldrh r0, [r2]
- adds r4, r1, 0
- cmp r0, 0x11
- bhi _081DF268
- ldr r0, _081DF2D4 @ =0x000080a2
- adds r1, r0, 0
-_081DF260:
- strh r1, [r5]
- ldrh r0, [r2]
- cmp r0, 0x11
- bls _081DF260
-_081DF268:
- movs r0, 0x3
- strh r0, [r3]
- ldr r1, _081DF2C0 @ =0x04000134
- ldr r2, _081DF2C4 @ =0x000080a0
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r3, _081DF2D8 @ =0x00005003
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, [r4]
- movs r2, 0
- str r2, [r0]
- strb r2, [r0, 0x4]
- ldr r0, [r4]
- strb r2, [r0, 0x5]
- ldr r0, [r4]
- strb r2, [r0, 0x6]
- ldr r0, [r4]
- strb r2, [r0, 0x7]
- ldr r0, [r4]
- strb r2, [r0, 0x8]
- ldr r0, [r4]
- strb r2, [r0, 0x9]
- ldr r0, [r4]
- str r2, [r0, 0xC]
- ldrb r1, [r0, 0x10]
- strb r2, [r0, 0x10]
- ldr r1, [r4]
- ldrh r0, [r1, 0x12]
- movs r3, 0
- strh r2, [r1, 0x12]
- ldrb r0, [r1, 0x14]
- movs r0, 0x1
- strb r0, [r1, 0x14]
- ldr r0, [r4]
- strb r3, [r0, 0x15]
- ldr r0, [r4]
- adds r0, 0x2C
- ldrb r1, [r0]
- strb r3, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF2C0: .4byte 0x04000134
-_081DF2C4: .4byte 0x000080a0
-_081DF2C8: .4byte gRfuState
-_081DF2CC: .4byte 0x04000100
-_081DF2D0: .4byte 0x04000102
-_081DF2D4: .4byte 0x000080a2
-_081DF2D8: .4byte 0x00005003
- thumb_func_end AgbRFU_SoftReset
-
- thumb_func_start STWI_set_MS_mode
-STWI_set_MS_mode: @ 81DF2DC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _081DF2EC @ =gRfuState
- ldr r1, [r1]
- ldrb r2, [r1, 0x14]
- strb r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_081DF2EC: .4byte gRfuState
- thumb_func_end STWI_set_MS_mode
-
- thumb_func_start STWI_read_status
-STWI_read_status: @ 81DF2F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _081DF31C
- cmp r0, 0x1
- bgt _081DF306
- cmp r0, 0
- beq _081DF310
- b _081DF344
-_081DF306:
- cmp r1, 0x2
- beq _081DF328
- cmp r1, 0x3
- beq _081DF338
- b _081DF344
-_081DF310:
- ldr r0, _081DF318 @ =gRfuState
- ldr r0, [r0]
- ldrh r0, [r0, 0x12]
- b _081DF346
- .align 2, 0
-_081DF318: .4byte gRfuState
-_081DF31C:
- ldr r0, _081DF324 @ =gRfuState
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- b _081DF346
- .align 2, 0
-_081DF324: .4byte gRfuState
-_081DF328:
- ldr r0, _081DF334 @ =gRfuState
- ldr r0, [r0]
- ldr r0, [r0]
- lsls r0, 16
- lsrs r0, 16
- b _081DF346
- .align 2, 0
-_081DF334: .4byte gRfuState
-_081DF338:
- ldr r0, _081DF340 @ =gRfuState
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- b _081DF346
- .align 2, 0
-_081DF340: .4byte gRfuState
-_081DF344:
- ldr r0, _081DF34C @ =0x0000ffff
-_081DF346:
- pop {r1}
- bx r1
- .align 2, 0
-_081DF34C: .4byte 0x0000ffff
- thumb_func_end STWI_read_status
-
- thumb_func_start STWI_init_Callback_M
-STWI_init_Callback_M: @ 81DF350
- push {lr}
- movs r0, 0
- bl STWI_set_Callback_M
- pop {r0}
- bx r0
- thumb_func_end STWI_init_Callback_M
-
- thumb_func_start STWI_init_Callback_S
-STWI_init_Callback_S: @ 81DF35C
- push {lr}
- movs r0, 0
- bl STWI_set_Callback_S
- pop {r0}
- bx r0
- thumb_func_end STWI_init_Callback_S
-
- thumb_func_start STWI_set_Callback_M
-STWI_set_Callback_M: @ 81DF368
- ldr r1, _081DF370 @ =gRfuState
- ldr r1, [r1]
- str r0, [r1, 0x18]
- bx lr
- .align 2, 0
-_081DF370: .4byte gRfuState
- thumb_func_end STWI_set_Callback_M
-
- thumb_func_start STWI_set_Callback_S
-STWI_set_Callback_S: @ 81DF374
- ldr r1, _081DF37C @ =gRfuState
- ldr r1, [r1]
- str r0, [r1, 0x1C]
- bx lr
- .align 2, 0
-_081DF37C: .4byte gRfuState
- thumb_func_end STWI_set_Callback_S
-
- thumb_func_start STWI_set_Callback_ID
-STWI_set_Callback_ID: @ 81DF380
- ldr r1, _081DF388 @ =gRfuState
- ldr r1, [r1]
- str r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_081DF388: .4byte gRfuState
- thumb_func_end STWI_set_Callback_ID
-
- thumb_func_start STWI_poll_CommandEnd
-STWI_poll_CommandEnd: @ 81DF38C
- push {lr}
- ldr r0, _081DF3B0 @ =gRfuState
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _081DF3A6
- adds r1, r2, 0
-_081DF3A0:
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _081DF3A0
-_081DF3A6:
- ldr r0, [r3]
- ldrh r0, [r0, 0x12]
- pop {r1}
- bx r1
- .align 2, 0
-_081DF3B0: .4byte gRfuState
- thumb_func_end STWI_poll_CommandEnd
-
- thumb_func_start STWI_send_ResetREQ
-STWI_send_ResetREQ: @ 81DF3B4
- push {lr}
- movs r0, 0x10
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF3CE
- ldr r0, _081DF3D4 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF3CE:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF3D4: .4byte gRfuState
- thumb_func_end STWI_send_ResetREQ
-
- thumb_func_start STWI_send_LinkStatusREQ
-STWI_send_LinkStatusREQ: @ 81DF3D8
- push {lr}
- movs r0, 0x11
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF3F2
- ldr r0, _081DF3F8 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF3F2:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF3F8: .4byte gRfuState
- thumb_func_end STWI_send_LinkStatusREQ
-
- thumb_func_start STWI_send_VersionStatusREQ
-STWI_send_VersionStatusREQ: @ 81DF3FC
- push {lr}
- movs r0, 0x12
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF416
- ldr r0, _081DF41C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF416:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF41C: .4byte gRfuState
- thumb_func_end STWI_send_VersionStatusREQ
-
- thumb_func_start STWI_send_SystemStatusREQ
-STWI_send_SystemStatusREQ: @ 81DF420
- push {lr}
- movs r0, 0x13
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF43A
- ldr r0, _081DF440 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF43A:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF440: .4byte gRfuState
- thumb_func_end STWI_send_SystemStatusREQ
-
- thumb_func_start STWI_send_SlotStatusREQ
-STWI_send_SlotStatusREQ: @ 81DF444
- push {lr}
- movs r0, 0x14
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF45E
- ldr r0, _081DF464 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF45E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF464: .4byte gRfuState
- thumb_func_end STWI_send_SlotStatusREQ
-
- thumb_func_start STWI_send_ConfigStatusREQ
-STWI_send_ConfigStatusREQ: @ 81DF468
- push {lr}
- movs r0, 0x15
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF482
- ldr r0, _081DF488 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF482:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF488: .4byte gRfuState
- thumb_func_end STWI_send_ConfigStatusREQ
-
- thumb_func_start STWI_send_GameConfigREQ
-STWI_send_GameConfigREQ: @ 81DF48C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x16
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF4D8
- ldr r2, _081DF4E0 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x6
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- adds r4, 0x2
- movs r2, 0xD
-_081DF4B6:
- ldrb r0, [r4]
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _081DF4B6
- movs r2, 0x7
-_081DF4C6:
- ldrb r0, [r5]
- strb r0, [r1]
- adds r1, 0x1
- adds r5, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _081DF4C6
- bl STWI_start_Command
-_081DF4D8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF4E0: .4byte gRfuState
- thumb_func_end STWI_send_GameConfigREQ
-
- thumb_func_start STWI_send_SystemConfigREQ
-STWI_send_SystemConfigREQ: @ 81DF4E4
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r0, 0x17
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF51A
- ldr r2, _081DF520 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r4, [r0]
- adds r0, 0x1
- strb r5, [r0]
- adds r0, 0x1
- strh r6, [r0]
- bl STWI_start_Command
-_081DF51A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF520: .4byte gRfuState
- thumb_func_end STWI_send_SystemConfigREQ
-
- thumb_func_start STWI_send_SC_StartREQ
-STWI_send_SC_StartREQ: @ 81DF524
- push {lr}
- movs r0, 0x19
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF53E
- ldr r0, _081DF544 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF53E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF544: .4byte gRfuState
- thumb_func_end STWI_send_SC_StartREQ
-
- thumb_func_start STWI_send_SC_PollingREQ
-STWI_send_SC_PollingREQ: @ 81DF548
- push {lr}
- movs r0, 0x1A
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF562
- ldr r0, _081DF568 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF562:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF568: .4byte gRfuState
- thumb_func_end STWI_send_SC_PollingREQ
-
- thumb_func_start STWI_send_SC_EndREQ
-STWI_send_SC_EndREQ: @ 81DF56C
- push {lr}
- movs r0, 0x1B
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF586
- ldr r0, _081DF58C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF586:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF58C: .4byte gRfuState
- thumb_func_end STWI_send_SC_EndREQ
-
- thumb_func_start STWI_send_SP_StartREQ
-STWI_send_SP_StartREQ: @ 81DF590
- push {lr}
- movs r0, 0x1C
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF5AA
- ldr r0, _081DF5B0 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF5AA:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF5B0: .4byte gRfuState
- thumb_func_end STWI_send_SP_StartREQ
-
- thumb_func_start STWI_send_SP_PollingREQ
-STWI_send_SP_PollingREQ: @ 81DF5B4
- push {lr}
- movs r0, 0x1D
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF5CE
- ldr r0, _081DF5D4 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF5CE:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF5D4: .4byte gRfuState
- thumb_func_end STWI_send_SP_PollingREQ
-
- thumb_func_start STWI_send_SP_EndREQ
-STWI_send_SP_EndREQ: @ 81DF5D8
- push {lr}
- movs r0, 0x1E
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF5F2
- ldr r0, _081DF5F8 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF5F2:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF5F8: .4byte gRfuState
- thumb_func_end STWI_send_SP_EndREQ
-
- thumb_func_start STWI_send_CP_StartREQ
-STWI_send_CP_StartREQ: @ 81DF5FC
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1F
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF620
- ldr r2, _081DF628 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- str r4, [r0, 0x4]
- bl STWI_start_Command
-_081DF620:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF628: .4byte gRfuState
- thumb_func_end STWI_send_CP_StartREQ
-
- thumb_func_start STWI_send_CP_PollingREQ
-STWI_send_CP_PollingREQ: @ 81DF62C
- push {lr}
- movs r0, 0x20
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF646
- ldr r0, _081DF64C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF646:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF64C: .4byte gRfuState
- thumb_func_end STWI_send_CP_PollingREQ
-
- thumb_func_start STWI_send_CP_EndREQ
-STWI_send_CP_EndREQ: @ 81DF650
- push {lr}
- movs r0, 0x21
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF66A
- ldr r0, _081DF670 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF66A:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF670: .4byte gRfuState
- thumb_func_end STWI_send_CP_EndREQ
-
- thumb_func_start STWI_send_DataTxREQ
-STWI_send_DataTxREQ: @ 81DF674
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r5, r4, 24
- movs r0, 0x24
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF6B2
- lsrs r2, r4, 26
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- beq _081DF694
- adds r2, 0x1
-_081DF694:
- ldr r1, _081DF6B8 @ =gRfuState
- ldr r0, [r1]
- strb r2, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrb r2, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r6, 0
- bl CpuSet
- bl STWI_start_Command
-_081DF6B2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF6B8: .4byte gRfuState
- thumb_func_end STWI_send_DataTxREQ
-
- thumb_func_start STWI_send_DataTxAndChangeREQ
-STWI_send_DataTxAndChangeREQ: @ 81DF6BC
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r5, r4, 24
- movs r0, 0x25
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF6FA
- lsrs r2, r4, 26
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0
- beq _081DF6DC
- adds r2, 0x1
-_081DF6DC:
- ldr r1, _081DF700 @ =gRfuState
- ldr r0, [r1]
- strb r2, [r0, 0x4]
- ldr r0, [r1]
- ldr r1, [r0, 0x24]
- adds r1, 0x4
- ldrb r2, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 19
- orrs r2, r0
- adds r0, r6, 0
- bl CpuSet
- bl STWI_start_Command
-_081DF6FA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF700: .4byte gRfuState
- thumb_func_end STWI_send_DataTxAndChangeREQ
-
- thumb_func_start STWI_send_DataRxREQ
-STWI_send_DataRxREQ: @ 81DF704
- push {lr}
- movs r0, 0x26
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF71E
- ldr r0, _081DF724 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF71E:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF724: .4byte gRfuState
- thumb_func_end STWI_send_DataRxREQ
-
- thumb_func_start STWI_send_MS_ChangeREQ
-STWI_send_MS_ChangeREQ: @ 81DF728
- push {lr}
- movs r0, 0x27
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF742
- ldr r0, _081DF748 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF742:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF748: .4byte gRfuState
- thumb_func_end STWI_send_MS_ChangeREQ
-
- thumb_func_start STWI_send_DataReadyAndChangeREQ
-STWI_send_DataReadyAndChangeREQ: @ 81DF74C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- movs r0, 0x28
- bl STWI_init
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _081DF792
- cmp r4, 0
- bne _081DF774
- ldr r0, _081DF770 @ =gRfuState
- ldr r0, [r0]
- strb r3, [r0, 0x4]
- b _081DF78E
- .align 2, 0
-_081DF770: .4byte gRfuState
-_081DF774:
- ldr r2, _081DF798 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r5, [r0]
- adds r0, 0x1
- strb r3, [r0]
- adds r0, 0x1
- strb r3, [r0]
- strb r3, [r0, 0x1]
-_081DF78E:
- bl STWI_start_Command
-_081DF792:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF798: .4byte gRfuState
- thumb_func_end STWI_send_DataReadyAndChangeREQ
-
- thumb_func_start STWI_send_DisconnectedAndChangeREQ
-STWI_send_DisconnectedAndChangeREQ: @ 81DF79C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x29
- bl STWI_init
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _081DF7D2
- ldr r2, _081DF7D8 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- adds r0, 0x4
- strb r4, [r0]
- adds r0, 0x1
- strb r5, [r0]
- adds r0, 0x1
- strb r3, [r0]
- strb r3, [r0, 0x1]
- bl STWI_start_Command
-_081DF7D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF7D8: .4byte gRfuState
- thumb_func_end STWI_send_DisconnectedAndChangeREQ
-
- thumb_func_start STWI_send_ResumeRetransmitAndChangeREQ
-STWI_send_ResumeRetransmitAndChangeREQ: @ 81DF7DC
- push {lr}
- movs r0, 0x37
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF7F6
- ldr r0, _081DF7FC @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF7F6:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF7FC: .4byte gRfuState
- thumb_func_end STWI_send_ResumeRetransmitAndChangeREQ
-
- thumb_func_start STWI_send_DisconnectREQ
-STWI_send_DisconnectREQ: @ 81DF800
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x30
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF824
- ldr r2, _081DF82C @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r0, [r0, 0x24]
- str r4, [r0, 0x4]
- bl STWI_start_Command
-_081DF824:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF82C: .4byte gRfuState
- thumb_func_end STWI_send_DisconnectREQ
-
- thumb_func_start STWI_send_TestModeREQ
-STWI_send_TestModeREQ: @ 81DF830
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r0, 0x31
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF85C
- ldr r2, _081DF864 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r0, [r2]
- ldr r1, [r0, 0x24]
- lsls r0, r4, 8
- orrs r0, r5
- str r0, [r1, 0x4]
- bl STWI_start_Command
-_081DF85C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF864: .4byte gRfuState
- thumb_func_end STWI_send_TestModeREQ
-
- thumb_func_start STWI_send_CPR_StartREQ
-STWI_send_CPR_StartREQ: @ 81DF868
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r6, r2, 24
- movs r0, 0x32
- bl STWI_init
- lsls r0, 16
- cmp r0, 0
- bne _081DF89A
- ldr r2, _081DF8A0 @ =gRfuState
- ldr r1, [r2]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- lsls r0, r5, 16
- orrs r0, r4
- ldr r1, [r2]
- ldr r1, [r1, 0x24]
- str r0, [r1, 0x4]
- str r6, [r1, 0x8]
- bl STWI_start_Command
-_081DF89A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081DF8A0: .4byte gRfuState
- thumb_func_end STWI_send_CPR_StartREQ
-
- thumb_func_start STWI_send_CPR_PollingREQ
-STWI_send_CPR_PollingREQ: @ 81DF8A4
- push {lr}
- movs r0, 0x33
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF8BE
- ldr r0, _081DF8C4 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF8BE:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF8C4: .4byte gRfuState
- thumb_func_end STWI_send_CPR_PollingREQ
-
- thumb_func_start STWI_send_CPR_EndREQ
-STWI_send_CPR_EndREQ: @ 81DF8C8
- push {lr}
- movs r0, 0x34
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF8E2
- ldr r0, _081DF8E8 @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF8E2:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF8E8: .4byte gRfuState
- thumb_func_end STWI_send_CPR_EndREQ
-
- thumb_func_start STWI_send_StopModeREQ
-STWI_send_StopModeREQ: @ 81DF8EC
- push {lr}
- movs r0, 0x3D
- bl STWI_init
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _081DF906
- ldr r0, _081DF90C @ =gRfuState
- ldr r0, [r0]
- strb r1, [r0, 0x4]
- bl STWI_start_Command
-_081DF906:
- pop {r0}
- bx r0
- .align 2, 0
-_081DF90C: .4byte gRfuState
- thumb_func_end STWI_send_StopModeREQ
-
- thumb_func_start STWI_intr_timer
-STWI_intr_timer: @ 81DF910
- push {r4,lr}
- ldr r4, _081DF928 @ =gRfuState
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0x2
- beq _081DF936
- cmp r0, 0x2
- bhi _081DF92C
- cmp r0, 0x1
- beq _081DF944
- b _081DF96C
- .align 2, 0
-_081DF928: .4byte gRfuState
-_081DF92C:
- cmp r0, 0x3
- beq _081DF94E
- cmp r0, 0x4
- beq _081DF944
- b _081DF96C
-_081DF936:
- ldrb r0, [r1, 0x10]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- movs r0, 0x32
- bl STWI_set_timer
- b _081DF96C
-_081DF944:
- bl STWI_stop_timer
- bl STWI_restart_Command
- b _081DF96C
-_081DF94E:
- ldrb r0, [r1, 0x10]
- movs r0, 0x1
- strb r0, [r1, 0x10]
- bl STWI_stop_timer
- bl STWI_reset_ClockCounter
- ldr r0, [r4]
- ldr r2, [r0, 0x18]
- cmp r2, 0
- beq _081DF96C
- movs r0, 0xFF
- movs r1, 0
- bl _call_via_r2
-_081DF96C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end STWI_intr_timer
-
- thumb_func_start STWI_set_timer
-STWI_set_timer: @ 81DF974
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- ldr r2, _081DF9A4 @ =gRfuState
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r1, _081DF9A8 @ =0x04000100
- adds r4, r0, r1
- adds r1, 0x2
- adds r7, r0, r1
- ldr r1, _081DF9AC @ =0x04000208
- movs r0, 0
- strh r0, [r1]
- adds r6, r2, 0
- cmp r3, 0x50
- beq _081DF9CC
- cmp r3, 0x50
- bgt _081DF9B0
- cmp r3, 0x32
- beq _081DF9BA
- b _081DF9F8
- .align 2, 0
-_081DF9A4: .4byte gRfuState
-_081DF9A8: .4byte 0x04000100
-_081DF9AC: .4byte 0x04000208
-_081DF9B0:
- cmp r5, 0x64
- beq _081DF9DC
- cmp r5, 0x82
- beq _081DF9EC
- b _081DF9F8
-_081DF9BA:
- ldr r1, _081DF9C8 @ =0x0000fccb
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x1
- b _081DF9F6
- .align 2, 0
-_081DF9C8: .4byte 0x0000fccb
-_081DF9CC:
- ldr r1, _081DF9D8 @ =0x0000fae0
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x2
- b _081DF9F6
- .align 2, 0
-_081DF9D8: .4byte 0x0000fae0
-_081DF9DC:
- ldr r1, _081DF9E8 @ =0x0000f996
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x3
- b _081DF9F6
- .align 2, 0
-_081DF9E8: .4byte 0x0000f996
-_081DF9EC:
- ldr r1, _081DFA14 @ =0x0000f7ad
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, [r6]
- movs r0, 0x4
-_081DF9F6:
- str r0, [r1, 0xC]
-_081DF9F8:
- movs r0, 0xC3
- strh r0, [r7]
- ldr r2, _081DFA18 @ =0x04000202
- ldr r1, [r6]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- strh r0, [r2]
- ldr r1, _081DFA1C @ =0x04000208
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081DFA14: .4byte 0x0000f7ad
-_081DFA18: .4byte 0x04000202
-_081DFA1C: .4byte 0x04000208
- thumb_func_end STWI_set_timer
-
- thumb_func_start STWI_stop_timer
-STWI_stop_timer: @ 81DFA20
- ldr r2, _081DFA40 @ =gRfuState
- ldr r0, [r2]
- movs r1, 0
- str r1, [r0, 0xC]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r3, _081DFA44 @ =0x04000100
- adds r0, r3
- strh r1, [r0]
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r2, _081DFA48 @ =0x04000102
- adds r0, r2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_081DFA40: .4byte gRfuState
-_081DFA44: .4byte 0x04000100
-_081DFA48: .4byte 0x04000102
- thumb_func_end STWI_stop_timer
-
- thumb_func_start STWI_init
-STWI_init: @ 81DFA4C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- ldr r0, _081DFA78 @ =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _081DFA80
- ldr r0, _081DFA7C @ =gRfuState
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _081DFACA
- ldrh r1, [r1, 0x12]
- adds r0, r5, 0
- bl _call_via_r2
- b _081DFACA
- .align 2, 0
-_081DFA78: .4byte 0x04000208
-_081DFA7C: .4byte gRfuState
-_081DFA80:
- ldr r4, _081DFAAC @ =gRfuState
- ldr r2, [r4]
- adds r3, r2, 0
- adds r3, 0x2C
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _081DFAB0
- ldrh r0, [r2, 0x12]
- movs r1, 0
- movs r0, 0x2
- strh r0, [r2, 0x12]
- ldrb r0, [r3]
- strb r1, [r3]
- ldr r0, [r4]
- ldr r2, [r0, 0x18]
- cmp r2, 0
- beq _081DFACA
- ldrh r1, [r0, 0x12]
- adds r0, r5, 0
- bl _call_via_r2
- b _081DFACA
- .align 2, 0
-_081DFAAC: .4byte gRfuState
-_081DFAB0:
- ldrb r0, [r2, 0x14]
- cmp r0, 0
- bne _081DFACE
- ldrh r0, [r2, 0x12]
- movs r0, 0x4
- strh r0, [r2, 0x12]
- ldr r3, [r2, 0x18]
- cmp r3, 0
- beq _081DFACA
- ldrh r1, [r2, 0x12]
- adds r0, r5, 0
- bl _call_via_r3
-_081DFACA:
- movs r0, 0x1
- b _081DFB16
-_081DFACE:
- ldrb r0, [r3]
- movs r1, 0
- movs r0, 0x1
- strb r0, [r3]
- ldr r0, [r4]
- strb r6, [r0, 0x6]
- ldr r0, [r4]
- str r1, [r0]
- strb r1, [r0, 0x4]
- ldr r0, [r4]
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- strb r1, [r0, 0x7]
- ldr r0, [r4]
- strb r1, [r0, 0x8]
- ldr r0, [r4]
- strb r1, [r0, 0x9]
- ldr r0, [r4]
- str r1, [r0, 0xC]
- ldrb r2, [r0, 0x10]
- strb r1, [r0, 0x10]
- ldr r0, [r4]
- ldrh r2, [r0, 0x12]
- movs r2, 0
- strh r1, [r0, 0x12]
- strb r2, [r0, 0x15]
- ldr r1, _081DFB1C @ =0x04000134
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- ldr r2, _081DFB20 @ =0x00005003
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
-_081DFB16:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081DFB1C: .4byte 0x04000134
-_081DFB20: .4byte 0x00005003
- thumb_func_end STWI_init
-
- thumb_func_start STWI_start_Command
-STWI_start_Command: @ 81DFB24
- push {r4,r5,lr}
- ldr r5, _081DFB7C @ =gRfuState
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- ldrb r1, [r0, 0x4]
- lsls r1, 8
- ldrb r0, [r0, 0x6]
- ldr r2, _081DFB80 @ =0x99660000
- orrs r0, r2
- orrs r1, r0
- str r1, [r3]
- ldr r2, _081DFB84 @ =0x04000120
- ldr r1, [r5]
- ldr r0, [r1, 0x24]
- ldr r0, [r0]
- str r0, [r2]
- movs r2, 0
- str r2, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x5]
- ldr r4, _081DFB88 @ =0x04000208
- ldrh r3, [r4]
- strh r2, [r4]
- ldr r2, _081DFB8C @ =0x04000200
- ldr r1, [r5]
- movs r0, 0x8
- ldrb r1, [r1, 0xA]
- lsls r0, r1
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- strh r3, [r4]
- ldr r1, _081DFB90 @ =0x04000128
- ldr r2, _081DFB94 @ =0x00005083
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_081DFB7C: .4byte gRfuState
-_081DFB80: .4byte 0x99660000
-_081DFB84: .4byte 0x04000120
-_081DFB88: .4byte 0x04000208
-_081DFB8C: .4byte 0x04000200
-_081DFB90: .4byte 0x04000128
-_081DFB94: .4byte 0x00005083
- thumb_func_end STWI_start_Command
-
- thumb_func_start STWI_restart_Command
-STWI_restart_Command: @ 81DFB98
- push {r4,lr}
- ldr r4, _081DFBB0 @ =gRfuState
- ldr r2, [r4]
- ldrb r0, [r2, 0x15]
- adds r3, r4, 0
- cmp r0, 0x1
- bhi _081DFBB4
- adds r0, 0x1
- strb r0, [r2, 0x15]
- bl STWI_start_Command
- b _081DFC0E
- .align 2, 0
-_081DFBB0: .4byte gRfuState
-_081DFBB4:
- ldrb r0, [r2, 0x6]
- cmp r0, 0x27
- beq _081DFBC6
- cmp r0, 0x25
- beq _081DFBC6
- cmp r0, 0x35
- beq _081DFBC6
- cmp r0, 0x37
- bne _081DFBE8
-_081DFBC6:
- ldr r0, [r3]
- ldrh r1, [r0, 0x12]
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x12]
- adds r0, 0x2C
- ldrb r1, [r0]
- strb r2, [r0]
- ldr r1, [r3]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _081DFC0E
- ldrb r0, [r1, 0x6]
- ldrh r1, [r1, 0x12]
- bl _call_via_r2
- b _081DFC0E
-_081DFBE8:
- ldrh r0, [r2, 0x12]
- movs r1, 0
- movs r0, 0x1
- strh r0, [r2, 0x12]
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r2, [r0]
- strb r1, [r0]
- ldr r1, [r4]
- ldr r2, [r1, 0x18]
- cmp r2, 0
- beq _081DFC08
- ldrb r0, [r1, 0x6]
- ldrh r1, [r1, 0x12]
- bl _call_via_r2
-_081DFC08:
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1]
-_081DFC0E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end STWI_restart_Command
-
- thumb_func_start STWI_reset_ClockCounter
-STWI_reset_ClockCounter: @ 81DFC18
- ldr r3, _081DFC44 @ =gRfuState
- ldr r1, [r3]
- movs r0, 0x5
- str r0, [r1]
- movs r2, 0
- strb r2, [r1, 0x4]
- ldr r0, [r3]
- strb r2, [r0, 0x5]
- ldr r1, _081DFC48 @ =0x04000120
- movs r0, 0x80
- lsls r0, 24
- str r0, [r1]
- adds r1, 0x8
- strh r2, [r1]
- ldr r2, _081DFC4C @ =0x00005003
- adds r0, r2, 0
- strh r0, [r1]
- adds r2, 0x7F
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bx lr
- .align 2, 0
-_081DFC44: .4byte gRfuState
-_081DFC48: .4byte 0x04000120
-_081DFC4C: .4byte 0x00005003
- thumb_func_end STWI_reset_ClockCounter
-
- arm_func_start IntrSIO32
-IntrSIO32: @ 81DFC50
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- ldr r3, _081DFCB0 @ =gRfuState
- ldr r0, [r3]
- ldr r2, [r0]
- sub r11, r12, 0x4
- cmp r2, 0xA
- bne _081DFC8C
- ldr r0, [r0, 0x20]
- cmp r0, 0
- ldmdbeq r11, {r11,sp,lr}
- bxeq lr
- bl sub_81E05AC
- ldmdb r11, {r11,sp,lr}
- bx lr
-_081DFC8C:
- ldrb r3, [r0, 0x14]
- cmp r3, 0x1
- bne _081DFCA4
- bl sio32intr_clock_master
- ldmdb r11, {r11,sp,lr}
- bx lr
-_081DFCA4:
- bl sio32intr_clock_slave
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081DFCB0: .4byte gRfuState
- arm_func_end IntrSIO32
-
- arm_func_start sio32intr_clock_master
-sio32intr_clock_master: @ 81DFCB4
- mov r12, sp
- stmdb sp!, {r4-r6,r11,r12,lr,pc}
- mov r0, 0x50
- sub r11, r12, 0x4
- bl STWI_set_timer_in_RAM
- mov r4, 0x120
- ldr r2, _081DFF28 @ =gRfuState
- add r4, r4, 0x4000000
- ldr lr, [r4]
- ldr r12, [r2]
- ldr r3, [r12]
- mov r6, r2
- cmp r3, 0
- bne _081DFD34
- cmp lr, 0x80000000
- bne _081DFDB4
- ldrb r2, [r12, 0x5]
- ldrb r3, [r12, 0x4]
- cmp r2, r3
- bhi _081DFD24
- ldr r3, [r12, 0x24]
- mov r1, r2
- ldr r2, [r3, r1, lsl 2]
- str r2, [r4]
- ldrb r3, [r12, 0x5]
- add r3, r3, 0x1
- strb r3, [r12, 0x5]
- b _081DFE10
-_081DFD24:
- mov r3, 0x1
- str r3, [r12]
- str lr, [r4]
- b _081DFE10
-_081DFD34:
- ldr r3, [r12]
- cmp r3, 0x1
- bne _081DFDC4
- mov r3, 0x99000000
- add r3, r3, 0x660000
- mov r5, 0x80000000
- and r2, lr, r5, asr 15
- cmp r2, r3
- bne _081DFDB4
- mov r3, 0
- strb r3, [r12, 0x8]
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- ldr r2, [r1, 0x28]
- str lr, [r2, r0, lsl 2]
- ldrb r3, [r1, 0x8]
- add r3, r3, 0x1
- strb r3, [r1, 0x8]
- ldr r2, [r6]
- strb lr, [r2, 0x9]
- ldr r3, [r6]
- mov r2, lr, lsr 8
- strb r2, [r3, 0x7]
- ldr r1, [r6]
- ldrb r2, [r1, 0x7]
- ldrb r3, [r1, 0x8]
- cmp r2, r3
- bcc _081DFDFC
- mov r3, 0x2
- str r3, [r1]
- str r5, [r4]
- b _081DFE10
-_081DFDB4:
- bl STWI_stop_timer_in_RAM
- mov r0, 0x82
- bl STWI_set_timer_in_RAM
- b _081DFF3C
-_081DFDC4:
- ldr r3, [r12]
- cmp r3, 0x2
- bne _081DFE10
- ldrb r1, [r12, 0x8]
- ldr r2, [r12, 0x28]
- str lr, [r2, r1, lsl 2]
- ldrb r3, [r12, 0x8]
- add r3, r3, 0x1
- strb r3, [r12, 0x8]
- ldr r1, [r6]
- ldrb r2, [r1, 0x7]
- ldrb r3, [r1, 0x8]
- cmp r2, r3
- bcs _081DFE08
-_081DFDFC:
- mov r3, 0x3
- str r3, [r1]
- b _081DFE10
-_081DFE08:
- mov r3, 0x80000000
- str r3, [r4]
-_081DFE10:
- mov r0, 0x1
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _081DFF3C
- mov r4, 0x128
- add r4, r4, 0x4000000
- mov r5, 0x5000
- add r3, r5, 0xB
- strh r3, [r4]
- mov r0, 0
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _081DFF3C
- bl STWI_stop_timer_in_RAM
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x3
- bne _081DFF2C
- ldrb r3, [r1, 0x9]
- cmp r3, 0xA5
- cmpne r3, 0xA7
- beq _081DFE84
- and r3, r3, 0xFF
- cmp r3, 0xB5
- beq _081DFE84
- cmp r3, 0xB7
- bne _081DFECC
-_081DFE84:
- mov r1, 0x120
- add r1, r1, 0x4000000
- mov r12, 0x128
- add r12, r12, 0x4000000
- ldr r0, [r6]
- mov r3, 0
- strb r3, [r0, 0x14]
- mov r2, 0x80000000
- str r2, [r1]
- add r3, r3, 0x5000
- add r2, r3, 0x2
- strh r2, [r12]
- add r3, r3, 0x82
- strh r3, [r12]
- ldr r2, [r6]
- mov r3, 0x5
- str r3, [r2]
- b _081DFEFC
-_081DFECC:
- cmp r3, 0xEE
- bne _081DFEEC
- add r3, r5, 0x3
- strh r3, [r4]
- mov r2, 0x4
- str r2, [r1]
- strh r0, [r1, 0x12]
- b _081DFEFC
-_081DFEEC:
- add r3, r5, 0x3
- strh r3, [r4]
- mov r2, 0x4
- str r2, [r1]
-_081DFEFC:
- ldr r2, [r6]
- mov r3, 0
- strb r3, [r2, 0x2C]
- ldr r0, [r6]
- ldr r2, [r0, 0x18]
- cmp r2, r3
- beq _081DFF3C
- ldrh r1, [r0, 0x12]
- ldrb r0, [r0, 0x6]
- bl sub_81E05A4
- b _081DFF3C
- .align 2, 0
-_081DFF28: .4byte gRfuState
-_081DFF2C:
- add r3, r5, 0x3
- strh r3, [r4]
- add r2, r5, 0x83
- strh r2, [r4]
-_081DFF3C:
- ldmdb r11, {r4-r6,r11,sp,lr}
- bx lr
- arm_func_end sio32intr_clock_master
-
- arm_func_start sio32intr_clock_slave
-sio32intr_clock_slave: @ 81DFF44
- mov r12, sp
- stmdb sp!, {r4-r6,r11,r12,lr,pc}
- ldr r4, _081E02F0 @ =gRfuState
- mov r0, 0x64
- ldr r3, [r4]
- mov r6, 0
- strb r6, [r3, 0x10]
- sub r11, r12, 0x4
- bl STWI_set_timer_in_RAM
- mov r0, r6
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- mov r5, r4
- beq _081E0348
- mov r3, 0x128
- add r3, r3, 0x4000000
- mov r2, 0x5000
- add r2, r2, 0xA
- strh r2, [r3]
- mov lr, 0x120
- ldr r0, [r5]
- add lr, lr, 0x4000000
- ldr r12, [lr]
- ldr r3, [r0]
- cmp r3, 0x5
- bne _081E0074
- ldr r3, [r0, 0x28]
- mov r4, 0x1
- mov r0, 0x99000000
- str r12, [r3]
- add r0, r0, 0x660000
- ldr r2, [r5]
- mov r3, r0, lsr 16
- strb r4, [r2, 0x5]
- cmp r3, r12, lsr 16
- bne _081E01C0
- ldr r3, [r5]
- mov r2, r12, lsr 8
- strb r2, [r3, 0x4]
- ldr r2, [r5]
- strb r12, [r2, 0x6]
- ldr r1, [r5]
- ldrb r3, [r1, 0x4]
- cmp r3, r6
- bne _081E0058
- ldrb r2, [r1, 0x6]
- sub r3, r2, 0x27
- cmp r2, 0x36
- cmpne r3, 0x2
- bhi _081E002C
- add r3, r2, 0x80
- strb r3, [r1, 0x9]
- ldr r2, [r5]
- ldrb r3, [r2, 0x9]
- ldr r1, [r2, 0x24]
- add r3, r3, r0
- b _081E00DC
-_081E002C:
- ldr r2, [r1, 0x24]
- ldr r3, _081E02F4 @ =0x996601ee
- str r3, [r2]
- ldr r2, [r5]
- ldrb r3, [r2, 0x6]
- sub r3, r3, 0x10
- cmp r3, 0x2D
- bhi _081E0114
- ldr r3, [r2, 0x24]
- str r4, [r3, 0x4]
- b _081E0120
-_081E0058:
- mov r3, 0x80000000
- str r3, [lr]
- strb r4, [r1, 0x5]
- ldr r2, [r5]
- add r3, r3, 0x80000006
- str r3, [r2]
- b _081E01D0
-_081E0074:
- ldr r3, [r0]
- cmp r3, 0x6
- bne _081E0174
- ldrb r1, [r0, 0x5]
- ldr r2, [r0, 0x28]
- str r12, [r2, r1, lsl 2]
- ldrb r3, [r0, 0x5]
- add r3, r3, 0x1
- strb r3, [r0, 0x5]
- ldr r1, [r5]
- ldrb r2, [r1, 0x4]
- ldrb r3, [r1, 0x5]
- cmp r2, r3
- bcs _081E0168
- ldrb r2, [r1, 0x6]
- sub r3, r2, 0x28
- cmp r2, 0x36
- cmpne r3, 0x1
- bhi _081E00EC
- add r3, r2, 0x80
- strb r3, [r1, 0x9]
- ldr r2, [r5]
- ldrb r3, [r2, 0x9]
- ldr r1, [r2, 0x24]
- orr r3, r3, 0x99000000
- orr r3, r3, 0x660000
-_081E00DC:
- str r3, [r1]
- ldr r2, [r5]
- strb r6, [r2, 0x7]
- b _081E0138
-_081E00EC:
- ldr r2, [r1, 0x24]
- ldr r3, _081E02F4 @ =0x996601ee
- str r3, [r2]
- ldr r2, [r5]
- ldrb r3, [r2, 0x6]
- sub r3, r3, 0x10
- cmp r3, 0x2D
- ldrls r2, [r2, 0x24]
- movls r3, 0x1
- bls _081E011C
-_081E0114:
- ldr r2, [r2, 0x24]
- mov r3, 0x2
-_081E011C:
- str r3, [r2, 0x4]
-_081E0120:
- ldr r2, [r5]
- mov r3, 0x1
- strb r3, [r2, 0x7]
- ldr r1, [r5]
- add r3, r3, 0x2
- strh r3, [r1, 0x12]
-_081E0138:
- ldr r0, [r5]
- ldr r2, [r0, 0x24]
- mov r3, 0x120
- ldr r1, [r2]
- add r3, r3, 0x4000000
- str r1, [r3]
- mov r2, 0x1
- strb r2, [r0, 0x8]
- ldr r1, [r5]
- mov r3, 0x7
- str r3, [r1]
- b _081E01D0
-_081E0168:
- mov r3, 0x80000000
- str r3, [lr]
- b _081E01D0
-_081E0174:
- ldr r3, [r0]
- cmp r3, 0x7
- bne _081E01D0
- cmp r12, 0x80000000
- bne _081E01C0
- ldrb r2, [r0, 0x7]
- ldrb r3, [r0, 0x8]
- cmp r2, r3
- movcc r3, 0x8
- strcc r3, [r0]
- bcc _081E01D0
- ldrb r1, [r0, 0x8]
- ldr r3, [r0, 0x24]
- ldr r2, [r3, r1, lsl 2]
- str r2, [lr]
- ldrb r3, [r0, 0x8]
- add r3, r3, 0x1
- strb r3, [r0, 0x8]
- b _081E01D0
-_081E01C0:
- bl STWI_stop_timer_in_RAM
- mov r0, 0x64
- bl STWI_set_timer_in_RAM
- b _081E0348
-_081E01D0:
- mov r0, 0x1
- bl handshake_wait
- mov r0, r0, lsl 16
- cmp r0, 0x10000
- beq _081E0348
- mov r6, r5
- ldr r3, [r6]
- ldr r2, [r3]
- cmp r2, 0x8
- bne _081E0298
- mov r4, 0x128
- add r4, r4, 0x4000000
- mov r3, 0x5000
- add r3, r3, 0x2
- strh r3, [r4]
- bl STWI_stop_timer_in_RAM
- ldr r0, [r6]
- ldrh r3, [r0, 0x12]
- cmp r3, 0x3
- bne _081E0244
- bl STWI_init_slave
- ldr r3, [r6]
- ldr r1, [r3, 0x1C]
- cmp r1, 0
- beq _081E0348
- mov r0, 0x1EC
- add r0, r0, 0x2
- bl sub_81E05A8
- b _081E0348
-_081E0244:
- mov r3, 0x120
- add r3, r3, 0x4000000
- mov r1, 0
- str r1, [r3]
- mov r2, 0x5000
- strh r1, [r4]
- add r2, r2, 0x3
- strh r2, [r4]
- mov r3, 0x1
- strb r3, [r0, 0x14]
- ldr r0, [r5]
- ldr r2, [r0, 0x1C]
- str r1, [r0]
- cmp r2, r1
- beq _081E0348
- ldrb r3, [r0, 0x4]
- ldrb r0, [r0, 0x6]
- mov r1, r2
- orr r0, r0, r3, lsl 8
- bl sub_81E05A8
- b _081E0348
-_081E0298:
- mov r3, 0x208
- add r3, r3, 0x4000000
- mov r2, 0
- strh r2, [r3]
- mov r1, 0x100
- add r2, r1, 0x4000002
- ldrh r3, [r2]
- tst r3, 0x80
- beq _081E031C
- ldrh r3, [r2]
- tst r3, 0x3
- bne _081E02F8
- mov r2, 0xFF00
- add r1, r1, 0x4000000
- ldrh r3, [r1]
- add r2, r2, 0x9B
- cmp r3, r2
- bls _081E031C
-_081E02E0:
- ldrh r3, [r1]
- cmp r3, r2
- bhi _081E02E0
- b _081E031C
- .align 2, 0
-_081E02F0: .4byte gRfuState
-_081E02F4: .4byte 0x996601ee
-_081E02F8:
- mov r2, 0xFF00
- add r1, r1, 0x4000000
- ldrh r3, [r1]
- add r2, r2, 0xFE
- cmp r3, r2
- bls _081E031C
-_081E0310:
- ldrh r3, [r1]
- cmp r3, r2
- bhi _081E0310
-_081E031C:
- mov r1, 0x128
- add r1, r1, 0x4000000
- mov r0, 0x208
- add r0, r0, 0x4000000
- mov r3, 0x5000
- add r2, r3, 0x2
- strh r2, [r1]
- add r3, r3, 0x82
- strh r3, [r1]
- mov r2, 0x1
- strh r2, [r0]
-_081E0348:
- ldmdb r11, {r4-r6,r11,sp,lr}
- bx lr
- arm_func_end sio32intr_clock_slave
-
- arm_func_start handshake_wait
-handshake_wait: @ 81E0350
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- mov r1, 0x128
- add r1, r1, 0x4000000
- mov r0, r0, lsl 16
- ldr r2, _081E03B4 @ =gRfuState
- sub r11, r12, 0x4
- mov lr, r0, lsr 14
- ldr r12, [r2]
-_081E0374:
- ldrb r3, [r12, 0x10]
- and r0, r3, 0xFF
- cmp r0, 0x1
- beq _081E03A0
- ldrh r3, [r1]
- and r3, r3, 0x4
- cmp r3, lr
- bne _081E0374
- mov r0, 0
- ldmdb r11, {r11,sp,lr}
- bx lr
-_081E03A0:
- ldr r2, [r2]
- mov r3, 0
- strb r3, [r2, 0x10]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081E03B4: .4byte gRfuState
- arm_func_end handshake_wait
-
- arm_func_start STWI_set_timer_in_RAM
-STWI_set_timer_in_RAM: @ 81E03B8
- mov r12, sp
- stmdb sp!, {r4,r5,r11,r12,lr,pc}
- mov r1, 0x208
- add r1, r1, 0x4000000
- mov r3, 0
- sub r11, r12, 0x4
- ldr r12, _081E0470 @ =gRfuState
- and lr, r0, 0xFF
- ldr r2, [r12]
- cmp lr, 0x50
- ldrb r0, [r2, 0xA]
- mov r4, r12
- mov r2, lr
- strh r3, [r1]
- mov r0, r0, lsl 2
- add r3, r3, 0x100
- add r1, r3, 0x4000000
- add r3, r3, 0x4000002
- add r5, r0, r3
- beq _081E0440
- bgt _081E0418
- cmp lr, 0x32
- beq _081E042C
- b _081E048C
-_081E0418:
- cmp r2, 0x64
- beq _081E0458
- cmp r2, 0x82
- beq _081E0474
- b _081E048C
-_081E042C:
- mvn r3, 0x334
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x1
- b _081E0488
-_081E0440:
- mov r3, 0xAE000000
- mov r3, r3, asr 20
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x2
- b _081E0488
-_081E0458:
- mvn r3, 0x660
- sub r3, r3, 0x9
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x3
- b _081E0488
- .align 2, 0
-_081E0470: .4byte gRfuState
-_081E0474:
- mvn r3, 0x850
- sub r3, r3, 0x2
- strh r3, [r0, r1]
- ldr r2, [r4]
- mov r3, 0x4
-_081E0488:
- str r3, [r2, 0xC]
-_081E048C:
- mov r12, 0x200
- add r12, r12, 0x4000002
- mov r3, 0xC3
- strh r3, [r5]
- mov r1, 0x208
- ldr r2, [r4]
- add r1, r1, 0x4000000
- ldrb r0, [r2, 0xA]
- sub r3, r3, 0xBB
- mov r3, r3, lsl r0
- strh r3, [r12]
- mov r2, 0x1
- strh r2, [r1]
- ldmdb r11, {r4,r5,r11,sp,lr}
- bx lr
- arm_func_end STWI_set_timer_in_RAM
-
- arm_func_start STWI_stop_timer_in_RAM
-STWI_stop_timer_in_RAM: @ 81E04C8
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- mov r1, 0x100
- ldr lr, _081E0514 @ =gRfuState
- add r0, r1, 0x4000000
- ldr r2, [lr]
- sub r11, r12, 0x4
- ldrb r3, [r2, 0xA]
- mov r12, 0
- str r12, [r2, 0xC]
- mov r3, r3, lsl 2
- strh r12, [r3, r0]
- ldr r2, [lr]
- ldrb r3, [r2, 0xA]
- add r1, r1, 0x4000002
- mov r3, r3, lsl 2
- strh r12, [r3, r1]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081E0514: .4byte gRfuState
- arm_func_end STWI_stop_timer_in_RAM
-
- arm_func_start STWI_init_slave
-STWI_init_slave: @ 81E0518
- mov r12, sp
- stmdb sp!, {r11,r12,lr,pc}
- ldr r0, _081E05A0 @ =gRfuState
- ldr r2, [r0]
- mov r3, 0x5
- str r3, [r2]
- mov r1, 0
- strb r1, [r2, 0x14]
- ldr r3, [r0]
- strb r1, [r3, 0x4]
- ldr r2, [r0]
- strb r1, [r2, 0x5]
- ldr r3, [r0]
- strb r1, [r3, 0x6]
- ldr r2, [r0]
- strb r1, [r2, 0x7]
- ldr r3, [r0]
- strb r1, [r3, 0x8]
- ldr r2, [r0]
- strb r1, [r2, 0x9]
- ldr r3, [r0]
- str r1, [r3, 0xC]
- sub r11, r12, 0x4
- strb r1, [r3, 0x10]
- mov r2, 0x128
- ldr r12, [r0]
- add r2, r2, 0x4000000
- strh r1, [r12, 0x12]
- mov r3, 0x5000
- strb r1, [r12, 0x15]
- add r3, r3, 0x82
- strh r3, [r2]
- ldmdb r11, {r11,sp,lr}
- bx lr
- .align 2, 0
-_081E05A0: .4byte gRfuState
- arm_func_end STWI_init_slave
-
- arm_func_start sub_81E05A4
-sub_81E05A4: @ 81E05A4
- bx r2
- arm_func_end sub_81E05A4
-
- arm_func_start sub_81E05A8
-sub_81E05A8: @ 81E05A8
- bx r1
- arm_func_end sub_81E05A8
-
- arm_func_start sub_81E05AC
-sub_81E05AC: @ 81E05AC
- bx r0
- arm_func_end sub_81E05AC
-
thumb_func_start sub_81E05B0
sub_81E05B0: @ 81E05B0
push {r4-r7,lr}
@@ -2363,7 +118,7 @@ _081E0668:
lsrs r5, r0, 16
cmp r5, 0x3
bls _081E0668
- ldr r1, _081E06E0 @ =0x081E1B25
+ ldr r1, _081E06E0 @ =sub_81E1B24
movs r5, 0x2
negs r5, r5
ands r5, r1
@@ -2371,7 +126,7 @@ _081E0668:
ldr r0, [r2]
adds r4, r0, 0
adds r4, 0x8
- ldr r0, _081E06E4 @ =0x081E1B55
+ ldr r0, _081E06E4 @ =rfu_REQ_changeMasterSlave
subs r0, r1
lsls r0, 15
lsrs r3, r0, 16
@@ -2408,8 +163,8 @@ _081E06D0: .4byte gUnknown_3007464
_081E06D4: .4byte gUnknown_3007468
_081E06D8: .4byte gUnknown_3007450
_081E06DC: .4byte gUnknown_3007440
-_081E06E0: .4byte 0x081E1B25
-_081E06E4: .4byte 0x081E1B55
+_081E06E0: .4byte sub_81E1B24
+_081E06E4: .4byte rfu_REQ_changeMasterSlave
_081E06E8: .4byte 0x0000ffff
thumb_func_end sub_81E05B0
diff --git a/asm/librfu_intr.s b/asm/librfu_intr.s
new file mode 100644
index 000000000..63aa88f3e
--- /dev/null
+++ b/asm/librfu_intr.s
@@ -0,0 +1,697 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ arm_func_start IntrSIO32
+IntrSIO32: @ 81DFC50
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ ldr r3, _081DFCB0 @ =gRfuState
+ ldr r0, [r3]
+ ldr r2, [r0]
+ sub r11, r12, 0x4
+ cmp r2, 0xA
+ bne _081DFC8C
+ ldr r0, [r0, 0x20]
+ cmp r0, 0
+ ldmdbeq r11, {r11,sp,lr}
+ bxeq lr
+ bl sub_81E05AC
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+_081DFC8C:
+ ldrb r3, [r0, 0x14]
+ cmp r3, 0x1
+ bne _081DFCA4
+ bl sio32intr_clock_master
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+_081DFCA4:
+ bl sio32intr_clock_slave
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_081DFCB0: .4byte gRfuState
+ arm_func_end IntrSIO32
+
+ arm_func_start sio32intr_clock_master
+sio32intr_clock_master: @ 81DFCB4
+ mov r12, sp
+ stmdb sp!, {r4-r6,r11,r12,lr,pc}
+ mov r0, 0x50
+ sub r11, r12, 0x4
+ bl STWI_set_timer_in_RAM
+ mov r4, 0x120
+ ldr r2, _081DFF28 @ =gRfuState
+ add r4, r4, 0x4000000
+ ldr lr, [r4]
+ ldr r12, [r2]
+ ldr r3, [r12]
+ mov r6, r2
+ cmp r3, 0
+ bne _081DFD34
+ cmp lr, 0x80000000
+ bne _081DFDB4
+ ldrb r2, [r12, 0x5]
+ ldrb r3, [r12, 0x4]
+ cmp r2, r3
+ bhi _081DFD24
+ ldr r3, [r12, 0x24]
+ mov r1, r2
+ ldr r2, [r3, r1, lsl 2]
+ str r2, [r4]
+ ldrb r3, [r12, 0x5]
+ add r3, r3, 0x1
+ strb r3, [r12, 0x5]
+ b _081DFE10
+_081DFD24:
+ mov r3, 0x1
+ str r3, [r12]
+ str lr, [r4]
+ b _081DFE10
+_081DFD34:
+ ldr r3, [r12]
+ cmp r3, 0x1
+ bne _081DFDC4
+ mov r3, 0x99000000
+ add r3, r3, 0x660000
+ mov r5, 0x80000000
+ and r2, lr, r5, asr 15
+ cmp r2, r3
+ bne _081DFDB4
+ mov r3, 0
+ strb r3, [r12, 0x8]
+ ldr r1, [r6]
+ ldrb r0, [r1, 0x8]
+ ldr r2, [r1, 0x28]
+ str lr, [r2, r0, lsl 2]
+ ldrb r3, [r1, 0x8]
+ add r3, r3, 0x1
+ strb r3, [r1, 0x8]
+ ldr r2, [r6]
+ strb lr, [r2, 0x9]
+ ldr r3, [r6]
+ mov r2, lr, lsr 8
+ strb r2, [r3, 0x7]
+ ldr r1, [r6]
+ ldrb r2, [r1, 0x7]
+ ldrb r3, [r1, 0x8]
+ cmp r2, r3
+ bcc _081DFDFC
+ mov r3, 0x2
+ str r3, [r1]
+ str r5, [r4]
+ b _081DFE10
+_081DFDB4:
+ bl STWI_stop_timer_in_RAM
+ mov r0, 0x82
+ bl STWI_set_timer_in_RAM
+ b _081DFF3C
+_081DFDC4:
+ ldr r3, [r12]
+ cmp r3, 0x2
+ bne _081DFE10
+ ldrb r1, [r12, 0x8]
+ ldr r2, [r12, 0x28]
+ str lr, [r2, r1, lsl 2]
+ ldrb r3, [r12, 0x8]
+ add r3, r3, 0x1
+ strb r3, [r12, 0x8]
+ ldr r1, [r6]
+ ldrb r2, [r1, 0x7]
+ ldrb r3, [r1, 0x8]
+ cmp r2, r3
+ bcs _081DFE08
+_081DFDFC:
+ mov r3, 0x3
+ str r3, [r1]
+ b _081DFE10
+_081DFE08:
+ mov r3, 0x80000000
+ str r3, [r4]
+_081DFE10:
+ mov r0, 0x1
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ beq _081DFF3C
+ mov r4, 0x128
+ add r4, r4, 0x4000000
+ mov r5, 0x5000
+ add r3, r5, 0xB
+ strh r3, [r4]
+ mov r0, 0
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ beq _081DFF3C
+ bl STWI_stop_timer_in_RAM
+ ldr r1, [r6]
+ ldr r0, [r1]
+ cmp r0, 0x3
+ bne _081DFF2C
+ ldrb r3, [r1, 0x9]
+ cmp r3, 0xA5
+ cmpne r3, 0xA7
+ beq _081DFE84
+ and r3, r3, 0xFF
+ cmp r3, 0xB5
+ beq _081DFE84
+ cmp r3, 0xB7
+ bne _081DFECC
+_081DFE84:
+ mov r1, 0x120
+ add r1, r1, 0x4000000
+ mov r12, 0x128
+ add r12, r12, 0x4000000
+ ldr r0, [r6]
+ mov r3, 0
+ strb r3, [r0, 0x14]
+ mov r2, 0x80000000
+ str r2, [r1]
+ add r3, r3, 0x5000
+ add r2, r3, 0x2
+ strh r2, [r12]
+ add r3, r3, 0x82
+ strh r3, [r12]
+ ldr r2, [r6]
+ mov r3, 0x5
+ str r3, [r2]
+ b _081DFEFC
+_081DFECC:
+ cmp r3, 0xEE
+ bne _081DFEEC
+ add r3, r5, 0x3
+ strh r3, [r4]
+ mov r2, 0x4
+ str r2, [r1]
+ strh r0, [r1, 0x12]
+ b _081DFEFC
+_081DFEEC:
+ add r3, r5, 0x3
+ strh r3, [r4]
+ mov r2, 0x4
+ str r2, [r1]
+_081DFEFC:
+ ldr r2, [r6]
+ mov r3, 0
+ strb r3, [r2, 0x2C]
+ ldr r0, [r6]
+ ldr r2, [r0, 0x18]
+ cmp r2, r3
+ beq _081DFF3C
+ ldrh r1, [r0, 0x12]
+ ldrb r0, [r0, 0x6]
+ bl sub_81E05A4
+ b _081DFF3C
+ .align 2, 0
+_081DFF28: .4byte gRfuState
+_081DFF2C:
+ add r3, r5, 0x3
+ strh r3, [r4]
+ add r2, r5, 0x83
+ strh r2, [r4]
+_081DFF3C:
+ ldmdb r11, {r4-r6,r11,sp,lr}
+ bx lr
+ arm_func_end sio32intr_clock_master
+
+ arm_func_start sio32intr_clock_slave
+sio32intr_clock_slave: @ 81DFF44
+ mov r12, sp
+ stmdb sp!, {r4-r6,r11,r12,lr,pc}
+ ldr r4, _081E02F0 @ =gRfuState
+ mov r0, 0x64
+ ldr r3, [r4]
+ mov r6, 0
+ strb r6, [r3, 0x10]
+ sub r11, r12, 0x4
+ bl STWI_set_timer_in_RAM
+ mov r0, r6
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ mov r5, r4
+ beq _081E0348
+ mov r3, 0x128
+ add r3, r3, 0x4000000
+ mov r2, 0x5000
+ add r2, r2, 0xA
+ strh r2, [r3]
+ mov lr, 0x120
+ ldr r0, [r5]
+ add lr, lr, 0x4000000
+ ldr r12, [lr]
+ ldr r3, [r0]
+ cmp r3, 0x5
+ bne _081E0074
+ ldr r3, [r0, 0x28]
+ mov r4, 0x1
+ mov r0, 0x99000000
+ str r12, [r3]
+ add r0, r0, 0x660000
+ ldr r2, [r5]
+ mov r3, r0, lsr 16
+ strb r4, [r2, 0x5]
+ cmp r3, r12, lsr 16
+ bne _081E01C0
+ ldr r3, [r5]
+ mov r2, r12, lsr 8
+ strb r2, [r3, 0x4]
+ ldr r2, [r5]
+ strb r12, [r2, 0x6]
+ ldr r1, [r5]
+ ldrb r3, [r1, 0x4]
+ cmp r3, r6
+ bne _081E0058
+ ldrb r2, [r1, 0x6]
+ sub r3, r2, 0x27
+ cmp r2, 0x36
+ cmpne r3, 0x2
+ bhi _081E002C
+ add r3, r2, 0x80
+ strb r3, [r1, 0x9]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x9]
+ ldr r1, [r2, 0x24]
+ add r3, r3, r0
+ b _081E00DC
+_081E002C:
+ ldr r2, [r1, 0x24]
+ ldr r3, _081E02F4 @ =0x996601ee
+ str r3, [r2]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x6]
+ sub r3, r3, 0x10
+ cmp r3, 0x2D
+ bhi _081E0114
+ ldr r3, [r2, 0x24]
+ str r4, [r3, 0x4]
+ b _081E0120
+_081E0058:
+ mov r3, 0x80000000
+ str r3, [lr]
+ strb r4, [r1, 0x5]
+ ldr r2, [r5]
+ add r3, r3, 0x80000006
+ str r3, [r2]
+ b _081E01D0
+_081E0074:
+ ldr r3, [r0]
+ cmp r3, 0x6
+ bne _081E0174
+ ldrb r1, [r0, 0x5]
+ ldr r2, [r0, 0x28]
+ str r12, [r2, r1, lsl 2]
+ ldrb r3, [r0, 0x5]
+ add r3, r3, 0x1
+ strb r3, [r0, 0x5]
+ ldr r1, [r5]
+ ldrb r2, [r1, 0x4]
+ ldrb r3, [r1, 0x5]
+ cmp r2, r3
+ bcs _081E0168
+ ldrb r2, [r1, 0x6]
+ sub r3, r2, 0x28
+ cmp r2, 0x36
+ cmpne r3, 0x1
+ bhi _081E00EC
+ add r3, r2, 0x80
+ strb r3, [r1, 0x9]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x9]
+ ldr r1, [r2, 0x24]
+ orr r3, r3, 0x99000000
+ orr r3, r3, 0x660000
+_081E00DC:
+ str r3, [r1]
+ ldr r2, [r5]
+ strb r6, [r2, 0x7]
+ b _081E0138
+_081E00EC:
+ ldr r2, [r1, 0x24]
+ ldr r3, _081E02F4 @ =0x996601ee
+ str r3, [r2]
+ ldr r2, [r5]
+ ldrb r3, [r2, 0x6]
+ sub r3, r3, 0x10
+ cmp r3, 0x2D
+ ldrls r2, [r2, 0x24]
+ movls r3, 0x1
+ bls _081E011C
+_081E0114:
+ ldr r2, [r2, 0x24]
+ mov r3, 0x2
+_081E011C:
+ str r3, [r2, 0x4]
+_081E0120:
+ ldr r2, [r5]
+ mov r3, 0x1
+ strb r3, [r2, 0x7]
+ ldr r1, [r5]
+ add r3, r3, 0x2
+ strh r3, [r1, 0x12]
+_081E0138:
+ ldr r0, [r5]
+ ldr r2, [r0, 0x24]
+ mov r3, 0x120
+ ldr r1, [r2]
+ add r3, r3, 0x4000000
+ str r1, [r3]
+ mov r2, 0x1
+ strb r2, [r0, 0x8]
+ ldr r1, [r5]
+ mov r3, 0x7
+ str r3, [r1]
+ b _081E01D0
+_081E0168:
+ mov r3, 0x80000000
+ str r3, [lr]
+ b _081E01D0
+_081E0174:
+ ldr r3, [r0]
+ cmp r3, 0x7
+ bne _081E01D0
+ cmp r12, 0x80000000
+ bne _081E01C0
+ ldrb r2, [r0, 0x7]
+ ldrb r3, [r0, 0x8]
+ cmp r2, r3
+ movcc r3, 0x8
+ strcc r3, [r0]
+ bcc _081E01D0
+ ldrb r1, [r0, 0x8]
+ ldr r3, [r0, 0x24]
+ ldr r2, [r3, r1, lsl 2]
+ str r2, [lr]
+ ldrb r3, [r0, 0x8]
+ add r3, r3, 0x1
+ strb r3, [r0, 0x8]
+ b _081E01D0
+_081E01C0:
+ bl STWI_stop_timer_in_RAM
+ mov r0, 0x64
+ bl STWI_set_timer_in_RAM
+ b _081E0348
+_081E01D0:
+ mov r0, 0x1
+ bl handshake_wait
+ mov r0, r0, lsl 16
+ cmp r0, 0x10000
+ beq _081E0348
+ mov r6, r5
+ ldr r3, [r6]
+ ldr r2, [r3]
+ cmp r2, 0x8
+ bne _081E0298
+ mov r4, 0x128
+ add r4, r4, 0x4000000
+ mov r3, 0x5000
+ add r3, r3, 0x2
+ strh r3, [r4]
+ bl STWI_stop_timer_in_RAM
+ ldr r0, [r6]
+ ldrh r3, [r0, 0x12]
+ cmp r3, 0x3
+ bne _081E0244
+ bl STWI_init_slave
+ ldr r3, [r6]
+ ldr r1, [r3, 0x1C]
+ cmp r1, 0
+ beq _081E0348
+ mov r0, 0x1EC
+ add r0, r0, 0x2
+ bl sub_81E05A8
+ b _081E0348
+_081E0244:
+ mov r3, 0x120
+ add r3, r3, 0x4000000
+ mov r1, 0
+ str r1, [r3]
+ mov r2, 0x5000
+ strh r1, [r4]
+ add r2, r2, 0x3
+ strh r2, [r4]
+ mov r3, 0x1
+ strb r3, [r0, 0x14]
+ ldr r0, [r5]
+ ldr r2, [r0, 0x1C]
+ str r1, [r0]
+ cmp r2, r1
+ beq _081E0348
+ ldrb r3, [r0, 0x4]
+ ldrb r0, [r0, 0x6]
+ mov r1, r2
+ orr r0, r0, r3, lsl 8
+ bl sub_81E05A8
+ b _081E0348
+_081E0298:
+ mov r3, 0x208
+ add r3, r3, 0x4000000
+ mov r2, 0
+ strh r2, [r3]
+ mov r1, 0x100
+ add r2, r1, 0x4000002
+ ldrh r3, [r2]
+ tst r3, 0x80
+ beq _081E031C
+ ldrh r3, [r2]
+ tst r3, 0x3
+ bne _081E02F8
+ mov r2, 0xFF00
+ add r1, r1, 0x4000000
+ ldrh r3, [r1]
+ add r2, r2, 0x9B
+ cmp r3, r2
+ bls _081E031C
+_081E02E0:
+ ldrh r3, [r1]
+ cmp r3, r2
+ bhi _081E02E0
+ b _081E031C
+ .align 2, 0
+_081E02F0: .4byte gRfuState
+_081E02F4: .4byte 0x996601ee
+_081E02F8:
+ mov r2, 0xFF00
+ add r1, r1, 0x4000000
+ ldrh r3, [r1]
+ add r2, r2, 0xFE
+ cmp r3, r2
+ bls _081E031C
+_081E0310:
+ ldrh r3, [r1]
+ cmp r3, r2
+ bhi _081E0310
+_081E031C:
+ mov r1, 0x128
+ add r1, r1, 0x4000000
+ mov r0, 0x208
+ add r0, r0, 0x4000000
+ mov r3, 0x5000
+ add r2, r3, 0x2
+ strh r2, [r1]
+ add r3, r3, 0x82
+ strh r3, [r1]
+ mov r2, 0x1
+ strh r2, [r0]
+_081E0348:
+ ldmdb r11, {r4-r6,r11,sp,lr}
+ bx lr
+ arm_func_end sio32intr_clock_slave
+
+ arm_func_start handshake_wait
+handshake_wait: @ 81E0350
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ mov r1, 0x128
+ add r1, r1, 0x4000000
+ mov r0, r0, lsl 16
+ ldr r2, _081E03B4 @ =gRfuState
+ sub r11, r12, 0x4
+ mov lr, r0, lsr 14
+ ldr r12, [r2]
+_081E0374:
+ ldrb r3, [r12, 0x10]
+ and r0, r3, 0xFF
+ cmp r0, 0x1
+ beq _081E03A0
+ ldrh r3, [r1]
+ and r3, r3, 0x4
+ cmp r3, lr
+ bne _081E0374
+ mov r0, 0
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+_081E03A0:
+ ldr r2, [r2]
+ mov r3, 0
+ strb r3, [r2, 0x10]
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_081E03B4: .4byte gRfuState
+ arm_func_end handshake_wait
+
+ arm_func_start STWI_set_timer_in_RAM
+STWI_set_timer_in_RAM: @ 81E03B8
+ mov r12, sp
+ stmdb sp!, {r4,r5,r11,r12,lr,pc}
+ mov r1, 0x208
+ add r1, r1, 0x4000000
+ mov r3, 0
+ sub r11, r12, 0x4
+ ldr r12, _081E0470 @ =gRfuState
+ and lr, r0, 0xFF
+ ldr r2, [r12]
+ cmp lr, 0x50
+ ldrb r0, [r2, 0xA]
+ mov r4, r12
+ mov r2, lr
+ strh r3, [r1]
+ mov r0, r0, lsl 2
+ add r3, r3, 0x100
+ add r1, r3, 0x4000000
+ add r3, r3, 0x4000002
+ add r5, r0, r3
+ beq _081E0440
+ bgt _081E0418
+ cmp lr, 0x32
+ beq _081E042C
+ b _081E048C
+_081E0418:
+ cmp r2, 0x64
+ beq _081E0458
+ cmp r2, 0x82
+ beq _081E0474
+ b _081E048C
+_081E042C:
+ mvn r3, 0x334
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x1
+ b _081E0488
+_081E0440:
+ mov r3, 0xAE000000
+ mov r3, r3, asr 20
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x2
+ b _081E0488
+_081E0458:
+ mvn r3, 0x660
+ sub r3, r3, 0x9
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x3
+ b _081E0488
+ .align 2, 0
+_081E0470: .4byte gRfuState
+_081E0474:
+ mvn r3, 0x850
+ sub r3, r3, 0x2
+ strh r3, [r0, r1]
+ ldr r2, [r4]
+ mov r3, 0x4
+_081E0488:
+ str r3, [r2, 0xC]
+_081E048C:
+ mov r12, 0x200
+ add r12, r12, 0x4000002
+ mov r3, 0xC3
+ strh r3, [r5]
+ mov r1, 0x208
+ ldr r2, [r4]
+ add r1, r1, 0x4000000
+ ldrb r0, [r2, 0xA]
+ sub r3, r3, 0xBB
+ mov r3, r3, lsl r0
+ strh r3, [r12]
+ mov r2, 0x1
+ strh r2, [r1]
+ ldmdb r11, {r4,r5,r11,sp,lr}
+ bx lr
+ arm_func_end STWI_set_timer_in_RAM
+
+ arm_func_start STWI_stop_timer_in_RAM
+STWI_stop_timer_in_RAM: @ 81E04C8
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ mov r1, 0x100
+ ldr lr, _081E0514 @ =gRfuState
+ add r0, r1, 0x4000000
+ ldr r2, [lr]
+ sub r11, r12, 0x4
+ ldrb r3, [r2, 0xA]
+ mov r12, 0
+ str r12, [r2, 0xC]
+ mov r3, r3, lsl 2
+ strh r12, [r3, r0]
+ ldr r2, [lr]
+ ldrb r3, [r2, 0xA]
+ add r1, r1, 0x4000002
+ mov r3, r3, lsl 2
+ strh r12, [r3, r1]
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_081E0514: .4byte gRfuState
+ arm_func_end STWI_stop_timer_in_RAM
+
+ arm_func_start STWI_init_slave
+STWI_init_slave: @ 81E0518
+ mov r12, sp
+ stmdb sp!, {r11,r12,lr,pc}
+ ldr r0, _081E05A0 @ =gRfuState
+ ldr r2, [r0]
+ mov r3, 0x5
+ str r3, [r2]
+ mov r1, 0
+ strb r1, [r2, 0x14]
+ ldr r3, [r0]
+ strb r1, [r3, 0x4]
+ ldr r2, [r0]
+ strb r1, [r2, 0x5]
+ ldr r3, [r0]
+ strb r1, [r3, 0x6]
+ ldr r2, [r0]
+ strb r1, [r2, 0x7]
+ ldr r3, [r0]
+ strb r1, [r3, 0x8]
+ ldr r2, [r0]
+ strb r1, [r2, 0x9]
+ ldr r3, [r0]
+ str r1, [r3, 0xC]
+ sub r11, r12, 0x4
+ strb r1, [r3, 0x10]
+ mov r2, 0x128
+ ldr r12, [r0]
+ add r2, r2, 0x4000000
+ strh r1, [r12, 0x12]
+ mov r3, 0x5000
+ strb r1, [r12, 0x15]
+ add r3, r3, 0x82
+ strh r3, [r2]
+ ldmdb r11, {r11,sp,lr}
+ bx lr
+ .align 2, 0
+_081E05A0: .4byte gRfuState
+ arm_func_end STWI_init_slave
+
+ arm_func_start sub_81E05A4
+sub_81E05A4: @ 81E05A4
+ bx r2
+ arm_func_end sub_81E05A4
+
+ arm_func_start sub_81E05A8
+sub_81E05A8: @ 81E05A8
+ bx r1
+ arm_func_end sub_81E05A8
+
+ arm_func_start sub_81E05AC
+sub_81E05AC: @ 81E05AC
+ bx r0
+ arm_func_end sub_81E05AC
diff --git a/asm/librfu_stwi.s b/asm/librfu_stwi.s
new file mode 100644
index 000000000..5434d037f
--- /dev/null
+++ b/asm/librfu_stwi.s
@@ -0,0 +1,1560 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start STWI_init_all
+STWI_init_all: @ 81DF114
+ push {r4,lr}
+ adds r3, r0, 0
+ lsls r2, 24
+ lsrs r2, 24
+ cmp r2, 0x1
+ bne _081DF150
+ adds r2, r3, 0
+ adds r2, 0xE8
+ str r2, [r1]
+ ldr r1, _081DF13C @ =0x040000d4
+ ldr r0, _081DF140 @ =IntrSIO32
+ str r0, [r1]
+ str r2, [r1, 0x4]
+ ldr r0, _081DF144 @ =0x800004b0
+ str r0, [r1, 0x8]
+ ldr r0, [r1, 0x8]
+ ldr r1, _081DF148 @ =gRfuState
+ ldr r2, _081DF14C @ =0x00000a48
+ adds r0, r3, r2
+ b _081DF15A
+ .align 2, 0
+_081DF13C: .4byte 0x040000d4
+_081DF140: .4byte IntrSIO32
+_081DF144: .4byte 0x800004b0
+_081DF148: .4byte gRfuState
+_081DF14C: .4byte 0x00000a48
+_081DF150:
+ ldr r0, _081DF1D4 @ =IntrSIO32
+ str r0, [r1]
+ ldr r1, _081DF1D8 @ =gRfuState
+ adds r0, r3, 0
+ adds r0, 0xE8
+_081DF15A:
+ str r0, [r1]
+ adds r2, r1, 0
+ ldr r1, [r2]
+ str r3, [r1, 0x28]
+ adds r0, r3, 0
+ adds r0, 0x74
+ str r0, [r1, 0x24]
+ ldrb r0, [r1, 0x14]
+ movs r4, 0
+ movs r0, 0x1
+ strb r0, [r1, 0x14]
+ ldr r0, [r2]
+ str r4, [r0]
+ strb r4, [r0, 0x4]
+ ldr r0, [r2]
+ strb r4, [r0, 0x5]
+ ldr r0, [r2]
+ strb r4, [r0, 0x7]
+ ldr r0, [r2]
+ strb r4, [r0, 0x8]
+ ldr r0, [r2]
+ strb r4, [r0, 0x9]
+ ldr r0, [r2]
+ str r4, [r0, 0xC]
+ ldrb r1, [r0, 0x10]
+ strb r4, [r0, 0x10]
+ ldr r0, [r2]
+ ldrh r1, [r0, 0x12]
+ movs r1, 0
+ strh r4, [r0, 0x12]
+ strb r1, [r0, 0x15]
+ ldr r0, [r2]
+ adds r0, 0x2C
+ ldrb r2, [r0]
+ strb r1, [r0]
+ ldr r1, _081DF1DC @ =0x04000134
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ ldr r2, _081DF1E0 @ =0x00005003
+ adds r0, r2, 0
+ strh r0, [r1]
+ bl STWI_init_Callback_M
+ bl STWI_init_Callback_S
+ ldr r3, _081DF1E4 @ =0x04000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _081DF1E8 @ =0x04000200
+ ldrh r0, [r4]
+ movs r1, 0x80
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF1D4: .4byte IntrSIO32
+_081DF1D8: .4byte gRfuState
+_081DF1DC: .4byte 0x04000134
+_081DF1E0: .4byte 0x00005003
+_081DF1E4: .4byte 0x04000208
+_081DF1E8: .4byte 0x04000200
+ thumb_func_end STWI_init_all
+
+ thumb_func_start STWI_init_timer
+STWI_init_timer: @ 81DF1EC
+ push {r4,r5,lr}
+ ldr r2, _081DF218 @ =STWI_intr_timer
+ str r2, [r0]
+ ldr r5, _081DF21C @ =gRfuState
+ ldr r0, [r5]
+ movs r4, 0
+ strb r1, [r0, 0xA]
+ ldr r3, _081DF220 @ =0x04000208
+ ldrh r2, [r3]
+ strh r4, [r3]
+ ldr r4, _081DF224 @ =0x04000200
+ ldr r1, [r5]
+ movs r0, 0x8
+ ldrb r1, [r1, 0xA]
+ lsls r0, r1
+ ldrh r1, [r4]
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF218: .4byte STWI_intr_timer
+_081DF21C: .4byte gRfuState
+_081DF220: .4byte 0x04000208
+_081DF224: .4byte 0x04000200
+ thumb_func_end STWI_init_timer
+
+ thumb_func_start AgbRFU_SoftReset
+AgbRFU_SoftReset: @ 81DF228
+ push {r4,r5,lr}
+ ldr r5, _081DF2C0 @ =0x04000134
+ movs r1, 0x80
+ lsls r1, 8
+ adds r0, r1, 0
+ strh r0, [r5]
+ ldr r2, _081DF2C4 @ =0x000080a0
+ adds r0, r2, 0
+ strh r0, [r5]
+ ldr r1, _081DF2C8 @ =gRfuState
+ ldr r0, [r1]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r3, _081DF2CC @ =0x04000100
+ adds r2, r0, r3
+ ldr r4, _081DF2D0 @ =0x04000102
+ adds r3, r0, r4
+ movs r0, 0
+ strh r0, [r3]
+ strh r0, [r2]
+ movs r0, 0x83
+ strh r0, [r3]
+ ldrh r0, [r2]
+ adds r4, r1, 0
+ cmp r0, 0x11
+ bhi _081DF268
+ ldr r0, _081DF2D4 @ =0x000080a2
+ adds r1, r0, 0
+_081DF260:
+ strh r1, [r5]
+ ldrh r0, [r2]
+ cmp r0, 0x11
+ bls _081DF260
+_081DF268:
+ movs r0, 0x3
+ strh r0, [r3]
+ ldr r1, _081DF2C0 @ =0x04000134
+ ldr r2, _081DF2C4 @ =0x000080a0
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ ldr r3, _081DF2D8 @ =0x00005003
+ adds r0, r3, 0
+ strh r0, [r1]
+ ldr r0, [r4]
+ movs r2, 0
+ str r2, [r0]
+ strb r2, [r0, 0x4]
+ ldr r0, [r4]
+ strb r2, [r0, 0x5]
+ ldr r0, [r4]
+ strb r2, [r0, 0x6]
+ ldr r0, [r4]
+ strb r2, [r0, 0x7]
+ ldr r0, [r4]
+ strb r2, [r0, 0x8]
+ ldr r0, [r4]
+ strb r2, [r0, 0x9]
+ ldr r0, [r4]
+ str r2, [r0, 0xC]
+ ldrb r1, [r0, 0x10]
+ strb r2, [r0, 0x10]
+ ldr r1, [r4]
+ ldrh r0, [r1, 0x12]
+ movs r3, 0
+ strh r2, [r1, 0x12]
+ ldrb r0, [r1, 0x14]
+ movs r0, 0x1
+ strb r0, [r1, 0x14]
+ ldr r0, [r4]
+ strb r3, [r0, 0x15]
+ ldr r0, [r4]
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ strb r3, [r0]
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF2C0: .4byte 0x04000134
+_081DF2C4: .4byte 0x000080a0
+_081DF2C8: .4byte gRfuState
+_081DF2CC: .4byte 0x04000100
+_081DF2D0: .4byte 0x04000102
+_081DF2D4: .4byte 0x000080a2
+_081DF2D8: .4byte 0x00005003
+ thumb_func_end AgbRFU_SoftReset
+
+ thumb_func_start STWI_set_MS_mode
+STWI_set_MS_mode: @ 81DF2DC
+ lsls r0, 24
+ lsrs r0, 24
+ ldr r1, _081DF2EC @ =gRfuState
+ ldr r1, [r1]
+ ldrb r2, [r1, 0x14]
+ strb r0, [r1, 0x14]
+ bx lr
+ .align 2, 0
+_081DF2EC: .4byte gRfuState
+ thumb_func_end STWI_set_MS_mode
+
+ thumb_func_start STWI_read_status
+STWI_read_status: @ 81DF2F0
+ push {lr}
+ lsls r0, 24
+ lsrs r0, 24
+ adds r1, r0, 0
+ cmp r0, 0x1
+ beq _081DF31C
+ cmp r0, 0x1
+ bgt _081DF306
+ cmp r0, 0
+ beq _081DF310
+ b _081DF344
+_081DF306:
+ cmp r1, 0x2
+ beq _081DF328
+ cmp r1, 0x3
+ beq _081DF338
+ b _081DF344
+_081DF310:
+ ldr r0, _081DF318 @ =gRfuState
+ ldr r0, [r0]
+ ldrh r0, [r0, 0x12]
+ b _081DF346
+ .align 2, 0
+_081DF318: .4byte gRfuState
+_081DF31C:
+ ldr r0, _081DF324 @ =gRfuState
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x14]
+ b _081DF346
+ .align 2, 0
+_081DF324: .4byte gRfuState
+_081DF328:
+ ldr r0, _081DF334 @ =gRfuState
+ ldr r0, [r0]
+ ldr r0, [r0]
+ lsls r0, 16
+ lsrs r0, 16
+ b _081DF346
+ .align 2, 0
+_081DF334: .4byte gRfuState
+_081DF338:
+ ldr r0, _081DF340 @ =gRfuState
+ ldr r0, [r0]
+ ldrb r0, [r0, 0x6]
+ b _081DF346
+ .align 2, 0
+_081DF340: .4byte gRfuState
+_081DF344:
+ ldr r0, _081DF34C @ =0x0000ffff
+_081DF346:
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081DF34C: .4byte 0x0000ffff
+ thumb_func_end STWI_read_status
+
+ thumb_func_start STWI_init_Callback_M
+STWI_init_Callback_M: @ 81DF350
+ push {lr}
+ movs r0, 0
+ bl STWI_set_Callback_M
+ pop {r0}
+ bx r0
+ thumb_func_end STWI_init_Callback_M
+
+ thumb_func_start STWI_init_Callback_S
+STWI_init_Callback_S: @ 81DF35C
+ push {lr}
+ movs r0, 0
+ bl STWI_set_Callback_S
+ pop {r0}
+ bx r0
+ thumb_func_end STWI_init_Callback_S
+
+ thumb_func_start STWI_set_Callback_M
+STWI_set_Callback_M: @ 81DF368
+ ldr r1, _081DF370 @ =gRfuState
+ ldr r1, [r1]
+ str r0, [r1, 0x18]
+ bx lr
+ .align 2, 0
+_081DF370: .4byte gRfuState
+ thumb_func_end STWI_set_Callback_M
+
+ thumb_func_start STWI_set_Callback_S
+STWI_set_Callback_S: @ 81DF374
+ ldr r1, _081DF37C @ =gRfuState
+ ldr r1, [r1]
+ str r0, [r1, 0x1C]
+ bx lr
+ .align 2, 0
+_081DF37C: .4byte gRfuState
+ thumb_func_end STWI_set_Callback_S
+
+ thumb_func_start STWI_set_Callback_ID
+STWI_set_Callback_ID: @ 81DF380
+ ldr r1, _081DF388 @ =gRfuState
+ ldr r1, [r1]
+ str r0, [r1, 0x20]
+ bx lr
+ .align 2, 0
+_081DF388: .4byte gRfuState
+ thumb_func_end STWI_set_Callback_ID
+
+ thumb_func_start STWI_poll_CommandEnd
+STWI_poll_CommandEnd: @ 81DF38C
+ push {lr}
+ ldr r0, _081DF3B0 @ =gRfuState
+ ldr r1, [r0]
+ adds r2, r1, 0
+ adds r2, 0x2C
+ ldrb r1, [r2]
+ adds r3, r0, 0
+ cmp r1, 0x1
+ bne _081DF3A6
+ adds r1, r2, 0
+_081DF3A0:
+ ldrb r0, [r1]
+ cmp r0, 0x1
+ beq _081DF3A0
+_081DF3A6:
+ ldr r0, [r3]
+ ldrh r0, [r0, 0x12]
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081DF3B0: .4byte gRfuState
+ thumb_func_end STWI_poll_CommandEnd
+
+ thumb_func_start STWI_send_ResetREQ
+STWI_send_ResetREQ: @ 81DF3B4
+ push {lr}
+ movs r0, 0x10
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF3CE
+ ldr r0, _081DF3D4 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF3CE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF3D4: .4byte gRfuState
+ thumb_func_end STWI_send_ResetREQ
+
+ thumb_func_start STWI_send_LinkStatusREQ
+STWI_send_LinkStatusREQ: @ 81DF3D8
+ push {lr}
+ movs r0, 0x11
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF3F2
+ ldr r0, _081DF3F8 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF3F2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF3F8: .4byte gRfuState
+ thumb_func_end STWI_send_LinkStatusREQ
+
+ thumb_func_start STWI_send_VersionStatusREQ
+STWI_send_VersionStatusREQ: @ 81DF3FC
+ push {lr}
+ movs r0, 0x12
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF416
+ ldr r0, _081DF41C @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF416:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF41C: .4byte gRfuState
+ thumb_func_end STWI_send_VersionStatusREQ
+
+ thumb_func_start STWI_send_SystemStatusREQ
+STWI_send_SystemStatusREQ: @ 81DF420
+ push {lr}
+ movs r0, 0x13
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF43A
+ ldr r0, _081DF440 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF43A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF440: .4byte gRfuState
+ thumb_func_end STWI_send_SystemStatusREQ
+
+ thumb_func_start STWI_send_SlotStatusREQ
+STWI_send_SlotStatusREQ: @ 81DF444
+ push {lr}
+ movs r0, 0x14
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF45E
+ ldr r0, _081DF464 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF45E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF464: .4byte gRfuState
+ thumb_func_end STWI_send_SlotStatusREQ
+
+ thumb_func_start STWI_send_ConfigStatusREQ
+STWI_send_ConfigStatusREQ: @ 81DF468
+ push {lr}
+ movs r0, 0x15
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF482
+ ldr r0, _081DF488 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF482:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF488: .4byte gRfuState
+ thumb_func_end STWI_send_ConfigStatusREQ
+
+ thumb_func_start STWI_send_GameConfigREQ
+STWI_send_GameConfigREQ: @ 81DF48C
+ push {r4,r5,lr}
+ adds r4, r0, 0
+ adds r5, r1, 0
+ movs r0, 0x16
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF4D8
+ ldr r2, _081DF4E0 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x6
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r1, [r0, 0x24]
+ adds r1, 0x4
+ ldrh r0, [r4]
+ strh r0, [r1]
+ adds r1, 0x2
+ adds r4, 0x2
+ movs r2, 0xD
+_081DF4B6:
+ ldrb r0, [r4]
+ strb r0, [r1]
+ adds r1, 0x1
+ adds r4, 0x1
+ subs r2, 0x1
+ cmp r2, 0
+ bge _081DF4B6
+ movs r2, 0x7
+_081DF4C6:
+ ldrb r0, [r5]
+ strb r0, [r1]
+ adds r1, 0x1
+ adds r5, 0x1
+ subs r2, 0x1
+ cmp r2, 0
+ bge _081DF4C6
+ bl STWI_start_Command
+_081DF4D8:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF4E0: .4byte gRfuState
+ thumb_func_end STWI_send_GameConfigREQ
+
+ thumb_func_start STWI_send_SystemConfigREQ
+STWI_send_SystemConfigREQ: @ 81DF4E4
+ push {r4-r6,lr}
+ lsls r0, 16
+ lsrs r6, r0, 16
+ lsls r1, 24
+ lsrs r5, r1, 24
+ lsls r2, 24
+ lsrs r4, r2, 24
+ movs r0, 0x17
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF51A
+ ldr r2, _081DF520 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ adds r0, 0x4
+ strb r4, [r0]
+ adds r0, 0x1
+ strb r5, [r0]
+ adds r0, 0x1
+ strh r6, [r0]
+ bl STWI_start_Command
+_081DF51A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF520: .4byte gRfuState
+ thumb_func_end STWI_send_SystemConfigREQ
+
+ thumb_func_start STWI_send_SC_StartREQ
+STWI_send_SC_StartREQ: @ 81DF524
+ push {lr}
+ movs r0, 0x19
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF53E
+ ldr r0, _081DF544 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF53E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF544: .4byte gRfuState
+ thumb_func_end STWI_send_SC_StartREQ
+
+ thumb_func_start STWI_send_SC_PollingREQ
+STWI_send_SC_PollingREQ: @ 81DF548
+ push {lr}
+ movs r0, 0x1A
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF562
+ ldr r0, _081DF568 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF562:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF568: .4byte gRfuState
+ thumb_func_end STWI_send_SC_PollingREQ
+
+ thumb_func_start STWI_send_SC_EndREQ
+STWI_send_SC_EndREQ: @ 81DF56C
+ push {lr}
+ movs r0, 0x1B
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF586
+ ldr r0, _081DF58C @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF586:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF58C: .4byte gRfuState
+ thumb_func_end STWI_send_SC_EndREQ
+
+ thumb_func_start STWI_send_SP_StartREQ
+STWI_send_SP_StartREQ: @ 81DF590
+ push {lr}
+ movs r0, 0x1C
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF5AA
+ ldr r0, _081DF5B0 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF5AA:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF5B0: .4byte gRfuState
+ thumb_func_end STWI_send_SP_StartREQ
+
+ thumb_func_start STWI_send_SP_PollingREQ
+STWI_send_SP_PollingREQ: @ 81DF5B4
+ push {lr}
+ movs r0, 0x1D
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF5CE
+ ldr r0, _081DF5D4 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF5CE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF5D4: .4byte gRfuState
+ thumb_func_end STWI_send_SP_PollingREQ
+
+ thumb_func_start STWI_send_SP_EndREQ
+STWI_send_SP_EndREQ: @ 81DF5D8
+ push {lr}
+ movs r0, 0x1E
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF5F2
+ ldr r0, _081DF5F8 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF5F2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF5F8: .4byte gRfuState
+ thumb_func_end STWI_send_SP_EndREQ
+
+ thumb_func_start STWI_send_CP_StartREQ
+STWI_send_CP_StartREQ: @ 81DF5FC
+ push {r4,lr}
+ lsls r0, 16
+ lsrs r4, r0, 16
+ movs r0, 0x1F
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF620
+ ldr r2, _081DF628 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ str r4, [r0, 0x4]
+ bl STWI_start_Command
+_081DF620:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF628: .4byte gRfuState
+ thumb_func_end STWI_send_CP_StartREQ
+
+ thumb_func_start STWI_send_CP_PollingREQ
+STWI_send_CP_PollingREQ: @ 81DF62C
+ push {lr}
+ movs r0, 0x20
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF646
+ ldr r0, _081DF64C @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF646:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF64C: .4byte gRfuState
+ thumb_func_end STWI_send_CP_PollingREQ
+
+ thumb_func_start STWI_send_CP_EndREQ
+STWI_send_CP_EndREQ: @ 81DF650
+ push {lr}
+ movs r0, 0x21
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF66A
+ ldr r0, _081DF670 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF66A:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF670: .4byte gRfuState
+ thumb_func_end STWI_send_CP_EndREQ
+
+ thumb_func_start STWI_send_DataTxREQ
+STWI_send_DataTxREQ: @ 81DF674
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r4, r1, 24
+ lsrs r5, r4, 24
+ movs r0, 0x24
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF6B2
+ lsrs r2, r4, 26
+ movs r0, 0x3
+ ands r0, r5
+ cmp r0, 0
+ beq _081DF694
+ adds r2, 0x1
+_081DF694:
+ ldr r1, _081DF6B8 @ =gRfuState
+ ldr r0, [r1]
+ strb r2, [r0, 0x4]
+ ldr r0, [r1]
+ ldr r1, [r0, 0x24]
+ adds r1, 0x4
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x80
+ lsls r0, 19
+ orrs r2, r0
+ adds r0, r6, 0
+ bl CpuSet
+ bl STWI_start_Command
+_081DF6B2:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF6B8: .4byte gRfuState
+ thumb_func_end STWI_send_DataTxREQ
+
+ thumb_func_start STWI_send_DataTxAndChangeREQ
+STWI_send_DataTxAndChangeREQ: @ 81DF6BC
+ push {r4-r6,lr}
+ adds r6, r0, 0
+ lsls r4, r1, 24
+ lsrs r5, r4, 24
+ movs r0, 0x25
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF6FA
+ lsrs r2, r4, 26
+ movs r0, 0x3
+ ands r0, r5
+ cmp r0, 0
+ beq _081DF6DC
+ adds r2, 0x1
+_081DF6DC:
+ ldr r1, _081DF700 @ =gRfuState
+ ldr r0, [r1]
+ strb r2, [r0, 0x4]
+ ldr r0, [r1]
+ ldr r1, [r0, 0x24]
+ adds r1, 0x4
+ ldrb r2, [r0, 0x4]
+ movs r0, 0x80
+ lsls r0, 19
+ orrs r2, r0
+ adds r0, r6, 0
+ bl CpuSet
+ bl STWI_start_Command
+_081DF6FA:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF700: .4byte gRfuState
+ thumb_func_end STWI_send_DataTxAndChangeREQ
+
+ thumb_func_start STWI_send_DataRxREQ
+STWI_send_DataRxREQ: @ 81DF704
+ push {lr}
+ movs r0, 0x26
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF71E
+ ldr r0, _081DF724 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF71E:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF724: .4byte gRfuState
+ thumb_func_end STWI_send_DataRxREQ
+
+ thumb_func_start STWI_send_MS_ChangeREQ
+STWI_send_MS_ChangeREQ: @ 81DF728
+ push {lr}
+ movs r0, 0x27
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF742
+ ldr r0, _081DF748 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF742:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF748: .4byte gRfuState
+ thumb_func_end STWI_send_MS_ChangeREQ
+
+ thumb_func_start STWI_send_DataReadyAndChangeREQ
+STWI_send_DataReadyAndChangeREQ: @ 81DF74C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r5, r4, 0
+ movs r0, 0x28
+ bl STWI_init
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _081DF792
+ cmp r4, 0
+ bne _081DF774
+ ldr r0, _081DF770 @ =gRfuState
+ ldr r0, [r0]
+ strb r3, [r0, 0x4]
+ b _081DF78E
+ .align 2, 0
+_081DF770: .4byte gRfuState
+_081DF774:
+ ldr r2, _081DF798 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ adds r0, 0x4
+ strb r5, [r0]
+ adds r0, 0x1
+ strb r3, [r0]
+ adds r0, 0x1
+ strb r3, [r0]
+ strb r3, [r0, 0x1]
+_081DF78E:
+ bl STWI_start_Command
+_081DF792:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF798: .4byte gRfuState
+ thumb_func_end STWI_send_DataReadyAndChangeREQ
+
+ thumb_func_start STWI_send_DisconnectedAndChangeREQ
+STWI_send_DisconnectedAndChangeREQ: @ 81DF79C
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r1, 24
+ lsrs r5, r1, 24
+ movs r0, 0x29
+ bl STWI_init
+ lsls r0, 16
+ lsrs r3, r0, 16
+ cmp r3, 0
+ bne _081DF7D2
+ ldr r2, _081DF7D8 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ adds r0, 0x4
+ strb r4, [r0]
+ adds r0, 0x1
+ strb r5, [r0]
+ adds r0, 0x1
+ strb r3, [r0]
+ strb r3, [r0, 0x1]
+ bl STWI_start_Command
+_081DF7D2:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF7D8: .4byte gRfuState
+ thumb_func_end STWI_send_DisconnectedAndChangeREQ
+
+ thumb_func_start STWI_send_ResumeRetransmitAndChangeREQ
+STWI_send_ResumeRetransmitAndChangeREQ: @ 81DF7DC
+ push {lr}
+ movs r0, 0x37
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF7F6
+ ldr r0, _081DF7FC @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF7F6:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF7FC: .4byte gRfuState
+ thumb_func_end STWI_send_ResumeRetransmitAndChangeREQ
+
+ thumb_func_start STWI_send_DisconnectREQ
+STWI_send_DisconnectREQ: @ 81DF800
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ movs r0, 0x30
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF824
+ ldr r2, _081DF82C @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r0, [r0, 0x24]
+ str r4, [r0, 0x4]
+ bl STWI_start_Command
+_081DF824:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF82C: .4byte gRfuState
+ thumb_func_end STWI_send_DisconnectREQ
+
+ thumb_func_start STWI_send_TestModeREQ
+STWI_send_TestModeREQ: @ 81DF830
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r1, 24
+ lsrs r4, r1, 24
+ movs r0, 0x31
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF85C
+ ldr r2, _081DF864 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x1
+ strb r0, [r1, 0x4]
+ ldr r0, [r2]
+ ldr r1, [r0, 0x24]
+ lsls r0, r4, 8
+ orrs r0, r5
+ str r0, [r1, 0x4]
+ bl STWI_start_Command
+_081DF85C:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF864: .4byte gRfuState
+ thumb_func_end STWI_send_TestModeREQ
+
+ thumb_func_start STWI_send_CPR_StartREQ
+STWI_send_CPR_StartREQ: @ 81DF868
+ push {r4-r6,lr}
+ lsls r0, 16
+ lsrs r5, r0, 16
+ lsls r1, 16
+ lsrs r4, r1, 16
+ lsls r2, 24
+ lsrs r6, r2, 24
+ movs r0, 0x32
+ bl STWI_init
+ lsls r0, 16
+ cmp r0, 0
+ bne _081DF89A
+ ldr r2, _081DF8A0 @ =gRfuState
+ ldr r1, [r2]
+ movs r0, 0x2
+ strb r0, [r1, 0x4]
+ lsls r0, r5, 16
+ orrs r0, r4
+ ldr r1, [r2]
+ ldr r1, [r1, 0x24]
+ str r0, [r1, 0x4]
+ str r6, [r1, 0x8]
+ bl STWI_start_Command
+_081DF89A:
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF8A0: .4byte gRfuState
+ thumb_func_end STWI_send_CPR_StartREQ
+
+ thumb_func_start STWI_send_CPR_PollingREQ
+STWI_send_CPR_PollingREQ: @ 81DF8A4
+ push {lr}
+ movs r0, 0x33
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF8BE
+ ldr r0, _081DF8C4 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF8BE:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF8C4: .4byte gRfuState
+ thumb_func_end STWI_send_CPR_PollingREQ
+
+ thumb_func_start STWI_send_CPR_EndREQ
+STWI_send_CPR_EndREQ: @ 81DF8C8
+ push {lr}
+ movs r0, 0x34
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF8E2
+ ldr r0, _081DF8E8 @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF8E2:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF8E8: .4byte gRfuState
+ thumb_func_end STWI_send_CPR_EndREQ
+
+ thumb_func_start STWI_send_StopModeREQ
+STWI_send_StopModeREQ: @ 81DF8EC
+ push {lr}
+ movs r0, 0x3D
+ bl STWI_init
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, 0
+ bne _081DF906
+ ldr r0, _081DF90C @ =gRfuState
+ ldr r0, [r0]
+ strb r1, [r0, 0x4]
+ bl STWI_start_Command
+_081DF906:
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DF90C: .4byte gRfuState
+ thumb_func_end STWI_send_StopModeREQ
+
+ thumb_func_start STWI_intr_timer
+STWI_intr_timer: @ 81DF910
+ push {r4,lr}
+ ldr r4, _081DF928 @ =gRfuState
+ ldr r1, [r4]
+ ldr r0, [r1, 0xC]
+ cmp r0, 0x2
+ beq _081DF936
+ cmp r0, 0x2
+ bhi _081DF92C
+ cmp r0, 0x1
+ beq _081DF944
+ b _081DF96C
+ .align 2, 0
+_081DF928: .4byte gRfuState
+_081DF92C:
+ cmp r0, 0x3
+ beq _081DF94E
+ cmp r0, 0x4
+ beq _081DF944
+ b _081DF96C
+_081DF936:
+ ldrb r0, [r1, 0x10]
+ movs r0, 0x1
+ strb r0, [r1, 0x10]
+ movs r0, 0x32
+ bl STWI_set_timer
+ b _081DF96C
+_081DF944:
+ bl STWI_stop_timer
+ bl STWI_restart_Command
+ b _081DF96C
+_081DF94E:
+ ldrb r0, [r1, 0x10]
+ movs r0, 0x1
+ strb r0, [r1, 0x10]
+ bl STWI_stop_timer
+ bl STWI_reset_ClockCounter
+ ldr r0, [r4]
+ ldr r2, [r0, 0x18]
+ cmp r2, 0
+ beq _081DF96C
+ movs r0, 0xFF
+ movs r1, 0
+ bl _call_via_r2
+_081DF96C:
+ pop {r4}
+ pop {r0}
+ bx r0
+ thumb_func_end STWI_intr_timer
+
+ thumb_func_start STWI_set_timer
+STWI_set_timer: @ 81DF974
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r5, r3, 0
+ ldr r2, _081DF9A4 @ =gRfuState
+ ldr r0, [r2]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r1, _081DF9A8 @ =0x04000100
+ adds r4, r0, r1
+ adds r1, 0x2
+ adds r7, r0, r1
+ ldr r1, _081DF9AC @ =0x04000208
+ movs r0, 0
+ strh r0, [r1]
+ adds r6, r2, 0
+ cmp r3, 0x50
+ beq _081DF9CC
+ cmp r3, 0x50
+ bgt _081DF9B0
+ cmp r3, 0x32
+ beq _081DF9BA
+ b _081DF9F8
+ .align 2, 0
+_081DF9A4: .4byte gRfuState
+_081DF9A8: .4byte 0x04000100
+_081DF9AC: .4byte 0x04000208
+_081DF9B0:
+ cmp r5, 0x64
+ beq _081DF9DC
+ cmp r5, 0x82
+ beq _081DF9EC
+ b _081DF9F8
+_081DF9BA:
+ ldr r1, _081DF9C8 @ =0x0000fccb
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x1
+ b _081DF9F6
+ .align 2, 0
+_081DF9C8: .4byte 0x0000fccb
+_081DF9CC:
+ ldr r1, _081DF9D8 @ =0x0000fae0
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x2
+ b _081DF9F6
+ .align 2, 0
+_081DF9D8: .4byte 0x0000fae0
+_081DF9DC:
+ ldr r1, _081DF9E8 @ =0x0000f996
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x3
+ b _081DF9F6
+ .align 2, 0
+_081DF9E8: .4byte 0x0000f996
+_081DF9EC:
+ ldr r1, _081DFA14 @ =0x0000f7ad
+ adds r0, r1, 0
+ strh r0, [r4]
+ ldr r1, [r6]
+ movs r0, 0x4
+_081DF9F6:
+ str r0, [r1, 0xC]
+_081DF9F8:
+ movs r0, 0xC3
+ strh r0, [r7]
+ ldr r2, _081DFA18 @ =0x04000202
+ ldr r1, [r6]
+ movs r0, 0x8
+ ldrb r1, [r1, 0xA]
+ lsls r0, r1
+ strh r0, [r2]
+ ldr r1, _081DFA1C @ =0x04000208
+ movs r0, 0x1
+ strh r0, [r1]
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081DFA14: .4byte 0x0000f7ad
+_081DFA18: .4byte 0x04000202
+_081DFA1C: .4byte 0x04000208
+ thumb_func_end STWI_set_timer
+
+ thumb_func_start STWI_stop_timer
+STWI_stop_timer: @ 81DFA20
+ ldr r2, _081DFA40 @ =gRfuState
+ ldr r0, [r2]
+ movs r1, 0
+ str r1, [r0, 0xC]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r3, _081DFA44 @ =0x04000100
+ adds r0, r3
+ strh r1, [r0]
+ ldr r0, [r2]
+ ldrb r0, [r0, 0xA]
+ lsls r0, 2
+ ldr r2, _081DFA48 @ =0x04000102
+ adds r0, r2
+ strh r1, [r0]
+ bx lr
+ .align 2, 0
+_081DFA40: .4byte gRfuState
+_081DFA44: .4byte 0x04000100
+_081DFA48: .4byte 0x04000102
+ thumb_func_end STWI_stop_timer
+
+ thumb_func_start STWI_init
+STWI_init: @ 81DFA4C
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r5, r0, 24
+ adds r6, r5, 0
+ ldr r0, _081DFA78 @ =0x04000208
+ ldrh r0, [r0]
+ cmp r0, 0
+ bne _081DFA80
+ ldr r0, _081DFA7C @ =gRfuState
+ ldr r1, [r0]
+ ldrh r0, [r1, 0x12]
+ movs r0, 0x6
+ strh r0, [r1, 0x12]
+ ldr r2, [r1, 0x18]
+ cmp r2, 0
+ beq _081DFACA
+ ldrh r1, [r1, 0x12]
+ adds r0, r5, 0
+ bl _call_via_r2
+ b _081DFACA
+ .align 2, 0
+_081DFA78: .4byte 0x04000208
+_081DFA7C: .4byte gRfuState
+_081DFA80:
+ ldr r4, _081DFAAC @ =gRfuState
+ ldr r2, [r4]
+ adds r3, r2, 0
+ adds r3, 0x2C
+ ldrb r0, [r3]
+ cmp r0, 0x1
+ bne _081DFAB0
+ ldrh r0, [r2, 0x12]
+ movs r1, 0
+ movs r0, 0x2
+ strh r0, [r2, 0x12]
+ ldrb r0, [r3]
+ strb r1, [r3]
+ ldr r0, [r4]
+ ldr r2, [r0, 0x18]
+ cmp r2, 0
+ beq _081DFACA
+ ldrh r1, [r0, 0x12]
+ adds r0, r5, 0
+ bl _call_via_r2
+ b _081DFACA
+ .align 2, 0
+_081DFAAC: .4byte gRfuState
+_081DFAB0:
+ ldrb r0, [r2, 0x14]
+ cmp r0, 0
+ bne _081DFACE
+ ldrh r0, [r2, 0x12]
+ movs r0, 0x4
+ strh r0, [r2, 0x12]
+ ldr r3, [r2, 0x18]
+ cmp r3, 0
+ beq _081DFACA
+ ldrh r1, [r2, 0x12]
+ adds r0, r5, 0
+ bl _call_via_r3
+_081DFACA:
+ movs r0, 0x1
+ b _081DFB16
+_081DFACE:
+ ldrb r0, [r3]
+ movs r1, 0
+ movs r0, 0x1
+ strb r0, [r3]
+ ldr r0, [r4]
+ strb r6, [r0, 0x6]
+ ldr r0, [r4]
+ str r1, [r0]
+ strb r1, [r0, 0x4]
+ ldr r0, [r4]
+ strb r1, [r0, 0x5]
+ ldr r0, [r4]
+ strb r1, [r0, 0x7]
+ ldr r0, [r4]
+ strb r1, [r0, 0x8]
+ ldr r0, [r4]
+ strb r1, [r0, 0x9]
+ ldr r0, [r4]
+ str r1, [r0, 0xC]
+ ldrb r2, [r0, 0x10]
+ strb r1, [r0, 0x10]
+ ldr r0, [r4]
+ ldrh r2, [r0, 0x12]
+ movs r2, 0
+ strh r1, [r0, 0x12]
+ strb r2, [r0, 0x15]
+ ldr r1, _081DFB1C @ =0x04000134
+ movs r2, 0x80
+ lsls r2, 1
+ adds r0, r2, 0
+ strh r0, [r1]
+ subs r1, 0xC
+ ldr r2, _081DFB20 @ =0x00005003
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+_081DFB16:
+ pop {r4-r6}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081DFB1C: .4byte 0x04000134
+_081DFB20: .4byte 0x00005003
+ thumb_func_end STWI_init
+
+ thumb_func_start STWI_start_Command
+STWI_start_Command: @ 81DFB24
+ push {r4,r5,lr}
+ ldr r5, _081DFB7C @ =gRfuState
+ ldr r0, [r5]
+ ldr r3, [r0, 0x24]
+ ldrb r1, [r0, 0x4]
+ lsls r1, 8
+ ldrb r0, [r0, 0x6]
+ ldr r2, _081DFB80 @ =0x99660000
+ orrs r0, r2
+ orrs r1, r0
+ str r1, [r3]
+ ldr r2, _081DFB84 @ =0x04000120
+ ldr r1, [r5]
+ ldr r0, [r1, 0x24]
+ ldr r0, [r0]
+ str r0, [r2]
+ movs r2, 0
+ str r2, [r1]
+ movs r0, 0x1
+ strb r0, [r1, 0x5]
+ ldr r4, _081DFB88 @ =0x04000208
+ ldrh r3, [r4]
+ strh r2, [r4]
+ ldr r2, _081DFB8C @ =0x04000200
+ ldr r1, [r5]
+ movs r0, 0x8
+ ldrb r1, [r1, 0xA]
+ lsls r0, r1
+ ldrh r1, [r2]
+ orrs r0, r1
+ strh r0, [r2]
+ ldrh r0, [r2]
+ movs r1, 0x80
+ orrs r0, r1
+ strh r0, [r2]
+ strh r3, [r4]
+ ldr r1, _081DFB90 @ =0x04000128
+ ldr r2, _081DFB94 @ =0x00005083
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+ pop {r4,r5}
+ pop {r1}
+ bx r1
+ .align 2, 0
+_081DFB7C: .4byte gRfuState
+_081DFB80: .4byte 0x99660000
+_081DFB84: .4byte 0x04000120
+_081DFB88: .4byte 0x04000208
+_081DFB8C: .4byte 0x04000200
+_081DFB90: .4byte 0x04000128
+_081DFB94: .4byte 0x00005083
+ thumb_func_end STWI_start_Command
+
+ thumb_func_start STWI_restart_Command
+STWI_restart_Command: @ 81DFB98
+ push {r4,lr}
+ ldr r4, _081DFBB0 @ =gRfuState
+ ldr r2, [r4]
+ ldrb r0, [r2, 0x15]
+ adds r3, r4, 0
+ cmp r0, 0x1
+ bhi _081DFBB4
+ adds r0, 0x1
+ strb r0, [r2, 0x15]
+ bl STWI_start_Command
+ b _081DFC0E
+ .align 2, 0
+_081DFBB0: .4byte gRfuState
+_081DFBB4:
+ ldrb r0, [r2, 0x6]
+ cmp r0, 0x27
+ beq _081DFBC6
+ cmp r0, 0x25
+ beq _081DFBC6
+ cmp r0, 0x35
+ beq _081DFBC6
+ cmp r0, 0x37
+ bne _081DFBE8
+_081DFBC6:
+ ldr r0, [r3]
+ ldrh r1, [r0, 0x12]
+ movs r2, 0
+ movs r1, 0x1
+ strh r1, [r0, 0x12]
+ adds r0, 0x2C
+ ldrb r1, [r0]
+ strb r2, [r0]
+ ldr r1, [r3]
+ ldr r2, [r1, 0x18]
+ cmp r2, 0
+ beq _081DFC0E
+ ldrb r0, [r1, 0x6]
+ ldrh r1, [r1, 0x12]
+ bl _call_via_r2
+ b _081DFC0E
+_081DFBE8:
+ ldrh r0, [r2, 0x12]
+ movs r1, 0
+ movs r0, 0x1
+ strh r0, [r2, 0x12]
+ adds r0, r2, 0
+ adds r0, 0x2C
+ ldrb r2, [r0]
+ strb r1, [r0]
+ ldr r1, [r4]
+ ldr r2, [r1, 0x18]
+ cmp r2, 0
+ beq _081DFC08
+ ldrb r0, [r1, 0x6]
+ ldrh r1, [r1, 0x12]
+ bl _call_via_r2
+_081DFC08:
+ ldr r1, [r4]
+ movs r0, 0x4
+ str r0, [r1]
+_081DFC0E:
+ movs r0, 0
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end STWI_restart_Command
+
+ thumb_func_start STWI_reset_ClockCounter
+STWI_reset_ClockCounter: @ 81DFC18
+ ldr r3, _081DFC44 @ =gRfuState
+ ldr r1, [r3]
+ movs r0, 0x5
+ str r0, [r1]
+ movs r2, 0
+ strb r2, [r1, 0x4]
+ ldr r0, [r3]
+ strb r2, [r0, 0x5]
+ ldr r1, _081DFC48 @ =0x04000120
+ movs r0, 0x80
+ lsls r0, 24
+ str r0, [r1]
+ adds r1, 0x8
+ strh r2, [r1]
+ ldr r2, _081DFC4C @ =0x00005003
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r2, 0x7F
+ adds r0, r2, 0
+ strh r0, [r1]
+ movs r0, 0
+ bx lr
+ .align 2, 0
+_081DFC44: .4byte gRfuState
+_081DFC48: .4byte 0x04000120
+_081DFC4C: .4byte 0x00005003
+ thumb_func_end STWI_reset_ClockCounter
diff --git a/asm/link_rfu.s b/asm/link_rfu.s
index df112d1ad..7c1485466 100644
--- a/asm/link_rfu.s
+++ b/asm/link_rfu.s
@@ -3172,7650 +3172,4 @@ _080FEBA6:
bx r0
thumb_func_end sub_80FEB3C
- thumb_func_start DoEasyChatScreen
-DoEasyChatScreen: @ 80FEBAC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- bl ResetTasks
- ldr r0, _080FEC00 @ =sub_80FEC54
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080FEC04 @ =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r6, 0
- bl SetWordTaskArg
- adds r0, r4, 0
- movs r1, 0x4
- mov r2, r8
- bl SetWordTaskArg
- ldr r0, _080FEC08 @ =sub_80FEC0C
- bl SetMainCallback2
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEC00: .4byte sub_80FEC54
-_080FEC04: .4byte gTasks
-_080FEC08: .4byte sub_80FEC0C
- thumb_func_end DoEasyChatScreen
-
- thumb_func_start sub_80FEC0C
-sub_80FEC0C: @ 80FEC0C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80FEC0C
-
- thumb_func_start sub_80FEC24
-sub_80FEC24: @ 80FEC24
- push {lr}
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_80FEC24
-
- thumb_func_start sub_80FEC38
-sub_80FEC38: @ 80FEC38
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080FEC50 @ =gTasks
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- str r1, [r2]
- movs r0, 0
- strh r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080FEC50: .4byte gTasks
- thumb_func_end sub_80FEC38
-
- thumb_func_start sub_80FEC54
-sub_80FEC54: @ 80FEC54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsUpdateLinkStateCBActive
- cmp r0, 0
- bne _080FEC70
-_080FEC62:
- adds r0, r4, 0
- bl sub_80FED80
- lsls r0, 24
- cmp r0, 0
- bne _080FEC62
- b _080FEC7E
-_080FEC70:
- adds r0, r4, 0
- bl sub_80FED80
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FEC86
-_080FEC7E:
- ldr r1, _080FEC8C @ =sub_80FEC90
- adds r0, r4, 0
- bl sub_80FEC38
-_080FEC86:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEC8C: .4byte sub_80FEC90
- thumb_func_end sub_80FEC54
-
- thumb_func_start sub_80FEC90
-sub_80FEC90: @ 80FEC90
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080FECB4 @ =gTasks+0x8
- adds r6, r0, r1
- movs r0, 0
- ldrsh r5, [r6, r0]
- cmp r5, 0x1
- beq _080FECEC
- cmp r5, 0x1
- bgt _080FECB8
- cmp r5, 0
- beq _080FECC2
- b _080FED6E
- .align 2, 0
-_080FECB4: .4byte gTasks+0x8
-_080FECB8:
- cmp r5, 0x2
- beq _080FED28
- cmp r5, 0x3
- beq _080FED38
- b _080FED6E
-_080FECC2:
- ldr r0, _080FECE8 @ =sub_80FEC24
- bl SetVBlankCallback
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080FED20
- .align 2, 0
-_080FECE8: .4byte sub_80FEC24
-_080FECEC:
- bl sub_80FF028
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x17
- bne _080FED10
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- str r0, [sp]
- adds r0, r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0x3
- strh r0, [r6]
- b _080FED6E
-_080FED10:
- cmp r4, 0
- beq _080FED6E
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_8100134
-_080FED20:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _080FED6E
-_080FED28:
- bl sub_810014C
- lsls r0, 24
- cmp r0, 0
- bne _080FED6E
- movs r0, 0x1
- strh r0, [r6]
- b _080FED6E
-_080FED38:
- ldr r0, _080FED78 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FED6E
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0xE
- bne _080FED50
- bl sub_80FEF4C
-_080FED50:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080FED62
- ldr r0, _080FED7C @ =0x0000082d
- bl FlagSet
- bl sub_80FEF2C
-_080FED62:
- adds r0, r4, 0
- movs r1, 0x4
- bl GetWordTaskArg
- bl sub_80FEE24
-_080FED6E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FED78: .4byte gPaletteFade
-_080FED7C: .4byte 0x0000082d
- thumb_func_end sub_80FEC90
-
- thumb_func_start sub_80FED80
-sub_80FED80: @ 80FED80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080FEDA4 @ =gTasks+0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bhi _080FEE12
- lsls r0, 2
- ldr r1, _080FEDA8 @ =_080FEDAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FEDA4: .4byte gTasks+0x8
-_080FEDA8: .4byte _080FEDAC
- .align 2, 0
-_080FEDAC:
- .4byte _080FEDC0
- .4byte _080FEDD4
- .4byte _080FEDDA
- .4byte _080FEDEE
- .4byte _080FEE06
-_080FEDC0:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- b _080FEE16
-_080FEDD4:
- bl InitEasyChatSelection
- b _080FEDF2
-_080FEDDA:
- ldrb r4, [r6, 0x2]
- adds r0, r5, 0
- movs r1, 0x2
- bl GetWordTaskArg
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80FEF6C
- b _080FEDF2
-_080FEDEE:
- bl sub_80FFF80
-_080FEDF2:
- lsls r0, 24
- cmp r0, 0
- bne _080FEE16
- adds r0, r5, 0
- movs r1, 0x4
- bl GetWordTaskArg
- bl sub_80FEE24
- b _080FEE16
-_080FEE06:
- bl sub_80FFF98
- lsls r0, 24
- cmp r0, 0
- beq _080FEE16
- b _080FEE1C
-_080FEE12:
- movs r0, 0
- b _080FEE1E
-_080FEE16:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_080FEE1C:
- movs r0, 0x1
-_080FEE1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FED80
-
- thumb_func_start sub_80FEE24
-sub_80FEE24: @ 80FEE24
- push {r4,lr}
- adds r4, r0, 0
- bl DestroyEasyChatSelectionData
- bl sub_80FF010
- bl sub_810011C
- bl FreeAllWindowBuffers
- adds r0, r4, 0
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEE24
-
- thumb_func_start sub_80FEE44
-sub_80FEE44: @ 80FEE44
- push {lr}
- ldr r0, _080FEE58 @ =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0xE
- bhi _080FEF12
- lsls r0, 2
- ldr r1, _080FEE5C @ =_080FEE60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FEE58: .4byte gSpecialVar_0x8004
-_080FEE5C: .4byte _080FEE60
- .align 2, 0
-_080FEE60:
- .4byte _080FEE9C
- .4byte _080FEEB0
- .4byte _080FEEC4
- .4byte _080FEED8
- .4byte _080FEEF4
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEF12
- .4byte _080FEEEC
-_080FEE9C:
- ldr r0, _080FEEA8 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEEAC @ =0x00002ca0
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEEA8: .4byte gSaveBlock1Ptr
-_080FEEAC: .4byte 0x00002ca0
-_080FEEB0:
- ldr r0, _080FEEBC @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEEC0 @ =0x00002cac
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEEBC: .4byte gSaveBlock1Ptr
-_080FEEC0: .4byte 0x00002cac
-_080FEEC4:
- ldr r0, _080FEED0 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEED4 @ =0x00002cb8
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEED0: .4byte gSaveBlock1Ptr
-_080FEED4: .4byte 0x00002cb8
-_080FEED8:
- ldr r0, _080FEEE4 @ =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, _080FEEE8 @ =0x00002cc4
- adds r1, r0, r2
- b _080FEF08
- .align 2, 0
-_080FEEE4: .4byte gSaveBlock1Ptr
-_080FEEE8: .4byte 0x00002cc4
-_080FEEEC:
- bl GetMEventProfileECWordsMaybe
- adds r1, r0, 0
- b _080FEF08
-_080FEEF4:
- ldr r2, _080FEF18 @ =gSaveBlock1Ptr
- ldr r0, _080FEF1C @ =gSpecialVar_0x8005
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080FEF20 @ =0x00002cd0
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
-_080FEF08:
- ldr r0, _080FEF24 @ =gSpecialVar_0x8004
- ldrb r0, [r0]
- ldr r2, _080FEF28 @ =sub_80568C4
- bl DoEasyChatScreen
-_080FEF12:
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF18: .4byte gSaveBlock1Ptr
-_080FEF1C: .4byte gSpecialVar_0x8005
-_080FEF20: .4byte 0x00002cd0
-_080FEF24: .4byte gSpecialVar_0x8004
-_080FEF28: .4byte sub_80568C4
- thumb_func_end sub_80FEE44
-
- thumb_func_start sub_80FEF2C
-sub_80FEF2C: @ 80FEF2C
- push {r4,lr}
- ldr r4, _080FEF44 @ =gSpecialVar_0x8004
- ldr r0, _080FEF48 @ =gUnknown_843F29C
- movs r1, 0x4
- bl sub_80FFEDC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF44: .4byte gSpecialVar_0x8004
-_080FEF48: .4byte gUnknown_843F29C
- thumb_func_end sub_80FEF2C
-
- thumb_func_start sub_80FEF4C
-sub_80FEF4C: @ 80FEF4C
- push {r4,lr}
- ldr r4, _080FEF64 @ =gSpecialVar_0x8004
- ldr r0, _080FEF68 @ =gUnknown_843F2A4
- movs r1, 0x4
- bl sub_80FFEDC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF64: .4byte gSpecialVar_0x8004
-_080FEF68: .4byte gUnknown_843F2A4
- thumb_func_end sub_80FEF4C
-
- thumb_func_start sub_80FEF6C
-sub_80FEF6C: @ 80FEF6C
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080FEF88 @ =gUnknown_203ACE8
- movs r0, 0x2C
- bl Alloc
- str r0, [r4]
- cmp r0, 0
- bne _080FEF8C
- movs r0, 0
- b _080FF006
- .align 2, 0
-_080FEF88: .4byte gUnknown_203ACE8
-_080FEF8C:
- movs r1, 0
- strb r5, [r0]
- ldr r0, [r4]
- str r6, [r0, 0x14]
- strb r1, [r0, 0x4]
- ldr r0, [r4]
- strb r1, [r0, 0x5]
- ldr r0, [r4]
- strb r1, [r0, 0x6]
- ldr r0, [r4]
- strb r1, [r0, 0x9]
- adds r0, r5, 0
- bl sub_80FFF1C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [r4]
- ldr r2, _080FF00C @ =gUnknown_843F2AC
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r2, [r1, 0x1]
- strb r2, [r3, 0x2]
- ldr r2, [r4]
- ldrb r1, [r1, 0x2]
- strb r1, [r2, 0x3]
- ldr r1, [r4]
- ldrb r3, [r1, 0x2]
- ldrb r2, [r1, 0x3]
- adds r5, r3, 0
- muls r5, r2
- adds r2, r5, 0
- strb r2, [r1, 0x7]
- ldr r1, [r4]
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- ldrb r0, [r1, 0x7]
- cmp r0, 0x9
- bls _080FEFE0
- movs r0, 0x9
- strb r0, [r1, 0x7]
-_080FEFE0:
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x18
- ldrb r2, [r0, 0x7]
- adds r0, r6, 0
- bl CpuSet
- bl GetNumDisplayableGroups
- ldr r2, [r4]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0x1
- strb r0, [r2, 0xD]
- movs r0, 0x1
-_080FF006:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FF00C: .4byte gUnknown_843F2AC
- thumb_func_end sub_80FEF6C
-
- thumb_func_start sub_80FF010
-sub_80FF010: @ 80FF010
- push {lr}
- ldr r0, _080FF024 @ =gUnknown_203ACE8
- ldr r0, [r0]
- cmp r0, 0
- beq _080FF01E
- bl Free
-_080FF01E:
- pop {r0}
- bx r0
- .align 2, 0
-_080FF024: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF010
-
- thumb_func_start sub_80FF028
-sub_80FF028: @ 80FF028
- push {lr}
- ldr r0, _080FF040 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bhi _080FF092
- lsls r0, 2
- ldr r1, _080FF044 @ =_080FF048
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF040: .4byte gUnknown_203ACE8
-_080FF044: .4byte _080FF048
- .align 2, 0
-_080FF048:
- .4byte _080FF064
- .4byte _080FF06A
- .4byte _080FF070
- .4byte _080FF076
- .4byte _080FF07C
- .4byte _080FF082
- .4byte _080FF088
-_080FF064:
- bl sub_80FF098
- b _080FF08C
-_080FF06A:
- bl sub_80FF20C
- b _080FF08C
-_080FF070:
- bl sub_80FF360
- b _080FF08C
-_080FF076:
- bl sub_80FF41C
- b _080FF08C
-_080FF07C:
- bl sub_80FF4A8
- b _080FF08C
-_080FF082:
- bl sub_80FF544
- b _080FF08C
-_080FF088:
- bl sub_80FF4F0
-_080FF08C:
- lsls r0, 16
- lsrs r0, 16
- b _080FF094
-_080FF092:
- movs r0, 0
-_080FF094:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF028
-
- thumb_func_start sub_80FF098
-sub_80FF098: @ 80FF098
- push {r4-r7,lr}
- ldr r0, _080FF0C0 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FF0E4
- ldr r1, _080FF0C4 @ =gUnknown_203ACE8
- ldr r3, [r1]
- movs r2, 0
- movs r0, 0x2
- strb r0, [r3, 0x4]
- ldr r0, [r1]
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- movs r0, 0x9
- b _080FF1FC
- .align 2, 0
-_080FF0C0: .4byte gMain
-_080FF0C4: .4byte gUnknown_203ACE8
-_080FF0C8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080FF194
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FF184
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080FF174
- movs r0, 0
- b _080FF1FC
-_080FF0E4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080FF1A4
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080FF1AA
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FF0C8
- ldr r2, _080FF16C @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x6]
- subs r0, 0x1
-_080FF104:
- strb r0, [r1, 0x6]
-_080FF106:
- adds r7, r2, 0
- adds r4, r7, 0
- ldr r2, [r4]
- movs r0, 0x6
- ldrsb r0, [r2, r0]
- ldr r6, _080FF170 @ =gUnknown_843F2AC
- cmp r0, 0
- bge _080FF124
- ldrb r0, [r2, 0x1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r6
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x6]
-_080FF124:
- ldr r3, [r4]
- movs r2, 0x6
- ldrsb r2, [r3, r2]
- adds r5, r6, 0
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- ldrb r0, [r0, 0x2]
- cmp r2, r0
- ble _080FF140
- movs r0, 0
- strb r0, [r3, 0x6]
-_080FF140:
- ldr r3, [r4]
- movs r2, 0x6
- ldrsb r2, [r3, r2]
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r5
- ldrb r0, [r1, 0x2]
- cmp r2, r0
- bne _080FF1B4
- movs r0, 0x5
- ldrsb r0, [r3, r0]
- cmp r0, 0x2
- ble _080FF162
- movs r0, 0x2
- strb r0, [r3, 0x5]
-_080FF162:
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x3
- b _080FF1FC
- .align 2, 0
-_080FF16C: .4byte gUnknown_203ACE8
-_080FF170: .4byte gUnknown_843F2AC
-_080FF174:
- ldr r2, _080FF180 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF106
- .align 2, 0
-_080FF180: .4byte gUnknown_203ACE8
-_080FF184:
- ldr r2, _080FF190 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x6]
- adds r0, 0x1
- b _080FF104
- .align 2, 0
-_080FF190: .4byte gUnknown_203ACE8
-_080FF194:
- ldr r2, _080FF1A0 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF106
- .align 2, 0
-_080FF1A0: .4byte gUnknown_203ACE8
-_080FF1A4:
- bl sub_80FF590
- b _080FF1AE
-_080FF1AA:
- bl sub_80FF5C0
-_080FF1AE:
- lsls r0, 16
- lsrs r0, 16
- b _080FF1FC
-_080FF1B4:
- movs r0, 0x5
- ldrsb r0, [r3, r0]
- cmp r0, 0
- bge _080FF1C2
- ldrb r0, [r1, 0x1]
- subs r0, 0x1
- strb r0, [r3, 0x5]
-_080FF1C2:
- ldr r3, [r4]
- movs r2, 0x5
- ldrsb r2, [r3, r2]
- ldrb r1, [r3, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldrb r0, [r0, 0x1]
- cmp r2, r0
- blt _080FF1DC
- movs r0, 0
- strb r0, [r3, 0x5]
-_080FF1DC:
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FF1FA
- ldr r2, [r7]
- ldr r0, [r2, 0x4]
- ldr r1, _080FF204 @ =0x00ffff00
- ands r0, r1
- ldr r1, _080FF208 @ =0x00040100
- cmp r0, r1
- bne _080FF1FA
- movs r0, 0
- strb r0, [r2, 0x5]
-_080FF1FA:
- movs r0, 0x2
-_080FF1FC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080FF204: .4byte 0x00ffff00
-_080FF208: .4byte 0x00040100
- thumb_func_end sub_80FF098
-
- thumb_func_start sub_80FF20C
-sub_80FF20C: @ 80FF20C
- push {r4-r6,lr}
- ldr r2, _080FF22C @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FF270
- ldr r0, _080FF230 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080FF26A
- b _080FF254
- .align 2, 0
-_080FF22C: .4byte gMain
-_080FF230: .4byte gUnknown_203ACE8
-_080FF234:
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080FF2F8
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- bne _080FF2E8
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _080FF2D8
- movs r0, 0
- b _080FF34E
-_080FF254:
- cmp r0, 0x1
- bgt _080FF25E
- cmp r0, 0
- beq _080FF264
- b _080FF270
-_080FF25E:
- cmp r0, 0x2
- beq _080FF30E
- b _080FF270
-_080FF264:
- bl sub_80FF5A8
- b _080FF312
-_080FF26A:
- bl sub_80FF590
- b _080FF312
-_080FF270:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _080FF308
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _080FF30E
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _080FF234
- ldr r2, _080FF2D0 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x6]
- subs r0, 0x1
- strb r0, [r1, 0x6]
-_080FF294:
- adds r6, r2, 0
-_080FF296:
- adds r5, r6, 0
- ldr r4, [r5]
- movs r3, 0x6
- ldrsb r3, [r4, r3]
- ldr r2, _080FF2D4 @ =gUnknown_843F2AC
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- ldrb r0, [r1, 0x2]
- cmp r3, r0
- bne _080FF318
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bge _080FF2BC
- movs r0, 0x2
- strb r0, [r4, 0x5]
-_080FF2BC:
- ldr r1, [r5]
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- ble _080FF2CA
- movs r0, 0
- strb r0, [r1, 0x5]
-_080FF2CA:
- movs r0, 0x3
- b _080FF34E
- .align 2, 0
-_080FF2D0: .4byte gUnknown_203ACE8
-_080FF2D4: .4byte gUnknown_843F2AC
-_080FF2D8:
- ldr r2, _080FF2E4 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF294
- .align 2, 0
-_080FF2E4: .4byte gUnknown_203ACE8
-_080FF2E8:
- ldr r1, _080FF2F4 @ =gUnknown_203ACE8
- ldr r0, [r1]
- strb r3, [r0, 0x6]
- adds r6, r1, 0
- b _080FF296
- .align 2, 0
-_080FF2F4: .4byte gUnknown_203ACE8
-_080FF2F8:
- ldr r2, _080FF304 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- b _080FF294
- .align 2, 0
-_080FF304: .4byte gUnknown_203ACE8
-_080FF308:
- bl sub_80FF590
- b _080FF312
-_080FF30E:
- bl sub_80FF5C0
-_080FF312:
- lsls r0, 16
- lsrs r0, 16
- b _080FF34E
-_080FF318:
- movs r0, 0x5
- ldrsb r0, [r4, r0]
- ldrb r1, [r1, 0x1]
- cmp r0, r1
- blt _080FF326
- subs r0, r1, 0x1
- strb r0, [r4, 0x5]
-_080FF326:
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080FF344
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- ldr r1, _080FF354 @ =0x00ffff00
- ands r0, r1
- ldr r1, _080FF358 @ =0x00040100
- cmp r0, r1
- bne _080FF344
- movs r0, 0
- strb r0, [r2, 0x5]
-_080FF344:
- ldr r0, _080FF35C @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
- movs r0, 0x2
-_080FF34E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FF354: .4byte 0x00ffff00
-_080FF358: .4byte 0x00040100
-_080FF35C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF20C
-
- thumb_func_start sub_80FF360
-sub_80FF360: @ 80FF360
- push {lr}
- ldr r1, _080FF378 @ =gMain
- ldrh r2, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r2
- adds r3, r1, 0
- cmp r0, 0
- beq _080FF37C
- bl sub_80FF678
- b _080FF412
- .align 2, 0
-_080FF378: .4byte gMain
-_080FF37C:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080FF3CA
- ldr r0, _080FF39C @ =gUnknown_203ACE8
- ldr r2, [r0]
- movs r1, 0xA
- ldrsb r1, [r2, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF3A0
- bl sub_80FF5FC
- b _080FF412
- .align 2, 0
-_080FF39C: .4byte gUnknown_203ACE8
-_080FF3A0:
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- cmp r0, 0x1
- beq _080FF3BE
- cmp r0, 0x1
- bgt _080FF3B2
- cmp r0, 0
- beq _080FF3B8
- b _080FF3CA
-_080FF3B2:
- cmp r0, 0x2
- beq _080FF3C4
- b _080FF3CA
-_080FF3B8:
- bl sub_80FF688
- b _080FF412
-_080FF3BE:
- bl sub_80FF6B4
- b _080FF412
-_080FF3C4:
- bl sub_80FF678
- b _080FF412
-_080FF3CA:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080FF3DA
- bl sub_80FF688
- b _080FF412
-_080FF3DA:
- ldrh r1, [r3, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FF3E8
- movs r0, 0x2
- b _080FF40E
-_080FF3E8:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FF3F4
- movs r0, 0x3
- b _080FF40E
-_080FF3F4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FF400
- movs r0, 0x1
- b _080FF40E
-_080FF400:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080FF40C
- movs r0, 0
- b _080FF416
-_080FF40C:
- movs r0, 0
-_080FF40E:
- bl sub_80FF7CC
-_080FF412:
- lsls r0, 16
- lsrs r0, 16
-_080FF416:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF360
-
- thumb_func_start sub_80FF41C
-sub_80FF41C: @ 80FF41C
- push {lr}
- ldr r2, _080FF438 @ =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FF440
- ldr r0, _080FF43C @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1, 0x4]
- movs r0, 0xD
- b _080FF4A2
- .align 2, 0
-_080FF438: .4byte gMain
-_080FF43C: .4byte gUnknown_203ACE8
-_080FF440:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FF44E
- bl sub_80FF6C8
- b _080FF49E
-_080FF44E:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080FF45A
- movs r0, 0x4
- b _080FF49A
-_080FF45A:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080FF466
- movs r0, 0x5
- b _080FF49A
-_080FF466:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FF474
- movs r0, 0x2
- b _080FF49A
-_080FF474:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FF480
- movs r0, 0x3
- b _080FF49A
-_080FF480:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FF48C
- movs r0, 0x1
- b _080FF49A
-_080FF48C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080FF498
- movs r0, 0
- b _080FF4A2
-_080FF498:
- movs r0, 0
-_080FF49A:
- bl sub_80FFA38
-_080FF49E:
- lsls r0, 16
- lsrs r0, 16
-_080FF4A2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF41C
-
- thumb_func_start sub_80FF4A8
-sub_80FF4A8: @ 80FF4A8
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080FF4DC
- cmp r1, 0
- bgt _080FF4C4
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF4C8
- b _080FF4E8
-_080FF4C4:
- cmp r1, 0x1
- bne _080FF4E8
-_080FF4C8:
- bl sub_80FF5F0
- ldr r1, _080FF4D8 @ =gUnknown_203ACE8
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x7
- b _080FF4EA
- .align 2, 0
-_080FF4D8: .4byte gUnknown_203ACE8
-_080FF4DC:
- ldr r0, _080FF4E4 @ =gSpecialVar_Result
- strh r1, [r0]
- movs r0, 0x17
- b _080FF4EA
- .align 2, 0
-_080FF4E4: .4byte gSpecialVar_Result
-_080FF4E8:
- movs r0, 0
-_080FF4EA:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF4A8
-
- thumb_func_start sub_80FF4F0
-sub_80FF4F0: @ 80FF4F0
- push {r4,lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080FF524
- cmp r1, 0
- bgt _080FF50C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF510
- b _080FF53C
-_080FF50C:
- cmp r1, 0x1
- bne _080FF53C
-_080FF510:
- bl sub_80FF5F0
- ldr r1, _080FF520 @ =gUnknown_203ACE8
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x7
- b _080FF53E
- .align 2, 0
-_080FF520: .4byte gUnknown_203ACE8
-_080FF524:
- ldr r4, _080FF538 @ =gSpecialVar_Result
- bl sub_80FF78C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- bl sub_80FF6F0
- movs r0, 0x17
- b _080FF53E
- .align 2, 0
-_080FF538: .4byte gSpecialVar_Result
-_080FF53C:
- movs r0, 0
-_080FF53E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF4F0
-
- thumb_func_start sub_80FF544
-sub_80FF544: @ 80FF544
- push {lr}
- bl Menu_ProcessInputNoWrapClearOnChoose
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080FF574
- cmp r1, 0
- bgt _080FF560
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF564
- b _080FF588
-_080FF560:
- cmp r1, 0x1
- bne _080FF588
-_080FF564:
- ldr r0, _080FF570 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x7
- b _080FF58A
- .align 2, 0
-_080FF570: .4byte gUnknown_203ACE8
-_080FF574:
- bl sub_80FF728
- ldr r0, _080FF584 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- movs r0, 0x8
- b _080FF58A
- .align 2, 0
-_080FF584: .4byte gUnknown_203ACE8
-_080FF588:
- movs r0, 0
-_080FF58A:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF544
-
- thumb_func_start sub_80FF590
-sub_80FF590: @ 80FF590
- ldr r2, _080FF5A4 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- strb r0, [r1, 0x8]
- ldr r1, [r2]
- movs r0, 0x4
- strb r0, [r1, 0x4]
- movs r0, 0x5
- bx lr
- .align 2, 0
-_080FF5A4: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF590
-
- thumb_func_start sub_80FF5A8
-sub_80FF5A8: @ 80FF5A8
- ldr r2, _080FF5BC @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- strb r0, [r1, 0x8]
- ldr r1, [r2]
- movs r0, 0x5
- strb r0, [r1, 0x4]
- movs r0, 0x4
- bx lr
- .align 2, 0
-_080FF5BC: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF5A8
-
- thumb_func_start sub_80FF5C0
-sub_80FF5C0: @ 80FF5C0
- push {r4,lr}
- ldr r4, _080FF5DC @ =gUnknown_203ACE8
- ldr r0, [r4]
- ldrb r1, [r0, 0x4]
- strb r1, [r0, 0x8]
- bl sub_80FFF48
- cmp r0, 0
- bne _080FF5E0
- ldr r1, [r4]
- movs r0, 0x6
- strb r0, [r1, 0x4]
- b _080FF5E8
- .align 2, 0
-_080FF5DC: .4byte gUnknown_203ACE8
-_080FF5E0:
- ldr r1, [r4]
- movs r0, 0x4
- strb r0, [r1, 0x4]
- movs r0, 0x5
-_080FF5E8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF5C0
-
- thumb_func_start sub_80FF5F0
-sub_80FF5F0: @ 80FF5F0
- ldr r0, _080FF5F8 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_080FF5F8: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF5F0
-
- thumb_func_start sub_80FF5FC
-sub_80FF5FC: @ 80FF5FC
- push {lr}
- ldr r0, _080FF624 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _080FF628
- bl sub_80FFB8C
- lsls r0, 24
- lsrs r0, 24
- bl GetSelectedGroupByIndex
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl GetUnlockedECWords
- b _080FF638
- .align 2, 0
-_080FF624: .4byte gUnknown_203ACE8
-_080FF628:
- bl sub_80FFBAC
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x1
- bl GetUnlockedECWords
-_080FF638:
- bl GetNumDisplayedWords
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080FF670
- ldr r2, _080FF66C @ =gUnknown_203ACE8
- ldr r3, [r2]
- subs r0, 0x1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- strb r0, [r3, 0xF]
- ldr r0, [r2]
- strb r1, [r0, 0xE]
- ldr r0, [r2]
- strb r1, [r0, 0x10]
- ldr r0, [r2]
- strb r1, [r0, 0x11]
- ldr r1, [r2]
- movs r0, 0x3
- strb r0, [r1, 0x4]
- movs r0, 0xB
- b _080FF672
- .align 2, 0
-_080FF66C: .4byte gUnknown_203ACE8
-_080FF670:
- movs r0, 0
-_080FF672:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF5FC
-
- thumb_func_start sub_80FF678
-sub_80FF678: @ 80FF678
- ldr r0, _080FF684 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
- movs r0, 0xA
- bx lr
- .align 2, 0
-_080FF684: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF678
-
- thumb_func_start sub_80FF688
-sub_80FF688: @ 80FF688
- push {lr}
- ldr r1, _080FF6A8 @ =gUnknown_203ACE8
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0xA]
- ldr r0, [r1]
- strb r2, [r0, 0xB]
- ldr r0, [r1]
- strb r2, [r0, 0xC]
- ldr r1, [r1]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FF6AC
- movs r0, 0x1
- strb r0, [r1, 0x9]
- b _080FF6AE
- .align 2, 0
-_080FF6A8: .4byte gUnknown_203ACE8
-_080FF6AC:
- strb r2, [r1, 0x9]
-_080FF6AE:
- movs r0, 0x16
- pop {r1}
- bx r1
- thumb_func_end sub_80FF688
-
- thumb_func_start sub_80FF6B4
-sub_80FF6B4: @ 80FF6B4
- push {lr}
- ldr r0, _080FF6C4 @ =0x0000ffff
- bl sub_80FF768
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080FF6C4: .4byte 0x0000ffff
- thumb_func_end sub_80FF6B4
-
- thumb_func_start sub_80FF6C8
-sub_80FF6C8: @ 80FF6C8
- push {lr}
- bl sub_80FFBE4
- lsls r0, 16
- lsrs r0, 16
- bl GetDisplayedWordByIndex
- lsls r0, 16
- lsrs r0, 16
- bl sub_80FF768
- ldr r0, _080FF6EC @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
- movs r0, 0xC
- pop {r1}
- bx r1
- .align 2, 0
-_080FF6EC: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF6C8
-
- thumb_func_start sub_80FF6F0
-sub_80FF6F0: @ 80FF6F0
- push {r4,r5,lr}
- movs r4, 0
- ldr r3, _080FF724 @ =gUnknown_203ACE8
- ldr r0, [r3]
- ldrb r0, [r0, 0x7]
- cmp r4, r0
- bcs _080FF71E
- adds r5, r3, 0
-_080FF700:
- ldr r3, [r5]
- ldr r1, [r3, 0x14]
- lsls r2, r4, 1
- adds r1, r2, r1
- adds r0, r3, 0
- adds r0, 0x18
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r3, [r3, 0x7]
- cmp r4, r3
- bcc _080FF700
-_080FF71E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF724: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF6F0
-
- thumb_func_start sub_80FF728
-sub_80FF728: @ 80FF728
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, _080FF760 @ =gUnknown_203ACE8
- ldr r0, [r2]
- ldrb r0, [r0, 0x7]
- cmp r3, r0
- bcs _080FF758
- adds r5, r2, 0
- ldr r0, _080FF764 @ =0x0000ffff
- adds r4, r0, 0
-_080FF73C:
- ldr r2, [r5]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x18
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r2, [r2, 0x7]
- cmp r3, r2
- bcc _080FF73C
-_080FF758:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF760: .4byte gUnknown_203ACE8
-_080FF764: .4byte 0x0000ffff
- thumb_func_end sub_80FF728
-
- thumb_func_start sub_80FF768
-sub_80FF768: @ 80FF768
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_80FFB6C
- lsls r0, 16
- ldr r1, _080FF788 @ =gUnknown_203ACE8
- ldr r1, [r1]
- lsrs r0, 15
- adds r1, 0x18
- adds r1, r0
- strh r4, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF788: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF768
-
- thumb_func_start sub_80FF78C
-sub_80FF78C: @ 80FF78C
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _080FF7B4 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- cmp r2, r1
- bcs _080FF7C2
- adds r5, r1, 0
- adds r4, r0, 0
- adds r4, 0x18
- ldr r3, [r0, 0x14]
-_080FF7A2:
- lsls r0, r2, 1
- adds r1, r4, r0
- adds r0, r3
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- beq _080FF7B8
- movs r0, 0x1
- b _080FF7C4
- .align 2, 0
-_080FF7B4: .4byte gUnknown_203ACE8
-_080FF7B8:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r5
- bcc _080FF7A2
-_080FF7C2:
- movs r0, 0
-_080FF7C4:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF78C
-
- thumb_func_start sub_80FF7CC
-sub_80FF7CC: @ 80FF7CC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FF7F0 @ =gUnknown_203ACE8
- ldr r3, [r0]
- movs r1, 0xA
- ldrsb r1, [r3, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080FF7FC
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- bne _080FF7F4
- adds r0, r2, 0
- bl sub_80FF80C
- b _080FF802
- .align 2, 0
-_080FF7F0: .4byte gUnknown_203ACE8
-_080FF7F4:
- adds r0, r2, 0
- bl sub_80FF8D8
- b _080FF802
-_080FF7FC:
- adds r0, r2, 0
- bl sub_80FF968
-_080FF802:
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FF7CC
-
- thumb_func_start sub_80FF80C
-sub_80FF80C: @ 80FF80C
- push {r4,lr}
- cmp r0, 0x1
- beq _080FF882
- cmp r0, 0x1
- bcc _080FF8A2
- cmp r0, 0x2
- beq _080FF820
- cmp r0, 0x3
- beq _080FF848
- b _080FF8CE
-_080FF820:
- ldr r0, _080FF83C @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- ldrb r3, [r1, 0xC]
- cmn r0, r3
- beq _080FF8CE
- ldrb r2, [r1, 0xB]
- cmp r0, 0
- beq _080FF840
- subs r0, r2, 0x1
- strb r0, [r1, 0xB]
-_080FF838:
- movs r0, 0xE
- b _080FF8D0
- .align 2, 0
-_080FF83C: .4byte gUnknown_203ACE8
-_080FF840:
- subs r0, r3, 0x1
- strb r0, [r1, 0xC]
- movs r0, 0x10
- b _080FF8D0
-_080FF848:
- ldr r0, _080FF870 @ =gUnknown_203ACE8
- ldr r2, [r0]
- movs r1, 0xB
- ldrsb r1, [r2, r1]
- ldrb r3, [r2, 0xC]
- adds r1, r3
- ldrb r0, [r2, 0xD]
- subs r0, 0x1
- cmp r1, r0
- bge _080FF8CE
- ldrb r1, [r2, 0xB]
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- cmp r0, 0x2
- bgt _080FF874
- adds r0, r1, 0x1
- strb r0, [r2, 0xB]
- movs r4, 0xE
- b _080FF87A
- .align 2, 0
-_080FF870: .4byte gUnknown_203ACE8
-_080FF874:
- adds r0, r3, 0x1
- strb r0, [r2, 0xC]
- movs r4, 0xF
-_080FF87A:
- bl sub_80FFC1C
- adds r0, r4, 0
- b _080FF8D0
-_080FF882:
- ldr r0, _080FF898 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FF89C
- subs r0, r2, 0x1
- strb r0, [r1, 0xA]
- b _080FF838
- .align 2, 0
-_080FF898: .4byte gUnknown_203ACE8
-_080FF89C:
- bl sub_80FF9E8
- b _080FF838
-_080FF8A2:
- ldr r0, _080FF8C4 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bgt _080FF8C8
- adds r0, r2, 0x1
- strb r0, [r1, 0xA]
- bl sub_80FFC6C
- lsls r0, 24
- cmp r0, 0
- beq _080FF838
- bl sub_80FF9E8
- b _080FF838
- .align 2, 0
-_080FF8C4: .4byte gUnknown_203ACE8
-_080FF8C8:
- bl sub_80FF9E8
- b _080FF838
-_080FF8CE:
- movs r0, 0
-_080FF8D0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FF80C
-
- thumb_func_start sub_80FF8D8
-sub_80FF8D8: @ 80FF8D8
- push {lr}
- cmp r0, 0x1
- beq _080FF944
- cmp r0, 0x1
- bcc _080FF928
- cmp r0, 0x2
- beq _080FF8EE
- cmp r0, 0x3
- beq _080FF90E
- movs r0, 0
- b _080FF960
-_080FF8EE:
- ldr r0, _080FF900 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080FF904
- subs r0, r2, 0x1
- b _080FF906
- .align 2, 0
-_080FF900: .4byte gUnknown_203ACE8
-_080FF904:
- movs r0, 0x3
-_080FF906:
- strb r0, [r1, 0xB]
- bl sub_80FFC1C
- b _080FF95E
-_080FF90E:
- ldr r0, _080FF920 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bgt _080FF924
- adds r0, r2, 0x1
- b _080FF906
- .align 2, 0
-_080FF920: .4byte gUnknown_203ACE8
-_080FF924:
- movs r0, 0
- b _080FF906
-_080FF928:
- ldr r0, _080FF940 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
- bl sub_80FFC6C
- lsls r0, 24
- cmp r0, 0
- beq _080FF95E
- b _080FF95A
- .align 2, 0
-_080FF940: .4byte gUnknown_203ACE8
-_080FF944:
- ldr r2, _080FF964 @ =gUnknown_203ACE8
- ldr r1, [r2]
- ldrb r0, [r1, 0xA]
- subs r0, 0x1
- strb r0, [r1, 0xA]
- ldr r0, [r2]
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080FF95E
-_080FF95A:
- bl sub_80FF9E8
-_080FF95E:
- movs r0, 0xE
-_080FF960:
- pop {r1}
- bx r1
- .align 2, 0
-_080FF964: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF8D8
-
- thumb_func_start sub_80FF968
-sub_80FF968: @ 80FF968
- push {lr}
- adds r2, r0, 0
- cmp r2, 0x1
- beq _080FF9B8
- cmp r2, 0x1
- bcc _080FF9CC
- cmp r2, 0x2
- beq _080FF980
- cmp r2, 0x3
- beq _080FF99C
- movs r0, 0
- b _080FF9DE
-_080FF980:
- ldr r0, _080FF994 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r3, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FF998
- subs r0, r3, 0x1
- b _080FF9DA
- .align 2, 0
-_080FF994: .4byte gUnknown_203ACE8
-_080FF998:
- strb r2, [r1, 0xB]
- b _080FF9DC
-_080FF99C:
- ldr r0, _080FF9B0 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xB]
- movs r0, 0xB
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- bgt _080FF9B4
- adds r0, r2, 0x1
- b _080FF9DA
- .align 2, 0
-_080FF9B0: .4byte gUnknown_203ACE8
-_080FF9B4:
- movs r0, 0
- b _080FF9DA
-_080FF9B8:
- ldr r0, _080FF9C8 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0xB]
- adds r0, 0x1
- strb r0, [r1, 0xB]
- bl sub_80FFA0C
- b _080FF9DC
- .align 2, 0
-_080FF9C8: .4byte gUnknown_203ACE8
-_080FF9CC:
- ldr r2, _080FF9E4 @ =gUnknown_203ACE8
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0xA]
- ldr r1, [r2]
- ldrb r0, [r1, 0xB]
- adds r0, 0x1
-_080FF9DA:
- strb r0, [r1, 0xB]
-_080FF9DC:
- movs r0, 0xE
-_080FF9DE:
- pop {r1}
- bx r1
- .align 2, 0
-_080FF9E4: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF968
-
- thumb_func_start sub_80FF9E8
-sub_80FF9E8: @ 80FF9E8
- push {lr}
- ldr r2, _080FFA08 @ =gUnknown_203ACE8
- ldr r1, [r2]
- movs r0, 0xFF
- strb r0, [r1, 0xA]
- ldr r2, [r2]
- ldrb r1, [r2, 0xB]
- movs r0, 0xB
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080FFA02
- subs r0, r1, 0x1
- strb r0, [r2, 0xB]
-_080FFA02:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFA08: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FF9E8
-
- thumb_func_start sub_80FFA0C
-sub_80FFA0C: @ 80FFA0C
- push {r4,lr}
- ldr r4, _080FFA24 @ =gUnknown_203ACE8
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FFA28
- movs r0, 0x1
- strb r0, [r1, 0xA]
- bl sub_80FFC1C
- b _080FFA32
- .align 2, 0
-_080FFA24: .4byte gUnknown_203ACE8
-_080FFA28:
- ldrb r0, [r1, 0xB]
- bl sub_80FFC04
- ldr r1, [r4]
- strb r0, [r1, 0xA]
-_080FFA32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FFA0C
-
- thumb_func_start sub_80FFA38
-sub_80FFA38: @ 80FFA38
- push {r4,lr}
- cmp r0, 0x5
- bls _080FFA40
- b _080FFB64
-_080FFA40:
- lsls r0, 2
- ldr r1, _080FFA4C @ =_080FFA50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FFA4C: .4byte _080FFA50
- .align 2, 0
-_080FFA50:
- .4byte _080FFAEC
- .4byte _080FFACA
- .4byte _080FFA68
- .4byte _080FFA94
- .4byte _080FFB14
- .4byte _080FFB34
-_080FFA68:
- ldr r0, _080FFA88 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- ldrb r3, [r1, 0xE]
- adds r0, r3
- cmp r0, 0
- bgt _080FFA7A
- b _080FFB64
-_080FFA7A:
- ldrb r2, [r1, 0x11]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080FFA8C
- subs r0, r2, 0x1
- b _080FFAB2
- .align 2, 0
-_080FFA88: .4byte gUnknown_203ACE8
-_080FFA8C:
- subs r0, r3, 0x1
- strb r0, [r1, 0xE]
- movs r4, 0x12
- b _080FFAC2
-_080FFA94:
- ldr r0, _080FFAB8 @ =gUnknown_203ACE8
- ldr r1, [r0]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- ldrb r3, [r1, 0xE]
- adds r0, r3
- ldrb r2, [r1, 0xF]
- cmp r0, r2
- bge _080FFB64
- ldrb r2, [r1, 0x11]
- movs r0, 0x11
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bgt _080FFABC
- adds r0, r2, 0x1
-_080FFAB2:
- strb r0, [r1, 0x11]
- movs r4, 0x11
- b _080FFAC2
- .align 2, 0
-_080FFAB8: .4byte gUnknown_203ACE8
-_080FFABC:
- adds r0, r3, 0x1
- strb r0, [r1, 0xE]
- movs r4, 0x13
-_080FFAC2:
- bl sub_80FFC44
- adds r0, r4, 0
- b _080FFB66
-_080FFACA:
- ldr r0, _080FFADC @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0x10]
- movs r0, 0x10
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080FFAE0
- subs r0, r2, 0x1
- b _080FFAE2
- .align 2, 0
-_080FFADC: .4byte gUnknown_203ACE8
-_080FFAE0:
- movs r0, 0x1
-_080FFAE2:
- strb r0, [r1, 0x10]
- bl sub_80FFC44
-_080FFAE8:
- movs r0, 0x11
- b _080FFB66
-_080FFAEC:
- ldr r4, _080FFB10 @ =gUnknown_203ACE8
- ldr r1, [r4]
- ldrb r2, [r1, 0x10]
- movs r0, 0x10
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bgt _080FFB0A
- adds r0, r2, 0x1
- strb r0, [r1, 0x10]
- bl sub_80FFCC0
- lsls r0, 24
- cmp r0, 0
- beq _080FFAE8
- ldr r1, [r4]
-_080FFB0A:
- movs r0, 0
- strb r0, [r1, 0x10]
- b _080FFAE8
- .align 2, 0
-_080FFB10: .4byte gUnknown_203ACE8
-_080FFB14:
- ldr r0, _080FFB28 @ =gUnknown_203ACE8
- ldr r2, [r0]
- ldrb r0, [r2, 0xE]
- adds r1, r0, 0
- cmp r1, 0
- beq _080FFB64
- cmp r1, 0x3
- bls _080FFB2C
- subs r0, 0x4
- b _080FFB2E
- .align 2, 0
-_080FFB28: .4byte gUnknown_203ACE8
-_080FFB2C:
- movs r0, 0
-_080FFB2E:
- strb r0, [r2, 0xE]
- movs r0, 0x14
- b _080FFB66
-_080FFB34:
- ldr r3, _080FFB60 @ =gUnknown_203ACE8
- ldr r1, [r3]
- ldrb r2, [r1, 0xE]
- ldrb r0, [r1, 0xF]
- subs r0, 0x4
- cmp r2, r0
- bgt _080FFB64
- adds r0, r2, 0x4
- strb r0, [r1, 0xE]
- ldr r2, [r3]
- ldrb r1, [r2, 0xE]
- ldrb r3, [r2, 0xF]
- subs r0, r3, 0x3
- cmp r1, r0
- ble _080FFB58
- adds r0, r3, 0
- adds r0, 0xFD
- strb r0, [r2, 0xE]
-_080FFB58:
- bl sub_80FFC44
- movs r0, 0x15
- b _080FFB66
- .align 2, 0
-_080FFB60: .4byte gUnknown_203ACE8
-_080FFB64:
- movs r0, 0
-_080FFB66:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFA38
-
- thumb_func_start sub_80FFB6C
-sub_80FFB6C: @ 80FFB6C
- ldr r0, _080FFB88 @ =gUnknown_203ACE8
- ldr r0, [r0]
- movs r2, 0x6
- ldrsb r2, [r0, r2]
- ldrb r1, [r0, 0x2]
- muls r1, r2
- ldrb r0, [r0, 0x5]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080FFB88: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFB6C
-
- thumb_func_start sub_80FFB8C
-sub_80FFB8C: @ 80FFB8C
- ldr r0, _080FFBA8 @ =gUnknown_203ACE8
- ldr r0, [r0]
- movs r1, 0xB
- ldrsb r1, [r0, r1]
- ldrb r2, [r0, 0xC]
- adds r1, r2
- lsls r1, 1
- ldrb r0, [r0, 0xA]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080FFBA8: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFB8C
-
- thumb_func_start sub_80FFBAC
-sub_80FFBAC: @ 80FFBAC
- push {lr}
- ldr r0, _080FFBDC @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0xA]
- movs r3, 0
- cmp r0, 0x6
- bhi _080FFBBE
- movs r3, 0xA
- ldrsb r3, [r1, r3]
-_080FFBBE:
- ldrb r0, [r1, 0xB]
- movs r2, 0
- cmp r0, 0x3
- bhi _080FFBCA
- movs r2, 0xB
- ldrsb r2, [r1, r2]
-_080FFBCA:
- ldr r0, _080FFBE0 @ =gUnknown_843F39C
- lsls r1, r2, 3
- subs r1, r2
- adds r1, r3, r1
- adds r1, r0
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_080FFBDC: .4byte gUnknown_203ACE8
-_080FFBE0: .4byte gUnknown_843F39C
- thumb_func_end sub_80FFBAC
-
- thumb_func_start sub_80FFBE4
-sub_80FFBE4: @ 80FFBE4
- ldr r0, _080FFC00 @ =gUnknown_203ACE8
- ldr r0, [r0]
- movs r1, 0x11
- ldrsb r1, [r0, r1]
- ldrb r2, [r0, 0xE]
- adds r1, r2
- lsls r1, 1
- ldrb r0, [r0, 0x10]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080FFC00: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFBE4
-
- thumb_func_start sub_80FFC04
-sub_80FFC04: @ 80FFC04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080FFC12
- cmp r0, 0x1
- beq _080FFC16
-_080FFC12:
- movs r0, 0x6
- b _080FFC18
-_080FFC16:
- movs r0, 0x5
-_080FFC18:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFC04
-
- thumb_func_start sub_80FFC1C
-sub_80FFC1C: @ 80FFC1C
- push {lr}
- b _080FFC32
-_080FFC20:
- ldr r0, _080FFC40 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0xA]
- movs r0, 0xA
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FFC3C
- subs r0, r2, 0x1
- strb r0, [r1, 0xA]
-_080FFC32:
- bl sub_80FFC6C
- lsls r0, 24
- cmp r0, 0
- bne _080FFC20
-_080FFC3C:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFC40: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFC1C
-
- thumb_func_start sub_80FFC44
-sub_80FFC44: @ 80FFC44
- push {lr}
- b _080FFC5A
-_080FFC48:
- ldr r0, _080FFC68 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r2, [r1, 0x10]
- movs r0, 0x10
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080FFC64
- subs r0, r2, 0x1
- strb r0, [r1, 0x10]
-_080FFC5A:
- bl sub_80FFCC0
- lsls r0, 24
- cmp r0, 0
- bne _080FFC48
-_080FFC64:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFC68: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFC44
-
- thumb_func_start sub_80FFC6C
-sub_80FFC6C: @ 80FFC6C
- push {r4,lr}
- ldr r4, _080FFC98 @ =gUnknown_203ACE8
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FFC9C
- bl sub_80FFB8C
- adds r4, r0, 0
- bl GetNumDisplayableGroups
- movs r1, 0
- lsls r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsrs r0, 24
- cmp r4, r0
- bcc _080FFC92
- movs r1, 0x1
-_080FFC92:
- adds r0, r1, 0
- b _080FFCB8
- .align 2, 0
-_080FFC98: .4byte gUnknown_203ACE8
-_080FFC9C:
- ldrb r0, [r1, 0xB]
- bl sub_80FFC04
- movs r2, 0
- ldr r1, [r4]
- ldrb r1, [r1, 0xA]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- ble _080FFCB6
- movs r2, 0x1
-_080FFCB6:
- adds r0, r2, 0
-_080FFCB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFC6C
-
- thumb_func_start sub_80FFCC0
-sub_80FFCC0: @ 80FFCC0
- push {r4,lr}
- bl sub_80FFBE4
- adds r4, r0, 0
- bl GetNumDisplayedWords
- movs r1, 0
- lsls r4, 16
- lsls r0, 16
- cmp r4, r0
- bcc _080FFCD8
- movs r1, 0x1
-_080FFCD8:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFCC0
-
- thumb_func_start sub_80FFCE0
-sub_80FFCE0: @ 80FFCE0
- ldr r2, _080FFCF4 @ =gUnknown_843F2AC
- ldr r0, _080FFCF8 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x3]
- bx lr
- .align 2, 0
-_080FFCF4: .4byte gUnknown_843F2AC
-_080FFCF8: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFCE0
-
- thumb_func_start sub_80FFCFC
-sub_80FFCFC: @ 80FFCFC
- ldr r2, _080FFD14 @ =gUnknown_843F2AC
- ldr r0, _080FFD18 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080FFD14: .4byte gUnknown_843F2AC
-_080FFD18: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFCFC
-
- thumb_func_start sub_80FFD1C
-sub_80FFD1C: @ 80FFD1C
- ldr r0, _080FFD24 @ =gUnknown_203ACE8
- ldr r0, [r0]
- adds r0, 0x18
- bx lr
- .align 2, 0
-_080FFD24: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD1C
-
- thumb_func_start sub_80FFD28
-sub_80FFD28: @ 80FFD28
- ldr r0, _080FFD30 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- bx lr
- .align 2, 0
-_080FFD30: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD28
-
- thumb_func_start sub_80FFD34
-sub_80FFD34: @ 80FFD34
- ldr r0, _080FFD3C @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_080FFD3C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD34
-
- thumb_func_start sub_80FFD40
-sub_80FFD40: @ 80FFD40
- ldr r0, _080FFD48 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- bx lr
- .align 2, 0
-_080FFD48: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD40
-
- thumb_func_start sub_80FFD4C
-sub_80FFD4C: @ 80FFD4C
- ldr r0, _080FFD54 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_080FFD54: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD4C
-
- thumb_func_start sub_80FFD58
-sub_80FFD58: @ 80FFD58
- push {r4,r5,lr}
- ldr r4, _080FFD88 @ =gUnknown_843F2AC
- ldr r2, _080FFD8C @ =gUnknown_203ACE8
- ldr r5, [r2]
- ldrb r3, [r5, 0x1]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 3
- adds r3, r4, 0
- adds r3, 0x8
- adds r2, r3
- ldr r2, [r2]
- str r2, [r0]
- ldrb r2, [r5, 0x1]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r4, 0xC
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFD88: .4byte gUnknown_843F2AC
-_080FFD8C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD58
-
- thumb_func_start sub_80FFD90
-sub_80FFD90: @ 80FFD90
- push {r4,r5,lr}
- ldr r4, _080FFDC0 @ =gUnknown_843F2AC
- ldr r2, _080FFDC4 @ =gUnknown_203ACE8
- ldr r5, [r2]
- ldrb r3, [r5, 0x1]
- lsls r2, r3, 1
- adds r2, r3
- lsls r2, 3
- adds r3, r4, 0
- adds r3, 0x10
- adds r2, r3
- ldr r2, [r2]
- str r2, [r0]
- ldrb r2, [r5, 0x1]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFDC0: .4byte gUnknown_843F2AC
-_080FFDC4: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFD90
-
- thumb_func_start sub_80FFDC8
-sub_80FFDC8: @ 80FFDC8
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FFDDC @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080FFDE4
- ldr r0, _080FFDE0 @ =gUnknown_84189EE
- b _080FFDE6
- .align 2, 0
-_080FFDDC: .4byte gUnknown_203ACE8
-_080FFDE0: .4byte gUnknown_84189EE
-_080FFDE4:
- ldr r0, _080FFDF0 @ =gUnknown_84189E0
-_080FFDE6:
- str r0, [r2]
- movs r0, 0
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080FFDF0: .4byte gUnknown_84189E0
- thumb_func_end sub_80FFDC8
-
- thumb_func_start sub_80FFDF4
-sub_80FFDF4: @ 80FFDF4
- ldr r2, _080FFE00 @ =gUnknown_8418937
- str r2, [r0]
- ldr r0, _080FFE04 @ =gUnknown_8418956
- str r0, [r1]
- bx lr
- .align 2, 0
-_080FFE00: .4byte gUnknown_8418937
-_080FFE04: .4byte gUnknown_8418956
- thumb_func_end sub_80FFDF4
-
- thumb_func_start sub_80FFE08
-sub_80FFE08: @ 80FFE08
- ldr r2, _080FFE18 @ =gUnknown_203ACE8
- ldr r3, [r2]
- ldrb r2, [r3, 0xA]
- strb r2, [r0]
- ldrb r0, [r3, 0xB]
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080FFE18: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE08
-
- thumb_func_start sub_80FFE1C
-sub_80FFE1C: @ 80FFE1C
- ldr r0, _080FFE24 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- bx lr
- .align 2, 0
-_080FFE24: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE1C
-
- thumb_func_start sub_80FFE28
-sub_80FFE28: @ 80FFE28
- ldr r0, _080FFE30 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_080FFE30: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE28
-
- thumb_func_start sub_80FFE34
-sub_80FFE34: @ 80FFE34
- ldr r2, _080FFE44 @ =gUnknown_203ACE8
- ldr r3, [r2]
- ldrb r2, [r3, 0x10]
- strb r2, [r0]
- ldrb r0, [r3, 0x11]
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080FFE44: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE34
-
- thumb_func_start sub_80FFE48
-sub_80FFE48: @ 80FFE48
- ldr r0, _080FFE50 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bx lr
- .align 2, 0
-_080FFE50: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE48
-
- thumb_func_start sub_80FFE54
-sub_80FFE54: @ 80FFE54
- ldr r0, _080FFE5C @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r0, [r0, 0xF]
- bx lr
- .align 2, 0
-_080FFE5C: .4byte gUnknown_203ACE8
- thumb_func_end sub_80FFE54
-
- thumb_func_start sub_80FFE60
-sub_80FFE60: @ 80FFE60
- movs r0, 0
- bx lr
- thumb_func_end sub_80FFE60
-
- thumb_func_start sub_80FFE64
-sub_80FFE64: @ 80FFE64
- push {lr}
- ldr r0, _080FFE78 @ =gUnknown_203ACE8
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080FFE7C
- cmp r0, 0x3
- beq _080FFE86
- b _080FFE90
- .align 2, 0
-_080FFE78: .4byte gUnknown_203ACE8
-_080FFE7C:
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _080FFE90
- ldrb r0, [r1, 0xC]
- b _080FFE88
-_080FFE86:
- ldrb r0, [r1, 0xE]
-_080FFE88:
- cmp r0, 0
- beq _080FFE90
- movs r0, 0x1
- b _080FFE92
-_080FFE90:
- movs r0, 0
-_080FFE92:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFE64
-
- thumb_func_start sub_80FFE98
-sub_80FFE98: @ 80FFE98
- push {lr}
- ldr r0, _080FFEAC @ =gUnknown_203ACE8
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- cmp r0, 0x2
- beq _080FFEB0
- cmp r0, 0x3
- beq _080FFEC6
- b _080FFED4
- .align 2, 0
-_080FFEAC: .4byte gUnknown_203ACE8
-_080FFEB0:
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- bne _080FFED4
- ldrb r1, [r2, 0xC]
- adds r1, 0x4
- ldrb r0, [r2, 0xD]
- subs r0, 0x1
- cmp r1, r0
- bgt _080FFED4
- movs r0, 0x1
- b _080FFED6
-_080FFEC6:
- ldrb r0, [r2, 0xE]
- adds r0, 0x4
- ldrb r2, [r2, 0xF]
- cmp r0, r2
- bgt _080FFED4
- movs r0, 0x1
- b _080FFED6
-_080FFED4:
- movs r0, 0
-_080FFED6:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFE98
-
- thumb_func_start sub_80FFEDC
-sub_80FFEDC: @ 80FFEDC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- movs r2, 0
- cmp r2, r3
- bcs _080FFF12
- ldr r0, _080FFF04 @ =gUnknown_203ACE8
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0x18
-_080FFEF2:
- lsls r0, r2, 1
- adds r1, r0, r5
- adds r0, r4, r0
- ldrh r1, [r1]
- ldrh r0, [r0]
- cmp r1, r0
- beq _080FFF08
- movs r0, 0x1
- b _080FFF14
- .align 2, 0
-_080FFF04: .4byte gUnknown_203ACE8
-_080FFF08:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080FFEF2
-_080FFF12:
- movs r0, 0
-_080FFF14:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFEDC
-
- thumb_func_start sub_80FFF1C
-sub_80FFF1C: @ 80FFF1C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r1, 0
- ldr r2, _080FFF34 @ =gUnknown_843F2AC
-_080FFF26:
- ldrb r0, [r2]
- cmp r0, r3
- bne _080FFF38
- lsls r0, r1, 24
- lsrs r0, 24
- b _080FFF42
- .align 2, 0
-_080FFF34: .4byte gUnknown_843F2AC
-_080FFF38:
- adds r2, 0x18
- adds r1, 0x1
- cmp r1, 0x9
- bls _080FFF26
- movs r0, 0
-_080FFF42:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFF1C
-
- thumb_func_start sub_80FFF48
-sub_80FFF48: @ 80FFF48
- push {r4,lr}
- movs r2, 0
- ldr r0, _080FFF68 @ =gUnknown_203ACE8
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- cmp r2, r1
- bge _080FFF78
- ldr r4, _080FFF6C @ =0x0000ffff
- adds r3, r1, 0
- adds r1, r0, 0
- adds r1, 0x18
-_080FFF5E:
- ldrh r0, [r1]
- cmp r0, r4
- beq _080FFF70
- movs r0, 0
- b _080FFF7A
- .align 2, 0
-_080FFF68: .4byte gUnknown_203ACE8
-_080FFF6C: .4byte 0x0000ffff
-_080FFF70:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _080FFF5E
-_080FFF78:
- movs r0, 0x1
-_080FFF7A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFF48
-
- thumb_func_start sub_80FFF80
-sub_80FFF80: @ 80FFF80
- push {lr}
- bl sub_8100BF4
- lsls r0, 24
- cmp r0, 0
- beq _080FFF90
- movs r0, 0x1
- b _080FFF92
-_080FFF90:
- movs r0, 0
-_080FFF92:
- pop {r1}
- bx r1
- thumb_func_end sub_80FFF80
-
- thumb_func_start sub_80FFF98
-sub_80FFF98: @ 80FFF98
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080FFFB4 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bls _080FFFA8
- b _08100100
-_080FFFA8:
- lsls r0, 2
- ldr r1, _080FFFB8 @ =_080FFFBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FFFB4: .4byte gUnknown_203ACEC
-_080FFFB8: .4byte _080FFFBC
- .align 2, 0
-_080FFFBC:
- .4byte _080FFFD4
- .4byte _08100038
- .4byte _0810006C
- .4byte _0810009C
- .4byte _081000AE
- .4byte _081000B8
-_080FFFD4:
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, _08100028 @ =gUnknown_843F8A0
- movs r0, 0
- movs r2, 0x4
- bl InitBgsFromTemplates
- ldr r4, _0810002C @ =gUnknown_203ACEC
- ldr r1, [r4]
- movs r0, 0xB0
- lsls r0, 4
- adds r1, r0
- movs r0, 0x3
- bl SetBgTilemapBuffer
- ldr r1, [r4]
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r0
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, _08100030 @ =gUnknown_843F8B0
- bl InitWindows
- bl DeactivateAllTextPrinters
- bl sub_8100CBC
- bl sub_8100C5C
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, _08100034 @ =0x01000100
- add r0, sp, 0x4
- bl CpuFastSet
- b _08100104
- .align 2, 0
-_08100028: .4byte gUnknown_843F8A0
-_0810002C: .4byte gUnknown_203ACEC
-_08100030: .4byte gUnknown_843F8B0
-_08100034: .4byte 0x01000100
-_08100038:
- ldr r1, _08100064 @ =gUnknown_8E99DAC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- ldr r1, _08100068 @ =gUnknown_8E99E74
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- bl sub_8100F44
- bl sub_8102428
- movs r0, 0x3
- bl CopyBgTilemapBufferToVram
- b _08100104
- .align 2, 0
-_08100064: .4byte gUnknown_8E99DAC
-_08100068: .4byte gUnknown_8E99E74
-_0810006C:
- ldr r0, _08100094 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- bl sub_8101100
- ldr r1, _08100098 @ =gUnknown_843F7AC
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DecompressAndLoadBgGfxUsingHeap
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- b _08100104
- .align 2, 0
-_08100094: .4byte gUnknown_203ACEC
-_08100098: .4byte gUnknown_843F7AC
-_0810009C:
- bl sub_8100D24
- bl sub_8100E34
- bl sub_8100FDC
- bl sub_81012CC
- b _08100104
-_081000AE:
- bl sub_8101A90
- bl sub_8101AC4
- b _08100104
-_081000B8:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _0810010E
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8101A5C
- movs r0, 0x48
- movs r1, 0x3F
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x3B
- bl SetGpuReg
- movs r0, 0x3
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- movs r0, 0x2
- bl ShowBg
- movs r0, 0
- bl ShowBg
- bl sub_81021D4
- bl sub_8102320
- b _08100104
-_08100100:
- movs r0, 0
- b _08100110
-_08100104:
- ldr r0, _08100118 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810010E:
- movs r0, 0x1
-_08100110:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08100118: .4byte gUnknown_203ACEC
- thumb_func_end sub_80FFF98
-
- thumb_func_start sub_810011C
-sub_810011C: @ 810011C
- push {lr}
- ldr r0, _08100130 @ =gUnknown_203ACEC
- ldr r0, [r0]
- cmp r0, 0
- beq _0810012A
- bl Free
-_0810012A:
- pop {r0}
- bx r0
- .align 2, 0
-_08100130: .4byte gUnknown_203ACEC
- thumb_func_end sub_810011C
-
- thumb_func_start sub_8100134
-sub_8100134: @ 8100134
- push {lr}
- ldr r1, _08100148 @ =gUnknown_203ACEC
- ldr r1, [r1]
- movs r2, 0
- strh r0, [r1, 0x4]
- strh r2, [r1]
- bl sub_810014C
- pop {r0}
- bx r0
- .align 2, 0
-_08100148: .4byte gUnknown_203ACEC
- thumb_func_end sub_8100134
-
- thumb_func_start sub_810014C
-sub_810014C: @ 810014C
- push {lr}
- ldr r0, _08100164 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- cmp r0, 0x16
- bhi _08100250
- lsls r0, 2
- ldr r1, _08100168 @ =_0810016C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08100164: .4byte gUnknown_203ACEC
-_08100168: .4byte _0810016C
- .align 2, 0
-_0810016C:
- .4byte _08100250
- .4byte _081001C8
- .4byte _081001CE
- .4byte _081001D4
- .4byte _081001DA
- .4byte _081001E0
- .4byte _081001E6
- .4byte _081001EC
- .4byte _081001F2
- .4byte _081001F8
- .4byte _081001FE
- .4byte _08100204
- .4byte _0810020A
- .4byte _08100210
- .4byte _08100216
- .4byte _0810021C
- .4byte _08100222
- .4byte _08100228
- .4byte _0810022E
- .4byte _08100234
- .4byte _0810023A
- .4byte _08100240
- .4byte _08100246
-_081001C8:
- bl sub_8100258
- b _0810024A
-_081001CE:
- bl sub_8100290
- b _0810024A
-_081001D4:
- bl sub_8100374
- b _0810024A
-_081001DA:
- bl sub_8100430
- b _0810024A
-_081001E0:
- bl sub_81003A8
- b _0810024A
-_081001E6:
- bl sub_81003EC
- b _0810024A
-_081001EC:
- bl sub_8100474
- b _0810024A
-_081001F2:
- bl sub_81004B8
- b _0810024A
-_081001F8:
- bl sub_81004F4
- b _0810024A
-_081001FE:
- bl sub_81005C0
- b _0810024A
-_08100204:
- bl sub_81007D0
- b _0810024A
-_0810020A:
- bl sub_8100890
- b _0810024A
-_08100210:
- bl sub_810093C
- b _0810024A
-_08100216:
- bl sub_8100720
- b _0810024A
-_0810021C:
- bl sub_810072C
- b _0810024A
-_08100222:
- bl sub_8100774
- b _0810024A
-_08100228:
- bl sub_81009F8
- b _0810024A
-_0810022E:
- bl sub_8100A78
- b _0810024A
-_08100234:
- bl sub_8100A04
- b _0810024A
-_0810023A:
- bl sub_8100B70
- b _0810024A
-_08100240:
- bl sub_8100AE8
- b _0810024A
-_08100246:
- bl sub_8100660
-_0810024A:
- lsls r0, 24
- lsrs r0, 24
- b _08100252
-_08100250:
- movs r0, 0
-_08100252:
- pop {r1}
- bx r1
- thumb_func_end sub_810014C
-
- thumb_func_start sub_8100258
-sub_8100258: @ 8100258
- push {r4,lr}
- ldr r4, _0810026C @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100270
- cmp r0, 0x1
- beq _0810027E
- b _08100288
- .align 2, 0
-_0810026C: .4byte gUnknown_203ACEC
-_08100270:
- bl sub_8100FDC
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100288
-_0810027E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0810028A
-_08100288:
- movs r0, 0x1
-_0810028A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100258
-
- thumb_func_start sub_8100290
-sub_8100290: @ 8100290
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- bl sub_80FFD1C
- adds r4, r0, 0
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_80FFD40
- lsls r0, 24
- lsrs r7, r0, 24
- bl sub_80FFD4C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl sub_80FFD34
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- lsls r0, 1
- adds r4, r0
- ldr r1, _08100304 @ =gUnknown_843F888
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 19
- movs r1, 0xD0
- lsls r1, 12
- adds r0, r1
- lsrs r6, r0, 16
- movs r5, 0
- cmp r5, r7
- bcs _0810033A
- ldr r2, _08100308 @ =0x0000ffff
- mov r10, r2
-_081002EE:
- ldrh r0, [r4]
- cmp r0, r10
- bne _08100310
- movs r0, 0x1
- ldr r1, _0810030C @ =gUnknown_843F8D8
- movs r2, 0
- bl GetStringWidth
- lsls r1, r0, 3
- subs r0, r1, r0
- b _08100322
- .align 2, 0
-_08100304: .4byte gUnknown_843F888
-_08100308: .4byte 0x0000ffff
-_0810030C: .4byte gUnknown_843F8D8
-_08100310:
- ldrh r1, [r4]
- mov r0, sp
- bl CopyEasyChatWord
- movs r0, 0x1
- mov r1, sp
- movs r2, 0
- bl GetStringWidth
-_08100322:
- adds r0, 0x11
- lsls r1, r6, 16
- asrs r1, 16
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- adds r4, 0x2
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _081002EE
-_0810033A:
- ldr r1, _08100370 @ =gUnknown_843F888
- mov r2, r9
- lsls r0, r2, 2
- adds r0, r1
- mov r2, r8
- lsls r1, r2, 1
- ldrb r0, [r0, 0x1]
- adds r1, r0
- adds r1, 0x1
- lsls r1, 3
- adds r1, 0x1
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_8101B58
- movs r0, 0
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08100370: .4byte gUnknown_843F888
- thumb_func_end sub_8100290
-
- thumb_func_start sub_8100374
-sub_8100374: @ 8100374
- push {lr}
- bl sub_80FFD40
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08100396
- cmp r0, 0x1
- bgt _0810038C
- cmp r0, 0
- beq _08100392
- b _081003A2
-_0810038C:
- cmp r0, 0x2
- beq _0810039A
- b _081003A2
-_08100392:
- movs r0, 0x1C
- b _0810039C
-_08100396:
- movs r0, 0x73
- b _0810039C
-_0810039A:
- movs r0, 0xBF
-_0810039C:
- movs r1, 0x61
- bl sub_8101B58
-_081003A2:
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8100374
-
- thumb_func_start sub_81003A8
-sub_81003A8: @ 81003A8
- push {r4,lr}
- ldr r4, _081003BC @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _081003C0
- cmp r0, 0x1
- beq _081003DA
- b _081003E4
- .align 2, 0
-_081003BC: .4byte gUnknown_203ACEC
-_081003C0:
- bl sub_8101B88
- movs r0, 0x2
- bl sub_8100E7C
- movs r0, 0x1
- bl sub_8100F18
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081003E4
-_081003DA:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _081003E6
-_081003E4:
- movs r0, 0x1
-_081003E6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81003A8
-
- thumb_func_start sub_81003EC
-sub_81003EC: @ 81003EC
- push {r4,lr}
- ldr r4, _08100400 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100404
- cmp r0, 0x1
- beq _0810041E
- b _08100428
- .align 2, 0
-_08100400: .4byte gUnknown_203ACEC
-_08100404:
- bl sub_8101B88
- movs r0, 0x3
- bl sub_8100E7C
- movs r0, 0
- bl sub_8100F18
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100428
-_0810041E:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0810042A
-_08100428:
- movs r0, 0x1
-_0810042A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81003EC
-
- thumb_func_start sub_8100430
-sub_8100430: @ 8100430
- push {r4,lr}
- ldr r4, _08100444 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100448
- cmp r0, 0x1
- beq _08100462
- b _0810046C
- .align 2, 0
-_08100444: .4byte gUnknown_203ACEC
-_08100448:
- bl sub_8101B88
- movs r0, 0x1
- bl sub_8100E7C
- movs r0, 0x1
- bl sub_8100F18
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0810046C
-_08100462:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _0810046E
-_0810046C:
- movs r0, 0x1
-_0810046E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100430
-
- thumb_func_start sub_8100474
-sub_8100474: @ 8100474
- push {r4,lr}
- ldr r4, _08100488 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _0810048C
- cmp r0, 0x1
- beq _081004A6
- b _081004B0
- .align 2, 0
-_08100488: .4byte gUnknown_203ACEC
-_0810048C:
- bl sub_8101BA8
- movs r0, 0
- bl sub_8100E7C
- movs r0, 0
- bl ShowBg
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081004B0
-_081004A6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
- b _081004B2
-_081004B0:
- movs r0, 0x1
-_081004B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100474
-
- thumb_func_start sub_81004B8
-sub_81004B8: @ 81004B8
- push {r4,lr}
- ldr r4, _081004CC @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _081004D0
- cmp r0, 0x1
- beq _081004E6
- movs r0, 0x1
- b _081004EE
- .align 2, 0
-_081004CC: .4byte gUnknown_203ACEC
-_081004D0:
- bl sub_8101BA8
- movs r0, 0
- bl sub_8100E7C
- bl sub_8100FDC
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081004E6:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- lsrs r0, 24
-_081004EE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81004B8
-
- thumb_func_start sub_81004F4
-sub_81004F4: @ 81004F4
- push {lr}
- ldr r0, _0810050C @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081005AE
- lsls r0, 2
- ldr r1, _08100510 @ =_08100514
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0810050C: .4byte gUnknown_203ACEC
-_08100510: .4byte _08100514
- .align 2, 0
-_08100514:
- .4byte _08100528
- .4byte _08100544
- .4byte _08100556
- .4byte _0810056C
- .4byte _0810058C
-_08100528:
- bl sub_8101B88
- movs r0, 0
- bl HideBg
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8101A5C
- bl sub_810131C
- b _0810057A
-_08100544:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- movs r0, 0
- bl sub_81015D4
- b _0810057A
-_08100556:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- b _0810057A
-_0810056C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- bl sub_8101FAC
-_0810057A:
- ldr r0, _08100588 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081005B8
- .align 2, 0
-_08100588: .4byte gUnknown_203ACEC
-_0810058C:
- bl sub_8102018
- lsls r0, 24
- cmp r0, 0
- bne _081005B8
- bl sub_8101BC0
- movs r0, 0
- bl sub_81022E0
- bl sub_810224C
- ldr r0, _081005B4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081005AE:
- movs r0, 0
- b _081005BA
- .align 2, 0
-_081005B4: .4byte gUnknown_203ACEC
-_081005B8:
- movs r0, 0x1
-_081005BA:
- pop {r1}
- bx r1
- thumb_func_end sub_81004F4
-
- thumb_func_start sub_81005C0
-sub_81005C0: @ 81005C0
- push {lr}
- ldr r0, _081005D8 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _08100658
- lsls r0, 2
- ldr r1, _081005DC @ =_081005E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081005D8: .4byte gUnknown_203ACEC
-_081005DC: .4byte _081005E0
- .align 2, 0
-_081005E0:
- .4byte _081005F4
- .4byte _08100602
- .4byte _0810061E
- .4byte _08100630
- .4byte _08100654
-_081005F4:
- bl sub_8101C48
- bl sub_81020AC
- bl sub_81022B0
- b _08100644
-_08100602:
- bl sub_81020D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08100658
- movs r0, 0x1
- bl sub_81015D4
- ldr r0, _0810062C @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810061E:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100658
- b _08100644
- .align 2, 0
-_0810062C: .4byte gUnknown_203ACEC
-_08100630:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100658
- bl sub_8101BA8
- movs r0, 0
- bl ShowBg
-_08100644:
- ldr r0, _08100650 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100658
- .align 2, 0
-_08100650: .4byte gUnknown_203ACEC
-_08100654:
- movs r0, 0
- b _0810065A
-_08100658:
- movs r0, 0x1
-_0810065A:
- pop {r1}
- bx r1
- thumb_func_end sub_81005C0
-
- thumb_func_start sub_8100660
-sub_8100660: @ 8100660
- push {lr}
- ldr r0, _08100678 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _08100718
- lsls r0, 2
- ldr r1, _0810067C @ =_08100680
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08100678: .4byte gUnknown_203ACEC
-_0810067C: .4byte _08100680
- .align 2, 0
-_08100680:
- .4byte _08100694
- .4byte _081006A8
- .4byte _081006C2
- .4byte _081006E8
- .4byte _0810070E
-_08100694:
- bl sub_8101C48
- bl sub_81022B0
- bl sub_810215C
- movs r0, 0x5
- bl sub_81015D4
- b _081006D6
-_081006A8:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_81021B8
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_810131C
- b _081006D6
-_081006C2:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- movs r0, 0x6
- bl sub_81015D4
- bl sub_8102178
-_081006D6:
- ldr r0, _081006E4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100718
- .align 2, 0
-_081006E4: .4byte gUnknown_203ACEC
-_081006E8:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_81021B8
- lsls r0, 24
- cmp r0, 0
- bne _08100718
- bl sub_810224C
- bl sub_8101BC0
- ldr r0, _08100714 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810070E:
- movs r0, 0
- b _0810071A
- .align 2, 0
-_08100714: .4byte gUnknown_203ACEC
-_08100718:
- movs r0, 0x1
-_0810071A:
- pop {r1}
- bx r1
- thumb_func_end sub_8100660
-
- thumb_func_start sub_8100720
-sub_8100720: @ 8100720
- push {lr}
- bl sub_8101C80
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8100720
-
- thumb_func_start sub_810072C
-sub_810072C: @ 810072C
- push {r4,lr}
- ldr r4, _08100740 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0
- beq _08100744
- cmp r0, 0x1
- beq _08100754
- b _0810076A
- .align 2, 0
-_08100740: .4byte gUnknown_203ACEC
-_08100744:
- movs r0, 0x1
- movs r1, 0x2
- bl sub_81019B0
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100754:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _0810076A
- bl sub_8101C80
- bl sub_810224C
- movs r0, 0
- b _0810076C
-_0810076A:
- movs r0, 0x1
-_0810076C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810072C
-
- thumb_func_start sub_8100774
-sub_8100774: @ 8100774
- push {r4,lr}
- ldr r4, _0810078C @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _081007A8
- cmp r0, 0x1
- bgt _08100790
- cmp r0, 0
- beq _08100796
- b _081007C8
- .align 2, 0
-_0810078C: .4byte gUnknown_203ACEC
-_08100790:
- cmp r0, 0x2
- beq _081007C0
- b _081007C8
-_08100796:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- bl sub_81019B0
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081007A8:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _081007C8
- bl sub_810224C
- ldr r0, _081007C4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_081007C0:
- movs r0, 0
- b _081007CA
- .align 2, 0
-_081007C4: .4byte gUnknown_203ACEC
-_081007C8:
- movs r0, 0x1
-_081007CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100774
-
- thumb_func_start sub_81007D0
-sub_81007D0: @ 81007D0
- push {lr}
- ldr r0, _081007E8 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bhi _08100888
- lsls r0, 2
- ldr r1, _081007EC @ =_081007F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081007E8: .4byte gUnknown_203ACEC
-_081007EC: .4byte _081007F0
- .align 2, 0
-_081007F0:
- .4byte _08100808
- .4byte _08100816
- .4byte _08100826
- .4byte _08100838
- .4byte _08100858
- .4byte _0810087E
-_08100808:
- bl sub_8101C48
- bl sub_81020AC
- bl sub_81022B0
- b _08100848
-_08100816:
- bl sub_81020D0
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- bl sub_81015BC
- b _08100848
-_08100826:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- movs r0, 0x2
- bl sub_81015D4
- b _08100848
-_08100838:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- movs r0, 0x2
- bl sub_81012E0
-_08100848:
- ldr r0, _08100854 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100888
- .align 2, 0
-_08100854: .4byte gUnknown_203ACEC
-_08100858:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100888
- bl sub_8101E80
- movs r0, 0x1
- bl sub_81022E0
- bl sub_810224C
- bl sub_8102394
- ldr r0, _08100884 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810087E:
- movs r0, 0
- b _0810088A
- .align 2, 0
-_08100884: .4byte gUnknown_203ACEC
-_08100888:
- movs r0, 0x1
-_0810088A:
- pop {r1}
- bx r1
- thumb_func_end sub_81007D0
-
- thumb_func_start sub_8100890
-sub_8100890: @ 8100890
- push {lr}
- ldr r0, _081008A8 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x5
- bhi _08100934
- lsls r0, 2
- ldr r1, _081008AC @ =_081008B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081008A8: .4byte gUnknown_203ACEC
-_081008AC: .4byte _081008B0
- .align 2, 0
-_081008B0:
- .4byte _081008C8
- .4byte _081008CE
- .4byte _081008E0
- .4byte _081008F2
- .4byte _08100914
- .4byte _0810092C
-_081008C8:
- bl sub_8100FDC
- b _08100902
-_081008CE:
- bl sub_8101F80
- bl sub_81022B0
- bl sub_81023F8
- bl sub_81015BC
- b _08100902
-_081008E0:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100934
- movs r0, 0x3
- bl sub_81015D4
- b _08100902
-_081008F2:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _08100934
- movs r0, 0
- bl ShowBg
-_08100902:
- ldr r0, _08100910 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100934
- .align 2, 0
-_08100910: .4byte gUnknown_203ACEC
-_08100914:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100934
- bl sub_8101BA8
- ldr r0, _08100930 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0810092C:
- movs r0, 0
- b _08100936
- .align 2, 0
-_08100930: .4byte gUnknown_203ACEC
-_08100934:
- movs r0, 0x1
-_08100936:
- pop {r1}
- bx r1
- thumb_func_end sub_8100890
-
- thumb_func_start sub_810093C
-sub_810093C: @ 810093C
- push {lr}
- ldr r0, _08100954 @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _081009F0
- lsls r0, 2
- ldr r1, _08100958 @ =_0810095C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08100954: .4byte gUnknown_203ACEC
-_08100958: .4byte _0810095C
- .align 2, 0
-_0810095C:
- .4byte _08100970
- .4byte _08100982
- .4byte _08100994
- .4byte _081009A4
- .4byte _081009C4
-_08100970:
- bl sub_8101F80
- bl sub_81022B0
- bl sub_81023F8
- bl sub_81015BC
- b _081009B2
-_08100982:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- movs r0, 0x4
- bl sub_81015D4
- b _081009B2
-_08100994:
- bl sub_81016AC
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- bl sub_810131C
- b _081009B2
-_081009A4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- bl sub_8101FAC
-_081009B2:
- ldr r0, _081009C0 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _081009F0
- .align 2, 0
-_081009C0: .4byte gUnknown_203ACEC
-_081009C4:
- bl sub_8102018
- lsls r0, 24
- cmp r0, 0
- bne _081009F0
- bl sub_8101BC0
- movs r0, 0
- bl sub_81022E0
- bl sub_810224C
- ldr r0, _081009EC @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _081009F2
- .align 2, 0
-_081009EC: .4byte gUnknown_203ACEC
-_081009F0:
- movs r0, 0x1
-_081009F2:
- pop {r1}
- bx r1
- thumb_func_end sub_810093C
-
- thumb_func_start sub_81009F8
-sub_81009F8: @ 81009F8
- push {lr}
- bl sub_8101F04
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_81009F8
-
- thumb_func_start sub_8100A04
-sub_8100A04: @ 8100A04
- push {r4,lr}
- ldr r4, _08100A1C @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100A30
- cmp r0, 0x1
- bgt _08100A20
- cmp r0, 0
- beq _08100A2A
- b _08100A6E
- .align 2, 0
-_08100A1C: .4byte gUnknown_203ACEC
-_08100A20:
- cmp r0, 0x2
- beq _08100A4C
- cmp r0, 0x3
- beq _08100A6A
- b _08100A6E
-_08100A2A:
- bl sub_81013EC
- b _08100A42
-_08100A30:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100A6E
- movs r0, 0x1
- movs r1, 0x2
- bl sub_81019B0
-_08100A42:
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100A6E
-_08100A4C:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100A6E
- bl sub_8101F04
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100A6A:
- movs r0, 0
- b _08100A70
-_08100A6E:
- movs r0, 0x1
-_08100A70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100A04
-
- thumb_func_start sub_8100A78
-sub_8100A78: @ 8100A78
- push {r4,lr}
- ldr r4, _08100A90 @ =gUnknown_203ACEC
- ldr r0, [r4]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100AA4
- cmp r0, 0x1
- bgt _08100A94
- cmp r0, 0
- beq _08100A9E
- b _08100AE0
- .align 2, 0
-_08100A90: .4byte gUnknown_203ACEC
-_08100A94:
- cmp r0, 0x2
- beq _08100AC2
- cmp r0, 0x3
- beq _08100ADC
- b _08100AE0
-_08100A9E:
- bl sub_8101410
- b _08100AB8
-_08100AA4:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100AE0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x2
- bl sub_81019B0
-_08100AB8:
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100AE0
-_08100AC2:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100AE0
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r4]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100ADC:
- movs r0, 0
- b _08100AE2
-_08100AE0:
- movs r0, 0x1
-_08100AE2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100A78
-
- thumb_func_start sub_8100AE8
-sub_8100AE8: @ 8100AE8
- push {r4,r5,lr}
- ldr r5, _08100B00 @ =gUnknown_203ACEC
- ldr r0, [r5]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100B14
- cmp r0, 0x1
- bgt _08100B04
- cmp r0, 0
- beq _08100B0E
- b _08100B66
- .align 2, 0
-_08100B00: .4byte gUnknown_203ACEC
-_08100B04:
- cmp r0, 0x2
- beq _08100B44
- cmp r0, 0x3
- beq _08100B62
- b _08100B66
-_08100B0E:
- bl sub_8101434
- b _08100B3A
-_08100B14:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100B66
- bl sub_80FFE48
- adds r4, r0, 0
- bl sub_8101A48
- lsls r4, 24
- lsrs r4, 24
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_81019B0
-_08100B3A:
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100B66
-_08100B44:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100B66
- bl sub_8101F04
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100B62:
- movs r0, 0
- b _08100B68
-_08100B66:
- movs r0, 0x1
-_08100B68:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8100AE8
-
- thumb_func_start sub_8100B70
-sub_8100B70: @ 8100B70
- push {r4,r5,lr}
- ldr r5, _08100B88 @ =gUnknown_203ACEC
- ldr r0, [r5]
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08100B9C
- cmp r0, 0x1
- bgt _08100B8C
- cmp r0, 0
- beq _08100B96
- b _08100BEA
- .align 2, 0
-_08100B88: .4byte gUnknown_203ACEC
-_08100B8C:
- cmp r0, 0x2
- beq _08100BCC
- cmp r0, 0x3
- beq _08100BE6
- b _08100BEA
-_08100B96:
- bl sub_8101478
- b _08100BC2
-_08100B9C:
- bl IsDma3ManagerBusyWithBgCopy
- lsls r0, 24
- cmp r0, 0
- bne _08100BEA
- bl sub_80FFE48
- adds r4, r0, 0
- bl sub_8101A48
- lsls r4, 24
- lsrs r4, 24
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_81019B0
-_08100BC2:
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08100BEA
-_08100BCC:
- bl sub_8101A10
- lsls r0, 24
- cmp r0, 0
- bne _08100BEA
- bl sub_810224C
- bl sub_8102394
- ldr r1, [r5]
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08100BE6:
- movs r0, 0
- b _08100BEC
-_08100BEA:
- movs r0, 0x1
-_08100BEC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8100B70
-
- thumb_func_start sub_8100BF4
-sub_8100BF4: @ 8100BF4
- push {r4,lr}
- ldr r4, _08100C50 @ =gUnknown_203ACEC
- movs r0, 0x98
- lsls r0, 5
- bl Alloc
- adds r2, r0, 0
- str r2, [r4]
- cmp r2, 0
- beq _08100C54
- movs r1, 0
- strh r1, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- adds r3, 0x4
- adds r0, r2, r3
- str r1, [r0]
- movs r0, 0x1
- b _08100C56
- .align 2, 0
-_08100C50: .4byte gUnknown_203ACEC
-_08100C54:
- movs r0, 0
-_08100C56:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8100BF4
-
- thumb_func_start sub_8100C5C
-sub_8100C5C: @ 8100C5C
- push {lr}
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_8100C5C
-
- thumb_func_start sub_8100CBC
-sub_8100CBC: @ 8100CBC
- push {r4,lr}
- bl ResetPaletteFade
- ldr r0, _08100D10 @ =gUnknown_8E99D8C
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08100D14 @ =gUnknown_843F76C
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08100D18 @ =gUnknown_843F78C
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08100D1C @ =gUnknown_843F874
- movs r1, 0xA0
- movs r2, 0x8
- bl LoadPalette
- ldr r4, _08100D20 @ =gUnknown_843F87C
- adds r0, r4, 0
- movs r1, 0xB0
- movs r2, 0xA
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0xA
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0xA
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100D10: .4byte gUnknown_8E99D8C
-_08100D14: .4byte gUnknown_843F76C
-_08100D18: .4byte gUnknown_843F78C
-_08100D1C: .4byte gUnknown_843F874
-_08100D20: .4byte gUnknown_843F87C
- thumb_func_end sub_8100CBC
-
- thumb_func_start sub_8100D24
-sub_8100D24: @ 8100D24
- push {r4,r5,lr}
- sub sp, 0x14
- bl sub_80FFCFC
- adds r5, r0, 0
- cmp r5, 0
- beq _08100D7A
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0
- bl GetStringWidth
- movs r4, 0x80
- subs r4, r0
- lsrs r4, 1
- movs r0, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- movs r0, 0x3
- str r0, [sp, 0x10]
- movs r0, 0
- movs r1, 0x1
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8100DC4
- movs r0, 0
- bl PutWindowTilemap
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
-_08100D7A:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8100D24
-
- thumb_func_start sub_8100D84
-sub_8100D84: @ 8100D84
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r2, 0
- ldr r2, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r0, r2, 24
- lsls r4, 24
- lsrs r4, 24
- cmp r1, 0x1
- bne _08100DAC
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
-_08100DAC:
- str r0, [sp]
- str r4, [sp, 0x4]
- ldr r0, [sp, 0x24]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- adds r2, r6, 0
- bl AddTextPrinterParameterized
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8100D84
-
- thumb_func_start sub_8100DC4
-sub_8100DC4: @ 8100DC4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r9, r2
- ldr r2, [sp, 0x2C]
- ldr r4, [sp, 0x30]
- ldr r5, [sp, 0x34]
- ldr r6, [sp, 0x38]
- ldr r7, [sp, 0x3C]
- mov r8, r7
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r2, 24
- lsrs r3, r2, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, 0x1
- bne _08100E0A
- adds r0, r3, 0x2
- lsls r0, 24
- lsrs r3, r0, 24
-_08100E0A:
- add r0, sp, 0xC
- strb r5, [r0]
- strb r6, [r0, 0x1]
- strb r2, [r0, 0x2]
- str r0, [sp]
- lsls r0, r4, 24
- asrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- mov r0, r12
- adds r2, r7, 0
- bl AddTextPrinterParameterized3
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8100DC4
-
- thumb_func_start sub_8100E34
-sub_8100E34: @ 8100E34
- push {lr}
- sub sp, 0xC
- movs r0, 0x20
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE0
- bl TextWindow_SetUserSelectedFrame
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0xE
- bl DrawTextBorderOuter
- movs r0, 0
- bl sub_8100E7C
- movs r0, 0x1
- bl PutWindowTilemap
- movs r0, 0
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8100E34
-
- thumb_func_start sub_8100E7C
-sub_8100E7C: @ 8100E7C
- push {lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- movs r0, 0
- str r0, [sp, 0x10]
- str r0, [sp, 0xC]
- cmp r1, 0x1
- beq _08100EC2
- cmp r1, 0x1
- bgt _08100E9A
- cmp r1, 0
- beq _08100EA4
- b _08100ECA
-_08100E9A:
- cmp r2, 0x2
- beq _08100EAE
- cmp r2, 0x3
- beq _08100EB8
- b _08100ECA
-_08100EA4:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFD58
- b _08100ECA
-_08100EAE:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFDC8
- b _08100ECA
-_08100EB8:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFD90
- b _08100ECA
-_08100EC2:
- add r1, sp, 0x10
- add r0, sp, 0xC
- bl sub_80FFDF4
-_08100ECA:
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _08100EEC
- movs r1, 0
- str r1, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
-_08100EEC:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- beq _08100F08
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
-_08100F08:
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r0}
- bx r0
- thumb_func_end sub_8100E7C
-
- thumb_func_start sub_8100F18
-sub_8100F18: @ 8100F18
- push {lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08100F40 @ =gUnknown_843F8D0
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0xE
- str r1, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r2, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x2
- bl CreateYesNoMenu
- add sp, 0xC
- pop {r0}
- bx r0
- .align 2, 0
-_08100F40: .4byte gUnknown_843F8D0
- thumb_func_end sub_8100F18
-
- thumb_func_start sub_8100F44
-sub_8100F44: @ 8100F44
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_80FFCE0
- lsls r0, 24
- ldr r5, _08100FC0 @ =0xffffff00
- ldr r3, [sp]
- ands r3, r5
- movs r1, 0x3
- orrs r3, r1
- str r3, [sp]
- ldr r1, _08100FC4 @ =gUnknown_843F888
- lsrs r0, 22
- adds r0, r1
- ldrb r2, [r0]
- lsls r2, 8
- ldr r4, _08100FC8 @ =0xffff00ff
- adds r1, r4, 0
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r2, [r0, 0x1]
- lsls r2, 16
- ldr r3, _08100FCC @ =0xff00ffff
- ands r3, r1
- orrs r3, r2
- str r3, [sp]
- ldrb r2, [r0, 0x2]
- lsls r2, 24
- ldr r1, _08100FD0 @ =0x00ffffff
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r1, [r0, 0x3]
- ldr r0, [sp, 0x4]
- ands r0, r5
- orrs r0, r1
- ands r0, r4
- movs r1, 0xB0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _08100FD4 @ =0x0000ffff
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl AddWindow
- ldr r1, _08100FD8 @ =gUnknown_203ACEC
- ldr r1, [r1]
- strh r0, [r1, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl PutWindowTilemap
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100FC0: .4byte 0xffffff00
-_08100FC4: .4byte gUnknown_843F888
-_08100FC8: .4byte 0xffff00ff
-_08100FCC: .4byte 0xff00ffff
-_08100FD0: .4byte 0x00ffffff
-_08100FD4: .4byte 0x0000ffff
-_08100FD8: .4byte gUnknown_203ACEC
- thumb_func_end sub_8100F44
-
- thumb_func_start sub_8100FDC
-sub_8100FDC: @ 8100FDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- bl sub_80FFD1C
- adds r4, r0, 0
- bl sub_80FFD34
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl sub_80FFD28
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- ldr r0, _0810101C @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r6, 0
- b _081010D6
- .align 2, 0
-_0810101C: .4byte gUnknown_203ACEC
-_08101020:
- ldr r0, _0810105C @ =gUnknown_203ACEC
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xA
- movs r0, 0xFF
- strb r0, [r1, 0xA]
- adds r0, r2, 0
- ldr r1, _08101060 @ =gUnknown_843F8DB
- bl StringAppend
- adds r2, r0, 0
- movs r5, 0
- lsls r7, r6, 28
- adds r0, r6, 0x1
- mov r9, r0
- cmp r5, r8
- bge _081010B4
- ldr r0, _08101064 @ =0x0000ffff
- mov r10, r0
-_08101046:
- ldrh r0, [r4]
- cmp r0, r10
- beq _08101068
- adds r1, r0, 0
- adds r0, r2, 0
- bl CopyEasyChatWord
- adds r2, r0, 0
- adds r4, 0x2
- b _08101096
- .align 2, 0
-_0810105C: .4byte gUnknown_203ACEC
-_08101060: .4byte gUnknown_843F8DB
-_08101064: .4byte 0x0000ffff
-_08101068:
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x4
- bl WriteColorChangeControlCode
- adds r2, r0, 0
- adds r4, 0x2
- movs r3, 0xF9
- movs r1, 0x9
- movs r0, 0x6
-_0810107C:
- strb r3, [r2]
- adds r2, 0x1
- strb r1, [r2]
- adds r2, 0x1
- subs r0, 0x1
- cmp r0, 0
- bge _0810107C
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0x2
- bl WriteColorChangeControlCode
- adds r2, r0, 0
-_08101096:
- adds r0, r2, 0
- ldr r1, _081010F8 @ =gUnknown_843F8DB
- bl StringAppend
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- bne _081010AE
- cmp r5, 0
- bne _081010AE
- cmp r6, 0x4
- beq _081010B4
-_081010AE:
- adds r5, 0x1
- cmp r5, r8
- blt _08101046
-_081010B4:
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _081010FC @ =gUnknown_203ACEC
- ldr r2, [r0]
- ldrb r0, [r2, 0x2]
- adds r2, 0xA
- lsrs r1, r7, 24
- str r1, [sp]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
- mov r6, r9
-_081010D6:
- ldr r0, [sp, 0xC]
- cmp r6, r0
- blt _08101020
- ldr r0, _081010FC @ =gUnknown_203ACEC
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081010F8: .4byte gUnknown_843F8DB
-_081010FC: .4byte gUnknown_203ACEC
- thumb_func_end sub_8100FDC
-
- thumb_func_start sub_8101100
-sub_8101100: @ 8101100
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- bl sub_80FFCE0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- str r0, [sp]
- ldr r2, _08101194 @ =0x01000200
- mov r0, sp
- mov r1, r8
- bl CpuFastSet
- cmp r5, 0x2
- bne _081011A4
- ldr r0, _08101198 @ =gUnknown_843F888
- adds r1, r0, 0
- adds r1, 0x8
- ldrb r5, [r0, 0x8]
- ldrb r0, [r1, 0x2]
- adds r4, r5, r0
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- adds r0, r2
- mov r12, r0
- adds r7, r2, 0
- cmp r7, r12
- blt _08101144
- b _08101296
-_08101144:
- adds r3, r5, 0
- lsls r0, r3, 1
- mov r9, r0
-_0810114A:
- subs r6, r3, 0x1
- lsls r0, r7, 5
- adds r1, r0, r6
- lsls r1, 1
- add r1, r8
- ldr r5, _0810119C @ =0x00001005
- adds r2, r5, 0
- strh r2, [r1]
- adds r6, r3, 0
- adds r5, r0, 0
- adds r2, r7, 0x1
- cmp r6, r4
- bge _0810117E
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0, 0
- lsls r0, r7, 6
- add r0, r8
- add r0, r9
- subs r6, r4, r6
-_08101172:
- strh r1, [r0]
- adds r0, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _08101172
- adds r6, r4, 0
-_0810117E:
- adds r0, r5, r6
- lsls r0, 1
- add r0, r8
- ldr r5, _081011A0 @ =0x00001007
- adds r1, r5, 0
- strh r1, [r0]
- adds r7, r2, 0
- cmp r7, r12
- blt _0810114A
- b _08101296
- .align 2, 0
-_08101194: .4byte 0x01000200
-_08101198: .4byte gUnknown_843F888
-_0810119C: .4byte 0x00001005
-_081011A0: .4byte 0x00001007
-_081011A4:
- ldr r6, _081012A8 @ =gUnknown_843F888
- mov r9, r6
- lsls r5, 2
- adds r1, r5, r6
- ldrb r3, [r1, 0x1]
- subs r7, r3, 0x1
- ldrb r2, [r1]
- subs r6, r2, 0x1
- ldrb r0, [r1, 0x2]
- adds r4, r2, r0
- ldrb r0, [r1, 0x3]
- adds r3, r0
- mov r12, r3
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r3, _081012AC @ =0x00001001
- adds r1, r3, 0
- strh r1, [r0]
- adds r6, r2, 0
- mov r10, r9
- mov r9, r5
- cmp r6, r4
- bge _081011F0
- ldr r5, _081012B0 @ =0x00001002
- adds r2, r5, 0
- lsls r1, r6, 1
- lsls r0, r7, 6
- add r0, r8
- adds r1, r0
- subs r6, r4, r6
-_081011E4:
- strh r2, [r1]
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _081011E4
- adds r6, r4, 0
-_081011F0:
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r6, _081012B4 @ =0x00001003
- adds r1, r6, 0
- strh r1, [r0]
- adds r7, 0x1
- cmp r7, r12
- bge _08101252
- ldr r0, _081012A8 @ =gUnknown_843F888
- add r0, r9
- ldrb r3, [r0]
- lsls r5, r3, 1
-_0810120C:
- subs r6, r3, 0x1
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r2, _081012B8 @ =0x00001005
- adds r1, r2, 0
- strh r1, [r0]
- adds r6, r3, 0
- adds r2, r7, 0x1
- cmp r6, r4
- bge _0810123E
- movs r0, 0x80
- lsls r0, 5
- adds r1, r0, 0
- lsls r0, r7, 6
- add r0, r8
- adds r0, r5, r0
- subs r6, r4, r6
-_08101232:
- strh r1, [r0]
- adds r0, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _08101232
- adds r6, r4, 0
-_0810123E:
- lsls r0, r7, 5
- adds r0, r6
- lsls r0, 1
- add r0, r8
- ldr r6, _081012BC @ =0x00001007
- adds r1, r6, 0
- strh r1, [r0]
- adds r7, r2, 0
- cmp r7, r12
- blt _0810120C
-_08101252:
- mov r0, r9
- add r0, r10
- ldrb r3, [r0]
- subs r6, r3, 0x1
- lsls r2, r7, 5
- adds r0, r2, r6
- lsls r0, 1
- add r0, r8
- ldr r5, _081012C0 @ =0x00001009
- adds r1, r5, 0
- strh r1, [r0]
- adds r6, r3, 0
- adds r5, r2, 0
- cmp r6, r4
- bge _0810128A
- ldr r0, _081012C4 @ =0x0000100a
- adds r2, r0, 0
- lsls r1, r6, 1
- lsls r0, r7, 6
- add r0, r8
- adds r0, r1, r0
- subs r6, r4, r6
-_0810127E:
- strh r2, [r0]
- adds r0, 0x2
- subs r6, 0x1
- cmp r6, 0
- bne _0810127E
- adds r6, r4, 0
-_0810128A:
- adds r0, r5, r6
- lsls r0, 1
- add r0, r8
- ldr r2, _081012C8 @ =0x0000100b
- adds r1, r2, 0
- strh r1, [r0]
-_08101296:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081012A8: .4byte gUnknown_843F888
-_081012AC: .4byte 0x00001001
-_081012B0: .4byte 0x00001002
-_081012B4: .4byte 0x00001003
-_081012B8: .4byte 0x00001005
-_081012BC: .4byte 0x00001007
-_081012C0: .4byte 0x00001009
-_081012C4: .4byte 0x0000100a
-_081012C8: .4byte 0x0000100b
- thumb_func_end sub_8101100
-
- thumb_func_start sub_81012CC
-sub_81012CC: @ 81012CC
- push {lr}
- movs r0, 0x2
- bl PutWindowTilemap
- movs r0, 0x2
- bl CopyBgTilemapBufferToVram
- pop {r0}
- bx r0
- thumb_func_end sub_81012CC
-
- thumb_func_start sub_81012E0
-sub_81012E0: @ 81012E0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_810198C
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- cmp r4, 0x1
- beq _08101304
- cmp r4, 0x1
- bcc _081012FE
- cmp r4, 0x2
- beq _0810130A
- b _0810130E
-_081012FE:
- bl sub_810133C
- b _0810130E
-_08101304:
- bl sub_81013A0
- b _0810130E
-_0810130A:
- bl sub_81013DC
-_0810130E:
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81012E0
-
- thumb_func_start sub_810131C
-sub_810131C: @ 810131C
- push {lr}
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _08101330
- movs r0, 0
- bl sub_81012E0
- b _08101336
-_08101330:
- movs r0, 0x1
- bl sub_81012E0
-_08101336:
- pop {r0}
- bx r0
- thumb_func_end sub_810131C
-
- thumb_func_start sub_810133C
-sub_810133C: @ 810133C
- push {r4-r7,lr}
- sub sp, 0xC
- movs r5, 0
- movs r7, 0x60
-_08101344:
- movs r4, 0
- lsls r0, r7, 24
- lsrs r6, r0, 24
-_0810134A:
- lsls r0, r5, 24
- lsrs r0, 24
- adds r5, 0x1
- bl GetSelectedGroupByIndex
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- beq _0810138A
- bl GetEasyChatWordGroupName
- adds r2, r0, 0
- movs r0, 0x54
- adds r3, r4, 0
- muls r3, r0
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- str r6, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8100D84
- adds r4, 0x1
- cmp r4, 0x1
- ble _0810134A
- adds r7, 0x10
- b _08101344
-_0810138A:
- bl sub_80FFE28
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_81019B0
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810133C
-
- thumb_func_start sub_81013A0
-sub_81013A0: @ 81013A0
- push {r4-r6,lr}
- sub sp, 0xC
- movs r5, 0
- movs r4, 0xC0
- lsls r4, 23
- ldr r6, _081013D8 @ =gUnknown_843F8E0
-_081013AC:
- ldm r6!, {r2}
- lsrs r0, r4, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- movs r3, 0xA
- bl sub_8100D84
- movs r0, 0x80
- lsls r0, 21
- adds r4, r0
- adds r5, 0x1
- cmp r5, 0x3
- bls _081013AC
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081013D8: .4byte gUnknown_843F8E0
- thumb_func_end sub_81013A0
-
- thumb_func_start sub_81013DC
-sub_81013DC: @ 81013DC
- push {lr}
- movs r0, 0
- movs r1, 0x4
- bl sub_81014AC
- pop {r0}
- bx r0
- thumb_func_end sub_81013DC
-
- thumb_func_start sub_81013EC
-sub_81013EC: @ 81013EC
- push {r4,lr}
- bl sub_80FFE48
- adds r4, r0, 0
- adds r4, 0x3
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8101558
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81014AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81013EC
-
- thumb_func_start sub_8101410
-sub_8101410: @ 8101410
- push {r4,lr}
- bl sub_80FFE48
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8101558
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_81014AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101410
-
- thumb_func_start sub_8101434
-sub_8101434: @ 8101434
- push {r4,r5,lr}
- bl sub_80FFE48
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- adds r0, r5, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80FFE54
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bls _08101456
- adds r4, r0, 0
-_08101456:
- cmp r5, r4
- bcs _08101470
- subs r4, r5
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8101558
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81014AC
-_08101470:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101434
-
- thumb_func_start sub_8101478
-sub_8101478: @ 8101478
- push {r4,r5,lr}
- bl sub_80FFE48
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8101A48
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- bcs _081014A4
- subs r4, r0, r5
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8101558
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81014AC
-_081014A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101478
-
- thumb_func_start sub_81014AC
-sub_81014AC: @ 81014AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r4, r0, 1
- lsls r0, 4
- adds r1, r0, 0
- adds r1, 0x60
- movs r0, 0xFF
- ands r1, r0
- movs r0, 0
- cmp r0, r10
- bge _08101538
- ldr r2, _08101550 @ =gUnknown_203ACEC
- mov r9, r2
-_081014D8:
- movs r5, 0
- movs r2, 0x10
- adds r2, r1
- mov r8, r2
- adds r7, r0, 0x1
- lsls r0, r1, 24
- lsrs r6, r0, 24
-_081014E6:
- lsls r0, r4, 16
- lsrs r0, 16
- adds r4, 0x1
- bl GetDisplayedWordByIndex
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _08101554 @ =0x0000ffff
- cmp r1, r0
- beq _0810152A
- mov r2, r9
- ldr r0, [r2]
- adds r0, 0xCB
- movs r2, 0
- bl CopyEasyChatWordPadded
- mov r0, r9
- ldr r2, [r0]
- adds r2, 0xCB
- movs r0, 0xD
- adds r3, r5, 0
- muls r3, r0
- adds r3, 0x3
- lsls r3, 27
- lsrs r3, 24
- str r6, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8100D84
-_0810152A:
- adds r5, 0x1
- cmp r5, 0x1
- ble _081014E6
- mov r1, r8
- adds r0, r7, 0
- cmp r0, r10
- blt _081014D8
-_08101538:
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101550: .4byte gUnknown_203ACEC
-_08101554: .4byte 0x0000ffff
- thumb_func_end sub_81014AC
-
- thumb_func_start sub_8101558
-sub_8101558: @ 8101558
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r0, 20
- adds r3, r0, 0
- adds r3, 0x60
- movs r0, 0xFF
- ands r3, r0
- lsrs r0, r1, 20
- adds r1, r3, r0
- cmp r1, 0xFF
- ble _08101584
- ldr r0, _08101580 @ =0xffffff00
- adds r4, r1, r0
- movs r0, 0x80
- lsls r0, 1
- subs r0, r3
- b _08101586
- .align 2, 0
-_08101580: .4byte 0xffffff00
-_08101584:
- movs r4, 0
-_08101586:
- movs r5, 0xE0
- str r5, [sp]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- bl FillWindowPixelRect
- cmp r4, 0
- beq _081015B2
- str r5, [sp]
- lsls r0, r4, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0x11
- movs r2, 0
- movs r3, 0
- bl FillWindowPixelRect
-_081015B2:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101558
-
- thumb_func_start sub_81015BC
-sub_81015BC: @ 81015BC
- push {lr}
- movs r0, 0x2
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r0, 0x2
- movs r1, 0x2
- bl CopyWindowToVram
- pop {r0}
- bx r0
- thumb_func_end sub_81015BC
-
- thumb_func_start sub_81015D4
-sub_81015D4: @ 81015D4
- push {lr}
- ldr r1, _081015E8 @ =gUnknown_203ACEC
- cmp r0, 0x6
- bhi _0810168E
- lsls r0, 2
- ldr r1, _081015EC @ =_081015F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081015E8: .4byte gUnknown_203ACEC
-_081015EC: .4byte _081015F0
- .align 2, 0
-_081015F0:
- .4byte _0810160C
- .4byte _08101620
- .4byte _08101630
- .4byte _08101644
- .4byte _08101658
- .4byte _0810166C
- .4byte _08101680
-_0810160C:
- ldr r1, _0810161C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0xA
- b _0810168C
- .align 2, 0
-_0810161C: .4byte gUnknown_203ACEC
-_08101620:
- ldr r1, _0810162C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x9
- b _0810164C
- .align 2, 0
-_0810162C: .4byte gUnknown_203ACEC
-_08101630:
- ldr r1, _08101640 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0xB
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x11
- b _0810168C
- .align 2, 0
-_08101640: .4byte gUnknown_203ACEC
-_08101644:
- ldr r1, _08101654 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x11
-_0810164C:
- strb r0, [r2, 0x6]
- ldr r0, [r1]
- strb r3, [r0, 0x7]
- b _0810168E
- .align 2, 0
-_08101654: .4byte gUnknown_203ACEC
-_08101658:
- ldr r1, _08101668 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0x11
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0xA
- b _0810168C
- .align 2, 0
-_08101668: .4byte gUnknown_203ACEC
-_0810166C:
- ldr r1, _0810167C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0x12
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x16
- b _0810168C
- .align 2, 0
-_0810167C: .4byte gUnknown_203ACEC
-_08101680:
- ldr r1, _081016A8 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r0, 0x16
- strb r0, [r2, 0x6]
- ldr r2, [r1]
- movs r0, 0x12
-_0810168C:
- strb r0, [r2, 0x7]
-_0810168E:
- ldr r1, [r1]
- ldrb r0, [r1, 0x6]
- movs r3, 0x1
- negs r3, r3
- adds r2, r3, 0
- ldrb r3, [r1, 0x7]
- cmp r0, r3
- bcs _081016A0
- movs r2, 0x1
-_081016A0:
- strb r2, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_081016A8: .4byte gUnknown_203ACEC
- thumb_func_end sub_81015D4
-
- thumb_func_start sub_81016AC
-sub_81016AC: @ 81016AC
- push {r4,lr}
- ldr r4, _081016D8 @ =gUnknown_203ACEC
- ldr r1, [r4]
- ldrb r2, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- cmp r2, r0
- beq _081016DC
- ldrb r0, [r1, 0x8]
- adds r0, r2, r0
- strb r0, [r1, 0x6]
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- bl sub_81016E4
- ldr r0, [r4]
- ldrb r1, [r0, 0x6]
- ldrb r0, [r0, 0x7]
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _081016DE
- .align 2, 0
-_081016D8: .4byte gUnknown_203ACEC
-_081016DC:
- movs r0, 0
-_081016DE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81016AC
-
- thumb_func_start sub_81016E4
-sub_81016E4: @ 81016E4
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1E
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl FillBgTilemapBufferRect_Palette0
- cmp r4, 0x16
- bls _08101706
- b _08101822
-_08101706:
- lsls r0, r4, 2
- ldr r1, _08101710 @ =_08101714
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08101710: .4byte _08101714
- .align 2, 0
-_08101714:
- .4byte _08101822
- .4byte _08101770
- .4byte _08101778
- .4byte _08101780
- .4byte _08101788
- .4byte _08101790
- .4byte _08101798
- .4byte _08101808
- .4byte _081017FA
- .4byte _081017EC
- .4byte _081017DE
- .4byte _081017A6
- .4byte _081017AE
- .4byte _081017B6
- .4byte _081017BE
- .4byte _081017C6
- .4byte _081017CE
- .4byte _081017D6
- .4byte _081017DE
- .4byte _081017EC
- .4byte _081017FA
- .4byte _08101808
- .4byte _08101816
-_08101770:
- movs r0, 0xB
- movs r1, 0xE
- movs r2, 0x3
- b _0810179E
-_08101778:
- movs r0, 0x9
- movs r1, 0xE
- movs r2, 0x7
- b _0810179E
-_08101780:
- movs r0, 0x7
- movs r1, 0xE
- movs r2, 0xB
- b _0810179E
-_08101788:
- movs r0, 0x5
- movs r1, 0xE
- movs r2, 0xF
- b _0810179E
-_08101790:
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x13
- b _0810179E
-_08101798:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
-_0810179E:
- movs r3, 0x2
- bl sub_8101830
- b _08101822
-_081017A6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x18
- b _081017E4
-_081017AE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x19
- b _081017E4
-_081017B6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1A
- b _081017E4
-_081017BE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1B
- b _081017E4
-_081017C6:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1C
- b _081017E4
-_081017CE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x1D
- b _081017E4
-_081017D6:
- movs r0, 0
- movs r1, 0xA
- movs r2, 0x1E
- b _081017E4
-_081017DE:
- movs r0, 0x1
- movs r1, 0xA
- movs r2, 0x17
-_081017E4:
- movs r3, 0xA
- bl sub_8101830
- b _08101822
-_081017EC:
- movs r0, 0x1
- movs r1, 0xB
- movs r2, 0x17
- movs r3, 0x8
- bl sub_8101830
- b _08101822
-_081017FA:
- movs r0, 0x1
- movs r1, 0xC
- movs r2, 0x17
- movs r3, 0x6
- bl sub_8101830
- b _08101822
-_08101808:
- movs r0, 0x1
- movs r1, 0xD
- movs r2, 0x17
- movs r3, 0x4
- bl sub_8101830
- b _08101822
-_08101816:
- movs r0, 0x1
- movs r1, 0xE
- movs r2, 0x17
- movs r3, 0x2
- bl sub_8101830
-_08101822:
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81016E4
-
- thumb_func_start sub_8101830
-sub_8101830: @ 8101830
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r0
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- ldr r0, _08101968 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- adds r6, r0, r1
- mov r0, r12
- add r0, r9
- subs r5, r0, 0x1
- adds r0, r7, r3
- subs r0, 0x1
- mov r8, r0
- mov r2, r12
- adds r3, r7, 0
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r4, _0810196C @ =0x00004001
- adds r1, r4, 0
- strh r1, [r0]
- adds r2, 0x1
- cmp r2, r5
- bge _0810188C
- ldr r0, _08101970 @ =0x00004002
- adds r4, r0, 0
- lsls r1, r2, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r1, r0
- subs r2, r5, r2
-_08101880:
- strh r4, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08101880
- adds r2, r5, 0
-_0810188C:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, _08101974 @ =0x00004003
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, 0x1
- mov r4, r12
- adds r4, 0x1
- adds r0, r7, 0x1
- str r0, [sp, 0x4]
- mov r1, r9
- subs r1, 0x2
- str r1, [sp]
- movs r2, 0x2
- negs r2, r2
- add r10, r2
- cmp r3, r8
- bge _081018FC
- lsls r7, r4, 1
- mov r9, r7
-_081018B8:
- lsls r0, r3, 5
- add r0, r12
- lsls r0, 1
- adds r0, r6
- ldr r2, _08101978 @ =0x00004005
- adds r1, r2, 0
- strh r1, [r0]
- adds r2, r4, 0
- adds r7, r3, 0x1
- cmp r4, r5
- bge _081018E8
- movs r0, 0x80
- lsls r0, 7
- adds r1, r0, 0
- lsls r0, r3, 6
- adds r0, r6
- add r0, r9
- subs r2, r5, r4
-_081018DC:
- strh r1, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _081018DC
- adds r2, r5, 0
-_081018E8:
- lsls r0, r3, 5
- adds r0, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, _0810197C @ =0x00004007
- adds r1, r2, 0
- strh r1, [r0]
- adds r3, r7, 0
- cmp r3, r8
- blt _081018B8
-_081018FC:
- lsls r0, r3, 5
- mov r7, r12
- adds r1, r0, r7
- lsls r1, 1
- adds r1, r6
- ldr r7, _08101980 @ =0x00004009
- adds r2, r7, 0
- strh r2, [r1]
- adds r2, r4, 0
- mov r12, r0
- cmp r4, r5
- bge _0810192E
- ldr r0, _08101984 @ =0x0000400a
- adds r7, r0, 0
- lsls r1, r4, 1
- lsls r0, r3, 6
- adds r0, r6
- adds r0, r1, r0
- subs r2, r5, r4
-_08101922:
- strh r7, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08101922
- adds r2, r5, 0
-_0810192E:
- mov r1, r12
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r6
- ldr r2, _08101988 @ =0x0000400b
- adds r1, r2, 0
- strh r1, [r0]
- lsls r0, r4, 27
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- lsls r1, r3, 27
- lsrs r1, 24
- ldr r4, [sp]
- lsls r2, r4, 27
- lsrs r2, 24
- mov r7, r10
- lsls r3, r7, 27
- lsrs r3, 24
- bl sub_8101A5C
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101968: .4byte gUnknown_203ACEC
-_0810196C: .4byte 0x00004001
-_08101970: .4byte 0x00004002
-_08101974: .4byte 0x00004003
-_08101978: .4byte 0x00004005
-_0810197C: .4byte 0x00004007
-_08101980: .4byte 0x00004009
-_08101984: .4byte 0x0000400a
-_08101988: .4byte 0x0000400b
- thumb_func_end sub_8101830
-
- thumb_func_start sub_810198C
-sub_810198C: @ 810198C
- push {lr}
- movs r1, 0x80
- lsls r1, 4
- movs r0, 0x2
- movs r2, 0
- bl ChangeBgY
- ldr r0, _081019AC @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_081019AC: .4byte gUnknown_203ACEC
- thumb_func_end sub_810198C
-
- thumb_func_start sub_81019B0
-sub_81019B0: @ 81019B0
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r1, 24
- lsrs r5, r1, 24
- movs r0, 0x2
- bl GetBgY
- adds r2, r0, 0
- ldr r0, _081019FC @ =gUnknown_203ACEC
- ldr r3, [r0]
- movs r0, 0xB3
- lsls r0, 2
- adds r1, r3, r0
- ldrh r0, [r1]
- adds r0, r4
- strh r0, [r1]
- lsls r4, 20
- asrs r4, 16
- lsls r0, r4, 8
- adds r2, r0
- cmp r5, 0
- beq _08101A00
- movs r1, 0xB4
- lsls r1, 2
- adds r0, r3, r1
- str r2, [r0]
- movs r0, 0xB5
- lsls r0, 2
- adds r1, r3, r0
- lsls r0, r5, 8
- str r0, [r1]
- cmp r4, 0
- bge _08101A0A
- negs r0, r0
- str r0, [r1]
- b _08101A0A
- .align 2, 0
-_081019FC: .4byte gUnknown_203ACEC
-_08101A00:
- movs r0, 0x2
- adds r1, r2, 0
- movs r2, 0
- bl ChangeBgY
-_08101A0A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81019B0
-
- thumb_func_start sub_8101A10
-sub_8101A10: @ 8101A10
- push {lr}
- movs r0, 0x2
- bl GetBgY
- ldr r1, _08101A3C @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r3, 0xB4
- lsls r3, 2
- adds r1, r2, r3
- ldr r1, [r1]
- cmp r0, r1
- beq _08101A40
- movs r1, 0xB5
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- movs r0, 0x2
- movs r2, 0x1
- bl ChangeBgY
- movs r0, 0x1
- b _08101A42
- .align 2, 0
-_08101A3C: .4byte gUnknown_203ACEC
-_08101A40:
- movs r0, 0
-_08101A42:
- pop {r1}
- bx r1
- thumb_func_end sub_8101A10
-
- thumb_func_start sub_8101A48
-sub_8101A48: @ 8101A48
- ldr r0, _08101A58 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08101A58: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101A48
-
- thumb_func_start sub_8101A5C
-sub_8101A5C: @ 8101A5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, r0, 8
- adds r0, r2
- orrs r4, r0
- lsls r5, r1, 8
- adds r1, r3
- orrs r5, r1
- movs r0, 0x40
- adds r1, r4, 0
- bl SetGpuReg
- movs r0, 0x44
- adds r1, r5, 0
- bl SetGpuReg
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8101A5C
-
- thumb_func_start sub_8101A90
-sub_8101A90: @ 8101A90
- push {r4,r5,lr}
- ldr r0, _08101AB8 @ =gUnknown_843F8F0
- bl LoadSpriteSheets
- ldr r0, _08101ABC @ =gUnknown_843F910
- bl LoadSpritePalettes
- movs r5, 0
- ldr r4, _08101AC0 @ =gUnknown_843F938
-_08101AA2:
- adds r0, r4, 0
- bl LoadCompressedSpriteSheet
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bls _08101AA2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08101AB8: .4byte gUnknown_843F8F0
-_08101ABC: .4byte gUnknown_843F910
-_08101AC0: .4byte gUnknown_843F938
- thumb_func_end sub_8101A90
-
- thumb_func_start sub_8101AC4
-sub_8101AC4: @ 8101AC4
- push {lr}
- bl sub_80FFCE0
- lsls r0, 24
- ldr r1, _08101B10 @ =gUnknown_843F888
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 19
- ldrb r2, [r0, 0x1]
- adds r2, 0x1
- lsls r2, 3
- adds r2, 0x1
- ldr r0, _08101B14 @ =gUnknown_843F968
- movs r3, 0xD0
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08101B18 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r1, 0xB6
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08101B1C @ =gSprites
- adds r1, r0
- str r1, [r2]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- pop {r0}
- bx r0
- .align 2, 0
-_08101B10: .4byte gUnknown_843F888
-_08101B14: .4byte gUnknown_843F968
-_08101B18: .4byte gUnknown_203ACEC
-_08101B1C: .4byte gSprites
- thumb_func_end sub_8101AC4
-
- thumb_func_start sub_8101B20
-sub_8101B20: @ 8101B20
- push {lr}
- adds r1, r0, 0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08101B4E
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08101B4E
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _08101B4E
- ldr r0, _08101B54 @ =0x0000fffa
- strh r0, [r1, 0x24]
-_08101B4E:
- pop {r0}
- bx r0
- .align 2, 0
-_08101B54: .4byte 0x0000fffa
- thumb_func_end sub_8101B20
-
- thumb_func_start sub_8101B58
-sub_8101B58: @ 8101B58
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _08101B84 @ =gUnknown_203ACEC
- ldr r2, [r2]
- movs r3, 0xB6
- lsls r3, 2
- adds r2, r3
- ldr r3, [r2]
- movs r4, 0
- strh r0, [r3, 0x20]
- ldr r0, [r2]
- strh r1, [r0, 0x22]
- ldr r0, [r2]
- strh r4, [r0, 0x24]
- ldr r0, [r2]
- strh r4, [r0, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101B84: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101B58
-
- thumb_func_start sub_8101B88
-sub_8101B88: @ 8101B88
- ldr r0, _08101BA4 @ =gUnknown_203ACEC
- ldr r1, [r0]
- movs r0, 0xB6
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0, 0x2E]
- ldr r0, [r1]
- strh r2, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- bx lr
- .align 2, 0
-_08101BA4: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101B88
-
- thumb_func_start sub_8101BA8
-sub_8101BA8: @ 8101BA8
- ldr r0, _08101BBC @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB6
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- bx lr
- .align 2, 0
-_08101BBC: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101BA8
-
- thumb_func_start sub_8101BC0
-sub_8101BC0: @ 8101BC0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r6, _08101C38 @ =gUnknown_843F9B8
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08101C3C @ =gUnknown_203ACEC
- ldr r2, [r5]
- movs r1, 0xB7
- lsls r1, 2
- mov r8, r1
- add r2, r8
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _08101C40 @ =gSprites
- adds r1, r4
- str r1, [r2]
- movs r0, 0x20
- strh r0, [r1, 0x24]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xB8
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- ldr r0, _08101C44 @ =0x0000ffe0
- strh r0, [r1, 0x24]
- add r2, r8
- ldr r1, [r2]
- adds r1, 0x3F
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- bl sub_8101C80
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08101C38: .4byte gUnknown_843F9B8
-_08101C3C: .4byte gUnknown_203ACEC
-_08101C40: .4byte gSprites
-_08101C44: .4byte 0x0000ffe0
- thumb_func_end sub_8101BC0
-
- thumb_func_start sub_8101C48
-sub_8101C48: @ 8101C48
- push {r4-r6,lr}
- ldr r5, _08101C7C @ =gUnknown_203ACEC
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r4, r0, r4
- movs r6, 0
- str r6, [r4]
- movs r4, 0xB8
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- adds r0, r4
- str r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08101C7C: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101C48
-
- thumb_func_start sub_8101C80
-sub_8101C80: @ 8101C80
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08101CC8 @ =gUnknown_203ACEC
- ldr r1, [r0]
- movs r2, 0xB7
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08101CDC
- adds r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _08101CDC
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_80FFE08
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _08101CCC
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_8101CE4
- b _08101CDC
- .align 2, 0
-_08101CC8: .4byte gUnknown_203ACEC
-_08101CCC:
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- bl sub_8101D9C
-_08101CDC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101C80
-
- thumb_func_start sub_8101CE4
-sub_8101CE4: @ 8101CE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08101D48
- ldr r0, _08101D44 @ =gUnknown_203ACEC
- mov r8, r0
- ldr r0, [r0]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r4
- ldr r2, [r4]
- movs r0, 0x54
- muls r5, r0
- adds r5, 0x3A
- strh r5, [r2, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x60
- strh r4, [r0, 0x22]
- movs r6, 0xB8
- lsls r6, 2
- adds r1, r6
- ldr r0, [r1]
- movs r1, 0
- bl StartSpriteAnim
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldr r1, [r0]
- strh r5, [r1, 0x20]
- b _08101D8A
- .align 2, 0
-_08101D44: .4byte gUnknown_203ACEC
-_08101D48:
- ldr r6, _08101D98 @ =gUnknown_203ACEC
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r7, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
-_08101D8A:
- ldr r0, [r0]
- strh r4, [r0, 0x22]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101D98: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101CE4
-
- thumb_func_start sub_8101D9C
-sub_8101D9C: @ 8101D9C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsrs r4, r0, 24
- asrs r2, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08101E2C
- lsls r0, r5, 24
- asrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, 0x60
- mov r8, r0
- movs r7, 0x20
- cmp r2, 0x6
- bne _08101DCE
- cmp r1, 0
- bne _08101DCE
- movs r7, 0x9D
- movs r6, 0x2
- b _08101DE4
-_08101DCE:
- ldr r3, _08101E24 @ =gUnknown_843F958
- lsls r1, r4, 24
- lsrs r0, r1, 24
- movs r2, 0
- cmp r0, 0x6
- bhi _08101DDC
- asrs r2, r1, 24
-_08101DDC:
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r7, r0
- movs r6, 0x3
-_08101DE4:
- ldr r5, _08101E28 @ =gUnknown_203ACEC
- ldr r0, [r5]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r0, [r4]
- strh r7, [r0, 0x20]
- ldr r0, [r4]
- mov r2, r8
- strh r2, [r0, 0x22]
- movs r4, 0xB8
- lsls r4, 2
- adds r1, r4
- ldr r0, [r1]
- adds r1, r6, 0
- bl StartSpriteAnim
- ldr r0, [r5]
- adds r0, r4
- ldr r1, [r0]
- strh r7, [r1, 0x20]
- ldr r0, [r0]
- mov r1, r8
- strh r1, [r0, 0x22]
- b _08101E72
- .align 2, 0
-_08101E24: .4byte gUnknown_843F958
-_08101E28: .4byte gUnknown_203ACEC
-_08101E2C:
- ldr r6, _08101E7C @ =gUnknown_203ACEC
- ldr r0, [r6]
- movs r4, 0xB7
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r0, [r4]
- movs r2, 0xD8
- mov r8, r2
- mov r2, r8
- strh r2, [r0, 0x20]
- ldr r0, [r4]
- lsls r4, r5, 24
- asrs r4, 20
- adds r4, 0x70
- strh r4, [r0, 0x22]
- movs r5, 0xB8
- lsls r5, 2
- adds r1, r5
- ldr r0, [r1]
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, [r6]
- adds r0, r5
- ldr r1, [r0]
- mov r2, r8
- strh r2, [r1, 0x20]
- ldr r0, [r0]
- strh r4, [r0, 0x22]
-_08101E72:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101E7C: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101D9C
-
- thumb_func_start sub_8101E80
-sub_8101E80: @ 8101E80
- push {lr}
- ldr r0, _08101EC4 @ =gUnknown_843F968
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08101EC8 @ =gUnknown_203ACEC
- ldr r2, [r1]
- movs r1, 0xB9
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08101ECC @ =gSprites
- adds r1, r0
- str r1, [r2]
- ldr r0, _08101ED0 @ =sub_8101ED4
- str r0, [r1, 0x1C]
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x8
- orrs r0, r2
- strb r0, [r1, 0x5]
- bl sub_8101F04
- pop {r0}
- bx r0
- .align 2, 0
-_08101EC4: .4byte gUnknown_843F968
-_08101EC8: .4byte gUnknown_203ACEC
-_08101ECC: .4byte gSprites
-_08101ED0: .4byte sub_8101ED4
- thumb_func_end sub_8101E80
-
- thumb_func_start sub_8101ED4
-sub_8101ED4: @ 8101ED4
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08101EFA
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _08101EFA
- ldr r0, _08101F00 @ =0x0000fffa
- strh r0, [r1, 0x24]
-_08101EFA:
- pop {r0}
- bx r0
- .align 2, 0
-_08101F00: .4byte 0x0000fffa
- thumb_func_end sub_8101ED4
-
- thumb_func_start sub_8101F04
-sub_8101F04: @ 8101F04
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x1
- mov r0, sp
- adds r1, r4, 0
- bl sub_80FFE34
- mov r0, sp
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD
- muls r0, r1
- adds r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 25
- movs r2, 0xB0
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_8101F40
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101F04
-
- thumb_func_start sub_8101F40
-sub_8101F40: @ 8101F40
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _08101F7C @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xB9
- lsls r1, 2
- adds r3, r0, r1
- ldr r1, [r3]
- cmp r1, 0
- beq _08101F74
- lsls r0, r2, 3
- adds r0, 0x4
- movs r2, 0
- strh r0, [r1, 0x20]
- ldr r1, [r3]
- adds r0, r4, 0x1
- lsls r0, 3
- adds r0, 0x1
- strh r0, [r1, 0x22]
- ldr r0, [r3]
- strh r2, [r0, 0x24]
- ldr r0, [r3]
- strh r2, [r0, 0x2E]
-_08101F74:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101F7C: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101F40
-
- thumb_func_start sub_8101F80
-sub_8101F80: @ 8101F80
- push {r4,lr}
- ldr r4, _08101FA8 @ =gUnknown_203ACEC
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08101FA2
- bl DestroySprite
- ldr r0, [r4]
- movs r1, 0xB9
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08101FA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101FA8: .4byte gUnknown_203ACEC
- thumb_func_end sub_8101F80
-
- thumb_func_start sub_8101FAC
-sub_8101FAC: @ 8101FAC
- push {r4-r6,lr}
- ldr r0, _08102004 @ =gUnknown_843FA40
- movs r1, 0xD0
- movs r2, 0x80
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08102008 @ =gUnknown_203ACEC
- ldr r2, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _0810200C @ =gSprites
- adds r1, r4
- str r1, [r2]
- movs r6, 0
- ldr r0, _08102010 @ =0x0000ffc0
- strh r0, [r1, 0x24]
- ldr r0, _08102014 @ =gUnknown_843FA20
- movs r1, 0xD0
- movs r2, 0x50
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- movs r1, 0xBB
- lsls r1, 2
- adds r3, r2, r1
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r3]
- strb r6, [r2, 0x9]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08102004: .4byte gUnknown_843FA40
-_08102008: .4byte gUnknown_203ACEC
-_0810200C: .4byte gSprites
-_08102010: .4byte 0x0000ffc0
-_08102014: .4byte gUnknown_843FA20
- thumb_func_end sub_8101FAC
-
- thumb_func_start sub_8102018
-sub_8102018: @ 8102018
- push {r4,lr}
- ldr r4, _0810202C @ =gUnknown_203ACEC
- ldr r2, [r4]
- ldrb r3, [r2, 0x9]
- cmp r3, 0
- beq _08102030
- cmp r3, 0x1
- beq _08102088
- movs r0, 0
- b _081020A6
- .align 2, 0
-_0810202C: .4byte gUnknown_203ACEC
-_08102030:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- adds r0, 0x8
- strh r0, [r1, 0x24]
- ldr r2, [r2]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- blt _081020A4
- strh r3, [r2, 0x24]
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _08102066
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _08102076
-_08102066:
- ldr r0, [r4]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_08102076:
- ldr r0, _08102084 @ =gUnknown_203ACEC
- ldr r1, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- b _081020A4
- .align 2, 0
-_08102084: .4byte gUnknown_203ACEC
-_08102088:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _081020A4
- movs r0, 0x2
- strb r0, [r2, 0x9]
- movs r0, 0
- b _081020A6
-_081020A4:
- movs r0, 0x1
-_081020A6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8102018
-
- thumb_func_start sub_81020AC
-sub_81020AC: @ 81020AC
- push {lr}
- ldr r2, _081020CC @ =gUnknown_203ACEC
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x9]
- ldr r0, [r2]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_081020CC: .4byte gUnknown_203ACEC
- thumb_func_end sub_81020AC
-
- thumb_func_start sub_81020D0
-sub_81020D0: @ 81020D0
- push {r4-r6,lr}
- ldr r5, _081020E4 @ =gUnknown_203ACEC
- ldr r3, [r5]
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- beq _081020E8
- cmp r0, 0x1
- beq _08102102
- movs r0, 0
- b _08102154
- .align 2, 0
-_081020E4: .4byte gUnknown_203ACEC
-_081020E8:
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r3, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08102152
- movs r0, 0x1
- strb r0, [r3, 0x9]
- b _08102152
-_08102102:
- movs r0, 0xBA
- lsls r0, 2
- adds r2, r3, r0
- ldr r1, [r2]
- ldrh r0, [r1, 0x24]
- subs r0, 0x8
- movs r6, 0
- strh r0, [r1, 0x24]
- ldr r0, [r2]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- bgt _08102152
- movs r4, 0xBB
- lsls r4, 2
- adds r0, r3, r4
- ldr r0, [r0]
- bl DestroySprite
- ldr r0, [r5]
- movs r1, 0xBA
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- ldr r1, [r5]
- adds r4, r1, r4
- str r6, [r4]
- movs r2, 0xBA
- lsls r2, 2
- adds r0, r1, r2
- str r6, [r0]
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0
- b _08102154
-_08102152:
- movs r0, 0x1
-_08102154:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_81020D0
-
- thumb_func_start sub_810215C
-sub_810215C: @ 810215C
- push {lr}
- ldr r0, _08102174 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_08102174: .4byte gUnknown_203ACEC
- thumb_func_end sub_810215C
-
- thumb_func_start sub_8102178
-sub_8102178: @ 8102178
- push {lr}
- bl sub_80FFE1C
- lsls r0, 24
- cmp r0, 0
- bne _0810219C
- ldr r0, _08102198 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- b _081021AE
- .align 2, 0
-_08102198: .4byte gUnknown_203ACEC
-_0810219C:
- ldr r0, _081021B4 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
-_081021AE:
- pop {r0}
- bx r0
- .align 2, 0
-_081021B4: .4byte gUnknown_203ACEC
- thumb_func_end sub_8102178
-
- thumb_func_start sub_81021B8
-sub_81021B8: @ 81021B8
- ldr r0, _081021D0 @ =gUnknown_203ACEC
- ldr r0, [r0]
- movs r1, 0xBB
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- lsrs r1, 4
- movs r0, 0x1
- bics r0, r1
- bx lr
- .align 2, 0
-_081021D0: .4byte gUnknown_203ACEC
- thumb_func_end sub_81021B8
-
- thumb_func_start sub_81021D4
-sub_81021D4: @ 81021D4
- push {r4,lr}
- ldr r4, _08102240 @ =gUnknown_843FA98
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08102202
- ldr r0, _08102244 @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBC
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102248 @ =gSprites
- adds r0, r1
- str r0, [r2]
-_08102202:
- adds r0, r4, 0
- movs r1, 0x60
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _08102236
- ldr r0, _08102244 @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBD
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102248 @ =gSprites
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_08102236:
- bl sub_81022B0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08102240: .4byte gUnknown_843FA98
-_08102244: .4byte gUnknown_203ACEC
-_08102248: .4byte gSprites
- thumb_func_end sub_81021D4
-
- thumb_func_start sub_810224C
-sub_810224C: @ 810224C
- push {r4-r6,lr}
- bl sub_80FFE64
- ldr r6, _081022AC @ =gUnknown_203ACEC
- ldr r1, [r6]
- movs r2, 0xBC
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _08102266
- movs r2, 0x1
-_08102266:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_80FFE98
- ldr r1, [r6]
- movs r2, 0xBD
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _08102292
- movs r2, 0x1
-_08102292:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081022AC: .4byte gUnknown_203ACEC
- thumb_func_end sub_810224C
-
- thumb_func_start sub_81022B0
-sub_81022B0: @ 81022B0
- ldr r3, _081022DC @ =gUnknown_203ACEC
- ldr r0, [r3]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBD
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_081022DC: .4byte gUnknown_203ACEC
- thumb_func_end sub_81022B0
-
- thumb_func_start sub_81022E0
-sub_81022E0: @ 81022E0
- push {lr}
- cmp r0, 0
- bne _081022FC
- ldr r0, _081022F8 @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x60
- b _0810230A
- .align 2, 0
-_081022F8: .4byte gUnknown_203ACEC
-_081022FC:
- ldr r0, _0810231C @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r1, 0xBC
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- movs r1, 0x78
-_0810230A:
- strh r1, [r0, 0x20]
- movs r3, 0xBD
- lsls r3, 2
- adds r0, r2, r3
- ldr r0, [r0]
- strh r1, [r0, 0x20]
- pop {r0}
- bx r0
- .align 2, 0
-_0810231C: .4byte gUnknown_203ACEC
- thumb_func_end sub_81022E0
-
- thumb_func_start sub_8102320
-sub_8102320: @ 8102320
- push {r4,lr}
- ldr r4, _08102388 @ =gUnknown_843FA80
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x54
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810234E
- ldr r0, _0810238C @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBE
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102390 @ =gSprites
- adds r0, r1
- str r0, [r2]
-_0810234E:
- adds r0, r4, 0
- movs r1, 0xDC
- movs r2, 0x9C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0810237E
- ldr r0, _0810238C @ =gUnknown_203ACEC
- ldr r2, [r0]
- movs r0, 0xBF
- lsls r0, 2
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08102390 @ =gSprites
- adds r0, r1
- str r0, [r2]
- movs r1, 0x1
- bl StartSpriteAnim
-_0810237E:
- bl sub_81023F8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08102388: .4byte gUnknown_843FA80
-_0810238C: .4byte gUnknown_203ACEC
-_08102390: .4byte gSprites
- thumb_func_end sub_8102320
-
- thumb_func_start sub_8102394
-sub_8102394: @ 8102394
- push {r4-r6,lr}
- bl sub_80FFE64
- ldr r6, _081023F4 @ =gUnknown_203ACEC
- ldr r1, [r6]
- movs r2, 0xBE
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _081023AE
- movs r2, 0x1
-_081023AE:
- adds r3, r1, 0
- adds r3, 0x3E
- movs r4, 0x1
- lsls r2, 2
- ldrb r1, [r3]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- bl sub_80FFE98
- ldr r1, [r6]
- movs r2, 0xBF
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0
- cmp r0, 0
- bne _081023DA
- movs r2, 0x1
-_081023DA:
- adds r3, r1, 0
- adds r3, 0x3E
- adds r1, r4, 0
- ands r1, r2
- lsls r1, 2
- ldrb r2, [r3]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081023F4: .4byte gUnknown_203ACEC
- thumb_func_end sub_8102394
-
- thumb_func_start sub_81023F8
-sub_81023F8: @ 81023F8
- ldr r3, _08102424 @ =gUnknown_203ACEC
- ldr r0, [r3]
- movs r1, 0xBE
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- movs r1, 0xBF
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08102424: .4byte gUnknown_203ACEC
- thumb_func_end sub_81023F8
-
- thumb_func_start sub_8102428
-sub_8102428: @ 8102428
- push {r4,lr}
- sub sp, 0x14
- ldr r3, _081024A8 @ =0xffffff00
- ldr r0, [sp, 0xC]
- ands r0, r3
- movs r1, 0x3
- orrs r0, r1
- ldr r2, _081024AC @ =0xffff00ff
- ands r0, r2
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- ldr r1, _081024B0 @ =0xff00ffff
- ands r0, r1
- movs r1, 0xB0
- lsls r1, 12
- orrs r0, r1
- ldr r1, _081024B4 @ =0x00ffffff
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 21
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r0, [sp, 0x10]
- ands r0, r3
- movs r1, 0x2
- orrs r0, r1
- ands r0, r2
- movs r1, 0xB0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _081024B8 @ =0x0000ffff
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 14
- orrs r0, r1
- str r0, [sp, 0x10]
- add r0, sp, 0xC
- bl AddWindow
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, _081024BC @ =gUnknown_841EE2B
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- movs r3, 0
- bl sub_8100D84
- adds r0, r4, 0
- bl PutWindowTilemap
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081024A8: .4byte 0xffffff00
-_081024AC: .4byte 0xffff00ff
-_081024B0: .4byte 0xff00ffff
-_081024B4: .4byte 0x00ffffff
-_081024B8: .4byte 0x0000ffff
-_081024BC: .4byte gUnknown_841EE2B
- thumb_func_end sub_8102428
-
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s
index c1582c4e4..f37313210 100644
--- a/asm/link_rfu_2.s
+++ b/asm/link_rfu_2.s
@@ -9166,7 +9166,13 @@ _080FCB88:
movs r0, 0x3D
negs r0, r0
ands r0, r2
- movs r2, 0x10
+ .ifdef FIRERED
+ movs r2, 0x10 @ VERSION_FIRE_RED << 2
+ .else
+ .ifdef LEAFGREEN
+ movs r2, 0x14 @ VERSION_LEAF_GREEN << 2
+ .endif
+ .endif
orrs r0, r2
strb r0, [r7, 0x1]
movs r0, 0x11
diff --git a/asm/macros.inc b/asm/macros.inc
index 3cc26c6f7..ffbe3db29 100644
--- a/asm/macros.inc
+++ b/asm/macros.inc
@@ -158,3 +158,12 @@
.byte \bg, \top, \left, \height, \width, \palno
.2byte \baseBlock
.endm
+
+ .macro abspath relative
+ .if REVISION == 0
+ .ascii "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/"
+ .else
+ .ascii "C:/WORK/POKeFRLG/Src/pm_lgfr_ose/source/"
+ .endif
+ .asciz "\relative"
+ .endm
diff --git a/asm/pokedex_screen.s b/asm/pokedex_screen.s
index 4bd153c77..345f3c83c 100644
--- a/asm/pokedex_screen.s
+++ b/asm/pokedex_screen.s
@@ -337,7 +337,11 @@ sub_8105800: @ 8105800
cmp r0, 0
beq _08105864
ldrb r0, [r5]
+ .if REVISION == 0
cmp r0, 0
+ .else
+ cmp r0, 0xFF
+ .endif
beq _08105878
_08105840:
mov r1, sp
@@ -351,7 +355,11 @@ _08105840:
lsrs r4, r0, 24
adds r0, r5, r4
ldrb r0, [r0]
+ .if REVISION == 0
cmp r0, 0
+ .else
+ cmp r0, 0xFF
+ .endif
beq _08105878
cmp r4, 0xA
bls _08105840
@@ -1018,7 +1026,7 @@ sub_8105D64: @ 8105D64
lsls r0, 24
cmp r0, 0
beq _08105E02
- ldr r1, _08105E14 @ =gUnknown_843FAB0
+ ldr r1, _08105E14 @ =gMonFootprintTable
lsls r0, r4, 2
adds r0, r1
ldr r0, [r0]
@@ -1084,7 +1092,7 @@ _08105E02:
pop {r0}
bx r0
.align 2, 0
-_08105E14: .4byte gUnknown_843FAB0
+_08105E14: .4byte gMonFootprintTable
_08105E18: .4byte gDecompressionBuffer
thumb_func_end sub_8105D64
@@ -2261,7 +2269,7 @@ sub_8106838: @ 8106838
lsls r0, 24
lsls r1, 24
lsrs r6, r1, 24
- ldr r1, _08106888 @ =gUnknown_8452C4C
+ ldr r1, _08106888 @ =gDexCategories
lsrs r0, 21
adds r0, r1
ldr r2, [r0]
@@ -2295,7 +2303,7 @@ _08106858:
movs r0, 0x1
b _08106894
.align 2, 0
-_08106888: .4byte gUnknown_8452C4C
+_08106888: .4byte gDexCategories
_0810688C:
adds r5, 0x1
cmp r5, 0x3
@@ -2314,7 +2322,7 @@ sub_81068A0: @ 81068A0
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
- ldr r1, _081068C8 @ =gUnknown_8452C4C
+ ldr r1, _081068C8 @ =gDexCategories
lsls r0, r6, 3
adds r0, r1
ldrb r5, [r0, 0x4]
@@ -2332,7 +2340,7 @@ _081068B4:
movs r0, 0x1
b _081068D4
.align 2, 0
-_081068C8: .4byte gUnknown_8452C4C
+_081068C8: .4byte gDexCategories
_081068CC:
adds r4, 0x1
cmp r4, r5
@@ -2355,7 +2363,7 @@ sub_81068DC: @ 81068DC
lsrs r4, r0, 24
lsls r1, 24
lsrs r6, r1, 24
- ldr r1, _08106990 @ =gUnknown_8452C4C
+ ldr r1, _08106990 @ =gDexCategories
lsls r0, r4, 3
adds r0, r1
ldr r1, [r0]
@@ -2385,7 +2393,7 @@ _0810690C:
movs r5, 0
cmp r5, r9
bge _08106982
- ldr r1, _08106990 @ =gUnknown_8452C4C
+ ldr r1, _08106990 @ =gDexCategories
lsls r0, r4, 3
adds r0, r1
mov r8, r0
@@ -2439,7 +2447,7 @@ _08106982:
pop {r0}
bx r0
.align 2, 0
-_08106990: .4byte gUnknown_8452C4C
+_08106990: .4byte gDexCategories
_08106994: .4byte gUnknown_203ACF0
_08106998: .4byte 0x0000ffff
thumb_func_end sub_81068DC
@@ -2450,7 +2458,7 @@ sub_810699C: @ 810699C
sub sp, 0x8
lsls r0, 24
lsrs r7, r0, 24
- ldr r1, _081069F8 @ =gUnknown_8452C4C
+ ldr r1, _081069F8 @ =gDexCategories
lsls r0, r7, 3
adds r0, r1
ldrb r6, [r0, 0x4]
@@ -2495,7 +2503,7 @@ _081069DE:
movs r0, 0x1
b _08106A12
.align 2, 0
-_081069F8: .4byte gUnknown_8452C4C
+_081069F8: .4byte gDexCategories
_081069FC: .4byte gUnknown_203ACF0
_08106A00:
ldr r1, _08106A1C @ =gUnknown_203ACF0
@@ -2529,7 +2537,7 @@ sub_8106A20: @ 8106A20
str r0, [sp]
movs r0, 0
str r0, [sp, 0x4]
- ldr r1, _08106A98 @ =gUnknown_8452C4C
+ ldr r1, _08106A98 @ =gDexCategories
str r1, [sp, 0x10]
_08106A3A:
ldr r2, [sp, 0x10]
@@ -2581,7 +2589,7 @@ _08106A64:
movs r0, 0
b _08106AE8
.align 2, 0
-_08106A98: .4byte gUnknown_8452C4C
+_08106A98: .4byte gDexCategories
_08106A9C: .4byte gUnknown_203ACF0
_08106AA0:
adds r0, r4, 0
diff --git a/asm/post_battle_event_funcs.s b/asm/post_battle_event_funcs.s
deleted file mode 100644
index 009bb7233..000000000
--- a/asm/post_battle_event_funcs.s
+++ /dev/null
@@ -1,121 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start Special_HallOfFame
-Special_HallOfFame: @ 80CA2E4
- push {r4-r7,lr}
- sub sp, 0x4
- bl sp000_heal_pokemon
- ldr r4, _080CA304 @ =0x0000082c
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080CA30C
- ldr r0, _080CA308 @ =gHasHallOfFameRecords
- strb r1, [r0]
- b _080CA318
- .align 2, 0
-_080CA304: .4byte 0x0000082c
-_080CA308: .4byte gHasHallOfFameRecords
-_080CA30C:
- ldr r1, _080CA3B0 @ =gHasHallOfFameRecords
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl FlagSet
-_080CA318:
- movs r0, 0x1
- bl GetGameStat
- cmp r0, 0
- bne _080CA33A
- ldr r0, _080CA3B4 @ =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrh r1, [r2, 0xE]
- lsls r1, 16
- ldrb r0, [r2, 0x10]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x11]
- orrs r1, r0
- movs r0, 0x1
- bl SetGameStat
-_080CA33A:
- bl sub_804C1AC
- movs r0, 0x1
- bl sub_8055738
- movs r6, 0
- movs r5, 0
- mov r7, sp
-_080CA34A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080CA3B8 @ =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080CA388
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080CA388
- adds r0, r4, 0
- movs r1, 0x43
- bl GetMonData
- cmp r0, 0
- bne _080CA388
- movs r0, 0x1
- strb r0, [r7]
- adds r0, r4, 0
- movs r1, 0x43
- mov r2, sp
- bl SetMonData
- movs r6, 0x1
-_080CA388:
- adds r5, 0x1
- cmp r5, 0x5
- ble _080CA34A
- cmp r6, 0x1
- bne _080CA39E
- movs r0, 0x2A
- bl IncrementGameStat
- ldr r0, _080CA3BC @ =0x0000083b
- bl FlagSet
-_080CA39E:
- ldr r0, _080CA3C0 @ =CB2_DoHallOfFameScreen
- bl SetMainCallback2
- movs r0, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080CA3B0: .4byte gHasHallOfFameRecords
-_080CA3B4: .4byte gSaveBlock2Ptr
-_080CA3B8: .4byte gPlayerParty
-_080CA3BC: .4byte 0x0000083b
-_080CA3C0: .4byte CB2_DoHallOfFameScreen
- thumb_func_end Special_HallOfFame
-
- thumb_func_start sp0C8_whiteout_maybe
-sp0C8_whiteout_maybe: @ 80CA3C4
- push {lr}
- ldr r0, _080CA3D4 @ =CB2_WhiteOut
- bl SetMainCallback2
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080CA3D4: .4byte CB2_WhiteOut
- thumb_func_end sp0C8_whiteout_maybe
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asmdiff.sh b/asmdiff.sh
index d4627c007..9e2bef55b 100755
--- a/asmdiff.sh
+++ b/asmdiff.sh
@@ -1,7 +1,27 @@
#!/bin/bash
+if [ "$1" == "firered" ] || [ "$1" == "leafgreen" ] || [ "$1" == "firered_rev1" ] || [ "$1" == "leafgreen_rev1" ]; then
+ buildname="$1"
+ shift
+else
+ buildname=firered
+fi
+
+if [ "$buildname" == "firered" ]; then
+ baserom=baserom
+elif [ "$buildname" == "leafgreen" ]; then
+ baserom=baserom_lg
+elif [ "$buildname" == "firered_rev1" ]; then
+ baserom=baserom_fr_rev1
+elif [ "$buildname" == "leafgreen_rev1" ]; then
+ baserom=baserom_lg_rev1
+else
+ echo unknown buildname $buildname
+ exit 1
+fi
+
OBJDUMP="$DEVKITARM/bin/arm-none-eabi-objdump -D -bbinary -marmv4t -Mforce-thumb"
OPTIONS="--start-address=$(($1)) --stop-address=$(($1 + $2))"
-$OBJDUMP $OPTIONS baserom.gba > baserom.dump
-$OBJDUMP $OPTIONS pokefirered.gba > pokefirered.dump
-diff -u baserom.dump pokefirered.dump
+$OBJDUMP $OPTIONS ${baserom}.gba > ${baserom}.dump || exit 1
+$OBJDUMP $OPTIONS poke${buildname}.gba > poke${buildname}.dump
+diff -u ${baserom}.dump poke${buildname}.dump
diff --git a/config.mk b/config.mk
new file mode 100644
index 000000000..bf8f2ce3f
--- /dev/null
+++ b/config.mk
@@ -0,0 +1,51 @@
+# Default variables
+
+GAME_VERSION ?= FIRERED
+GAME_REVISION ?= 0
+GAME_LANGUAGE ?= ENGLISH
+MODERN ?= 0
+COMPARE ?= 0
+
+# For gbafix
+MAKER_CODE := 01
+
+# Version
+ifeq ($(GAME_VERSION),FIRERED)
+TITLE := POKEMON FIRE
+GAME_CODE := BPR
+BUILD_NAME := firered
+else
+ifeq ($(GAME_VERSION),LEAFGREEN)
+TITLE := POKEMON LEAF
+GAME_CODE := BPG
+BUILD_NAME := leafgreen
+else
+$(error unknown version $(GAME_VERSION))
+endif
+endif
+
+# Revision
+ifeq ($(GAME_REVISION),0)
+BUILD_NAME := $(BUILD_NAME)
+else
+ifeq ($(GAME_REVISION),1)
+BUILD_NAME := $(BUILD_NAME)_rev1
+else
+$(error unknown revision $(GAME_REVISION))
+endif
+endif
+
+# Language
+ifeq ($(GAME_LANGUAGE),ENGLISH)
+BUILD_NAME := $(BUILD_NAME)
+GAME_CODE := $(GAME_CODE)E
+else
+$(error unknown language $(GAME_LANGUAGE))
+endif
+
+# Modern GCC
+ifeq ($(MODERN), 0)
+ BUILD_NAME := $(BUILD_NAME)
+else
+ BUILD_NAME := $(BUILD_NAME)_modern
+endif
diff --git a/data/event_object_80688E4.s b/data/event_object_80688E4.s
index 884bf379f..8d1917825 100644
--- a/data/event_object_80688E4.s
+++ b/data/event_object_80688E4.s
@@ -1,3 +1,5 @@
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
.section .rodata
.align 2
@@ -88,7 +90,7 @@ gUnknown_83A7208:: @ 83A7208
.align 2
gUnknown_83A720C:: @ 83A720C
- .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/evobjmv.c"
+ abspath "evobjmv.c"
.align 2
gUnknown_83A7240:: @ 83A7240
diff --git a/data/event_scripts.s b/data/event_scripts.s
index c2daa0031..21fdffe43 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -12361,9 +12361,8 @@ gUnknown_81C1300:: @ 81C1300
.string "It looks like it's having fun.$"
EventScript_1C1338:: @ 81C1338
- waitse
- setdivewarp MAP_UNKNOWN_MAP_00_00, 72, 7187, 8
- nop
+ map_script_2 VAR_0x4030, 0, EventScript_1C1348
+ .2byte 0
copyvar VAR_0x4030, 1
end
@@ -14474,8 +14473,9 @@ Text_1C55A4:: @ 81C55A4
.string "テストよう メッセージです!\n"
.string "ざひょう チェックの イベントです$"
-Text_1C55C5:: @ 81C55C5
- .string " $"
+ .align 2
+Text_1C55C8:: @ 81C55C8
+ .string "$"
gText_WouldYouLikeToSaveTheGame:: @ 81C55C9
.string "Would you like to save the game?$"
diff --git a/data/field_effect.s b/data/field_effect.s
index c6affccd2..7e797c560 100644
--- a/data/field_effect.s
+++ b/data/field_effect.s
@@ -45,6 +45,9 @@ gUnknown_83CBB10:: @ 83CBB10 gbapal gUnknown_83CBA90
gUnknown_83CBB30:: @ 83CBB30 4bpp
.incbin "graphics/field_effects/unk_83CBB30.bin"
+gUnknown_83CBDB0::
+ .incbin "graphics/field_effects/unk_83CBDB0.4bpp"
+
.align 2
gUnknown_83CBE30:: @ 83CBE30 dataptr
.4byte FieldEffectCmd_loadtiles
@@ -398,10 +401,10 @@ gUnknown_83CC244:: @ 83CC244 dataptr
.4byte sub_8087CB4
gUnknown_83CC250:: @ 83CC250 sprite_frames
- obj_frame_tiles 0x083cbdb0, 0x0020
- obj_frame_tiles 0x083cbdd0, 0x0020
- obj_frame_tiles 0x083cbdf0, 0x0020
- obj_frame_tiles 0x083cbe10, 0x0020
+ obj_frame_tiles gUnknown_83CBDB0 + 0x00, 0x0020
+ obj_frame_tiles gUnknown_83CBDB0 + 0x20, 0x0020
+ obj_frame_tiles gUnknown_83CBDB0 + 0x40, 0x0020
+ obj_frame_tiles gUnknown_83CBDB0 + 0x60, 0x0020
gUnknown_83CC270:: @ 83CC270 animcmd
obj_image_anim_frame 0x0000, 0
diff --git a/data/graphics.s b/data/graphics.s
index 570b73636..cea2a0ab3 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -11885,7 +11885,13 @@ gMonFootprint_Jirachi:: @ 8E3956C
.align 2
gMonFrontPic_Deoxys:: @ 8E3958C
+ .ifdef FIRERED
.incbin "graphics/pokemon/deoxys/front.4bpp.lz"
+ .else
+ .ifdef LEAFGREEN
+ .incbin "graphics/pokemon/deoxys/front_def.4bpp.lz"
+ .endif
+ .endif
.align 2
gMonPalette_Deoxys:: @ 8E39D48
@@ -11893,7 +11899,13 @@ gMonPalette_Deoxys:: @ 8E39D48
.align 2
gMonBackPic_Deoxys:: @ 8E39D70
+ .ifdef FIRERED
.incbin "graphics/pokemon/deoxys/back.4bpp.lz"
+ .else
+ .ifdef LEAFGREEN
+ .incbin "graphics/pokemon/deoxys/back_def.4bpp.lz"
+ .endif
+ .endif
.align 2
gMonShinyPalette_Deoxys:: @ 8E3A360
@@ -11903,7 +11915,13 @@ gMonShinyPalette_Deoxys:: @ 8E3A360
gMonIcon_Deoxys:: @ 8E3A388
.incbin "graphics/pokemon/deoxys/icon.4bpp"
@ Referenced as part of the same array as normal deoxys
+ .ifdef FIRERED
.incbin "graphics/pokemon/deoxys/icon_attack.4bpp"
+ .else
+ .ifdef LEAFGREEN
+ .incbin "graphics/pokemon/deoxys/icon_defense.4bpp"
+ .endif
+ .endif
.align 2
gMonFootprint_Deoxys:: @ 8E3AB88
@@ -16512,26 +16530,51 @@ gCreditsPokeballBgGfxMap:: @ 8EAB30C
.incbin "graphics/credits/unk_8EAB30C.bin.lz"
@ title_screen
-gGraphics_TitleScreen_PokemonFireRedLogoPals:: @ 8EAB6C4
+ .ifdef FIRERED
+gGraphics_TitleScreen_GameTitleLogoPals:: @ 8EAB6C4
.incbin "graphics/title_screen/unk_8eab6c4.gbapal"
-gGraphics_TitleScreen_PokemonFireRedLogoTiles:: @ 8EAB8C4
+gGraphics_TitleScreen_GameTitleLogoTiles:: @ 8EAB8C4
.incbin "graphics/title_screen/unk_8eab8c4.8bpp.lz"
-gGraphics_TitleScreen_PokemonFireRedLogoMap:: @ 8EAD390
+gGraphics_TitleScreen_GameTitleLogoMap:: @ 8EAD390
.incbin "graphics/title_screen/unk_8ead390.bin.lz"
-gGraphics_TitleScreen_CharizardPals:: @ 8EAD5E8
+gGraphics_TitleScreen_BoxArtMonPals:: @ 8EAD5E8
.incbin "graphics/title_screen/unk_8ead5e8.gbapal"
-gGraphics_TitleScreen_CharizardTiles:: @ 8EAD608
+gGraphics_TitleScreen_BoxArtMonTiles:: @ 8EAD608
.incbin "graphics/title_screen/unk_8ead608.4bpp.lz"
-gGraphics_TitleScreen_CharizardMap:: @ 8EADEE4
+gGraphics_TitleScreen_BoxArtMonMap:: @ 8EADEE4
.incbin "graphics/title_screen/unk_8eadee4.bin.lz"
gGraphics_TitleScreen_BackgroundPals:: @ 8EAE094
.incbin "graphics/title_screen/unk_8eae094.gbapal"
+ .else
+ .ifdef LEAFGREEN
+gGraphics_TitleScreen_GameTitleLogoPals:: @ 8EAB6C4
+ .incbin "graphics/title_screen/unk_lg_8eab744.gbapal"
+
+gGraphics_TitleScreen_GameTitleLogoTiles:: @ 8EAB8C4
+ .incbin "graphics/title_screen/unk_lg_8eab944.8bpp.lz"
+
+gGraphics_TitleScreen_GameTitleLogoMap:: @ 8EAD390
+ .incbin "graphics/title_screen/unk_lg_8ead508.bin.lz"
+
+gGraphics_TitleScreen_BoxArtMonPals:: @ 8EAD5E8
+ .incbin "graphics/title_screen/unk_lg_8ead768.gbapal"
+
+gGraphics_TitleScreen_BoxArtMonTiles:: @ 8EAD608
+ .incbin "graphics/title_screen/unk_lg_8ead788.4bpp.lz"
+
+gGraphics_TitleScreen_BoxArtMonMap:: @ 8EADEE4
+ .incbin "graphics/title_screen/unk_lg_8eae1ec.bin.lz"
+
+gGraphics_TitleScreen_BackgroundPals:: @ 8EAE094
+ .incbin "graphics/title_screen/unk_lg_8eae388.gbapal"
+ .endif
+ .endif
gGraphics_TitleScreen_CopyrightPressStartTiles:: @ 8EAE0B4
.incbin "graphics/title_screen/unk_8eae0b4.4bpp.lz"
@@ -16539,8 +16582,15 @@ gGraphics_TitleScreen_CopyrightPressStartTiles:: @ 8EAE0B4
gGraphics_TitleScreen_CopyrightPressStartMap:: @ 8EAE374
.incbin "graphics/title_screen/unk_8eae374.bin.lz"
-gGraphics_TitleScreen_FirePals:: @ 8EAE488
+ .ifdef FIRERED
+gGraphics_TitleScreen_FireOrLeafPals:: @ 8EAE488
.incbin "graphics/title_screen/unk_8eae488.gbapal"
+ .else
+ .ifdef LEAFGREEN
+gGraphics_TitleScreen_FireOrLeafPals:: @ 8EAE488
+ .incbin "graphics/title_screen/unk_lg_8eae77c.gbapal"
+ .endif
+ .endif
gGraphics_TitleScreen_BlankObjTiles:: @ 8EAE4A8
.incbin "graphics/title_screen/unk_8eae4a8.4bpp.lz"
diff --git a/data/graphics/title_screen/lg_border_bg.bin b/data/graphics/title_screen/lg_border_bg.bin
new file mode 100644
index 000000000..108680bc3
--- /dev/null
+++ b/data/graphics/title_screen/lg_border_bg.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/data/graphics/title_screen/unk_lg_83bf764.pal b/data/graphics/title_screen/unk_lg_83bf764.pal
new file mode 100644
index 000000000..9a13f7dad
--- /dev/null
+++ b/data/graphics/title_screen/unk_lg_83bf764.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+230 123 90
+16 164 74
+148 255 57
+98 222 57
+57 189 65
+230 255 230
+148 255 205
+82 246 131
+180 180 115
+255 205 148
+246 172 123
+238 148 106
+0 0 0
+0 0 0
+0 0 0
+230 123 90
diff --git a/data/graphics/title_screen/unk_lg_83bf784.png b/data/graphics/title_screen/unk_lg_83bf784.png
new file mode 100644
index 000000000..d4f7dd622
--- /dev/null
+++ b/data/graphics/title_screen/unk_lg_83bf784.png
Binary files differ
diff --git a/data/graphics/title_screen/unk_lg_83bf89c.png b/data/graphics/title_screen/unk_lg_83bf89c.png
new file mode 100644
index 000000000..d783c1204
--- /dev/null
+++ b/data/graphics/title_screen/unk_lg_83bf89c.png
Binary files differ
diff --git a/data/link_rfu.s b/data/link_rfu.s
index 8e9abd3f0..79be01714 100644
--- a/data/link_rfu.s
+++ b/data/link_rfu.s
@@ -221,10 +221,10 @@ gUnknown_843F9A0::
obj_image_anim_end
gUnknown_843F9A8::
- .4byte 0x843f988
- .4byte 0x843f990
- .4byte 0x843f998
- .4byte 0x843f9a0
+ .4byte gUnknown_843F988
+ .4byte gUnknown_843F990
+ .4byte gUnknown_843F998
+ .4byte gUnknown_843F9A0
gUnknown_843F9B8:: @ 843F9B8 sprite_template
spr_template 1, 1, gUnknown_843F980, gUnknown_843F9A8, NULL, gDummySpriteAffineAnimTable, sub_8101B20
diff --git a/data/link_rfu_2.s b/data/link_rfu_2.s
index 5285ac578..4f88177aa 100644
--- a/data/link_rfu_2.s
+++ b/data/link_rfu_2.s
@@ -95,7 +95,7 @@ gUnknown_843ED88:: @ 843ED88
.align 2
gUnknown_843ED94:: @ 843ED94
- .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu.c"
+ abspath "rfu.c"
.align 2
gUnknown_843EDC4:: @ 843EDC4
diff --git a/data/link_rfu_3.s b/data/link_rfu_3.s
index 2effddd97..6cd65b04d 100644
--- a/data/link_rfu_3.s
+++ b/data/link_rfu_3.s
@@ -315,7 +315,7 @@ gUnknown_8457120:: @ 8457120
.align 2
gUnknown_8457138:: @ 8457138
- .asciz "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c"
+ abspath "rfu_union_tool.c"
.align 2
gUnknown_8457174:: @ 8457174
diff --git a/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc b/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc
index 01ad2b414..33f5da4bb 100644
--- a/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc
+++ b/data/maps/CeladonCity_GameCorner_PrizeRoom/scripts.inc
@@ -42,32 +42,67 @@ EventScript_16CC10:: @ 816CC10
end
EventScript_16CC15:: @ 816CC15
+ .ifdef FIRERED
setvar VAR_0x4001, SPECIES_ABRA
setvar VAR_0x4002, 180
+ .else
+ .ifdef LEAFGREEN
+ setvar VAR_0x4001, SPECIES_ABRA
+ setvar VAR_0x4002, 120
+ .endif
+ .endif
goto EventScript_16CC65
end
EventScript_16CC25:: @ 816CC25
+ .ifdef FIRERED
setvar VAR_0x4001, SPECIES_CLEFAIRY
setvar VAR_0x4002, 500
+ .else
+ .ifdef LEAFGREEN
+ setvar VAR_0x4001, SPECIES_CLEFAIRY
+ setvar VAR_0x4002, 750
+ .endif
+ .endif
goto EventScript_16CC65
end
EventScript_16CC35:: @ 816CC35
+ .ifdef FIRERED
setvar VAR_0x4001, SPECIES_DRATINI
setvar VAR_0x4002, 2800
+ .else
+ .ifdef LEAFGREEN
+ setvar VAR_0x4001, SPECIES_PINSIR
+ setvar VAR_0x4002, 2500
+ .endif
+ .endif
goto EventScript_16CC65
end
EventScript_16CC45:: @ 816CC45
+ .ifdef FIRERED
setvar VAR_0x4001, SPECIES_SCYTHER
setvar VAR_0x4002, 5500
+ .else
+ .ifdef LEAFGREEN
+ setvar VAR_0x4001, SPECIES_DRATINI
+ setvar VAR_0x4002, 4600
+ .endif
+ .endif
goto EventScript_16CC65
end
EventScript_16CC55:: @ 816CC55
+ .ifdef FIRERED
setvar VAR_0x4001, SPECIES_PORYGON
setvar VAR_0x4002, 9999
+ .else
+ .ifdef LEAFGREEN
+ setvar VAR_0x4001, SPECIES_PORYGON
+ setvar VAR_0x4002, 6500
+ .endif
+ .endif
goto EventScript_16CC65
end
@@ -90,17 +125,35 @@ EventScript_16CC65:: @ 816CC65
end
EventScript_16CCD4:: @ 816CCD4
+ .ifdef FIRERED
givemon VAR_0x4001, 9, ITEM_NONE, 0, 0, 0
+ .else
+ .ifdef LEAFGREEN
+ givemon VAR_0x4001, 7, ITEM_NONE, 0, 0, 0
+ .endif
+ .endif
goto EventScript_16CD52
end
EventScript_16CCE9:: @ 816CCE9
+ .ifdef FIRERED
givemon VAR_0x4001, 8, ITEM_NONE, 0, 0, 0
+ .else
+ .ifdef LEAFGREEN
+ givemon VAR_0x4001, 12, ITEM_NONE, 0, 0, 0
+ .endif
+ .endif
goto EventScript_16CD52
end
EventScript_16CCFE:: @ 816CCFE
+ .ifdef FIRERED
givemon VAR_0x4001, 18, ITEM_NONE, 0, 0, 0
+ .else
+ .ifdef LEAFGREEN
+ givemon VAR_0x4001, 24, ITEM_NONE, 0, 0, 0
+ .endif
+ .endif
goto EventScript_16CD52
end
@@ -110,7 +163,13 @@ EventScript_16CD13:: @ 816CD13
end
EventScript_16CD28:: @ 816CD28
+ .ifdef FIRERED
givemon VAR_0x4001, 26, ITEM_NONE, 0, 0, 0
+ .else
+ .ifdef LEAFGREEN
+ givemon VAR_0x4001, 18, ITEM_NONE, 0, 0, 0
+ .endif
+ .endif
goto EventScript_16CD52
end
diff --git a/data/pokedex_screen.s b/data/pokedex_screen.s
index 2586524fb..64d1fba0c 100644
--- a/data/pokedex_screen.s
+++ b/data/pokedex_screen.s
@@ -8,2168 +8,6 @@
.section .rodata
.align 2
-gUnknown_843FAB0:: @ 843FAB0
- .4byte gMonFootprint_Bulbasaur
- .4byte gMonFootprint_Bulbasaur
- .4byte gMonFootprint_Ivysaur
- .4byte gMonFootprint_Venusaur
- .4byte gMonFootprint_Charmander
- .4byte gMonFootprint_Charmeleon
- .4byte gMonFootprint_Charizard
- .4byte gMonFootprint_Squirtle
- .4byte gMonFootprint_Wartortle
- .4byte gMonFootprint_Blastoise
- .4byte gMonFootprint_Caterpie
- .4byte gMonFootprint_Metapod
- .4byte gMonFootprint_Butterfree
- .4byte gMonFootprint_Weedle
- .4byte gMonFootprint_Kakuna
- .4byte gMonFootprint_Beedrill
- .4byte gMonFootprint_Pidgey
- .4byte gMonFootprint_Pidgeotto
- .4byte gMonFootprint_Pidgeot
- .4byte gMonFootprint_Rattata
- .4byte gMonFootprint_Raticate
- .4byte gMonFootprint_Spearow
- .4byte gMonFootprint_Fearow
- .4byte gMonFootprint_Ekans
- .4byte gMonFootprint_Arbok
- .4byte gMonFootprint_Pikachu
- .4byte gMonFootprint_Raichu
- .4byte gMonFootprint_Sandshrew
- .4byte gMonFootprint_Sandslash
- .4byte gMonFootprint_NidoranF
- .4byte gMonFootprint_Nidorina
- .4byte gMonFootprint_Nidoqueen
- .4byte gMonFootprint_NidoranM
- .4byte gMonFootprint_Nidorino
- .4byte gMonFootprint_Nidoking
- .4byte gMonFootprint_Clefairy
- .4byte gMonFootprint_Clefable
- .4byte gMonFootprint_Vulpix
- .4byte gMonFootprint_Ninetales
- .4byte gMonFootprint_Jigglypuff
- .4byte gMonFootprint_Wigglytuff
- .4byte gMonFootprint_Zubat
- .4byte gMonFootprint_Golbat
- .4byte gMonFootprint_Oddish
- .4byte gMonFootprint_Gloom
- .4byte gMonFootprint_Vileplume
- .4byte gMonFootprint_Paras
- .4byte gMonFootprint_Parasect
- .4byte gMonFootprint_Venonat
- .4byte gMonFootprint_Venomoth
- .4byte gMonFootprint_Diglett
- .4byte gMonFootprint_Dugtrio
- .4byte gMonFootprint_Meowth
- .4byte gMonFootprint_Persian
- .4byte gMonFootprint_Psyduck
- .4byte gMonFootprint_Golduck
- .4byte gMonFootprint_Mankey
- .4byte gMonFootprint_Primeape
- .4byte gMonFootprint_Growlithe
- .4byte gMonFootprint_Arcanine
- .4byte gMonFootprint_Poliwag
- .4byte gMonFootprint_Poliwhirl
- .4byte gMonFootprint_Poliwrath
- .4byte gMonFootprint_Abra
- .4byte gMonFootprint_Kadabra
- .4byte gMonFootprint_Alakazam
- .4byte gMonFootprint_Machop
- .4byte gMonFootprint_Machoke
- .4byte gMonFootprint_Machamp
- .4byte gMonFootprint_Bellsprout
- .4byte gMonFootprint_Weepinbell
- .4byte gMonFootprint_Victreebel
- .4byte gMonFootprint_Tentacool
- .4byte gMonFootprint_Tentacruel
- .4byte gMonFootprint_Geodude
- .4byte gMonFootprint_Graveler
- .4byte gMonFootprint_Golem
- .4byte gMonFootprint_Ponyta
- .4byte gMonFootprint_Rapidash
- .4byte gMonFootprint_Slowpoke
- .4byte gMonFootprint_Slowbro
- .4byte gMonFootprint_Magnemite
- .4byte gMonFootprint_Magneton
- .4byte gMonFootprint_Farfetchd
- .4byte gMonFootprint_Doduo
- .4byte gMonFootprint_Dodrio
- .4byte gMonFootprint_Seel
- .4byte gMonFootprint_Dewgong
- .4byte gMonFootprint_Grimer
- .4byte gMonFootprint_Muk
- .4byte gMonFootprint_Shellder
- .4byte gMonFootprint_Cloyster
- .4byte gMonFootprint_Gastly
- .4byte gMonFootprint_Haunter
- .4byte gMonFootprint_Gengar
- .4byte gMonFootprint_Onix
- .4byte gMonFootprint_Drowzee
- .4byte gMonFootprint_Hypno
- .4byte gMonFootprint_Krabby
- .4byte gMonFootprint_Kingler
- .4byte gMonFootprint_Voltorb
- .4byte gMonFootprint_Electrode
- .4byte gMonFootprint_Exeggcute
- .4byte gMonFootprint_Exeggutor
- .4byte gMonFootprint_Cubone
- .4byte gMonFootprint_Marowak
- .4byte gMonFootprint_Hitmonlee
- .4byte gMonFootprint_Hitmonchan
- .4byte gMonFootprint_Lickitung
- .4byte gMonFootprint_Koffing
- .4byte gMonFootprint_Weezing
- .4byte gMonFootprint_Rhyhorn
- .4byte gMonFootprint_Rhydon
- .4byte gMonFootprint_Chansey
- .4byte gMonFootprint_Tangela
- .4byte gMonFootprint_Kangaskhan
- .4byte gMonFootprint_Horsea
- .4byte gMonFootprint_Seadra
- .4byte gMonFootprint_Goldeen
- .4byte gMonFootprint_Seaking
- .4byte gMonFootprint_Staryu
- .4byte gMonFootprint_Starmie
- .4byte gMonFootprint_Mrmime
- .4byte gMonFootprint_Scyther
- .4byte gMonFootprint_Jynx
- .4byte gMonFootprint_Electabuzz
- .4byte gMonFootprint_Magmar
- .4byte gMonFootprint_Pinsir
- .4byte gMonFootprint_Tauros
- .4byte gMonFootprint_Magikarp
- .4byte gMonFootprint_Gyarados
- .4byte gMonFootprint_Lapras
- .4byte gMonFootprint_Ditto
- .4byte gMonFootprint_Eevee
- .4byte gMonFootprint_Vaporeon
- .4byte gMonFootprint_Jolteon
- .4byte gMonFootprint_Flareon
- .4byte gMonFootprint_Porygon
- .4byte gMonFootprint_Omanyte
- .4byte gMonFootprint_Omastar
- .4byte gMonFootprint_Kabuto
- .4byte gMonFootprint_Kabutops
- .4byte gMonFootprint_Aerodactyl
- .4byte gMonFootprint_Snorlax
- .4byte gMonFootprint_Articuno
- .4byte gMonFootprint_Zapdos
- .4byte gMonFootprint_Moltres
- .4byte gMonFootprint_Dratini
- .4byte gMonFootprint_Dragonair
- .4byte gMonFootprint_Dragonite
- .4byte gMonFootprint_Mewtwo
- .4byte gMonFootprint_Mew
- .4byte gMonFootprint_Chikorita
- .4byte gMonFootprint_Bayleef
- .4byte gMonFootprint_Meganium
- .4byte gMonFootprint_Cyndaquil
- .4byte gMonFootprint_Quilava
- .4byte gMonFootprint_Typhlosion
- .4byte gMonFootprint_Totodile
- .4byte gMonFootprint_Croconaw
- .4byte gMonFootprint_Feraligatr
- .4byte gMonFootprint_Sentret
- .4byte gMonFootprint_Furret
- .4byte gMonFootprint_Hoothoot
- .4byte gMonFootprint_Noctowl
- .4byte gMonFootprint_Ledyba
- .4byte gMonFootprint_Ledian
- .4byte gMonFootprint_Spinarak
- .4byte gMonFootprint_Ariados
- .4byte gMonFootprint_Crobat
- .4byte gMonFootprint_Chinchou
- .4byte gMonFootprint_Lanturn
- .4byte gMonFootprint_Pichu
- .4byte gMonFootprint_Cleffa
- .4byte gMonFootprint_Igglybuff
- .4byte gMonFootprint_Togepi
- .4byte gMonFootprint_Togetic
- .4byte gMonFootprint_Natu
- .4byte gMonFootprint_Xatu
- .4byte gMonFootprint_Mareep
- .4byte gMonFootprint_Flaaffy
- .4byte gMonFootprint_Ampharos
- .4byte gMonFootprint_Bellossom
- .4byte gMonFootprint_Marill
- .4byte gMonFootprint_Azumarill
- .4byte gMonFootprint_Sudowoodo
- .4byte gMonFootprint_Politoed
- .4byte gMonFootprint_Hoppip
- .4byte gMonFootprint_Skiploom
- .4byte gMonFootprint_Jumpluff
- .4byte gMonFootprint_Aipom
- .4byte gMonFootprint_Sunkern
- .4byte gMonFootprint_Sunflora
- .4byte gMonFootprint_Yanma
- .4byte gMonFootprint_Wooper
- .4byte gMonFootprint_Quagsire
- .4byte gMonFootprint_Espeon
- .4byte gMonFootprint_Umbreon
- .4byte gMonFootprint_Murkrow
- .4byte gMonFootprint_Slowking
- .4byte gMonFootprint_Misdreavus
- .4byte gMonFootprint_Unown
- .4byte gMonFootprint_Wobbuffet
- .4byte gMonFootprint_Girafarig
- .4byte gMonFootprint_Pineco
- .4byte gMonFootprint_Forretress
- .4byte gMonFootprint_Dunsparce
- .4byte gMonFootprint_Gligar
- .4byte gMonFootprint_Steelix
- .4byte gMonFootprint_Snubbull
- .4byte gMonFootprint_Granbull
- .4byte gMonFootprint_Qwilfish
- .4byte gMonFootprint_Scizor
- .4byte gMonFootprint_Shuckle
- .4byte gMonFootprint_Heracross
- .4byte gMonFootprint_Sneasel
- .4byte gMonFootprint_Teddiursa
- .4byte gMonFootprint_Ursaring
- .4byte gMonFootprint_Slugma
- .4byte gMonFootprint_Magcargo
- .4byte gMonFootprint_Swinub
- .4byte gMonFootprint_Piloswine
- .4byte gMonFootprint_Corsola
- .4byte gMonFootprint_Remoraid
- .4byte gMonFootprint_Octillery
- .4byte gMonFootprint_Delibird
- .4byte gMonFootprint_Mantine
- .4byte gMonFootprint_Skarmory
- .4byte gMonFootprint_Houndour
- .4byte gMonFootprint_Houndoom
- .4byte gMonFootprint_Kingdra
- .4byte gMonFootprint_Phanpy
- .4byte gMonFootprint_Donphan
- .4byte gMonFootprint_Porygon2
- .4byte gMonFootprint_Stantler
- .4byte gMonFootprint_Smeargle
- .4byte gMonFootprint_Tyrogue
- .4byte gMonFootprint_Hitmontop
- .4byte gMonFootprint_Smoochum
- .4byte gMonFootprint_Elekid
- .4byte gMonFootprint_Magby
- .4byte gMonFootprint_Miltank
- .4byte gMonFootprint_Blissey
- .4byte gMonFootprint_Raikou
- .4byte gMonFootprint_Entei
- .4byte gMonFootprint_Suicune
- .4byte gMonFootprint_Larvitar
- .4byte gMonFootprint_Pupitar
- .4byte gMonFootprint_Tyranitar
- .4byte gMonFootprint_Lugia
- .4byte gMonFootprint_HoOh
- .4byte gMonFootprint_Celebi
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_QuestionMark
- .4byte gMonFootprint_Treecko
- .4byte gMonFootprint_Grovyle
- .4byte gMonFootprint_Sceptile
- .4byte gMonFootprint_Torchic
- .4byte gMonFootprint_Combusken
- .4byte gMonFootprint_Blaziken
- .4byte gMonFootprint_Mudkip
- .4byte gMonFootprint_Marshtomp
- .4byte gMonFootprint_Swampert
- .4byte gMonFootprint_Poochyena
- .4byte gMonFootprint_Mightyena
- .4byte gMonFootprint_Zigzagoon
- .4byte gMonFootprint_Linoone
- .4byte gMonFootprint_Wurmple
- .4byte gMonFootprint_Silcoon
- .4byte gMonFootprint_Beautifly
- .4byte gMonFootprint_Cascoon
- .4byte gMonFootprint_Dustox
- .4byte gMonFootprint_Lotad
- .4byte gMonFootprint_Lombre
- .4byte gMonFootprint_Ludicolo
- .4byte gMonFootprint_Seedot
- .4byte gMonFootprint_Nuzleaf
- .4byte gMonFootprint_Shiftry
- .4byte gMonFootprint_Nincada
- .4byte gMonFootprint_Ninjask
- .4byte gMonFootprint_Shedinja
- .4byte gMonFootprint_Taillow
- .4byte gMonFootprint_Swellow
- .4byte gMonFootprint_Shroomish
- .4byte gMonFootprint_Breloom
- .4byte gMonFootprint_Spinda
- .4byte gMonFootprint_Wingull
- .4byte gMonFootprint_Pelipper
- .4byte gMonFootprint_Surskit
- .4byte gMonFootprint_Masquerain
- .4byte gMonFootprint_Wailmer
- .4byte gMonFootprint_Wailord
- .4byte gMonFootprint_Skitty
- .4byte gMonFootprint_Delcatty
- .4byte gMonFootprint_Kecleon
- .4byte gMonFootprint_Baltoy
- .4byte gMonFootprint_Claydol
- .4byte gMonFootprint_Nosepass
- .4byte gMonFootprint_Torkoal
- .4byte gMonFootprint_Sableye
- .4byte gMonFootprint_Barboach
- .4byte gMonFootprint_Whiscash
- .4byte gMonFootprint_Luvdisc
- .4byte gMonFootprint_Corphish
- .4byte gMonFootprint_Crawdaunt
- .4byte gMonFootprint_Feebas
- .4byte gMonFootprint_Milotic
- .4byte gMonFootprint_Carvanha
- .4byte gMonFootprint_Sharpedo
- .4byte gMonFootprint_Trapinch
- .4byte gMonFootprint_Vibrava
- .4byte gMonFootprint_Flygon
- .4byte gMonFootprint_Makuhita
- .4byte gMonFootprint_Hariyama
- .4byte gMonFootprint_Electrike
- .4byte gMonFootprint_Manectric
- .4byte gMonFootprint_Numel
- .4byte gMonFootprint_Camerupt
- .4byte gMonFootprint_Spheal
- .4byte gMonFootprint_Sealeo
- .4byte gMonFootprint_Walrein
- .4byte gMonFootprint_Cacnea
- .4byte gMonFootprint_Cacturne
- .4byte gMonFootprint_Snorunt
- .4byte gMonFootprint_Glalie
- .4byte gMonFootprint_Lunatone
- .4byte gMonFootprint_Solrock
- .4byte gMonFootprint_Azurill
- .4byte gMonFootprint_Spoink
- .4byte gMonFootprint_Grumpig
- .4byte gMonFootprint_Plusle
- .4byte gMonFootprint_Minun
- .4byte gMonFootprint_Mawile
- .4byte gMonFootprint_Meditite
- .4byte gMonFootprint_Medicham
- .4byte gMonFootprint_Swablu
- .4byte gMonFootprint_Altaria
- .4byte gMonFootprint_Wynaut
- .4byte gMonFootprint_Duskull
- .4byte gMonFootprint_Dusclops
- .4byte gMonFootprint_Roselia
- .4byte gMonFootprint_Slakoth
- .4byte gMonFootprint_Vigoroth
- .4byte gMonFootprint_Slaking
- .4byte gMonFootprint_Gulpin
- .4byte gMonFootprint_Swalot
- .4byte gMonFootprint_Tropius
- .4byte gMonFootprint_Whismur
- .4byte gMonFootprint_Loudred
- .4byte gMonFootprint_Exploud
- .4byte gMonFootprint_Clamperl
- .4byte gMonFootprint_Huntail
- .4byte gMonFootprint_Gorebyss
- .4byte gMonFootprint_Absol
- .4byte gMonFootprint_Shuppet
- .4byte gMonFootprint_Banette
- .4byte gMonFootprint_Seviper
- .4byte gMonFootprint_Zangoose
- .4byte gMonFootprint_Relicanth
- .4byte gMonFootprint_Aron
- .4byte gMonFootprint_Lairon
- .4byte gMonFootprint_Aggron
- .4byte gMonFootprint_Castform
- .4byte gMonFootprint_Volbeat
- .4byte gMonFootprint_Illumise
- .4byte gMonFootprint_Lileep
- .4byte gMonFootprint_Cradily
- .4byte gMonFootprint_Anorith
- .4byte gMonFootprint_Armaldo
- .4byte gMonFootprint_Ralts
- .4byte gMonFootprint_Kirlia
- .4byte gMonFootprint_Gardevoir
- .4byte gMonFootprint_Bagon
- .4byte gMonFootprint_Shelgon
- .4byte gMonFootprint_Salamence
- .4byte gMonFootprint_Beldum
- .4byte gMonFootprint_Metang
- .4byte gMonFootprint_Metagross
- .4byte gMonFootprint_Regirock
- .4byte gMonFootprint_Regice
- .4byte gMonFootprint_Registeel
- .4byte gMonFootprint_Kyogre
- .4byte gMonFootprint_Groudon
- .4byte gMonFootprint_Rayquaza
- .4byte gMonFootprint_Latias
- .4byte gMonFootprint_Latios
- .4byte gMonFootprint_Jirachi
- .4byte gMonFootprint_Deoxys
- .4byte gMonFootprint_Chimecho
- .4byte gMonFootprint_Bulbasaur
-
-gUnknown_8440124:: @ 8440124 bin.lz
- .incbin "graphics/pokedex/unk_8440124.bin.lz"
-
-gUnknown_8440274:: @ 8440274 4bpp.lz
- .incbin "graphics/pokedex/unk_8440274.4bpp.lz"
-
-gUnknown_84403AC:: @ 84403AC 4bpp.lz
- .incbin "graphics/pokedex/unk_84403AC.4bpp.lz"
-
-gUnknown_84404C8:: @ 84404C8 gbapal
- .incbin "graphics/pokedex/unk_84404C8.gbapal"
-
-gUnknown_84406C8:: @ 84406C8 data16
- .2byte RGB(24, 22, 17), RGB(26, 24, 20)
- .2byte RGB(26, 20, 15), RGB(27, 23, 19)
- .2byte RGB(28, 18, 15), RGB(28, 22, 19)
- .2byte RGB(30, 16, 13), RGB(29, 21, 18)
- .2byte RGB(28, 18, 15), RGB(28, 22, 19)
- .2byte RGB(26, 20, 15), RGB(27, 23, 19)
-
-gUnknown_84406E0:: @ 84406E0 gbapal
- .incbin "graphics/pokedex/unk_84406E0.gbapal"
-
-gUnknown_84408E0:: @ bin.lz
- .incbin "graphics/pokedex/unk_84408E0.bin.lz"
-
-gUnknown_8440BD8:: @ bin.lz
- .incbin "graphics/pokedex/unk_8440BD8.bin.lz"
-
-gUnknown_8440EF0:: @ 8440EF0 bin.lz
- .incbin "graphics/pokedex/unk_8440EF0.bin.lz"
-
-gUnknown_844112C:: @ bin.lz
- .incbin "graphics/pokedex/unk_844112C.bin.lz"
-
-gUnknown_84414BC:: @ bin.lz
- .incbin "graphics/pokedex/unk_84414BC.bin.lz"
-
-gUnknown_8441808:: @ bin.lz
- .incbin "graphics/pokedex/unk_8441808.bin.lz"
-
-gUnknown_8441A40:: @ bin.lz
- .incbin "graphics/pokedex/unk_8441A40.bin.lz"
-
-gUnknown_8441D54:: @ bin.lz
- .incbin "graphics/pokedex/unk_8441D54.bin.lz"
-
-gUnknown_8442004:: @ bin.lz
- .incbin "graphics/pokedex/unk_8442004.bin.lz"
-
-gUnknown_844223C:: @ bin.lz
- .incbin "graphics/pokedex/unk_844223C.bin.lz"
-
-gUnknown_84424E4:: @ bin.lz
- .incbin "graphics/pokedex/unk_84424E4.bin.lz"
-
-gUnknown_8442838:: @ bin.lz
- .incbin "graphics/pokedex/unk_8442838.bin.lz"
-
-gUnknown_8442BC0:: @ bin.lz
- .incbin "graphics/pokedex/unk_8442BC0.bin.lz"
-
-gUnknown_8442EF8:: @ bin.lz
- .incbin "graphics/pokedex/unk_8442EF8.bin.lz"
-
-gUnknown_844318C:: @ bin.lz
- .incbin "graphics/pokedex/unk_844318C.bin.lz"
-
-gUnknown_8443420:: @ gbapal
- .incbin "graphics/pokedex/unk_8443420.gbapal"
-
-gUnknown_8443440:: @ gbapal
- .incbin "graphics/pokedex/unk_8443440.gbapal"
-
-gUnknown_8443460:: @ 8443460 gbapal
- .incbin "graphics/pokedex/unk_8443460.gbapal"
-
-gUnknown_8443480:: @ gbapal
- .incbin "graphics/pokedex/unk_8443480.gbapal"
-
-gUnknown_84434A0:: @ gbapal
- .incbin "graphics/pokedex/unk_84434A0.gbapal"
-
-gUnknown_84434C0:: @ gbapal
- .incbin "graphics/pokedex/unk_84434C0.gbapal"
-
-gUnknown_84434E0:: @ gbapal
- .incbin "graphics/pokedex/unk_84434E0.gbapal"
-
-gUnknown_8443500:: @ gbapal
- .incbin "graphics/pokedex/unk_8443500.gbapal"
-
-gUnknown_8443520:: @ gbapal
- .incbin "graphics/pokedex/unk_8443520.gbapal"
-
-gUnknown_8443540:: @ gbapal
- .incbin "graphics/pokedex/unk_8443540.gbapal"
-
-gUnknown_8443560:: @ gbapal
- .incbin "graphics/pokedex/unk_8443560.gbapal"
-
-gUnknown_8443580:: @ gbapal
- .incbin "graphics/pokedex/unk_8443580.gbapal"
-
-gUnknown_84435A0:: @ gbapal
- .incbin "graphics/pokedex/unk_84435A0.gbapal"
-
-gUnknown_84435C0:: @ gbapal
- .incbin "graphics/pokedex/unk_84435C0.gbapal"
-
-gUnknown_84435E0:: @ gbapal
- .incbin "graphics/pokedex/unk_84435E0.gbapal"
-
-gUnknown_8443600:: @ 8443600 4bpp
- .incbin "graphics/pokedex/unk_8443600.4bpp"
-
-gUnknown_8443620:: @ 8443620 bin.lz
- .incbin "graphics/pokedex/unk_8443620.bin.lz"
-
-gUnknown_8443910:: @ 8443910 bin.lz
- .incbin "graphics/pokedex/unk_8443910.bin.lz"
-
-gUnknown_8443988:: @ 8443988 bin.lz
- .incbin "graphics/pokedex/unk_8443988.bin.lz"
-
-gUnknown_84439FC:: @ 84439FC bin.lz
- .incbin "graphics/pokedex/unk_84439FC.bin.lz"
-
-gUnknown_8443A78:: @ 8443A78 bin.lz
- .incbin "graphics/pokedex/unk_8443A78.bin.lz"
-
-gUnknown_8443AF8:: @ 8443AF8 bin.lz
- .incbin "graphics/pokedex/unk_8443AF8.bin.lz"
-
-gUnknown_8443BB0:: @ 8443BB0 bin.lz
- .incbin "graphics/pokedex/unk_8443BB0.bin.lz"
-
-gUnknown_8443C54:: @ 8443C54 bin.lz
- .incbin "graphics/pokedex/unk_8443C54.bin.lz"
-
-gUnknown_8443D00:: @ 8443D00 4bpp
- .incbin "graphics/pokedex/unk_8443D00.4bpp"
-
-gUnknown_8443FC0:: @ 8443FC0
- .2byte NATIONAL_DEX_OLD_UNOWN_B
- .2byte NATIONAL_DEX_OLD_UNOWN_C
- .2byte NATIONAL_DEX_OLD_UNOWN_D
- .2byte NATIONAL_DEX_OLD_UNOWN_E
- .2byte NATIONAL_DEX_OLD_UNOWN_F
- .2byte NATIONAL_DEX_OLD_UNOWN_G
- .2byte NATIONAL_DEX_OLD_UNOWN_H
- .2byte NATIONAL_DEX_OLD_UNOWN_I
- .2byte NATIONAL_DEX_OLD_UNOWN_J
- .2byte NATIONAL_DEX_OLD_UNOWN_K
- .2byte NATIONAL_DEX_OLD_UNOWN_L
- .2byte NATIONAL_DEX_OLD_UNOWN_M
- .2byte NATIONAL_DEX_OLD_UNOWN_N
- .2byte NATIONAL_DEX_OLD_UNOWN_O
- .2byte NATIONAL_DEX_OLD_UNOWN_P
- .2byte NATIONAL_DEX_OLD_UNOWN_Q
- .2byte NATIONAL_DEX_OLD_UNOWN_R
- .2byte NATIONAL_DEX_OLD_UNOWN_S
- .2byte NATIONAL_DEX_OLD_UNOWN_T
- .2byte NATIONAL_DEX_OLD_UNOWN_U
- .2byte NATIONAL_DEX_OLD_UNOWN_V
- .2byte NATIONAL_DEX_OLD_UNOWN_W
- .2byte NATIONAL_DEX_OLD_UNOWN_X
- .2byte NATIONAL_DEX_OLD_UNOWN_Y
- .2byte NATIONAL_DEX_OLD_UNOWN_Z
- .2byte NATIONAL_DEX_ABRA
- .2byte NATIONAL_DEX_ABSOL
- .2byte NATIONAL_DEX_AERODACTYL
- .2byte NATIONAL_DEX_AGGRON
- .2byte NATIONAL_DEX_AIPOM
- .2byte NATIONAL_DEX_ALAKAZAM
- .2byte NATIONAL_DEX_ALTARIA
- .2byte NATIONAL_DEX_AMPHAROS
- .2byte NATIONAL_DEX_ANORITH
- .2byte NATIONAL_DEX_ARBOK
- .2byte NATIONAL_DEX_ARCANINE
- .2byte NATIONAL_DEX_ARIADOS
- .2byte NATIONAL_DEX_ARMALDO
- .2byte NATIONAL_DEX_ARON
- .2byte NATIONAL_DEX_ARTICUNO
- .2byte NATIONAL_DEX_AZUMARILL
- .2byte NATIONAL_DEX_AZURILL
- .2byte NATIONAL_DEX_BAGON
- .2byte NATIONAL_DEX_BALTOY
- .2byte NATIONAL_DEX_BANETTE
- .2byte NATIONAL_DEX_BARBOACH
- .2byte NATIONAL_DEX_BAYLEEF
- .2byte NATIONAL_DEX_BEAUTIFLY
- .2byte NATIONAL_DEX_BEEDRILL
- .2byte NATIONAL_DEX_BELDUM
- .2byte NATIONAL_DEX_BELLOSSOM
- .2byte NATIONAL_DEX_BELLSPROUT
- .2byte NATIONAL_DEX_BLASTOISE
- .2byte NATIONAL_DEX_BLAZIKEN
- .2byte NATIONAL_DEX_BLISSEY
- .2byte NATIONAL_DEX_BRELOOM
- .2byte NATIONAL_DEX_BULBASAUR
- .2byte NATIONAL_DEX_BUTTERFREE
- .2byte NATIONAL_DEX_CACNEA
- .2byte NATIONAL_DEX_CACTURNE
- .2byte NATIONAL_DEX_CAMERUPT
- .2byte NATIONAL_DEX_CARVANHA
- .2byte NATIONAL_DEX_CASCOON
- .2byte NATIONAL_DEX_CASTFORM
- .2byte NATIONAL_DEX_CATERPIE
- .2byte NATIONAL_DEX_CELEBI
- .2byte NATIONAL_DEX_CHANSEY
- .2byte NATIONAL_DEX_CHARIZARD
- .2byte NATIONAL_DEX_CHARMANDER
- .2byte NATIONAL_DEX_CHARMELEON
- .2byte NATIONAL_DEX_CHIKORITA
- .2byte NATIONAL_DEX_CHIMECHO
- .2byte NATIONAL_DEX_CHINCHOU
- .2byte NATIONAL_DEX_CLAMPERL
- .2byte NATIONAL_DEX_CLAYDOL
- .2byte NATIONAL_DEX_CLEFABLE
- .2byte NATIONAL_DEX_CLEFAIRY
- .2byte NATIONAL_DEX_CLEFFA
- .2byte NATIONAL_DEX_CLOYSTER
- .2byte NATIONAL_DEX_COMBUSKEN
- .2byte NATIONAL_DEX_CORPHISH
- .2byte NATIONAL_DEX_CORSOLA
- .2byte NATIONAL_DEX_CRADILY
- .2byte NATIONAL_DEX_CRAWDAUNT
- .2byte NATIONAL_DEX_CROBAT
- .2byte NATIONAL_DEX_CROCONAW
- .2byte NATIONAL_DEX_CUBONE
- .2byte NATIONAL_DEX_CYNDAQUIL
- .2byte NATIONAL_DEX_DELCATTY
- .2byte NATIONAL_DEX_DELIBIRD
- .2byte NATIONAL_DEX_DEOXYS
- .2byte NATIONAL_DEX_DEWGONG
- .2byte NATIONAL_DEX_DIGLETT
- .2byte NATIONAL_DEX_DITTO
- .2byte NATIONAL_DEX_DODRIO
- .2byte NATIONAL_DEX_DODUO
- .2byte NATIONAL_DEX_DONPHAN
- .2byte NATIONAL_DEX_DRAGONAIR
- .2byte NATIONAL_DEX_DRAGONITE
- .2byte NATIONAL_DEX_DRATINI
- .2byte NATIONAL_DEX_DROWZEE
- .2byte NATIONAL_DEX_DUGTRIO
- .2byte NATIONAL_DEX_DUNSPARCE
- .2byte NATIONAL_DEX_DUSCLOPS
- .2byte NATIONAL_DEX_DUSKULL
- .2byte NATIONAL_DEX_DUSTOX
- .2byte NATIONAL_DEX_EEVEE
- .2byte NATIONAL_DEX_EKANS
- .2byte NATIONAL_DEX_ELECTABUZZ
- .2byte NATIONAL_DEX_ELECTRIKE
- .2byte NATIONAL_DEX_ELECTRODE
- .2byte NATIONAL_DEX_ELEKID
- .2byte NATIONAL_DEX_ENTEI
- .2byte NATIONAL_DEX_ESPEON
- .2byte NATIONAL_DEX_EXEGGCUTE
- .2byte NATIONAL_DEX_EXEGGUTOR
- .2byte NATIONAL_DEX_EXPLOUD
- .2byte NATIONAL_DEX_FARFETCHD
- .2byte NATIONAL_DEX_FEAROW
- .2byte NATIONAL_DEX_FEEBAS
- .2byte NATIONAL_DEX_FERALIGATR
- .2byte NATIONAL_DEX_FLAAFFY
- .2byte NATIONAL_DEX_FLAREON
- .2byte NATIONAL_DEX_FLYGON
- .2byte NATIONAL_DEX_FORRETRESS
- .2byte NATIONAL_DEX_FURRET
- .2byte NATIONAL_DEX_GARDEVOIR
- .2byte NATIONAL_DEX_GASTLY
- .2byte NATIONAL_DEX_GENGAR
- .2byte NATIONAL_DEX_GEODUDE
- .2byte NATIONAL_DEX_GIRAFARIG
- .2byte NATIONAL_DEX_GLALIE
- .2byte NATIONAL_DEX_GLIGAR
- .2byte NATIONAL_DEX_GLOOM
- .2byte NATIONAL_DEX_GOLBAT
- .2byte NATIONAL_DEX_GOLDEEN
- .2byte NATIONAL_DEX_GOLDUCK
- .2byte NATIONAL_DEX_GOLEM
- .2byte NATIONAL_DEX_GOREBYSS
- .2byte NATIONAL_DEX_GRANBULL
- .2byte NATIONAL_DEX_GRAVELER
- .2byte NATIONAL_DEX_GRIMER
- .2byte NATIONAL_DEX_GROUDON
- .2byte NATIONAL_DEX_GROVYLE
- .2byte NATIONAL_DEX_GROWLITHE
- .2byte NATIONAL_DEX_GRUMPIG
- .2byte NATIONAL_DEX_GULPIN
- .2byte NATIONAL_DEX_GYARADOS
- .2byte NATIONAL_DEX_HARIYAMA
- .2byte NATIONAL_DEX_HAUNTER
- .2byte NATIONAL_DEX_HERACROSS
- .2byte NATIONAL_DEX_HITMONCHAN
- .2byte NATIONAL_DEX_HITMONLEE
- .2byte NATIONAL_DEX_HITMONTOP
- .2byte NATIONAL_DEX_HO_OH
- .2byte NATIONAL_DEX_HOOTHOOT
- .2byte NATIONAL_DEX_HOPPIP
- .2byte NATIONAL_DEX_HORSEA
- .2byte NATIONAL_DEX_HOUNDOOM
- .2byte NATIONAL_DEX_HOUNDOUR
- .2byte NATIONAL_DEX_HUNTAIL
- .2byte NATIONAL_DEX_HYPNO
- .2byte NATIONAL_DEX_IGGLYBUFF
- .2byte NATIONAL_DEX_ILLUMISE
- .2byte NATIONAL_DEX_IVYSAUR
- .2byte NATIONAL_DEX_JIGGLYPUFF
- .2byte NATIONAL_DEX_JIRACHI
- .2byte NATIONAL_DEX_JOLTEON
- .2byte NATIONAL_DEX_JUMPLUFF
- .2byte NATIONAL_DEX_JYNX
- .2byte NATIONAL_DEX_KABUTO
- .2byte NATIONAL_DEX_KABUTOPS
- .2byte NATIONAL_DEX_KADABRA
- .2byte NATIONAL_DEX_KAKUNA
- .2byte NATIONAL_DEX_KANGASKHAN
- .2byte NATIONAL_DEX_KECLEON
- .2byte NATIONAL_DEX_KINGDRA
- .2byte NATIONAL_DEX_KINGLER
- .2byte NATIONAL_DEX_KIRLIA
- .2byte NATIONAL_DEX_KOFFING
- .2byte NATIONAL_DEX_KRABBY
- .2byte NATIONAL_DEX_KYOGRE
- .2byte NATIONAL_DEX_LAIRON
- .2byte NATIONAL_DEX_LANTURN
- .2byte NATIONAL_DEX_LAPRAS
- .2byte NATIONAL_DEX_LARVITAR
- .2byte NATIONAL_DEX_LATIAS
- .2byte NATIONAL_DEX_LATIOS
- .2byte NATIONAL_DEX_LEDIAN
- .2byte NATIONAL_DEX_LEDYBA
- .2byte NATIONAL_DEX_LICKITUNG
- .2byte NATIONAL_DEX_LILEEP
- .2byte NATIONAL_DEX_LINOONE
- .2byte NATIONAL_DEX_LOMBRE
- .2byte NATIONAL_DEX_LOTAD
- .2byte NATIONAL_DEX_LOUDRED
- .2byte NATIONAL_DEX_LUDICOLO
- .2byte NATIONAL_DEX_LUGIA
- .2byte NATIONAL_DEX_LUNATONE
- .2byte NATIONAL_DEX_LUVDISC
- .2byte NATIONAL_DEX_MACHAMP
- .2byte NATIONAL_DEX_MACHOKE
- .2byte NATIONAL_DEX_MACHOP
- .2byte NATIONAL_DEX_MAGBY
- .2byte NATIONAL_DEX_MAGCARGO
- .2byte NATIONAL_DEX_MAGIKARP
- .2byte NATIONAL_DEX_MAGMAR
- .2byte NATIONAL_DEX_MAGNEMITE
- .2byte NATIONAL_DEX_MAGNETON
- .2byte NATIONAL_DEX_MAKUHITA
- .2byte NATIONAL_DEX_MANECTRIC
- .2byte NATIONAL_DEX_MANKEY
- .2byte NATIONAL_DEX_MANTINE
- .2byte NATIONAL_DEX_MAREEP
- .2byte NATIONAL_DEX_MARILL
- .2byte NATIONAL_DEX_MAROWAK
- .2byte NATIONAL_DEX_MARSHTOMP
- .2byte NATIONAL_DEX_MASQUERAIN
- .2byte NATIONAL_DEX_MAWILE
- .2byte NATIONAL_DEX_MEDICHAM
- .2byte NATIONAL_DEX_MEDITITE
- .2byte NATIONAL_DEX_MEGANIUM
- .2byte NATIONAL_DEX_MEOWTH
- .2byte NATIONAL_DEX_METAGROSS
- .2byte NATIONAL_DEX_METANG
- .2byte NATIONAL_DEX_METAPOD
- .2byte NATIONAL_DEX_MEW
- .2byte NATIONAL_DEX_MEWTWO
- .2byte NATIONAL_DEX_MIGHTYENA
- .2byte NATIONAL_DEX_MILOTIC
- .2byte NATIONAL_DEX_MILTANK
- .2byte NATIONAL_DEX_MINUN
- .2byte NATIONAL_DEX_MISDREAVUS
- .2byte NATIONAL_DEX_MOLTRES
- .2byte NATIONAL_DEX_MR_MIME
- .2byte NATIONAL_DEX_MUDKIP
- .2byte NATIONAL_DEX_MUK
- .2byte NATIONAL_DEX_MURKROW
- .2byte NATIONAL_DEX_NATU
- .2byte NATIONAL_DEX_NIDOKING
- .2byte NATIONAL_DEX_NIDOQUEEN
- .2byte NATIONAL_DEX_NIDORAN_F
- .2byte NATIONAL_DEX_NIDORAN_M
- .2byte NATIONAL_DEX_NIDORINA
- .2byte NATIONAL_DEX_NIDORINO
- .2byte NATIONAL_DEX_NINCADA
- .2byte NATIONAL_DEX_NINETALES
- .2byte NATIONAL_DEX_NINJASK
- .2byte NATIONAL_DEX_NOCTOWL
- .2byte NATIONAL_DEX_NOSEPASS
- .2byte NATIONAL_DEX_NUMEL
- .2byte NATIONAL_DEX_NUZLEAF
- .2byte NATIONAL_DEX_OCTILLERY
- .2byte NATIONAL_DEX_ODDISH
- .2byte NATIONAL_DEX_OMANYTE
- .2byte NATIONAL_DEX_OMASTAR
- .2byte NATIONAL_DEX_ONIX
- .2byte NATIONAL_DEX_PARAS
- .2byte NATIONAL_DEX_PARASECT
- .2byte NATIONAL_DEX_PELIPPER
- .2byte NATIONAL_DEX_PERSIAN
- .2byte NATIONAL_DEX_PHANPY
- .2byte NATIONAL_DEX_PICHU
- .2byte NATIONAL_DEX_PIDGEOT
- .2byte NATIONAL_DEX_PIDGEOTTO
- .2byte NATIONAL_DEX_PIDGEY
- .2byte NATIONAL_DEX_PIKACHU
- .2byte NATIONAL_DEX_PILOSWINE
- .2byte NATIONAL_DEX_PINECO
- .2byte NATIONAL_DEX_PINSIR
- .2byte NATIONAL_DEX_PLUSLE
- .2byte NATIONAL_DEX_POLITOED
- .2byte NATIONAL_DEX_POLIWAG
- .2byte NATIONAL_DEX_POLIWHIRL
- .2byte NATIONAL_DEX_POLIWRATH
- .2byte NATIONAL_DEX_PONYTA
- .2byte NATIONAL_DEX_POOCHYENA
- .2byte NATIONAL_DEX_PORYGON
- .2byte NATIONAL_DEX_PORYGON2
- .2byte NATIONAL_DEX_PRIMEAPE
- .2byte NATIONAL_DEX_PSYDUCK
- .2byte NATIONAL_DEX_PUPITAR
- .2byte NATIONAL_DEX_QUAGSIRE
- .2byte NATIONAL_DEX_QUILAVA
- .2byte NATIONAL_DEX_QWILFISH
- .2byte NATIONAL_DEX_RAICHU
- .2byte NATIONAL_DEX_RAIKOU
- .2byte NATIONAL_DEX_RALTS
- .2byte NATIONAL_DEX_RAPIDASH
- .2byte NATIONAL_DEX_RATICATE
- .2byte NATIONAL_DEX_RATTATA
- .2byte NATIONAL_DEX_RAYQUAZA
- .2byte NATIONAL_DEX_REGICE
- .2byte NATIONAL_DEX_REGIROCK
- .2byte NATIONAL_DEX_REGISTEEL
- .2byte NATIONAL_DEX_RELICANTH
- .2byte NATIONAL_DEX_REMORAID
- .2byte NATIONAL_DEX_RHYDON
- .2byte NATIONAL_DEX_RHYHORN
- .2byte NATIONAL_DEX_ROSELIA
- .2byte NATIONAL_DEX_SABLEYE
- .2byte NATIONAL_DEX_SALAMENCE
- .2byte NATIONAL_DEX_SANDSHREW
- .2byte NATIONAL_DEX_SANDSLASH
- .2byte NATIONAL_DEX_SCEPTILE
- .2byte NATIONAL_DEX_SCIZOR
- .2byte NATIONAL_DEX_SCYTHER
- .2byte NATIONAL_DEX_SEADRA
- .2byte NATIONAL_DEX_SEAKING
- .2byte NATIONAL_DEX_SEALEO
- .2byte NATIONAL_DEX_SEEDOT
- .2byte NATIONAL_DEX_SEEL
- .2byte NATIONAL_DEX_SENTRET
- .2byte NATIONAL_DEX_SEVIPER
- .2byte NATIONAL_DEX_SHARPEDO
- .2byte NATIONAL_DEX_SHEDINJA
- .2byte NATIONAL_DEX_SHELGON
- .2byte NATIONAL_DEX_SHELLDER
- .2byte NATIONAL_DEX_SHIFTRY
- .2byte NATIONAL_DEX_SHROOMISH
- .2byte NATIONAL_DEX_SHUCKLE
- .2byte NATIONAL_DEX_SHUPPET
- .2byte NATIONAL_DEX_SILCOON
- .2byte NATIONAL_DEX_SKARMORY
- .2byte NATIONAL_DEX_SKIPLOOM
- .2byte NATIONAL_DEX_SKITTY
- .2byte NATIONAL_DEX_SLAKING
- .2byte NATIONAL_DEX_SLAKOTH
- .2byte NATIONAL_DEX_SLOWBRO
- .2byte NATIONAL_DEX_SLOWKING
- .2byte NATIONAL_DEX_SLOWPOKE
- .2byte NATIONAL_DEX_SLUGMA
- .2byte NATIONAL_DEX_SMEARGLE
- .2byte NATIONAL_DEX_SMOOCHUM
- .2byte NATIONAL_DEX_SNEASEL
- .2byte NATIONAL_DEX_SNORLAX
- .2byte NATIONAL_DEX_SNORUNT
- .2byte NATIONAL_DEX_SNUBBULL
- .2byte NATIONAL_DEX_SOLROCK
- .2byte NATIONAL_DEX_SPEAROW
- .2byte NATIONAL_DEX_SPHEAL
- .2byte NATIONAL_DEX_SPINARAK
- .2byte NATIONAL_DEX_SPINDA
- .2byte NATIONAL_DEX_SPOINK
- .2byte NATIONAL_DEX_SQUIRTLE
- .2byte NATIONAL_DEX_STANTLER
- .2byte NATIONAL_DEX_STARMIE
- .2byte NATIONAL_DEX_STARYU
- .2byte NATIONAL_DEX_STEELIX
- .2byte NATIONAL_DEX_SUDOWOODO
- .2byte NATIONAL_DEX_SUICUNE
- .2byte NATIONAL_DEX_SUNFLORA
- .2byte NATIONAL_DEX_SUNKERN
- .2byte NATIONAL_DEX_SURSKIT
- .2byte NATIONAL_DEX_SWABLU
- .2byte NATIONAL_DEX_SWALOT
- .2byte NATIONAL_DEX_SWAMPERT
- .2byte NATIONAL_DEX_SWELLOW
- .2byte NATIONAL_DEX_SWINUB
- .2byte NATIONAL_DEX_TAILLOW
- .2byte NATIONAL_DEX_TANGELA
- .2byte NATIONAL_DEX_TAUROS
- .2byte NATIONAL_DEX_TEDDIURSA
- .2byte NATIONAL_DEX_TENTACOOL
- .2byte NATIONAL_DEX_TENTACRUEL
- .2byte NATIONAL_DEX_TOGEPI
- .2byte NATIONAL_DEX_TOGETIC
- .2byte NATIONAL_DEX_TORCHIC
- .2byte NATIONAL_DEX_TORKOAL
- .2byte NATIONAL_DEX_TOTODILE
- .2byte NATIONAL_DEX_TRAPINCH
- .2byte NATIONAL_DEX_TREECKO
- .2byte NATIONAL_DEX_TROPIUS
- .2byte NATIONAL_DEX_TYPHLOSION
- .2byte NATIONAL_DEX_TYRANITAR
- .2byte NATIONAL_DEX_TYROGUE
- .2byte NATIONAL_DEX_UMBREON
- .2byte NATIONAL_DEX_UNOWN
- .2byte NATIONAL_DEX_URSARING
- .2byte NATIONAL_DEX_VAPOREON
- .2byte NATIONAL_DEX_VENOMOTH
- .2byte NATIONAL_DEX_VENONAT
- .2byte NATIONAL_DEX_VENUSAUR
- .2byte NATIONAL_DEX_VIBRAVA
- .2byte NATIONAL_DEX_VICTREEBEL
- .2byte NATIONAL_DEX_VIGOROTH
- .2byte NATIONAL_DEX_VILEPLUME
- .2byte NATIONAL_DEX_VOLBEAT
- .2byte NATIONAL_DEX_VOLTORB
- .2byte NATIONAL_DEX_VULPIX
- .2byte NATIONAL_DEX_WAILMER
- .2byte NATIONAL_DEX_WAILORD
- .2byte NATIONAL_DEX_WALREIN
- .2byte NATIONAL_DEX_WARTORTLE
- .2byte NATIONAL_DEX_WEEDLE
- .2byte NATIONAL_DEX_WEEPINBELL
- .2byte NATIONAL_DEX_WEEZING
- .2byte NATIONAL_DEX_WHISCASH
- .2byte NATIONAL_DEX_WHISMUR
- .2byte NATIONAL_DEX_WIGGLYTUFF
- .2byte NATIONAL_DEX_WINGULL
- .2byte NATIONAL_DEX_WOBBUFFET
- .2byte NATIONAL_DEX_WOOPER
- .2byte NATIONAL_DEX_WURMPLE
- .2byte NATIONAL_DEX_WYNAUT
- .2byte NATIONAL_DEX_XATU
- .2byte NATIONAL_DEX_YANMA
- .2byte NATIONAL_DEX_ZANGOOSE
- .2byte NATIONAL_DEX_ZAPDOS
- .2byte NATIONAL_DEX_ZIGZAGOON
- .2byte NATIONAL_DEX_ZUBAT
-
-gUnknown_84442F6:: @ 84442F6
- .2byte NATIONAL_DEX_GASTLY
- .2byte NATIONAL_DEX_HAUNTER
- .2byte NATIONAL_DEX_HOPPIP
- .2byte NATIONAL_DEX_DIGLETT
- .2byte NATIONAL_DEX_CASTFORM
- .2byte NATIONAL_DEX_KOFFING
- .2byte NATIONAL_DEX_IGGLYBUFF
- .2byte NATIONAL_DEX_MISDREAVUS
- .2byte NATIONAL_DEX_CHIMECHO
- .2byte NATIONAL_DEX_SKIPLOOM
- .2byte NATIONAL_DEX_JIRACHI
- .2byte NATIONAL_DEX_SWABLU
- .2byte NATIONAL_DEX_SHEDINJA
- .2byte NATIONAL_DEX_TOGEPI
- .2byte NATIONAL_DEX_SURSKIT
- .2byte NATIONAL_DEX_PIDGEY
- .2byte NATIONAL_DEX_SUNKERN
- .2byte NATIONAL_DEX_BARBOACH
- .2byte NATIONAL_DEX_PICHU
- .2byte NATIONAL_DEX_AZURILL
- .2byte NATIONAL_DEX_ROSELIA
- .2byte NATIONAL_DEX_NATU
- .2byte NATIONAL_DEX_SPEAROW
- .2byte NATIONAL_DEX_MURKROW
- .2byte NATIONAL_DEX_SHUPPET
- .2byte NATIONAL_DEX_TAILLOW
- .2byte NATIONAL_DEX_EXEGGCUTE
- .2byte NATIONAL_DEX_TORCHIC
- .2byte NATIONAL_DEX_LOTAD
- .2byte NATIONAL_DEX_CATERPIE
- .2byte NATIONAL_DEX_JUMPLUFF
- .2byte NATIONAL_DEX_CLEFFA
- .2byte NATIONAL_DEX_WEEDLE
- .2byte NATIONAL_DEX_TOGETIC
- .2byte NATIONAL_DEX_DRATINI
- .2byte NATIONAL_DEX_RATTATA
- .2byte NATIONAL_DEX_MASQUERAIN
- .2byte NATIONAL_DEX_WURMPLE
- .2byte NATIONAL_DEX_QWILFISH
- .2byte NATIONAL_DEX_MEW
- .2byte NATIONAL_DEX_SHELLDER
- .2byte NATIONAL_DEX_SEEDOT
- .2byte NATIONAL_DEX_DITTO
- .2byte NATIONAL_DEX_BELLSPROUT
- .2byte NATIONAL_DEX_PLUSLE
- .2byte NATIONAL_DEX_MEOWTH
- .2byte NATIONAL_DEX_MINUN
- .2byte NATIONAL_DEX_SHROOMISH
- .2byte NATIONAL_DEX_CELEBI
- .2byte NATIONAL_DEX_CORSOLA
- .2byte NATIONAL_DEX_TREECKO
- .2byte NATIONAL_DEX_SPINDA
- .2byte NATIONAL_DEX_UNOWN
- .2byte NATIONAL_DEX_PARAS
- .2byte NATIONAL_DEX_ODDISH
- .2byte NATIONAL_DEX_JIGGLYPUFF
- .2byte NATIONAL_DEX_NINCADA
- .2byte NATIONAL_DEX_BELLOSSOM
- .2byte NATIONAL_DEX_MAGNEMITE
- .2byte NATIONAL_DEX_PIKACHU
- .2byte NATIONAL_DEX_SMOOCHUM
- .2byte NATIONAL_DEX_SENTRET
- .2byte NATIONAL_DEX_WEEPINBELL
- .2byte NATIONAL_DEX_CHIKORITA
- .2byte NATIONAL_DEX_SWINUB
- .2byte NATIONAL_DEX_EEVEE
- .2byte NATIONAL_DEX_KRABBY
- .2byte NATIONAL_DEX_CUBONE
- .2byte NATIONAL_DEX_RALTS
- .2byte NATIONAL_DEX_BULBASAUR
- .2byte NATIONAL_DEX_EKANS
- .2byte NATIONAL_DEX_NIDORAN_F
- .2byte NATIONAL_DEX_PINECO
- .2byte NATIONAL_DEX_FEEBAS
- .2byte NATIONAL_DEX_OMANYTE
- .2byte NATIONAL_DEX_ZUBAT
- .2byte NATIONAL_DEX_CLEFAIRY
- .2byte NATIONAL_DEX_MUDKIP
- .2byte NATIONAL_DEX_SNUBBULL
- .2byte NATIONAL_DEX_MAREEP
- .2byte NATIONAL_DEX_CYNDAQUIL
- .2byte NATIONAL_DEX_HORSEA
- .2byte NATIONAL_DEX_CHARMANDER
- .2byte NATIONAL_DEX_SUNFLORA
- .2byte NATIONAL_DEX_MARILL
- .2byte NATIONAL_DEX_WOOPER
- .2byte NATIONAL_DEX_SPINARAK
- .2byte NATIONAL_DEX_GLOOM
- .2byte NATIONAL_DEX_LUVDISC
- .2byte NATIONAL_DEX_TEDDIURSA
- .2byte NATIONAL_DEX_NIDORAN_M
- .2byte NATIONAL_DEX_SQUIRTLE
- .2byte NATIONAL_DEX_WINGULL
- .2byte NATIONAL_DEX_TOTODILE
- .2byte NATIONAL_DEX_WEEZING
- .2byte NATIONAL_DEX_VULPIX
- .2byte NATIONAL_DEX_METAPOD
- .2byte NATIONAL_DEX_SILCOON
- .2byte NATIONAL_DEX_MAGIKARP
- .2byte NATIONAL_DEX_KAKUNA
- .2byte NATIONAL_DEX_GULPIN
- .2byte NATIONAL_DEX_VOLTORB
- .2byte NATIONAL_DEX_LEDYBA
- .2byte NATIONAL_DEX_HOUNDOUR
- .2byte NATIONAL_DEX_SKITTY
- .2byte NATIONAL_DEX_SABLEYE
- .2byte NATIONAL_DEX_MEDITITE
- .2byte NATIONAL_DEX_CORPHISH
- .2byte NATIONAL_DEX_AIPOM
- .2byte NATIONAL_DEX_CASCOON
- .2byte NATIONAL_DEX_MAWILE
- .2byte NATIONAL_DEX_KABUTO
- .2byte NATIONAL_DEX_WIGGLYTUFF
- .2byte NATIONAL_DEX_SANDSHREW
- .2byte NATIONAL_DEX_REMORAID
- .2byte NATIONAL_DEX_NINJASK
- .2byte NATIONAL_DEX_CHINCHOU
- .2byte NATIONAL_DEX_POLIWAG
- .2byte NATIONAL_DEX_ANORITH
- .2byte NATIONAL_DEX_VENOMOTH
- .2byte NATIONAL_DEX_BANETTE
- .2byte NATIONAL_DEX_IVYSAUR
- .2byte NATIONAL_DEX_FLAAFFY
- .2byte NATIONAL_DEX_POOCHYENA
- .2byte NATIONAL_DEX_WYNAUT
- .2byte NATIONAL_DEX_DUNSPARCE
- .2byte NATIONAL_DEX_XATU
- .2byte NATIONAL_DEX_DUSKULL
- .2byte NATIONAL_DEX_FARFETCHD
- .2byte NATIONAL_DEX_TRAPINCH
- .2byte NATIONAL_DEX_GOLDEEN
- .2byte NATIONAL_DEX_ELECTRIKE
- .2byte NATIONAL_DEX_VIBRAVA
- .2byte NATIONAL_DEX_VICTREEBEL
- .2byte NATIONAL_DEX_BAYLEEF
- .2byte NATIONAL_DEX_DELIBIRD
- .2byte NATIONAL_DEX_WHISMUR
- .2byte NATIONAL_DEX_DRAGONAIR
- .2byte NATIONAL_DEX_SNORUNT
- .2byte NATIONAL_DEX_ZIGZAGOON
- .2byte NATIONAL_DEX_ILLUMISE
- .2byte NATIONAL_DEX_VOLBEAT
- .2byte NATIONAL_DEX_RATICATE
- .2byte NATIONAL_DEX_VILEPLUME
- .2byte NATIONAL_DEX_QUILAVA
- .2byte NATIONAL_DEX_CHARMELEON
- .2byte NATIONAL_DEX_GROWLITHE
- .2byte NATIONAL_DEX_COMBUSKEN
- .2byte NATIONAL_DEX_MACHOP
- .2byte NATIONAL_DEX_ABRA
- .2byte NATIONAL_DEX_NIDORINO
- .2byte NATIONAL_DEX_PSYDUCK
- .2byte NATIONAL_DEX_SWELLOW
- .2byte NATIONAL_DEX_NINETALES
- .2byte NATIONAL_DEX_NIDORINA
- .2byte NATIONAL_DEX_POLIWHIRL
- .2byte NATIONAL_DEX_GEODUDE
- .2byte NATIONAL_DEX_KIRLIA
- .2byte NATIONAL_DEX_SHUCKLE
- .2byte NATIONAL_DEX_ALTARIA
- .2byte NATIONAL_DEX_CARVANHA
- .2byte NATIONAL_DEX_TYROGUE
- .2byte NATIONAL_DEX_HOOTHOOT
- .2byte NATIONAL_DEX_MAGBY
- .2byte NATIONAL_DEX_BALTOY
- .2byte NATIONAL_DEX_GROVYLE
- .2byte NATIONAL_DEX_KECLEON
- .2byte NATIONAL_DEX_LANTURN
- .2byte NATIONAL_DEX_WARTORTLE
- .2byte NATIONAL_DEX_GOREBYSS
- .2byte NATIONAL_DEX_RELICANTH
- .2byte NATIONAL_DEX_ELEKID
- .2byte NATIONAL_DEX_WHISCASH
- .2byte NATIONAL_DEX_LILEEP
- .2byte NATIONAL_DEX_NUMEL
- .2byte NATIONAL_DEX_SLAKOTH
- .2byte NATIONAL_DEX_JOLTEON
- .2byte NATIONAL_DEX_CROCONAW
- .2byte NATIONAL_DEX_FLAREON
- .2byte NATIONAL_DEX_SEADRA
- .2byte NATIONAL_DEX_ESPEON
- .2byte NATIONAL_DEX_HUNTAIL
- .2byte NATIONAL_DEX_UMBREON
- .2byte NATIONAL_DEX_MARSHTOMP
- .2byte NATIONAL_DEX_NUZLEAF
- .2byte NATIONAL_DEX_SNEASEL
- .2byte NATIONAL_DEX_MANKEY
- .2byte NATIONAL_DEX_PELIPPER
- .2byte NATIONAL_DEX_BEAUTIFLY
- .2byte NATIONAL_DEX_OCTILLERY
- .2byte NATIONAL_DEX_AZUMARILL
- .2byte NATIONAL_DEX_WOBBUFFET
- .2byte NATIONAL_DEX_VAPOREON
- .2byte NATIONAL_DEX_SANDSLASH
- .2byte NATIONAL_DEX_PARASECT
- .2byte NATIONAL_DEX_BEEDRILL
- .2byte NATIONAL_DEX_MUK
- .2byte NATIONAL_DEX_PIDGEOTTO
- .2byte NATIONAL_DEX_GRIMER
- .2byte NATIONAL_DEX_RAICHU
- .2byte NATIONAL_DEX_PONYTA
- .2byte NATIONAL_DEX_ELECTABUZZ
- .2byte NATIONAL_DEX_VENONAT
- .2byte NATIONAL_DEX_SPOINK
- .2byte NATIONAL_DEX_DUSCLOPS
- .2byte NATIONAL_DEX_MEDICHAM
- .2byte NATIONAL_DEX_DUSTOX
- .2byte NATIONAL_DEX_PERSIAN
- .2byte NATIONAL_DEX_BUTTERFREE
- .2byte NATIONAL_DEX_PRIMEAPE
- .2byte NATIONAL_DEX_DROWZEE
- .2byte NATIONAL_DEX_FURRET
- .2byte NATIONAL_DEX_PORYGON2
- .2byte NATIONAL_DEX_LOMBRE
- .2byte NATIONAL_DEX_LINOONE
- .2byte NATIONAL_DEX_DELCATTY
- .2byte NATIONAL_DEX_CRAWDAUNT
- .2byte NATIONAL_DEX_DUGTRIO
- .2byte NATIONAL_DEX_ARIADOS
- .2byte NATIONAL_DEX_PHANPY
- .2byte NATIONAL_DEX_POLITOED
- .2byte NATIONAL_DEX_STARYU
- .2byte NATIONAL_DEX_CHANSEY
- .2byte NATIONAL_DEX_OMASTAR
- .2byte NATIONAL_DEX_TANGELA
- .2byte NATIONAL_DEX_SLUGMA
- .2byte NATIONAL_DEX_HOUNDOOM
- .2byte NATIONAL_DEX_LEDIAN
- .2byte NATIONAL_DEX_SLOWPOKE
- .2byte NATIONAL_DEX_PORYGON
- .2byte NATIONAL_DEX_MIGHTYENA
- .2byte NATIONAL_DEX_YANMA
- .2byte NATIONAL_DEX_FEAROW
- .2byte NATIONAL_DEX_SUDOWOODO
- .2byte NATIONAL_DEX_SEAKING
- .2byte NATIONAL_DEX_BRELOOM
- .2byte NATIONAL_DEX_DODUO
- .2byte NATIONAL_DEX_PIDGEOT
- .2byte NATIONAL_DEX_SPHEAL
- .2byte NATIONAL_DEX_CLEFABLE
- .2byte NATIONAL_DEX_LATIAS
- .2byte NATIONAL_DEX_MANECTRIC
- .2byte NATIONAL_DEX_ZANGOOSE
- .2byte NATIONAL_DEX_KABUTOPS
- .2byte NATIONAL_DEX_GENGAR
- .2byte NATIONAL_DEX_LOUDRED
- .2byte NATIONAL_DEX_JYNX
- .2byte NATIONAL_DEX_NOCTOWL
- .2byte NATIONAL_DEX_GIRAFARIG
- .2byte NATIONAL_DEX_BAGON
- .2byte NATIONAL_DEX_MAGMAR
- .2byte NATIONAL_DEX_MAROWAK
- .2byte NATIONAL_DEX_TENTACOOL
- .2byte NATIONAL_DEX_VIGOROTH
- .2byte NATIONAL_DEX_BLISSEY
- .2byte NATIONAL_DEX_ABSOL
- .2byte NATIONAL_DEX_ALAKAZAM
- .2byte NATIONAL_DEX_HITMONTOP
- .2byte NATIONAL_DEX_GARDEVOIR
- .2byte NATIONAL_DEX_GRANBULL
- .2byte NATIONAL_DEX_HITMONLEE
- .2byte NATIONAL_DEX_HITMONCHAN
- .2byte NATIONAL_DEX_SKARMORY
- .2byte NATIONAL_DEX_CACNEA
- .2byte NATIONAL_DEX_BLAZIKEN
- .2byte NATIONAL_DEX_SCEPTILE
- .2byte NATIONAL_DEX_SEVIPER
- .2byte NATIONAL_DEX_CLAMPERL
- .2byte NATIONAL_DEX_ZAPDOS
- .2byte NATIONAL_DEX_HERACROSS
- .2byte NATIONAL_DEX_POLIWRATH
- .2byte NATIONAL_DEX_MR_MIME
- .2byte NATIONAL_DEX_PINSIR
- .2byte NATIONAL_DEX_LUDICOLO
- .2byte NATIONAL_DEX_TENTACRUEL
- .2byte NATIONAL_DEX_GOLBAT
- .2byte NATIONAL_DEX_MAGCARGO
- .2byte NATIONAL_DEX_ARTICUNO
- .2byte NATIONAL_DEX_PILOSWINE
- .2byte NATIONAL_DEX_SCYTHER
- .2byte NATIONAL_DEX_KADABRA
- .2byte NATIONAL_DEX_SMEARGLE
- .2byte NATIONAL_DEX_AERODACTYL
- .2byte NATIONAL_DEX_SHIFTRY
- .2byte NATIONAL_DEX_KINGLER
- .2byte NATIONAL_DEX_NIDOQUEEN
- .2byte NATIONAL_DEX_MAGNETON
- .2byte NATIONAL_DEX_ARON
- .2byte NATIONAL_DEX_LATIOS
- .2byte NATIONAL_DEX_MOLTRES
- .2byte NATIONAL_DEX_CRADILY
- .2byte NATIONAL_DEX_DEOXYS
- .2byte NATIONAL_DEX_AMPHAROS
- .2byte NATIONAL_DEX_NIDOKING
- .2byte NATIONAL_DEX_GLIGAR
- .2byte NATIONAL_DEX_ARBOK
- .2byte NATIONAL_DEX_LICKITUNG
- .2byte NATIONAL_DEX_ELECTRODE
- .2byte NATIONAL_DEX_ARMALDO
- .2byte NATIONAL_DEX_MACHOKE
- .2byte NATIONAL_DEX_STANTLER
- .2byte NATIONAL_DEX_GRUMPIG
- .2byte NATIONAL_DEX_LARVITAR
- .2byte NATIONAL_DEX_CROBAT
- .2byte NATIONAL_DEX_QUAGSIRE
- .2byte NATIONAL_DEX_MILTANK
- .2byte NATIONAL_DEX_HYPNO
- .2byte NATIONAL_DEX_GOLDUCK
- .2byte NATIONAL_DEX_CACTURNE
- .2byte NATIONAL_DEX_SLOWBRO
- .2byte NATIONAL_DEX_TYPHLOSION
- .2byte NATIONAL_DEX_SLOWKING
- .2byte NATIONAL_DEX_KANGASKHAN
- .2byte NATIONAL_DEX_STARMIE
- .2byte NATIONAL_DEX_SWALOT
- .2byte NATIONAL_DEX_TORKOAL
- .2byte NATIONAL_DEX_SWAMPERT
- .2byte NATIONAL_DEX_FLYGON
- .2byte NATIONAL_DEX_EXPLOUD
- .2byte NATIONAL_DEX_DODRIO
- .2byte NATIONAL_DEX_BLASTOISE
- .2byte NATIONAL_DEX_MAKUHITA
- .2byte NATIONAL_DEX_SEALEO
- .2byte NATIONAL_DEX_TAUROS
- .2byte NATIONAL_DEX_SHARPEDO
- .2byte NATIONAL_DEX_FERALIGATR
- .2byte NATIONAL_DEX_SEEL
- .2byte NATIONAL_DEX_CHARIZARD
- .2byte NATIONAL_DEX_RAPIDASH
- .2byte NATIONAL_DEX_BELDUM
- .2byte NATIONAL_DEX_NOSEPASS
- .2byte NATIONAL_DEX_VENUSAUR
- .2byte NATIONAL_DEX_TROPIUS
- .2byte NATIONAL_DEX_MEGANIUM
- .2byte NATIONAL_DEX_SALAMENCE
- .2byte NATIONAL_DEX_GRAVELER
- .2byte NATIONAL_DEX_CLAYDOL
- .2byte NATIONAL_DEX_SHELGON
- .2byte NATIONAL_DEX_RHYHORN
- .2byte NATIONAL_DEX_SCIZOR
- .2byte NATIONAL_DEX_DEWGONG
- .2byte NATIONAL_DEX_RHYDON
- .2byte NATIONAL_DEX_DONPHAN
- .2byte NATIONAL_DEX_EXEGGUTOR
- .2byte NATIONAL_DEX_LAIRON
- .2byte NATIONAL_DEX_MEWTWO
- .2byte NATIONAL_DEX_URSARING
- .2byte NATIONAL_DEX_FORRETRESS
- .2byte NATIONAL_DEX_MACHAMP
- .2byte NATIONAL_DEX_WAILMER
- .2byte NATIONAL_DEX_SLAKING
- .2byte NATIONAL_DEX_CLOYSTER
- .2byte NATIONAL_DEX_WALREIN
- .2byte NATIONAL_DEX_PUPITAR
- .2byte NATIONAL_DEX_KINGDRA
- .2byte NATIONAL_DEX_SOLROCK
- .2byte NATIONAL_DEX_ARCANINE
- .2byte NATIONAL_DEX_MILOTIC
- .2byte NATIONAL_DEX_LUNATONE
- .2byte NATIONAL_DEX_REGICE
- .2byte NATIONAL_DEX_RAIKOU
- .2byte NATIONAL_DEX_SUICUNE
- .2byte NATIONAL_DEX_ENTEI
- .2byte NATIONAL_DEX_HO_OH
- .2byte NATIONAL_DEX_TYRANITAR
- .2byte NATIONAL_DEX_METANG
- .2byte NATIONAL_DEX_REGISTEEL
- .2byte NATIONAL_DEX_RAYQUAZA
- .2byte NATIONAL_DEX_ONIX
- .2byte NATIONAL_DEX_DRAGONITE
- .2byte NATIONAL_DEX_LUGIA
- .2byte NATIONAL_DEX_LAPRAS
- .2byte NATIONAL_DEX_CAMERUPT
- .2byte NATIONAL_DEX_MANTINE
- .2byte NATIONAL_DEX_REGIROCK
- .2byte NATIONAL_DEX_GYARADOS
- .2byte NATIONAL_DEX_HARIYAMA
- .2byte NATIONAL_DEX_GLALIE
- .2byte NATIONAL_DEX_GOLEM
- .2byte NATIONAL_DEX_KYOGRE
- .2byte NATIONAL_DEX_AGGRON
- .2byte NATIONAL_DEX_WAILORD
- .2byte NATIONAL_DEX_STEELIX
- .2byte NATIONAL_DEX_SNORLAX
- .2byte NATIONAL_DEX_METAGROSS
- .2byte NATIONAL_DEX_GROUDON
-
-gUnknown_84445FA:: @ 84445FA
- .2byte NATIONAL_DEX_DIGLETT
- .2byte NATIONAL_DEX_AZURILL
- .2byte NATIONAL_DEX_NATU
- .2byte NATIONAL_DEX_WEEDLE
- .2byte NATIONAL_DEX_PICHU
- .2byte NATIONAL_DEX_CLEFFA
- .2byte NATIONAL_DEX_TOGEPI
- .2byte NATIONAL_DEX_CASTFORM
- .2byte NATIONAL_DEX_IGGLYBUFF
- .2byte NATIONAL_DEX_CATERPIE
- .2byte NATIONAL_DEX_TAILLOW
- .2byte NATIONAL_DEX_DITTO
- .2byte NATIONAL_DEX_EEVEE
- .2byte NATIONAL_DEX_ROSELIA
- .2byte NATIONAL_DEX_SPEAROW
- .2byte NATIONAL_DEX_PIDGEY
- .2byte NATIONAL_DEX_SUNKERN
- .2byte NATIONAL_DEX_SHELLDER
- .2byte NATIONAL_DEX_RATTATA
- .2byte NATIONAL_DEX_MAGNEMITE
- .2byte NATIONAL_DEX_PARAS
- .2byte NATIONAL_DEX_WURMPLE
- .2byte NATIONAL_DEX_JIRACHI
- .2byte NATIONAL_DEX_CUBONE
- .2byte NATIONAL_DEX_MUDKIP
- .2byte NATIONAL_DEX_WOOPER
- .2byte NATIONAL_DEX_HORSEA
- .2byte NATIONAL_DEX_MEOWTH
- .2byte NATIONAL_DEX_NIDORAN_F
- .2byte NATIONAL_DEX_SWINUB
- .2byte NATIONAL_DEX_MEW
- .2byte NATIONAL_DEX_SWABLU
- .2byte NATIONAL_DEX_ARON
- .2byte NATIONAL_DEX_PLUSLE
- .2byte NATIONAL_DEX_MINUN
- .2byte NATIONAL_DEX_EXEGGCUTE
- .2byte NATIONAL_DEX_PIKACHU
- .2byte NATIONAL_DEX_BELLOSSOM
- .2byte NATIONAL_DEX_GULPIN
- .2byte NATIONAL_DEX_ZIGZAGOON
- .2byte NATIONAL_DEX_SHROOMISH
- .2byte NATIONAL_DEX_OMANYTE
- .2byte NATIONAL_DEX_CACNEA
- .2byte NATIONAL_DEX_KRABBY
- .2byte NATIONAL_DEX_RALTS
- .2byte NATIONAL_DEX_HOPPIP
- .2byte NATIONAL_DEX_TORCHIC
- .2byte NATIONAL_DEX_CLAMPERL
- .2byte NATIONAL_DEX_GEODUDE
- .2byte NATIONAL_DEX_MARILL
- .2byte NATIONAL_DEX_BARBOACH
- .2byte NATIONAL_DEX_SMOOCHUM
- .2byte NATIONAL_DEX_VOLTORB
- .2byte NATIONAL_DEX_NINCADA
- .2byte NATIONAL_DEX_SABLEYE
- .2byte NATIONAL_DEX_MURKROW
- .2byte NATIONAL_DEX_QWILFISH
- .2byte NATIONAL_DEX_SQUIRTLE
- .2byte NATIONAL_DEX_TREECKO
- .2byte NATIONAL_DEX_BALTOY
- .2byte NATIONAL_DEX_ODDISH
- .2byte NATIONAL_DEX_LOTAD
- .2byte NATIONAL_DEX_JIGGLYPUFF
- .2byte NATIONAL_DEX_SURSKIT
- .2byte NATIONAL_DEX_CYNDAQUIL
- .2byte NATIONAL_DEX_KABUTO
- .2byte NATIONAL_DEX_LINOONE
- .2byte NATIONAL_DEX_TORKOAL
- .2byte NATIONAL_DEX_NIDORAN_M
- .2byte NATIONAL_DEX_SPINARAK
- .2byte NATIONAL_DEX_MANKEY
- .2byte NATIONAL_DEX_SEEDOT
- .2byte NATIONAL_DEX_POOCHYENA
- .2byte NATIONAL_DEX_PHANPY
- .2byte NATIONAL_DEX_UNOWN
- .2byte NATIONAL_DEX_CHINCHOU
- .2byte NATIONAL_DEX_PORYGON2
- .2byte NATIONAL_DEX_POLIWAG
- .2byte NATIONAL_DEX_BAGON
- .2byte NATIONAL_DEX_FEEBAS
- .2byte NATIONAL_DEX_SHUPPET
- .2byte NATIONAL_DEX_TOTODILE
- .2byte NATIONAL_DEX_CELEBI
- .2byte NATIONAL_DEX_WYNAUT
- .2byte NATIONAL_DEX_SANDSHREW
- .2byte NATIONAL_DEX_CHIMECHO
- .2byte NATIONAL_DEX_LUVDISC
- .2byte NATIONAL_DEX_HOUNDOUR
- .2byte NATIONAL_DEX_SILCOON
- .2byte NATIONAL_DEX_ELECTRIKE
- .2byte NATIONAL_DEX_CHARMANDER
- .2byte NATIONAL_DEX_MEDITITE
- .2byte NATIONAL_DEX_WINGULL
- .2byte NATIONAL_DEX_REMORAID
- .2byte NATIONAL_DEX_CORPHISH
- .2byte NATIONAL_DEX_CORSOLA
- .2byte NATIONAL_DEX_ILLUMISE
- .2byte NATIONAL_DEX_SNUBBULL
- .2byte NATIONAL_DEX_VULPIX
- .2byte NATIONAL_DEX_LARVITAR
- .2byte NATIONAL_DEX_BELDUM
- .2byte NATIONAL_DEX_WHISMUR
- .2byte NATIONAL_DEX_PINECO
- .2byte NATIONAL_DEX_ELEKID
- .2byte NATIONAL_DEX_CLEFAIRY
- .2byte NATIONAL_DEX_SHUCKLE
- .2byte NATIONAL_DEX_TEDDIURSA
- .2byte NATIONAL_DEX_KAKUNA
- .2byte NATIONAL_DEX_SKITTY
- .2byte NATIONAL_DEX_TOGETIC
- .2byte NATIONAL_DEX_GOLDEEN
- .2byte NATIONAL_DEX_MAWILE
- .2byte NATIONAL_DEX_MAREEP
- .2byte NATIONAL_DEX_SKIPLOOM
- .2byte NATIONAL_DEX_KOFFING
- .2byte NATIONAL_DEX_DUGTRIO
- .2byte NATIONAL_DEX_CASCOON
- .2byte NATIONAL_DEX_NUMEL
- .2byte NATIONAL_DEX_ANORITH
- .2byte NATIONAL_DEX_VOLBEAT
- .2byte NATIONAL_DEX_HOOTHOOT
- .2byte NATIONAL_DEX_TRAPINCH
- .2byte NATIONAL_DEX_SPOINK
- .2byte NATIONAL_DEX_METAPOD
- .2byte NATIONAL_DEX_BELLSPROUT
- .2byte NATIONAL_DEX_SNORUNT
- .2byte NATIONAL_DEX_RATICATE
- .2byte NATIONAL_DEX_MARSHTOMP
- .2byte NATIONAL_DEX_SWELLOW
- .2byte NATIONAL_DEX_MAGBY
- .2byte NATIONAL_DEX_GROWLITHE
- .2byte NATIONAL_DEX_MISDREAVUS
- .2byte NATIONAL_DEX_BULBASAUR
- .2byte NATIONAL_DEX_TYROGUE
- .2byte NATIONAL_DEX_SLUGMA
- .2byte NATIONAL_DEX_SLAKOTH
- .2byte NATIONAL_DEX_KIRLIA
- .2byte NATIONAL_DEX_AIPOM
- .2byte NATIONAL_DEX_JOLTEON
- .2byte NATIONAL_DEX_NIDORINA
- .2byte NATIONAL_DEX_AZUMARILL
- .2byte NATIONAL_DEX_SHEDINJA
- .2byte NATIONAL_DEX_MACHOP
- .2byte NATIONAL_DEX_NINJASK
- .2byte NATIONAL_DEX_MASQUERAIN
- .2byte NATIONAL_DEX_DUSKULL
- .2byte NATIONAL_DEX_SUNFLORA
- .2byte NATIONAL_DEX_JUMPLUFF
- .2byte NATIONAL_DEX_STARYU
- .2byte NATIONAL_DEX_FLAAFFY
- .2byte NATIONAL_DEX_SPHEAL
- .2byte NATIONAL_DEX_PSYDUCK
- .2byte NATIONAL_DEX_MAGCARGO
- .2byte NATIONAL_DEX_FARFETCHD
- .2byte NATIONAL_DEX_ZUBAT
- .2byte NATIONAL_DEX_PORYGON
- .2byte NATIONAL_DEX_SENTRET
- .2byte NATIONAL_DEX_CARVANHA
- .2byte NATIONAL_DEX_GLOOM
- .2byte NATIONAL_DEX_RAICHU
- .2byte NATIONAL_DEX_MAGIKARP
- .2byte NATIONAL_DEX_SNEASEL
- .2byte NATIONAL_DEX_LAIRON
- .2byte NATIONAL_DEX_COMBUSKEN
- .2byte NATIONAL_DEX_OCTILLERY
- .2byte NATIONAL_DEX_NIDORINO
- .2byte NATIONAL_DEX_FLAREON
- .2byte NATIONAL_DEX_DELIBIRD
- .2byte NATIONAL_DEX_TENTACOOL
- .2byte NATIONAL_DEX_ABRA
- .2byte NATIONAL_DEX_GROVYLE
- .2byte NATIONAL_DEX_WHISCASH
- .2byte NATIONAL_DEX_QUILAVA
- .2byte NATIONAL_DEX_ESPEON
- .2byte NATIONAL_DEX_GRIMER
- .2byte NATIONAL_DEX_CHIKORITA
- .2byte NATIONAL_DEX_GRUMPIG
- .2byte NATIONAL_DEX_NOSEPASS
- .2byte NATIONAL_DEX_PERSIAN
- .2byte NATIONAL_DEX_MIGHTYENA
- .2byte NATIONAL_DEX_VENONAT
- .2byte NATIONAL_DEX_MAGNETON
- .2byte NATIONAL_DEX_PONYTA
- .2byte NATIONAL_DEX_MAKUHITA
- .2byte NATIONAL_DEX_LUNATONE
- .2byte NATIONAL_DEX_SANDSLASH
- .2byte NATIONAL_DEX_DROWZEE
- .2byte NATIONAL_DEX_TANGELA
- .2byte NATIONAL_DEX_PRIMEAPE
- .2byte NATIONAL_DEX_LEDYBA
- .2byte NATIONAL_DEX_WIGGLYTUFF
- .2byte NATIONAL_DEX_PARASECT
- .2byte NATIONAL_DEX_OMASTAR
- .2byte NATIONAL_DEX_LOUDRED
- .2byte NATIONAL_DEX_WARTORTLE
- .2byte NATIONAL_DEX_GRAVELER
- .2byte NATIONAL_DEX_UMBREON
- .2byte NATIONAL_DEX_LILEEP
- .2byte NATIONAL_DEX_POLIWHIRL
- .2byte NATIONAL_DEX_VAPOREON
- .2byte NATIONAL_DEX_BEEDRILL
- .2byte NATIONAL_DEX_MAROWAK
- .2byte NATIONAL_DEX_WEEPINBELL
- .2byte NATIONAL_DEX_RELICANTH
- .2byte NATIONAL_DEX_RHYHORN
- .2byte NATIONAL_DEX_IVYSAUR
- .2byte NATIONAL_DEX_KECLEON
- .2byte NATIONAL_DEX_NUZLEAF
- .2byte NATIONAL_DEX_BEAUTIFLY
- .2byte NATIONAL_DEX_PIDGEOTTO
- .2byte NATIONAL_DEX_ARIADOS
- .2byte NATIONAL_DEX_SEEL
- .2byte NATIONAL_DEX_POLITOED
- .2byte NATIONAL_DEX_CROCONAW
- .2byte NATIONAL_DEX_CHANSEY
- .2byte NATIONAL_DEX_BANETTE
- .2byte NATIONAL_DEX_DONPHAN
- .2byte NATIONAL_DEX_STARMIE
- .2byte NATIONAL_DEX_CHARMELEON
- .2byte NATIONAL_DEX_PILOSWINE
- .2byte NATIONAL_DEX_BUTTERFREE
- .2byte NATIONAL_DEX_VIBRAVA
- .2byte NATIONAL_DEX_ELECTABUZZ
- .2byte NATIONAL_DEX_CRAWDAUNT
- .2byte NATIONAL_DEX_DELCATTY
- .2byte NATIONAL_DEX_ALTARIA
- .2byte NATIONAL_DEX_SHELGON
- .2byte NATIONAL_DEX_NINETALES
- .2byte NATIONAL_DEX_GLIGAR
- .2byte NATIONAL_DEX_SEALEO
- .2byte NATIONAL_DEX_SPINDA
- .2byte NATIONAL_DEX_PUPITAR
- .2byte NATIONAL_DEX_SLOWPOKE
- .2byte NATIONAL_DEX_SOLROCK
- .2byte NATIONAL_DEX_MILTANK
- .2byte NATIONAL_DEX_FEAROW
- .2byte NATIONAL_DEX_VILEPLUME
- .2byte NATIONAL_DEX_MUK
- .2byte NATIONAL_DEX_FORRETRESS
- .2byte NATIONAL_DEX_SUDOWOODO
- .2byte NATIONAL_DEX_ABSOL
- .2byte NATIONAL_DEX_YANMA
- .2byte NATIONAL_DEX_DUSTOX
- .2byte NATIONAL_DEX_LICKITUNG
- .2byte NATIONAL_DEX_SMEARGLE
- .2byte NATIONAL_DEX_LANTURN
- .2byte NATIONAL_DEX_ELECTRODE
- .2byte NATIONAL_DEX_LOMBRE
- .2byte NATIONAL_DEX_BRELOOM
- .2byte NATIONAL_DEX_BAYLEEF
- .2byte NATIONAL_DEX_SEADRA
- .2byte NATIONAL_DEX_WEEZING
- .2byte NATIONAL_DEX_PELIPPER
- .2byte NATIONAL_DEX_METANG
- .2byte NATIONAL_DEX_NIDOQUEEN
- .2byte NATIONAL_DEX_CACTURNE
- .2byte NATIONAL_DEX_SHIFTRY
- .2byte NATIONAL_DEX_MEDICHAM
- .2byte NATIONAL_DEX_ZANGOOSE
- .2byte NATIONAL_DEX_KABUTOPS
- .2byte NATIONAL_DEX_KINGLER
- .2byte NATIONAL_DEX_KADABRA
- .2byte NATIONAL_DEX_SEAKING
- .2byte NATIONAL_DEX_CLEFABLE
- .2byte NATIONAL_DEX_MAGMAR
- .2byte NATIONAL_DEX_WOBBUFFET
- .2byte NATIONAL_DEX_GASTLY
- .2byte NATIONAL_DEX_MR_MIME
- .2byte NATIONAL_DEX_POLIWRATH
- .2byte NATIONAL_DEX_TAUROS
- .2byte NATIONAL_DEX_LATIAS
- .2byte NATIONAL_DEX_AMPHAROS
- .2byte NATIONAL_DEX_VIGOROTH
- .2byte NATIONAL_DEX_LEDIAN
- .2byte NATIONAL_DEX_GOLEM
- .2byte NATIONAL_DEX_WALREIN
- .2byte NATIONAL_DEX_DODUO
- .2byte NATIONAL_DEX_HOUNDOOM
- .2byte NATIONAL_DEX_NIDOKING
- .2byte NATIONAL_DEX_JYNX
- .2byte NATIONAL_DEX_HITMONCHAN
- .2byte NATIONAL_DEX_STANTLER
- .2byte NATIONAL_DEX_GRANBULL
- .2byte NATIONAL_DEX_HITMONTOP
- .2byte NATIONAL_DEX_QUAGSIRE
- .2byte NATIONAL_DEX_CLAYDOL
- .2byte NATIONAL_DEX_SWAMPERT
- .2byte NATIONAL_DEX_BLISSEY
- .2byte NATIONAL_DEX_LUDICOLO
- .2byte NATIONAL_DEX_EXPLOUD
- .2byte NATIONAL_DEX_DUNSPARCE
- .2byte NATIONAL_DEX_PINSIR
- .2byte NATIONAL_DEX_CLOYSTER
- .2byte NATIONAL_DEX_MACHOKE
- .2byte NATIONAL_DEX_GIRAFARIG
- .2byte NATIONAL_DEX_PIDGEOT
- .2byte NATIONAL_DEX_XATU
- .2byte NATIONAL_DEX_CRADILY
- .2byte NATIONAL_DEX_HITMONLEE
- .2byte NATIONAL_DEX_VENOMOTH
- .2byte NATIONAL_DEX_GENGAR
- .2byte NATIONAL_DEX_HERACROSS
- .2byte NATIONAL_DEX_GLALIE
- .2byte NATIONAL_DEX_SCYTHER
- .2byte NATIONAL_DEX_SALAMENCE
- .2byte NATIONAL_DEX_MANECTRIC
- .2byte NATIONAL_DEX_ARMALDO
- .2byte NATIONAL_DEX_ALAKAZAM
- .2byte NATIONAL_DEX_HYPNO
- .2byte NATIONAL_DEX_NOCTOWL
- .2byte NATIONAL_DEX_TENTACRUEL
- .2byte NATIONAL_DEX_DUSCLOPS
- .2byte NATIONAL_DEX_ZAPDOS
- .2byte NATIONAL_DEX_GOLBAT
- .2byte NATIONAL_DEX_METAGROSS
- .2byte NATIONAL_DEX_GARDEVOIR
- .2byte NATIONAL_DEX_BLASTOISE
- .2byte NATIONAL_DEX_SLOWBRO
- .2byte NATIONAL_DEX_HAUNTER
- .2byte NATIONAL_DEX_MACHAMP
- .2byte NATIONAL_DEX_REGIROCK
- .2byte NATIONAL_DEX_SWALOT
- .2byte NATIONAL_DEX_SCEPTILE
- .2byte NATIONAL_DEX_SKARMORY
- .2byte NATIONAL_DEX_GOLDUCK
- .2byte NATIONAL_DEX_DEOXYS
- .2byte NATIONAL_DEX_VICTREEBEL
- .2byte NATIONAL_DEX_RAPIDASH
- .2byte NATIONAL_DEX_CHARIZARD
- .2byte NATIONAL_DEX_HUNTAIL
- .2byte NATIONAL_DEX_DEWGONG
- .2byte NATIONAL_DEX_ARTICUNO
- .2byte NATIONAL_DEX_TYPHLOSION
- .2byte NATIONAL_DEX_AERODACTYL
- .2byte NATIONAL_DEX_GOREBYSS
- .2byte NATIONAL_DEX_URSARING
- .2byte NATIONAL_DEX_MEGANIUM
- .2byte NATIONAL_DEX_REGICE
- .2byte NATIONAL_DEX_SCIZOR
- .2byte NATIONAL_DEX_KINGDRA
- .2byte NATIONAL_DEX_DRATINI
- .2byte NATIONAL_DEX_DODRIO
- .2byte NATIONAL_DEX_SHARPEDO
- .2byte NATIONAL_DEX_CROBAT
- .2byte NATIONAL_DEX_FURRET
- .2byte NATIONAL_DEX_ARCANINE
- .2byte NATIONAL_DEX_RAIKOU
- .2byte NATIONAL_DEX_BLAZIKEN
- .2byte NATIONAL_DEX_CAMERUPT
- .2byte NATIONAL_DEX_RHYDON
- .2byte NATIONAL_DEX_REGISTEEL
- .2byte NATIONAL_DEX_EKANS
- .2byte NATIONAL_DEX_FLYGON
- .2byte NATIONAL_DEX_TROPIUS
- .2byte NATIONAL_DEX_LATIOS
- .2byte NATIONAL_DEX_SUICUNE
- .2byte NATIONAL_DEX_MOLTRES
- .2byte NATIONAL_DEX_VENUSAUR
- .2byte NATIONAL_DEX_EXEGGUTOR
- .2byte NATIONAL_DEX_SLOWKING
- .2byte NATIONAL_DEX_TYRANITAR
- .2byte NATIONAL_DEX_SLAKING
- .2byte NATIONAL_DEX_WAILMER
- .2byte NATIONAL_DEX_MEWTWO
- .2byte NATIONAL_DEX_AGGRON
- .2byte NATIONAL_DEX_SNORLAX
- .2byte NATIONAL_DEX_MANTINE
- .2byte NATIONAL_DEX_ENTEI
- .2byte NATIONAL_DEX_DRAGONITE
- .2byte NATIONAL_DEX_KANGASKHAN
- .2byte NATIONAL_DEX_HARIYAMA
- .2byte NATIONAL_DEX_FERALIGATR
- .2byte NATIONAL_DEX_LAPRAS
- .2byte NATIONAL_DEX_SEVIPER
- .2byte NATIONAL_DEX_ARBOK
- .2byte NATIONAL_DEX_GROUDON
- .2byte NATIONAL_DEX_HO_OH
- .2byte NATIONAL_DEX_DRAGONAIR
- .2byte NATIONAL_DEX_KYOGRE
- .2byte NATIONAL_DEX_LUGIA
- .2byte NATIONAL_DEX_MILOTIC
- .2byte NATIONAL_DEX_GYARADOS
- .2byte NATIONAL_DEX_RAYQUAZA
- .2byte NATIONAL_DEX_ONIX
- .2byte NATIONAL_DEX_STEELIX
- .2byte NATIONAL_DEX_WAILORD
-
-gUnknown_84448FE:: @ 84448FE
- .2byte NATIONAL_DEX_RATTATA
- .2byte NATIONAL_DEX_RATICATE
- .2byte NATIONAL_DEX_CLEFAIRY
- .2byte NATIONAL_DEX_CLEFABLE
- .2byte NATIONAL_DEX_JIGGLYPUFF
- .2byte NATIONAL_DEX_WIGGLYTUFF
- .2byte NATIONAL_DEX_MEOWTH
- .2byte NATIONAL_DEX_PERSIAN
- .2byte NATIONAL_DEX_LICKITUNG
- .2byte NATIONAL_DEX_CHANSEY
- .2byte NATIONAL_DEX_KANGASKHAN
- .2byte NATIONAL_DEX_TAUROS
- .2byte NATIONAL_DEX_DITTO
- .2byte NATIONAL_DEX_EEVEE
- .2byte NATIONAL_DEX_PORYGON
- .2byte NATIONAL_DEX_SNORLAX
- .2byte NATIONAL_DEX_SENTRET
- .2byte NATIONAL_DEX_FURRET
- .2byte NATIONAL_DEX_CLEFFA
- .2byte NATIONAL_DEX_IGGLYBUFF
- .2byte NATIONAL_DEX_TOGEPI
- .2byte NATIONAL_DEX_AIPOM
- .2byte NATIONAL_DEX_DUNSPARCE
- .2byte NATIONAL_DEX_SNUBBULL
- .2byte NATIONAL_DEX_GRANBULL
- .2byte NATIONAL_DEX_TEDDIURSA
- .2byte NATIONAL_DEX_URSARING
- .2byte NATIONAL_DEX_PORYGON2
- .2byte NATIONAL_DEX_STANTLER
- .2byte NATIONAL_DEX_SMEARGLE
- .2byte NATIONAL_DEX_MILTANK
- .2byte NATIONAL_DEX_BLISSEY
- .2byte NATIONAL_DEX_VIGOROTH
- .2byte NATIONAL_DEX_SLAKING
- .2byte NATIONAL_DEX_SEALEO
- .2byte NATIONAL_DEX_WALREIN
- .2byte NATIONAL_DEX_CLAMPERL
- .2byte NATIONAL_DEX_LUVDISC
- .2byte NATIONAL_DEX_BAGON
- .2byte NATIONAL_DEX_SHELGON
- .2byte NATIONAL_DEX_MILOTIC
- .2byte NATIONAL_DEX_ROSELIA
- .2byte NATIONAL_DEX_GULPIN
- .2byte NATIONAL_DEX_MEDICHAM
- .2byte NATIONAL_DEX_LATIAS
- .2byte NATIONAL_DEX_JIRACHI
- .2byte NATIONAL_DEX_SWALOT
- .2byte NATIONAL_DEX_TREECKO
- .2byte NATIONAL_DEX_GROVYLE
- .2byte NATIONAL_DEX_SCEPTILE
- .2byte NATIONAL_DEX_TORCHIC
- .2byte NATIONAL_DEX_COMBUSKEN
- .2byte NATIONAL_DEX_BLAZIKEN
- .2byte NATIONAL_DEX_MUDKIP
- .2byte NATIONAL_DEX_MARSHTOMP
- .2byte NATIONAL_DEX_SWAMPERT
- .2byte NATIONAL_DEX_POOCHYENA
- .2byte NATIONAL_DEX_MIGHTYENA
- .2byte NATIONAL_DEX_ZIGZAGOON
- .2byte NATIONAL_DEX_LINOONE
- .2byte NATIONAL_DEX_WURMPLE
- .2byte NATIONAL_DEX_SILCOON
- .2byte NATIONAL_DEX_BEAUTIFLY
- .2byte NATIONAL_DEX_CASCOON
- .2byte NATIONAL_DEX_DUSTOX
- .2byte NATIONAL_DEX_LOTAD
- .2byte NATIONAL_DEX_LOMBRE
- .2byte NATIONAL_DEX_LUDICOLO
- .2byte NATIONAL_DEX_SEEDOT
- .2byte NATIONAL_DEX_NUZLEAF
- .2byte NATIONAL_DEX_SHIFTRY
- .2byte NATIONAL_DEX_TAILLOW
- .2byte NATIONAL_DEX_PIDGEY
- .2byte NATIONAL_DEX_PIDGEOTTO
- .2byte NATIONAL_DEX_PIDGEOT
- .2byte NATIONAL_DEX_SPEAROW
- .2byte NATIONAL_DEX_FEAROW
- .2byte NATIONAL_DEX_FARFETCHD
- .2byte NATIONAL_DEX_DODUO
- .2byte NATIONAL_DEX_DODRIO
- .2byte NATIONAL_DEX_HOOTHOOT
- .2byte NATIONAL_DEX_NOCTOWL
- .2byte NATIONAL_DEX_TOGETIC
- .2byte NATIONAL_DEX_ARON
- .2byte NATIONAL_DEX_LAIRON
- .2byte NATIONAL_DEX_CHIMECHO
- .2byte NATIONAL_DEX_GIRAFARIG
- .2byte NATIONAL_DEX_MANKEY
- .2byte NATIONAL_DEX_PRIMEAPE
- .2byte NATIONAL_DEX_MACHOP
- .2byte NATIONAL_DEX_MACHOKE
- .2byte NATIONAL_DEX_MACHAMP
- .2byte NATIONAL_DEX_HITMONLEE
- .2byte NATIONAL_DEX_HITMONCHAN
- .2byte NATIONAL_DEX_TYROGUE
- .2byte NATIONAL_DEX_HITMONTOP
- .2byte NATIONAL_DEX_ZANGOOSE
- .2byte NATIONAL_DEX_SEVIPER
- .2byte NATIONAL_DEX_DUSCLOPS
- .2byte NATIONAL_DEX_TROPIUS
- .2byte NATIONAL_DEX_EKANS
- .2byte NATIONAL_DEX_ARBOK
- .2byte NATIONAL_DEX_NIDORAN_F
- .2byte NATIONAL_DEX_NIDORINA
- .2byte NATIONAL_DEX_NIDORAN_M
- .2byte NATIONAL_DEX_NIDORINO
- .2byte NATIONAL_DEX_GRIMER
- .2byte NATIONAL_DEX_MUK
- .2byte NATIONAL_DEX_KOFFING
- .2byte NATIONAL_DEX_WEEZING
- .2byte NATIONAL_DEX_HUNTAIL
- .2byte NATIONAL_DEX_GOREBYSS
- .2byte NATIONAL_DEX_REGISTEEL
- .2byte NATIONAL_DEX_ZUBAT
- .2byte NATIONAL_DEX_GOLBAT
- .2byte NATIONAL_DEX_CROBAT
- .2byte NATIONAL_DEX_NIDOQUEEN
- .2byte NATIONAL_DEX_NIDOKING
- .2byte NATIONAL_DEX_SANDSHREW
- .2byte NATIONAL_DEX_SANDSLASH
- .2byte NATIONAL_DEX_DIGLETT
- .2byte NATIONAL_DEX_DUGTRIO
- .2byte NATIONAL_DEX_CUBONE
- .2byte NATIONAL_DEX_MAROWAK
- .2byte NATIONAL_DEX_PHANPY
- .2byte NATIONAL_DEX_DONPHAN
- .2byte NATIONAL_DEX_CACTURNE
- .2byte NATIONAL_DEX_OLD_UNOWN_T
- .2byte NATIONAL_DEX_GLIGAR
- .2byte NATIONAL_DEX_RHYHORN
- .2byte NATIONAL_DEX_RHYDON
- .2byte NATIONAL_DEX_CARVANHA
- .2byte NATIONAL_DEX_SHARPEDO
- .2byte NATIONAL_DEX_SWABLU
- .2byte NATIONAL_DEX_ALTARIA
- .2byte NATIONAL_DEX_SUDOWOODO
- .2byte NATIONAL_DEX_WAILMER
- .2byte NATIONAL_DEX_OLD_UNOWN_P
- .2byte NATIONAL_DEX_AERODACTYL
- .2byte NATIONAL_DEX_GEODUDE
- .2byte NATIONAL_DEX_GRAVELER
- .2byte NATIONAL_DEX_GOLEM
- .2byte NATIONAL_DEX_ONIX
- .2byte NATIONAL_DEX_LARVITAR
- .2byte NATIONAL_DEX_PUPITAR
- .2byte NATIONAL_DEX_OLD_UNOWN_E
- .2byte NATIONAL_DEX_OLD_UNOWN_F
- .2byte NATIONAL_DEX_OMANYTE
- .2byte NATIONAL_DEX_OMASTAR
- .2byte NATIONAL_DEX_KABUTO
- .2byte NATIONAL_DEX_KABUTOPS
- .2byte NATIONAL_DEX_OLD_UNOWN_C
- .2byte NATIONAL_DEX_OLD_UNOWN_D
- .2byte NATIONAL_DEX_ARMALDO
- .2byte NATIONAL_DEX_FEEBAS
- .2byte NATIONAL_DEX_TYRANITAR
- .2byte NATIONAL_DEX_CATERPIE
- .2byte NATIONAL_DEX_METAPOD
- .2byte NATIONAL_DEX_PINSIR
- .2byte NATIONAL_DEX_PINECO
- .2byte NATIONAL_DEX_NINCADA
- .2byte NATIONAL_DEX_NINJASK
- .2byte NATIONAL_DEX_WHISMUR
- .2byte NATIONAL_DEX_DEOXYS
- .2byte NATIONAL_DEX_OLD_UNOWN_B
- .2byte NATIONAL_DEX_HERACROSS
- .2byte NATIONAL_DEX_BUTTERFREE
- .2byte NATIONAL_DEX_SCYTHER
- .2byte NATIONAL_DEX_LEDYBA
- .2byte NATIONAL_DEX_LEDIAN
- .2byte NATIONAL_DEX_YANMA
- .2byte NATIONAL_DEX_SHEDINJA
- .2byte NATIONAL_DEX_MINUN
- .2byte NATIONAL_DEX_SABLEYE
- .2byte NATIONAL_DEX_WEEDLE
- .2byte NATIONAL_DEX_KAKUNA
- .2byte NATIONAL_DEX_BEEDRILL
- .2byte NATIONAL_DEX_VENONAT
- .2byte NATIONAL_DEX_VENOMOTH
- .2byte NATIONAL_DEX_SPINARAK
- .2byte NATIONAL_DEX_ARIADOS
- .2byte NATIONAL_DEX_LOUDRED
- .2byte NATIONAL_DEX_DELCATTY
- .2byte NATIONAL_DEX_SHUCKLE
- .2byte NATIONAL_DEX_MAWILE
- .2byte NATIONAL_DEX_FORRETRESS
- .2byte NATIONAL_DEX_SCIZOR
- .2byte NATIONAL_DEX_PLUSLE
- .2byte NATIONAL_DEX_PARAS
- .2byte NATIONAL_DEX_PARASECT
- .2byte NATIONAL_DEX_MISDREAVUS
- .2byte NATIONAL_DEX_REGIROCK
- .2byte NATIONAL_DEX_REGICE
- .2byte NATIONAL_DEX_SNORUNT
- .2byte NATIONAL_DEX_GLALIE
- .2byte NATIONAL_DEX_GASTLY
- .2byte NATIONAL_DEX_HAUNTER
- .2byte NATIONAL_DEX_GENGAR
- .2byte NATIONAL_DEX_DUSKULL
- .2byte NATIONAL_DEX_OLD_UNOWN_R
- .2byte NATIONAL_DEX_SKARMORY
- .2byte NATIONAL_DEX_STEELIX
- .2byte NATIONAL_DEX_KYOGRE
- .2byte NATIONAL_DEX_GROUDON
- .2byte NATIONAL_DEX_RAYQUAZA
- .2byte NATIONAL_DEX_OLD_UNOWN_M
- .2byte NATIONAL_DEX_OLD_UNOWN_N
- .2byte NATIONAL_DEX_OLD_UNOWN_O
- .2byte NATIONAL_DEX_OLD_UNOWN_X
- .2byte NATIONAL_DEX_CHARMANDER
- .2byte NATIONAL_DEX_CHARMELEON
- .2byte NATIONAL_DEX_VULPIX
- .2byte NATIONAL_DEX_NINETALES
- .2byte NATIONAL_DEX_GROWLITHE
- .2byte NATIONAL_DEX_ARCANINE
- .2byte NATIONAL_DEX_PONYTA
- .2byte NATIONAL_DEX_RAPIDASH
- .2byte NATIONAL_DEX_MAGMAR
- .2byte NATIONAL_DEX_FLAREON
- .2byte NATIONAL_DEX_CYNDAQUIL
- .2byte NATIONAL_DEX_QUILAVA
- .2byte NATIONAL_DEX_TYPHLOSION
- .2byte NATIONAL_DEX_SLUGMA
- .2byte NATIONAL_DEX_MAGBY
- .2byte NATIONAL_DEX_ENTEI
- .2byte NATIONAL_DEX_RALTS
- .2byte NATIONAL_DEX_WAILORD
- .2byte NATIONAL_DEX_KIRLIA
- .2byte NATIONAL_DEX_GARDEVOIR
- .2byte NATIONAL_DEX_CHARIZARD
- .2byte NATIONAL_DEX_MOLTRES
- .2byte NATIONAL_DEX_HO_OH
- .2byte NATIONAL_DEX_BARBOACH
- .2byte NATIONAL_DEX_WHISCASH
- .2byte NATIONAL_DEX_MAGCARGO
- .2byte NATIONAL_DEX_SQUIRTLE
- .2byte NATIONAL_DEX_WARTORTLE
- .2byte NATIONAL_DEX_BLASTOISE
- .2byte NATIONAL_DEX_PSYDUCK
- .2byte NATIONAL_DEX_GOLDUCK
- .2byte NATIONAL_DEX_POLIWAG
- .2byte NATIONAL_DEX_POLIWHIRL
- .2byte NATIONAL_DEX_SEEL
- .2byte NATIONAL_DEX_SHELLDER
- .2byte NATIONAL_DEX_KRABBY
- .2byte NATIONAL_DEX_KINGLER
- .2byte NATIONAL_DEX_HORSEA
- .2byte NATIONAL_DEX_SEADRA
- .2byte NATIONAL_DEX_GOLDEEN
- .2byte NATIONAL_DEX_SEAKING
- .2byte NATIONAL_DEX_STARYU
- .2byte NATIONAL_DEX_MAGIKARP
- .2byte NATIONAL_DEX_VAPOREON
- .2byte NATIONAL_DEX_TOTODILE
- .2byte NATIONAL_DEX_CROCONAW
- .2byte NATIONAL_DEX_FERALIGATR
- .2byte NATIONAL_DEX_MARILL
- .2byte NATIONAL_DEX_AZUMARILL
- .2byte NATIONAL_DEX_POLITOED
- .2byte NATIONAL_DEX_REMORAID
- .2byte NATIONAL_DEX_OCTILLERY
- .2byte NATIONAL_DEX_SUICUNE
- .2byte NATIONAL_DEX_SURSKIT
- .2byte NATIONAL_DEX_VOLBEAT
- .2byte NATIONAL_DEX_ILLUMISE
- .2byte NATIONAL_DEX_GRUMPIG
- .2byte NATIONAL_DEX_TRAPINCH
- .2byte NATIONAL_DEX_VIBRAVA
- .2byte NATIONAL_DEX_SALAMENCE
- .2byte NATIONAL_DEX_BELDUM
- .2byte NATIONAL_DEX_METANG
- .2byte NATIONAL_DEX_SPOINK
- .2byte NATIONAL_DEX_OLD_UNOWN_S
- .2byte NATIONAL_DEX_POLIWRATH
- .2byte NATIONAL_DEX_GYARADOS
- .2byte NATIONAL_DEX_MANTINE
- .2byte NATIONAL_DEX_ELECTRIKE
- .2byte NATIONAL_DEX_MANECTRIC
- .2byte NATIONAL_DEX_TENTACOOL
- .2byte NATIONAL_DEX_TENTACRUEL
- .2byte NATIONAL_DEX_QWILFISH
- .2byte NATIONAL_DEX_WOOPER
- .2byte NATIONAL_DEX_QUAGSIRE
- .2byte NATIONAL_DEX_MASQUERAIN
- .2byte NATIONAL_DEX_SHROOMISH
- .2byte NATIONAL_DEX_CAMERUPT
- .2byte NATIONAL_DEX_TORKOAL
- .2byte NATIONAL_DEX_CORSOLA
- .2byte NATIONAL_DEX_LATIOS
- .2byte NATIONAL_DEX_EXPLOUD
- .2byte NATIONAL_DEX_MAKUHITA
- .2byte NATIONAL_DEX_HARIYAMA
- .2byte NATIONAL_DEX_CHINCHOU
- .2byte NATIONAL_DEX_LANTURN
- .2byte NATIONAL_DEX_SLOWPOKE
- .2byte NATIONAL_DEX_SLOWBRO
- .2byte NATIONAL_DEX_STARMIE
- .2byte NATIONAL_DEX_SLOWKING
- .2byte NATIONAL_DEX_DEWGONG
- .2byte NATIONAL_DEX_CLOYSTER
- .2byte NATIONAL_DEX_LAPRAS
- .2byte NATIONAL_DEX_KINGDRA
- .2byte NATIONAL_DEX_FLYGON
- .2byte NATIONAL_DEX_CACNEA
- .2byte NATIONAL_DEX_SPINDA
- .2byte NATIONAL_DEX_TANGELA
- .2byte NATIONAL_DEX_CHIKORITA
- .2byte NATIONAL_DEX_BAYLEEF
- .2byte NATIONAL_DEX_MEGANIUM
- .2byte NATIONAL_DEX_BELLOSSOM
- .2byte NATIONAL_DEX_SUNKERN
- .2byte NATIONAL_DEX_SUNFLORA
- .2byte NATIONAL_DEX_SWELLOW
- .2byte NATIONAL_DEX_WINGULL
- .2byte NATIONAL_DEX_PELIPPER
- .2byte NATIONAL_DEX_AZURILL
- .2byte NATIONAL_DEX_AGGRON
- .2byte NATIONAL_DEX_CLAYDOL
- .2byte NATIONAL_DEX_MEDITITE
- .2byte NATIONAL_DEX_HOPPIP
- .2byte NATIONAL_DEX_SKIPLOOM
- .2byte NATIONAL_DEX_JUMPLUFF
- .2byte NATIONAL_DEX_RELICANTH
- .2byte NATIONAL_DEX_BULBASAUR
- .2byte NATIONAL_DEX_IVYSAUR
- .2byte NATIONAL_DEX_VENUSAUR
- .2byte NATIONAL_DEX_ODDISH
- .2byte NATIONAL_DEX_GLOOM
- .2byte NATIONAL_DEX_VILEPLUME
- .2byte NATIONAL_DEX_BELLSPROUT
- .2byte NATIONAL_DEX_WEEPINBELL
- .2byte NATIONAL_DEX_VICTREEBEL
- .2byte NATIONAL_DEX_SPHEAL
- .2byte NATIONAL_DEX_EXEGGCUTE
- .2byte NATIONAL_DEX_EXEGGUTOR
- .2byte NATIONAL_DEX_NOSEPASS
- .2byte NATIONAL_DEX_SKITTY
- .2byte NATIONAL_DEX_LILEEP
- .2byte NATIONAL_DEX_PIKACHU
- .2byte NATIONAL_DEX_RAICHU
- .2byte NATIONAL_DEX_VOLTORB
- .2byte NATIONAL_DEX_ELECTRODE
- .2byte NATIONAL_DEX_ELECTABUZZ
- .2byte NATIONAL_DEX_JOLTEON
- .2byte NATIONAL_DEX_PICHU
- .2byte NATIONAL_DEX_MAREEP
- .2byte NATIONAL_DEX_FLAAFFY
- .2byte NATIONAL_DEX_AMPHAROS
- .2byte NATIONAL_DEX_ELEKID
- .2byte NATIONAL_DEX_RAIKOU
- .2byte NATIONAL_DEX_LUNATONE
- .2byte NATIONAL_DEX_SOLROCK
- .2byte NATIONAL_DEX_SHUPPET
- .2byte NATIONAL_DEX_BANETTE
- .2byte NATIONAL_DEX_ZAPDOS
- .2byte NATIONAL_DEX_MAGNEMITE
- .2byte NATIONAL_DEX_MAGNETON
- .2byte NATIONAL_DEX_ABRA
- .2byte NATIONAL_DEX_KADABRA
- .2byte NATIONAL_DEX_ALAKAZAM
- .2byte NATIONAL_DEX_DROWZEE
- .2byte NATIONAL_DEX_HYPNO
- .2byte NATIONAL_DEX_MR_MIME
- .2byte NATIONAL_DEX_MEWTWO
- .2byte NATIONAL_DEX_MEW
- .2byte NATIONAL_DEX_ESPEON
- .2byte NATIONAL_DEX_UNOWN
- .2byte NATIONAL_DEX_WOBBUFFET
- .2byte NATIONAL_DEX_OLD_UNOWN_G
- .2byte NATIONAL_DEX_OLD_UNOWN_H
- .2byte NATIONAL_DEX_OLD_UNOWN_I
- .2byte NATIONAL_DEX_CASTFORM
- .2byte NATIONAL_DEX_KECLEON
- .2byte NATIONAL_DEX_OLD_UNOWN_Z
- .2byte NATIONAL_DEX_WYNAUT
- .2byte NATIONAL_DEX_OLD_UNOWN_Y
- .2byte NATIONAL_DEX_NATU
- .2byte NATIONAL_DEX_XATU
- .2byte NATIONAL_DEX_LUGIA
- .2byte NATIONAL_DEX_CELEBI
- .2byte NATIONAL_DEX_CRADILY
- .2byte NATIONAL_DEX_ANORITH
- .2byte NATIONAL_DEX_OLD_UNOWN_Q
- .2byte NATIONAL_DEX_ARTICUNO
- .2byte NATIONAL_DEX_DELIBIRD
- .2byte NATIONAL_DEX_SWINUB
- .2byte NATIONAL_DEX_PILOSWINE
- .2byte NATIONAL_DEX_CORPHISH
- .2byte NATIONAL_DEX_CRAWDAUNT
- .2byte NATIONAL_DEX_BALTOY
- .2byte NATIONAL_DEX_JYNX
- .2byte NATIONAL_DEX_SMOOCHUM
- .2byte NATIONAL_DEX_DRATINI
- .2byte NATIONAL_DEX_DRAGONAIR
- .2byte NATIONAL_DEX_OLD_UNOWN_J
- .2byte NATIONAL_DEX_OLD_UNOWN_K
- .2byte NATIONAL_DEX_DRAGONITE
- .2byte NATIONAL_DEX_ABSOL
- .2byte NATIONAL_DEX_OLD_UNOWN_L
- .2byte NATIONAL_DEX_OLD_UNOWN_U
- .2byte NATIONAL_DEX_OLD_UNOWN_V
- .2byte NATIONAL_DEX_OLD_UNOWN_W
- .2byte NATIONAL_DEX_UMBREON
- .2byte NATIONAL_DEX_BRELOOM
- .2byte NATIONAL_DEX_SLAKOTH
- .2byte NATIONAL_DEX_METAGROSS
- .2byte NATIONAL_DEX_MURKROW
- .2byte NATIONAL_DEX_NUMEL
- .2byte NATIONAL_DEX_HOUNDOUR
- .2byte NATIONAL_DEX_HOUNDOOM
- .2byte NATIONAL_DEX_SNEASEL
-
- .section .rodata.after @ pokedex.c erroneously carved out?
-
gUnknown_8451EBC:: @ 8451EBC BgTemplate
.4byte 0x00000050
@ {
@@ -2248,11 +86,41 @@ gUnknown_8451ECC:: @ 8451ECC WindowTemplate
@ }
gUnknown_8451EE4:: @ 8451EE4 PokedexScreenData
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
- .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- .byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00
+ .align 2
+ .4byte 0x00000000
+ .4byte 0x00000000
+ .2byte 0x0001
+ .2byte 0x0000
+ .byte 0xff
+ .byte 0xff
+ .byte 0xff
+ .byte 0x00
+ .2byte 0xffff, 0xffff, 0xffff, 0xffff
+ .byte 0xff, 0xff, 0xff, 0xff
+ .byte 0xff, 0xff, 0xff, 0xff
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .4byte 0x00000000
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+ .2byte 0x0000
+ .byte 0xff, 0x00, 0x00
+ .align 2
+ .4byte NULL
+ .2byte 0x0000
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
+ .2byte 0x0000
+ .4byte NULL
+ .byte 0xff, 0xff
+ .2byte 0x0000
+ .byte 0x00
+ .align 1
+ .2byte 0x0000, 0x0000, 0x0000, 0x0000
+ .align 2
gUnknown_8451F54:: @ 8451F54 WindowTemplate
.byte 1, 1, 2, 20, 16, 0
.2byte 0x0008
@@ -2296,15 +164,15 @@ gUnknown_8451F6C::
.4byte gUnknown_8415EFB, -3
.4byte gUnknown_8415E95, 9
.4byte gUnknown_8415DE0, -3
- .4byte gUnknown_8415DF7, 0
- .4byte gUnknown_8415E09, 1
- .4byte gUnknown_8415E18, 2
- .4byte gUnknown_8415E2D, 3
- .4byte gUnknown_8415E39, 4
- .4byte gUnknown_8415E46, 5
- .4byte gUnknown_8415E57, 6
- .4byte gUnknown_8415E6D, 7
- .4byte gUnknown_8415E7B, 8
+ .4byte gText_DexCategory_GrasslandPkmn, 0
+ .4byte gText_DexCategory_ForestPkmn, 1
+ .4byte gText_DexCategory_WatersEdgePkmn, 2
+ .4byte gText_DexCategory_SeaPkmn, 3
+ .4byte gText_DexCategory_CavePkmn, 4
+ .4byte gText_DexCategory_MountainPkmn, 5
+ .4byte gText_DexCategory_RoughTerrainPkmn, 6
+ .4byte gText_DexCategory_UrbanPkmn, 7
+ .4byte gText_DexCategory_RarePkmn, 8
.4byte gUnknown_8415E88, -3
.4byte gUnknown_8415EA4, 10
.4byte gUnknown_8415ED5, 11
@@ -2326,15 +194,15 @@ gUnknown_845201C::
.4byte gUnknown_8415F0E, 9
.4byte gUnknown_8415F24, 14
.4byte gUnknown_8415DE0, -3
- .4byte gUnknown_8415DF7, 0
- .4byte gUnknown_8415E09, 1
- .4byte gUnknown_8415E18, 2
- .4byte gUnknown_8415E2D, 3
- .4byte gUnknown_8415E39, 4
- .4byte gUnknown_8415E46, 5
- .4byte gUnknown_8415E57, 6
- .4byte gUnknown_8415E6D, 7
- .4byte gUnknown_8415E7B, 8
+ .4byte gText_DexCategory_GrasslandPkmn, 0
+ .4byte gText_DexCategory_ForestPkmn, 1
+ .4byte gText_DexCategory_WatersEdgePkmn, 2
+ .4byte gText_DexCategory_SeaPkmn, 3
+ .4byte gText_DexCategory_CavePkmn, 4
+ .4byte gText_DexCategory_MountainPkmn, 5
+ .4byte gText_DexCategory_RoughTerrainPkmn, 6
+ .4byte gText_DexCategory_UrbanPkmn, 7
+ .4byte gText_DexCategory_RarePkmn, 8
.4byte gUnknown_8415E88, -3
.4byte gUnknown_8415EA4, 10
.4byte gUnknown_8415ED5, 11
@@ -2684,16 +552,16 @@ gUnknown_8452334:: @ 8452334 dataptr
.4byte gUnknown_8452318
.4byte gUnknown_8452324
-gUnknown_8452344:: @ 8452344 dataptr
- .4byte gUnknown_8415DF7
- .4byte gUnknown_8415E09
- .4byte gUnknown_8415E18
- .4byte gUnknown_8415E2D
- .4byte gUnknown_8415E39
- .4byte gUnknown_8415E46
- .4byte gUnknown_8415E57
- .4byte gUnknown_8415E6D
- .4byte gUnknown_8415E7B
+gDexCategoryNamePtrs:: @ 8452344 dataptr
+ .4byte gText_DexCategory_GrasslandPkmn
+ .4byte gText_DexCategory_ForestPkmn
+ .4byte gText_DexCategory_WatersEdgePkmn
+ .4byte gText_DexCategory_SeaPkmn
+ .4byte gText_DexCategory_CavePkmn
+ .4byte gText_DexCategory_MountainPkmn
+ .4byte gText_DexCategory_RoughTerrainPkmn
+ .4byte gText_DexCategory_UrbanPkmn
+ .4byte gText_DexCategory_RarePkmn
gUnknown_8452368:: @ 8452368 gbapal
.incbin "graphics/pokedex/unk_8452368.gbapal"
@@ -3393,7 +1261,7 @@ gUnknown_84527D0:: @ 84527D0
gUnknown_84527D2:: @ 84527D2
.2byte SPECIES_MEW
-gUnknown_84527D4::
+gDexCategory_GrasslandPkmn::
.4byte gUnknown_84524D0, 4
.4byte gUnknown_84524D8, 4
.4byte gUnknown_84524E0, 3
@@ -3422,7 +1290,7 @@ gUnknown_84527D4::
.4byte gUnknown_8452564, 3
.4byte gUnknown_845256A, 3
-gUnknown_84528AC::
+gDexCategory_ForestPkmn::
.4byte gUnknown_8452570, 3
.4byte gUnknown_8452576, 3
.4byte gUnknown_845257C, 3
@@ -3450,7 +1318,7 @@ gUnknown_84528AC::
.4byte gUnknown_84525F6, 3
.4byte gUnknown_84525FC, 1
-gUnknown_845297C::
+gDexCategory_WatersEdgePkmn::
.4byte gUnknown_84525FE, 2
.4byte gUnknown_8452602, 4
.4byte gUnknown_845260A, 4
@@ -3468,7 +1336,7 @@ gUnknown_845297C::
.4byte gUnknown_8452652, 3
.4byte gUnknown_8452658, 2
-gUnknown_84529FC::
+gDexCategory_SeaPkmn::
.4byte gUnknown_845265C, 2
.4byte gUnknown_8452660, 2
.4byte gUnknown_8452664, 2
@@ -3486,7 +1354,7 @@ gUnknown_84529FC::
.4byte gUnknown_84526A6, 2
.4byte gUnknown_84526AA, 1
-gUnknown_8452A7C::
+gDexCategory_CavePkmn::
.4byte gUnknown_84526AC, 3
.4byte gUnknown_84526B2, 4
.4byte gUnknown_84526BA, 4
@@ -3498,7 +1366,7 @@ gUnknown_8452A7C::
.4byte gUnknown_84526DC, 2
.4byte gUnknown_84526E0, 3
-gUnknown_8452ACC::
+gDexCategory_MountainPkmn::
.4byte gUnknown_84526E6, 3
.4byte gUnknown_84526EC, 4
.4byte gUnknown_84526F4, 3
@@ -3517,7 +1385,7 @@ gUnknown_8452ACC::
.4byte gUnknown_8452738, 3
.4byte gUnknown_845273E, 1
-gUnknown_8452B54::
+gDexCategory_RoughTerrainPkmn::
.4byte gUnknown_8452740, 2
.4byte gUnknown_8452744, 4
.4byte gUnknown_845274C, 2
@@ -3530,7 +1398,7 @@ gUnknown_8452B54::
.4byte gUnknown_845276E, 3
.4byte gUnknown_8452774, 1
-gUnknown_8452BAC::
+gDexCategory_UrbanPkmn::
.4byte gUnknown_8452776, 4
.4byte gUnknown_845277E, 4
.4byte gUnknown_8452786, 2
@@ -3544,7 +1412,7 @@ gUnknown_8452BAC::
.4byte gUnknown_84527B4, 4
.4byte gUnknown_84527BC, 2
-gUnknown_8452C0C::
+gDexCategory_RarePkmn::
.4byte gUnknown_84527C0, 1
.4byte gUnknown_84527C2, 3
.4byte gUnknown_84527C8, 1
@@ -3554,13 +1422,13 @@ gUnknown_8452C0C::
.4byte gUnknown_84527D0, 1
.4byte gUnknown_84527D2, 1
-gUnknown_8452C4C:: @ 8452C4C struct { dataptr; data8; }
- .4byte gUnknown_84527D4, 27
- .4byte gUnknown_84528AC, 26
- .4byte gUnknown_845297C, 16
- .4byte gUnknown_84529FC, 16
- .4byte gUnknown_8452A7C, 10
- .4byte gUnknown_8452ACC, 17
- .4byte gUnknown_8452B54, 11
- .4byte gUnknown_8452BAC, 12
- .4byte gUnknown_8452C0C, 8
+gDexCategories:: @ 8452C4C struct { dataptr; data8; }
+ .4byte gDexCategory_GrasslandPkmn, 27
+ .4byte gDexCategory_ForestPkmn, 26
+ .4byte gDexCategory_WatersEdgePkmn, 16
+ .4byte gDexCategory_SeaPkmn, 16
+ .4byte gDexCategory_CavePkmn, 10
+ .4byte gDexCategory_MountainPkmn, 17
+ .4byte gDexCategory_RoughTerrainPkmn, 11
+ .4byte gDexCategory_UrbanPkmn, 12
+ .4byte gDexCategory_RarePkmn, 8
diff --git a/data/strings.s b/data/strings.s
index e36f52553..d1bbeef49 100644
--- a/data/strings.s
+++ b/data/strings.s
@@ -12,7 +12,7 @@ gExpandedPlaceholder_Kun:: @ 8415A21
gExpandedPlaceholder_Chan:: @ 8415A22
.string "$"
-gUnknown_8415A23:: @ 0x8415A23
+gExpandedPlaceholder_Sapphire:: @ 0x8415A23
.string "SAPPHIRE$"
gExpandedPlaceholder_Ruby:: @ 8415A2C
@@ -206,31 +206,31 @@ gUnknown_8415DD7:: @ 8415DD7
gUnknown_8415DE0:: @ 0x8415DE0
.string "{COLOR WHITE2}{SHADOW LIGHT_BLUE}POKéMON HABITATS$"
-gUnknown_8415DF7:: @ 0x8415DF7
+gText_DexCategory_GrasslandPkmn:: @ 0x8415DF7
.string "Grassland POKéMON$"
-gUnknown_8415E09:: @ 0x8415E09
+gText_DexCategory_ForestPkmn:: @ 0x8415E09
.string "Forest POKéMON$"
-gUnknown_8415E18:: @ 0x8415E18
+gText_DexCategory_WatersEdgePkmn:: @ 0x8415E18
.string "Water's-edge POKéMON$"
-gUnknown_8415E2D:: @ 0x8415E2D
+gText_DexCategory_SeaPkmn:: @ 0x8415E2D
.string "Sea POKéMON$"
-gUnknown_8415E39:: @ 0x8415E39
+gText_DexCategory_CavePkmn:: @ 0x8415E39
.string "Cave POKéMON$"
-gUnknown_8415E46:: @ 0x8415E46
+gText_DexCategory_MountainPkmn:: @ 0x8415E46
.string "Mountain POKéMON$"
-gUnknown_8415E57:: @ 0x8415E57
+gText_DexCategory_RoughTerrainPkmn:: @ 0x8415E57
.string "Rough-terrain POKéMON$"
-gUnknown_8415E6D:: @ 0x8415E6D
+gText_DexCategory_UrbanPkmn:: @ 0x8415E6D
.string "Urban POKéMON$"
-gUnknown_8415E7B:: @ 0x8415E7B
+gText_DexCategory_RarePkmn:: @ 0x8415E7B
.string "Rare POKéMON$"
gUnknown_8415E88:: @ 0x8415E88
diff --git a/data/text/help_system.inc b/data/text/help_system.inc
index 7a74de349..ccc57332b 100644
--- a/data/text/help_system.inc
+++ b/data/text/help_system.inc
@@ -980,8 +980,13 @@ gUnknown_81B752C:: @ 81B752C
.string " the POKéDEX list.\n"
.string "{CIRCLE_2} A caught POKéMON will provide a\n"
.string " large amount of data.\n"
+ .if REVISION < 1
.string "{CIRCLE_3} Select “AREA” to display the TOWN\n"
.string " MAP with the POKéMON's habitat(s).$"
+ .else
+ .string "{CIRCLE_3} Select “NEXT DATA” to display the\n"
+ .string " TOWN MAP with its habitat(s).$"
+ .endif
gUnknown_81B7611:: @ 81B7611
.string "{CIRCLE_1} Go up to the PC at home, then press\n"
diff --git a/rom.sha1 b/firered.sha1
index a4d3b2fe2..a4d3b2fe2 100644
--- a/rom.sha1
+++ b/firered.sha1
diff --git a/firered_rev1.sha1 b/firered_rev1.sha1
new file mode 100644
index 000000000..2cb2ef855
--- /dev/null
+++ b/firered_rev1.sha1
@@ -0,0 +1 @@
+dd5945db9b930750cb39d00c84da8571feebf417 pokefirered_rev1.gba
diff --git a/graphics/field_effects/unk_83CBB30.bin b/graphics/field_effects/unk_83CBB30.bin
index 9543a056e..f7c2f2142 100644
--- a/graphics/field_effects/unk_83CBB30.bin
+++ b/graphics/field_effects/unk_83CBB30.bin
Binary files differ
diff --git a/graphics/field_effects/unk_83CBDB0.png b/graphics/field_effects/unk_83CBDB0.png
new file mode 100644
index 000000000..5a84d2e06
--- /dev/null
+++ b/graphics/field_effects/unk_83CBDB0.png
Binary files differ
diff --git a/graphics/pokemon/deoxys/back_def.png b/graphics/pokemon/deoxys/back_def.png
new file mode 100644
index 000000000..8e8bb8730
--- /dev/null
+++ b/graphics/pokemon/deoxys/back_def.png
Binary files differ
diff --git a/graphics/pokemon/deoxys/front_def.png b/graphics/pokemon/deoxys/front_def.png
new file mode 100644
index 000000000..1db6acdc7
--- /dev/null
+++ b/graphics/pokemon/deoxys/front_def.png
Binary files differ
diff --git a/graphics/pokemon/deoxys/icon_defense.png b/graphics/pokemon/deoxys/icon_defense.png
new file mode 100644
index 000000000..8c423d14b
--- /dev/null
+++ b/graphics/pokemon/deoxys/icon_defense.png
Binary files differ
diff --git a/graphics/slot_machine/unk_846504c.pal b/graphics/slot_machine/unk_846504c.pal
deleted file mode 100644
index 9a5bab429..000000000
--- a/graphics/slot_machine/unk_846504c.pal
+++ /dev/null
@@ -1,19 +0,0 @@
-JASC-PAL
-0100
-16
-0 0 0
-238 172 0
-156 115 115
-246 205 205
-123 90 90
-222 164 164
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-222 123 32
-255 205 32
-205 90 0
diff --git a/graphics/slot_machine/unk_lg_8464434.png b/graphics/slot_machine/unk_lg_8464434.png
new file mode 100644
index 000000000..f7c3b0d7c
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8464434.png
Binary files differ
diff --git a/graphics/slot_machine/unk_lg_8464a3c.png b/graphics/slot_machine/unk_lg_8464a3c.png
new file mode 100644
index 000000000..be4fe520d
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8464a3c.png
Binary files differ
diff --git a/graphics/slot_machine/unk_lg_84652bc.pal b/graphics/slot_machine/unk_lg_84652bc.pal
new file mode 100644
index 000000000..bd983ff0e
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_84652bc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+57 57 49
+230 230 230
+255 255 255
+139 222 82
+65 156 41
+90 164 57
+197 246 139
+115 180 82
+255 164 41
+238 148 0
+255 205 65
+172 82 0
+24 98 24
+98 98 90
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_84652dc.pal b/graphics/slot_machine/unk_lg_84652dc.pal
new file mode 100644
index 000000000..59ab3dc37
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_84652dc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+222 222 222
+255 255 255
+139 222 82
+255 90 0
+222 41 0
+255 90 0
+222 41 0
+255 90 0
+222 41 0
+255 90 0
+222 41 0
+255 90 0
+222 41 0
+197 246 139
+156 0 0
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_84652fc.pal b/graphics/slot_machine/unk_lg_84652fc.pal
new file mode 100644
index 000000000..c5c5d623e
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_84652fc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+65 156 41
+139 222 82
+115 164 74
+156 238 74
+230 65 24
+255 164 41
+255 238 32
+139 222 82
+189 189 189
+156 156 156
+123 123 123
+90 90 90
+65 65 65
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_846531c.pal b/graphics/slot_machine/unk_lg_846531c.pal
new file mode 100644
index 000000000..f2965936f
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_846531c.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+139 222 82
+139 106 106
+189 156 156
+115 82 82
+164 131 131
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+131 197 98
+115 180 82
+197 246 139
+90 164 57
diff --git a/graphics/slot_machine/unk_lg_846533c.pal b/graphics/slot_machine/unk_lg_846533c.pal
new file mode 100644
index 000000000..848e6f9bf
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_846533c.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+222 222 222
+65 156 41
+90 164 57
+255 255 255
+139 222 82
+0 0 197
+180 65 0
+180 65 0
+0 106 0
+0 106 0
+82 123 255
+246 156 0
+246 156 0
+41 180 82
+41 180 82
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_846535c.png b/graphics/slot_machine/unk_lg_846535c.png
new file mode 100644
index 000000000..dc1799f37
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_846535c.png
Binary files differ
diff --git a/graphics/slot_machine/unk_lg_8465ab8.bin b/graphics/slot_machine/unk_lg_8465ab8.bin
new file mode 100644
index 000000000..11450307c
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8465ab8.bin
Binary files differ
diff --git a/graphics/slot_machine/unk_lg_8465d9c.pal b/graphics/slot_machine/unk_lg_8465d9c.pal
new file mode 100644
index 000000000..95c6a44ed
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8465d9c.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+222 222 222
+65 156 41
+90 164 57
+255 255 255
+139 222 82
+0 180 255
+255 148 0
+255 148 0
+0 238 0
+0 238 0
+139 255 255
+255 238 106
+255 238 106
+148 255 148
+148 255 148
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_8465dbc.pal b/graphics/slot_machine/unk_lg_8465dbc.pal
new file mode 100644
index 000000000..790cb6b64
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8465dbc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+222 222 222
+255 255 255
+139 222 82
+255 255 131
+255 180 65
+255 255 255
+255 255 131
+255 255 131
+255 180 65
+255 180 65
+255 90 0
+255 90 0
+222 41 0
+197 246 139
+156 0 0
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_8465ddc.pal b/graphics/slot_machine/unk_lg_8465ddc.pal
new file mode 100644
index 000000000..32932dfb2
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8465ddc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+222 222 222
+255 255 255
+139 222 82
+255 180 65
+255 90 0
+255 255 131
+255 180 65
+255 255 255
+255 255 131
+255 255 131
+255 180 65
+255 180 65
+255 90 0
+197 246 139
+156 0 0
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_8465dfc.pal b/graphics/slot_machine/unk_lg_8465dfc.pal
new file mode 100644
index 000000000..82eae667f
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8465dfc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+222 222 222
+255 255 255
+139 222 82
+255 90 0
+222 41 0
+255 180 65
+255 90 0
+255 255 131
+255 180 65
+255 255 255
+255 255 131
+255 255 131
+255 180 65
+197 246 139
+156 0 0
+0 0 0
diff --git a/graphics/slot_machine/unk_lg_8465f00.png b/graphics/slot_machine/unk_lg_8465f00.png
new file mode 100644
index 000000000..56ce87fce
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8465f00.png
Binary files differ
diff --git a/graphics/slot_machine/unk_lg_8466278.bin b/graphics/slot_machine/unk_lg_8466278.bin
new file mode 100644
index 000000000..73c6985f3
--- /dev/null
+++ b/graphics/slot_machine/unk_lg_8466278.bin
Binary files differ
diff --git a/graphics/title_screen/unk_lg_8eab744.pal b/graphics/title_screen/unk_lg_8eab744.pal
new file mode 100644
index 000000000..7a87d6ae0
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8eab744.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+0 255 41
+0 0 0
+255 238 16
+246 222 41
+246 238 246
+255 246 24
+246 246 41
+246 246 246
+246 255 255
+255 246 255
+32 0 255
+106 65 156
+32 0 238
+246 222 24
+246 222 32
+255 238 41
+255 238 49
+255 255 16
+255 255 24
+255 255 246
+255 255 255
+123 106 156
+24 41 32
+32 32 74
+32 0 230
+115 82 164
+16 0 246
+106 82 172
+246 238 32
+255 230 24
+246 230 41
+246 238 41
+246 230 49
+246 238 49
+255 246 32
+255 246 41
+255 255 32
+255 255 41
+32 24 32
+32 32 41
+197 156 41
+197 164 41
+156 156 156
+164 164 156
+172 172 172
+180 189 180
+41 0 230
+189 189 189
+197 189 189
+197 197 197
+205 205 213
+8 8 197
+246 230 24
+246 230 32
+255 238 24
+255 238 32
+32 32 32
+32 41 32
+41 32 32
+41 41 32
+49 32 32
+49 41 32
+41 32 41
+49 32 41
+24 41 41
+32 32 90
+16 24 106
+24 32 98
+41 32 82
+41 32 98
+41 41 82
+41 41 98
+0 0 115
+8 8 131
+32 24 115
+32 24 131
+32 41 115
+41 41 115
+32 41 131
+41 41 131
+57 41 41
+57 41 49
+57 49 41
+57 57 57
+65 41 41
+74 41 41
+65 57 57
+74 57 57
+57 74 74
+65 65 74
+82 74 82
+82 57 131
+82 90 82
+90 90 90
+90 98 98
+98 98 106
+115 106 106
+131 98 115
+139 98 106
+139 115 98
+180 139 57
+172 131 65
+156 115 90
+156 131 82
+115 82 139
+123 82 131
+115 98 131
+131 98 123
+115 123 123
+123 123 131
+139 131 139
+148 123 131
+205 172 24
+213 172 16
+205 164 32
+213 172 32
+222 189 24
+230 189 16
+213 189 32
+222 189 32
+230 205 24
+230 205 32
+230 213 32
+238 222 32
+180 148 57
+189 156 49
+180 148 74
+180 172 90
+156 148 123
+139 148 139
+164 148 115
+172 156 106
+197 156 49
+205 180 49
+197 172 90
+205 189 82
+222 205 49
+230 222 49
+205 205 74
+222 213 65
+49 0 230
+213 213 213
+222 230 230
+222 230 230
+255 0 246
+255 0 255
+16 8 197
+16 16 189
+32 16 164
+41 16 164
+32 16 180
+41 16 189
+8 8 205
+8 16 205
+24 8 213
+24 16 205
+41 8 213
+41 16 213
+49 8 213
+57 16 213
+16 8 230
+24 8 230
+24 16 230
+24 24 230
+8 8 246
+8 16 246
+16 8 246
+16 16 246
+32 8 230
+32 16 230
+32 8 238
+32 8 246
+41 8 230
+41 16 230
+49 16 230
+49 8 238
+32 32 156
+24 32 172
+41 41 156
+41 32 164
+74 49 180
+82 49 172
+82 65 164
+90 74 164
+24 32 189
+57 41 189
+41 32 213
+57 32 213
+74 41 189
+90 57 189
+74 49 197
+74 41 205
+205 205 205
+41 41 41
+189 189 189
+172 172 172
+246 246 246
+123 123 123
+156 156 156
+139 139 139
+238 238 238
+16 16 16
+98 98 98
+82 82 82
+222 222 222
+57 57 57
+0 0 0
+255 255 255
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/title_screen/unk_lg_8eab944.png b/graphics/title_screen/unk_lg_8eab944.png
new file mode 100644
index 000000000..c34738121
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8eab944.png
Binary files differ
diff --git a/graphics/title_screen/unk_lg_8ead508.bin b/graphics/title_screen/unk_lg_8ead508.bin
new file mode 100644
index 000000000..6ce2f1b91
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8ead508.bin
Binary files differ
diff --git a/graphics/title_screen/unk_lg_8ead768.pal b/graphics/title_screen/unk_lg_8ead768.pal
new file mode 100644
index 000000000..2d8915888
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8ead768.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+246 148 98
+0 0 0
+246 148 98
+255 0 255
+255 0 255
+255 0 255
+0 32 32
+0 49 41
+0 65 49
+0 82 57
+16 98 74
+24 115 90
+41 148 115
+74 180 139
+98 205 156
+131 230 172
diff --git a/graphics/title_screen/unk_lg_8ead788.png b/graphics/title_screen/unk_lg_8ead788.png
new file mode 100644
index 000000000..f496b62a8
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8ead788.png
Binary files differ
diff --git a/graphics/title_screen/unk_lg_8eae1ec.bin b/graphics/title_screen/unk_lg_8eae1ec.bin
new file mode 100644
index 000000000..666c158ca
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8eae1ec.bin
Binary files differ
diff --git a/graphics/title_screen/unk_lg_8eae388.pal b/graphics/title_screen/unk_lg_8eae388.pal
new file mode 100644
index 000000000..83a644193
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8eae388.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 255 90
+0 0 0
+123 123 123
+197 197 197
+222 222 222
+255 255 255
+0 0 0
+123 123 123
+197 197 197
+222 222 222
+255 255 255
+230 123 90
+0 123 0
+16 148 32
+41 180 65
+65 213 98
diff --git a/graphics/title_screen/unk_lg_8eae77c.pal b/graphics/title_screen/unk_lg_8eae77c.pal
new file mode 100644
index 000000000..4b0df85f2
--- /dev/null
+++ b/graphics/title_screen/unk_lg_8eae77c.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 213
+172 180 197
+49 57 65
+115 123 131
+246 246 246
+57 82 82
+90 115 115
+123 131 123
+49 74 57
+16 32 24
+0 82 0
+32 82 24
+16 98 0
+57 164 16
+90 222 24
+189 255 8
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index 57fcb3c2e..cd74933aa 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -506,6 +506,9 @@ $(ITEMPCGFXDIR)/unk_8E85090.4bpp: %.4bpp: %.png
$(TITLESCREENGFXDIR)/unk_8ead608.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 135
+$(TITLESCREENGFXDIR)/unk_lg_8ead788.4bpp: %.4bpp: %.png
+ $(GFX) $< $@ -num_tiles 123
+
$(CREDITSGFXDIR)/unk_8EAE548.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 77
diff --git a/include/cereader_tool.h b/include/cereader_tool.h
index 5ae797ac0..6275eaabf 100644
--- a/include/cereader_tool.h
+++ b/include/cereader_tool.h
@@ -25,11 +25,12 @@ struct TrainerTowerFloor
/* 0x3DC */ u32 checksum;
};
-struct Unk_203F458_Header
+struct EReaderTrainerHillSetSubstruct
{
- u8 unk0;
- u8 unk1;
- u32 unk4;
+ u8 count;
+ u8 id;
+ u16 dummy;
+ u32 checksum;
};
struct EReaderTrainerHillSet
@@ -41,7 +42,9 @@ struct EReaderTrainerHillSet
struct TrainerTowerFloor floors[8];
};
-bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * a0);
-bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * a0);
+bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata);
+bool32 CEReaderTool_SaveTrainerTower(struct EReaderTrainerHillSet * ttdata);
+bool32 CEReaderTool_LoadTrainerTower(struct EReaderTrainerHillSet * ttdata);
+u8 sub_815D654(void);
#endif //GUARD_CEREADER_TOOL_H
diff --git a/include/config.h b/include/config.h
index 491eadf13..70d76ca53 100644
--- a/include/config.h
+++ b/include/config.h
@@ -11,9 +11,25 @@
// #define NDEBUG
// Fire Red likely forgot to define NDEBUG/NOAGBPRN before release, leading
-// to the inclusion of asserts in the retail ROM. Don't try to re-enable this yet
-// since not all baseroms and pointers have been dumped yet and will result in
-// a broken ROM.
+// to the inclusion of asserts in the retail ROM.
+
+// Define the game version for use elsewhere
+#if defined(FIRERED)
+#define GAME_VERSION VERSION_FIRE_RED
+#elif defined(LEAFGREEN)
+#define GAME_VERSION VERSION_LEAF_GREEN
+#else
+#error unknown version
+#endif
+
+// rev1 renamed the source folder for reasons
+#if REVISION == 0
+#define CODE_ROOT "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/"
+#else
+#define CODE_ROOT "C:/WORK/POKeFRLG/Src/pm_lgfr_ose/source/"
+#endif
+
+#define ABSPATH(x) (CODE_ROOT x)
#ifdef ENGLISH
#define UNITS_IMPERIAL
diff --git a/include/constants/object_events.h b/include/constants/object_events.h
index c1793827e..60783a793 100644
--- a/include/constants/object_events.h
+++ b/include/constants/object_events.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H
-#define GUARD_CONSTANTS_MAP_OBJECTS_H
+#ifndef GUARD_CONSTANTS_OBJECT_EVENTS_H
+#define GUARD_CONSTANTS_OBJECT_EVENTS_H
#define OBJECT_EVENT_GFX_RED_NORMAL 0
#define OBJECT_EVENT_GFX_RED_BIKE 1
@@ -183,4 +183,4 @@
#define TRACKS_FOOT 1
#define TRACKS_BIKE_TIRE 2
-#endif // GUARD_CONSTANTS_MAP_OBJECTS_H
+#endif // GUARD_CONSTANTS_OBJECT_EVENTS_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 9c642bb36..e7ec52fd1 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -1,5 +1,5 @@
-#ifndef GUARD_EASYCHAT_H
-#define GUARD_EASYCHAT_H
+#ifndef GUARD_EASY_CHAT_H
+#define GUARD_EASY_CHAT_H
#include "global.h"
#include "constants/easy_chat.h"
@@ -45,6 +45,6 @@ u16 GetDisplayedWordByIndex(u16 index);
u16 GetNumDisplayedWords(void);
const u8 *GetEasyChatWordGroupName(u8);
u8 *CopyEasyChatWordPadded(u8 *, u16, u16);
-void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback); // TODO: currently in link_rfu.s. further file split needed?
+void DoEasyChatScreen(u8 type, u16 *words, MainCallback callback);
-#endif // GUARD_EASYCHAT_H
+#endif // GUARD_EASY_CHAT_H
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 5b7c3f784..b81a61664 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -104,5 +104,6 @@ void sub_8069058(u8, u8);
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
extern const struct SpritePalette gUnknown_83A5348;
extern const struct SpriteTemplate * const gFieldEffectObjectTemplatePointers[];
+extern const struct OamData gObjectEventBaseOam_32x32;
#endif // GUARD_EVENT_OBJECT_MOVEMENT_H
diff --git a/include/event_scripts.h b/include/event_scripts.h
index 2ad1485c2..b899a217b 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -708,9 +708,8 @@ extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[];
extern const u8 gOtherText_NewName[];
extern const u8 gNameChoice_Green[];
extern const u8 gNameChoice_Red[];
-extern const u8 gNameChoice_Red[];
-extern const u8 gNameChoice_Fire[];
extern const u8 gNameChoice_Fire[];
+extern const u8 gNameChoice_Leaf[];
extern const u8 gNameChoice_Gary[];
extern const u8 gNameChoice_Kaz[];
extern const u8 gNameChoice_Toru[];
diff --git a/include/graphics.h b/include/graphics.h
index 89541e748..dc0389420 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4297,17 +4297,17 @@ extern const u32 gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet[];
extern const u32 gBattleAnimSpritePal_FlyingDirt[];
// title_screen
-extern const u16 gGraphics_TitleScreen_PokemonFireRedLogoPals[];
-extern const u8 gGraphics_TitleScreen_PokemonFireRedLogoTiles[];
-extern const u8 gGraphics_TitleScreen_PokemonFireRedLogoMap[];
-extern const u16 gGraphics_TitleScreen_CharizardPals[];
-extern const u8 gGraphics_TitleScreen_CharizardTiles[];
-extern const u8 gGraphics_TitleScreen_CharizardMap[];
+extern const u16 gGraphics_TitleScreen_GameTitleLogoPals[];
+extern const u8 gGraphics_TitleScreen_GameTitleLogoTiles[];
+extern const u8 gGraphics_TitleScreen_GameTitleLogoMap[];
+extern const u16 gGraphics_TitleScreen_BoxArtMonPals[];
+extern const u8 gGraphics_TitleScreen_BoxArtMonTiles[];
+extern const u8 gGraphics_TitleScreen_BoxArtMonMap[];
extern u16 gGraphics_TitleScreen_BackgroundPals[]; // If this is const, title_screen.c does not match
extern const u8 gGraphics_TitleScreen_CopyrightPressStartTiles[];
extern const u8 gGraphics_TitleScreen_CopyrightPressStartMap[];
-extern const u16 gGraphics_TitleScreen_FirePals[];
-extern const u8 gGraphics_TitleScreen_BlankObjTiles[];
+extern const u16 gGraphics_TitleScreen_FireOrLeafPals[];
+extern const u32 gGraphics_TitleScreen_BlankObjTiles[];
// battle_gfx_sfx_util
extern const u32 gHealthboxSinglesPlayerGfx[];
diff --git a/include/load_save.h b/include/load_save.h
index 6162c30b9..10d1083a8 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -28,5 +28,6 @@ void ApplyNewEncryptionKeyToWord(u32 * word, u32 encryptionKey);
void ApplyNewEncryptionKeyToHword(u16 * hword, u32 encryptionKey);
void ClearContinueGameWarpStatus2(void);
void SetContinueGameWarpStatusToDynamicWarp(void);
+void sub_804C1AC(void);
#endif // GUARD_LOAD_SAVE_H
diff --git a/include/overworld.h b/include/overworld.h
index 08f9be912..845550a17 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -146,4 +146,6 @@ void c2_8056854(void);
void sub_8054F38(u32 newKey);
void sub_8055778(int);
+void sub_8055738(u8 loc);
+
#endif //GUARD_OVERWORLD_H
diff --git a/include/pokedex_screen.h b/include/pokedex_screen.h
index dfcbda05a..128fc1ad3 100644
--- a/include/pokedex_screen.h
+++ b/include/pokedex_screen.h
@@ -1,6 +1,20 @@
#ifndef GUARD_POKEDEX_SCREEN_H
#define GUARD_POKEDEX_SCREEN_H
+#define DEX_CATEGORY_GRASSLAND 0
+#define DEX_CATEGORY_FOREST 1
+#define DEX_CATEGORY_WATERS_EDGE 2
+#define DEX_CATEGORY_SEA 3
+#define DEX_CATEGORY_CAVE 4
+#define DEX_CATEGORY_MOUNTAIN 5
+#define DEX_CATEGORY_ROUGH_TERRAIN 6
+#define DEX_CATEGORY_URBAN 7
+#define DEX_CATEGORY_RARE 8
+
+#include "pokedex.h"
+
+extern const struct PokedexEntry gPokedexEntries[];
+
void CB2_OpenPokedexFromStartMenu(void);
s8 sub_8104AB0(u16 nationalDexNo, u8 caseId, bool8 indexIsSpecies);
diff --git a/include/rom_818CFC8.h b/include/rom_818CFC8.h
deleted file mode 100644
index 048825778..000000000
--- a/include/rom_818CFC8.h
+++ /dev/null
@@ -1,13 +0,0 @@
-//
-// Created by Scott Norton on 9/6/17.
-//
-
-#ifndef GUARD_ROM_818CFC8_H
-#define GUARD_ROM_818CFC8_H
-
-#include "global.h"
-
-bool8 InBattlePyramid(void);
-u8 sub_81AAA40(void);
-
-#endif //GUARD_ROM_818CFC8_H
diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h
deleted file mode 100644
index 17b02ffa4..000000000
--- a/include/rom_81BE66C.h
+++ /dev/null
@@ -1,14 +0,0 @@
-//
-// Created by Scott Norton on 9/6/17.
-//
-
-#ifndef GUARD_ROM_81BE66C_H
-#define GUARD_ROM_81BE66C_H
-
-#include "global.h"
-
-bool32 InTrainerHill(void);
-bool8 ObjectEventIsFarawayIslandMew(struct ObjectEvent *);
-u32 sub_81D427C(void);
-
-#endif //GUARD_ROM_81BE66C_H
diff --git a/include/strings.h b/include/strings.h
index bc1aee889..90fd49b52 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -777,6 +777,11 @@ extern const u8 gText_Clefairy_500Coins[];
extern const u8 gText_Dratini_2800Coins[];
extern const u8 gText_Scyther_5500Coins[];
extern const u8 gText_Porygon_9999Coins[];
+extern const u8 gText_Abra_120Coins[];
+extern const u8 gText_Clefairy_750Coins[];
+extern const u8 gText_Pinsir_2500Coins[];
+extern const u8 gText_Dratini_4600Coins[];
+extern const u8 gText_Porygon_6500Coins[];
extern const u8 gText_NoThanks_2[];
extern const u8 gText_HelixFossil[];
extern const u8 gText_DomeFossil[];
diff --git a/include/trade.h b/include/trade.h
index b3b1de23b..030a03a83 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -11,7 +11,7 @@ extern u8 gSelectedTradeMonPositions[2];
extern const u16 gUnknown_826601C[];
void CB2_ReturnFromLinkTrade(void);
s32 sub_804FB34(void);
-s32 CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet); // TODO: currently in link_rfu_2.s. further file split needed?
+s32 CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, u16 species2, u16 species, u8 isObedientBitSet);
s32 GetUnionRoomTradeMessageId(struct UnkLinkRfuStruct_02022B14Substruct rfuPlayer, struct UnkLinkRfuStruct_02022B14Substruct rfuPartner, u16 playerSpecies2, u16 partnerSpecies, u8 requestedType, u16 playerSpecies, u8 isObedientBitSet);
#endif //GUARD_TRADE_H
diff --git a/ld_script.txt b/ld_script.txt
index 9055e08bf..f3e5177a8 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -187,7 +187,7 @@ SECTIONS {
src/fldeff_rocksmash.o(.text);
src/fldeff_dig.o(.text);
asm/fldeff_flash.o(.text);
- asm/post_battle_event_funcs.o(.text);
+ src/post_battle_event_funcs.o(.text);
src/prof_pc.o(.text);
src/hof_pc.o(.text);
src/field_specials.o(.text);
@@ -228,6 +228,7 @@ SECTIONS {
src/map_preview_screen.o(.text);
asm/link_rfu_2.o(.text);
asm/link_rfu.o(.text);
+ asm/easy_chat_2.o(.text);
src/pokedex_screen.o(.text);
asm/pokedex_screen.o(.text);
src/list_menu.o(.text);
@@ -317,6 +318,8 @@ SECTIONS {
src/agb_flash_1m.o(.text);
src/agb_flash_mx.o(.text);
src/agb_flash_le.o(.text);
+ asm/librfu_stwi.o(.text);
+ asm/librfu_intr.o(.text);
asm/librfu.o(.text);
src/isagbprn.o(.text);
asm/libagbsyscall.o(.text);
@@ -374,7 +377,7 @@ SECTIONS {
} =0
.rodata :
- ALIGN(4)
+ SUBALIGN(4)
{
src/main.o(.rodata);
src/bg.o(.rodata);
@@ -506,9 +509,8 @@ SECTIONS {
src/map_preview_screen.o(.rodata);
data/link_rfu_2.o(.rodata);
data/link_rfu.o(.rodata);
+ src/pokedex_screen.o(.rodata);
data/pokedex_screen.o(.rodata);
- src/pokedex.o(.rodata);
- data/pokedex_screen.o(.rodata.after);
src/list_menu.o(.rodata);
data/item_menu.o(.rodata);
src/save_location.o(.rodata);
@@ -549,7 +551,6 @@ SECTIONS {
src/mevent_scripts.o(.rodata);
src/menews_jisan.o(.rodata);
src/menews_jisan.o(.rodata.str1.4);
- . = ALIGN(4);
src/seagallop.o(.rodata);
data/pokemon_jump.o(.rodata);
data/berry_crush.o(.rodata);
@@ -931,7 +932,7 @@ SECTIONS {
}
lib_rodata :
- ALIGN(4)
+ SUBALIGN(4)
{
src/agb_flash.o(.rodata);
src/agb_flash_1m.o(.rodata);
diff --git a/leafgreen.sha1 b/leafgreen.sha1
new file mode 100644
index 000000000..3cb75847e
--- /dev/null
+++ b/leafgreen.sha1
@@ -0,0 +1 @@
+574fa542ffebb14be69902d1d36f1ec0a4afd71e pokeleafgreen.gba
diff --git a/leafgreen_rev1.sha1 b/leafgreen_rev1.sha1
new file mode 100644
index 000000000..94c865e70
--- /dev/null
+++ b/leafgreen_rev1.sha1
@@ -0,0 +1 @@
+7862c67bdecbe21d1d69ce082ce34327e1c6ed5e pokeleafgreen_rev1.gba
diff --git a/sound/direct_sound_data.inc b/sound/direct_sound_data.inc
index e95ba843c..e283dd71f 100644
--- a/sound/direct_sound_data.inc
+++ b/sound/direct_sound_data.inc
@@ -1,1822 +1,1909 @@
-
.align 2
-gDirectSoundWaveData_0:: @ 84A3DA8
- .incbin "sound/direct_sound_samples/wave_0.bin"
+DirectSoundWaveData_sc88_glockenspiel::
+ .incbin "sound/direct_sound_samples/sc88_glockenspiel.bin"
-gDirectSoundWaveData_1:: @ 84A444C
- .incbin "sound/direct_sound_samples/wave_1.bin"
+ .align 2
+DirectSoundWaveData_sc88_organ2::
+ .incbin "sound/direct_sound_samples/sc88_organ2.bin"
-gDirectSoundWaveData_2:: @ 84A4C44
- .incbin "sound/direct_sound_samples/wave_2.bin"
+ .align 2
+DirectSoundWaveData_sc88_fretless_bass::
+ .incbin "sound/direct_sound_samples/sc88_fretless_bass.bin"
-gDirectSoundWaveData_3:: @ 84A5810
- .incbin "sound/direct_sound_samples/wave_3.bin"
+ .align 2
+DirectSoundWaveData_jv1080_slap_bass::
+ .incbin "sound/direct_sound_samples/jv1080_slap_bass.bin"
-gDirectSoundWaveData_4:: @ 84A6748
- .incbin "sound/direct_sound_samples/wave_4.bin"
+ .align 2
+DirectSoundWaveData_sc88_synth_bass::
+ .incbin "sound/direct_sound_samples/sc88_synth_bass.bin"
-gDirectSoundWaveData_5:: @ 84A73BC
- .incbin "sound/direct_sound_samples/wave_5.bin"
+ .align 2
+DirectSoundWaveData_sc88_timpani::
+ .incbin "sound/direct_sound_samples/sc88_timpani.bin"
-gDirectSoundWaveData_6:: @ 84A888C
- .incbin "sound/direct_sound_samples/wave_6.bin"
+ .align 2
+DirectSoundWaveData_classical_choir_voice_ahhs::
+ .incbin "sound/direct_sound_samples/classical_choir_voice_ahhs.bin"
-gDirectSoundWaveData_7:: @ 84A9F3C
- .incbin "sound/direct_sound_samples/wave_7.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_oboe::
+ .incbin "sound/direct_sound_samples/sd90_classical_oboe.bin"
-gDirectSoundWaveData_8:: @ 84AB280
- .incbin "sound/direct_sound_samples/wave_8.bin"
+ .align 2
+DirectSoundWaveData_unused_sd90_oboe::
+ .incbin "sound/direct_sound_samples/unused_sd90_oboe.bin"
-gDirectSoundWaveData_9:: @ 84ABD24
- .incbin "sound/direct_sound_samples/wave_9.bin"
+ .align 2
+DirectSoundWaveData_unused_electric_guitar::
+ .incbin "sound/direct_sound_samples/unused_electric_guitar.bin"
-gDirectSoundWaveData_10:: @ 84AD038
- .incbin "sound/direct_sound_samples/wave_10.bin"
+ .align 2
+DirectSoundWaveData_unused_sc88_unison_slap::
+ .incbin "sound/direct_sound_samples/unused_sc88_unison_slap.bin"
-gDirectSoundWaveData_11:: @ 84B0634
- .incbin "sound/direct_sound_samples/wave_11.bin"
+ .align 2
+DirectSoundWaveData_unknown_snare::
+ .incbin "sound/direct_sound_samples/unknown_snare.bin"
-gDirectSoundWaveData_12:: @ 84B0B0C
- .incbin "sound/direct_sound_samples/wave_12.bin"
+ .align 2
+DirectSoundWaveData_unknown_wood_block_low::
+ .incbin "sound/direct_sound_samples/unknown_wood_block_low.bin"
-gDirectSoundWaveData_13:: @ 84B23E8
- .incbin "sound/direct_sound_samples/wave_13.bin"
+ .align 2
+DirectSoundWaveData_unknown_wood_block_high::
+ .incbin "sound/direct_sound_samples/unknown_wood_block_high.bin"
-gDirectSoundWaveData_14:: @ 84B3710
- .incbin "sound/direct_sound_samples/wave_14.bin"
+ .align 2
+DirectSoundWaveData_sc88_standard_kick::
+ .incbin "sound/direct_sound_samples/sc88_standard_kick.bin"
-gDirectSoundWaveData_15:: @ 84B3BB0
- .incbin "sound/direct_sound_samples/wave_15.bin"
+ .align 2
+DirectSoundWaveData_sc88_standard3_snare::
+ .incbin "sound/direct_sound_samples/sc88_standard3_snare.bin"
-gDirectSoundWaveData_16:: @ 84B42A4
- .incbin "sound/direct_sound_samples/wave_16.bin"
+ .align 2
+DirectSoundWaveData_sc88_standard_hand_clap::
+ .incbin "sound/direct_sound_samples/sc88_standard_hand_clap.bin"
-gDirectSoundWaveData_17:: @ 84B4B34
- .incbin "sound/direct_sound_samples/wave_17.bin"
+ .align 2
+DirectSoundWaveData_sc88_orchestra_snare::
+ .incbin "sound/direct_sound_samples/sc88_orchestra_snare.bin"
-gDirectSoundWaveData_18:: @ 84B53AC
- .incbin "sound/direct_sound_samples/wave_18.bin"
+ .align 2
+DirectSoundWaveData_unknown_tambourine::
+ .incbin "sound/direct_sound_samples/unknown_tambourine.bin"
-gDirectSoundWaveData_19:: @ 84B5C60
- .incbin "sound/direct_sound_samples/wave_19.bin"
+ .align 2
+DirectSoundWaveData_trinity_cymbal_crash::
+ .incbin "sound/direct_sound_samples/trinity_cymbal_crash.bin"
-gDirectSoundWaveData_20:: @ 84B6544
- .incbin "sound/direct_sound_samples/wave_20.bin"
+ .align 2
+DirectSoundWaveData_sc88_orchestra_cymbal_crash::
+ .incbin "sound/direct_sound_samples/sc88_orchestra_cymbal_crash.bin"
-gDirectSoundWaveData_21:: @ 84B7470
- .incbin "sound/direct_sound_samples/wave_21.bin"
+ .align 2
+DirectSoundWaveData_sc88_bongo::
+ .incbin "sound/direct_sound_samples/sc88_bongo.bin"
-gDirectSoundWaveData_22:: @ 84B7988
- .incbin "sound/direct_sound_samples/wave_22.bin"
+ .align 2
+DirectSoundWaveData_sc88_bongo_low::
+ .incbin "sound/direct_sound_samples/sc88_bongo_low.bin"
-gDirectSoundWaveData_23:: @ 84B7F50
- .incbin "sound/direct_sound_samples/wave_23.bin"
+ .align 2
+DirectSoundWaveData_drum_and_percussion_kick::
+ .incbin "sound/direct_sound_samples/drum_and_percussion_kick.bin"
-gDirectSoundWaveData_24:: @ 84B8E68
- .incbin "sound/direct_sound_samples/wave_24.bin"
+ .align 2
+DirectSoundWaveData_sd90_solo_snare::
+ .incbin "sound/direct_sound_samples/sd90_solo_snare.bin"
-gDirectSoundWaveData_25:: @ 84BA7DC
- .incbin "sound/direct_sound_samples/wave_25.bin"
+ .align 2
+DirectSoundWaveData_sd90_ambient_tom::
+ .incbin "sound/direct_sound_samples/sd90_ambient_tom.bin"
-gDirectSoundWaveData_26:: @ 84BC8B8
- .incbin "sound/direct_sound_samples/wave_26.bin"
+ .align 2
+DirectSoundWaveData_dance_drums_ride_bell::
+ .incbin "sound/direct_sound_samples/dance_drums_ride_bell.bin"
-gDirectSoundWaveData_27:: @ 84C40E8
- .incbin "sound/direct_sound_samples/wave_27.bin"
+ .align 2
+DirectSoundWaveData_unknown_cowbell::
+ .incbin "sound/direct_sound_samples/unknown_cowbell.bin"
-gDirectSoundWaveData_28:: @ 84C4AA0
- .incbin "sound/direct_sound_samples/wave_28.bin"
+ .align 2
+DirectSoundWaveData_unknown_djembe::
+ .incbin "sound/direct_sound_samples/unknown_djembe.bin"
-gDirectSoundWaveData_29:: @ 84C5920
- .incbin "sound/direct_sound_samples/wave_29.bin"
+ .align 2
+DirectSoundWaveData_unknown_anvil_high::
+ .incbin "sound/direct_sound_samples/unknown_anvil_high.bin"
-gDirectSoundWaveData_30:: @ 84C6794
- .incbin "sound/direct_sound_samples/wave_30.bin"
+ .align 2
+DirectSoundWaveData_sc88_standard_bells::
+ .incbin "sound/direct_sound_samples/sc88_standard_bells.bin"
-gDirectSoundWaveData_31:: @ 84C7FA8
- .incbin "sound/direct_sound_samples/wave_31.bin"
+ .align 2
+DirectSoundWaveData_unknown_anvil_low::
+ .incbin "sound/direct_sound_samples/unknown_anvil_low.bin"
-gDirectSoundWaveData_32:: @ 84C954C
- .incbin "sound/direct_sound_samples/wave_32.bin"
+ .align 2
+DirectSoundWaveData_unknown_ethnic_drum::
+ .incbin "sound/direct_sound_samples/unknown_ethnic_drum.bin"
-gDirectSoundWaveData_33:: @ 84CAB30
- .incbin "sound/direct_sound_samples/wave_33.bin"
+ .align 2
+DirectSoundWaveData_unknown_tsuzumi::
+ .incbin "sound/direct_sound_samples/unknown_tsuzumi.bin"
-gDirectSoundWaveData_34:: @ 84CBC24
- .incbin "sound/direct_sound_samples/wave_34.bin"
+ .align 2
+DirectSoundWaveData_sc88_piano1_48::
+ .incbin "sound/direct_sound_samples/sc88_piano1_48.bin"
-gDirectSoundWaveData_35:: @ 84CCB84
- .incbin "sound/direct_sound_samples/wave_35.bin"
+ .align 2
+DirectSoundWaveData_sc88_piano1_60::
+ .incbin "sound/direct_sound_samples/sc88_piano1_60.bin"
-gDirectSoundWaveData_36:: @ 84CE1E4
- .incbin "sound/direct_sound_samples/wave_36.bin"
+ .align 2
+DirectSoundWaveData_sc88_piano1_72::
+ .incbin "sound/direct_sound_samples/sc88_piano1_72.bin"
-gDirectSoundWaveData_37:: @ 84CF740
- .incbin "sound/direct_sound_samples/wave_37.bin"
+ .align 2
+DirectSoundWaveData_sc88_piano1_84::
+ .incbin "sound/direct_sound_samples/sc88_piano1_84.bin"
-gDirectSoundWaveData_38:: @ 84D02CC
- .incbin "sound/direct_sound_samples/wave_38.bin"
+ .align 2
+DirectSoundWaveData_sc88_string_ensemble_60::
+ .incbin "sound/direct_sound_samples/sc88_string_ensemble_60.bin"
-gDirectSoundWaveData_39:: @ 84D3870
- .incbin "sound/direct_sound_samples/wave_39.bin"
+ .align 2
+DirectSoundWaveData_sc88_string_ensemble_72::
+ .incbin "sound/direct_sound_samples/sc88_string_ensemble_72.bin"
-gDirectSoundWaveData_40:: @ 84D5B8C
- .incbin "sound/direct_sound_samples/wave_40.bin"
+ .align 2
+DirectSoundWaveData_sc88_string_ensemble_84::
+ .incbin "sound/direct_sound_samples/sc88_string_ensemble_84.bin"
-gDirectSoundWaveData_41:: @ 84D9258
- .incbin "sound/direct_sound_samples/wave_41.bin"
+ .align 2
+DirectSoundWaveData_sc88_trumpet_60::
+ .incbin "sound/direct_sound_samples/sc88_trumpet_60.bin"
-gDirectSoundWaveData_42:: @ 84DA5A8
- .incbin "sound/direct_sound_samples/wave_42.bin"
+ .align 2
+DirectSoundWaveData_sc88_trumpet_72::
+ .incbin "sound/direct_sound_samples/sc88_trumpet_72.bin"
-gDirectSoundWaveData_43:: @ 84DBAB8
- .incbin "sound/direct_sound_samples/wave_43.bin"
+ .align 2
+DirectSoundWaveData_sc88_trumpet_84::
+ .incbin "sound/direct_sound_samples/sc88_trumpet_84.bin"
-gDirectSoundWaveData_44:: @ 84DCED8
- .incbin "sound/direct_sound_samples/wave_44.bin"
+ .align 2
+DirectSoundWaveData_unknown_trombone_39::
+ .incbin "sound/direct_sound_samples/unknown_trombone_39.bin"
-gDirectSoundWaveData_45:: @ 84DDF74
- .incbin "sound/direct_sound_samples/wave_45.bin"
+ .align 2
+DirectSoundWaveData_unknown_trombone_51::
+ .incbin "sound/direct_sound_samples/unknown_trombone_51.bin"
-gDirectSoundWaveData_46:: @ 84DEFD0
- .incbin "sound/direct_sound_samples/wave_46.bin"
+ .align 2
+DirectSoundWaveData_sc88_french_horn_60::
+ .incbin "sound/direct_sound_samples/sc88_french_horn_60.bin"
-gDirectSoundWaveData_47:: @ 84E5F64
- .incbin "sound/direct_sound_samples/wave_47.bin"
+ .align 2
+DirectSoundWaveData_sc88_french_horn_72::
+ .incbin "sound/direct_sound_samples/sc88_french_horn_72.bin"
-gDirectSoundWaveData_48:: @ 84EA4E8
- .incbin "sound/direct_sound_samples/wave_48.bin"
+ .align 2
+DirectSoundWaveData_sc88_flute::
+ .incbin "sound/direct_sound_samples/sc88_flute.bin"
-gDirectSoundWaveData_49:: @ 84EAC4C
- .incbin "sound/direct_sound_samples/wave_49.bin"
+ .align 2
+DirectSoundWaveData_sc88_pick_bass::
+ .incbin "sound/direct_sound_samples/sc88_pick_bass.bin"
-gDirectSoundWaveData_50:: @ 84EC89C
- .incbin "sound/direct_sound_samples/wave_50.bin"
+ .align 2
+DirectSoundWaveData_sc88_timpani_with_snare::
+ .incbin "sound/direct_sound_samples/sc88_timpani_with_snare.bin"
-gDirectSoundWaveData_51:: @ 84EDD6C
- .incbin "sound/direct_sound_samples/wave_51.bin"
+ .align 2
+DirectSoundWaveData_unknown_synth_snare::
+ .incbin "sound/direct_sound_samples/unknown_synth_snare.bin"
-gDirectSoundWaveData_52:: @ 84EE778
- .incbin "sound/direct_sound_samples/wave_52.bin"
+ .align 2
+DirectSoundWaveData_sc88_square_wave::
+ .incbin "sound/direct_sound_samples/sc88_square_wave.bin"
-gDirectSoundWaveData_53:: @ 84F038C
- .incbin "sound/direct_sound_samples/wave_53.bin"
+ .align 2
+DirectSoundWaveData_bicycle_bell::
+ .incbin "sound/direct_sound_samples/bicycle_bell.bin"
-gDirectSoundWaveData_54:: @ 84F1CEC
+ .align 2
+DirectSoundWaveData_wave_54::
.incbin "sound/direct_sound_samples/wave_54.bin"
-gDirectSoundWaveData_55:: @ 84F31B0
- .incbin "sound/direct_sound_samples/wave_55.bin"
+ .align 2
+DirectSoundWaveData_sc88_pizzicato_strings::
+ .incbin "sound/direct_sound_samples/sc88_pizzicato_strings.bin"
-gDirectSoundWaveData_56:: @ 84F38EC
+ .align 2
+DirectSoundWaveData_wave_56::
.incbin "sound/direct_sound_samples/wave_56.bin"
-gDirectSoundWaveData_57:: @ 84F54DC
+ .align 2
+DirectSoundWaveData_wave_57::
.incbin "sound/direct_sound_samples/wave_57.bin"
-gDirectSoundWaveData_58:: @ 84F6890
+ .align 2
+DirectSoundWaveData_wave_58::
.incbin "sound/direct_sound_samples/wave_58.bin"
-gDirectSoundWaveData_59:: @ 84F8F14
- .incbin "sound/direct_sound_samples/wave_59.bin"
+ .align 2
+DirectSoundWaveData_sc88_wind::
+ .incbin "sound/direct_sound_samples/sc88_wind.bin"
-gDirectSoundWaveData_60:: @ 84FA158
- .incbin "sound/direct_sound_samples/wave_60.bin"
+ .align 2
+DirectSoundWaveData_sc88_bubbles::
+ .incbin "sound/direct_sound_samples/sc88_bubbles.bin"
-gDirectSoundWaveData_61:: @ 84FB168
+ .align 2
+DirectSoundWaveData_wave_61::
.incbin "sound/direct_sound_samples/wave_61.bin"
-gDirectSoundWaveData_62:: @ 84FC470
+ .align 2
+DirectSoundWaveData_wave_62::
.incbin "sound/direct_sound_samples/wave_62.bin"
-gDirectSoundWaveData_63:: @ 84FE57C
- .incbin "sound/direct_sound_samples/wave_63.bin"
+ .align 2
+DirectSoundWaveData_unused_acid_bass::
+ .incbin "sound/direct_sound_samples/unused_acid_bass.bin"
-gDirectSoundWaveData_64:: @ 8500558
+ .align 2
+DirectSoundWaveData_wave_64::
.incbin "sound/direct_sound_samples/wave_64.bin"
-gDirectSoundWaveData_65:: @ 8502768
+ .align 2
+DirectSoundWaveData_wave_65::
.incbin "sound/direct_sound_samples/wave_65.bin"
-gDirectSoundWaveData_66:: @ 8502F34
- .incbin "sound/direct_sound_samples/wave_66.bin"
+ .align 2
+DirectSoundWaveData_sc88_tubular_bell::
+ .incbin "sound/direct_sound_samples/sc88_tubular_bell.bin"
-gDirectSoundWaveData_67:: @ 85048A4
- .incbin "sound/direct_sound_samples/wave_67.bin"
+ .align 2
+DirectSoundWaveData_unknown_close_hihat::
+ .incbin "sound/direct_sound_samples/unknown_close_hihat.bin"
-gDirectSoundWaveData_68:: @ 8504CB8
+ .align 2
+DirectSoundWaveData_wave_68::
.incbin "sound/direct_sound_samples/wave_68.bin"
-gDirectSoundWaveData_69:: @ 8506C68
- .incbin "sound/direct_sound_samples/wave_69.bin"
+ .align 2
+DirectSoundWaveData_unknown_polysynth::
+ .incbin "sound/direct_sound_samples/unknown_polysynth.bin"
-gDirectSoundWaveData_70:: @ 8509F48
- .incbin "sound/direct_sound_samples/wave_70.bin"
+ .align 2
+DirectSoundWaveData_sc88_harp::
+ .incbin "sound/direct_sound_samples/sc88_harp.bin"
-gDirectSoundWaveData_71:: @ 850A978
- .incbin "sound/direct_sound_samples/wave_71.bin"
+ .align 2
+DirectSoundWaveData_sc88_xylophone::
+ .incbin "sound/direct_sound_samples/sc88_xylophone.bin"
-gDirectSoundWaveData_72:: @ 850B3AC
+ .align 2
+DirectSoundWaveData_wave_72::
.incbin "sound/direct_sound_samples/wave_72.bin"
-gDirectSoundWaveData_73:: @ 850CEEC
+ .align 2
+DirectSoundWaveData_wave_73::
.incbin "sound/direct_sound_samples/wave_73.bin"
-gDirectSoundWaveData_74:: @ 850D7B4
- .incbin "sound/direct_sound_samples/wave_74.bin"
+ .align 2
+DirectSoundWaveData_sc88_accordion::
+ .incbin "sound/direct_sound_samples/sc88_accordion.bin"
+
+ .align 2
+DirectSoundWaveData_unknown_tom::
+ .incbin "sound/direct_sound_samples/unknown_tom.bin"
-gDirectSoundWaveData_75:: @ 850EB84
- .incbin "sound/direct_sound_samples/wave_75.bin"
.align 2
-Cry_Bulbasaur:: @ 850FBC4
+Cry_Bulbasaur::
.incbin "sound/direct_sound_samples/cry_bulbasaur.bin"
.align 2
-Cry_Ivysaur:: @ 8510C50
+Cry_Ivysaur::
.incbin "sound/direct_sound_samples/cry_ivysaur.bin"
.align 2
-Cry_Venusaur:: @ 8511CE0
+Cry_Venusaur::
.incbin "sound/direct_sound_samples/cry_venusaur.bin"
.align 2
-Cry_Charmander:: @ 8513038
+Cry_Charmander::
.incbin "sound/direct_sound_samples/cry_charmander.bin"
.align 2
-Cry_Charmeleon:: @ 8513EA8
+Cry_Charmeleon::
.incbin "sound/direct_sound_samples/cry_charmeleon.bin"
.align 2
-Cry_Charizard:: @ 8514D28
+Cry_Charizard::
.incbin "sound/direct_sound_samples/cry_charizard.bin"
.align 2
-Cry_Squirtle:: @ 8516070
+Cry_Squirtle::
.incbin "sound/direct_sound_samples/cry_squirtle.bin"
.align 2
-Cry_Wartortle:: @ 8516EE4
+Cry_Wartortle::
.incbin "sound/direct_sound_samples/cry_wartortle.bin"
.align 2
-Cry_Blastoise:: @ 8518024
+Cry_Blastoise::
.incbin "sound/direct_sound_samples/cry_blastoise.bin"
.align 2
-Cry_Caterpie:: @ 851936C
+Cry_Caterpie::
.incbin "sound/direct_sound_samples/cry_caterpie.bin"
.align 2
-Cry_Metapod:: @ 8519BC4
+Cry_Metapod::
.incbin "sound/direct_sound_samples/cry_metapod.bin"
.align 2
-Cry_Butterfree:: @ 851B314
+Cry_Butterfree::
.incbin "sound/direct_sound_samples/cry_butterfree.bin"
.align 2
-Cry_Weedle:: @ 851BD1C
+Cry_Weedle::
.incbin "sound/direct_sound_samples/cry_weedle.bin"
.align 2
-Cry_Kakuna:: @ 851CD60
+Cry_Kakuna::
.incbin "sound/direct_sound_samples/cry_kakuna.bin"
.align 2
-Cry_Beedrill:: @ 851DF9C
+Cry_Beedrill::
.incbin "sound/direct_sound_samples/cry_beedrill.bin"
.align 2
-Cry_Pidgey:: @ 851F2F8
+Cry_Pidgey::
.incbin "sound/direct_sound_samples/cry_pidgey.bin"
.align 2
-Cry_Pidgeotto:: @ 851F6E0
+Cry_Pidgeotto::
.incbin "sound/direct_sound_samples/cry_pidgeotto.bin"
.align 2
-Cry_Pidgeot:: @ 85205E8
+Cry_Pidgeot::
.incbin "sound/direct_sound_samples/cry_pidgeot.bin"
.align 2
-Cry_Rattata:: @ 852171C
+Cry_Rattata::
.incbin "sound/direct_sound_samples/cry_rattata.bin"
.align 2
-Cry_Raticate:: @ 8521EFC
+Cry_Raticate::
.incbin "sound/direct_sound_samples/cry_raticate.bin"
.align 2
-Cry_Spearow:: @ 8522880
+Cry_Spearow::
.incbin "sound/direct_sound_samples/cry_spearow.bin"
.align 2
-Cry_Fearow:: @ 8523A24
+Cry_Fearow::
.incbin "sound/direct_sound_samples/cry_fearow.bin"
.align 2
-Cry_Ekans:: @ 8524B60
+Cry_Ekans::
.incbin "sound/direct_sound_samples/cry_ekans.bin"
.align 2
-Cry_Arbok:: @ 8525EAC
+Cry_Arbok::
.incbin "sound/direct_sound_samples/cry_arbok.bin"
.align 2
-Cry_Pikachu:: @ 8527204
+Cry_Pikachu::
.incbin "sound/direct_sound_samples/cry_pikachu.bin"
.align 2
-Cry_Raichu:: @ 85282AC
+Cry_Raichu::
.incbin "sound/direct_sound_samples/cry_raichu.bin"
.align 2
-Cry_Sandshrew:: @ 8529A6C
+Cry_Sandshrew::
.incbin "sound/direct_sound_samples/cry_sandshrew.bin"
.align 2
-Cry_Sandslash:: @ 852A3C0
+Cry_Sandslash::
.incbin "sound/direct_sound_samples/cry_sandslash.bin"
.align 2
-Cry_NidoranF:: @ 852B150
+Cry_NidoranF::
.incbin "sound/direct_sound_samples/cry_nidoran_f.bin"
.align 2
-Cry_Nidorina:: @ 852BB00
+Cry_Nidorina::
.incbin "sound/direct_sound_samples/cry_nidorina.bin"
.align 2
-Cry_Nidoqueen:: @ 852C7C8
+Cry_Nidoqueen::
.incbin "sound/direct_sound_samples/cry_nidoqueen.bin"
.align 2
-Cry_NidoranM:: @ 852D8A8
+Cry_NidoranM::
.incbin "sound/direct_sound_samples/cry_nidoran_m.bin"
.align 2
-Cry_Nidorino:: @ 852E310
+Cry_Nidorino::
.incbin "sound/direct_sound_samples/cry_nidorino.bin"
.align 2
-Cry_Nidoking:: @ 852EF24
+Cry_Nidoking::
.incbin "sound/direct_sound_samples/cry_nidoking.bin"
.align 2
-Cry_Clefairy:: @ 8530790
+Cry_Clefairy::
.incbin "sound/direct_sound_samples/cry_clefairy.bin"
.align 2
-Cry_Clefable:: @ 8531000
+Cry_Clefable::
.incbin "sound/direct_sound_samples/cry_clefable.bin"
.align 2
-Cry_Vulpix:: @ 8531A90
+Cry_Vulpix::
.incbin "sound/direct_sound_samples/cry_vulpix.bin"
.align 2
-Cry_Ninetales:: @ 8533260
+Cry_Ninetales::
.incbin "sound/direct_sound_samples/cry_ninetales.bin"
.align 2
-Cry_Jigglypuff:: @ 8534ACC
+Cry_Jigglypuff::
.incbin "sound/direct_sound_samples/cry_jigglypuff.bin"
.align 2
-Cry_Wigglytuff:: @ 8535030
+Cry_Wigglytuff::
.incbin "sound/direct_sound_samples/cry_wigglytuff.bin"
.align 2
-Cry_Zubat:: @ 85356F8
+Cry_Zubat::
.incbin "sound/direct_sound_samples/cry_zubat.bin"
.align 2
-Cry_Golbat:: @ 8536A64
+Cry_Golbat::
.incbin "sound/direct_sound_samples/cry_golbat.bin"
.align 2
-Cry_Oddish:: @ 8537DC8
+Cry_Oddish::
.incbin "sound/direct_sound_samples/cry_oddish.bin"
.align 2
-Cry_Gloom:: @ 8538C64
+Cry_Gloom::
.incbin "sound/direct_sound_samples/cry_gloom.bin"
.align 2
-Cry_Vileplume:: @ 85398E0
+Cry_Vileplume::
.incbin "sound/direct_sound_samples/cry_vileplume.bin"
.align 2
-Cry_Paras:: @ 853B27C
+Cry_Paras::
.incbin "sound/direct_sound_samples/cry_paras.bin"
.align 2
-Cry_Parasect:: @ 853CE70
+Cry_Parasect::
.incbin "sound/direct_sound_samples/cry_parasect.bin"
.align 2
-Cry_Venonat:: @ 853ECD8
+Cry_Venonat::
.incbin "sound/direct_sound_samples/cry_venonat.bin"
.align 2
-Cry_Venomoth:: @ 853FC58
+Cry_Venomoth::
.incbin "sound/direct_sound_samples/cry_venomoth.bin"
.align 2
-Cry_Diglett:: @ 8540C5C
+Cry_Diglett::
.incbin "sound/direct_sound_samples/cry_diglett.bin"
.align 2
-Cry_Dugtrio:: @ 8541FCC
+Cry_Dugtrio::
.incbin "sound/direct_sound_samples/cry_dugtrio.bin"
.align 2
-Cry_Meowth:: @ 8543338
+Cry_Meowth::
.incbin "sound/direct_sound_samples/cry_meowth.bin"
.align 2
-Cry_Persian:: @ 8543CC8
+Cry_Persian::
.incbin "sound/direct_sound_samples/cry_persian.bin"
.align 2
-Cry_Psyduck:: @ 8544FA4
+Cry_Psyduck::
.incbin "sound/direct_sound_samples/cry_psyduck.bin"
.align 2
-Cry_Golduck:: @ 8545CCC
+Cry_Golduck::
.incbin "sound/direct_sound_samples/cry_golduck.bin"
.align 2
-Cry_Mankey:: @ 8546814
+Cry_Mankey::
.incbin "sound/direct_sound_samples/cry_mankey.bin"
.align 2
-Cry_Primeape:: @ 8547874
+Cry_Primeape::
.incbin "sound/direct_sound_samples/cry_primeape.bin"
.align 2
-Cry_Growlithe:: @ 85488A4
+Cry_Growlithe::
.incbin "sound/direct_sound_samples/cry_growlithe.bin"
.align 2
-Cry_Arcanine:: @ 8549608
+Cry_Arcanine::
.incbin "sound/direct_sound_samples/cry_arcanine.bin"
.align 2
-Cry_Poliwag:: @ 854A744
+Cry_Poliwag::
.incbin "sound/direct_sound_samples/cry_poliwag.bin"
.align 2
-Cry_Poliwhirl:: @ 854B260
+Cry_Poliwhirl::
.incbin "sound/direct_sound_samples/cry_poliwhirl.bin"
.align 2
-Cry_Poliwrath:: @ 854B908
+Cry_Poliwrath::
.incbin "sound/direct_sound_samples/cry_poliwrath.bin"
.align 2
-Cry_Abra:: @ 854C42C
+Cry_Abra::
.incbin "sound/direct_sound_samples/cry_abra.bin"
.align 2
-Cry_Kadabra:: @ 854DB90
+Cry_Kadabra::
.incbin "sound/direct_sound_samples/cry_kadabra.bin"
.align 2
-Cry_Alakazam:: @ 854F678
+Cry_Alakazam::
.incbin "sound/direct_sound_samples/cry_alakazam.bin"
.align 2
-Cry_Machop:: @ 8551614
+Cry_Machop::
.incbin "sound/direct_sound_samples/cry_machop.bin"
.align 2
-Cry_Machoke:: @ 8552378
+Cry_Machoke::
.incbin "sound/direct_sound_samples/cry_machoke.bin"
.align 2
-Cry_Machamp:: @ 8553108
+Cry_Machamp::
.incbin "sound/direct_sound_samples/cry_machamp.bin"
.align 2
-Cry_Bellsprout:: @ 8554190
+Cry_Bellsprout::
.incbin "sound/direct_sound_samples/cry_bellsprout.bin"
.align 2
-Cry_Weepinbell:: @ 855491C
+Cry_Weepinbell::
.incbin "sound/direct_sound_samples/cry_weepinbell.bin"
.align 2
-Cry_Victreebel:: @ 85557BC
+Cry_Victreebel::
.incbin "sound/direct_sound_samples/cry_victreebel.bin"
.align 2
-Cry_Tentacool:: @ 8556B08
+Cry_Tentacool::
.incbin "sound/direct_sound_samples/cry_tentacool.bin"
.align 2
-Cry_Tentacruel:: @ 8557AF8
+Cry_Tentacruel::
.incbin "sound/direct_sound_samples/cry_tentacruel.bin"
.align 2
-Cry_Geodude:: @ 85591F4
+Cry_Geodude::
.incbin "sound/direct_sound_samples/cry_geodude.bin"
.align 2
-Cry_Graveler:: @ 855A9A8
+Cry_Graveler::
.incbin "sound/direct_sound_samples/cry_graveler.bin"
.align 2
-Cry_Golem:: @ 855C590
+Cry_Golem::
.incbin "sound/direct_sound_samples/cry_golem.bin"
.align 2
-Cry_Ponyta:: @ 855D3BC
+Cry_Ponyta::
.incbin "sound/direct_sound_samples/cry_ponyta.bin"
.align 2
-Cry_Rapidash:: @ 855E2CC
+Cry_Rapidash::
.incbin "sound/direct_sound_samples/cry_rapidash.bin"
.align 2
-Cry_Slowpoke:: @ 855F56C
+Cry_Slowpoke::
.incbin "sound/direct_sound_samples/cry_slowpoke.bin"
.align 2
-Cry_Slowbro:: @ 855FCD4
+Cry_Slowbro::
.incbin "sound/direct_sound_samples/cry_slowbro.bin"
.align 2
-Cry_Magnemite:: @ 8560A44
+Cry_Magnemite::
.incbin "sound/direct_sound_samples/cry_magnemite.bin"
.align 2
-Cry_Magneton:: @ 8561D88
+Cry_Magneton::
.incbin "sound/direct_sound_samples/cry_magneton.bin"
.align 2
-Cry_Farfetchd:: @ 8563570
+Cry_Farfetchd::
.incbin "sound/direct_sound_samples/cry_farfetchd.bin"
.align 2
-Cry_Doduo:: @ 8563CEC
+Cry_Doduo::
.incbin "sound/direct_sound_samples/cry_doduo.bin"
.align 2
-Cry_Dodrio:: @ 8565030
+Cry_Dodrio::
.incbin "sound/direct_sound_samples/cry_dodrio.bin"
.align 2
-Cry_Seel:: @ 85663A8
+Cry_Seel::
.incbin "sound/direct_sound_samples/cry_seel.bin"
.align 2
-Cry_Dewgong:: @ 8567598
+Cry_Dewgong::
.incbin "sound/direct_sound_samples/cry_dewgong.bin"
.align 2
-Cry_Grimer:: @ 8568ABC
+Cry_Grimer::
.incbin "sound/direct_sound_samples/cry_grimer.bin"
.align 2
-Cry_Muk:: @ 8569544
+Cry_Muk::
.incbin "sound/direct_sound_samples/cry_muk.bin"
.align 2
-Cry_Shellder:: @ 856A404
+Cry_Shellder::
.incbin "sound/direct_sound_samples/cry_shellder.bin"
.align 2
-Cry_Cloyster:: @ 856B378
+Cry_Cloyster::
.incbin "sound/direct_sound_samples/cry_cloyster.bin"
.align 2
-Cry_Gastly:: @ 856C83C
+Cry_Gastly::
.incbin "sound/direct_sound_samples/cry_gastly.bin"
.align 2
-Cry_Haunter:: @ 856DF8C
+Cry_Haunter::
.incbin "sound/direct_sound_samples/cry_haunter.bin"
.align 2
-Cry_Gengar:: @ 856F70C
+Cry_Gengar::
.incbin "sound/direct_sound_samples/cry_gengar.bin"
.align 2
-Cry_Onix:: @ 85705CC
+Cry_Onix::
.incbin "sound/direct_sound_samples/cry_onix.bin"
.align 2
-Cry_Drowzee:: @ 8571E90
+Cry_Drowzee::
.incbin "sound/direct_sound_samples/cry_drowzee.bin"
.align 2
-Cry_Hypno:: @ 8573BA8
+Cry_Hypno::
.incbin "sound/direct_sound_samples/cry_hypno.bin"
.align 2
-Cry_Krabby:: @ 85758AC
+Cry_Krabby::
.incbin "sound/direct_sound_samples/cry_krabby.bin"
.align 2
-Cry_Kingler:: @ 85770F8
+Cry_Kingler::
.incbin "sound/direct_sound_samples/cry_kingler.bin"
.align 2
-Cry_Voltorb:: @ 8578950
+Cry_Voltorb::
.incbin "sound/direct_sound_samples/cry_voltorb.bin"
.align 2
-Cry_Electrode:: @ 857A214
+Cry_Electrode::
.incbin "sound/direct_sound_samples/cry_electrode.bin"
.align 2
-Cry_Exeggcute:: @ 857BB4C
+Cry_Exeggcute::
.incbin "sound/direct_sound_samples/cry_exeggcute.bin"
.align 2
-Cry_Exeggutor:: @ 857CE2C
+Cry_Exeggutor::
.incbin "sound/direct_sound_samples/cry_exeggutor.bin"
.align 2
-Cry_Cubone:: @ 857EE10
+Cry_Cubone::
.incbin "sound/direct_sound_samples/cry_cubone.bin"
.align 2
-Cry_Marowak:: @ 857FD30
+Cry_Marowak::
.incbin "sound/direct_sound_samples/cry_marowak.bin"
.align 2
-Cry_Hitmonlee:: @ 8580BA0
+Cry_Hitmonlee::
.incbin "sound/direct_sound_samples/cry_hitmonlee.bin"
.align 2
-Cry_Hitmonchan:: @ 8581E4C
+Cry_Hitmonchan::
.incbin "sound/direct_sound_samples/cry_hitmonchan.bin"
.align 2
-Cry_Lickitung:: @ 8583024
+Cry_Lickitung::
.incbin "sound/direct_sound_samples/cry_lickitung.bin"
.align 2
-Cry_Koffing:: @ 8583F4C
+Cry_Koffing::
.incbin "sound/direct_sound_samples/cry_koffing.bin"
.align 2
-Cry_Weezing:: @ 85853A8
+Cry_Weezing::
.incbin "sound/direct_sound_samples/cry_weezing.bin"
.align 2
-Cry_Rhyhorn:: @ 8586954
+Cry_Rhyhorn::
.incbin "sound/direct_sound_samples/cry_rhyhorn.bin"
.align 2
-Cry_Rhydon:: @ 8587CC0
+Cry_Rhydon::
.incbin "sound/direct_sound_samples/cry_rhydon.bin"
.align 2
-Cry_Chansey:: @ 858912C
+Cry_Chansey::
.incbin "sound/direct_sound_samples/cry_chansey.bin"
.align 2
-Cry_Tangela:: @ 8589FF8
+Cry_Tangela::
.incbin "sound/direct_sound_samples/cry_tangela.bin"
.align 2
-Cry_Kangaskhan:: @ 858AF14
+Cry_Kangaskhan::
.incbin "sound/direct_sound_samples/cry_kangaskhan.bin"
.align 2
-Cry_Horsea:: @ 858C1C8
+Cry_Horsea::
.incbin "sound/direct_sound_samples/cry_horsea.bin"
.align 2
-Cry_Seadra:: @ 858CB44
+Cry_Seadra::
.incbin "sound/direct_sound_samples/cry_seadra.bin"
.align 2
-Cry_Goldeen:: @ 858D3B0
+Cry_Goldeen::
.incbin "sound/direct_sound_samples/cry_goldeen.bin"
.align 2
-Cry_Seaking:: @ 858DD88
+Cry_Seaking::
.incbin "sound/direct_sound_samples/cry_seaking.bin"
.align 2
-Cry_Staryu:: @ 858F0E0
+Cry_Staryu::
.incbin "sound/direct_sound_samples/cry_staryu.bin"
.align 2
-Cry_Starmie:: @ 85904C8
+Cry_Starmie::
.incbin "sound/direct_sound_samples/cry_starmie.bin"
.align 2
-Cry_MrMime:: @ 85919A4
+Cry_MrMime::
.incbin "sound/direct_sound_samples/cry_mr_mime.bin"
.align 2
-Cry_Scyther:: @ 8592C94
+Cry_Scyther::
.incbin "sound/direct_sound_samples/cry_scyther.bin"
.align 2
-Cry_Jynx:: @ 85939F0
+Cry_Jynx::
.incbin "sound/direct_sound_samples/cry_jynx.bin"
.align 2
-Cry_Electabuzz:: @ 8596964
+Cry_Electabuzz::
.incbin "sound/direct_sound_samples/cry_electabuzz.bin"
.align 2
-Cry_Magmar:: @ 8598848
+Cry_Magmar::
.incbin "sound/direct_sound_samples/cry_magmar.bin"
.align 2
-Cry_Pinsir:: @ 85997C4
+Cry_Pinsir::
.incbin "sound/direct_sound_samples/cry_pinsir.bin"
.align 2
-Cry_Tauros:: @ 859A420
+Cry_Tauros::
.incbin "sound/direct_sound_samples/cry_tauros.bin"
.align 2
-Cry_Magikarp:: @ 859B674
+Cry_Magikarp::
.incbin "sound/direct_sound_samples/cry_magikarp.bin"
.align 2
-Cry_Gyarados:: @ 859C97C
+Cry_Gyarados::
.incbin "sound/direct_sound_samples/cry_gyarados.bin"
.align 2
-Cry_Lapras:: @ 859DDB0
+Cry_Lapras::
.incbin "sound/direct_sound_samples/cry_lapras.bin"
.align 2
-Cry_Ditto:: @ 859EC84
+Cry_Ditto::
.incbin "sound/direct_sound_samples/cry_ditto.bin"
.align 2
-Cry_Eevee:: @ 859F7A0
+Cry_Eevee::
.incbin "sound/direct_sound_samples/cry_eevee.bin"
.align 2
-Cry_Vaporeon:: @ 85A05D8
+Cry_Vaporeon::
.incbin "sound/direct_sound_samples/cry_vaporeon.bin"
.align 2
-Cry_Jolteon:: @ 85A1BF0
+Cry_Jolteon::
.incbin "sound/direct_sound_samples/cry_jolteon.bin"
.align 2
-Cry_Flareon:: @ 85A2BC4
+Cry_Flareon::
.incbin "sound/direct_sound_samples/cry_flareon.bin"
.align 2
-Cry_Porygon:: @ 85A3B48
+Cry_Porygon::
.incbin "sound/direct_sound_samples/cry_porygon.bin"
.align 2
-Cry_Omanyte:: @ 85A4F54
+Cry_Omanyte::
.incbin "sound/direct_sound_samples/cry_omanyte.bin"
.align 2
-Cry_Omastar:: @ 85A5CAC
+Cry_Omastar::
.incbin "sound/direct_sound_samples/cry_omastar.bin"
.align 2
-Cry_Kabuto:: @ 85A6A00
+Cry_Kabuto::
.incbin "sound/direct_sound_samples/cry_kabuto.bin"
.align 2
-Cry_Kabutops:: @ 85A7654
+Cry_Kabutops::
.incbin "sound/direct_sound_samples/cry_kabutops.bin"
.align 2
-Cry_Aerodactyl:: @ 85A8410
+Cry_Aerodactyl::
.incbin "sound/direct_sound_samples/cry_aerodactyl.bin"
.align 2
-Cry_Snorlax:: @ 85A9C6C
+Cry_Snorlax::
.incbin "sound/direct_sound_samples/cry_snorlax.bin"
.align 2
-Cry_Articuno:: @ 85AA1A8
+Cry_Articuno::
.incbin "sound/direct_sound_samples/cry_articuno.bin"
.align 2
-Cry_Zapdos:: @ 85AB950
+Cry_Zapdos::
.incbin "sound/direct_sound_samples/cry_zapdos.bin"
.align 2
-Cry_Moltres:: @ 85AC8C8
+Cry_Moltres::
.incbin "sound/direct_sound_samples/cry_moltres.bin"
.align 2
-Cry_Dratini:: @ 85AE074
+Cry_Dratini::
.incbin "sound/direct_sound_samples/cry_dratini.bin"
.align 2
-Cry_Dragonair:: @ 85AEC10
+Cry_Dragonair::
.incbin "sound/direct_sound_samples/cry_dragonair.bin"
.align 2
-Cry_Dragonite:: @ 85AFCB8
+Cry_Dragonite::
.incbin "sound/direct_sound_samples/cry_dragonite.bin"
.align 2
-Cry_Mewtwo:: @ 85B0FC4
+Cry_Mewtwo::
.incbin "sound/direct_sound_samples/cry_mewtwo.bin"
.align 2
-Cry_Mew:: @ 85B2E2C
+Cry_Mew::
.incbin "sound/direct_sound_samples/cry_mew.bin"
.align 2
-Cry_Chikorita:: @ 85B4C94
+Cry_Chikorita::
.incbin "sound/direct_sound_samples/cry_chikorita.bin"
.align 2
-Cry_Bayleef:: @ 85B51D4
+Cry_Bayleef::
.incbin "sound/direct_sound_samples/cry_bayleef.bin"
.align 2
-Cry_Meganium:: @ 85B5AA0
+Cry_Meganium::
.incbin "sound/direct_sound_samples/cry_meganium.bin"
.align 2
-Cry_Cyndaquil:: @ 85B6AD8
+Cry_Cyndaquil::
.incbin "sound/direct_sound_samples/cry_cyndaquil.bin"
.align 2
-Cry_Quilava:: @ 85B71DC
+Cry_Quilava::
.incbin "sound/direct_sound_samples/cry_quilava.bin"
.align 2
-Cry_Typhlosion:: @ 85B7DC4
+Cry_Typhlosion::
.incbin "sound/direct_sound_samples/cry_typhlosion.bin"
.align 2
-Cry_Totodile:: @ 85BA3D4
+Cry_Totodile::
.incbin "sound/direct_sound_samples/cry_totodile.bin"
.align 2
-Cry_Croconaw:: @ 85BB62C
+Cry_Croconaw::
.incbin "sound/direct_sound_samples/cry_croconaw.bin"
.align 2
-Cry_Feraligatr:: @ 85BCA68
+Cry_Feraligatr::
.incbin "sound/direct_sound_samples/cry_feraligatr.bin"
.align 2
-Cry_Sentret:: @ 85BE3EC
+Cry_Sentret::
.incbin "sound/direct_sound_samples/cry_sentret.bin"
.align 2
-Cry_Furret:: @ 85BE814
+Cry_Furret::
.incbin "sound/direct_sound_samples/cry_furret.bin"
.align 2
-Cry_Hoothoot:: @ 85BEE5C
+Cry_Hoothoot::
.incbin "sound/direct_sound_samples/cry_hoothoot.bin"
.align 2
-Cry_Noctowl:: @ 85BF940
+Cry_Noctowl::
.incbin "sound/direct_sound_samples/cry_noctowl.bin"
.align 2
-Cry_Ledyba:: @ 85C0E70
+Cry_Ledyba::
.incbin "sound/direct_sound_samples/cry_ledyba.bin"
.align 2
-Cry_Ledian:: @ 85C1568
+Cry_Ledian::
.incbin "sound/direct_sound_samples/cry_ledian.bin"
.align 2
-Cry_Spinarak:: @ 85C1DCC
+Cry_Spinarak::
.incbin "sound/direct_sound_samples/cry_spinarak.bin"
.align 2
-Cry_Ariados:: @ 85C2B30
+Cry_Ariados::
.incbin "sound/direct_sound_samples/cry_ariados.bin"
.align 2
-Cry_Crobat:: @ 85C3784
+Cry_Crobat::
.incbin "sound/direct_sound_samples/cry_crobat.bin"
.align 2
-Cry_Chinchou:: @ 85C4EB4
+Cry_Chinchou::
.incbin "sound/direct_sound_samples/cry_chinchou.bin"
.align 2
-Cry_Lanturn:: @ 85C5B64
+Cry_Lanturn::
.incbin "sound/direct_sound_samples/cry_lanturn.bin"
.align 2
-Cry_Pichu:: @ 85C65F0
+Cry_Pichu::
.incbin "sound/direct_sound_samples/cry_pichu.bin"
.align 2
-Cry_Cleffa:: @ 85C6D44
+Cry_Cleffa::
.incbin "sound/direct_sound_samples/cry_cleffa.bin"
.align 2
-Cry_Igglybuff:: @ 85C7334
+Cry_Igglybuff::
.incbin "sound/direct_sound_samples/cry_igglybuff.bin"
.align 2
-Cry_Togepi:: @ 85C7A30
+Cry_Togepi::
.incbin "sound/direct_sound_samples/cry_togepi.bin"
.align 2
-Cry_Togetic:: @ 85C8518
+Cry_Togetic::
.incbin "sound/direct_sound_samples/cry_togetic.bin"
.align 2
-Cry_Natu:: @ 85C8C18
+Cry_Natu::
.incbin "sound/direct_sound_samples/cry_natu.bin"
.align 2
-Cry_Xatu:: @ 85C96A8
+Cry_Xatu::
.incbin "sound/direct_sound_samples/cry_xatu.bin"
.align 2
-Cry_Mareep:: @ 85CA574
+Cry_Mareep::
.incbin "sound/direct_sound_samples/cry_mareep.bin"
.align 2
-Cry_Flaaffy:: @ 85CACCC
+Cry_Flaaffy::
.incbin "sound/direct_sound_samples/cry_flaaffy.bin"
.align 2
-Cry_Ampharos:: @ 85CBA80
+Cry_Ampharos::
.incbin "sound/direct_sound_samples/cry_ampharos.bin"
.align 2
-Cry_Bellossom:: @ 85CCB00
+Cry_Bellossom::
.incbin "sound/direct_sound_samples/cry_bellossom.bin"
.align 2
-Cry_Marill:: @ 85CD918
+Cry_Marill::
.incbin "sound/direct_sound_samples/cry_marill.bin"
.align 2
-Cry_Azumarill:: @ 85CE62C
+Cry_Azumarill::
.incbin "sound/direct_sound_samples/cry_azumarill.bin"
.align 2
-Cry_Sudowoodo:: @ 85CF718
+Cry_Sudowoodo::
.incbin "sound/direct_sound_samples/cry_sudowoodo.bin"
.align 2
-Cry_Politoed:: @ 85D0748
+Cry_Politoed::
.incbin "sound/direct_sound_samples/cry_politoed.bin"
.align 2
-Cry_Hoppip:: @ 85D198C
+Cry_Hoppip::
.incbin "sound/direct_sound_samples/cry_hoppip.bin"
.align 2
-Cry_Skiploom:: @ 85D21F8
+Cry_Skiploom::
.incbin "sound/direct_sound_samples/cry_skiploom.bin"
.align 2
-Cry_Jumpluff:: @ 85D2F00
+Cry_Jumpluff::
.incbin "sound/direct_sound_samples/cry_jumpluff.bin"
.align 2
-Cry_Aipom:: @ 85D3F3C
+Cry_Aipom::
.incbin "sound/direct_sound_samples/cry_aipom.bin"
.align 2
-Cry_Sunkern:: @ 85D4D5C
+Cry_Sunkern::
.incbin "sound/direct_sound_samples/cry_sunkern.bin"
.align 2
-Cry_Sunflora:: @ 85D5570
+Cry_Sunflora::
.incbin "sound/direct_sound_samples/cry_sunflora.bin"
.align 2
-Cry_Yanma:: @ 85D6550
+Cry_Yanma::
.incbin "sound/direct_sound_samples/cry_yanma.bin"
.align 2
-Cry_Wooper:: @ 85D7658
+Cry_Wooper::
.incbin "sound/direct_sound_samples/cry_wooper.bin"
.align 2
-Cry_Quagsire:: @ 85D7DB8
+Cry_Quagsire::
.incbin "sound/direct_sound_samples/cry_quagsire.bin"
.align 2
-Cry_Espeon:: @ 85D8B18
+Cry_Espeon::
.incbin "sound/direct_sound_samples/cry_espeon.bin"
.align 2
-Cry_Umbreon:: @ 85D9ECC
+Cry_Umbreon::
.incbin "sound/direct_sound_samples/cry_umbreon.bin"
.align 2
-Cry_Murkrow:: @ 85DAE4C
+Cry_Murkrow::
.incbin "sound/direct_sound_samples/cry_murkrow.bin"
.align 2
-Cry_Slowking:: @ 85DBF10
+Cry_Slowking::
.incbin "sound/direct_sound_samples/cry_slowking.bin"
.align 2
-Cry_Misdreavus:: @ 85DD6F4
+Cry_Misdreavus::
.incbin "sound/direct_sound_samples/cry_misdreavus.bin"
.align 2
-Cry_Unown:: @ 85DE294
+Cry_Unown::
.incbin "sound/direct_sound_samples/cry_unown.bin"
.align 2
-Cry_Wobbuffet:: @ 85DEFBC
+Cry_Wobbuffet::
.incbin "sound/direct_sound_samples/cry_wobbuffet.bin"
.align 2
-Cry_Girafarig:: @ 85E0458
+Cry_Girafarig::
.incbin "sound/direct_sound_samples/cry_girafarig.bin"
.align 2
-Cry_Pineco:: @ 85E130C
+Cry_Pineco::
.incbin "sound/direct_sound_samples/cry_pineco.bin"
.align 2
-Cry_Forretress:: @ 85E206C
+Cry_Forretress::
.incbin "sound/direct_sound_samples/cry_forretress.bin"
.align 2
-Cry_Dunsparce:: @ 85E3474
+Cry_Dunsparce::
.incbin "sound/direct_sound_samples/cry_dunsparce.bin"
.align 2
-Cry_Gligar:: @ 85E4454
+Cry_Gligar::
.incbin "sound/direct_sound_samples/cry_gligar.bin"
.align 2
-Cry_Steelix:: @ 85E5074
+Cry_Steelix::
.incbin "sound/direct_sound_samples/cry_steelix.bin"
.align 2
-Cry_Snubbull:: @ 85E769C
+Cry_Snubbull::
.incbin "sound/direct_sound_samples/cry_snubbull.bin"
.align 2
-Cry_Granbull:: @ 85E8510
+Cry_Granbull::
.incbin "sound/direct_sound_samples/cry_granbull.bin"
.align 2
-Cry_Qwilfish:: @ 85E9CB4
+Cry_Qwilfish::
.incbin "sound/direct_sound_samples/cry_qwilfish.bin"
.align 2
-Cry_Scizor:: @ 85EA850
+Cry_Scizor::
.incbin "sound/direct_sound_samples/cry_scizor.bin"
.align 2
-Cry_Shuckle:: @ 85EBF4C
+Cry_Shuckle::
.incbin "sound/direct_sound_samples/cry_shuckle.bin"
.align 2
-Cry_Heracross:: @ 85EC980
+Cry_Heracross::
.incbin "sound/direct_sound_samples/cry_heracross.bin"
.align 2
-Cry_Sneasel:: @ 85EDBD4
+Cry_Sneasel::
.incbin "sound/direct_sound_samples/cry_sneasel.bin"
.align 2
-Cry_Teddiursa:: @ 85EE4F8
+Cry_Teddiursa::
.incbin "sound/direct_sound_samples/cry_teddiursa.bin"
.align 2
-Cry_Ursaring:: @ 85EF584
+Cry_Ursaring::
.incbin "sound/direct_sound_samples/cry_ursaring.bin"
.align 2
-Cry_Slugma:: @ 85F135C
+Cry_Slugma::
.incbin "sound/direct_sound_samples/cry_slugma.bin"
.align 2
-Cry_Magcargo:: @ 85F2474
+Cry_Magcargo::
.incbin "sound/direct_sound_samples/cry_magcargo.bin"
.align 2
-Cry_Swinub:: @ 85F397C
+Cry_Swinub::
.incbin "sound/direct_sound_samples/cry_swinub.bin"
.align 2
-Cry_Piloswine:: @ 85F4624
+Cry_Piloswine::
.incbin "sound/direct_sound_samples/cry_piloswine.bin"
.align 2
-Cry_Corsola:: @ 85F5318
+Cry_Corsola::
.incbin "sound/direct_sound_samples/cry_corsola.bin"
.align 2
-Cry_Remoraid:: @ 85F5FF8
+Cry_Remoraid::
.incbin "sound/direct_sound_samples/cry_remoraid.bin"
.align 2
-Cry_Octillery:: @ 85F6A88
+Cry_Octillery::
.incbin "sound/direct_sound_samples/cry_octillery.bin"
.align 2
-Cry_Delibird:: @ 85F84CC
+Cry_Delibird::
.incbin "sound/direct_sound_samples/cry_delibird.bin"
.align 2
-Cry_Mantine:: @ 85F9500
+Cry_Mantine::
.incbin "sound/direct_sound_samples/cry_mantine.bin"
.align 2
-Cry_Skarmory:: @ 85FA4C8
+Cry_Skarmory::
.incbin "sound/direct_sound_samples/cry_skarmory.bin"
.align 2
-Cry_Houndour:: @ 85FBCD0
+Cry_Houndour::
.incbin "sound/direct_sound_samples/cry_houndour.bin"
.align 2
-Cry_Houndoom:: @ 85FC978
+Cry_Houndoom::
.incbin "sound/direct_sound_samples/cry_houndoom.bin"
.align 2
-Cry_Kingdra:: @ 85FDD28
+Cry_Kingdra::
.incbin "sound/direct_sound_samples/cry_kingdra.bin"
.align 2
-Cry_Phanpy:: @ 85FEB00
+Cry_Phanpy::
.incbin "sound/direct_sound_samples/cry_phanpy.bin"
.align 2
-Cry_Donphan:: @ 85FF650
+Cry_Donphan::
.incbin "sound/direct_sound_samples/cry_donphan.bin"
.align 2
-Cry_Porygon2:: @ 8600774
+Cry_Porygon2::
.incbin "sound/direct_sound_samples/cry_porygon2.bin"
.align 2
-Cry_Stantler:: @ 860172C
+Cry_Stantler::
.incbin "sound/direct_sound_samples/cry_stantler.bin"
.align 2
-Cry_Smeargle:: @ 8602DA8
+Cry_Smeargle::
.incbin "sound/direct_sound_samples/cry_smeargle.bin"
.align 2
-Cry_Tyrogue:: @ 86037DC
+Cry_Tyrogue::
.incbin "sound/direct_sound_samples/cry_tyrogue.bin"
.align 2
-Cry_Hitmontop:: @ 8604804
+Cry_Hitmontop::
.incbin "sound/direct_sound_samples/cry_hitmontop.bin"
.align 2
-Cry_Smoochum:: @ 86055E4
+Cry_Smoochum::
.incbin "sound/direct_sound_samples/cry_smoochum.bin"
.align 2
-Cry_Elekid:: @ 8606198
+Cry_Elekid::
.incbin "sound/direct_sound_samples/cry_elekid.bin"
.align 2
-Cry_Magby:: @ 8606C24
+Cry_Magby::
.incbin "sound/direct_sound_samples/cry_magby.bin"
.align 2
-Cry_Miltank:: @ 8607A94
+Cry_Miltank::
.incbin "sound/direct_sound_samples/cry_miltank.bin"
.align 2
-Cry_Blissey:: @ 8608970
+Cry_Blissey::
.incbin "sound/direct_sound_samples/cry_blissey.bin"
.align 2
-Cry_Raikou:: @ 8609A04
+Cry_Raikou::
.incbin "sound/direct_sound_samples/cry_raikou.bin"
.align 2
-Cry_Entei:: @ 860AB74
+Cry_Entei::
.incbin "sound/direct_sound_samples/cry_entei.bin"
.align 2
-Cry_Suicune:: @ 860BFE8
+Cry_Suicune::
.incbin "sound/direct_sound_samples/cry_suicune.bin"
.align 2
-Cry_Larvitar:: @ 860D230
+Cry_Larvitar::
.incbin "sound/direct_sound_samples/cry_larvitar.bin"
.align 2
-Cry_Pupitar:: @ 860DEE0
+Cry_Pupitar::
.incbin "sound/direct_sound_samples/cry_pupitar.bin"
.align 2
-Cry_Tyranitar:: @ 860E750
+Cry_Tyranitar::
.incbin "sound/direct_sound_samples/cry_tyranitar.bin"
.align 2
-Cry_Lugia:: @ 860FEB0
+Cry_Lugia::
.incbin "sound/direct_sound_samples/cry_lugia.bin"
.align 2
-Cry_HoOh:: @ 86124A8
+Cry_HoOh::
.incbin "sound/direct_sound_samples/cry_ho_oh.bin"
.align 2
-Cry_Celebi:: @ 8613B3C
+Cry_Celebi::
.incbin "sound/direct_sound_samples/cry_celebi.bin"
.align 2
-Cry_Kecleon:: @ 86149B4
+Cry_Kecleon::
.incbin "sound/direct_sound_samples/cry_kecleon.bin"
.align 2
-Cry_Roselia:: @ 8615214
+Cry_Roselia::
.incbin "sound/direct_sound_samples/cry_roselia.bin"
.align 2
-Cry_Torkoal:: @ 8615CD4
+Cry_Torkoal::
.incbin "sound/direct_sound_samples/cry_torkoal.bin"
.align 2
-Cry_Electrike:: @ 8616620
+Cry_Electrike::
.incbin "sound/direct_sound_samples/cry_electrike.bin"
.align 2
-Cry_Manectric:: @ 861727C
+Cry_Manectric::
.incbin "sound/direct_sound_samples/cry_manectric.bin"
.align 2
-Cry_Duskull:: @ 8618784
+Cry_Duskull::
.incbin "sound/direct_sound_samples/cry_duskull.bin"
.align 2
-Cry_Latias:: @ 861921C
+Cry_Latias::
.incbin "sound/direct_sound_samples/cry_latias.bin"
.align 2
-Cry_Wynaut:: @ 8619E4C
+Cry_Wynaut::
.incbin "sound/direct_sound_samples/cry_wynaut.bin"
.align 2
-Cry_Seviper:: @ 861AC2C
+Cry_Seviper::
.incbin "sound/direct_sound_samples/cry_seviper.bin"
.align 2
-Cry_Sharpedo:: @ 861B7CC
+Cry_Sharpedo::
.incbin "sound/direct_sound_samples/cry_sharpedo.bin"
.align 2
-Cry_Zangoose:: @ 861CED8
+Cry_Zangoose::
.incbin "sound/direct_sound_samples/cry_zangoose.bin"
.align 2
-Cry_Azurill:: @ 861D868
+Cry_Azurill::
.incbin "sound/direct_sound_samples/cry_azurill.bin"
.align 2
-Cry_Swablu:: @ 861E2D0
+Cry_Swablu::
.incbin "sound/direct_sound_samples/cry_swablu.bin"
.align 2
-Cry_Altaria:: @ 861E868
+Cry_Altaria::
.incbin "sound/direct_sound_samples/cry_altaria.bin"
.align 2
-Cry_Unused265:: @ 861F384
+Cry_Unused265::
.incbin "sound/direct_sound_samples/cry_unused_265.bin"
.align 2
-Cry_Taillow:: @ 861FCD8
+Cry_Taillow::
.incbin "sound/direct_sound_samples/cry_taillow.bin"
.align 2
-Cry_Swellow:: @ 86202D8
+Cry_Swellow::
.incbin "sound/direct_sound_samples/cry_swellow.bin"
.align 2
-Cry_Unused268:: @ 8620BDC
+Cry_Unused268::
.incbin "sound/direct_sound_samples/cry_unused_268.bin"
.align 2
-Cry_Spinda:: @ 8621D8C
+Cry_Spinda::
.incbin "sound/direct_sound_samples/cry_spinda.bin"
.align 2
-Cry_Torchic:: @ 86229F8
+Cry_Torchic::
.incbin "sound/direct_sound_samples/cry_torchic.bin"
.align 2
-Cry_Combusken:: @ 86233A0
+Cry_Combusken::
.incbin "sound/direct_sound_samples/cry_combusken.bin"
.align 2
-Cry_Blaziken:: @ 8625074
+Cry_Blaziken::
.incbin "sound/direct_sound_samples/cry_blaziken.bin"
.align 2
-Cry_Treecko:: @ 8626FF4
+Cry_Treecko::
.incbin "sound/direct_sound_samples/cry_treecko.bin"
.align 2
-Cry_Grovyle:: @ 8627B9C
+Cry_Grovyle::
.incbin "sound/direct_sound_samples/cry_grovyle.bin"
.align 2
-Cry_Sceptile:: @ 8629010
+Cry_Sceptile::
.incbin "sound/direct_sound_samples/cry_sceptile.bin"
.align 2
-Cry_Mudkip:: @ 862AA2C
+Cry_Mudkip::
.incbin "sound/direct_sound_samples/cry_mudkip.bin"
.align 2
-Cry_Marshtomp:: @ 862B1B0
+Cry_Marshtomp::
.incbin "sound/direct_sound_samples/cry_marshtomp.bin"
.align 2
-Cry_Swampert:: @ 862C2B4
+Cry_Swampert::
.incbin "sound/direct_sound_samples/cry_swampert.bin"
.align 2
-Cry_Pelipper:: @ 862D934
+Cry_Pelipper::
.incbin "sound/direct_sound_samples/cry_pelipper.bin"
.align 2
-Cry_Wingull:: @ 862E4FC
+Cry_Wingull::
.incbin "sound/direct_sound_samples/cry_wingull.bin"
.align 2
-Cry_Banette:: @ 862F13C
+Cry_Banette::
.incbin "sound/direct_sound_samples/cry_banette.bin"
.align 2
-Cry_Shuppet:: @ 862FDE4
+Cry_Shuppet::
.incbin "sound/direct_sound_samples/cry_shuppet.bin"
.align 2
-Cry_Lotad:: @ 8630624
+Cry_Lotad::
.incbin "sound/direct_sound_samples/cry_lotad.bin"
.align 2
-Cry_Lombre:: @ 8630A8C
+Cry_Lombre::
.incbin "sound/direct_sound_samples/cry_lombre.bin"
.align 2
-Cry_Ludicolo:: @ 8631920
+Cry_Ludicolo::
.incbin "sound/direct_sound_samples/cry_ludicolo.bin"
.align 2
-Cry_Seedot:: @ 86329F0
+Cry_Seedot::
.incbin "sound/direct_sound_samples/cry_seedot.bin"
.align 2
-Cry_Nuzleaf:: @ 863321C
+Cry_Nuzleaf::
.incbin "sound/direct_sound_samples/cry_nuzleaf.bin"
.align 2
-Cry_Shiftry:: @ 8633D84
+Cry_Shiftry::
.incbin "sound/direct_sound_samples/cry_shiftry.bin"
.align 2
-Cry_Carvanha:: @ 8635148
+Cry_Carvanha::
.incbin "sound/direct_sound_samples/cry_carvanha.bin"
.align 2
-Cry_Wurmple:: @ 8635B5C
+Cry_Wurmple::
.incbin "sound/direct_sound_samples/cry_wurmple.bin"
.align 2
-Cry_Silcoon:: @ 8636428
+Cry_Silcoon::
.incbin "sound/direct_sound_samples/cry_silcoon.bin"
.align 2
-Cry_Beautifly:: @ 8637454
+Cry_Beautifly::
.incbin "sound/direct_sound_samples/cry_beautifly.bin"
.align 2
-Cry_Cascoon:: @ 8637C8C
+Cry_Cascoon::
.incbin "sound/direct_sound_samples/cry_cascoon.bin"
.align 2
-Cry_Dustox:: @ 8638CD0
+Cry_Dustox::
.incbin "sound/direct_sound_samples/cry_dustox.bin"
.align 2
-Cry_Ralts:: @ 863997C
+Cry_Ralts::
.incbin "sound/direct_sound_samples/cry_ralts.bin"
.align 2
-Cry_Kirlia:: @ 863A398
+Cry_Kirlia::
.incbin "sound/direct_sound_samples/cry_kirlia.bin"
.align 2
-Cry_Gardevoir:: @ 863AFC8
+Cry_Gardevoir::
.incbin "sound/direct_sound_samples/cry_gardevoir.bin"
.align 2
-Cry_Slakoth:: @ 863C82C
+Cry_Slakoth::
.incbin "sound/direct_sound_samples/cry_slakoth.bin"
.align 2
-Cry_Vigoroth:: @ 863D0B0
+Cry_Vigoroth::
.incbin "sound/direct_sound_samples/cry_vigoroth.bin"
.align 2
-Cry_Slaking:: @ 863DF08
+Cry_Slaking::
.incbin "sound/direct_sound_samples/cry_slaking.bin"
.align 2
-Cry_Nincada:: @ 863E8F4
+Cry_Nincada::
.incbin "sound/direct_sound_samples/cry_nincada.bin"
.align 2
-Cry_Ninjask:: @ 863EF64
+Cry_Ninjask::
.incbin "sound/direct_sound_samples/cry_ninjask.bin"
.align 2
-Cry_Shedinja:: @ 863FB8C
+Cry_Shedinja::
.incbin "sound/direct_sound_samples/cry_shedinja.bin"
.align 2
-Cry_Makuhita:: @ 8640344
+Cry_Makuhita::
.incbin "sound/direct_sound_samples/cry_makuhita.bin"
.align 2
-Cry_Hariyama:: @ 8640AA0
+Cry_Hariyama::
.incbin "sound/direct_sound_samples/cry_hariyama.bin"
.align 2
-Cry_Nosepass:: @ 8641B58
+Cry_Nosepass::
.incbin "sound/direct_sound_samples/cry_nosepass.bin"
.align 2
-Cry_Glalie:: @ 86428BC
+Cry_Glalie::
.incbin "sound/direct_sound_samples/cry_glalie.bin"
.align 2
-Cry_Plusle:: @ 8643DA0
+Cry_Plusle::
.incbin "sound/direct_sound_samples/cry_plusle.bin"
.align 2
-Cry_Minun:: @ 864469C
+Cry_Minun::
.incbin "sound/direct_sound_samples/cry_minun.bin"
.align 2
-Cry_Surskit:: @ 86456A4
+Cry_Surskit::
.incbin "sound/direct_sound_samples/cry_surskit.bin"
.align 2
-Cry_Masquerain:: @ 8646124
+Cry_Masquerain::
.incbin "sound/direct_sound_samples/cry_masquerain.bin"
.align 2
-Cry_Skitty:: @ 86474D8
+Cry_Skitty::
.incbin "sound/direct_sound_samples/cry_skitty.bin"
.align 2
-Cry_Delcatty:: @ 8647BEC
+Cry_Delcatty::
.incbin "sound/direct_sound_samples/cry_delcatty.bin"
.align 2
-Cry_Gulpin:: @ 8649104
+Cry_Gulpin::
.incbin "sound/direct_sound_samples/cry_gulpin.bin"
.align 2
-Cry_Swalot:: @ 8649908
+Cry_Swalot::
.incbin "sound/direct_sound_samples/cry_swalot.bin"
.align 2
-Cry_Numel:: @ 864AA68
+Cry_Numel::
.incbin "sound/direct_sound_samples/cry_numel.bin"
.align 2
-Cry_Camerupt:: @ 864B3B4
+Cry_Camerupt::
.incbin "sound/direct_sound_samples/cry_camerupt.bin"
.align 2
-Cry_Barboach:: @ 864CAD4
+Cry_Barboach::
.incbin "sound/direct_sound_samples/cry_barboach.bin"
.align 2
-Cry_Whiscash:: @ 864D410
+Cry_Whiscash::
.incbin "sound/direct_sound_samples/cry_whiscash.bin"
.align 2
-Cry_Corphish:: @ 864E50C
+Cry_Corphish::
.incbin "sound/direct_sound_samples/cry_corphish.bin"
.align 2
-Cry_Crawdaunt:: @ 864F110
+Cry_Crawdaunt::
.incbin "sound/direct_sound_samples/cry_crawdaunt.bin"
.align 2
-Cry_Spoink:: @ 86509C8
+Cry_Spoink::
.incbin "sound/direct_sound_samples/cry_spoink.bin"
.align 2
-Cry_Grumpig:: @ 8651108
+Cry_Grumpig::
.incbin "sound/direct_sound_samples/cry_grumpig.bin"
.align 2
-Cry_Trapinch:: @ 8651DA8
+Cry_Trapinch::
.incbin "sound/direct_sound_samples/cry_trapinch.bin"
.align 2
-Cry_Vibrava:: @ 86527CC
+Cry_Vibrava::
.incbin "sound/direct_sound_samples/cry_vibrava.bin"
.align 2
-Cry_Flygon:: @ 86535D0
+Cry_Flygon::
.incbin "sound/direct_sound_samples/cry_flygon.bin"
.align 2
-Cry_Cacnea:: @ 8654FD8
+Cry_Cacnea::
.incbin "sound/direct_sound_samples/cry_cacnea.bin"
.align 2
-Cry_Cacturne:: @ 86558C8
+Cry_Cacturne::
.incbin "sound/direct_sound_samples/cry_cacturne.bin"
.align 2
-Cry_Baltoy:: @ 8656F78
+Cry_Baltoy::
.incbin "sound/direct_sound_samples/cry_baltoy.bin"
.align 2
-Cry_Claydol:: @ 8657BFC
+Cry_Claydol::
.incbin "sound/direct_sound_samples/cry_claydol.bin"
.align 2
-Cry_Lunatone:: @ 8658F5C
+Cry_Lunatone::
.incbin "sound/direct_sound_samples/cry_lunatone.bin"
.align 2
-Cry_Solrock:: @ 865A758
+Cry_Solrock::
.incbin "sound/direct_sound_samples/cry_solrock.bin"
.align 2
-Cry_Feebas:: @ 865B784
+Cry_Feebas::
.incbin "sound/direct_sound_samples/cry_feebas.bin"
.align 2
-Cry_Milotic:: @ 865BF58
+Cry_Milotic::
.incbin "sound/direct_sound_samples/cry_milotic.bin"
.align 2
-Cry_Absol:: @ 865E69C
+Cry_Absol::
.incbin "sound/direct_sound_samples/cry_absol.bin"
.align 2
-Cry_Meditite:: @ 865F118
+Cry_Meditite::
.incbin "sound/direct_sound_samples/cry_meditite.bin"
.align 2
-Cry_Medicham:: @ 865F938
+Cry_Medicham::
.incbin "sound/direct_sound_samples/cry_medicham.bin"
.align 2
-Cry_Spheal:: @ 86609BC
+Cry_Spheal::
.incbin "sound/direct_sound_samples/cry_spheal.bin"
.align 2
-Cry_Sealeo:: @ 8660F70
+Cry_Sealeo::
.incbin "sound/direct_sound_samples/cry_sealeo.bin"
.align 2
-Cry_Walrein:: @ 8661B48
+Cry_Walrein::
.incbin "sound/direct_sound_samples/cry_walrein.bin"
.align 2
-Cry_Clamperl:: @ 8663F94
+Cry_Clamperl::
.incbin "sound/direct_sound_samples/cry_clamperl.bin"
.align 2
-Cry_Huntail:: @ 86651E4
+Cry_Huntail::
.incbin "sound/direct_sound_samples/cry_huntail.bin"
.align 2
-Cry_Gorebyss:: @ 86661CC
+Cry_Gorebyss::
.incbin "sound/direct_sound_samples/cry_gorebyss.bin"
.align 2
-Cry_Lileep:: @ 8667838
+Cry_Lileep::
.incbin "sound/direct_sound_samples/cry_lileep.bin"
.align 2
-Cry_Cradily:: @ 86681E0
+Cry_Cradily::
.incbin "sound/direct_sound_samples/cry_cradily.bin"
.align 2
-Cry_Anorith:: @ 8669F10
+Cry_Anorith::
.incbin "sound/direct_sound_samples/cry_anorith.bin"
.align 2
-Cry_Armaldo:: @ 866AAC8
+Cry_Armaldo::
.incbin "sound/direct_sound_samples/cry_armaldo.bin"
.align 2
-Cry_Beldum:: @ 866C19C
+Cry_Beldum::
.incbin "sound/direct_sound_samples/cry_beldum.bin"
.align 2
-Cry_Metang:: @ 866CB3C
+Cry_Metang::
.incbin "sound/direct_sound_samples/cry_metang.bin"
.align 2
-Cry_Metagross:: @ 866DE10
+Cry_Metagross::
.incbin "sound/direct_sound_samples/cry_metagross.bin"
.align 2
-Cry_Bagon:: @ 8670588
+Cry_Bagon::
.incbin "sound/direct_sound_samples/cry_bagon.bin"
.align 2
-Cry_Shelgon:: @ 8670D5C
+Cry_Shelgon::
.incbin "sound/direct_sound_samples/cry_shelgon.bin"
.align 2
-Cry_Regirock:: @ 8672164
+Cry_Regirock::
.incbin "sound/direct_sound_samples/cry_regirock.bin"
.align 2
-Cry_Regice:: @ 8674140
+Cry_Regice::
.incbin "sound/direct_sound_samples/cry_regice.bin"
.align 2
-Cry_Registeel:: @ 8676140
+Cry_Registeel::
.incbin "sound/direct_sound_samples/cry_registeel.bin"
.align 2
-Cry_Castform:: @ 8677844
+Cry_Castform::
.incbin "sound/direct_sound_samples/cry_castform.bin"
.align 2
-Cry_Volbeat:: @ 86784DC
+Cry_Volbeat::
.incbin "sound/direct_sound_samples/cry_volbeat.bin"
.align 2
-Cry_Illumise:: @ 8679064
+Cry_Illumise::
.incbin "sound/direct_sound_samples/cry_illumise.bin"
.align 2
-Cry_Poochyena:: @ 867A17C
+Cry_Poochyena::
.incbin "sound/direct_sound_samples/cry_poochyena.bin"
.align 2
-Cry_Mightyena:: @ 867AAC4
+Cry_Mightyena::
.incbin "sound/direct_sound_samples/cry_mightyena.bin"
.align 2
-Cry_Dusclops:: @ 867BE50
+Cry_Dusclops::
.incbin "sound/direct_sound_samples/cry_dusclops.bin"
.align 2
-Cry_Sableye:: @ 867CC08
+Cry_Sableye::
.incbin "sound/direct_sound_samples/cry_sableye.bin"
.align 2
-Cry_Mawile:: @ 867D7AC
+Cry_Mawile::
.incbin "sound/direct_sound_samples/cry_mawile.bin"
.align 2
-Cry_Aron:: @ 867E32C
+Cry_Aron::
.incbin "sound/direct_sound_samples/cry_aron.bin"
.align 2
-Cry_Lairon:: @ 867EC58
+Cry_Lairon::
.incbin "sound/direct_sound_samples/cry_lairon.bin"
.align 2
-Cry_Aggron:: @ 8680130
+Cry_Aggron::
.incbin "sound/direct_sound_samples/cry_aggron.bin"
.align 2
-Cry_Relicanth:: @ 8681AD4
+Cry_Relicanth::
.incbin "sound/direct_sound_samples/cry_relicanth.bin"
.align 2
-Cry_Luvdisc:: @ 8682F04
+Cry_Luvdisc::
.incbin "sound/direct_sound_samples/cry_luvdisc.bin"
.align 2
-Cry_Groudon:: @ 86833E0
+Cry_Groudon::
.incbin "sound/direct_sound_samples/cry_groudon.bin"
.align 2
-Cry_Kyogre:: @ 86858EC
+Cry_Kyogre::
.incbin "sound/direct_sound_samples/cry_kyogre.bin"
.align 2
-Cry_Rayquaza:: @ 8687CA4
+Cry_Rayquaza::
.incbin "sound/direct_sound_samples/cry_rayquaza.bin"
.align 2
-Cry_Salamence:: @ 86899D0
+Cry_Salamence::
.incbin "sound/direct_sound_samples/cry_salamence.bin"
.align 2
-Cry_Breloom:: @ 868B2EC
+Cry_Breloom::
.incbin "sound/direct_sound_samples/cry_breloom.bin"
.align 2
-Cry_Shroomish:: @ 868BFAC
+Cry_Shroomish::
.incbin "sound/direct_sound_samples/cry_shroomish.bin"
.align 2
-Cry_Linoone:: @ 868C884
+Cry_Linoone::
.incbin "sound/direct_sound_samples/cry_linoone.bin"
.align 2
-Cry_Tropius:: @ 868E720
+Cry_Tropius::
.incbin "sound/direct_sound_samples/cry_tropius.bin"
.align 2
-Cry_Wailmer:: @ 86907E4
+Cry_Wailmer::
.incbin "sound/direct_sound_samples/cry_wailmer.bin"
.align 2
-Cry_Zigzagoon:: @ 8692444
+Cry_Zigzagoon::
.incbin "sound/direct_sound_samples/cry_zigzagoon.bin"
.align 2
-Cry_Exploud:: @ 8692FD4
+Cry_Exploud::
.incbin "sound/direct_sound_samples/cry_exploud.bin"
.align 2
-Cry_Loudred:: @ 8694C1C
+Cry_Loudred::
.incbin "sound/direct_sound_samples/cry_loudred.bin"
.align 2
-Cry_Wailord:: @ 8695944
+Cry_Wailord::
.incbin "sound/direct_sound_samples/cry_wailord.bin"
.align 2
-Cry_Whismur:: @ 8698354
+Cry_Whismur::
.incbin "sound/direct_sound_samples/cry_whismur.bin"
.align 2
-Cry_Snorunt:: @ 8698B78
+Cry_Snorunt::
.incbin "sound/direct_sound_samples/cry_snorunt.bin"
.align 2
-Cry_Latios:: @ 8699C80
+Cry_Latios::
.incbin "sound/direct_sound_samples/cry_latios.bin"
.align 2
-Cry_Jirachi:: @ 869B278
+Cry_Jirachi::
.incbin "sound/direct_sound_samples/cry_jirachi.bin"
.align 2
-Cry_Deoxys:: @ 869BFFC
+Cry_Deoxys::
.incbin "sound/direct_sound_samples/cry_deoxys.bin"
.align 2
-Cry_Chimecho:: @ 869D4D0
+Cry_Chimecho::
.incbin "sound/direct_sound_samples/cry_chimecho.bin"
- .align 2
-gDirectSoundWaveData_76:: @ 869DEE0
- .incbin "sound/direct_sound_samples/wave_76.bin"
+ .align 2
+DirectSoundWaveData_register_noise::
+ .incbin "sound/direct_sound_samples/register_noise.bin"
-gDirectSoundWaveData_77:: @ 869FE40
+ .align 2
+DirectSoundWaveData_wave_77::
.incbin "sound/direct_sound_samples/wave_77.bin"
-gDirectSoundWaveData_78:: @ 86A18E0
- .incbin "sound/direct_sound_samples/wave_78.bin"
+ .align 2
+DirectSoundWaveData_sc88_nylon_str_guitar::
+ .incbin "sound/direct_sound_samples/sc88_nylon_str_guitar.bin"
-gDirectSoundWaveData_79:: @ 86A3850
- .incbin "sound/direct_sound_samples/wave_79.bin"
+ .align 2
+DirectSoundWaveData_sd90_special_scream_drive::
+ .incbin "sound/direct_sound_samples/sd90_special_scream_drive.bin"
-gDirectSoundWaveData_80:: @ 86A5088
- .incbin "sound/direct_sound_samples/wave_80.bin"
+ .align 2
+DirectSoundWaveData_sc88_accordion_duplicate::
+ .incbin "sound/direct_sound_samples/sc88_accordion_duplicate.bin"
-gDirectSoundWaveData_81:: @ 86A6458
- .incbin "sound/direct_sound_samples/wave_81.bin"
+ .align 2
+DirectSoundWaveData_steinway_b_piano::
+ .incbin "sound/direct_sound_samples/steinway_b_piano.bin"
-gDirectSoundWaveData_82:: @ 86A761C
- .incbin "sound/direct_sound_samples/wave_82.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_overdrive_guitar::
+ .incbin "sound/direct_sound_samples/sd90_classical_overdrive_guitar.bin"
-gDirectSoundWaveData_83:: @ 86A948C
- .incbin "sound/direct_sound_samples/wave_83.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_distortion_guitar_high::
+ .incbin "sound/direct_sound_samples/sd90_classical_distortion_guitar_high.bin"
-gDirectSoundWaveData_84:: @ 86AC47C
- .incbin "sound/direct_sound_samples/wave_84.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_distortion_guitar_low::
+ .incbin "sound/direct_sound_samples/sd90_classical_distortion_guitar_low.bin"
-gDirectSoundWaveData_85:: @ 86AF0D0
- .incbin "sound/direct_sound_samples/wave_85.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_whistle::
+ .incbin "sound/direct_sound_samples/sd90_classical_whistle.bin"
-gDirectSoundWaveData_86:: @ 86AFB30
- .incbin "sound/direct_sound_samples/wave_86.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_detuned_ep1_low::
+ .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_low.bin"
-gDirectSoundWaveData_87:: @ 86B2198
- .incbin "sound/direct_sound_samples/wave_87.bin"
+ .align 2
+DirectSoundWaveData_sd90_classical_detuned_ep1_high::
+ .incbin "sound/direct_sound_samples/sd90_classical_detuned_ep1_high.bin"
-gDirectSoundWaveData_88:: @ 86B3540
- .incbin "sound/direct_sound_samples/wave_88.bin"
+ .align 2
+DirectSoundWaveData_sd90_enhanced_delay_shaku::
+ .incbin "sound/direct_sound_samples/sd90_enhanced_delay_shaku.bin"
diff --git a/sound/direct_sound_samples/wave_53.aif b/sound/direct_sound_samples/bicycle_bell.aif
index 52191fa16..52191fa16 100644
--- a/sound/direct_sound_samples/wave_53.aif
+++ b/sound/direct_sound_samples/bicycle_bell.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_6.aif b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif
index 25d766a6b..25d766a6b 100644
--- a/sound/direct_sound_samples/wave_6.aif
+++ b/sound/direct_sound_samples/classical_choir_voice_ahhs.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_26.aif b/sound/direct_sound_samples/dance_drums_ride_bell.aif
index 743451262..743451262 100644
--- a/sound/direct_sound_samples/wave_26.aif
+++ b/sound/direct_sound_samples/dance_drums_ride_bell.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_23.aif b/sound/direct_sound_samples/drum_and_percussion_kick.aif
index b82e9c208..b82e9c208 100644
--- a/sound/direct_sound_samples/wave_23.aif
+++ b/sound/direct_sound_samples/drum_and_percussion_kick.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_3.aif b/sound/direct_sound_samples/jv1080_slap_bass.aif
index b709d3aee..b709d3aee 100644
--- a/sound/direct_sound_samples/wave_3.aif
+++ b/sound/direct_sound_samples/jv1080_slap_bass.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_76.aif b/sound/direct_sound_samples/register_noise.aif
index e56c5c131..e56c5c131 100644
--- a/sound/direct_sound_samples/wave_76.aif
+++ b/sound/direct_sound_samples/register_noise.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_74.aif b/sound/direct_sound_samples/sc88_accordion.aif
index e4c024cf5..e4c024cf5 100644
--- a/sound/direct_sound_samples/wave_74.aif
+++ b/sound/direct_sound_samples/sc88_accordion.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_80.aif b/sound/direct_sound_samples/sc88_accordion_duplicate.aif
index e4c024cf5..e4c024cf5 100644
--- a/sound/direct_sound_samples/wave_80.aif
+++ b/sound/direct_sound_samples/sc88_accordion_duplicate.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_21.aif b/sound/direct_sound_samples/sc88_bongo.aif
index 2e1bf9c64..2e1bf9c64 100644
--- a/sound/direct_sound_samples/wave_21.aif
+++ b/sound/direct_sound_samples/sc88_bongo.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_22.aif b/sound/direct_sound_samples/sc88_bongo_low.aif
index 8e1cb620a..8e1cb620a 100644
--- a/sound/direct_sound_samples/wave_22.aif
+++ b/sound/direct_sound_samples/sc88_bongo_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_60.aif b/sound/direct_sound_samples/sc88_bubbles.aif
index 89872bf55..89872bf55 100644
--- a/sound/direct_sound_samples/wave_60.aif
+++ b/sound/direct_sound_samples/sc88_bubbles.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_48.aif b/sound/direct_sound_samples/sc88_flute.aif
index f32c5a71e..f32c5a71e 100644
--- a/sound/direct_sound_samples/wave_48.aif
+++ b/sound/direct_sound_samples/sc88_flute.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_46.aif b/sound/direct_sound_samples/sc88_french_horn_60.aif
index 742c4385e..742c4385e 100644
--- a/sound/direct_sound_samples/wave_46.aif
+++ b/sound/direct_sound_samples/sc88_french_horn_60.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_47.aif b/sound/direct_sound_samples/sc88_french_horn_72.aif
index b7f98929f..b7f98929f 100644
--- a/sound/direct_sound_samples/wave_47.aif
+++ b/sound/direct_sound_samples/sc88_french_horn_72.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_2.aif b/sound/direct_sound_samples/sc88_fretless_bass.aif
index 737a7200f..737a7200f 100644
--- a/sound/direct_sound_samples/wave_2.aif
+++ b/sound/direct_sound_samples/sc88_fretless_bass.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_0.aif b/sound/direct_sound_samples/sc88_glockenspiel.aif
index 22b8f1691..22b8f1691 100644
--- a/sound/direct_sound_samples/wave_0.aif
+++ b/sound/direct_sound_samples/sc88_glockenspiel.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_70.aif b/sound/direct_sound_samples/sc88_harp.aif
index 083c45e3d..083c45e3d 100644
--- a/sound/direct_sound_samples/wave_70.aif
+++ b/sound/direct_sound_samples/sc88_harp.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_78.aif b/sound/direct_sound_samples/sc88_nylon_str_guitar.aif
index c1a575c12..c1a575c12 100644
--- a/sound/direct_sound_samples/wave_78.aif
+++ b/sound/direct_sound_samples/sc88_nylon_str_guitar.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_20.aif b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif
index 56286e494..56286e494 100644
--- a/sound/direct_sound_samples/wave_20.aif
+++ b/sound/direct_sound_samples/sc88_orchestra_cymbal_crash.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_17.aif b/sound/direct_sound_samples/sc88_orchestra_snare.aif
index 3b30d894c..3b30d894c 100644
--- a/sound/direct_sound_samples/wave_17.aif
+++ b/sound/direct_sound_samples/sc88_orchestra_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_1.aif b/sound/direct_sound_samples/sc88_organ2.aif
index 6372bbc32..6372bbc32 100644
--- a/sound/direct_sound_samples/wave_1.aif
+++ b/sound/direct_sound_samples/sc88_organ2.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_34.aif b/sound/direct_sound_samples/sc88_piano1_48.aif
index dd30ae441..dd30ae441 100644
--- a/sound/direct_sound_samples/wave_34.aif
+++ b/sound/direct_sound_samples/sc88_piano1_48.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_35.aif b/sound/direct_sound_samples/sc88_piano1_60.aif
index df4773522..df4773522 100644
--- a/sound/direct_sound_samples/wave_35.aif
+++ b/sound/direct_sound_samples/sc88_piano1_60.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_36.aif b/sound/direct_sound_samples/sc88_piano1_72.aif
index 81ebda139..81ebda139 100644
--- a/sound/direct_sound_samples/wave_36.aif
+++ b/sound/direct_sound_samples/sc88_piano1_72.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_37.aif b/sound/direct_sound_samples/sc88_piano1_84.aif
index 8ec870f7b..8ec870f7b 100644
--- a/sound/direct_sound_samples/wave_37.aif
+++ b/sound/direct_sound_samples/sc88_piano1_84.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_49.aif b/sound/direct_sound_samples/sc88_pick_bass.aif
index ee52f958a..ee52f958a 100644
--- a/sound/direct_sound_samples/wave_49.aif
+++ b/sound/direct_sound_samples/sc88_pick_bass.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_55.aif b/sound/direct_sound_samples/sc88_pizzicato_strings.aif
index c30d477ee..c30d477ee 100644
--- a/sound/direct_sound_samples/wave_55.aif
+++ b/sound/direct_sound_samples/sc88_pizzicato_strings.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_52.aif b/sound/direct_sound_samples/sc88_square_wave.aif
index 09e17f0ca..09e17f0ca 100644
--- a/sound/direct_sound_samples/wave_52.aif
+++ b/sound/direct_sound_samples/sc88_square_wave.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_15.aif b/sound/direct_sound_samples/sc88_standard3_snare.aif
index 115ebd3f8..115ebd3f8 100644
--- a/sound/direct_sound_samples/wave_15.aif
+++ b/sound/direct_sound_samples/sc88_standard3_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_30.aif b/sound/direct_sound_samples/sc88_standard_bells.aif
index 6d8330b86..6d8330b86 100644
--- a/sound/direct_sound_samples/wave_30.aif
+++ b/sound/direct_sound_samples/sc88_standard_bells.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_16.aif b/sound/direct_sound_samples/sc88_standard_hand_clap.aif
index b11787ffc..b11787ffc 100644
--- a/sound/direct_sound_samples/wave_16.aif
+++ b/sound/direct_sound_samples/sc88_standard_hand_clap.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_14.aif b/sound/direct_sound_samples/sc88_standard_kick.aif
index d3caec2bf..d3caec2bf 100644
--- a/sound/direct_sound_samples/wave_14.aif
+++ b/sound/direct_sound_samples/sc88_standard_kick.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_38.aif b/sound/direct_sound_samples/sc88_string_ensemble_60.aif
index bfaa5c196..bfaa5c196 100644
--- a/sound/direct_sound_samples/wave_38.aif
+++ b/sound/direct_sound_samples/sc88_string_ensemble_60.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_39.aif b/sound/direct_sound_samples/sc88_string_ensemble_72.aif
index 17b03d91a..17b03d91a 100644
--- a/sound/direct_sound_samples/wave_39.aif
+++ b/sound/direct_sound_samples/sc88_string_ensemble_72.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_40.aif b/sound/direct_sound_samples/sc88_string_ensemble_84.aif
index ab3d5da53..ab3d5da53 100644
--- a/sound/direct_sound_samples/wave_40.aif
+++ b/sound/direct_sound_samples/sc88_string_ensemble_84.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_4.aif b/sound/direct_sound_samples/sc88_synth_bass.aif
index 81b82c41c..81b82c41c 100644
--- a/sound/direct_sound_samples/wave_4.aif
+++ b/sound/direct_sound_samples/sc88_synth_bass.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_5.aif b/sound/direct_sound_samples/sc88_timpani.aif
index 84829d634..84829d634 100644
--- a/sound/direct_sound_samples/wave_5.aif
+++ b/sound/direct_sound_samples/sc88_timpani.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_50.aif b/sound/direct_sound_samples/sc88_timpani_with_snare.aif
index 6147cf25c..6147cf25c 100644
--- a/sound/direct_sound_samples/wave_50.aif
+++ b/sound/direct_sound_samples/sc88_timpani_with_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_41.aif b/sound/direct_sound_samples/sc88_trumpet_60.aif
index fe5ac0067..fe5ac0067 100644
--- a/sound/direct_sound_samples/wave_41.aif
+++ b/sound/direct_sound_samples/sc88_trumpet_60.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_42.aif b/sound/direct_sound_samples/sc88_trumpet_72.aif
index fb862d2fc..fb862d2fc 100644
--- a/sound/direct_sound_samples/wave_42.aif
+++ b/sound/direct_sound_samples/sc88_trumpet_72.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_43.aif b/sound/direct_sound_samples/sc88_trumpet_84.aif
index f39c9fd79..f39c9fd79 100644
--- a/sound/direct_sound_samples/wave_43.aif
+++ b/sound/direct_sound_samples/sc88_trumpet_84.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_66.aif b/sound/direct_sound_samples/sc88_tubular_bell.aif
index 9d00ecae6..9d00ecae6 100644
--- a/sound/direct_sound_samples/wave_66.aif
+++ b/sound/direct_sound_samples/sc88_tubular_bell.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_59.aif b/sound/direct_sound_samples/sc88_wind.aif
index 6b247df07..6b247df07 100644
--- a/sound/direct_sound_samples/wave_59.aif
+++ b/sound/direct_sound_samples/sc88_wind.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_71.aif b/sound/direct_sound_samples/sc88_xylophone.aif
index d9e2f840a..d9e2f840a 100644
--- a/sound/direct_sound_samples/wave_71.aif
+++ b/sound/direct_sound_samples/sc88_xylophone.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_25.aif b/sound/direct_sound_samples/sd90_ambient_tom.aif
index d6357accb..d6357accb 100644
--- a/sound/direct_sound_samples/wave_25.aif
+++ b/sound/direct_sound_samples/sd90_ambient_tom.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_87.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif
index 86ea0fa76..86ea0fa76 100644
--- a/sound/direct_sound_samples/wave_87.aif
+++ b/sound/direct_sound_samples/sd90_classical_detuned_ep1_high.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_86.aif b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif
index 90359b459..90359b459 100644
--- a/sound/direct_sound_samples/wave_86.aif
+++ b/sound/direct_sound_samples/sd90_classical_detuned_ep1_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_83.aif b/sound/direct_sound_samples/sd90_classical_distortion_guitar_high.aif
index b0f0e82a1..b0f0e82a1 100644
--- a/sound/direct_sound_samples/wave_83.aif
+++ b/sound/direct_sound_samples/sd90_classical_distortion_guitar_high.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_84.aif b/sound/direct_sound_samples/sd90_classical_distortion_guitar_low.aif
index aa97fe3ef..aa97fe3ef 100644
--- a/sound/direct_sound_samples/wave_84.aif
+++ b/sound/direct_sound_samples/sd90_classical_distortion_guitar_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_7.aif b/sound/direct_sound_samples/sd90_classical_oboe.aif
index 83cb8c7d0..83cb8c7d0 100644
--- a/sound/direct_sound_samples/wave_7.aif
+++ b/sound/direct_sound_samples/sd90_classical_oboe.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_82.aif b/sound/direct_sound_samples/sd90_classical_overdrive_guitar.aif
index 6bdc1beab..6bdc1beab 100644
--- a/sound/direct_sound_samples/wave_82.aif
+++ b/sound/direct_sound_samples/sd90_classical_overdrive_guitar.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_85.aif b/sound/direct_sound_samples/sd90_classical_whistle.aif
index 357e348a7..357e348a7 100644
--- a/sound/direct_sound_samples/wave_85.aif
+++ b/sound/direct_sound_samples/sd90_classical_whistle.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_88.aif b/sound/direct_sound_samples/sd90_enhanced_delay_shaku.aif
index 2ae1b3021..2ae1b3021 100644
--- a/sound/direct_sound_samples/wave_88.aif
+++ b/sound/direct_sound_samples/sd90_enhanced_delay_shaku.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_24.aif b/sound/direct_sound_samples/sd90_solo_snare.aif
index 3343a53a3..3343a53a3 100644
--- a/sound/direct_sound_samples/wave_24.aif
+++ b/sound/direct_sound_samples/sd90_solo_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_79.aif b/sound/direct_sound_samples/sd90_special_scream_drive.aif
index 8b7a7da40..8b7a7da40 100644
--- a/sound/direct_sound_samples/wave_79.aif
+++ b/sound/direct_sound_samples/sd90_special_scream_drive.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_81.aif b/sound/direct_sound_samples/steinway_b_piano.aif
index 3124e31a0..3124e31a0 100644
--- a/sound/direct_sound_samples/wave_81.aif
+++ b/sound/direct_sound_samples/steinway_b_piano.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_19.aif b/sound/direct_sound_samples/trinity_cymbal_crash.aif
index 55b9f73ba..55b9f73ba 100644
--- a/sound/direct_sound_samples/wave_19.aif
+++ b/sound/direct_sound_samples/trinity_cymbal_crash.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_29.aif b/sound/direct_sound_samples/unknown_anvil_high.aif
index fb1ce68f0..fb1ce68f0 100644
--- a/sound/direct_sound_samples/wave_29.aif
+++ b/sound/direct_sound_samples/unknown_anvil_high.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_31.aif b/sound/direct_sound_samples/unknown_anvil_low.aif
index 519c3b8a8..519c3b8a8 100644
--- a/sound/direct_sound_samples/wave_31.aif
+++ b/sound/direct_sound_samples/unknown_anvil_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_67.aif b/sound/direct_sound_samples/unknown_close_hihat.aif
index 7ed48cd30..7ed48cd30 100644
--- a/sound/direct_sound_samples/wave_67.aif
+++ b/sound/direct_sound_samples/unknown_close_hihat.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_27.aif b/sound/direct_sound_samples/unknown_cowbell.aif
index 5f3819310..5f3819310 100644
--- a/sound/direct_sound_samples/wave_27.aif
+++ b/sound/direct_sound_samples/unknown_cowbell.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_28.aif b/sound/direct_sound_samples/unknown_djembe.aif
index 2e67f1d73..2e67f1d73 100644
--- a/sound/direct_sound_samples/wave_28.aif
+++ b/sound/direct_sound_samples/unknown_djembe.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_32.aif b/sound/direct_sound_samples/unknown_ethnic_drum.aif
index 2cb47ad90..2cb47ad90 100644
--- a/sound/direct_sound_samples/wave_32.aif
+++ b/sound/direct_sound_samples/unknown_ethnic_drum.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_69.aif b/sound/direct_sound_samples/unknown_polysynth.aif
index 75d17efdf..75d17efdf 100644
--- a/sound/direct_sound_samples/wave_69.aif
+++ b/sound/direct_sound_samples/unknown_polysynth.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_11.aif b/sound/direct_sound_samples/unknown_snare.aif
index d8a81b503..d8a81b503 100644
--- a/sound/direct_sound_samples/wave_11.aif
+++ b/sound/direct_sound_samples/unknown_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_51.aif b/sound/direct_sound_samples/unknown_synth_snare.aif
index eec199f07..eec199f07 100644
--- a/sound/direct_sound_samples/wave_51.aif
+++ b/sound/direct_sound_samples/unknown_synth_snare.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_18.aif b/sound/direct_sound_samples/unknown_tambourine.aif
index 39ec57d29..39ec57d29 100644
--- a/sound/direct_sound_samples/wave_18.aif
+++ b/sound/direct_sound_samples/unknown_tambourine.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_75.aif b/sound/direct_sound_samples/unknown_tom.aif
index 7d84c7b31..7d84c7b31 100644
--- a/sound/direct_sound_samples/wave_75.aif
+++ b/sound/direct_sound_samples/unknown_tom.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_44.aif b/sound/direct_sound_samples/unknown_trombone_39.aif
index f8862cebf..f8862cebf 100644
--- a/sound/direct_sound_samples/wave_44.aif
+++ b/sound/direct_sound_samples/unknown_trombone_39.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_45.aif b/sound/direct_sound_samples/unknown_trombone_51.aif
index 6adda7673..6adda7673 100644
--- a/sound/direct_sound_samples/wave_45.aif
+++ b/sound/direct_sound_samples/unknown_trombone_51.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_33.aif b/sound/direct_sound_samples/unknown_tsuzumi.aif
index b161f72ee..b161f72ee 100644
--- a/sound/direct_sound_samples/wave_33.aif
+++ b/sound/direct_sound_samples/unknown_tsuzumi.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_13.aif b/sound/direct_sound_samples/unknown_wood_block_high.aif
index dcae315ec..dcae315ec 100644
--- a/sound/direct_sound_samples/wave_13.aif
+++ b/sound/direct_sound_samples/unknown_wood_block_high.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_12.aif b/sound/direct_sound_samples/unknown_wood_block_low.aif
index fa33ba810..fa33ba810 100644
--- a/sound/direct_sound_samples/wave_12.aif
+++ b/sound/direct_sound_samples/unknown_wood_block_low.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_63.aif b/sound/direct_sound_samples/unused_acid_bass.aif
index c2c7e46ec..c2c7e46ec 100644
--- a/sound/direct_sound_samples/wave_63.aif
+++ b/sound/direct_sound_samples/unused_acid_bass.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_9.aif b/sound/direct_sound_samples/unused_electric_guitar.aif
index 83f997481..83f997481 100644
--- a/sound/direct_sound_samples/wave_9.aif
+++ b/sound/direct_sound_samples/unused_electric_guitar.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_10.aif b/sound/direct_sound_samples/unused_sc88_unison_slap.aif
index c0ce144f6..c0ce144f6 100644
--- a/sound/direct_sound_samples/wave_10.aif
+++ b/sound/direct_sound_samples/unused_sc88_unison_slap.aif
Binary files differ
diff --git a/sound/direct_sound_samples/wave_8.aif b/sound/direct_sound_samples/unused_sd90_oboe.aif
index 2a0ea2a26..2a0ea2a26 100644
--- a/sound/direct_sound_samples/wave_8.aif
+++ b/sound/direct_sound_samples/unused_sd90_oboe.aif
Binary files differ
diff --git a/sound/voice_groups.inc b/sound/voice_groups.inc
index abdedcbb5..eb74c7d0e 100644
--- a/sound/voice_groups.inc
+++ b/sound/voice_groups.inc
@@ -9,7 +9,7 @@ voicegroup000:: @ 8489C8C
voice_square_2 2, 0, 0, 9, 2 @ 8489CD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489CE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489CEC
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 165, 51, 235 @ 8489CF8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 165, 51, 235 @ 8489CF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D04
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D10
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D1C
@@ -17,7 +17,7 @@ voicegroup000:: @ 8489C8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D34
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D40
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D4C
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 127 @ 8489D58
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 127 @ 8489D58
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D64
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D70
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489D7C
@@ -32,13 +32,13 @@ voicegroup000:: @ 8489C8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489DE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489DF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E00
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 149 @ 8489E0C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 149 @ 8489E0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E18
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E24
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E30
- voice_directsound 60, 0, gDirectSoundWaveData_3, 255, 235, 128, 115 @ 8489E3C
+ voice_directsound 60, 0, DirectSoundWaveData_jv1080_slap_bass, 255, 235, 128, 115 @ 8489E3C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E48
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 8489E54
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 8489E54
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E60
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E78
@@ -47,7 +47,7 @@ voicegroup000:: @ 8489C8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489E9C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489EA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489EB4
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 204, 193, 239 @ 8489EC0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 204, 193, 239 @ 8489EC0
voice_keysplit voicegroup004, KeySplitTable2 @ 8489ECC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489ED8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8489EE4
@@ -92,21 +92,21 @@ voicegroup001:: @ 8489F74
voice_square_1 0, 0, 0, 1, 6, 0 @ 848A0A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A0AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A0B8
- voice_directsound 60, 0, gDirectSoundWaveData_6, 255, 0, 255, 0 @ 848A0C4
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 848A0C4
voicegroup002:: @ 848A0D0
- voice_directsound 60, 0, gDirectSoundWaveData_7, 255, 165, 154, 127 @ 848A0D0
- voice_directsound 60, 0, gDirectSoundWaveData_8, 255, 165, 154, 127 @ 848A0DC
- voice_directsound 60, 0, gDirectSoundWaveData_9, 255, 165, 206, 127 @ 848A0E8
- voice_directsound 60, 0, gDirectSoundWaveData_10, 255, 165, 206, 127 @ 848A0F4
- voice_directsound 60, 0, gDirectSoundWaveData_11, 255, 0, 255, 0 @ 848A100
- voice_directsound 60, 0, gDirectSoundWaveData_12, 255, 0, 255, 0 @ 848A10C
- voice_directsound 60, 0, gDirectSoundWaveData_13, 255, 0, 255, 0 @ 848A118
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_14, 255, 0, 255, 242 @ 848A124
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_oboe, 255, 165, 154, 127 @ 848A0D0
+ voice_directsound 60, 0, DirectSoundWaveData_unused_sd90_oboe, 255, 165, 154, 127 @ 848A0DC
+ voice_directsound 60, 0, DirectSoundWaveData_unused_electric_guitar, 255, 165, 206, 127 @ 848A0E8
+ voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_unison_slap, 255, 165, 206, 127 @ 848A0F4
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_snare, 255, 0, 255, 0 @ 848A100
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_low, 255, 0, 255, 0 @ 848A10C
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_high, 255, 0, 255, 0 @ 848A118
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_kick, 255, 0, 255, 242 @ 848A124
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A130
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_15, 255, 0, 255, 242 @ 848A13C
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_16, 255, 255, 255, 127 @ 848A148
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_17, 255, 0, 255, 242 @ 848A154
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 848A13C
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 848A148
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 848A154
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A160
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A16C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A178
@@ -120,46 +120,46 @@ voicegroup002:: @ 848A0D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A1D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A1E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A1F0
- voice_directsound_no_resample 32, 34, gDirectSoundWaveData_18, 255, 127, 77, 204 @ 848A1FC
- voice_directsound_no_resample 60, 14, gDirectSoundWaveData_19, 255, 235, 0, 165 @ 848A208
+ voice_directsound_no_resample 32, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 848A1FC
+ voice_directsound_no_resample 60, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 235, 0, 165 @ 848A208
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A214
- voice_directsound_no_resample 30, 54, gDirectSoundWaveData_20, 255, 246, 0, 216 @ 848A220
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 848A220
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A22C
- voice_directsound_no_resample 30, 54, gDirectSoundWaveData_20, 255, 246, 0, 216 @ 848A238
- voice_directsound_no_resample 30, 64, gDirectSoundWaveData_20, 8, 0, 255, 216 @ 848A244
+ voice_directsound_no_resample 30, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 246, 0, 216 @ 848A238
+ voice_directsound_no_resample 30, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 848A244
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A250
- voice_directsound_no_resample 72, 104, gDirectSoundWaveData_21, 255, 0, 255, 0 @ 848A25C
+ voice_directsound_no_resample 72, 104, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 848A25C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A268
- voice_directsound_no_resample 72, 94, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 848A274
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_23, 255, 0, 255, 0 @ 848A280
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_24, 255, 180, 175, 228 @ 848A28C
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_24, 255, 0, 255, 242 @ 848A298
- voice_directsound_no_resample 64, 54, gDirectSoundWaveData_16, 255, 255, 255, 127 @ 848A2A4
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_17, 255, 0, 255, 242 @ 848A2B0
- voice_directsound 64, 24, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 848A2BC
- voice_directsound_no_resample 64, 80, gDirectSoundWaveData_17, 255, 0, 255, 242 @ 848A2C8
- voice_directsound 68, 34, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 848A2D4
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_15, 255, 0, 255, 242 @ 848A2E0
- voice_directsound 72, 44, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 848A2EC
+ voice_directsound_no_resample 72, 94, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 848A274
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_drum_and_percussion_kick, 255, 0, 255, 0 @ 848A280
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 848A28C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 848A298
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 848A2A4
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 848A2B0
+ voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 848A2BC
+ voice_directsound_no_resample 64, 80, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 848A2C8
+ voice_directsound 68, 34, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 848A2D4
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 848A2E0
+ voice_directsound 72, 44, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 848A2EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A2F8
- voice_directsound 76, 84, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 848A304
- voice_directsound 80, 94, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 848A310
- voice_directsound_no_resample 33, 89, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 848A31C
- voice_directsound 84, 104, gDirectSoundWaveData_25, 255, 0, 255, 235 @ 848A328
+ voice_directsound 76, 84, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 848A304
+ voice_directsound 80, 94, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 848A310
+ voice_directsound_no_resample 33, 89, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 848A31C
+ voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 848A328
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A334
- voice_directsound 63, 64, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 848A340
- voice_directsound_no_resample 64, 24, gDirectSoundWaveData_26, 255, 165, 103, 231 @ 848A34C
- voice_directsound_no_resample 64, 34, gDirectSoundWaveData_18, 255, 127, 77, 204 @ 848A358
- voice_directsound_no_resample 64, 14, gDirectSoundWaveData_19, 255, 231, 0, 188 @ 848A364
- voice_directsound_no_resample 64, 89, gDirectSoundWaveData_27, 255, 0, 255, 242 @ 848A370
- voice_directsound_no_resample 64, 29, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 848A37C
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 848A340
+ voice_directsound_no_resample 64, 24, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 848A34C
+ voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 848A358
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 848A364
+ voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 848A370
+ voice_directsound_no_resample 64, 29, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 848A37C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A388
- voice_directsound_no_resample 64, 54, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 848A394
- voice_directsound_no_resample 64, 54, gDirectSoundWaveData_20, 8, 0, 255, 216 @ 848A3A0
- voice_directsound_no_resample 64, 94, gDirectSoundWaveData_28, 255, 0, 255, 0 @ 848A3AC
- voice_directsound_no_resample 64, 34, gDirectSoundWaveData_21, 255, 0, 255, 0 @ 848A3B8
- voice_directsound_no_resample 64, 34, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 848A3C4
- voice_directsound_no_resample 64, 90, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 848A3D0
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 848A394
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 848A3A0
+ voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 848A3AC
+ voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 848A3B8
+ voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 848A3C4
+ voice_directsound_no_resample 64, 90, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 848A3D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A3DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A3E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A3F4
@@ -175,32 +175,32 @@ voicegroup002:: @ 848A0D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A46C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A478
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A484
- voice_directsound_no_resample 64, 39, gDirectSoundWaveData_29, 255, 242, 103, 188 @ 848A490
- voice_directsound_no_resample 64, 79, gDirectSoundWaveData_29, 255, 242, 103, 188 @ 848A49C
- voice_directsound_no_resample 64, 39, gDirectSoundWaveData_29, 255, 165, 103, 188 @ 848A4A8
- voice_directsound_no_resample 64, 24, gDirectSoundWaveData_30, 255, 0, 255, 0 @ 848A4B4
+ voice_directsound_no_resample 64, 39, DirectSoundWaveData_unknown_anvil_high, 255, 242, 103, 188 @ 848A490
+ voice_directsound_no_resample 64, 79, DirectSoundWaveData_unknown_anvil_high, 255, 242, 103, 188 @ 848A49C
+ voice_directsound_no_resample 64, 39, DirectSoundWaveData_unknown_anvil_high, 255, 165, 103, 188 @ 848A4A8
+ voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_standard_bells, 255, 0, 255, 0 @ 848A4B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A4C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A4CC
- voice_directsound_no_resample 64, 104, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 848A4D8
- voice_directsound 63, 64, gDirectSoundWaveData_32, 255, 0, 255, 0 @ 848A4E4
- voice_directsound 50, 84, gDirectSoundWaveData_33, 255, 0, 255, 0 @ 848A4F0
- voice_directsound 64, 84, gDirectSoundWaveData_33, 255, 0, 255, 0 @ 848A4FC
+ voice_directsound_no_resample 64, 104, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 848A4D8
+ voice_directsound 63, 64, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 0 @ 848A4E4
+ voice_directsound 50, 84, DirectSoundWaveData_unknown_tsuzumi, 255, 0, 255, 0 @ 848A4F0
+ voice_directsound 64, 84, DirectSoundWaveData_unknown_tsuzumi, 255, 0, 255, 0 @ 848A4FC
voicegroup003:: @ 848A508
- voice_directsound 60, 0, gDirectSoundWaveData_34, 255, 252, 0, 239 @ 848A508
- voice_directsound 60, 0, gDirectSoundWaveData_35, 255, 250, 0, 221 @ 848A514
- voice_directsound 60, 0, gDirectSoundWaveData_36, 255, 250, 0, 221 @ 848A520
- voice_directsound 60, 0, gDirectSoundWaveData_37, 255, 247, 0, 221 @ 848A52C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_piano1_48, 255, 252, 0, 239 @ 848A508
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_piano1_60, 255, 250, 0, 221 @ 848A514
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_piano1_72, 255, 250, 0, 221 @ 848A520
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_piano1_84, 255, 247, 0, 221 @ 848A52C
voicegroup004:: @ 848A538
- voice_directsound 60, 0, gDirectSoundWaveData_38, 255, 0, 255, 196 @ 848A538
- voice_directsound 60, 0, gDirectSoundWaveData_39, 255, 0, 255, 196 @ 848A544
- voice_directsound 60, 0, gDirectSoundWaveData_40, 255, 0, 255, 196 @ 848A550
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_60, 255, 0, 255, 196 @ 848A538
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_72, 255, 0, 255, 196 @ 848A544
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_84, 255, 0, 255, 196 @ 848A550
voicegroup005:: @ 848A55C
- voice_directsound 60, 0, gDirectSoundWaveData_41, 255, 0, 193, 127 @ 848A55C
- voice_directsound 60, 0, gDirectSoundWaveData_42, 255, 0, 193, 127 @ 848A568
- voice_directsound 60, 0, gDirectSoundWaveData_43, 255, 0, 193, 127 @ 848A574
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_trumpet_60, 255, 0, 193, 127 @ 848A55C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_trumpet_72, 255, 0, 193, 127 @ 848A568
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_trumpet_84, 255, 0, 193, 127 @ 848A574
voice_square_1_alt 38, 2, 1, 0, 0, 0 @ 848A580
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A58C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848A598
@@ -331,28 +331,28 @@ voicegroup005:: @ 848A55C
voice_square_1_alt 21, 2, 0, 0, 15, 2 @ 848AB74
voicegroup006:: @ 848AB80
- voice_directsound 60, 0, gDirectSoundWaveData_44, 255, 0, 255, 165 @ 848AB80
- voice_directsound 60, 0, gDirectSoundWaveData_45, 255, 0, 255, 165 @ 848AB8C
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_trombone_39, 255, 0, 255, 165 @ 848AB80
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_trombone_51, 255, 0, 255, 165 @ 848AB8C
voicegroup007:: @ 848AB98
- voice_directsound 60, 0, gDirectSoundWaveData_46, 255, 0, 224, 165 @ 848AB98
- voice_directsound 60, 0, gDirectSoundWaveData_47, 255, 0, 218, 165 @ 848ABA4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_french_horn_60, 255, 0, 224, 165 @ 848AB98
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_french_horn_72, 255, 0, 218, 165 @ 848ABA4
voicegroup008:: @ 848ABB0
voice_keysplit_all voicegroup001 @ 848ABB0
voice_keysplit voicegroup003, KeySplitTable1 @ 848ABBC
- voice_directsound 60, 0, gDirectSoundWaveData_63, 255, 178, 180, 165 @ 848ABC8
+ voice_directsound 60, 0, DirectSoundWaveData_unused_acid_bass, 255, 178, 180, 165 @ 848ABC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ABD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ABE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ABEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ABF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC04
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC10
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 165, 51, 235 @ 848AC1C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 165, 51, 235 @ 848AC1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC28
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC34
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC40
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 848AC4C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 848AC4C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC58
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC64
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AC70
@@ -385,8 +385,8 @@ voicegroup008:: @ 848ABB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ADB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ADC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ADCC
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 242, 0, 204 @ 848ADD8
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 848ADE4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 242, 0, 204 @ 848ADD8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 848ADE4
voice_keysplit voicegroup004, KeySplitTable2 @ 848ADF0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ADFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AE08
@@ -412,7 +412,7 @@ voicegroup008:: @ 848ABB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AEF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AF04
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AF10
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 848AF1C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 848AF1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AF28
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AF34
voice_square_1 0, 2, 0, 0, 15, 0 @ 848AF40
@@ -490,7 +490,7 @@ voicegroup009:: @ 848B078
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B288
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B294
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B2A0
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 848B2AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 848B2AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B2B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B2C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B2D0
@@ -563,7 +563,7 @@ voicegroup010:: @ 848B474
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B5DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B5E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B5F4
- voice_directsound 60, 0, gDirectSoundWaveData_49, 255, 253, 0, 149 @ 848B600
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 848B600
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B60C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B618
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B624
@@ -575,9 +575,9 @@ voicegroup010:: @ 848B474
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B66C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B678
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B684
- voice_directsound 60, 0, gDirectSoundWaveData_55, 255, 216, 0, 165 @ 848B690
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pizzicato_strings, 255, 216, 0, 165 @ 848B690
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B69C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 848B6A8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 848B6A8
voice_keysplit voicegroup004, KeySplitTable2 @ 848B6B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B6C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B6CC
@@ -640,7 +640,7 @@ voicegroup011:: @ 848B8B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B960
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B96C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B978
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 127 @ 848B984
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 127 @ 848B984
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B990
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B99C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848B9A8
@@ -656,7 +656,7 @@ voicegroup011:: @ 848B8B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BA20
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BA2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BA38
- voice_directsound 60, 0, gDirectSoundWaveData_49, 255, 253, 0, 149 @ 848BA44
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 848BA44
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BA50
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BA5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BA68
@@ -669,8 +669,8 @@ voicegroup011:: @ 848B8B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BABC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BAC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BAD4
- voice_directsound_no_resample 60, 0, gDirectSoundWaveData_50, 255, 246, 0, 226 @ 848BAE0
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 848BAEC
+ voice_directsound_no_resample 60, 0, DirectSoundWaveData_sc88_timpani_with_snare, 255, 246, 0, 226 @ 848BAE0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 848BAEC
voice_keysplit voicegroup004, KeySplitTable2 @ 848BAF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BB04
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BB10
@@ -720,7 +720,7 @@ voicegroup012:: @ 848BCFC
voice_keysplit voicegroup003, KeySplitTable1 @ 848BD08
voicegroup127:: @ 848BD14
- voice_directsound 60, 0, gDirectSoundWaveData_51, 255, 249, 103, 165 @ 848BD14
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_synth_snare, 255, 249, 103, 165 @ 848BD14
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BD20
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BD2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BD38
@@ -733,8 +733,8 @@ voicegroup127:: @ 848BD14
voice_square_1_alt 0, 2, 2, 0, 15, 0 @ 848BD8C
voice_square_1_alt 0, 1, 2, 0, 15, 0 @ 848BD98
voice_square_1_alt 23, 1, 0, 1, 9, 0 @ 848BDA4
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 0, 255, 165 @ 848BDB0
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 226, 0, 165 @ 848BDBC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 165 @ 848BDB0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 165 @ 848BDBC
voice_square_1_alt 0, 2, 0, 6, 0, 1 @ 848BDC8
voice_square_1_alt 36, 0, 0, 2, 0, 0 @ 848BDD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BDE0
@@ -767,7 +767,7 @@ voicegroup127:: @ 848BD14
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BF24
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BF30
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BF3C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 848BF48
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 848BF48
voice_keysplit voicegroup004, KeySplitTable2 @ 848BF54
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BF60
voice_square_1 0, 2, 0, 0, 15, 0 @ 848BF6C
@@ -850,80 +850,80 @@ voicegroup127:: @ 848BD14
voice_noise_alt 0, 0, 1, 0, 1 @ 848C308
voicegroup128:: @ 848C314
- voice_directsound_no_resample 60, 0, gDirectSoundWaveData_53, 255, 249, 0, 165 @ 848C314
- voice_directsound_alt 60, 0, gDirectSoundWaveData_53, 255, 0, 255, 165 @ 848C320
- voice_directsound 60, 0, gDirectSoundWaveData_51, 255, 0, 255, 165 @ 848C32C
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 242, 0, 127 @ 848C338
+ voice_directsound_no_resample 60, 0, DirectSoundWaveData_bicycle_bell, 255, 249, 0, 165 @ 848C314
+ voice_directsound_alt 60, 0, DirectSoundWaveData_bicycle_bell, 255, 0, 255, 165 @ 848C320
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_synth_snare, 255, 0, 255, 165 @ 848C32C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 242, 0, 127 @ 848C338
voice_noise_alt 0, 0, 1, 0, 1 @ 848C344
voice_noise_alt 1, 0, 1, 0, 1 @ 848C350
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 255, 165 @ 848C35C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 255, 165 @ 848C35C
voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 848C368
- voice_directsound 60, 0, gDirectSoundWaveData_54, 255, 0, 255, 165 @ 848C374
- voice_directsound 60, 0, gDirectSoundWaveData_55, 255, 0, 255, 127 @ 848C380
- voice_directsound 60, 0, gDirectSoundWaveData_56, 255, 0, 255, 127 @ 848C38C
+ voice_directsound 60, 0, DirectSoundWaveData_wave_54, 255, 0, 255, 165 @ 848C374
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pizzicato_strings, 255, 0, 255, 127 @ 848C380
+ voice_directsound 60, 0, DirectSoundWaveData_wave_56, 255, 0, 255, 127 @ 848C38C
voice_noise_alt 1, 0, 2, 0, 0 @ 848C398
voice_square_1 103, 3, 2, 7, 0, 0 @ 848C3A4
voice_square_2 3, 2, 7, 0, 0 @ 848C3B0
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 226, 0, 127 @ 848C3BC
- voice_directsound 60, 0, gDirectSoundWaveData_57, 255, 0, 255, 0 @ 848C3C8
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 204, 0, 127 @ 848C3D4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 848C3BC
+ voice_directsound 60, 0, DirectSoundWaveData_wave_57, 255, 0, 255, 0 @ 848C3C8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 848C3D4
voice_square_1_alt 0, 2, 0, 2, 0, 1 @ 848C3E0
- voice_directsound 60, 0, gDirectSoundWaveData_58, 255, 0, 255, 127 @ 848C3EC
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 0, 255, 127 @ 848C3F8
+ voice_directsound 60, 0, DirectSoundWaveData_wave_58, 255, 0, 255, 127 @ 848C3EC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 848C3F8
voice_square_1 103, 0, 0, 7, 0, 0 @ 848C404
- voice_directsound 60, 0, gDirectSoundWaveData_17, 255, 0, 255, 127 @ 848C410
- voice_directsound 60, 0, gDirectSoundWaveData_59, 255, 0, 255, 127 @ 848C41C
- voice_directsound 60, 0, gDirectSoundWaveData_60, 255, 0, 255, 127 @ 848C428
- voice_directsound 60, 0, gDirectSoundWaveData_15, 255, 0, 255, 127 @ 848C434
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 127 @ 848C410
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_wind, 255, 0, 255, 127 @ 848C41C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_bubbles, 255, 0, 255, 127 @ 848C428
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 127 @ 848C434
voice_noise_alt 0, 0, 7, 15, 1 @ 848C440
- voice_directsound 60, 0, gDirectSoundWaveData_61, 255, 0, 255, 127 @ 848C44C
+ voice_directsound 60, 0, DirectSoundWaveData_wave_61, 255, 0, 255, 127 @ 848C44C
voice_noise_alt 1, 0, 7, 15, 1 @ 848C458
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 246, 0, 127 @ 848C464
- voice_directsound 60, 0, gDirectSoundWaveData_62, 255, 0, 255, 127 @ 848C470
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 246, 0, 127 @ 848C464
+ voice_directsound 60, 0, DirectSoundWaveData_wave_62, 255, 0, 255, 127 @ 848C470
voice_square_1_alt 19, 2, 0, 2, 0, 0 @ 848C47C
- voice_directsound 60, 0, gDirectSoundWaveData_63, 255, 0, 255, 127 @ 848C488
+ voice_directsound 60, 0, DirectSoundWaveData_unused_acid_bass, 255, 0, 255, 127 @ 848C488
voice_square_1 103, 0, 0, 0, 15, 0 @ 848C494
- voice_directsound_alt 60, 0, gDirectSoundWaveData_62, 255, 0, 255, 127 @ 848C4A0
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 255, 255, 127 @ 848C4AC
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 0, 255, 127 @ 848C4B8
- voice_directsound 60, 0, gDirectSoundWaveData_64, 255, 0, 255, 127 @ 848C4C4
- voice_directsound 60, 0, gDirectSoundWaveData_63, 255, 242, 0, 0 @ 848C4D0
- voice_directsound 60, 0, gDirectSoundWaveData_65, 255, 0, 255, 0 @ 848C4DC
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 848C4E8
- voice_directsound 60, 0, gDirectSoundWaveData_67, 255, 127, 0, 188 @ 848C4F4
- voice_directsound 60, 0, gDirectSoundWaveData_68, 255, 249, 0, 165 @ 848C500
+ voice_directsound_alt 60, 0, DirectSoundWaveData_wave_62, 255, 0, 255, 127 @ 848C4A0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 255, 255, 127 @ 848C4AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 0, 255, 127 @ 848C4B8
+ voice_directsound 60, 0, DirectSoundWaveData_wave_64, 255, 0, 255, 127 @ 848C4C4
+ voice_directsound 60, 0, DirectSoundWaveData_unused_acid_bass, 255, 242, 0, 0 @ 848C4D0
+ voice_directsound 60, 0, DirectSoundWaveData_wave_65, 255, 0, 255, 0 @ 848C4DC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 848C4E8
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_close_hihat, 255, 127, 0, 188 @ 848C4F4
+ voice_directsound 60, 0, DirectSoundWaveData_wave_68, 255, 249, 0, 165 @ 848C500
voice_square_1 0, 0, 4, 6, 0, 0 @ 848C50C
- voice_directsound 60, 0, gDirectSoundWaveData_0, 13, 0, 255, 127 @ 848C518
- voice_directsound 60, 0, gDirectSoundWaveData_66, 13, 0, 255, 127 @ 848C524
- voice_directsound 60, 0, gDirectSoundWaveData_69, 255, 0, 255, 127 @ 848C530
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 252, 0, 204 @ 848C53C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 13, 0, 255, 127 @ 848C518
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 13, 0, 255, 127 @ 848C524
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_polysynth, 255, 0, 255, 127 @ 848C530
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 252, 0, 204 @ 848C53C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848C548
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 848C554
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 848C554
voice_square_1 0, 0, 4, 0, 15, 0 @ 848C560
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 188, 0, 0 @ 848C56C
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 226, 0, 127 @ 848C578
- voice_directsound 60, 0, gDirectSoundWaveData_20, 26, 0, 255, 127 @ 848C584
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 188, 0, 0 @ 848C56C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 226, 0, 127 @ 848C578
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 26, 0, 255, 127 @ 848C584
voice_square_1_alt 0, 2, 0, 1, 0, 0 @ 848C590
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 252, 0, 127 @ 848C59C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 252, 0, 127 @ 848C59C
voice_square_1_alt 0, 1, 0, 2, 0, 0 @ 848C5A8
- voice_directsound 60, 0, gDirectSoundWaveData_55, 255, 127, 0, 127 @ 848C5B4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pizzicato_strings, 255, 127, 0, 127 @ 848C5B4
voice_noise_alt 0, 1, 6, 0, 0 @ 848C5C0
- voice_directsound 60, 0, gDirectSoundWaveData_3, 255, 255, 255, 127 @ 848C5CC
- voice_directsound 60, 0, gDirectSoundWaveData_16, 255, 255, 255, 127 @ 848C5D8
- voice_directsound 60, 0, gDirectSoundWaveData_72, 255, 255, 255, 127 @ 848C5E4
- voice_directsound 60, 0, gDirectSoundWaveData_47, 11, 242, 0, 127 @ 848C5F0
+ voice_directsound 60, 0, DirectSoundWaveData_jv1080_slap_bass, 255, 255, 255, 127 @ 848C5CC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 848C5D8
+ voice_directsound 60, 0, DirectSoundWaveData_wave_72, 255, 255, 255, 127 @ 848C5E4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_french_horn_72, 11, 242, 0, 127 @ 848C5F0
voice_square_1_alt 0, 2, 4, 6, 0, 0 @ 848C5FC
- voice_directsound 60, 0, gDirectSoundWaveData_73, 255, 255, 255, 127 @ 848C608
- voice_directsound 60, 0, gDirectSoundWaveData_74, 255, 0, 255, 165 @ 848C614
- voice_directsound 60, 0, gDirectSoundWaveData_75, 255, 0, 255, 165 @ 848C620
+ voice_directsound 60, 0, DirectSoundWaveData_wave_73, 255, 255, 255, 127 @ 848C608
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 848C614
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_tom, 255, 0, 255, 165 @ 848C620
voice_noise_alt 0, 5, 7, 15, 1 @ 848C62C
- voice_directsound 60, 0, gDirectSoundWaveData_52, 128, 242, 0, 165 @ 848C638
- voice_directsound 60, 0, gDirectSoundWaveData_39, 255, 0, 255, 165 @ 848C644
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 128, 242, 0, 165 @ 848C638
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_string_ensemble_72, 255, 0, 255, 165 @ 848C644
voice_square_1 0, 0, 1, 5, 0, 0 @ 848C650
voice_noise_alt 0, 6, 6, 0, 1 @ 848C65C
voice_noise_alt 0, 3, 6, 0, 1 @ 848C668
voice_square_1 0, 2, 0, 0, 15, 0 @ 848C674
- voice_directsound 60, 0, gDirectSoundWaveData_63, 15, 127, 231, 127 @ 848C680
+ voice_directsound 60, 0, DirectSoundWaveData_unused_acid_bass, 15, 127, 231, 127 @ 848C680
voice_square_1 0, 2, 0, 0, 15, 0 @ 848C68C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848C698
voice_square_1 0, 2, 0, 0, 15, 0 @ 848C6A4
@@ -1761,17 +1761,17 @@ gCryTable2:: @ 848DB44
voicegroup129:: @ 848ED74
voice_square_1 0, 2, 0, 0, 15, 0 @ 848ED74
- voice_directsound 60, 0, gDirectSoundWaveData_21, 255, 0, 255, 0 @ 848ED80
- voice_directsound 60, 0, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 848ED8C
- voice_directsound 60, 0, gDirectSoundWaveData_16, 255, 226, 25, 0 @ 848ED98
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 848ED80
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 848ED8C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 226, 25, 0 @ 848ED98
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EDA4
- voice_directsound 60, 0, gDirectSoundWaveData_54, 255, 0, 255, 165 @ 848EDB0
- voice_directsound 60, 0, gDirectSoundWaveData_26, 255, 165, 103, 231 @ 848EDBC
- voice_directsound 60, 0, gDirectSoundWaveData_29, 255, 204, 128, 249 @ 848EDC8
- voice_directsound 60, 0, gDirectSoundWaveData_76, 255, 0, 255, 76 @ 848EDD4
- voice_directsound 60, 0, gDirectSoundWaveData_77, 255, 0, 206, 204 @ 848EDE0
- voice_directsound 60, 0, gDirectSoundWaveData_12, 255, 0, 206, 38 @ 848EDEC
- voice_directsound 60, 0, gDirectSoundWaveData_13, 255, 0, 206, 0 @ 848EDF8
+ voice_directsound 60, 0, DirectSoundWaveData_wave_54, 255, 0, 255, 165 @ 848EDB0
+ voice_directsound 60, 0, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 848EDBC
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_anvil_high, 255, 204, 128, 249 @ 848EDC8
+ voice_directsound 60, 0, DirectSoundWaveData_register_noise, 255, 0, 255, 76 @ 848EDD4
+ voice_directsound 60, 0, DirectSoundWaveData_wave_77, 255, 0, 206, 204 @ 848EDE0
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_low, 255, 0, 206, 38 @ 848EDEC
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_wood_block_high, 255, 0, 206, 0 @ 848EDF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EE04
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EE10
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EE1C
@@ -1784,14 +1784,14 @@ voicegroup129:: @ 848ED74
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EE70
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EE7C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EE88
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 128, 204 @ 848EE94
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 128, 204 @ 848EE94
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EEA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EEAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EEB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EEC4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EED0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EEDC
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 848EEE8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 848EEE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EEF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EF00
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EF0C
@@ -1806,9 +1806,9 @@ voicegroup129:: @ 848ED74
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EF78
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EF84
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EF90
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 252, 0, 204 @ 848EF9C
- voice_directsound 60, 0, gDirectSoundWaveData_74, 255, 0, 255, 165 @ 848EFA8
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 204, 0, 127 @ 848EFB4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 252, 0, 204 @ 848EF9C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 848EFA8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 204, 0, 127 @ 848EFB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EFC0
voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 848EFCC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848EFD8
@@ -1911,7 +1911,7 @@ voicegroup130:: @ 848F374
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F44C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F458
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F464
- voice_directsound 60, 0, gDirectSoundWaveData_80, 255, 249, 25, 248 @ 848F470
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion_duplicate, 255, 249, 25, 248 @ 848F470
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F47C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F488
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F494
@@ -2022,7 +2022,7 @@ voicegroup130:: @ 848F374
voicegroup131:: @ 848F974
voice_keysplit_all voicegroup002 @ 848F974
voice_keysplit voicegroup003, KeySplitTable1 @ 848F980
- voice_directsound 60, 0, gDirectSoundWaveData_81, 128, 204, 51, 242 @ 848F98C
+ voice_directsound 60, 0, DirectSoundWaveData_steinway_b_piano, 128, 204, 51, 242 @ 848F98C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F998
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F9A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 848F9B0
@@ -2044,7 +2044,7 @@ voicegroup131:: @ 848F974
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FA70
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FA7C
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FA88
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 204, 103, 226 @ 848FA94
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 204, 103, 226 @ 848FA94
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FAA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FAAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FAB8
@@ -2164,17 +2164,17 @@ voicegroup132:: @ 848FF74
voice_square_1 0, 2, 0, 0, 15, 0 @ 848FFF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490004
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490010
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 97, 236 @ 849001C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 97, 236 @ 849001C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490028
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490034
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 146, 118, 137 @ 8490040
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 146, 118, 137 @ 8490040
voice_square_1 0, 2, 0, 0, 15, 0 @ 849004C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490058
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490064
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490070
voice_square_1 0, 2, 0, 0, 15, 0 @ 849007C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490088
- voice_directsound 60, 0, gDirectSoundWaveData_78, 51, 204, 92, 226 @ 8490094
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 51, 204, 92, 226 @ 8490094
voice_square_1 0, 2, 0, 0, 15, 0 @ 84900A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84900AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84900B8
@@ -2197,7 +2197,7 @@ voicegroup132:: @ 848FF74
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490184
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490190
voice_square_1 0, 2, 0, 0, 15, 0 @ 849019C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 165, 154, 235 @ 84901A8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 165, 154, 235 @ 84901A8
voice_keysplit voicegroup004, KeySplitTable2 @ 84901B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84901C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84901CC
@@ -2223,7 +2223,7 @@ voicegroup132:: @ 848FF74
voice_square_1 0, 2, 0, 0, 15, 0 @ 84902BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84902C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84902D4
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 84902E0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 84902E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84902EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84902F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490304
@@ -2290,27 +2290,27 @@ voicegroup133:: @ 8490574
voice_square_1 0, 2, 0, 0, 15, 0 @ 84905C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84905D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84905E0
- voice_directsound 60, 0, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 84905EC
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 84905EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84905F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490604
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490610
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 849061C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 849061C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490628
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490634
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 146, 108, 137 @ 8490640
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 146, 108, 137 @ 8490640
voice_square_1 0, 2, 0, 0, 15, 0 @ 849064C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490658
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490664
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490670
voice_square_1 0, 2, 0, 0, 15, 0 @ 849067C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490688
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 204, 103, 226 @ 8490694
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 204, 103, 226 @ 8490694
voice_square_1 0, 2, 0, 0, 15, 0 @ 84906A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84906AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84906B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84906C4
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 84906D0
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 0, 255, 127 @ 84906DC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 84906D0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 84906DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84906E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84906F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490700
@@ -2318,8 +2318,8 @@ voicegroup133:: @ 8490574
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490718
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490724
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490730
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 849073C
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 0, 255, 127 @ 8490748
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 849073C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 8490748
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490754
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490760
voice_square_1 0, 2, 0, 0, 15, 0 @ 849076C
@@ -2327,7 +2327,7 @@ voicegroup133:: @ 8490574
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490784
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490790
voice_square_1 0, 2, 0, 0, 15, 0 @ 849079C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 193, 153 @ 84907A8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 193, 153 @ 84907A8
voice_keysplit voicegroup004, KeySplitTable2 @ 84907B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84907C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84907CC
@@ -2342,7 +2342,7 @@ voicegroup133:: @ 8490574
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490838
voice_keysplit voicegroup007, KeySplitTable5 @ 8490844
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490850
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 255, 127 @ 849085C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 255, 127 @ 849085C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490868
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490874
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490880
@@ -2358,7 +2358,7 @@ voicegroup133:: @ 8490574
voice_square_1 0, 2, 0, 0, 15, 0 @ 84908F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490904
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490910
- voice_directsound 60, 0, gDirectSoundWaveData_85, 255, 0, 255, 127 @ 849091C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 255, 0, 255, 127 @ 849091C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490928
voice_square_1_alt 0, 1, 0, 1, 9, 0 @ 8490934
voice_square_2_alt 3, 0, 2, 9, 1 @ 8490940
@@ -2400,7 +2400,7 @@ voicegroup133:: @ 8490574
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490AF0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490AFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490B08
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 8490B14
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 8490B14
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490B20
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490B2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490B38
@@ -2457,7 +2457,7 @@ voicegroup134:: @ 8490B74
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490D84
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490D90
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490D9C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 8490DA8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 8490DA8
voice_keysplit voicegroup004, KeySplitTable2 @ 8490DB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490DC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8490DCC
@@ -2523,7 +2523,7 @@ voicegroup135:: @ 8490FAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491084
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491090
voice_square_1 0, 2, 0, 0, 15, 0 @ 849109C
- voice_directsound 60, 0, gDirectSoundWaveData_74, 85, 137, 180, 204 @ 84910A8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 85, 137, 180, 204 @ 84910A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84910B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84910C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84910CC
@@ -2616,8 +2616,8 @@ voicegroup136:: @ 8491390
voice_square_1 0, 2, 0, 0, 15, 0 @ 84914C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84914D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84914E0
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 84914EC
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 0, 255, 127 @ 84914F8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 84914EC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 84914F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491504
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491510
voice_square_1 0, 2, 0, 0, 15, 0 @ 849151C
@@ -2625,7 +2625,7 @@ voicegroup136:: @ 8491390
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491534
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491540
voice_square_1 0, 2, 0, 0, 15, 0 @ 849154C
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 8491558
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 8491558
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491564
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491570
voice_square_1 0, 2, 0, 0, 15, 0 @ 849157C
@@ -2649,7 +2649,7 @@ voicegroup136:: @ 8491390
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491654
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491660
voice_square_1 0, 2, 0, 0, 15, 0 @ 849166C
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 255, 127 @ 8491678
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 255, 127 @ 8491678
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491684
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491690
voice_square_1 0, 2, 0, 0, 15, 0 @ 849169C
@@ -2721,17 +2721,17 @@ voicegroup137:: @ 8491990
voice_square_1 0, 2, 0, 0, 15, 0 @ 849199C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84919A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84919B4
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 165, 180, 165 @ 84919C0
- voice_directsound 60, 0, gDirectSoundWaveData_87, 255, 137, 154, 165 @ 84919CC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 165, 180, 165 @ 84919C0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 137, 154, 165 @ 84919CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84919D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84919E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84919F0
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 204, 51, 242 @ 84919FC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 204, 51, 242 @ 84919FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A08
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A14
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A20
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A2C
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8491A38
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8491A38
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A44
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A50
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491A5C
@@ -2763,8 +2763,8 @@ voicegroup137:: @ 8491990
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491B94
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491BA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491BAC
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 242, 0, 242 @ 8491BB8
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 193, 153 @ 8491BC4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 242, 0, 242 @ 8491BB8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 193, 153 @ 8491BC4
voice_keysplit voicegroup004, KeySplitTable2 @ 8491BD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491BDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491BE8
@@ -2851,8 +2851,8 @@ voicegroup138:: @ 8491F90
voice_keysplit voicegroup003, KeySplitTable1 @ 8491F9C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491FA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491FB4
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 8491FC0
- voice_directsound 60, 65, gDirectSoundWaveData_87, 255, 204, 77, 246 @ 8491FCC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 8491FC0
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 8491FCC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491FD8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491FE4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8491FF0
@@ -2864,14 +2864,14 @@ voicegroup138:: @ 8491F90
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492038
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492044
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492050
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849205C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849205C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492068
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492074
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492080
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 849208C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 849208C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492098
voice_square_1 0, 2, 0, 0, 15, 0 @ 84920A4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 84920B0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 84920B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84920BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84920C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84920D4
@@ -2893,7 +2893,7 @@ voicegroup138:: @ 8491F90
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492194
voice_square_1 0, 2, 0, 0, 15, 0 @ 84921A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84921AC
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 84921B8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 84921B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84921C4
voice_keysplit voicegroup004, KeySplitTable2 @ 84921D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84921DC
@@ -2920,7 +2920,7 @@ voicegroup138:: @ 8491F90
voice_square_1 0, 2, 0, 0, 15, 0 @ 84922D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84922E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84922F0
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 84922FC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 84922FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492308
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492314
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492320
@@ -2986,22 +2986,22 @@ voicegroup139:: @ 8492590
voice_square_1 0, 2, 0, 0, 15, 0 @ 84925D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84925E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84925F0
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 165, 51, 242 @ 84925FC
- voice_directsound 60, 0, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 8492608
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 165, 51, 242 @ 84925FC
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 8492608
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492614
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492620
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 849262C
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8492638
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 849262C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8492638
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492644
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492650
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 127, 103, 201 @ 849265C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 127, 103, 201 @ 849265C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492668
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492674
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492680
- voice_directsound 60, 0, gDirectSoundWaveData_74, 37, 127, 77, 165 @ 849268C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 37, 127, 77, 165 @ 849268C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492698
voice_square_1 0, 2, 0, 0, 15, 0 @ 84926A4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 51, 204, 92, 226 @ 84926B0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 51, 204, 92, 226 @ 84926B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84926BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84926C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84926D4
@@ -3023,7 +3023,7 @@ voicegroup139:: @ 8492590
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492794
voice_square_1 0, 2, 0, 0, 15, 0 @ 84927A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84927AC
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 242, 51, 226 @ 84927B8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 242, 51, 226 @ 84927B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84927C4
voice_keysplit voicegroup004, KeySplitTable2 @ 84927D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84927DC
@@ -3050,12 +3050,12 @@ voicegroup139:: @ 8492590
voice_square_1 0, 2, 0, 0, 15, 0 @ 84928D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84928E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84928F0
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 0, 255, 165 @ 84928FC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 0, 255, 165 @ 84928FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492908
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492914
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492920
voice_square_1 0, 2, 0, 0, 15, 0 @ 849292C
- voice_directsound 60, 0, gDirectSoundWaveData_85, 255, 0, 255, 127 @ 8492938
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 255, 0, 255, 127 @ 8492938
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492944
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492950
voice_square_1 0, 2, 0, 0, 15, 0 @ 849295C
@@ -3126,18 +3126,18 @@ voicegroup141:: @ 8492BC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C38
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C44
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C50
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 8492C5C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 8492C5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C68
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C74
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C80
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 8492C8C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 8492C8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492C98
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492CA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492CB0
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 8492CBC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 8492CBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492CC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492CD4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 85, 249, 25, 127 @ 8492CE0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 85, 249, 25, 127 @ 8492CE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492CEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492CF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492D04
@@ -3186,7 +3186,7 @@ voicegroup141:: @ 8492BC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492F08
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492F14
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492F20
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 0, 255, 165 @ 8492F2C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 0, 255, 165 @ 8492F2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492F38
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492F44
voice_square_1 0, 2, 0, 0, 15, 0 @ 8492F50
@@ -3260,20 +3260,20 @@ voicegroup142:: @ 84931C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493268
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493274
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493280
- voice_directsound 60, 0, gDirectSoundWaveData_1, 64, 188, 128, 201 @ 849328C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 64, 188, 128, 201 @ 849328C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493298
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932D4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 64, 195, 103, 220 @ 84932E0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 64, 195, 103, 220 @ 84932E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84932F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493304
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493310
- voice_directsound 60, 0, gDirectSoundWaveData_82, 128, 195, 72, 127 @ 849331C
- voice_directsound 60, 0, gDirectSoundWaveData_83, 85, 188, 103, 160 @ 8493328
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 128, 195, 72, 127 @ 849331C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 85, 188, 103, 160 @ 8493328
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493334
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493340
voice_square_1 0, 2, 0, 0, 15, 0 @ 849334C
@@ -3281,7 +3281,7 @@ voicegroup142:: @ 84931C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493364
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493370
voice_square_1 0, 2, 0, 0, 15, 0 @ 849337C
- voice_directsound 60, 0, gDirectSoundWaveData_4, 128, 188, 77, 115 @ 8493388
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 128, 188, 77, 115 @ 8493388
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493394
voice_square_1 0, 2, 0, 0, 15, 0 @ 84933A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84933AC
@@ -3305,7 +3305,7 @@ voicegroup142:: @ 84931C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493484
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493490
voice_square_1 0, 2, 0, 0, 15, 0 @ 849349C
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 175, 154, 127 @ 84934A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 175, 154, 127 @ 84934A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84934B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84934C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84934CC
@@ -3346,14 +3346,14 @@ voicegroup143:: @ 84935B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493658
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493664
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493670
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 160, 123, 165 @ 849367C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 160, 123, 165 @ 849367C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493688
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493694
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936C4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 0 @ 84936D0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 0 @ 84936D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84936F4
@@ -3476,14 +3476,14 @@ voicegroup144:: @ 8493BB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493C58
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493C64
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493C70
- voice_directsound 60, 0, gDirectSoundWaveData_1, 85, 188, 92, 165 @ 8493C7C
- voice_directsound 60, 0, gDirectSoundWaveData_1, 85, 127, 180, 165 @ 8493C88
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 85, 188, 92, 165 @ 8493C7C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 85, 127, 180, 165 @ 8493C88
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493C94
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CC4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 51, 204, 92, 226 @ 8493CD0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 51, 204, 92, 226 @ 8493CD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493CF4
@@ -3494,10 +3494,10 @@ voicegroup144:: @ 8493BB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D30
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D3C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D48
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 216 @ 8493D54
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 216 @ 8493D54
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D60
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D6C
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 8493D78
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 8493D78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D84
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D90
voice_square_1 0, 2, 0, 0, 15, 0 @ 8493D9C
@@ -3593,8 +3593,8 @@ voicegroup145:: @ 84941B0
voice_keysplit voicegroup003, KeySplitTable1 @ 84941BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84941C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84941D4
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 84941E0
- voice_directsound 60, 65, gDirectSoundWaveData_87, 255, 204, 77, 246 @ 84941EC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 84941E0
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 84941EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84941F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494204
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494210
@@ -3606,14 +3606,14 @@ voicegroup145:: @ 84941B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494258
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494264
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494270
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849427C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849427C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494288
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494294
voice_square_1 0, 2, 0, 0, 15, 0 @ 84942A0
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 84942AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 84942AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84942B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84942C4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 84942D0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 84942D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84942DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84942E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84942F4
@@ -3635,7 +3635,7 @@ voicegroup145:: @ 84941B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84943B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84943C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84943CC
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 84943D8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 84943D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84943E4
voice_keysplit voicegroup004, KeySplitTable2 @ 84943F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84943FC
@@ -3662,7 +3662,7 @@ voicegroup145:: @ 84941B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84944F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494504
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494510
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849451C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849451C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494528
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494534
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494540
@@ -3720,7 +3720,7 @@ voicegroup145:: @ 84941B0
voicegroup146:: @ 84947B0
voice_keysplit_all voicegroup002 @ 84947B0
- voice_directsound 60, 0, gDirectSoundWaveData_81, 255, 165, 103, 235 @ 84947BC
+ voice_directsound 60, 0, DirectSoundWaveData_steinway_b_piano, 255, 165, 103, 235 @ 84947BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84947C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84947D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84947E0
@@ -3732,7 +3732,7 @@ voicegroup146:: @ 84947B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494828
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494834
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494840
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 849484C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 849484C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494858
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494864
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494870
@@ -3743,7 +3743,7 @@ voicegroup146:: @ 84947B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84948AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84948B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84948C4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 85, 249, 25, 226 @ 84948D0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 85, 249, 25, 226 @ 84948D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84948DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84948E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84948F4
@@ -3797,7 +3797,7 @@ voicegroup146:: @ 84947B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494B34
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494B40
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494B4C
- voice_directsound 60, 0, gDirectSoundWaveData_85, 43, 76, 103, 216 @ 8494B58
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 43, 76, 103, 216 @ 8494B58
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494B64
voice_square_2_alt 2, 0, 2, 4, 4 @ 8494B70
voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 8494B7C
@@ -3873,7 +3873,7 @@ voicegroup147:: @ 8494DB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494EAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494EB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494EC4
- voice_directsound 60, 0, gDirectSoundWaveData_78, 64, 249, 25, 226 @ 8494ED0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 64, 249, 25, 226 @ 8494ED0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494EDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494EE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8494EF4
@@ -3948,8 +3948,8 @@ voicegroup148:: @ 84951A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495218
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495224
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495230
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 226, 0, 127 @ 849523C
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8495248
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 226, 0, 127 @ 849523C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8495248
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495254
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495260
voice_square_1 0, 2, 0, 0, 15, 0 @ 849526C
@@ -3974,7 +3974,7 @@ voicegroup148:: @ 84951A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495350
voice_square_1 0, 2, 0, 0, 15, 0 @ 849535C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495368
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 0, 255, 127 @ 8495374
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 8495374
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495380
voice_square_1 0, 2, 0, 0, 15, 0 @ 849538C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495398
@@ -4074,12 +4074,12 @@ voicegroup149:: @ 84957A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84957E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84957F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495800
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 165, 51, 242 @ 849580C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 165, 51, 242 @ 849580C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495818
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495824
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495830
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 849583C
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8495848
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 849583C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8495848
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495854
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495860
voice_square_1 0, 2, 0, 0, 15, 0 @ 849586C
@@ -4111,8 +4111,8 @@ voicegroup149:: @ 84957A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84959A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84959B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84959BC
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 84959C8
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 165, 154, 153 @ 84959D4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 84959C8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 165, 154, 153 @ 84959D4
voice_keysplit voicegroup004, KeySplitTable2 @ 84959E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84959EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84959F8
@@ -4133,12 +4133,12 @@ voicegroup149:: @ 84957A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495AAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495AB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495AC4
- voice_directsound 60, 0, gDirectSoundWaveData_7, 43, 188, 103, 165 @ 8495AD0
- voice_directsound 60, 0, gDirectSoundWaveData_8, 43, 165, 103, 165 @ 8495ADC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_oboe, 43, 188, 103, 165 @ 8495AD0
+ voice_directsound 60, 0, DirectSoundWaveData_unused_sd90_oboe, 43, 165, 103, 165 @ 8495ADC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495AE8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495AF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495B00
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 8495B0C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 8495B0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495B18
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495B24
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495B30
@@ -4161,7 +4161,7 @@ voicegroup149:: @ 84957A0
voicegroup150:: @ 8495BFC
voice_keysplit_all voicegroup002 @ 8495BFC
- voice_directsound 60, 0, gDirectSoundWaveData_81, 255, 165, 103, 235 @ 8495C08
+ voice_directsound 60, 0, DirectSoundWaveData_steinway_b_piano, 255, 165, 103, 235 @ 8495C08
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495C14
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495C20
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495C2C
@@ -4238,7 +4238,7 @@ voicegroup150:: @ 8495BFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495F80
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495F8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495F98
- voice_directsound 60, 0, gDirectSoundWaveData_85, 85, 204, 77, 127 @ 8495FA4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 85, 204, 77, 127 @ 8495FA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8495FB0
voice_square_2_alt 1, 0, 1, 4, 6 @ 8495FBC
voice_square_1_alt 0, 1, 0, 2, 4, 5 @ 8495FC8
@@ -4304,7 +4304,7 @@ voicegroup151:: @ 84961FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496280
voice_square_1 0, 2, 0, 0, 15, 0 @ 849628C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496298
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 84962A4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 84962A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84962B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84962BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84962C8
@@ -4337,7 +4337,7 @@ voicegroup151:: @ 84961FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849640C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496418
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496424
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 193, 127 @ 8496430
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 193, 127 @ 8496430
voice_keysplit voicegroup004, KeySplitTable2 @ 849643C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496448
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496454
@@ -4394,17 +4394,17 @@ voicegroup152:: @ 849661C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84966A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84966AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84966B8
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 97, 236 @ 84966C4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 97, 236 @ 84966C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84966D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84966DC
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 160, 175, 165 @ 84966E8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 160, 175, 165 @ 84966E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84966F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496700
voice_square_1 0, 2, 0, 0, 15, 0 @ 849670C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496718
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496724
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496730
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 128, 204 @ 849673C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 128, 204 @ 849673C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496748
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496754
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496760
@@ -4427,7 +4427,7 @@ voicegroup152:: @ 849661C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849682C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496838
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496844
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 127, 154, 235 @ 8496850
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 127, 154, 235 @ 8496850
voice_keysplit voicegroup004, KeySplitTable2 @ 849685C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496868
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496874
@@ -4524,7 +4524,7 @@ voicegroup153:: @ 8496C1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496CA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496CAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496CB8
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 97, 236 @ 8496CC4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 97, 236 @ 8496CC4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496CD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496CDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496CE8
@@ -4556,8 +4556,8 @@ voicegroup153:: @ 8496C1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496E20
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496E2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496E38
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 8496E44
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 127, 154, 235 @ 8496E50
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 8496E44
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 127, 154, 235 @ 8496E50
voice_keysplit voicegroup004, KeySplitTable2 @ 8496E5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496E68
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496E74
@@ -4583,7 +4583,7 @@ voicegroup153:: @ 8496C1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496F64
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496F70
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496F7C
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 8496F88
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 8496F88
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496F94
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496FA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8496FAC
@@ -4644,7 +4644,7 @@ voicegroup154:: @ 849721C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497228
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497234
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497240
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 249, 0, 165 @ 849724C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 849724C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497258
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497264
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497270
@@ -4654,7 +4654,7 @@ voicegroup154:: @ 849721C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84972A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84972AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84972B8
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 97, 236 @ 84972C4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 97, 236 @ 84972C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84972D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84972DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84972E8
@@ -4687,7 +4687,7 @@ voicegroup154:: @ 849721C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849742C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497438
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497444
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 127, 154, 235 @ 8497450
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 127, 154, 235 @ 8497450
voice_keysplit voicegroup004, KeySplitTable2 @ 849745C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497468
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497474
@@ -4739,8 +4739,8 @@ voicegroup155:: @ 8497678
voice_keysplit voicegroup003, KeySplitTable1 @ 8497684
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497690
voice_square_1 0, 2, 0, 0, 15, 0 @ 849769C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 249, 0, 165 @ 84976A8
- voice_directsound 60, 0, gDirectSoundWaveData_87, 255, 188, 103, 165 @ 84976B4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 84976A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 188, 103, 165 @ 84976B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84976C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84976CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84976D8
@@ -4749,23 +4749,23 @@ voicegroup155:: @ 8497678
voice_square_1 0, 2, 0, 0, 15, 0 @ 84976FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497708
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497714
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8497720
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8497720
voice_square_1 0, 2, 0, 0, 15, 0 @ 849772C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497738
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 127 @ 8497744
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 127 @ 8497744
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497750
voice_square_1 0, 2, 0, 0, 15, 0 @ 849775C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497768
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497774
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497780
voice_square_1 0, 2, 0, 0, 15, 0 @ 849778C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 8497798
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 128, 204 @ 84977A4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 8497798
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 128, 204 @ 84977A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84977B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84977BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84977C8
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 84977D4
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 165, 154, 165 @ 84977E0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 84977D4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 165, 154, 165 @ 84977E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84977EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84977F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497804
@@ -4782,7 +4782,7 @@ voicegroup155:: @ 8497678
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497888
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497894
voice_square_1 0, 2, 0, 0, 15, 0 @ 84978A0
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 84978AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 84978AC
voice_keysplit voicegroup004, KeySplitTable2 @ 84978B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84978C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84978D0
@@ -4797,7 +4797,7 @@ voicegroup155:: @ 8497678
voice_square_1 0, 2, 0, 0, 15, 0 @ 849793C
voice_keysplit voicegroup007, KeySplitTable5 @ 8497948
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497954
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 165, 180, 165 @ 8497960
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 165, 180, 165 @ 8497960
voice_square_1 0, 2, 0, 0, 15, 0 @ 849796C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497978
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497984
@@ -4855,7 +4855,7 @@ voicegroup155:: @ 8497678
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497BF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497C00
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497C0C
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 8497C18
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 8497C18
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497C24
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497C30
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497C3C
@@ -4870,7 +4870,7 @@ voicegroup156:: @ 8497C78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497C90
voice_programmable_wave_alt gProgrammableWaveData_84A322C, 0, 7, 15, 0 @ 8497C9C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497CA8
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 249, 0, 165 @ 8497CB4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 8497CB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497CC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497CCC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497CD8
@@ -4882,26 +4882,26 @@ voicegroup156:: @ 8497C78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D20
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D38
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 127 @ 8497D44
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 127 @ 8497D44
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D50
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D68
- voice_directsound 60, 0, gDirectSoundWaveData_74, 255, 0, 255, 165 @ 8497D74
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 8497D74
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D80
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497D8C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 128, 204 @ 8497D98
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 128, 204 @ 8497D98
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497DA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497DB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497DBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497DC8
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 8497DD4
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 0, 255, 127 @ 8497DE0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 8497DD4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 8497DE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497DEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497DF8
voice_square_2_alt 3, 0, 4, 4, 4 @ 8497E04
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497E10
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497E1C
- voice_directsound 60, 0, gDirectSoundWaveData_10, 255, 165, 180, 216 @ 8497E28
+ voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_unison_slap, 255, 165, 180, 216 @ 8497E28
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497E34
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497E40
voice_square_2_alt 1, 0, 1, 7, 5 @ 8497E4C
@@ -4927,7 +4927,7 @@ voicegroup156:: @ 8497C78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497F3C
voice_keysplit voicegroup007, KeySplitTable5 @ 8497F48
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497F54
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 255, 127 @ 8497F60
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 255, 127 @ 8497F60
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497F6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497F78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8497F84
@@ -4985,7 +4985,7 @@ voicegroup156:: @ 8497C78
voice_square_1 0, 2, 0, 0, 15, 0 @ 84981F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498200
voice_square_1 0, 2, 0, 0, 15, 0 @ 849820C
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 8498218
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 8498218
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498224
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498230
voice_square_1 0, 2, 0, 0, 15, 0 @ 849823C
@@ -5012,28 +5012,28 @@ voicegroup157:: @ 8498278
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498320
voice_square_1 0, 2, 0, 0, 15, 0 @ 849832C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498338
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 146, 190, 115 @ 8498344
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 146, 190, 115 @ 8498344
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498350
voice_square_1 0, 2, 0, 0, 15, 0 @ 849835C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498368
- voice_directsound 60, 0, gDirectSoundWaveData_74, 255, 0, 255, 165 @ 8498374
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 8498374
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498380
voice_square_1 0, 2, 0, 0, 15, 0 @ 849838C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 128, 204 @ 8498398
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 128, 204 @ 8498398
voice_square_1 0, 2, 0, 0, 15, 0 @ 84983A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84983B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84983BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84983C8
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 84983D4
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 0, 255, 127 @ 84983E0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 84983D4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 84983E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84983EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84983F8
- voice_directsound 60, 0, gDirectSoundWaveData_49, 255, 253, 0, 149 @ 8498404
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 8498404
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498410
voice_square_1 0, 2, 0, 0, 15, 0 @ 849841C
- voice_directsound 60, 0, gDirectSoundWaveData_10, 255, 165, 180, 216 @ 8498428
+ voice_directsound 60, 0, DirectSoundWaveData_unused_sc88_unison_slap, 255, 165, 180, 216 @ 8498428
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498434
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 8498440
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 8498440
voice_square_1 0, 2, 0, 0, 15, 0 @ 849844C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498458
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498464
@@ -5057,7 +5057,7 @@ voicegroup157:: @ 8498278
voice_square_1 0, 2, 0, 0, 15, 0 @ 849853C
voice_keysplit voicegroup007, KeySplitTable5 @ 8498548
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498554
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 255, 127 @ 8498560
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 255, 127 @ 8498560
voice_square_1 0, 2, 0, 0, 15, 0 @ 849856C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498578
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498584
@@ -5129,42 +5129,42 @@ voicegroup158:: @ 8498878
voice_keysplit voicegroup003, KeySplitTable1 @ 8498884
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498890
voice_square_1 0, 2, 0, 0, 15, 0 @ 849889C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 249, 0, 165 @ 84988A8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 84988A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84988B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84988C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84988CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84988D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84988E4
- voice_directsound 60, 0, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 84988F0
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 84988F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84988FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498908
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498914
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8498920
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8498920
voice_square_1 0, 2, 0, 0, 15, 0 @ 849892C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498938
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 146, 108, 137 @ 8498944
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 146, 108, 137 @ 8498944
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498950
voice_square_1 0, 2, 0, 0, 15, 0 @ 849895C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498968
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498974
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498980
voice_square_1 0, 2, 0, 0, 15, 0 @ 849898C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 204, 103, 226 @ 8498998
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 204, 103, 226 @ 8498998
voice_square_1 0, 2, 0, 0, 15, 0 @ 84989A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84989B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84989BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84989C8
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 84989D4
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 0, 255, 127 @ 84989E0
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 84989EC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 84989D4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 84989E0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 84989EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84989F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A04
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A10
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 8498A1C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 8498A1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A28
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A34
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 8498A40
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 0, 255, 127 @ 8498A4C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 8498A40
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 8498A4C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A58
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A64
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A70
@@ -5172,13 +5172,13 @@ voicegroup158:: @ 8498878
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A88
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498A94
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498AA0
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 193, 153 @ 8498AAC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 193, 153 @ 8498AAC
voice_keysplit voicegroup004, KeySplitTable2 @ 8498AB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498AC4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498AD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498ADC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498AE8
- voice_directsound 60, 0, gDirectSoundWaveData_6, 255, 0, 255, 0 @ 8498AF4
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 8498AF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B00
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B0C
voice_keysplit voicegroup005, KeySplitTable3 @ 8498B18
@@ -5187,7 +5187,7 @@ voicegroup158:: @ 8498878
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B3C
voice_keysplit voicegroup007, KeySplitTable5 @ 8498B48
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B54
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 236, 188 @ 8498B60
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 236, 188 @ 8498B60
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498B84
@@ -5203,7 +5203,7 @@ voicegroup158:: @ 8498878
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498BFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498C08
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498C14
- voice_directsound 60, 0, gDirectSoundWaveData_85, 255, 0, 255, 127 @ 8498C20
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 255, 0, 255, 127 @ 8498C20
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498C2C
voice_square_1_alt 0, 1, 0, 1, 9, 0 @ 8498C38
voice_square_2_alt 3, 0, 1, 10, 1 @ 8498C44
@@ -5259,8 +5259,8 @@ voicegroup159:: @ 8498E78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498E84
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498E90
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498E9C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 64, 249, 0, 188 @ 8498EA8
- voice_directsound 60, 0, gDirectSoundWaveData_87, 51, 249, 0, 165 @ 8498EB4
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 8498EA8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 51, 249, 0, 165 @ 8498EB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498EC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498ECC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498ED8
@@ -5279,7 +5279,7 @@ voicegroup159:: @ 8498E78
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498F74
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498F80
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498F8C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 85, 249, 25, 127 @ 8498F98
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 85, 249, 25, 127 @ 8498F98
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498FA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498FB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8498FBC
@@ -5399,7 +5399,7 @@ voicegroup160:: @ 8499478
voice_square_1 0, 2, 0, 0, 15, 0 @ 84994FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499508
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499514
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8499520
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8499520
voice_square_1 0, 2, 0, 0, 15, 0 @ 849952C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499538
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499544
@@ -5409,7 +5409,7 @@ voicegroup160:: @ 8499478
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499574
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499580
voice_square_1 0, 2, 0, 0, 15, 0 @ 849958C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 8499598
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 8499598
voice_square_1 0, 2, 0, 0, 15, 0 @ 84995A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84995B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84995BC
@@ -5420,7 +5420,7 @@ voicegroup160:: @ 8499478
voice_square_1 0, 2, 0, 0, 15, 0 @ 84995F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499604
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499610
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 849961C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 849961C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499628
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499634
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499640
@@ -5489,14 +5489,14 @@ voicegroup161:: @ 8499898
voice_square_1 0, 2, 0, 0, 15, 0 @ 849991C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499928
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499934
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8499940
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8499940
voice_square_1 0, 2, 0, 0, 15, 0 @ 849994C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499958
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 127 @ 8499964
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 127 @ 8499964
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499970
voice_square_1 0, 2, 0, 0, 15, 0 @ 849997C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499988
- voice_directsound 60, 0, gDirectSoundWaveData_74, 255, 0, 255, 165 @ 8499994
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 8499994
voice_square_1 0, 2, 0, 0, 15, 0 @ 84999A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84999AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84999B8
@@ -5548,7 +5548,7 @@ voicegroup161:: @ 8499898
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499BE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499BEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499BF8
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 0, 255, 165 @ 8499C04
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 0, 255, 165 @ 8499C04
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499C10
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499C1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499C28
@@ -5609,7 +5609,7 @@ voicegroup162:: @ 8499E98
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499EA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499EB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499EBC
- voice_directsound 60, 0, gDirectSoundWaveData_87, 64, 188, 108, 244 @ 8499EC8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 64, 188, 108, 244 @ 8499EC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499ED4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499EE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499EEC
@@ -5619,17 +5619,17 @@ voicegroup162:: @ 8499E98
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F28
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F34
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 8499F40
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 8499F40
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F4C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F58
- voice_directsound 60, 0, gDirectSoundWaveData_1, 64, 195, 92, 235 @ 8499F64
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 64, 195, 92, 235 @ 8499F64
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F70
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F7C
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F88
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499F94
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499FA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499FAC
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 8499FB8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 8499FB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499FC4
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499FD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 8499FDC
@@ -5638,7 +5638,7 @@ voicegroup162:: @ 8499E98
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A000
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A00C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A018
- voice_directsound 60, 0, gDirectSoundWaveData_49, 64, 204, 113, 235 @ 849A024
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 64, 204, 113, 235 @ 849A024
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A030
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A03C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A048
@@ -5704,8 +5704,8 @@ voicegroup163:: @ 849A2F4
voice_keysplit voicegroup003, KeySplitTable1 @ 849A300
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A30C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A318
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 849A324
- voice_directsound 60, 65, gDirectSoundWaveData_87, 255, 204, 77, 246 @ 849A330
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 849A324
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 849A330
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A33C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A348
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A354
@@ -5717,14 +5717,14 @@ voicegroup163:: @ 849A2F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A39C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A3A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A3B4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849A3C0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849A3C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A3CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A3D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A3E4
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 849A3F0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 849A3F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A3FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A408
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 849A414
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 849A414
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A420
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A42C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A438
@@ -5746,7 +5746,7 @@ voicegroup163:: @ 849A2F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A4F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A504
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A510
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 849A51C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 849A51C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A528
voice_keysplit voicegroup004, KeySplitTable2 @ 849A534
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A540
@@ -5758,7 +5758,7 @@ voicegroup163:: @ 849A2F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A588
voice_keysplit voicegroup005, KeySplitTable3 @ 849A594
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A5A0
- voice_directsound 60, 0, gDirectSoundWaveData_77, 255, 0, 206, 204 @ 849A5AC
+ voice_directsound 60, 0, DirectSoundWaveData_wave_77, 255, 0, 206, 204 @ 849A5AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A5B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A5C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A5D0
@@ -5773,7 +5773,7 @@ voicegroup163:: @ 849A2F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A63C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A648
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A654
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849A660
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849A660
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A66C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A678
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A684
@@ -5834,8 +5834,8 @@ voicegroup164:: @ 849A8F4
voice_keysplit voicegroup003, KeySplitTable1 @ 849A900
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A90C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A918
- voice_directsound 60, 0, gDirectSoundWaveData_86, 128, 180, 108, 209 @ 849A924
- voice_directsound 60, 65, gDirectSoundWaveData_87, 85, 204, 77, 246 @ 849A930
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 128, 180, 108, 209 @ 849A924
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 85, 204, 77, 246 @ 849A930
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A93C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A948
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A954
@@ -5847,14 +5847,14 @@ voicegroup164:: @ 849A8F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A99C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A9A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A9B4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849A9C0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849A9C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A9CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A9D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A9E4
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 849A9F0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 849A9F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849A9FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AA08
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 849AA14
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 849AA14
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AA20
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AA2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AA38
@@ -5876,7 +5876,7 @@ voicegroup164:: @ 849A8F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AAF8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AB04
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AB10
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 849AB1C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 849AB1C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AB28
voice_keysplit voicegroup004, KeySplitTable2 @ 849AB34
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AB40
@@ -5903,7 +5903,7 @@ voicegroup164:: @ 849A8F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AC3C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AC48
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AC54
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849AC60
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849AC60
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AC6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AC78
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AC84
@@ -5969,22 +5969,22 @@ voicegroup165:: @ 849AEF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AF3C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AF48
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AF54
- voice_directsound 60, 0, gDirectSoundWaveData_0, 255, 165, 51, 242 @ 849AF60
- voice_directsound 60, 0, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 849AF6C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_glockenspiel, 255, 165, 51, 242 @ 849AF60
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 849AF6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AF78
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AF84
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 849AF90
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 849AF9C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 849AF90
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 849AF9C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFB4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 37, 165, 103, 127 @ 849AFC0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 37, 165, 103, 127 @ 849AFC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFCC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFD8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFE4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFF0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849AFFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B008
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 204, 92, 226 @ 849B014
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 204, 92, 226 @ 849B014
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B020
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B02C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B038
@@ -6006,7 +6006,7 @@ voicegroup165:: @ 849AEF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B0F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B104
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B110
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 242, 51, 226 @ 849B11C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 242, 51, 226 @ 849B11C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B128
voice_keysplit voicegroup004, KeySplitTable2 @ 849B134
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B140
@@ -6033,12 +6033,12 @@ voicegroup165:: @ 849AEF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B23C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B248
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B254
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 0, 255, 165 @ 849B260
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 0, 255, 165 @ 849B260
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B26C
- voice_directsound 60, 0, gDirectSoundWaveData_88, 255, 191, 97, 165 @ 849B278
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_enhanced_delay_shaku, 255, 191, 97, 165 @ 849B278
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B284
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B290
- voice_directsound 60, 0, gDirectSoundWaveData_85, 255, 0, 255, 127 @ 849B29C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 255, 0, 255, 127 @ 849B29C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B2A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B2B4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B2C0
@@ -6100,36 +6100,36 @@ voicegroup166:: @ 849B4F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B548
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B554
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B560
- voice_directsound 60, 0, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 849B56C
+ voice_directsound 60, 0, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 849B56C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B578
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B584
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B590
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 849B59C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 849B59C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5B4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 128, 146, 108, 137 @ 849B5C0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 128, 146, 108, 137 @ 849B5C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B5FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B608
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 204, 103, 226 @ 849B614
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 204, 103, 226 @ 849B614
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B620
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B62C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B638
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B644
- voice_directsound 60, 0, gDirectSoundWaveData_82, 255, 0, 255, 127 @ 849B650
- voice_directsound 60, 0, gDirectSoundWaveData_83, 255, 0, 255, 127 @ 849B65C
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 849B668
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 255, 0, 255, 127 @ 849B650
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 255, 0, 255, 127 @ 849B65C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 849B668
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B674
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B680
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B68C
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 849B698
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 849B698
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B6A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B6B0
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 849B6BC
- voice_directsound 60, 0, gDirectSoundWaveData_52, 255, 0, 255, 127 @ 849B6C8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 849B6BC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_square_wave, 255, 0, 255, 127 @ 849B6C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B6D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B6E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B6EC
@@ -6137,7 +6137,7 @@ voicegroup166:: @ 849B4F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B704
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B710
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B71C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 193, 153 @ 849B728
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 193, 153 @ 849B728
voice_keysplit voicegroup004, KeySplitTable2 @ 849B734
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B740
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B74C
@@ -6152,7 +6152,7 @@ voicegroup166:: @ 849B4F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B7B8
voice_keysplit voicegroup007, KeySplitTable5 @ 849B7C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B7D0
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 236, 188 @ 849B7DC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 236, 188 @ 849B7DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B7E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B7F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B800
@@ -6168,7 +6168,7 @@ voicegroup166:: @ 849B4F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B878
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B884
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B890
- voice_directsound 60, 0, gDirectSoundWaveData_85, 255, 0, 255, 127 @ 849B89C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 255, 0, 255, 127 @ 849B89C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849B8A8
voice_square_1_alt 0, 3, 0, 1, 9, 0 @ 849B8B4
voice_square_2_alt 3, 0, 2, 9, 1 @ 849B8C0
@@ -6237,14 +6237,14 @@ voicegroup167:: @ 849BAF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BB9C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BBA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BBB4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849BBC0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849BBC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BBCC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BBD8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BBE4
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 849BBF0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 849BBF0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BBFC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BC08
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 849BC14
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 849BC14
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BC20
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BC2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849BC38
@@ -6354,8 +6354,8 @@ voicegroup168:: @ 849C0F4
voice_keysplit voicegroup003, KeySplitTable1 @ 849C100
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C10C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C118
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 849C124
- voice_directsound 60, 65, gDirectSoundWaveData_87, 255, 204, 77, 246 @ 849C130
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 849C124
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 849C130
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C13C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C148
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C154
@@ -6367,14 +6367,14 @@ voicegroup168:: @ 849C0F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C19C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C1A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C1B4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849C1C0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849C1C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C1CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C1D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C1E4
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 849C1F0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 849C1F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C1FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C208
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 849C214
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 849C214
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C220
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C22C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C238
@@ -6395,8 +6395,8 @@ voicegroup168:: @ 849C0F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C2EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C2F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C304
- voice_directsound 60, 0, gDirectSoundWaveData_55, 255, 216, 0, 165 @ 849C310
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 849C31C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pizzicato_strings, 255, 216, 0, 165 @ 849C310
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 849C31C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C328
voice_keysplit voicegroup004, KeySplitTable2 @ 849C334
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C340
@@ -6423,7 +6423,7 @@ voicegroup168:: @ 849C0F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C43C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C448
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C454
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849C460
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849C460
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C46C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C478
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C484
@@ -6497,7 +6497,7 @@ voicegroup169:: @ 849C6F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C79C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C7A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C7B4
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 210 @ 849C7C0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 210 @ 849C7C0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C7CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C7D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C7E4
@@ -6515,7 +6515,7 @@ voicegroup169:: @ 849C6F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C874
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C880
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C88C
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 849C898
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 849C898
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C8A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C8B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849C8BC
@@ -6657,7 +6657,7 @@ voicegroup170:: @ 849CCF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849CF04
voice_square_1 0, 2, 0, 0, 15, 0 @ 849CF10
voice_square_1 0, 2, 0, 0, 15, 0 @ 849CF1C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 849CF28
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 849CF28
voice_square_1 0, 2, 0, 0, 15, 0 @ 849CF34
voice_square_1 0, 2, 0, 0, 15, 0 @ 849CF40
voice_square_1 0, 2, 0, 0, 15, 0 @ 849CF4C
@@ -6683,7 +6683,7 @@ voicegroup170:: @ 849CCF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D03C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D048
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D054
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849D060
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849D060
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D06C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D078
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D084
@@ -6741,9 +6741,9 @@ voicegroup171:: @ 849D0E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D2DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D2E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D2F4
- voice_directsound 60, 0, gDirectSoundWaveData_55, 255, 216, 0, 165 @ 849D300
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pizzicato_strings, 255, 216, 0, 165 @ 849D300
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D30C
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 849D318
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 849D318
voice_keysplit voicegroup004, KeySplitTable2 @ 849D324
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D330
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D33C
@@ -6769,7 +6769,7 @@ voicegroup171:: @ 849D0E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D42C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D438
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D444
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849D450
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849D450
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D45C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D468
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D474
@@ -6793,8 +6793,8 @@ voicegroup172:: @ 849D528
voice_keysplit voicegroup003, KeySplitTable1 @ 849D534
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D540
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D54C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 849D558
- voice_directsound 60, 65, gDirectSoundWaveData_87, 255, 204, 77, 246 @ 849D564
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 849D558
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 255, 204, 77, 246 @ 849D564
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D570
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D57C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D588
@@ -6806,14 +6806,14 @@ voicegroup172:: @ 849D528
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D5D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D5DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D5E8
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 849D5F4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 849D5F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D600
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D60C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D618
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 849D624
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 849D624
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D630
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D63C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 849D648
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 849D648
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D654
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D660
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D66C
@@ -6835,7 +6835,7 @@ voicegroup172:: @ 849D528
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D72C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D738
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D744
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 849D750
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 849D750
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D75C
voice_keysplit voicegroup004, KeySplitTable2 @ 849D768
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D774
@@ -6862,7 +6862,7 @@ voicegroup172:: @ 849D528
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D870
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D87C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D888
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849D894
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849D894
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D8A0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D8AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849D8B8
@@ -6923,8 +6923,8 @@ voicegroup173:: @ 849DB28
voice_keysplit voicegroup003, KeySplitTable1 @ 849DB34
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DB40
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DB4C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 849DB58
- voice_directsound 60, 65, gDirectSoundWaveData_87, 128, 204, 77, 246 @ 849DB64
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 849DB58
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 849DB64
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DB70
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DB7C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DB88
@@ -6933,18 +6933,18 @@ voicegroup173:: @ 849DB28
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DBAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DBB8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DBC4
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 849DBD0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 849DBD0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DBDC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DBE8
- voice_directsound 60, 0, gDirectSoundWaveData_1, 51, 0, 203, 127 @ 849DBF4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 51, 0, 203, 127 @ 849DBF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC00
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC18
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC24
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC30
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC3C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 849DC48
- voice_directsound 60, 0, gDirectSoundWaveData_78, 64, 216, 51, 224 @ 849DC54
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 849DC48
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 64, 216, 51, 224 @ 849DC54
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC60
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC6C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DC78
@@ -6954,7 +6954,7 @@ voicegroup173:: @ 849DB28
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DCA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DCB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DCC0
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 849DCCC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 849DCCC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DCD8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DCE4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DCF0
@@ -6992,7 +6992,7 @@ voicegroup173:: @ 849DB28
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DE70
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DE7C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DE88
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 849DE94
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 849DE94
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DEA0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DEAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849DEB8
@@ -7054,7 +7054,7 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E140
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E14C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E158
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 249, 0, 165 @ 849E164
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 849E164
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E170
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E17C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E188
@@ -7066,11 +7066,11 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E1D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E1DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E1E8
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 0, 255, 127 @ 849E1F4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 0, 255, 127 @ 849E1F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E200
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E20C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E218
- voice_directsound 60, 0, gDirectSoundWaveData_74, 255, 0, 255, 165 @ 849E224
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 255, 0, 255, 165 @ 849E224
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E230
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E23C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E248
@@ -7078,8 +7078,8 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E260
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E26C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E278
- voice_directsound 60, 0, gDirectSoundWaveData_82, 128, 0, 255, 214 @ 849E284
- voice_directsound 60, 0, gDirectSoundWaveData_83, 128, 0, 255, 206 @ 849E290
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 128, 0, 255, 214 @ 849E284
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 128, 0, 255, 206 @ 849E290
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E29C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E2A8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E2B4
@@ -7087,7 +7087,7 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E2CC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E2D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E2E4
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 165 @ 849E2F0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 165 @ 849E2F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E2FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E308
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E314
@@ -7111,7 +7111,7 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E3EC
voice_keysplit voicegroup007, KeySplitTable5 @ 849E3F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E404
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 255, 209 @ 849E410
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 255, 209 @ 849E410
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E41C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E428
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E434
@@ -7169,7 +7169,7 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E6A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E6B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E6BC
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 849E6C8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 849E6C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E6D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E6E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E6EC
@@ -7201,7 +7201,7 @@ voicegroup174:: @ 849E128
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E824
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E830
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E83C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 154, 127 @ 849E848
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 154, 127 @ 849E848
voice_keysplit_all voicegroup002 @ 849E854
voice_square_1_alt 0, 2, 0, 2, 3, 1 @ 849E860
voice_square_2_alt 2, 0, 2, 3, 1 @ 849E86C
@@ -7221,7 +7221,7 @@ voicegroup175:: @ 849E884
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E8FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E908
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E914
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 849E920
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 849E920
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E92C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E938
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E944
@@ -7232,7 +7232,7 @@ voicegroup175:: @ 849E884
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E980
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E98C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E998
- voice_directsound 60, 0, gDirectSoundWaveData_78, 85, 165, 154, 127 @ 849E9A4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 85, 165, 154, 127 @ 849E9A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E9B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E9BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849E9C8
@@ -7347,36 +7347,36 @@ voicegroup177:: @ 849ED34
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EEB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EEC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EECC
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_30, 255, 0, 255, 0 @ 849EED8
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_23, 255, 0, 255, 0 @ 849EEE4
- voice_directsound_no_resample 67, 71, gDirectSoundWaveData_24, 255, 180, 175, 228 @ 849EEF0
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_24, 255, 0, 255, 242 @ 849EEFC
- voice_directsound_no_resample 65, 0, gDirectSoundWaveData_16, 255, 255, 255, 127 @ 849EF08
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_17, 255, 0, 255, 242 @ 849EF14
- voice_directsound 64, 24, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 849EF20
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_bells, 255, 0, 255, 0 @ 849EED8
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_drum_and_percussion_kick, 255, 0, 255, 0 @ 849EEE4
+ voice_directsound_no_resample 67, 71, DirectSoundWaveData_sd90_solo_snare, 255, 180, 175, 228 @ 849EEF0
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sd90_solo_snare, 255, 0, 255, 242 @ 849EEFC
+ voice_directsound_no_resample 65, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 849EF08
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 849EF14
+ voice_directsound 64, 24, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 849EF20
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EF2C
- voice_directsound 68, 29, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 849EF38
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_15, 255, 0, 255, 242 @ 849EF44
- voice_directsound 72, 64, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 849EF50
+ voice_directsound 68, 29, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 849EF38
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 849EF44
+ voice_directsound 72, 64, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 849EF50
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EF5C
- voice_directsound 76, 39, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 849EF68
- voice_directsound 80, 89, gDirectSoundWaveData_25, 255, 0, 255, 226 @ 849EF74
- voice_directsound_no_resample 33, 10, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 849EF80
- voice_directsound 84, 104, gDirectSoundWaveData_25, 255, 0, 255, 235 @ 849EF8C
+ voice_directsound 76, 39, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 849EF68
+ voice_directsound 80, 89, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 226 @ 849EF74
+ voice_directsound_no_resample 33, 10, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 849EF80
+ voice_directsound 84, 104, DirectSoundWaveData_sd90_ambient_tom, 255, 0, 255, 235 @ 849EF8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EF98
- voice_directsound 63, 64, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 849EFA4
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_26, 255, 165, 103, 231 @ 849EFB0
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_18, 255, 127, 77, 204 @ 849EFBC
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_19, 255, 231, 0, 188 @ 849EFC8
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_27, 255, 0, 255, 242 @ 849EFD4
- voice_directsound_no_resample 64, 118, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 849EFE0
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 849EFA4
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_dance_drums_ride_bell, 255, 165, 103, 231 @ 849EFB0
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 849EFBC
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 849EFC8
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 849EFD4
+ voice_directsound_no_resample 64, 118, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 849EFE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849EFEC
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 849EFF8
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_20, 8, 0, 255, 216 @ 849F004
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_28, 255, 0, 255, 0 @ 849F010
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_21, 255, 0, 255, 0 @ 849F01C
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 849F028
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 849F034
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 849EFF8
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 849F004
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 849F010
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 849F01C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 849F028
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 849F034
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F040
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F04C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F058
@@ -7392,16 +7392,16 @@ voicegroup177:: @ 849ED34
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F0D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F0DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F0E8
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_29, 255, 242, 103, 188 @ 849F0F4
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_29, 255, 242, 103, 188 @ 849F100
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_29, 255, 165, 103, 188 @ 849F10C
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_30, 255, 0, 255, 0 @ 849F118
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_anvil_high, 255, 242, 103, 188 @ 849F0F4
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_anvil_high, 255, 242, 103, 188 @ 849F100
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_anvil_high, 255, 165, 103, 188 @ 849F10C
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_bells, 255, 0, 255, 0 @ 849F118
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F124
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F130
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 849F13C
- voice_directsound 63, 64, gDirectSoundWaveData_32, 255, 0, 255, 0 @ 849F148
- voice_directsound 50, 64, gDirectSoundWaveData_33, 255, 0, 255, 0 @ 849F154
- voice_directsound 64, 64, gDirectSoundWaveData_33, 255, 0, 255, 0 @ 849F160
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 849F13C
+ voice_directsound 63, 64, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 0 @ 849F148
+ voice_directsound 50, 64, DirectSoundWaveData_unknown_tsuzumi, 255, 0, 255, 0 @ 849F154
+ voice_directsound 64, 64, DirectSoundWaveData_unknown_tsuzumi, 255, 0, 255, 0 @ 849F160
voicegroup178:: @ 849F16C
voice_keysplit_all voicegroup177 @ 849F16C
@@ -7417,7 +7417,7 @@ voicegroup178:: @ 849F16C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F1E4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F1F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F1FC
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 204, 103, 165 @ 849F208
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 204, 103, 165 @ 849F208
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F214
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F220
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F22C
@@ -7428,7 +7428,7 @@ voicegroup178:: @ 849F16C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F268
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F274
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F280
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 165, 154, 165 @ 849F28C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 165, 154, 165 @ 849F28C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F298
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F2A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F2B0
@@ -7507,7 +7507,7 @@ voicegroup179:: @ 849F58C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F604
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F610
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F61C
- voice_directsound 60, 0, gDirectSoundWaveData_71, 255, 235, 0, 204 @ 849F628
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_xylophone, 255, 235, 0, 204 @ 849F628
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F634
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F640
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F64C
@@ -7518,7 +7518,7 @@ voicegroup179:: @ 849F58C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F688
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F694
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F6A0
- voice_directsound 60, 0, gDirectSoundWaveData_78, 85, 165, 154, 127 @ 849F6AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 85, 165, 154, 127 @ 849F6AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F6B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F6C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F6D0
@@ -7527,7 +7527,7 @@ voicegroup179:: @ 849F58C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F6F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F700
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F70C
- voice_directsound 60, 0, gDirectSoundWaveData_49, 255, 253, 0, 149 @ 849F718
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 849F718
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F724
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F730
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F73C
@@ -7588,8 +7588,8 @@ voicegroup180:: @ 849F9AC
voice_keysplit voicegroup003, KeySplitTable1 @ 849F9B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F9C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F9D0
- voice_directsound 60, 0, gDirectSoundWaveData_86, 64, 249, 0, 188 @ 849F9DC
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 249, 0, 165 @ 849F9E8
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 64, 249, 0, 188 @ 849F9DC
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 249, 0, 165 @ 849F9E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 849F9F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 849FA00
voice_square_1 0, 2, 0, 0, 15, 0 @ 849FA0C
@@ -7710,7 +7710,7 @@ voicegroup180:: @ 849F9AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 849FF70
voice_square_1 0, 2, 0, 0, 15, 0 @ 849FF7C
voice_square_1 0, 2, 0, 0, 15, 0 @ 849FF88
- voice_directsound_no_resample 60, 0, gDirectSoundWaveData_16, 255, 255, 255, 127 @ 849FF94
+ voice_directsound_no_resample 60, 0, DirectSoundWaveData_sc88_standard_hand_clap, 255, 255, 255, 127 @ 849FF94
voice_noise_alt 0, 0, 1, 0, 0 @ 849FFA0
voicegroup181:: @ 849FFAC
@@ -7760,7 +7760,7 @@ voicegroup181:: @ 849FFAC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A01B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A01BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A01C8
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 242, 51, 242 @ 84A01D4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 242, 51, 242 @ 84A01D4
voicegroup182:: @ 84A01E0
voice_keysplit_all voicegroup002 @ 84A01E0
@@ -7810,7 +7810,7 @@ voicegroup182:: @ 84A01E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A03F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A03FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0408
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 0, 193, 76 @ 84A0414
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 0, 193, 76 @ 84A0414
voice_keysplit voicegroup004, KeySplitTable2 @ 84A0420
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A042C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0438
@@ -7877,7 +7877,7 @@ voicegroup183:: @ 84A0600
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A06FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0708
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0714
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 84A0720
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 84A0720
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A072C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0738
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0744
@@ -7888,7 +7888,7 @@ voicegroup183:: @ 84A0600
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0780
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A078C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0798
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 84A07A4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 84A07A4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A07B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A07BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A07C8
@@ -7997,7 +7997,7 @@ voicegroup184:: @ 84A0C00
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0C84
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0C90
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0C9C
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 84A0CA8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 84A0CA8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0CB4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0CC0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0CCC
@@ -8014,14 +8014,14 @@ voicegroup184:: @ 84A0C00
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0D50
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0D5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0D68
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 84A0D74
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 84A0D74
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0D80
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0D8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0D98
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0DA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0DB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0DBC
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 84A0DC8
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 84A0DC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0DD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0DE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0DEC
@@ -8068,7 +8068,7 @@ voicegroup184:: @ 84A0C00
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0FD8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0FE4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A0FF0
- voice_directsound 60, 0, gDirectSoundWaveData_6, 255, 0, 255, 0 @ 84A0FFC
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 255, 0, 255, 0 @ 84A0FFC
voicegroup185:: @ 84A1008
voice_keysplit_all voicegroup002 @ 84A1008
@@ -8085,7 +8085,7 @@ voicegroup185:: @ 84A1008
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A108C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1098
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A10A4
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 84A10B0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 84A10B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A10BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A10C8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A10D4
@@ -8100,31 +8100,31 @@ voicegroup185:: @ 84A1008
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1140
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A114C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1158
- voice_directsound 60, 0, gDirectSoundWaveData_82, 128, 0, 255, 214 @ 84A1164
- voice_directsound 60, 0, gDirectSoundWaveData_83, 128, 0, 255, 206 @ 84A1170
- voice_directsound 60, 0, gDirectSoundWaveData_79, 255, 0, 255, 165 @ 84A117C
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_overdrive_guitar, 128, 0, 255, 214 @ 84A1164
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_high, 128, 0, 255, 206 @ 84A1170
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_special_scream_drive, 255, 0, 255, 165 @ 84A117C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1188
- voice_directsound 60, 0, gDirectSoundWaveData_49, 255, 253, 0, 149 @ 84A1194
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pick_bass, 255, 253, 0, 149 @ 84A1194
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A11A0
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 84A11AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 84A11AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A11B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A11C4
- voice_directsound 60, 0, gDirectSoundWaveData_4, 255, 252, 0, 115 @ 84A11D0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_synth_bass, 255, 252, 0, 115 @ 84A11D0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A11DC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A11E8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A11F4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1200
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A120C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1218
- voice_directsound 60, 0, gDirectSoundWaveData_55, 255, 216, 0, 165 @ 84A1224
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_pizzicato_strings, 255, 216, 0, 165 @ 84A1224
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1230
- voice_directsound 60, 0, gDirectSoundWaveData_5, 255, 246, 0, 226 @ 84A123C
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_timpani, 255, 246, 0, 226 @ 84A123C
voice_keysplit voicegroup004, KeySplitTable2 @ 84A1248
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1254
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1260
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A126C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1278
- voice_directsound 60, 0, gDirectSoundWaveData_6, 85, 0, 154, 165 @ 84A1284
+ voice_directsound 60, 0, DirectSoundWaveData_classical_choir_voice_ahhs, 85, 0, 154, 165 @ 84A1284
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1290
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A129C
voice_keysplit voicegroup005, KeySplitTable3 @ 84A12A8
@@ -8133,7 +8133,7 @@ voicegroup185:: @ 84A1008
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A12CC
voice_keysplit voicegroup007, KeySplitTable5 @ 84A12D8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A12E4
- voice_directsound 60, 0, gDirectSoundWaveData_84, 255, 0, 255, 209 @ 84A12F0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_distortion_guitar_low, 255, 0, 255, 209 @ 84A12F0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A12FC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1308
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1314
@@ -8149,7 +8149,7 @@ voicegroup185:: @ 84A1008
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A138C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1398
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A13A4
- voice_directsound 60, 0, gDirectSoundWaveData_85, 255, 0, 255, 127 @ 84A13B0
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_whistle, 255, 0, 255, 127 @ 84A13B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A13BC
voice_square_2_alt 2, 0, 0, 15, 0 @ 84A13C8
voice_square_1_alt 0, 2, 0, 0, 15, 0 @ 84A13D4
@@ -8348,14 +8348,14 @@ voicegroup187:: @ 84A1C08
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1CB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1CBC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1CC8
- voice_directsound 60, 0, gDirectSoundWaveData_1, 255, 76, 133, 137 @ 84A1CD4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 255, 76, 133, 137 @ 84A1CD4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1CE0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1CEC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1CF8
- voice_directsound 60, 0, gDirectSoundWaveData_74, 64, 188, 108, 165 @ 84A1D04
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_accordion, 64, 188, 108, 165 @ 84A1D04
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1D10
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1D1C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 255, 249, 25, 127 @ 84A1D28
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 255, 249, 25, 127 @ 84A1D28
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1D34
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1D40
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1D4C
@@ -8377,7 +8377,7 @@ voicegroup187:: @ 84A1C08
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1E0C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1E18
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1E24
- voice_directsound 60, 0, gDirectSoundWaveData_70, 255, 246, 0, 235 @ 84A1E30
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_harp, 255, 246, 0, 235 @ 84A1E30
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1E3C
voice_keysplit voicegroup004, KeySplitTable2 @ 84A1E48
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1E54
@@ -8404,7 +8404,7 @@ voicegroup187:: @ 84A1C08
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1F50
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1F5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1F68
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 84A1F74
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 84A1F74
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1F80
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1F8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A1F98
@@ -8465,8 +8465,8 @@ voicegroup188:: @ 84A2208
voice_keysplit voicegroup003, KeySplitTable1 @ 84A2214
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2220
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A222C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 84A2238
- voice_directsound 60, 65, gDirectSoundWaveData_87, 128, 204, 77, 246 @ 84A2244
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 84A2238
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 84A2244
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2250
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A225C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2268
@@ -8475,18 +8475,18 @@ voicegroup188:: @ 84A2208
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A228C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2298
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A22A4
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 84A22B0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 84A22B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A22BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A22C8
- voice_directsound 60, 0, gDirectSoundWaveData_1, 51, 0, 203, 127 @ 84A22D4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 51, 0, 203, 127 @ 84A22D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A22E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A22EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A22F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2304
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2310
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A231C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 84A2328
- voice_directsound 60, 0, gDirectSoundWaveData_78, 64, 216, 51, 224 @ 84A2334
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 84A2328
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 64, 216, 51, 224 @ 84A2334
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2340
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A234C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2358
@@ -8496,7 +8496,7 @@ voicegroup188:: @ 84A2208
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2388
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2394
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A23A0
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 84A23AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 84A23AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A23B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A23C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A23D0
@@ -8534,7 +8534,7 @@ voicegroup188:: @ 84A2208
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2550
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A255C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2568
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 84A2574
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 84A2574
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2580
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A258C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2598
@@ -8595,8 +8595,8 @@ voicegroup189:: @ 84A2808
voice_keysplit voicegroup003, KeySplitTable1 @ 84A2814
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2820
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A282C
- voice_directsound 60, 0, gDirectSoundWaveData_86, 255, 188, 128, 226 @ 84A2838
- voice_directsound 60, 65, gDirectSoundWaveData_87, 128, 204, 77, 246 @ 84A2844
+ voice_directsound 60, 0, DirectSoundWaveData_sd90_classical_detuned_ep1_low, 255, 188, 128, 226 @ 84A2838
+ voice_directsound 60, 65, DirectSoundWaveData_sd90_classical_detuned_ep1_high, 128, 204, 77, 246 @ 84A2844
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2850
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A285C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2868
@@ -8605,18 +8605,18 @@ voicegroup189:: @ 84A2808
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A288C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2898
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A28A4
- voice_directsound 60, 0, gDirectSoundWaveData_66, 255, 165, 90, 216 @ 84A28B0
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_tubular_bell, 255, 165, 90, 216 @ 84A28B0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A28BC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A28C8
- voice_directsound 60, 0, gDirectSoundWaveData_1, 51, 0, 203, 127 @ 84A28D4
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_organ2, 51, 0, 203, 127 @ 84A28D4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A28E0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A28EC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A28F8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2904
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2910
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A291C
- voice_directsound 60, 0, gDirectSoundWaveData_78, 128, 249, 25, 127 @ 84A2928
- voice_directsound 60, 0, gDirectSoundWaveData_78, 64, 216, 51, 224 @ 84A2934
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 128, 249, 25, 127 @ 84A2928
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_nylon_str_guitar, 64, 216, 51, 224 @ 84A2934
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2940
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A294C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2958
@@ -8626,7 +8626,7 @@ voicegroup189:: @ 84A2808
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2988
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2994
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A29A0
- voice_directsound 60, 0, gDirectSoundWaveData_2, 255, 253, 0, 188 @ 84A29AC
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_fretless_bass, 255, 253, 0, 188 @ 84A29AC
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A29B8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A29C4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A29D0
@@ -8664,7 +8664,7 @@ voicegroup189:: @ 84A2808
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2B50
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2B5C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2B68
- voice_directsound 60, 0, gDirectSoundWaveData_48, 255, 127, 231, 127 @ 84A2B74
+ voice_directsound 60, 0, DirectSoundWaveData_sc88_flute, 255, 127, 231, 127 @ 84A2B74
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2B80
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2B8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2B98
@@ -8721,35 +8721,35 @@ voicegroup190:: @ 84A2C58
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2DE4
voice_noise_alt 0, 0, 2, 7, 0 @ 84A2DF0
voice_noise_alt 0, 0, 1, 9, 1 @ 84A2DFC
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_23, 255, 0, 255, 0 @ 84A2E08
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_drum_and_percussion_kick, 255, 0, 255, 0 @ 84A2E08
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E14
- voice_directsound_no_resample 64, 52, gDirectSoundWaveData_17, 255, 0, 255, 242 @ 84A2E20
+ voice_directsound_no_resample 64, 52, DirectSoundWaveData_sc88_orchestra_snare, 255, 0, 255, 242 @ 84A2E20
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E2C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E38
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E44
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E50
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E5C
- voice_directsound_no_resample 60, 64, gDirectSoundWaveData_15, 255, 0, 255, 242 @ 84A2E68
+ voice_directsound_no_resample 60, 64, DirectSoundWaveData_sc88_standard3_snare, 255, 0, 255, 242 @ 84A2E68
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E74
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E80
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E8C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2E98
- voice_directsound_no_resample 33, 104, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 84A2EA4
+ voice_directsound_no_resample 33, 104, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 84A2EA4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2EB0
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2EBC
- voice_directsound 63, 64, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 84A2EC8
+ voice_directsound 63, 64, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 84A2EC8
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2ED4
- voice_directsound_no_resample 64, 34, gDirectSoundWaveData_18, 255, 127, 77, 204 @ 84A2EE0
- voice_directsound_no_resample 64, 14, gDirectSoundWaveData_19, 255, 231, 0, 188 @ 84A2EEC
- voice_directsound_no_resample 64, 89, gDirectSoundWaveData_27, 255, 0, 255, 242 @ 84A2EF8
- voice_directsound_no_resample 64, 24, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 84A2F04
+ voice_directsound_no_resample 64, 34, DirectSoundWaveData_unknown_tambourine, 255, 127, 77, 204 @ 84A2EE0
+ voice_directsound_no_resample 64, 14, DirectSoundWaveData_trinity_cymbal_crash, 255, 231, 0, 188 @ 84A2EEC
+ voice_directsound_no_resample 64, 89, DirectSoundWaveData_unknown_cowbell, 255, 0, 255, 242 @ 84A2EF8
+ voice_directsound_no_resample 64, 24, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 84A2F04
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2F10
- voice_directsound_no_resample 64, 54, gDirectSoundWaveData_20, 255, 235, 0, 231 @ 84A2F1C
- voice_directsound_no_resample 64, 54, gDirectSoundWaveData_20, 8, 0, 255, 216 @ 84A2F28
- voice_directsound_no_resample 64, 94, gDirectSoundWaveData_28, 255, 0, 255, 0 @ 84A2F34
- voice_directsound_no_resample 64, 34, gDirectSoundWaveData_21, 255, 0, 255, 0 @ 84A2F40
- voice_directsound_no_resample 64, 34, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 84A2F4C
- voice_directsound_no_resample 64, 90, gDirectSoundWaveData_22, 255, 0, 255, 0 @ 84A2F58
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 255, 235, 0, 231 @ 84A2F1C
+ voice_directsound_no_resample 64, 54, DirectSoundWaveData_sc88_orchestra_cymbal_crash, 8, 0, 255, 216 @ 84A2F28
+ voice_directsound_no_resample 64, 94, DirectSoundWaveData_unknown_djembe, 255, 0, 255, 0 @ 84A2F34
+ voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo, 255, 0, 255, 0 @ 84A2F40
+ voice_directsound_no_resample 64, 34, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 84A2F4C
+ voice_directsound_no_resample 64, 90, DirectSoundWaveData_sc88_bongo_low, 255, 0, 255, 0 @ 84A2F58
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2F64
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2F70
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2F7C
@@ -8765,11 +8765,11 @@ voicegroup190:: @ 84A2C58
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A2FF4
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A3000
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A300C
- voice_directsound_no_resample 64, 39, gDirectSoundWaveData_29, 255, 242, 103, 188 @ 84A3018
- voice_directsound_no_resample 64, 79, gDirectSoundWaveData_29, 255, 242, 103, 188 @ 84A3024
- voice_directsound_no_resample 64, 39, gDirectSoundWaveData_29, 255, 165, 103, 188 @ 84A3030
- voice_directsound_no_resample 64, 64, gDirectSoundWaveData_30, 255, 0, 255, 0 @ 84A303C
+ voice_directsound_no_resample 64, 39, DirectSoundWaveData_unknown_anvil_high, 255, 242, 103, 188 @ 84A3018
+ voice_directsound_no_resample 64, 79, DirectSoundWaveData_unknown_anvil_high, 255, 242, 103, 188 @ 84A3024
+ voice_directsound_no_resample 64, 39, DirectSoundWaveData_unknown_anvil_high, 255, 165, 103, 188 @ 84A3030
+ voice_directsound_no_resample 64, 64, DirectSoundWaveData_sc88_standard_bells, 255, 0, 255, 0 @ 84A303C
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A3048
voice_square_1 0, 2, 0, 0, 15, 0 @ 84A3054
- voice_directsound_no_resample 64, 104, gDirectSoundWaveData_31, 255, 0, 255, 0 @ 84A3060
- voice_directsound 63, 64, gDirectSoundWaveData_32, 255, 0, 255, 0 @ 84A306C
+ voice_directsound_no_resample 64, 104, DirectSoundWaveData_unknown_anvil_low, 255, 0, 255, 0 @ 84A3060
+ voice_directsound 63, 64, DirectSoundWaveData_unknown_ethnic_drum, 255, 0, 255, 0 @ 84A306C
diff --git a/src/battle_ai_script_commands.c b/src/battle_ai_script_commands.c
index e66fdb2af..f98922c28 100644
--- a/src/battle_ai_script_commands.c
+++ b/src/battle_ai_script_commands.c
@@ -270,9 +270,8 @@ void BattleAI_HandleItemUseBeforeAISetup(void)
data[i] = 0;
// Items are allowed to use in ONLY trainer battles.
- // TODO: Use proper flags
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- && (gTrainerBattleOpponent_A != 0x400)
+ && (gTrainerBattleOpponent_A != SECRET_BASE_OPPONENT)
&& !(gBattleTypeFlags & (BATTLE_TYPE_TRAINER_TOWER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_SAFARI | BATTLE_TYPE_LINK))
)
{
diff --git a/src/battle_transition.c b/src/battle_transition.c
index aa68ed278..463a3d930 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -15,6 +15,7 @@
#include "field_camera.h"
#include "trainer_pokemon_sprites.h"
#include "scanline_effect.h"
+#include "event_object_movement.h"
#include "constants/songs.h"
typedef bool8 (*TransitionStateFunc)(struct Task *task);
@@ -45,9 +46,6 @@ struct TransitionData
static EWRAM_DATA struct TransitionData *sTransitionStructPtr = NULL;
-// TODO: Move this declaration to include/event_object_movement.h
-extern const struct OamData gObjectEventBaseOam_32x32;
-
static bool8 BT_Phase1_FadeOut(struct Task *task);
static bool8 BT_Phase1_FadeIn(struct Task *task);
static bool8 BT_Phase2BlackDoodles_Init(struct Task *task);
diff --git a/src/braille_text.c b/src/braille_text.c
index c95cf64b2..4a06cd319 100644
--- a/src/braille_text.c
+++ b/src/braille_text.c
@@ -6,7 +6,6 @@
extern u8 gGlyphInfo[];
-ALIGNED(4)
static const u8 gUnknown_846FB08[] = {1, 2, 4};
static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont");
diff --git a/src/cereader_tool.c b/src/cereader_tool.c
index 654a70b48..2c5d05018 100644
--- a/src/cereader_tool.c
+++ b/src/cereader_tool.c
@@ -41,8 +41,8 @@ bool32 ValidateTrainerTowerData(struct EReaderTrainerHillSet * ttdata)
static bool32 CEReaderTool_SaveTrainerTower_r(struct EReaderTrainerHillSet * ttdata, u8 * buffer)
{
- AGB_ASSERT_EX(ttdata->dummy == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 198);
- AGB_ASSERT_EX(ttdata->id == 0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/cereader_tool.c", 199)
+ AGB_ASSERT_EX(ttdata->dummy == 0, ABSPATH("cereader_tool.c"), 198);
+ AGB_ASSERT_EX(ttdata->id == 0, ABSPATH("cereader_tool.c"), 199)
memset(buffer, 0, 0x1000);
memcpy(buffer, ttdata, SEC30_SIZE);
diff --git a/src/data/ingame_trades.h b/src/data/ingame_trades.h
index 25a5afbe3..4834839f1 100644
--- a/src/data/ingame_trades.h
+++ b/src/data/ingame_trades.h
@@ -28,6 +28,7 @@ static const struct InGameTrade sInGameTrades[] = {
.sheen = 10,
.requestedSpecies = SPECIES_POLIWHIRL
}, {
+#if defined(FIRERED)
.nickname = _("MS. NIDO"),
.species = SPECIES_NIDORAN_F,
.ivs = {22, 18, 25, 19, 15, 22},
@@ -41,6 +42,21 @@ static const struct InGameTrade sInGameTrades[] = {
.otGender = FEMALE,
.sheen = 10,
.requestedSpecies = SPECIES_NIDORAN_M
+#elif defined(LEAFGREEN)
+ .nickname = _("MR. NIDO"),
+ .species = SPECIES_NIDORAN_M,
+ .ivs = {19, 25, 18, 22, 22, 15},
+ .abilityNum = 0,
+ .otId = 63184,
+ .conditions = {30, 5, 5, 5, 5},
+ .personality = 0x4c970b9e,
+ .heldItem = ITEM_TINY_MUSHROOM,
+ .mailNum = 255,
+ .otName = _("SAIGE"),
+ .otGender = FEMALE,
+ .sheen = 10,
+ .requestedSpecies = SPECIES_NIDORAN_F
+#endif
}, {
.nickname = _("CH'DING"),
.species = SPECIES_FARFETCHD,
@@ -56,6 +72,7 @@ static const struct InGameTrade sInGameTrades[] = {
.sheen = 10,
.requestedSpecies = SPECIES_SPEAROW
}, {
+#if defined(FIRERED)
.nickname = _("NINA"),
.species = SPECIES_NIDORINA,
.ivs = {22, 25, 18, 19, 22, 15},
@@ -69,6 +86,21 @@ static const struct InGameTrade sInGameTrades[] = {
.otGender = MALE,
.sheen = 10,
.requestedSpecies = SPECIES_NIDORINO
+#elif defined(LEAFGREEN)
+ .nickname = _("NINO"),
+ .species = SPECIES_NIDORINO,
+ .ivs = {19, 18, 25, 22, 15, 22},
+ .abilityNum = 0,
+ .otId = 13637,
+ .conditions = {5, 5, 5, 5, 30},
+ .personality = 0x00eeca19,
+ .heldItem = ITEM_NONE,
+ .mailNum = 255,
+ .otName = _("TURNER"),
+ .otGender = MALE,
+ .sheen = 10,
+ .requestedSpecies = SPECIES_NIDORINA
+#endif
}, {
.nickname = _("MARC"),
.species = SPECIES_LICKITUNG,
@@ -82,7 +114,11 @@ static const struct InGameTrade sInGameTrades[] = {
.otName = _("HADEN"),
.otGender = MALE,
.sheen = 10,
+#if defined(FIRERED)
.requestedSpecies = SPECIES_GOLDUCK
+#elif defined(LEAFGREEN)
+ .requestedSpecies = SPECIES_SLOWBRO
+#endif
}, {
.nickname = _("ESPHERE"),
.species = SPECIES_ELECTRODE,
diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h
index c6d2ec475..bdf1f9fbb 100644
--- a/src/data/pokemon/level_up_learnsets.h
+++ b/src/data/pokemon/level_up_learnsets.h
@@ -670,8 +670,13 @@ static const u16 sDiglettLevelUpLearnset[] = {
static const u16 sDugtrioLevelUpLearnset[] = {
LEVEL_UP_MOVE(1, MOVE_TRI_ATTACK),
+#if defined(FIRERED)
LEVEL_UP_MOVE(1, MOVE_SCRATCH),
LEVEL_UP_MOVE(1, MOVE_SAND_ATTACK),
+#elif defined(LEAFGREEN)
+ LEVEL_UP_MOVE(1, MOVE_SAND_ATTACK),
+ LEVEL_UP_MOVE(1, MOVE_SCRATCH),
+#endif
LEVEL_UP_MOVE(1, MOVE_GROWL),
LEVEL_UP_MOVE(5, MOVE_GROWL),
LEVEL_UP_MOVE(9, MOVE_MAGNITUDE),
@@ -5649,6 +5654,7 @@ static const u16 sJirachiLevelUpLearnset[] = {
LEVEL_UP_END
};
+#if defined(FIRERED)
static const u16 sDeoxysLevelUpLearnset[] = {
LEVEL_UP_MOVE(1, MOVE_LEER),
LEVEL_UP_MOVE(1, MOVE_WRAP),
@@ -5664,6 +5670,25 @@ static const u16 sDeoxysLevelUpLearnset[] = {
LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM),
LEVEL_UP_END
};
+#elif defined(LEAFGREEN)
+static const u16 sDeoxysLevelUpLearnset[] = {
+ LEVEL_UP_MOVE(1, MOVE_LEER),
+ LEVEL_UP_MOVE(1, MOVE_WRAP),
+ LEVEL_UP_MOVE(5, MOVE_NIGHT_SHADE),
+ LEVEL_UP_MOVE(10, MOVE_TELEPORT),
+ LEVEL_UP_MOVE(15, MOVE_KNOCK_OFF),
+ LEVEL_UP_MOVE(20, MOVE_SPIKES),
+ LEVEL_UP_MOVE(25, MOVE_PSYCHIC),
+ LEVEL_UP_MOVE(30, MOVE_SNATCH),
+ LEVEL_UP_MOVE(35, MOVE_IRON_DEFENSE),
+ LEVEL_UP_MOVE(35, MOVE_AMNESIA),
+ LEVEL_UP_MOVE(40, MOVE_RECOVER),
+ LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST),
+ LEVEL_UP_MOVE(50, MOVE_COUNTER),
+ LEVEL_UP_MOVE(50, MOVE_MIRROR_COAT),
+ LEVEL_UP_END
+};
+#endif
static const u16 sChimechoLevelUpLearnset[] = {
LEVEL_UP_MOVE(1, MOVE_WRAP),
diff --git a/src/data/pokemon/pokedex_orders.h b/src/data/pokemon/pokedex_orders.h
new file mode 100644
index 000000000..a8cfa220e
--- /dev/null
+++ b/src/data/pokemon/pokedex_orders.h
@@ -0,0 +1,1610 @@
+const u16 gPokedexOrder_Alphabetical[] =
+{
+ NATIONAL_DEX_OLD_UNOWN_B,
+ NATIONAL_DEX_OLD_UNOWN_C,
+ NATIONAL_DEX_OLD_UNOWN_D,
+ NATIONAL_DEX_OLD_UNOWN_E,
+ NATIONAL_DEX_OLD_UNOWN_F,
+ NATIONAL_DEX_OLD_UNOWN_G,
+ NATIONAL_DEX_OLD_UNOWN_H,
+ NATIONAL_DEX_OLD_UNOWN_I,
+ NATIONAL_DEX_OLD_UNOWN_J,
+ NATIONAL_DEX_OLD_UNOWN_K,
+ NATIONAL_DEX_OLD_UNOWN_L,
+ NATIONAL_DEX_OLD_UNOWN_M,
+ NATIONAL_DEX_OLD_UNOWN_N,
+ NATIONAL_DEX_OLD_UNOWN_O,
+ NATIONAL_DEX_OLD_UNOWN_P,
+ NATIONAL_DEX_OLD_UNOWN_Q,
+ NATIONAL_DEX_OLD_UNOWN_R,
+ NATIONAL_DEX_OLD_UNOWN_S,
+ NATIONAL_DEX_OLD_UNOWN_T,
+ NATIONAL_DEX_OLD_UNOWN_U,
+ NATIONAL_DEX_OLD_UNOWN_V,
+ NATIONAL_DEX_OLD_UNOWN_W,
+ NATIONAL_DEX_OLD_UNOWN_X,
+ NATIONAL_DEX_OLD_UNOWN_Y,
+ NATIONAL_DEX_OLD_UNOWN_Z,
+ // Actual pokemon start here.
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_ZUBAT
+};
+
+const u16 gPokedexOrder_Weight[] =
+{
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_WAILORD,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_GROUDON
+};
+
+const u16 gPokedexOrder_Height[] =
+{
+ NATIONAL_DEX_DIGLETT,
+ NATIONAL_DEX_AZURILL,
+ NATIONAL_DEX_NATU,
+ NATIONAL_DEX_WEEDLE,
+ NATIONAL_DEX_PICHU,
+ NATIONAL_DEX_CLEFFA,
+ NATIONAL_DEX_TOGEPI,
+ NATIONAL_DEX_CASTFORM,
+ NATIONAL_DEX_IGGLYBUFF,
+ NATIONAL_DEX_CATERPIE,
+ NATIONAL_DEX_TAILLOW,
+ NATIONAL_DEX_DITTO,
+ NATIONAL_DEX_EEVEE,
+ NATIONAL_DEX_ROSELIA,
+ NATIONAL_DEX_SPEAROW,
+ NATIONAL_DEX_PIDGEY,
+ NATIONAL_DEX_SUNKERN,
+ NATIONAL_DEX_SHELLDER,
+ NATIONAL_DEX_RATTATA,
+ NATIONAL_DEX_MAGNEMITE,
+ NATIONAL_DEX_PARAS,
+ NATIONAL_DEX_WURMPLE,
+ NATIONAL_DEX_JIRACHI,
+ NATIONAL_DEX_CUBONE,
+ NATIONAL_DEX_MUDKIP,
+ NATIONAL_DEX_WOOPER,
+ NATIONAL_DEX_HORSEA,
+ NATIONAL_DEX_MEOWTH,
+ NATIONAL_DEX_NIDORAN_F,
+ NATIONAL_DEX_SWINUB,
+ NATIONAL_DEX_MEW,
+ NATIONAL_DEX_SWABLU,
+ NATIONAL_DEX_ARON,
+ NATIONAL_DEX_PLUSLE,
+ NATIONAL_DEX_MINUN,
+ NATIONAL_DEX_EXEGGCUTE,
+ NATIONAL_DEX_PIKACHU,
+ NATIONAL_DEX_BELLOSSOM,
+ NATIONAL_DEX_GULPIN,
+ NATIONAL_DEX_ZIGZAGOON,
+ NATIONAL_DEX_SHROOMISH,
+ NATIONAL_DEX_OMANYTE,
+ NATIONAL_DEX_CACNEA,
+ NATIONAL_DEX_KRABBY,
+ NATIONAL_DEX_RALTS,
+ NATIONAL_DEX_HOPPIP,
+ NATIONAL_DEX_TORCHIC,
+ NATIONAL_DEX_CLAMPERL,
+ NATIONAL_DEX_GEODUDE,
+ NATIONAL_DEX_MARILL,
+ NATIONAL_DEX_BARBOACH,
+ NATIONAL_DEX_SMOOCHUM,
+ NATIONAL_DEX_VOLTORB,
+ NATIONAL_DEX_NINCADA,
+ NATIONAL_DEX_SABLEYE,
+ NATIONAL_DEX_MURKROW,
+ NATIONAL_DEX_QWILFISH,
+ NATIONAL_DEX_SQUIRTLE,
+ NATIONAL_DEX_TREECKO,
+ NATIONAL_DEX_BALTOY,
+ NATIONAL_DEX_ODDISH,
+ NATIONAL_DEX_LOTAD,
+ NATIONAL_DEX_JIGGLYPUFF,
+ NATIONAL_DEX_SURSKIT,
+ NATIONAL_DEX_CYNDAQUIL,
+ NATIONAL_DEX_KABUTO,
+ NATIONAL_DEX_LINOONE,
+ NATIONAL_DEX_TORKOAL,
+ NATIONAL_DEX_NIDORAN_M,
+ NATIONAL_DEX_SPINARAK,
+ NATIONAL_DEX_MANKEY,
+ NATIONAL_DEX_SEEDOT,
+ NATIONAL_DEX_POOCHYENA,
+ NATIONAL_DEX_PHANPY,
+ NATIONAL_DEX_UNOWN,
+ NATIONAL_DEX_CHINCHOU,
+ NATIONAL_DEX_PORYGON2,
+ NATIONAL_DEX_POLIWAG,
+ NATIONAL_DEX_BAGON,
+ NATIONAL_DEX_FEEBAS,
+ NATIONAL_DEX_SHUPPET,
+ NATIONAL_DEX_TOTODILE,
+ NATIONAL_DEX_CELEBI,
+ NATIONAL_DEX_WYNAUT,
+ NATIONAL_DEX_SANDSHREW,
+ NATIONAL_DEX_CHIMECHO,
+ NATIONAL_DEX_LUVDISC,
+ NATIONAL_DEX_HOUNDOUR,
+ NATIONAL_DEX_SILCOON,
+ NATIONAL_DEX_ELECTRIKE,
+ NATIONAL_DEX_CHARMANDER,
+ NATIONAL_DEX_MEDITITE,
+ NATIONAL_DEX_WINGULL,
+ NATIONAL_DEX_REMORAID,
+ NATIONAL_DEX_CORPHISH,
+ NATIONAL_DEX_CORSOLA,
+ NATIONAL_DEX_ILLUMISE,
+ NATIONAL_DEX_SNUBBULL,
+ NATIONAL_DEX_VULPIX,
+ NATIONAL_DEX_LARVITAR,
+ NATIONAL_DEX_BELDUM,
+ NATIONAL_DEX_WHISMUR,
+ NATIONAL_DEX_PINECO,
+ NATIONAL_DEX_ELEKID,
+ NATIONAL_DEX_CLEFAIRY,
+ NATIONAL_DEX_SHUCKLE,
+ NATIONAL_DEX_TEDDIURSA,
+ NATIONAL_DEX_KAKUNA,
+ NATIONAL_DEX_SKITTY,
+ NATIONAL_DEX_TOGETIC,
+ NATIONAL_DEX_GOLDEEN,
+ NATIONAL_DEX_MAWILE,
+ NATIONAL_DEX_MAREEP,
+ NATIONAL_DEX_SKIPLOOM,
+ NATIONAL_DEX_KOFFING,
+ NATIONAL_DEX_DUGTRIO,
+ NATIONAL_DEX_CASCOON,
+ NATIONAL_DEX_NUMEL,
+ NATIONAL_DEX_ANORITH,
+ NATIONAL_DEX_VOLBEAT,
+ NATIONAL_DEX_HOOTHOOT,
+ NATIONAL_DEX_TRAPINCH,
+ NATIONAL_DEX_SPOINK,
+ NATIONAL_DEX_METAPOD,
+ NATIONAL_DEX_BELLSPROUT,
+ NATIONAL_DEX_SNORUNT,
+ NATIONAL_DEX_RATICATE,
+ NATIONAL_DEX_MARSHTOMP,
+ NATIONAL_DEX_SWELLOW,
+ NATIONAL_DEX_MAGBY,
+ NATIONAL_DEX_GROWLITHE,
+ NATIONAL_DEX_MISDREAVUS,
+ NATIONAL_DEX_BULBASAUR,
+ NATIONAL_DEX_TYROGUE,
+ NATIONAL_DEX_SLUGMA,
+ NATIONAL_DEX_SLAKOTH,
+ NATIONAL_DEX_KIRLIA,
+ NATIONAL_DEX_AIPOM,
+ NATIONAL_DEX_JOLTEON,
+ NATIONAL_DEX_NIDORINA,
+ NATIONAL_DEX_AZUMARILL,
+ NATIONAL_DEX_SHEDINJA,
+ NATIONAL_DEX_MACHOP,
+ NATIONAL_DEX_NINJASK,
+ NATIONAL_DEX_MASQUERAIN,
+ NATIONAL_DEX_DUSKULL,
+ NATIONAL_DEX_SUNFLORA,
+ NATIONAL_DEX_JUMPLUFF,
+ NATIONAL_DEX_STARYU,
+ NATIONAL_DEX_FLAAFFY,
+ NATIONAL_DEX_SPHEAL,
+ NATIONAL_DEX_PSYDUCK,
+ NATIONAL_DEX_MAGCARGO,
+ NATIONAL_DEX_FARFETCHD,
+ NATIONAL_DEX_ZUBAT,
+ NATIONAL_DEX_PORYGON,
+ NATIONAL_DEX_SENTRET,
+ NATIONAL_DEX_CARVANHA,
+ NATIONAL_DEX_GLOOM,
+ NATIONAL_DEX_RAICHU,
+ NATIONAL_DEX_MAGIKARP,
+ NATIONAL_DEX_SNEASEL,
+ NATIONAL_DEX_LAIRON,
+ NATIONAL_DEX_COMBUSKEN,
+ NATIONAL_DEX_OCTILLERY,
+ NATIONAL_DEX_NIDORINO,
+ NATIONAL_DEX_FLAREON,
+ NATIONAL_DEX_DELIBIRD,
+ NATIONAL_DEX_TENTACOOL,
+ NATIONAL_DEX_ABRA,
+ NATIONAL_DEX_GROVYLE,
+ NATIONAL_DEX_WHISCASH,
+ NATIONAL_DEX_QUILAVA,
+ NATIONAL_DEX_ESPEON,
+ NATIONAL_DEX_GRIMER,
+ NATIONAL_DEX_CHIKORITA,
+ NATIONAL_DEX_GRUMPIG,
+ NATIONAL_DEX_NOSEPASS,
+ NATIONAL_DEX_PERSIAN,
+ NATIONAL_DEX_MIGHTYENA,
+ NATIONAL_DEX_VENONAT,
+ NATIONAL_DEX_MAGNETON,
+ NATIONAL_DEX_PONYTA,
+ NATIONAL_DEX_MAKUHITA,
+ NATIONAL_DEX_LUNATONE,
+ NATIONAL_DEX_SANDSLASH,
+ NATIONAL_DEX_DROWZEE,
+ NATIONAL_DEX_TANGELA,
+ NATIONAL_DEX_PRIMEAPE,
+ NATIONAL_DEX_LEDYBA,
+ NATIONAL_DEX_WIGGLYTUFF,
+ NATIONAL_DEX_PARASECT,
+ NATIONAL_DEX_OMASTAR,
+ NATIONAL_DEX_LOUDRED,
+ NATIONAL_DEX_WARTORTLE,
+ NATIONAL_DEX_GRAVELER,
+ NATIONAL_DEX_UMBREON,
+ NATIONAL_DEX_LILEEP,
+ NATIONAL_DEX_POLIWHIRL,
+ NATIONAL_DEX_VAPOREON,
+ NATIONAL_DEX_BEEDRILL,
+ NATIONAL_DEX_MAROWAK,
+ NATIONAL_DEX_WEEPINBELL,
+ NATIONAL_DEX_RELICANTH,
+ NATIONAL_DEX_RHYHORN,
+ NATIONAL_DEX_IVYSAUR,
+ NATIONAL_DEX_KECLEON,
+ NATIONAL_DEX_NUZLEAF,
+ NATIONAL_DEX_BEAUTIFLY,
+ NATIONAL_DEX_PIDGEOTTO,
+ NATIONAL_DEX_ARIADOS,
+ NATIONAL_DEX_SEEL,
+ NATIONAL_DEX_POLITOED,
+ NATIONAL_DEX_CROCONAW,
+ NATIONAL_DEX_CHANSEY,
+ NATIONAL_DEX_BANETTE,
+ NATIONAL_DEX_DONPHAN,
+ NATIONAL_DEX_STARMIE,
+ NATIONAL_DEX_CHARMELEON,
+ NATIONAL_DEX_PILOSWINE,
+ NATIONAL_DEX_BUTTERFREE,
+ NATIONAL_DEX_VIBRAVA,
+ NATIONAL_DEX_ELECTABUZZ,
+ NATIONAL_DEX_CRAWDAUNT,
+ NATIONAL_DEX_DELCATTY,
+ NATIONAL_DEX_ALTARIA,
+ NATIONAL_DEX_SHELGON,
+ NATIONAL_DEX_NINETALES,
+ NATIONAL_DEX_GLIGAR,
+ NATIONAL_DEX_SEALEO,
+ NATIONAL_DEX_SPINDA,
+ NATIONAL_DEX_PUPITAR,
+ NATIONAL_DEX_SLOWPOKE,
+ NATIONAL_DEX_SOLROCK,
+ NATIONAL_DEX_MILTANK,
+ NATIONAL_DEX_FEAROW,
+ NATIONAL_DEX_VILEPLUME,
+ NATIONAL_DEX_MUK,
+ NATIONAL_DEX_FORRETRESS,
+ NATIONAL_DEX_SUDOWOODO,
+ NATIONAL_DEX_ABSOL,
+ NATIONAL_DEX_YANMA,
+ NATIONAL_DEX_DUSTOX,
+ NATIONAL_DEX_LICKITUNG,
+ NATIONAL_DEX_SMEARGLE,
+ NATIONAL_DEX_LANTURN,
+ NATIONAL_DEX_ELECTRODE,
+ NATIONAL_DEX_LOMBRE,
+ NATIONAL_DEX_BRELOOM,
+ NATIONAL_DEX_BAYLEEF,
+ NATIONAL_DEX_SEADRA,
+ NATIONAL_DEX_WEEZING,
+ NATIONAL_DEX_PELIPPER,
+ NATIONAL_DEX_METANG,
+ NATIONAL_DEX_NIDOQUEEN,
+ NATIONAL_DEX_CACTURNE,
+ NATIONAL_DEX_SHIFTRY,
+ NATIONAL_DEX_MEDICHAM,
+ NATIONAL_DEX_ZANGOOSE,
+ NATIONAL_DEX_KABUTOPS,
+ NATIONAL_DEX_KINGLER,
+ NATIONAL_DEX_KADABRA,
+ NATIONAL_DEX_SEAKING,
+ NATIONAL_DEX_CLEFABLE,
+ NATIONAL_DEX_MAGMAR,
+ NATIONAL_DEX_WOBBUFFET,
+ NATIONAL_DEX_GASTLY,
+ NATIONAL_DEX_MR_MIME,
+ NATIONAL_DEX_POLIWRATH,
+ NATIONAL_DEX_TAUROS,
+ NATIONAL_DEX_LATIAS,
+ NATIONAL_DEX_AMPHAROS,
+ NATIONAL_DEX_VIGOROTH,
+ NATIONAL_DEX_LEDIAN,
+ NATIONAL_DEX_GOLEM,
+ NATIONAL_DEX_WALREIN,
+ NATIONAL_DEX_DODUO,
+ NATIONAL_DEX_HOUNDOOM,
+ NATIONAL_DEX_NIDOKING,
+ NATIONAL_DEX_JYNX,
+ NATIONAL_DEX_HITMONCHAN,
+ NATIONAL_DEX_STANTLER,
+ NATIONAL_DEX_GRANBULL,
+ NATIONAL_DEX_HITMONTOP,
+ NATIONAL_DEX_QUAGSIRE,
+ NATIONAL_DEX_CLAYDOL,
+ NATIONAL_DEX_SWAMPERT,
+ NATIONAL_DEX_BLISSEY,
+ NATIONAL_DEX_LUDICOLO,
+ NATIONAL_DEX_EXPLOUD,
+ NATIONAL_DEX_DUNSPARCE,
+ NATIONAL_DEX_PINSIR,
+ NATIONAL_DEX_CLOYSTER,
+ NATIONAL_DEX_MACHOKE,
+ NATIONAL_DEX_GIRAFARIG,
+ NATIONAL_DEX_PIDGEOT,
+ NATIONAL_DEX_XATU,
+ NATIONAL_DEX_CRADILY,
+ NATIONAL_DEX_HITMONLEE,
+ NATIONAL_DEX_VENOMOTH,
+ NATIONAL_DEX_GENGAR,
+ NATIONAL_DEX_HERACROSS,
+ NATIONAL_DEX_GLALIE,
+ NATIONAL_DEX_SCYTHER,
+ NATIONAL_DEX_SALAMENCE,
+ NATIONAL_DEX_MANECTRIC,
+ NATIONAL_DEX_ARMALDO,
+ NATIONAL_DEX_ALAKAZAM,
+ NATIONAL_DEX_HYPNO,
+ NATIONAL_DEX_NOCTOWL,
+ NATIONAL_DEX_TENTACRUEL,
+ NATIONAL_DEX_DUSCLOPS,
+ NATIONAL_DEX_ZAPDOS,
+ NATIONAL_DEX_GOLBAT,
+ NATIONAL_DEX_METAGROSS,
+ NATIONAL_DEX_GARDEVOIR,
+ NATIONAL_DEX_BLASTOISE,
+ NATIONAL_DEX_SLOWBRO,
+ NATIONAL_DEX_HAUNTER,
+ NATIONAL_DEX_MACHAMP,
+ NATIONAL_DEX_REGIROCK,
+ NATIONAL_DEX_SWALOT,
+ NATIONAL_DEX_SCEPTILE,
+ NATIONAL_DEX_SKARMORY,
+ NATIONAL_DEX_GOLDUCK,
+ NATIONAL_DEX_DEOXYS,
+ NATIONAL_DEX_VICTREEBEL,
+ NATIONAL_DEX_RAPIDASH,
+ NATIONAL_DEX_CHARIZARD,
+ NATIONAL_DEX_HUNTAIL,
+ NATIONAL_DEX_DEWGONG,
+ NATIONAL_DEX_ARTICUNO,
+ NATIONAL_DEX_TYPHLOSION,
+ NATIONAL_DEX_AERODACTYL,
+ NATIONAL_DEX_GOREBYSS,
+ NATIONAL_DEX_URSARING,
+ NATIONAL_DEX_MEGANIUM,
+ NATIONAL_DEX_REGICE,
+ NATIONAL_DEX_SCIZOR,
+ NATIONAL_DEX_KINGDRA,
+ NATIONAL_DEX_DRATINI,
+ NATIONAL_DEX_DODRIO,
+ NATIONAL_DEX_SHARPEDO,
+ NATIONAL_DEX_CROBAT,
+ NATIONAL_DEX_FURRET,
+ NATIONAL_DEX_ARCANINE,
+ NATIONAL_DEX_RAIKOU,
+ NATIONAL_DEX_BLAZIKEN,
+ NATIONAL_DEX_CAMERUPT,
+ NATIONAL_DEX_RHYDON,
+ NATIONAL_DEX_REGISTEEL,
+ NATIONAL_DEX_EKANS,
+ NATIONAL_DEX_FLYGON,
+ NATIONAL_DEX_TROPIUS,
+ NATIONAL_DEX_LATIOS,
+ NATIONAL_DEX_SUICUNE,
+ NATIONAL_DEX_MOLTRES,
+ NATIONAL_DEX_VENUSAUR,
+ NATIONAL_DEX_EXEGGUTOR,
+ NATIONAL_DEX_SLOWKING,
+ NATIONAL_DEX_TYRANITAR,
+ NATIONAL_DEX_SLAKING,
+ NATIONAL_DEX_WAILMER,
+ NATIONAL_DEX_MEWTWO,
+ NATIONAL_DEX_AGGRON,
+ NATIONAL_DEX_SNORLAX,
+ NATIONAL_DEX_MANTINE,
+ NATIONAL_DEX_ENTEI,
+ NATIONAL_DEX_DRAGONITE,
+ NATIONAL_DEX_KANGASKHAN,
+ NATIONAL_DEX_HARIYAMA,
+ NATIONAL_DEX_FERALIGATR,
+ NATIONAL_DEX_LAPRAS,
+ NATIONAL_DEX_SEVIPER,
+ NATIONAL_DEX_ARBOK,
+ NATIONAL_DEX_GROUDON,
+ NATIONAL_DEX_HO_OH,
+ NATIONAL_DEX_DRAGONAIR,
+ NATIONAL_DEX_KYOGRE,
+ NATIONAL_DEX_LUGIA,
+ NATIONAL_DEX_MILOTIC,
+ NATIONAL_DEX_GYARADOS,
+ NATIONAL_DEX_RAYQUAZA,
+ NATIONAL_DEX_ONIX,
+ NATIONAL_DEX_STEELIX,
+ NATIONAL_DEX_WAILORD
+};
+
+const u16 gPokedexOrder_Type[] =
+{
+ SPECIES_RATTATA,
+ SPECIES_RATICATE,
+ SPECIES_CLEFAIRY,
+ SPECIES_CLEFABLE,
+ SPECIES_JIGGLYPUFF,
+ SPECIES_WIGGLYTUFF,
+ SPECIES_MEOWTH,
+ SPECIES_PERSIAN,
+ SPECIES_LICKITUNG,
+ SPECIES_CHANSEY,
+ SPECIES_KANGASKHAN,
+ SPECIES_TAUROS,
+ SPECIES_DITTO,
+ SPECIES_EEVEE,
+ SPECIES_PORYGON,
+ SPECIES_SNORLAX,
+ SPECIES_SENTRET,
+ SPECIES_FURRET,
+ SPECIES_CLEFFA,
+ SPECIES_IGGLYBUFF,
+ SPECIES_TOGEPI,
+ SPECIES_AIPOM,
+ SPECIES_DUNSPARCE,
+ SPECIES_SNUBBULL,
+ SPECIES_GRANBULL,
+ SPECIES_TEDDIURSA,
+ SPECIES_URSARING,
+ SPECIES_PORYGON2,
+ SPECIES_STANTLER,
+ SPECIES_SMEARGLE,
+ SPECIES_MILTANK,
+ SPECIES_BLISSEY,
+ SPECIES_ZIGZAGOON,
+ SPECIES_LINOONE,
+ SPECIES_SLAKOTH,
+ SPECIES_VIGOROTH,
+ SPECIES_SLAKING,
+ SPECIES_WHISMUR,
+ SPECIES_LOUDRED,
+ SPECIES_EXPLOUD,
+ SPECIES_AZURILL,
+ SPECIES_SKITTY,
+ SPECIES_DELCATTY,
+ SPECIES_SPINDA,
+ SPECIES_ZANGOOSE,
+ SPECIES_CASTFORM,
+ SPECIES_KECLEON,
+ SPECIES_OLD_UNOWN_B,
+ SPECIES_OLD_UNOWN_C,
+ SPECIES_OLD_UNOWN_D,
+ SPECIES_OLD_UNOWN_E,
+ SPECIES_OLD_UNOWN_F,
+ SPECIES_OLD_UNOWN_G,
+ SPECIES_OLD_UNOWN_H,
+ SPECIES_OLD_UNOWN_I,
+ SPECIES_OLD_UNOWN_J,
+ SPECIES_OLD_UNOWN_K,
+ SPECIES_OLD_UNOWN_L,
+ SPECIES_OLD_UNOWN_M,
+ SPECIES_OLD_UNOWN_N,
+ SPECIES_OLD_UNOWN_O,
+ SPECIES_OLD_UNOWN_P,
+ SPECIES_OLD_UNOWN_Q,
+ SPECIES_OLD_UNOWN_R,
+ SPECIES_OLD_UNOWN_S,
+ SPECIES_OLD_UNOWN_T,
+ SPECIES_OLD_UNOWN_U,
+ SPECIES_OLD_UNOWN_V,
+ SPECIES_OLD_UNOWN_W,
+ SPECIES_OLD_UNOWN_X,
+ SPECIES_OLD_UNOWN_Y,
+ SPECIES_OLD_UNOWN_Z,
+ SPECIES_PIDGEY,
+ SPECIES_PIDGEOTTO,
+ SPECIES_PIDGEOT,
+ SPECIES_SPEAROW,
+ SPECIES_FEAROW,
+ SPECIES_FARFETCHD,
+ SPECIES_DODUO,
+ SPECIES_DODRIO,
+ SPECIES_HOOTHOOT,
+ SPECIES_NOCTOWL,
+ SPECIES_TOGETIC,
+ SPECIES_TAILLOW,
+ SPECIES_SWELLOW,
+ SPECIES_SWABLU,
+ SPECIES_GIRAFARIG,
+ SPECIES_MANKEY,
+ SPECIES_PRIMEAPE,
+ SPECIES_MACHOP,
+ SPECIES_MACHOKE,
+ SPECIES_MACHAMP,
+ SPECIES_HITMONLEE,
+ SPECIES_HITMONCHAN,
+ SPECIES_TYROGUE,
+ SPECIES_HITMONTOP,
+ SPECIES_MAKUHITA,
+ SPECIES_HARIYAMA,
+ SPECIES_MEDITITE,
+ SPECIES_MEDICHAM,
+ SPECIES_EKANS,
+ SPECIES_ARBOK,
+ SPECIES_NIDORAN_F,
+ SPECIES_NIDORINA,
+ SPECIES_NIDORAN_M,
+ SPECIES_NIDORINO,
+ SPECIES_GRIMER,
+ SPECIES_MUK,
+ SPECIES_KOFFING,
+ SPECIES_WEEZING,
+ SPECIES_GULPIN,
+ SPECIES_SWALOT,
+ SPECIES_SEVIPER,
+ SPECIES_ZUBAT,
+ SPECIES_GOLBAT,
+ SPECIES_CROBAT,
+ SPECIES_NIDOQUEEN,
+ SPECIES_NIDOKING,
+ SPECIES_SANDSHREW,
+ SPECIES_SANDSLASH,
+ SPECIES_DIGLETT,
+ SPECIES_DUGTRIO,
+ SPECIES_CUBONE,
+ SPECIES_MAROWAK,
+ SPECIES_PHANPY,
+ SPECIES_DONPHAN,
+ SPECIES_TRAPINCH,
+ SPECIES_GROUDON,
+ SPECIES_GLIGAR,
+ SPECIES_RHYHORN,
+ SPECIES_RHYDON,
+ SPECIES_BALTOY,
+ SPECIES_CLAYDOL,
+ SPECIES_VIBRAVA,
+ SPECIES_FLYGON,
+ SPECIES_SUDOWOODO,
+ SPECIES_NOSEPASS,
+ SPECIES_REGIROCK,
+ SPECIES_AERODACTYL,
+ SPECIES_GEODUDE,
+ SPECIES_GRAVELER,
+ SPECIES_GOLEM,
+ SPECIES_ONIX,
+ SPECIES_LARVITAR,
+ SPECIES_PUPITAR,
+ SPECIES_ANORITH,
+ SPECIES_ARMALDO,
+ SPECIES_OMANYTE,
+ SPECIES_OMASTAR,
+ SPECIES_KABUTO,
+ SPECIES_KABUTOPS,
+ SPECIES_LILEEP,
+ SPECIES_CRADILY,
+ SPECIES_LUNATONE,
+ SPECIES_SOLROCK,
+ SPECIES_TYRANITAR,
+ SPECIES_CATERPIE,
+ SPECIES_METAPOD,
+ SPECIES_PINSIR,
+ SPECIES_PINECO,
+ SPECIES_WURMPLE,
+ SPECIES_SILCOON,
+ SPECIES_CASCOON,
+ SPECIES_VOLBEAT,
+ SPECIES_ILLUMISE,
+ SPECIES_HERACROSS,
+ SPECIES_BUTTERFREE,
+ SPECIES_SCYTHER,
+ SPECIES_LEDYBA,
+ SPECIES_LEDIAN,
+ SPECIES_YANMA,
+ SPECIES_BEAUTIFLY,
+ SPECIES_MASQUERAIN,
+ SPECIES_NINJASK,
+ SPECIES_WEEDLE,
+ SPECIES_KAKUNA,
+ SPECIES_BEEDRILL,
+ SPECIES_VENONAT,
+ SPECIES_VENOMOTH,
+ SPECIES_SPINARAK,
+ SPECIES_ARIADOS,
+ SPECIES_DUSTOX,
+ SPECIES_NINCADA,
+ SPECIES_SHUCKLE,
+ SPECIES_SHEDINJA,
+ SPECIES_FORRETRESS,
+ SPECIES_SCIZOR,
+ SPECIES_SURSKIT,
+ SPECIES_PARAS,
+ SPECIES_PARASECT,
+ SPECIES_MISDREAVUS,
+ SPECIES_SHUPPET,
+ SPECIES_BANETTE,
+ SPECIES_DUSKULL,
+ SPECIES_DUSCLOPS,
+ SPECIES_GASTLY,
+ SPECIES_HAUNTER,
+ SPECIES_GENGAR,
+ SPECIES_MAWILE,
+ SPECIES_REGISTEEL,
+ SPECIES_SKARMORY,
+ SPECIES_STEELIX,
+ SPECIES_ARON,
+ SPECIES_LAIRON,
+ SPECIES_AGGRON,
+ SPECIES_BELDUM,
+ SPECIES_METANG,
+ SPECIES_METAGROSS,
+ SPECIES_JIRACHI,
+ SPECIES_CHARMANDER,
+ SPECIES_CHARMELEON,
+ SPECIES_VULPIX,
+ SPECIES_NINETALES,
+ SPECIES_GROWLITHE,
+ SPECIES_ARCANINE,
+ SPECIES_PONYTA,
+ SPECIES_RAPIDASH,
+ SPECIES_MAGMAR,
+ SPECIES_FLAREON,
+ SPECIES_CYNDAQUIL,
+ SPECIES_QUILAVA,
+ SPECIES_TYPHLOSION,
+ SPECIES_SLUGMA,
+ SPECIES_MAGBY,
+ SPECIES_ENTEI,
+ SPECIES_TORCHIC,
+ SPECIES_TORKOAL,
+ SPECIES_COMBUSKEN,
+ SPECIES_BLAZIKEN,
+ SPECIES_CHARIZARD,
+ SPECIES_MOLTRES,
+ SPECIES_HO_OH,
+ SPECIES_NUMEL,
+ SPECIES_CAMERUPT,
+ SPECIES_MAGCARGO,
+ SPECIES_SQUIRTLE,
+ SPECIES_WARTORTLE,
+ SPECIES_BLASTOISE,
+ SPECIES_PSYDUCK,
+ SPECIES_GOLDUCK,
+ SPECIES_POLIWAG,
+ SPECIES_POLIWHIRL,
+ SPECIES_SEEL,
+ SPECIES_SHELLDER,
+ SPECIES_KRABBY,
+ SPECIES_KINGLER,
+ SPECIES_HORSEA,
+ SPECIES_SEADRA,
+ SPECIES_GOLDEEN,
+ SPECIES_SEAKING,
+ SPECIES_STARYU,
+ SPECIES_MAGIKARP,
+ SPECIES_VAPOREON,
+ SPECIES_TOTODILE,
+ SPECIES_CROCONAW,
+ SPECIES_FERALIGATR,
+ SPECIES_MARILL,
+ SPECIES_AZUMARILL,
+ SPECIES_POLITOED,
+ SPECIES_REMORAID,
+ SPECIES_OCTILLERY,
+ SPECIES_SUICUNE,
+ SPECIES_MUDKIP,
+ SPECIES_WAILMER,
+ SPECIES_WAILORD,
+ SPECIES_CORPHISH,
+ SPECIES_FEEBAS,
+ SPECIES_MILOTIC,
+ SPECIES_CLAMPERL,
+ SPECIES_HUNTAIL,
+ SPECIES_GOREBYSS,
+ SPECIES_LUVDISC,
+ SPECIES_KYOGRE,
+ SPECIES_POLIWRATH,
+ SPECIES_GYARADOS,
+ SPECIES_MANTINE,
+ SPECIES_WINGULL,
+ SPECIES_PELIPPER,
+ SPECIES_TENTACOOL,
+ SPECIES_TENTACRUEL,
+ SPECIES_QWILFISH,
+ SPECIES_WOOPER,
+ SPECIES_QUAGSIRE,
+ SPECIES_MARSHTOMP,
+ SPECIES_SWAMPERT,
+ SPECIES_BARBOACH,
+ SPECIES_WHISCASH,
+ SPECIES_CORSOLA,
+ SPECIES_RELICANTH,
+ SPECIES_LOTAD,
+ SPECIES_LOMBRE,
+ SPECIES_LUDICOLO,
+ SPECIES_CHINCHOU,
+ SPECIES_LANTURN,
+ SPECIES_SLOWPOKE,
+ SPECIES_SLOWBRO,
+ SPECIES_STARMIE,
+ SPECIES_SLOWKING,
+ SPECIES_DEWGONG,
+ SPECIES_CLOYSTER,
+ SPECIES_LAPRAS,
+ SPECIES_KINGDRA,
+ SPECIES_CARVANHA,
+ SPECIES_SHARPEDO,
+ SPECIES_CRAWDAUNT,
+ SPECIES_TANGELA,
+ SPECIES_CHIKORITA,
+ SPECIES_BAYLEEF,
+ SPECIES_MEGANIUM,
+ SPECIES_BELLOSSOM,
+ SPECIES_SUNKERN,
+ SPECIES_SUNFLORA,
+ SPECIES_TREECKO,
+ SPECIES_GROVYLE,
+ SPECIES_SCEPTILE,
+ SPECIES_SEEDOT,
+ SPECIES_SHROOMISH,
+ SPECIES_CACNEA,
+ SPECIES_BRELOOM,
+ SPECIES_HOPPIP,
+ SPECIES_SKIPLOOM,
+ SPECIES_JUMPLUFF,
+ SPECIES_TROPIUS,
+ SPECIES_BULBASAUR,
+ SPECIES_IVYSAUR,
+ SPECIES_VENUSAUR,
+ SPECIES_ODDISH,
+ SPECIES_GLOOM,
+ SPECIES_VILEPLUME,
+ SPECIES_BELLSPROUT,
+ SPECIES_WEEPINBELL,
+ SPECIES_VICTREEBEL,
+ SPECIES_ROSELIA,
+ SPECIES_EXEGGCUTE,
+ SPECIES_EXEGGUTOR,
+ SPECIES_NUZLEAF,
+ SPECIES_SHIFTRY,
+ SPECIES_CACTURNE,
+ SPECIES_PIKACHU,
+ SPECIES_RAICHU,
+ SPECIES_VOLTORB,
+ SPECIES_ELECTRODE,
+ SPECIES_ELECTABUZZ,
+ SPECIES_JOLTEON,
+ SPECIES_PICHU,
+ SPECIES_MAREEP,
+ SPECIES_FLAAFFY,
+ SPECIES_AMPHAROS,
+ SPECIES_ELEKID,
+ SPECIES_RAIKOU,
+ SPECIES_ELECTRIKE,
+ SPECIES_MANECTRIC,
+ SPECIES_PLUSLE,
+ SPECIES_MINUN,
+ SPECIES_ZAPDOS,
+ SPECIES_MAGNEMITE,
+ SPECIES_MAGNETON,
+ SPECIES_ABRA,
+ SPECIES_KADABRA,
+ SPECIES_ALAKAZAM,
+ SPECIES_DROWZEE,
+ SPECIES_HYPNO,
+ SPECIES_MR_MIME,
+ SPECIES_MEWTWO,
+ SPECIES_MEW,
+ SPECIES_ESPEON,
+ SPECIES_UNOWN,
+ SPECIES_WOBBUFFET,
+ SPECIES_RALTS,
+ SPECIES_KIRLIA,
+ SPECIES_GARDEVOIR,
+ SPECIES_SPOINK,
+ SPECIES_GRUMPIG,
+ SPECIES_CHIMECHO,
+ SPECIES_WYNAUT,
+ SPECIES_DEOXYS,
+ SPECIES_NATU,
+ SPECIES_XATU,
+ SPECIES_LUGIA,
+ SPECIES_CELEBI,
+ SPECIES_SNORUNT,
+ SPECIES_GLALIE,
+ SPECIES_REGICE,
+ SPECIES_ARTICUNO,
+ SPECIES_DELIBIRD,
+ SPECIES_SWINUB,
+ SPECIES_PILOSWINE,
+ SPECIES_SPHEAL,
+ SPECIES_SEALEO,
+ SPECIES_WALREIN,
+ SPECIES_JYNX,
+ SPECIES_SMOOCHUM,
+ SPECIES_DRATINI,
+ SPECIES_DRAGONAIR,
+ SPECIES_BAGON,
+ SPECIES_SHELGON,
+ SPECIES_DRAGONITE,
+ SPECIES_ALTARIA,
+ SPECIES_SALAMENCE,
+ SPECIES_RAYQUAZA,
+ SPECIES_LATIAS,
+ SPECIES_LATIOS,
+ SPECIES_UMBREON,
+ SPECIES_POOCHYENA,
+ SPECIES_MIGHTYENA,
+ SPECIES_ABSOL,
+ SPECIES_MURKROW,
+ SPECIES_SABLEYE,
+ SPECIES_HOUNDOUR,
+ SPECIES_HOUNDOOM,
+ SPECIES_SNEASEL
+};
diff --git a/src/data/pokemon/pokedex_text.h b/src/data/pokemon/pokedex_text.h
index 3285c8d11..fdcb94757 100644
--- a/src/data/pokemon/pokedex_text.h
+++ b/src/data/pokemon/pokedex_text.h
@@ -1,2708 +1,5 @@
-const u8 gDummyPokedexText[] = _(
- "This is a newly discovered POKéMON. It is\n"
- "currently under investigation. No detailed\n"
- "information is available at this time.");
-
-const u8 gDummyPokedexTextUnused[] = _("");
-
-const u8 gBulbasaurPokedexText[] = _(
- "There is a plant seed on its back right\n"
- "from the day this POKéMON is born.\n"
- "The seed slowly grows larger.");
-
-const u8 gBulbasaurPokedexTextUnused[] = _("");
-
-const u8 gIvysaurPokedexText[] = _(
- "There is a plant bulb on its back.\n"
- "When it absorbs nutrients, the bulb is said\n"
- "to blossom into a large flower.");
-
-const u8 gIvysaurPokedexTextUnused[] = _("");
-
-const u8 gVenusaurPokedexText[] = _(
- "A bewitching aroma wafts from its flower.\n"
- "The fragrance becalms those engaged in\n"
- "a battle.");
-
-const u8 gVenusaurPokedexTextUnused[] = _("");
-
-const u8 gCharmanderPokedexText[] = _(
- "From the time it is born, a flame burns\n"
- "at the tip of its tail. Its life would end\n"
- "if the flame were to go out.");
-
-const u8 gCharmanderPokedexTextUnused[] = _("");
-
-const u8 gCharmeleonPokedexText[] = _(
- "It lashes about with its tail to knock\n"
- "down its foe. It then tears up the fallen\n"
- "opponent with sharp claws.");
-
-const u8 gCharmeleonPokedexTextUnused[] = _("");
-
-const u8 gCharizardPokedexText[] = _(
- "Its wings can carry this POKéMON close to\n"
- "an altitude of 4,600 feet. It blows out\n"
- "fire at very high temperatures.");
-
-const u8 gCharizardPokedexTextUnused[] = _("");
-
-const u8 gSquirtlePokedexText[] = _(
- "When it retracts its long neck into its\n"
- "shell, it squirts out water with vigorous\n"
- "force.");
-
-const u8 gSquirtlePokedexTextUnused[] = _("");
-
-const u8 gWartortlePokedexText[] = _(
- "This POKéMON is very popular as a pet.\n"
- "Its fur-covered tail is a symbol of its\n"
- "longevity.");
-
-const u8 gWartortlePokedexTextUnused[] = _("");
-
-const u8 gBlastoisePokedexText[] = _(
- "It crushes its foe under its heavy body\n"
- "to cause fainting. In a pinch, it will\n"
- "withdraw inside its shell.");
-
-const u8 gBlastoisePokedexTextUnused[] = _("");
-
-const u8 gCaterpiePokedexText[] = _(
- "It is covered with a green skin. When it\n"
- "grows, it sheds the skin, covers itself\n"
- "with silk, and becomes a cocoon.");
-
-const u8 gCaterpiePokedexTextUnused[] = _("");
-
-const u8 gMetapodPokedexText[] = _(
- "Even though it is encased in a sturdy\n"
- "shell, the body inside is tender.\n"
- "It can't withstand a harsh attack.");
-
-const u8 gMetapodPokedexTextUnused[] = _("");
-
-const u8 gButterfreePokedexText[] = _(
- "The wings are protected by rain-repellent\n"
- "dust. As a result, this POKéMON can fly\n"
- "about even in rain.");
-
-const u8 gButterfreePokedexTextUnused[] = _("");
-
-const u8 gWeedlePokedexText[] = _(
- "Often found in forests and grasslands.\n"
- "It has a sharp, toxic barb of around two\n"
- "inches on top of its head.");
-
-const u8 gWeedlePokedexTextUnused[] = _("");
-
-const u8 gKakunaPokedexText[] = _(
- "This POKéMON is in a temporary stage\n"
- "while making its body. It is almost\n"
- "completely unable to move on its own.");
-
-const u8 gKakunaPokedexTextUnused[] = _("");
-
-const u8 gBeedrillPokedexText[] = _(
- "May appear in a swarm. Flies at violent\n"
- "speeds, all the while stabbing with the\n"
- "toxic stinger on its rear.");
-
-const u8 gBeedrillPokedexTextUnused[] = _("");
-
-const u8 gPidgeyPokedexText[] = _(
- "Does not like to fight. It hides in\n"
- "tall grass and so on, foraging for food\n"
- "such as small bugs.");
-
-const u8 gPidgeyPokedexTextUnused[] = _("");
-
-const u8 gPidgeottoPokedexText[] = _(
- "The claws on its feet are well developed.\n"
- "It can carry prey such as an EXEGGCUTE\n"
- "to its nest over 60 miles away.");
-
-const u8 gPidgeottoPokedexTextUnused[] = _("");
-
-const u8 gPidgeotPokedexText[] = _(
- "It spreads its gorgeous wings widely to\n"
- "intimidate enemies. It races through the\n"
- "skies at Mach-2 speed.");
-
-const u8 gPidgeotPokedexTextUnused[] = _("");
-
-const u8 gRattataPokedexText[] = _(
- "Its fangs are long and very sharp.\n"
- "They grow continuously, so it gnaws on\n"
- "hard things to whittle them down.");
-
-const u8 gRattataPokedexTextUnused[] = _("");
-
-const u8 gRaticatePokedexText[] = _(
- "Its rear feet have three toes each.\n"
- "They are webbed, enabling it to swim\n"
- "across rivers.");
-
-const u8 gRaticatePokedexTextUnused[] = _("");
-
-const u8 gSpearowPokedexText[] = _(
- "It busily flits around here and there.\n"
- "Even if it is frail, it can be a tough\n"
- "foe that uses MIRROR MOVE.");
-
-const u8 gSpearowPokedexTextUnused[] = _("");
-
-const u8 gFearowPokedexText[] = _(
- "Its huge and magnificent wings can keep it\n"
- "aloft in the sky. It can remain flying a\n"
- "whole day without landing.");
-
-const u8 gFearowPokedexTextUnused[] = _("");
-
-const u8 gEkansPokedexText[] = _(
- "A very common sight in grassland, etc.\n"
- "It flicks its tongue in and out to sense\n"
- "danger in its surroundings.");
-
-const u8 gEkansPokedexTextUnused[] = _("");
-
-const u8 gArbokPokedexText[] = _(
- "The pattern on its belly appears to be a\n"
- "frightening face. Weak foes will flee just\n"
- "at the sight of the pattern.");
-
-const u8 gArbokPokedexTextUnused[] = _("");
-
-const u8 gPikachuPokedexText[] = _(
- "It has small electric sacs on both its\n"
- "cheeks. If threatened, it looses electric\n"
- "charges from the sacs.");
-
-const u8 gPikachuPokedexTextUnused[] = _("");
-
-const u8 gRaichuPokedexText[] = _(
- "Its electric charges can reach even\n"
- "100,000 volts. Careless contact can cause\n"
- "even an Indian elephant to faint.");
-
-const u8 gRaichuPokedexTextUnused[] = _("");
-
-const u8 gSandshrewPokedexText[] = _(
- "It burrows and lives underground.\n"
- "If threatened, it curls itself up into a\n"
- "ball for protection.");
-
-const u8 gSandshrewPokedexTextUnused[] = _("");
-
-const u8 gSandslashPokedexText[] = _(
- "It is adept at attacking with the spines\n"
- "on its back and its sharp claws while\n"
- "quickly scurrying about.");
-
-const u8 gSandslashPokedexTextUnused[] = _("");
-
-const u8 gNidoranFPokedexText[] = _(
- "Though small, it must be treated with\n"
- "caution because of its powerfully toxic\n"
- "barbs. The female has smaller horns.");
-
-const u8 gNidoranFPokedexTextUnused[] = _("");
-
-const u8 gNidorinaPokedexText[] = _(
- "The female has a gentle temperament.\n"
- "It emits ultrasonic cries that have the\n"
- "power to befuddle foes.");
-
-const u8 gNidorinaPokedexTextUnused[] = _("");
-
-const u8 gNidoqueenPokedexText[] = _(
- "The body is covered by stiff, needle-\n"
- "like scales. If it becomes excited,\n"
- "the needles bristle outwards.");
-
-const u8 gNidoqueenPokedexTextUnused[] = _("");
-
-const u8 gNidoranMPokedexText[] = _(
- "Its large ears are flapped like wings\n"
- "when it is listening to distant sounds.\n"
- "It extends toxic barbs when angered.");
-
-const u8 gNidoranMPokedexTextUnused[] = _("");
-
-const u8 gNidorinoPokedexText[] = _(
- "It is easily angered. By swinging its well-\n"
- "developed horn wildly, it can even punch\n"
- "through diamond.");
-
-const u8 gNidorinoPokedexTextUnused[] = _("");
-
-const u8 gNidokingPokedexText[] = _(
- "It is recognized by its rock-hard hide\n"
- "and its extended horn. Be careful with\n"
- "the horn as it contains venom.");
-
-const u8 gNidokingPokedexTextUnused[] = _("");
-
-const u8 gClefairyPokedexText[] = _(
- "Its adorable appearance makes it popular\n"
- "as a pet. However, it is rare and\n"
- "difficult to find.");
-
-const u8 gClefairyPokedexTextUnused[] = _("");
-
-const u8 gClefablePokedexText[] = _(
- "It has an acute sense of hearing. It can\n"
- "easily hear a pin being dropped nearly\n"
- "1,100 yards away.");
-
-const u8 gClefablePokedexTextUnused[] = _("");
-
-const u8 gVulpixPokedexText[] = _(
- "While young, it has six gorgeous tails.\n"
- "When it grows, several new tails are\n"
- "sprouted.");
-
-const u8 gVulpixPokedexTextUnused[] = _("");
-
-const u8 gNinetalesPokedexText[] = _(
- "It has nine long tails and fur that \n"
- "gleams gold. It is said to live for \n"
- "1,000 years.");
-
-const u8 gNinetalesPokedexTextUnused[] = _("");
-
-const u8 gJigglypuffPokedexText[] = _(
- "It captivates foes with its huge, round\n"
- "eyes, then lulls them to sleep by singing\n"
- "a soothing melody.");
-
-const u8 gJigglypuffPokedexTextUnused[] = _("");
-
-const u8 gWigglytuffPokedexText[] = _(
- "Its fur is extremely fine, dense, and\n"
- "supple. The exquisitely pleasant fur\n"
- "conveys an image of luxury.");
-
-const u8 gWigglytuffPokedexTextUnused[] = _("");
-
-const u8 gZubatPokedexText[] = _(
- "It has no eyes. Instead, it relies on\n"
- "its ultrasonic cries for echo location to\n"
- "flit about in darkness.");
-
-const u8 gZubatPokedexTextUnused[] = _("");
-
-const u8 gGolbatPokedexText[] = _(
- "It clamps down on its prey with needle-\n"
- "sharp fangs and drains over 10 ounces of\n"
- "blood in one gulp.");
-
-const u8 gGolbatPokedexTextUnused[] = _("");
-
-const u8 gOddishPokedexText[] = _(
- "Its scientific name is “Oddium Wanderus.”\n"
- "At night, it is said to walk nearly 1,000\n"
- "feet on its two roots.");
-
-const u8 gOddishPokedexTextUnused[] = _("");
-
-const u8 gGloomPokedexText[] = _(
- "Its pistils exude an incredibly foul odor.\n"
- "The horrid stench can cause fainting at a\n"
- "distance of 1.25 miles.");
-
-const u8 gGloomPokedexTextUnused[] = _("");
-
-const u8 gVileplumePokedexText[] = _(
- "Its petals are the largest in the world.\n"
- "It fiendishly scatters allergy-causing\n"
- "pollen from its petals.");
-
-const u8 gVileplumePokedexTextUnused[] = _("");
-
-const u8 gParasPokedexText[] = _(
- "Growing out of the bug's back are\n"
- "mushrooms called tochukaso. The mushrooms\n"
- "grow with the bug host.");
-
-const u8 gParasPokedexTextUnused[] = _("");
-
-const u8 gParasectPokedexText[] = _(
- "It scatters toxic spores from the\n"
- "mushroom cap. In China, the spores are\n"
- "used as herbal medicine.");
-
-const u8 gParasectPokedexTextUnused[] = _("");
-
-const u8 gVenonatPokedexText[] = _(
- "Its eyes act as radar, enabling it to be\n"
- "active in darkness. The eyes can also\n"
- "shoot powerful beams.");
-
-const u8 gVenonatPokedexTextUnused[] = _("");
-
-const u8 gVenomothPokedexText[] = _(
- "The wings are covered with dustlike\n"
- "scales. Every time it flaps its wings, it\n"
- "looses highly toxic dust.");
-
-const u8 gVenomothPokedexTextUnused[] = _("");
-
-const u8 gDiglettPokedexText[] = _(
- "It burrows through the ground at a\n"
- "shallow depth. It leaves raised earth in\n"
- "its wake, making it easy to spot.");
-
-const u8 gDiglettPokedexTextUnused[] = _("");
-
-const u8 gDugtrioPokedexText[] = _(
- "In battle, it digs through the ground and\n"
- "strikes the unsuspecting foe from an\n"
- "unexpected direction.");
-
-const u8 gDugtrioPokedexTextUnused[] = _("");
-
-const u8 gMeowthPokedexText[] = _(
- "All it does is sleep during the daytime.\n"
- "At night, it patrols its territory with its\n"
- "eyes aglow.");
-
-const u8 gMeowthPokedexTextUnused[] = _("");
-
-const u8 gPersianPokedexText[] = _(
- "Has a vicious temperament. Beware if it\n"
- "raises its tail straight up. It is a signal\n"
- "that it is about to pounce and bite.");
-
-const u8 gPersianPokedexTextUnused[] = _("");
-
-const u8 gPsyduckPokedexText[] = _(
- "It is constantly wracked by a headache.\n"
- "When the headache turns intense, it begins\n"
- "using mysterious powers.");
-
-const u8 gPsyduckPokedexTextUnused[] = _("");
-
-const u8 gGolduckPokedexText[] = _(
- "The forelegs are webbed, helping to make\n"
- "it an adept swimmer. It can be seen\n"
- "swimming elegantly in lakes, etc.");
-
-const u8 gGolduckPokedexTextUnused[] = _("");
-
-const u8 gMankeyPokedexText[] = _(
- "Light and agile on its feet, and ferocious\n"
- "in temperament. When angered, it flies into\n"
- "an uncontrollable frenzy.");
-
-const u8 gMankeyPokedexTextUnused[] = _("");
-
-const u8 gPrimeapePokedexText[] = _(
- "It is always outrageously furious. If it\n"
- "gives chase, it will tenaciously track the\n"
- "target no matter how far.");
-
-const u8 gPrimeapePokedexTextUnused[] = _("");
-
-const u8 gGrowlithePokedexText[] = _(
- "Very friendly and faithful to people.\n"
- "It will try to repel enemies by barking\n"
- "and biting.");
-
-const u8 gGrowlithePokedexTextUnused[] = _("");
-
-const u8 gArcaninePokedexText[] = _(
- "A POKéMON that is described in Chinese\n"
- "legends. It is said to race at an\n"
- "unbelievable speed.");
-
-const u8 gArcaninePokedexTextUnused[] = _("");
-
-const u8 gPoliwagPokedexText[] = _(
- "Its slick black skin is thin and damp.\n"
- "A part of its internal organs can be seen\n"
- "through the skin as a spiral pattern.");
-
-const u8 gPoliwagPokedexTextUnused[] = _("");
-
-const u8 gPoliwhirlPokedexText[] = _(
- "Its two legs are well developed.\n"
- "Even though it can live on the ground,\n"
- "it prefers living in water.");
-
-const u8 gPoliwhirlPokedexTextUnused[] = _("");
-
-const u8 gPoliwrathPokedexText[] = _(
- "An adept swimmer, it knows the front\n"
- "crawl, butterfly, and more. It is faster\n"
- "than the best human swimmers.");
-
-const u8 gPoliwrathPokedexTextUnused[] = _("");
-
-const u8 gAbraPokedexText[] = _(
- "It sleeps for 18 hours a day. It uses a\n"
- "variety of extrasensory powers even\n"
- "while asleep.");
-
-const u8 gAbraPokedexTextUnused[] = _("");
-
-const u8 gKadabraPokedexText[] = _(
- "It happened one morning - a boy with\n"
- "extrasensory powers awoke in bed\n"
- "transformed into KADABRA.");
-
-const u8 gKadabraPokedexTextUnused[] = _("");
-
-const u8 gAlakazamPokedexText[] = _(
- "It does not like physical attacks very \n"
- "much. Instead, it freely uses extra-\n"
- "sensory powers to defeat foes.");
-
-const u8 gAlakazamPokedexTextUnused[] = _("");
-
-const u8 gMachopPokedexText[] = _(
- "Its whole body is composed of muscles.\n"
- "Even though it's the size of a human\n"
- "child, it can hurl 100 grown-ups.");
-
-const u8 gMachopPokedexTextUnused[] = _("");
-
-const u8 gMachokePokedexText[] = _(
- "Its formidable body never gets tired.\n"
- "It helps people by doing work such as\n"
- "the moving of heavy goods.");
-
-const u8 gMachokePokedexTextUnused[] = _("");
-
-const u8 gMachampPokedexText[] = _(
- "Its four ruggedly developed arms can\n"
- "launch a flurry of 1,000 punches in just\n"
- "two seconds.");
-
-const u8 gMachampPokedexTextUnused[] = _("");
-
-const u8 gBellsproutPokedexText[] = _(
- "Its bud looks like a human face. Because\n"
- "of the bud, it is rumored to be a type of\n"
- "legendary mandrake plant.");
-
-const u8 gBellsproutPokedexTextUnused[] = _("");
-
-const u8 gWeepinbellPokedexText[] = _(
- "The leafy parts act as cutters for\n"
- "slashing foes. It spits a fluid that\n"
- "dissolves everything.");
-
-const u8 gWeepinbellPokedexTextUnused[] = _("");
-
-const u8 gVictreebelPokedexText[] = _(
- "Lures prey into its mouth with a honeylike\n"
- "aroma. The helpless prey is melted with\n"
- "a dissolving fluid.");
-
-const u8 gVictreebelPokedexTextUnused[] = _("");
-
-const u8 gTentacoolPokedexText[] = _(
- "Its eyes are as transparent as crystals.\n"
- "From them, it shoots mysterious\n"
- "beams of light.");
-
-const u8 gTentacoolPokedexTextUnused[] = _("");
-
-const u8 gTentacruelPokedexText[] = _(
- "It has 80 tentacles that move about\n"
- "freely. They can sting, causing poisoning\n"
- "and sharp, stabbing pain.");
-
-const u8 gTentacruelPokedexTextUnused[] = _("");
-
-const u8 gGeodudePokedexText[] = _(
- "Its round form makes it easy to pick up.\n"
- "Some people have used them to hurl\n"
- "at each other in a snowball fight.");
-
-const u8 gGeodudePokedexTextUnused[] = _("");
-
-const u8 gGravelerPokedexText[] = _(
- "Be careful while hiking on mountain trails.\n"
- "GRAVELER may come rolling down the path\n"
- "without slowing.");
-
-const u8 gGravelerPokedexTextUnused[] = _("");
-
-const u8 gGolemPokedexText[] = _(
- "It is enclosed in a hard shell that is as\n"
- "rugged as slabs of rock. It sheds skin\n"
- "once a year to grow larger.");
-
-const u8 gGolemPokedexTextUnused[] = _("");
-
-const u8 gPonytaPokedexText[] = _(
- "Its body is light, and its legs are\n"
- "incredibly powerful. It can clear\n"
- "Ayers Rock in one leap.");
-
-const u8 gPonytaPokedexTextUnused[] = _("");
-
-const u8 gRapidashPokedexText[] = _(
- "It can gallop at a top speed of 150\n"
- "miles per hour. It can race as fast as a\n"
- "bullet train while ablaze.");
-
-const u8 gRapidashPokedexTextUnused[] = _("");
-
-const u8 gSlowpokePokedexText[] = _(
- "It is always vacantly lost in thought, but\n"
- "no one knows what it is thinking about.\n"
- "It is good at fishing with its tail.");
-
-const u8 gSlowpokePokedexTextUnused[] = _("");
-
-const u8 gSlowbroPokedexText[] = _(
- "When a SLOWPOKE went hunting in the sea,\n"
- "its tail was bitten by a SHELLDER. That\n"
- "made it evolve into SLOWBRO.");
-
-const u8 gSlowbroPokedexTextUnused[] = _("");
-
-const u8 gMagnemitePokedexText[] = _(
- "It moves while constantly hovering.\n"
- "It discharges THUNDER WAVE and so on\n"
- "from the units at its sides.");
-
-const u8 gMagnemitePokedexTextUnused[] = _("");
-
-const u8 gMagnetonPokedexText[] = _(
- "A linked cluster formed of several\n"
- "MAGNEMITE. It discharges powerful\n"
- "magnetic waves at high voltage.");
-
-const u8 gMagnetonPokedexTextUnused[] = _("");
-
-const u8 gFarfetchdPokedexText[] = _(
- "It always walks about with a plant stalk\n"
- "clamped in its beak. The stalk is used for\n"
- "building its nest.");
-
-const u8 gFarfetchdPokedexTextUnused[] = _("");
-
-const u8 gDoduoPokedexText[] = _(
- "A two-headed POKéMON that was discovered\n"
- "as a sudden mutation. It runs at a pace\n"
- "of over 60 miles per hour.");
-
-const u8 gDoduoPokedexTextUnused[] = _("");
-
-const u8 gDodrioPokedexText[] = _(
- "An odd species that is rarely found.\n"
- "The three heads respectively represent\n"
- "joy, sadness, and anger.");
-
-const u8 gDodrioPokedexTextUnused[] = _("");
-
-const u8 gSeelPokedexText[] = _(
- "Covered with light blue fur, its hide is\n"
- "thick and tough. It is active in bitter\n"
- "cold of minus 40 degrees Fahrenheit.");
-
-const u8 gSeelPokedexTextUnused[] = _("");
-
-const u8 gDewgongPokedexText[] = _(
- "Its body is covered with a pure white\n"
- "fur. The colder the weather, the more\n"
- "active it becomes.");
-
-const u8 gDewgongPokedexTextUnused[] = _("");
-
-const u8 gGrimerPokedexText[] = _(
- "Sludge exposed to X rays from the moon\n"
- "transformed into GRIMER. It loves feeding\n"
- "on filthy things.");
-
-const u8 gGrimerPokedexTextUnused[] = _("");
-
-const u8 gMukPokedexText[] = _(
- "It is usually undetectable because it\n"
- "blends in with the ground. Touching it can\n"
- "cause terrible poisoning.");
-
-const u8 gMukPokedexTextUnused[] = _("");
-
-const u8 gShellderPokedexText[] = _(
- "It is encased in a shell that is harder\n"
- "than diamond. Inside, however, it is\n"
- "surprisingly tender.");
-
-const u8 gShellderPokedexTextUnused[] = _("");
-
-const u8 gCloysterPokedexText[] = _(
- "Its shell is extremely hard. It cannot be\n"
- "shattered, even with a bomb. The shell\n"
- "opens only when it is attacking.");
-
-const u8 gCloysterPokedexTextUnused[] = _("");
-
-const u8 gGastlyPokedexText[] = _(
- "A being that exists as a thin gas. It can\n"
- "topple an Indian elephant by enveloping\n"
- "the prey in two seconds.");
-
-const u8 gGastlyPokedexTextUnused[] = _("");
-
-const u8 gHaunterPokedexText[] = _(
- "If you get the feeling of being watched\n"
- "in darkness when nobody is around,\n"
- "HAUNTER is there.");
-
-const u8 gHaunterPokedexTextUnused[] = _("");
-
-const u8 gGengarPokedexText[] = _(
- "It is said to emerge from darkness to\n"
- "steal the lives of those who become lost\n"
- "in mountains.");
-
-const u8 gGengarPokedexTextUnused[] = _("");
-
-const u8 gOnixPokedexText[] = _(
- "It usually lives underground. It searches\n"
- "for food while boring its way through the\n"
- "ground at 50 miles per hour.");
-
-const u8 gOnixPokedexTextUnused[] = _("");
-
-const u8 gDrowzeePokedexText[] = _(
- "A descendent of the legendary animal\n"
- "baku, which is said to eat dreams. It is\n"
- "skilled at hypnotism.");
-
-const u8 gDrowzeePokedexTextUnused[] = _("");
-
-const u8 gHypnoPokedexText[] = _(
- "It carries a pendulum-like device. There\n"
- "once was an incident in which it took \n"
- "away a child it hypnotized.");
-
-const u8 gHypnoPokedexTextUnused[] = _("");
-
-const u8 gKrabbyPokedexText[] = _(
- "It can be found near the sea. The large\n"
- "pincers grow back if they are torn out of\n"
- "their sockets.");
-
-const u8 gKrabbyPokedexTextUnused[] = _("");
-
-const u8 gKinglerPokedexText[] = _(
- "Its large and hard pincer has 10,000-\n"
- "horsepower strength. However, being so\n"
- "big, it is unwieldy to move.");
-
-const u8 gKinglerPokedexTextUnused[] = _("");
-
-const u8 gVoltorbPokedexText[] = _(
- "A life-form whose identity is unknown.\n"
- "It is said to SCREECH or suddenly\n"
- "SELFDESTRUCT.");
-
-const u8 gVoltorbPokedexTextUnused[] = _("");
-
-const u8 gElectrodePokedexText[] = _(
- "It explodes in response to even minor\n"
- "stimuli. It is feared, with the nickname\n"
- "of “The Bomb Ball.”");
-
-const u8 gElectrodePokedexTextUnused[] = _("");
-
-const u8 gExeggcutePokedexText[] = _(
- "Even though it appears to be eggs of\n"
- "some sort, it was discovered to be a life-\n"
- "form more like plant seeds.");
-
-const u8 gExeggcutePokedexTextUnused[] = _("");
-
-const u8 gExeggutorPokedexText[] = _(
- "It is called “The Walking Tropical\n"
- "Rainforest.” Each of the nuts has\n"
- "a face and a will of its own.");
-
-const u8 gExeggutorPokedexTextUnused[] = _("");
-
-const u8 gCubonePokedexText[] = _(
- "It wears the skull of its dead mother on\n"
- "its head. When it becomes lonesome, it is\n"
- "said to cry loudly.");
-
-const u8 gCubonePokedexTextUnused[] = _("");
-
-const u8 gMarowakPokedexText[] = _(
- "It is small and was originally very weak.\n"
- "Its temperament turned ferocious when it\n"
- "began using bones.");
-
-const u8 gMarowakPokedexTextUnused[] = _("");
-
-const u8 gHitmonleePokedexText[] = _(
- "The legs freely contract and stretch.\n"
- "The stretchy legs allow it to hit a\n"
- "distant foe with a rising kick.");
-
-const u8 gHitmonleePokedexTextUnused[] = _("");
-
-const u8 gHitmonchanPokedexText[] = _(
- "The spirit of a pro boxer has infused this\n"
- "POKéMON. It throws punches that are\n"
- "faster than a bullet train.");
-
-const u8 gHitmonchanPokedexTextUnused[] = _("");
-
-const u8 gLickitungPokedexText[] = _(
- "Its tongue is twice the length of its\n"
- "body. It can be moved like an arm for\n"
- "grabbing food and attacking.");
-
-const u8 gLickitungPokedexTextUnused[] = _("");
-
-const u8 gKoffingPokedexText[] = _(
- "Its thin, balloon-like body is inflated by\n"
- "horribly toxic gases. It reeks when it is\n"
- "nearby.");
-
-const u8 gKoffingPokedexTextUnused[] = _("");
-
-const u8 gWeezingPokedexText[] = _(
- "Very rarely, a sudden mutation can result\n"
- "in two small KOFFING twins becoming\n"
- "conjoined as a WEEZING.");
-
-const u8 gWeezingPokedexTextUnused[] = _("");
-
-const u8 gRhyhornPokedexText[] = _(
- "Strong, but not too bright, this POKéMON\n"
- "can shatter even a skyscraper with its\n"
- "charging TACKLES.");
-
-const u8 gRhyhornPokedexTextUnused[] = _("");
-
-const u8 gRhydonPokedexText[] = _(
- "It begins walking on its hind legs after\n"
- "evolution. It can punch holes through\n"
- "boulders with its horn.");
-
-const u8 gRhydonPokedexTextUnused[] = _("");
-
-const u8 gChanseyPokedexText[] = _(
- "It lays several eggs a day. The eggs are\n"
- "apparently rich in nutrients and extremely\n"
- "delicious.");
-
-const u8 gChanseyPokedexTextUnused[] = _("");
-
-const u8 gTangelaPokedexText[] = _(
- "Blue plant vines cloak the POKéMON's\n"
- "identity in a tangled mass. It entangles\n"
- "anything that gets close.");
-
-const u8 gTangelaPokedexTextUnused[] = _("");
-
-const u8 gKangaskhanPokedexText[] = _(
- "The female raises its offspring in a pouch\n"
- "on its belly. It is skilled at attacking\n"
- "using COMET PUNCH.");
-
-const u8 gKangaskhanPokedexTextUnused[] = _("");
-
-const u8 gHorseaPokedexText[] = _(
- "It maintains balance using its tail, which\n"
- "is wound up like a coil. It may spray ink\n"
- "from its mouth.");
-
-const u8 gHorseaPokedexTextUnused[] = _("");
-
-const u8 gSeadraPokedexText[] = _(
- "Its body bristles with sharp spikes.\n"
- "Carelessly trying to touch it could cause\n"
- "fainting from the spikes.");
-
-const u8 gSeadraPokedexTextUnused[] = _("");
-
-const u8 gGoldeenPokedexText[] = _(
- "Its dorsal and pectoral fins are strongly\n"
- "developed like muscles. It can swim at a\n"
- "speed of five knots.");
-
-const u8 gGoldeenPokedexTextUnused[] = _("");
-
-const u8 gSeakingPokedexText[] = _(
- "The horn on its head is sharp like a\n"
- "drill. It bores a hole in a boulder to\n"
- "make its nest.");
-
-const u8 gSeakingPokedexTextUnused[] = _("");
-
-const u8 gStaryuPokedexText[] = _(
- "It appears in large numbers by seashores.\n"
- "At night, its central core flashes with a\n"
- "red light.");
-
-const u8 gStaryuPokedexTextUnused[] = _("");
-
-const u8 gStarmiePokedexText[] = _(
- "This POKéMON has a geometric body.\n"
- "Because of its body, the locals suspect\n"
- "that it is an alien creature.");
-
-const u8 gStarmiePokedexTextUnused[] = _("");
-
-const u8 gMrmimePokedexText[] = _(
- "It is adept at conning people. It is said\n"
- "to be able to create walls out of thin\n"
- "air by miming.");
-
-const u8 gMrmimePokedexTextUnused[] = _("");
-
-const u8 gScytherPokedexText[] = _(
- "It tears and shreds prey with its wickedly\n"
- "sharp scythes. It very rarely spreads its\n"
- "wings to fly.");
-
-const u8 gScytherPokedexTextUnused[] = _("");
-
-const u8 gJynxPokedexText[] = _(
- "It speaks using a language that sounds\n"
- "human. Research is under way to determine\n"
- "what is being said.");
-
-const u8 gJynxPokedexTextUnused[] = _("");
-
-const u8 gElectabuzzPokedexText[] = _(
- "It loves to feed on strong electricity.\n"
- "It occasionally appears around large\n"
- "power plants and so on.");
-
-const u8 gElectabuzzPokedexTextUnused[] = _("");
-
-const u8 gMagmarPokedexText[] = _(
- "Found near the mouth of a volcano.\n"
- "This fire-breather's body temperature is\n"
- "nearly 2,200 degrees Fahrenheit.");
-
-const u8 gMagmarPokedexTextUnused[] = _("");
-
-const u8 gPinsirPokedexText[] = _(
- "Its two long pincer horns are powerful.\n"
- "Once they grip an enemy, they won't\n"
- "release until the foe is torn.");
-
-const u8 gPinsirPokedexTextUnused[] = _("");
-
-const u8 gTaurosPokedexText[] = _(
- "When it is about to TACKLE, it whips\n"
- "its body repeatedly with its three\n"
- "long tails.");
-
-const u8 gTaurosPokedexTextUnused[] = _("");
-
-const u8 gMagikarpPokedexText[] = _(
- "It is virtually worthless in terms of both\n"
- "power and speed. It is the most weak and\n"
- "pathetic POKéMON in the world.");
-
-const u8 gMagikarpPokedexTextUnused[] = _("");
-
-const u8 gGyaradosPokedexText[] = _(
- "It has an extremely aggressive nature.\n"
- "The HYPER BEAM it shoots from its mouth\n"
- "totally incinerates all targets.");
-
-const u8 gGyaradosPokedexTextUnused[] = _("");
-
-const u8 gLaprasPokedexText[] = _(
- "Its high intelligence enables it to\n"
- "understand human speech. It likes to ferry\n"
- "people on its back.");
-
-const u8 gLaprasPokedexTextUnused[] = _("");
-
-const u8 gDittoPokedexText[] = _(
- "It can freely recombine its own cellular\n"
- "structure to transform into other life-\n"
- "forms.");
-
-const u8 gDittoPokedexTextUnused[] = _("");
-
-const u8 gEeveePokedexText[] = _(
- "An extremely rare POKéMON that may\n"
- "evolve in a number of different ways\n"
- "depending on stimuli.");
-
-const u8 gEeveePokedexTextUnused[] = _("");
-
-const u8 gVaporeonPokedexText[] = _(
- "Its body's cellular structure is similar to\n"
- "the molecular composition of water.\n"
- "It can melt invisibly in water.");
-
-const u8 gVaporeonPokedexTextUnused[] = _("");
-
-const u8 gJolteonPokedexText[] = _(
- "If it is angered or startled, the fur all\n"
- "over its body bristles like sharp needles\n"
- "that pierce foes.");
-
-const u8 gJolteonPokedexTextUnused[] = _("");
-
-const u8 gFlareonPokedexText[] = _(
- "It has a flame bag inside its body. After\n"
- "inhaling deeply, it blows out flames of\n"
- "nearly 3,100 degrees Fahrenheit.");
-
-const u8 gFlareonPokedexTextUnused[] = _("");
-
-const u8 gPorygonPokedexText[] = _(
- "Using the most advanced technologies,\n"
- "scientists finally succeeded in making the\n"
- "first artificial POKéMON.");
-
-const u8 gPorygonPokedexTextUnused[] = _("");
-
-const u8 gOmanytePokedexText[] = _(
- "A prehistoric POKéMON that lived in the\n"
- "primordial sea, it swims by twisting its\n"
- "10 tentacles about.");
-
-const u8 gOmanytePokedexTextUnused[] = _("");
-
-const u8 gOmastarPokedexText[] = _(
- "Its tentacles are highly developed as if\n"
- "they are hands and feet. As soon as it\n"
- "ensnares prey, it bites.");
-
-const u8 gOmastarPokedexTextUnused[] = _("");
-
-const u8 gKabutoPokedexText[] = _(
- "This POKéMON was regenerated from the\n"
- "fossil of an ancient creature. It protects\n"
- "itself with a hard shell.");
-
-const u8 gKabutoPokedexTextUnused[] = _("");
-
-const u8 gKabutopsPokedexText[] = _(
- "It swims freely through water. It catches\n"
- "prey with its scythe-like arms and drains\n"
- "the victim's fluids.");
-
-const u8 gKabutopsPokedexTextUnused[] = _("");
-
-const u8 gAerodactylPokedexText[] = _(
- "It was regenerated from a dinosaur's\n"
- "genetic matter that was found in amber.\n"
- "It flies with high-pitched cries.");
-
-const u8 gAerodactylPokedexTextUnused[] = _("");
-
-const u8 gSnorlaxPokedexText[] = _(
- "It is not satisfied unless it eats over 880\n"
- "pounds of food every day. When it is done\n"
- "eating, it goes promptly to sleep.");
-
-const u8 gSnorlaxPokedexTextUnused[] = _("");
-
-const u8 gArticunoPokedexText[] = _(
- "One of the legendary bird POKéMON.\n"
- "With its long tail trailing behind, its\n"
- "flying form is magnificent.");
-
-const u8 gArticunoPokedexTextUnused[] = _("");
-
-const u8 gZapdosPokedexText[] = _(
- "One of the legendary bird POKéMON.\n"
- "While it is flying, it makes crackling and\n"
- "snapping sounds.");
-
-const u8 gZapdosPokedexTextUnused[] = _("");
-
-const u8 gMoltresPokedexText[] = _(
- "One of the legendary bird POKéMON.\n"
- "Those seeing it are overwhelmed by its\n"
- "orange wings that seem to be on fire.");
-
-const u8 gMoltresPokedexTextUnused[] = _("");
-
-const u8 gDratiniPokedexText[] = _(
- "Even the young can exceed 6.5 feet in\n"
- "length. It grows larger by repeatedly\n"
- "shedding skin.");
-
-const u8 gDratiniPokedexTextUnused[] = _("");
-
-const u8 gDragonairPokedexText[] = _(
- "It is said to live in seas and lakes.\n"
- "Even though it has no wings, it has been\n"
- "seen flying occasionally.");
-
-const u8 gDragonairPokedexTextUnused[] = _("");
-
-const u8 gDragonitePokedexText[] = _(
- "It can fly in spite of its big and bulky\n"
- "physique. It circles the globe in just\n"
- "16 hours.");
-
-const u8 gDragonitePokedexTextUnused[] = _("");
-
-const u8 gMewtwoPokedexText[] = _(
- "A POKéMON whose genetic code was\n"
- "repeatedly recombined for research.\n"
- "It turned vicious as a result.");
-
-const u8 gMewtwoPokedexTextUnused[] = _("");
-
-const u8 gMewPokedexText[] = _(
- "A POKéMON of South America that was\n"
- "thought to have been extinct. It is very\n"
- "intelligent and learns any move.");
-
-const u8 gMewPokedexTextUnused[] = _("");
-
-const u8 gChikoritaPokedexText[] = _(
- "Its pleasantly aromatic leaves have the\n"
- "ability to check the humidity and\n"
- "temperature.");
-
-const u8 gChikoritaPokedexTextUnused[] = _("");
-
-const u8 gBayleefPokedexText[] = _(
- "A spicy aroma emanates from around its\n"
- "neck. The aroma acts as a stimulant to\n"
- "restore health.");
-
-const u8 gBayleefPokedexTextUnused[] = _("");
-
-const u8 gMeganiumPokedexText[] = _(
- "MEGANIUM's breath has the power to revive\n"
- "dead grass and plants. It can make them\n"
- "healthy again.");
-
-const u8 gMeganiumPokedexTextUnused[] = _("");
-
-const u8 gCyndaquilPokedexText[] = _(
- "It usually stays hunched over. If it is\n"
- "angry or surprised, it shoots flames out\n"
- "of its back.");
-
-const u8 gCyndaquilPokedexTextUnused[] = _("");
-
-const u8 gQuilavaPokedexText[] = _(
- "This POKéMON is fully covered by\n"
- "nonflammable fur. It can withstand any\n"
- "kind of fire attack.");
-
-const u8 gQuilavaPokedexTextUnused[] = _("");
-
-const u8 gTyphlosionPokedexText[] = _(
- "It has a secret, devastating move. It\n"
- "rubs its blazing fur together to cause\n"
- "huge explosions.");
-
-const u8 gTyphlosionPokedexTextUnused[] = _("");
-
-const u8 gTotodilePokedexText[] = _(
- "It is small but rough and tough. It won't\n"
- "hesitate to take a bite out of anything\n"
- "that moves.");
-
-const u8 gTotodilePokedexTextUnused[] = _("");
-
-const u8 gCroconawPokedexText[] = _(
- "It opens its huge jaws wide when\n"
- "attacking. If it loses any fangs while\n"
- "biting, they grow back in.");
-
-const u8 gCroconawPokedexTextUnused[] = _("");
-
-const u8 gFeraligatrPokedexText[] = _(
- "It is hard for it to support its own\n"
- "weight out of water, so it gets down on\n"
- "all fours. But it moves fast.");
-
-const u8 gFeraligatrPokedexTextUnused[] = _("");
-
-const u8 gSentretPokedexText[] = _(
- "It stands on its tail so it can see a long\n"
- "way. If it spots an enemy, it cries loudly\n"
- "to warn its kind.");
-
-const u8 gSentretPokedexTextUnused[] = _("");
-
-const u8 gFurretPokedexText[] = _(
- "There is no telling where its tail begins.\n"
- "Despite its short legs, it is quick at\n"
- "hunting RATTATA.");
-
-const u8 gFurretPokedexTextUnused[] = _("");
-
-const u8 gHoothootPokedexText[] = _(
- "It has a perfect sense of time. Whatever\n"
- "happens, it keeps rhythm by precisely\n"
- "tilting its head in time.");
-
-const u8 gHoothootPokedexTextUnused[] = _("");
-
-const u8 gNoctowlPokedexText[] = _(
- "When it needs to think, it rotates its head\n"
- "180 degrees to sharpen its intellectual\n"
- "power.");
-
-const u8 gNoctowlPokedexTextUnused[] = _("");
-
-const u8 gLedybaPokedexText[] = _(
- "When the weather turns cold, numerous\n"
- "LEDYBA gather from everywhere to cluster\n"
- "and keep each other warm.");
-
-const u8 gLedybaPokedexTextUnused[] = _("");
-
-const u8 gLedianPokedexText[] = _(
- "The star patterns on its back grow larger\n"
- "or smaller depending on the number of\n"
- "stars in the night sky.");
-
-const u8 gLedianPokedexTextUnused[] = _("");
-
-const u8 gSpinarakPokedexText[] = _(
- "It spins a web using fine--but durable--\n"
- "thread. It then waits patiently for prey\n"
- "to be trapped.");
-
-const u8 gSpinarakPokedexTextUnused[] = _("");
-
-const u8 gAriadosPokedexText[] = _(
- "A single strand of a special string is\n"
- "endlessly spun out of its rear. The string\n"
- "leads back to its nest.");
-
-const u8 gAriadosPokedexTextUnused[] = _("");
-
-const u8 gCrobatPokedexText[] = _(
- "The development of wings on its legs\n"
- "enables it to fly fast but also makes it\n"
- "tough to stop and rest.");
-
-const u8 gCrobatPokedexTextUnused[] = _("");
-
-const u8 gChinchouPokedexText[] = _(
- "On the dark ocean floor, its only means\n"
- "of communication is its constantly\n"
- "flashing lights.");
-
-const u8 gChinchouPokedexTextUnused[] = _("");
-
-const u8 gLanturnPokedexText[] = _(
- "It blinds prey with an intense burst of\n"
- "light, then swallows the immobilized prey\n"
- "in a single gulp.");
-
-const u8 gLanturnPokedexTextUnused[] = _("");
-
-const u8 gPichuPokedexText[] = _(
- "Despite its small size, it can zap even\n"
- "adult humans. However, if it does so, it\n"
- "also surprises itself.");
-
-const u8 gPichuPokedexTextUnused[] = _("");
-
-const u8 gCleffaPokedexText[] = _(
- "When numerous meteors illuminate the\n"
- "night sky, sightings of CLEFFA strangely\n"
- "increase.");
-
-const u8 gCleffaPokedexTextUnused[] = _("");
-
-const u8 gIgglybuffPokedexText[] = _(
- "Its extremely flexible and elastic body\n"
- "makes it bounce continuously--anytime,\n"
- "anywhere.");
-
-const u8 gIgglybuffPokedexTextUnused[] = _("");
-
-const u8 gTogepiPokedexText[] = _(
- "A proverb claims that happiness will come\n"
- "to anyone who can make a sleeping TOGEPI\n"
- "stand up.");
-
-const u8 gTogepiPokedexTextUnused[] = _("");
-
-const u8 gTogeticPokedexText[] = _(
- "It grows dispirited if it is not with kind\n"
- "people. It can float in midair without\n"
- "moving its wings.");
-
-const u8 gTogeticPokedexTextUnused[] = _("");
-
-const u8 gNatuPokedexText[] = _(
- "It usually forages for food on the ground\n"
- "but may, on rare occasions, hop onto\n"
- "branches to peck at shoots.");
-
-const u8 gNatuPokedexTextUnused[] = _("");
-
-const u8 gXatuPokedexText[] = _(
- "In South America, it is said that its right\n"
- "eye sees the future and its left eye\n"
- "views the past.");
-
-const u8 gXatuPokedexTextUnused[] = _("");
-
-const u8 gMareepPokedexText[] = _(
- "Its fleece grows continually. In the\n"
- "summer, the fleece is fully shed, but it\n"
- "grows back in a week.");
-
-const u8 gMareepPokedexTextUnused[] = _("");
-
-const u8 gFlaaffyPokedexText[] = _(
- "Its fluffy fleece easily stores\n"
- "electricity. Its rubbery hide keeps it\n"
- "from being electrocuted.");
-
-const u8 gFlaaffyPokedexTextUnused[] = _("");
-
-const u8 gAmpharosPokedexText[] = _(
- "The bright light on its tail can be seen\n"
- "far away. It has been treasured since\n"
- "ancient times as a beacon.");
-
-const u8 gAmpharosPokedexTextUnused[] = _("");
-
-const u8 gBellossomPokedexText[] = _(
- "Plentiful in the tropics. When it dances,\n"
- "its petals rub together and make a\n"
- "pleasant ringing sound.");
-
-const u8 gBellossomPokedexTextUnused[] = _("");
-
-const u8 gMarillPokedexText[] = _(
- "The end of its tail serves as a buoy that\n"
- "keeps it from drowning, even in a vicious\n"
- "current.");
-
-const u8 gMarillPokedexTextUnused[] = _("");
-
-const u8 gAzumarillPokedexText[] = _(
- "When it plays in water, it rolls up its\n"
- "elongated ears to prevent their insides\n"
- "from getting wet.");
-
-const u8 gAzumarillPokedexTextUnused[] = _("");
-
-const u8 gSudowoodoPokedexText[] = _(
- "It disguises itself as a tree to avoid\n"
- "attack. It hates water, so it will\n"
- "disappear if it starts raining.");
-
-const u8 gSudowoodoPokedexTextUnused[] = _("");
-
-const u8 gPolitoedPokedexText[] = _(
- "Whenever three or more of these get\n"
- "together, they sing in a loud voice that\n"
- "sounds like bellowing.");
-
-const u8 gPolitoedPokedexTextUnused[] = _("");
-
-const u8 gHoppipPokedexText[] = _(
- "Its body is so light, it must grip the\n"
- "ground firmly with its feet to keep from\n"
- "being blown away.");
-
-const u8 gHoppipPokedexTextUnused[] = _("");
-
-const u8 gSkiploomPokedexText[] = _(
- "It spreads its petals to absorb sunlight.\n"
- "It also floats in the air to get closer to\n"
- "the sun.");
-
-const u8 gSkiploomPokedexTextUnused[] = _("");
-
-const u8 gJumpluffPokedexText[] = _(
- "It drifts on seasonal winds and spreads\n"
- "its cotton-like spores all over the world \n"
- "to make more offspring.");
-
-const u8 gJumpluffPokedexTextUnused[] = _("");
-
-const u8 gAipomPokedexText[] = _(
- "It lives atop tall trees. When leaping\n"
- "from branch to branch, it deftly uses its\n"
- "tail for balance.");
-
-const u8 gAipomPokedexTextUnused[] = _("");
-
-const u8 gSunkernPokedexText[] = _(
- "It lives by drinking only dewdrops from\n"
- "under the leaves of plants. It is said\n"
- "that it eats nothing else.");
-
-const u8 gSunkernPokedexTextUnused[] = _("");
-
-const u8 gSunfloraPokedexText[] = _(
- "In the daytime, it rushes about in a\n"
- "hectic manner, but it comes to a complete\n"
- "stop when the sun sets.");
-
-const u8 gSunfloraPokedexTextUnused[] = _("");
-
-const u8 gYanmaPokedexText[] = _(
- "Its large eyes can scan 360 degrees.\n"
- "It looks in all directions to seek out\n"
- "insects as its prey.");
-
-const u8 gYanmaPokedexTextUnused[] = _("");
-
-const u8 gWooperPokedexText[] = _(
- "When it walks around on the ground,\n"
- "it coats its body with a slimy, poisonous\n"
- "film.");
-
-const u8 gWooperPokedexTextUnused[] = _("");
-
-const u8 gQuagsirePokedexText[] = _(
- "Due to its relaxed and carefree attitude,\n"
- "it often bumps its head on boulders and\n"
- "boat hulls as it swims.");
-
-const u8 gQuagsirePokedexTextUnused[] = _("");
-
-const u8 gEspeonPokedexText[] = _(
- "By reading air currents, it can predict\n"
- "things such as the weather or its foe's\n"
- "next move.");
-
-const u8 gEspeonPokedexTextUnused[] = _("");
-
-const u8 gUmbreonPokedexText[] = _(
- "When darkness falls, the rings on its body\n"
- "begin to glow, striking fear in the hearts\n"
- "of anyone nearby.");
-
-const u8 gUmbreonPokedexTextUnused[] = _("");
-
-const u8 gMurkrowPokedexText[] = _(
- "It is said that when chased, it lures its\n"
- "attacker onto dark mountain trails where\n"
- "the foe will get lost.");
-
-const u8 gMurkrowPokedexTextUnused[] = _("");
-
-const u8 gSlowkingPokedexText[] = _(
- "When its head was bitten, toxins entered\n"
- "SLOWPOKE's head and unlocked an\n"
- "extraordinary power.");
-
-const u8 gSlowkingPokedexTextUnused[] = _("");
-
-const u8 gMisdreavusPokedexText[] = _(
- "It loves to bite and yank people's hair\n"
- "from behind without warning, just to see\n"
- "their shocked reactions.");
-
-const u8 gMisdreavusPokedexTextUnused[] = _("");
-
-const u8 gUnownPokedexText[] = _(
- "Its flat, thin body is always stuck on\n"
- "walls. Its shape appears to have some\n"
- "meaning.");
-
-const u8 gUnownPokedexTextUnused[] = _("");
-
-const u8 gWobbuffetPokedexText[] = _(
- "To keep its pitch-black tail hidden, it\n"
- "lives quietly in the darkness. It is never\n"
- "first to attack.");
-
-const u8 gWobbuffetPokedexTextUnused[] = _("");
-
-const u8 gGirafarigPokedexText[] = _(
- "Its tail, which also contains a small\n"
- "brain, may bite on its own if it notices an\n"
- "alluring smell.");
-
-const u8 gGirafarigPokedexTextUnused[] = _("");
-
-const u8 gPinecoPokedexText[] = _(
- "It hangs and waits for flying-insect prey\n"
- "to come near. It does not move about\n"
- "much on its own.");
-
-const u8 gPinecoPokedexTextUnused[] = _("");
-
-const u8 gForretressPokedexText[] = _(
- "It remains immovably rooted to its tree.\n"
- "It scatters pieces of its hard shell to\n"
- "drive its enemies away.");
-
-const u8 gForretressPokedexTextUnused[] = _("");
-
-const u8 gDunsparcePokedexText[] = _(
- "If spotted, it escapes by burrowing with\n"
- "its tail. It can hover just slightly using\n"
- "its wings.");
-
-const u8 gDunsparcePokedexTextUnused[] = _("");
-
-const u8 gGligarPokedexText[] = _(
- "It usually clings to cliffs. When it spots\n"
- "its prey, it spreads its wings and glides\n"
- "down to attack.");
-
-const u8 gGligarPokedexTextUnused[] = _("");
-
-const u8 gSteelixPokedexText[] = _(
- "It is said that if an ONIX lives for over\n"
- "100 years, its composition changes to\n"
- "become diamond-like.");
-
-const u8 gSteelixPokedexTextUnused[] = _("");
-
-const u8 gSnubbullPokedexText[] = _(
- "It has an active, playful nature. Many\n"
- "women like to frolic with it because of\n"
- "its affectionate ways.");
-
-const u8 gSnubbullPokedexTextUnused[] = _("");
-
-const u8 gGranbullPokedexText[] = _(
- "Because its fangs are too heavy, it\n"
- "always keeps its head tilted down.\n"
- "However, its BITE is powerful.");
-
-const u8 gGranbullPokedexTextUnused[] = _("");
-
-const u8 gQwilfishPokedexText[] = _(
- "The small spikes covering its body\n"
- "developed from scales. They inject a\n"
- "toxin that causes fainting.");
-
-const u8 gQwilfishPokedexTextUnused[] = _("");
-
-const u8 gScizorPokedexText[] = _(
- "Its wings are not used for flying.\n"
- "They are flapped at high speed to adjust\n"
- "its body temperature.");
-
-const u8 gScizorPokedexTextUnused[] = _("");
-
-const u8 gShucklePokedexText[] = _(
- "It stores BERRIES inside its shell.\n"
- "To avoid attacks, it hides beneath rocks\n"
- "and remains completely still.");
-
-const u8 gShucklePokedexTextUnused[] = _("");
-
-const u8 gHeracrossPokedexText[] = _(
- "Usually docile, but if disturbed while\n"
- "sipping honey, it chases off the intruder\n"
- "with its horn.");
-
-const u8 gHeracrossPokedexTextUnused[] = _("");
-
-const u8 gSneaselPokedexText[] = _(
- "Vicious in nature, it drives PIDGEY from\n"
- "their nests and feasts on the eggs that\n"
- "are left behind.");
-
-const u8 gSneaselPokedexTextUnused[] = _("");
-
-const u8 gTeddiursaPokedexText[] = _(
- "Before food becomes scarce in wintertime,\n"
- "its habit is to hoard food in many hidden\n"
- "locations.");
-
-const u8 gTeddiursaPokedexTextUnused[] = _("");
-
-const u8 gUrsaringPokedexText[] = _(
- "With its ability to distinguish any smell,\n"
- "it unfailingly finds all food buried deep\n"
- "underground.");
-
-const u8 gUrsaringPokedexTextUnused[] = _("");
-
-const u8 gSlugmaPokedexText[] = _(
- "A common sight in volcanic areas, it\n"
- "slowly slithers around in a constant\n"
- "search for warm places.");
-
-const u8 gSlugmaPokedexTextUnused[] = _("");
-
-const u8 gMagcargoPokedexText[] = _(
- "Its brittle shell occasionally spouts\n"
- "intense flames that circulate throughout\n"
- "its body.");
-
-const u8 gMagcargoPokedexTextUnused[] = _("");
-
-const u8 gSwinubPokedexText[] = _(
- "If it smells something enticing, it dashes\n"
- "off headlong to find the source of the\n"
- "aroma.");
-
-const u8 gSwinubPokedexTextUnused[] = _("");
-
-const u8 gPiloswinePokedexText[] = _(
- "If it charges at an enemy, the hairs on\n"
- "its back stand up straight. It is very\n"
- "sensitive to sound.");
-
-const u8 gPiloswinePokedexTextUnused[] = _("");
-
-const u8 gCorsolaPokedexText[] = _(
- "In a south sea nation, the people live in\n"
- "communities that are built on groups of\n"
- "these POKéMON.");
-
-const u8 gCorsolaPokedexTextUnused[] = _("");
-
-const u8 gRemoraidPokedexText[] = _(
- "Using its dorsal fin as a suction pad, it\n"
- "clings to a MANTINE's underside to\n"
- "scavenge for leftovers.");
-
-const u8 gRemoraidPokedexTextUnused[] = _("");
-
-const u8 gOctilleryPokedexText[] = _(
- "It instinctively sneaks into rocky holes.\n"
- "If it gets sleepy, it steals the nest of a\n"
- "fellow OCTILLERY.");
-
-const u8 gOctilleryPokedexTextUnused[] = _("");
-
-const u8 gDelibirdPokedexText[] = _(
- "It nests at the edge of sharp cliffs.\n"
- "It spends all day carrying food to its\n"
- "awaiting chicks.");
-
-const u8 gDelibirdPokedexTextUnused[] = _("");
-
-const u8 gMantinePokedexText[] = _(
- "Swimming freely in open seas, it may fly\n"
- "out of the water and over the waves if it\n"
- "builds up enough speed.");
-
-const u8 gMantinePokedexTextUnused[] = _("");
-
-const u8 gSkarmoryPokedexText[] = _(
- "After nesting in bramble bushes, the wings\n"
- "of its chicks grow hard from scratches by\n"
- "thorns.");
-
-const u8 gSkarmoryPokedexTextUnused[] = _("");
-
-const u8 gHoundourPokedexText[] = _(
- "To corner prey, they check each other's\n"
- "location using barks that only they can\n"
- "understand.");
-
-const u8 gHoundourPokedexTextUnused[] = _("");
-
-const u8 gHoundoomPokedexText[] = _(
- "Upon hearing its eerie howls, other\n"
- "POKéMON get the shivers and head straight\n"
- "back to their nests.");
-
-const u8 gHoundoomPokedexTextUnused[] = _("");
-
-const u8 gKingdraPokedexText[] = _(
- "It sleeps deep on the ocean floor to\n"
- "build its energy. It is said to cause\n"
- "tornadoes as it wakes.");
-
-const u8 gKingdraPokedexTextUnused[] = _("");
-
-const u8 gPhanpyPokedexText[] = _(
- "As a sign of affection, it bumps with its\n"
- "snout. However, it is so strong, it may\n"
- "send you flying.");
-
-const u8 gPhanpyPokedexTextUnused[] = _("");
-
-const u8 gDonphanPokedexText[] = _(
- "The longer and bigger its tusks, the\n"
- "higher its rank in its herd. The tusks take\n"
- "a long time to grow.");
-
-const u8 gDonphanPokedexTextUnused[] = _("");
-
-const u8 gPorygon2PokedexText[] = _(
- "Further research enhanced its abilities.\n"
- "Sometimes, it may exhibit motions that\n"
- "were not programmed.");
-
-const u8 gPorygon2PokedexTextUnused[] = _("");
-
-const u8 gStantlerPokedexText[] = _(
- "Those who stare at its antlers will\n"
- "gradually lose control of their senses\n"
- "and be unable to stand.");
-
-const u8 gStantlerPokedexTextUnused[] = _("");
-
-const u8 gSmearglePokedexText[] = _(
- "Once it becomes an adult, it has a\n"
- "tendency to let its comrades plant\n"
- "footprints on its back.");
-
-const u8 gSmearglePokedexTextUnused[] = _("");
-
-const u8 gTyroguePokedexText[] = _(
- "Even though it is small, it can't be\n"
- "ignored because it will slug any handy\n"
- "target without warning.");
-
-const u8 gTyroguePokedexTextUnused[] = _("");
-
-const u8 gHitmontopPokedexText[] = _(
- "It launches kicks while spinning. If it\n"
- "spins at high speed, it may bore its way\n"
- "into the ground.");
-
-const u8 gHitmontopPokedexTextUnused[] = _("");
-
-const u8 gSmoochumPokedexText[] = _(
- "It always rocks its head slowly backwards\n"
- "and forwards as if it is trying to kiss\n"
- "someone.");
-
-const u8 gSmoochumPokedexTextUnused[] = _("");
-
-const u8 gElekidPokedexText[] = _(
- "Even in the most vicious storm, this\n"
- "POKéMON plays happily if thunder rumbles\n"
- "in the sky.");
-
-const u8 gElekidPokedexTextUnused[] = _("");
-
-const u8 gMagbyPokedexText[] = _(
- "It is found in volcanic craters. Its body\n"
- "heat exceeds 1,100 degrees Fahrenheit,\n"
- "so don't underestimate it.");
-
-const u8 gMagbyPokedexTextUnused[] = _("");
-
-const u8 gMiltankPokedexText[] = _(
- "If it has just had a baby, the milk it\n"
- "produces contains much more nutrition than\n"
- "usual.");
-
-const u8 gMiltankPokedexTextUnused[] = _("");
-
-const u8 gBlisseyPokedexText[] = _(
- "It has a very compassionate nature. If it\n"
- "sees a sick POKéMON, it will nurse the\n"
- "sufferer back to health.");
-
-const u8 gBlisseyPokedexTextUnused[] = _("");
-
-const u8 gRaikouPokedexText[] = _(
- "This POKéMON races across the\n"
- "land while barking a cry that sounds\n"
- "like crashing thunder.");
-
-const u8 gRaikouPokedexTextUnused[] = _("");
-
-const u8 gEnteiPokedexText[] = _(
- "A POKéMON that races across the land.\n"
- "It is said that one is born every time a\n"
- "new volcano appears.");
-
-const u8 gEnteiPokedexTextUnused[] = _("");
-
-const u8 gSuicunePokedexText[] = _(
- "This POKéMON races across the land.\n"
- "It is said that north winds will somehow\n"
- "blow whenever it appears.");
-
-const u8 gSuicunePokedexTextUnused[] = _("");
-
-const u8 gLarvitarPokedexText[] = _(
- "It is born deep underground. It can't\n"
- "emerge until it has entirely consumed the\n"
- "soil around it.");
-
-const u8 gLarvitarPokedexTextUnused[] = _("");
-
-const u8 gPupitarPokedexText[] = _(
- "Even sealed in its shell, it can move\n"
- "freely. Hard and fast, it has outstanding\n"
- "destructive power.");
-
-const u8 gPupitarPokedexTextUnused[] = _("");
-
-const u8 gTyranitarPokedexText[] = _(
- "Its body can't be harmed by any sort of\n"
- "attack, so it is very eager to make\n"
- "challenges against enemies.");
-
-const u8 gTyranitarPokedexTextUnused[] = _("");
-
-const u8 gLugiaPokedexText[] = _(
- "It is said to be the guardian of the seas.\n"
- "It is rumored to have been seen on the\n"
- "night of a storm.");
-
-const u8 gLugiaPokedexTextUnused[] = _("");
-
-const u8 gHoOhPokedexText[] = _(
- "A legend says that its body glows in\n"
- "seven colors. A rainbow is said to form\n"
- "behind it when it flies.");
-
-const u8 gHoOhPokedexTextUnused[] = _("");
-
-const u8 gCelebiPokedexText[] = _(
- "When CELEBI disappears deep in a forest,\n"
- "it is said to leave behind an egg it\n"
- "brought from the future.");
-
-const u8 gCelebiPokedexTextUnused[] = _("");
-
-const u8 gTreeckoPokedexText[] = _(
- "It quickly scales even vertical walls.\n"
- "It senses humidity with its tail to predict\n"
- "the next day's weather.");
-
-const u8 gTreeckoPokedexTextUnused[] = _("");
-
-const u8 gGrovylePokedexText[] = _(
- "Its strongly developed thigh muscles\n"
- "give it astounding agility and jumping\n"
- "performance.");
-
-const u8 gGrovylePokedexTextUnused[] = _("");
-
-const u8 gSceptilePokedexText[] = _(
- "The leaves on its forelegs are as sharp\n"
- "as swords. It agilely leaps about the\n"
- "branches of trees to strike.");
-
-const u8 gSceptilePokedexTextUnused[] = _("");
-
-const u8 gTorchicPokedexText[] = _(
- "It has a flame sac inside its belly that\n"
- "perpetually burns. It feels warm if it is\n"
- "hugged.");
-
-const u8 gTorchicPokedexTextUnused[] = _("");
-
-const u8 gCombuskenPokedexText[] = _(
- "It boosts its concentration by emitting\n"
- "harsh cries. Its kicks have outstanding\n"
- "destructive power.");
-
-const u8 gCombuskenPokedexTextUnused[] = _("");
-
-const u8 gBlazikenPokedexText[] = _(
- "When facing a tough foe, it looses flames\n"
- "from its wrists. Its powerful legs let it\n"
- "jump clear over buildings.");
-
-const u8 gBlazikenPokedexTextUnused[] = _("");
-
-const u8 gMudkipPokedexText[] = _(
- "Its large tail fin propels it through\n"
- "water with powerful acceleration. It is\n"
- "strong in spite of its size.");
-
-const u8 gMudkipPokedexTextUnused[] = _("");
-
-const u8 gMarshtompPokedexText[] = _(
- "It is at its best when on muddy ground\n"
- "with poor footing. It quickly overwhelms\n"
- "foes struggling in mud.");
-
-const u8 gMarshtompPokedexTextUnused[] = _("");
-
-const u8 gSwampertPokedexText[] = _(
- "Its arms are rock-hard. With one swing,\n"
- "they can batter down its foe. It makes its\n"
- "nest on beautiful beaches.");
-
-const u8 gSwampertPokedexTextUnused[] = _("");
-
-const u8 gPoochyenaPokedexText[] = _(
- "It has a very tenacious nature. Its acute\n"
- "sense of smell lets it chase a chosen\n"
- "prey without ever losing track.");
-
-const u8 gPoochyenaPokedexTextUnused[] = _("");
-
-const u8 gMightyenaPokedexText[] = _(
- "It will always obey the commands of a\n"
- "skilled TRAINER. Its behavior arises from\n"
- "its living in packs in ancient times.");
-
-const u8 gMightyenaPokedexTextUnused[] = _("");
-
-const u8 gZigzagoonPokedexText[] = _(
- "A POKéMON with abundant curiosity.\n"
- "It shows an interest in everything, so it\n"
- "always zigs and zags.");
-
-const u8 gZigzagoonPokedexTextUnused[] = _("");
-
-const u8 gLinoonePokedexText[] = _(
- "When running in a straight line, it can top\n"
- "60 miles per hour. However, it has a\n"
- "tough time with curved roads.");
-
-const u8 gLinoonePokedexTextUnused[] = _("");
-
-const u8 gWurmplePokedexText[] = _(
- "It lives amidst tall grass and in forests.\n"
- "When attacked, it resists by pointing its\n"
- "venomous spikes at the foe.");
-
-const u8 gWurmplePokedexTextUnused[] = _("");
-
-const u8 gSilcoonPokedexText[] = _(
- "It conserves its energy by moving as\n"
- "little as possible. It awaits evolution\n"
- "while drinking only a little rainwater.");
-
-const u8 gSilcoonPokedexTextUnused[] = _("");
-
-const u8 gBeautiflyPokedexText[] = _(
- "Despite its appearance, it has an\n"
- "aggressive nature. It attacks by jabbing\n"
- "with its long, thin mouth.");
-
-const u8 gBeautiflyPokedexTextUnused[] = _("");
-
-const u8 gCascoonPokedexText[] = _(
- "Its body, which is made of soft silk,\n"
- "hardens over time. When cracks appear,\n"
- "evolution is near.");
-
-const u8 gCascoonPokedexTextUnused[] = _("");
-
-const u8 gDustoxPokedexText[] = _(
- "It scatters horribly toxic dust when it\n"
- "senses danger. They tend to gather in the\n"
- "glow of streetlamps at night.");
-
-const u8 gDustoxPokedexTextUnused[] = _("");
-
-const u8 gLotadPokedexText[] = _(
- "It searches about for clean water. If it\n"
- "does not drink water for too long, the\n"
- "leaf on its head wilts.");
-
-const u8 gLotadPokedexTextUnused[] = _("");
-
-const u8 gLombrePokedexText[] = _(
- "It lives at the water's edge where it is\n"
- "sunny. It sleeps on a bed of water grass\n"
- "by day and becomes active at night.");
-
-const u8 gLombrePokedexTextUnused[] = _("");
-
-const u8 gLudicoloPokedexText[] = _(
- "The rhythm of bright, festive music\n"
- "activates LUDICOLO's cells, making it more\n"
- "powerful.");
-
-const u8 gLudicoloPokedexTextUnused[] = _("");
-
-const u8 gSeedotPokedexText[] = _(
- "If it remains still, it becomes impossible\n"
- "to distinguish from real nuts. It delights\n"
- "in surprising foraging PIDGEY.");
-
-const u8 gSeedotPokedexTextUnused[] = _("");
-
-const u8 gNuzleafPokedexText[] = _(
- "They live in holes bored in large trees.\n"
- "The sound of NUZLEAF's grass flute fills\n"
- "listeners with dread.");
-
-const u8 gNuzleafPokedexTextUnused[] = _("");
-
-const u8 gShiftryPokedexText[] = _(
- "A POKéMON that was feared as a forest\n"
- "guardian. It can read the foe's mind and\n"
- "take preemptive action.");
-
-const u8 gShiftryPokedexTextUnused[] = _("");
-
-const u8 gTaillowPokedexText[] = _(
- "It dislikes cold seasons. They migrate to\n"
- "other lands in search of warmth, flying\n"
- "over 180 miles a day.");
-
-const u8 gTaillowPokedexTextUnused[] = _("");
-
-const u8 gSwellowPokedexText[] = _(
- "If its two tail feathers are standing at\n"
- "attention, it is proof of good health.\n"
- "It soars elegantly in the sky.");
-
-const u8 gSwellowPokedexTextUnused[] = _("");
-
-const u8 gWingullPokedexText[] = _(
- "It rides upon ocean winds as if it were\n"
- "a glider. In the winter, it hides food\n"
- "around its nest.");
-
-const u8 gWingullPokedexTextUnused[] = _("");
-
-const u8 gPelipperPokedexText[] = _(
- "It is a flying transporter that carries\n"
- "small POKéMON in its beak. It bobs on the\n"
- "waves to rest its wings.");
-
-const u8 gPelipperPokedexTextUnused[] = _("");
-
-const u8 gRaltsPokedexText[] = _(
- "It is highly attuned to the emotions of\n"
- "people and POKéMON. It hides if it senses\n"
- "hostility.");
-
-const u8 gRaltsPokedexTextUnused[] = _("");
-
-const u8 gKirliaPokedexText[] = _(
- "The cheerful spirit of its TRAINER gives\n"
- "it energy for its psychokinetic power.\n"
- "It spins and dances when happy.");
-
-const u8 gKirliaPokedexTextUnused[] = _("");
-
-const u8 gGardevoirPokedexText[] = _(
- "It has the power to predict the future.\n"
- "Its power peaks when it is protecting its\n"
- "TRAINER.");
-
-const u8 gGardevoirPokedexTextUnused[] = _("");
-
-const u8 gSurskitPokedexText[] = _(
- "They usually live on ponds, but after an\n"
- "evening shower, they may appear on\n"
- "puddles in towns.");
-
-const u8 gSurskitPokedexTextUnused[] = _("");
-
-const u8 gMasquerainPokedexText[] = _(
- "The antennae have distinctive patterns\n"
- "that look like eyes. When it rains, they\n"
- "grow heavy, making flight impossible.");
-
-const u8 gMasquerainPokedexTextUnused[] = _("");
-
-const u8 gShroomishPokedexText[] = _(
- "It prefers damp places. By day it remains\n"
- "still in the forest shade. It releases\n"
- "toxic powder from its head.");
-
-const u8 gShroomishPokedexTextUnused[] = _("");
-
-const u8 gBreloomPokedexText[] = _(
- "The seeds on its tail are made of toxic\n"
- "spores. It knocks out foes with quick,\n"
- "virtually invisible punches.");
-
-const u8 gBreloomPokedexTextUnused[] = _("");
-
-const u8 gSlakothPokedexText[] = _(
- "It sleeps for 20 hours every day. Making\n"
- "drowsy those that see it is one of\n"
- "its abilities.");
-
-const u8 gSlakothPokedexTextUnused[] = _("");
-
-const u8 gVigorothPokedexText[] = _(
- "It is always hungry because it won't stop\n"
- "rampaging. Even while it is eating, it\n"
- "can't keep still.");
-
-const u8 gVigorothPokedexTextUnused[] = _("");
-
-const u8 gSlakingPokedexText[] = _(
- "It is the world's most slothful POKéMON.\n"
- "However, it can exert horrifying power by\n"
- "releasing pent-up energy all at once.");
-
-const u8 gSlakingPokedexTextUnused[] = _("");
-
-const u8 gNincadaPokedexText[] = _(
- "Because it lived almost entirely\n"
- "underground, it is nearly blind.\n"
- "It uses its antennae instead.");
-
-const u8 gNincadaPokedexTextUnused[] = _("");
-
-const u8 gNinjaskPokedexText[] = _(
- "This POKéMON is so quick, it is said to\n"
- "be able to avoid any attack. It loves to\n"
- "feed on tree sap.");
-
-const u8 gNinjaskPokedexTextUnused[] = _("");
-
-const u8 gShedinjaPokedexText[] = _(
- "A most peculiar POKéMON that somehow\n"
- "appears in a POKé BALL when a NINCADA\n"
- "evolves.");
-
-const u8 gShedinjaPokedexTextUnused[] = _("");
-
-const u8 gWhismurPokedexText[] = _(
- "It usually murmurs, but starts crying\n"
- "loudly if it senses danger. It stops when\n"
- "its ear covers are shut.");
-
-const u8 gWhismurPokedexTextUnused[] = _("");
-
-const u8 gLoudredPokedexText[] = _(
- "When it stamps its feet and bellows, it\n"
- "generates ultrasonic waves that can blow\n"
- "apart a house.");
-
-const u8 gLoudredPokedexTextUnused[] = _("");
-
-const u8 gExploudPokedexText[] = _(
- "It emits a variety of sounds from the \n"
- "holes all over its body. Its loud cries\n"
- "can be heard from over six miles away.");
-
-const u8 gExploudPokedexTextUnused[] = _("");
-
-const u8 gMakuhitaPokedexText[] = _(
- "It grows stronger by enduring harsh\n"
- "training. It is a gutsy POKéMON that can\n"
- "withstand any attack.");
-
-const u8 gMakuhitaPokedexTextUnused[] = _("");
-
-const u8 gHariyamaPokedexText[] = _(
- "It stomps on the ground to build power.\n"
- "It can send a 10-ton truck flying with a\n"
- "straight-arm punch.");
-
-const u8 gHariyamaPokedexTextUnused[] = _("");
-
-const u8 gAzurillPokedexText[] = _(
- "It battles by flinging around its tail,\n"
- "which is bigger than its body. The\n"
- "tail is a flotation device in water.");
-
-const u8 gAzurillPokedexTextUnused[] = _("");
-
-const u8 gNosepassPokedexText[] = _(
- "Its magnetic nose consistently faces\n"
- "north. Travelers check NOSEPASS to get\n"
- "their bearings.");
-
-const u8 gNosepassPokedexTextUnused[] = _("");
-
-const u8 gSkittyPokedexText[] = _(
- "It is said to be difficult to earn its\n"
- "trust. However, it is extremely popular\n"
- "for its cute looks and behavior.");
-
-const u8 gSkittyPokedexTextUnused[] = _("");
-
-const u8 gDelcattyPokedexText[] = _(
- "The favorite of trend-conscious\n"
- "female TRAINERS, they are used in\n"
- "competition for their style and fur.");
-
-const u8 gDelcattyPokedexTextUnused[] = _("");
-
-const u8 gSableyePokedexText[] = _(
- "It feeds on gemstone crystals.\n"
- "In darkness, its eyes sparkle with the\n"
- "glitter of jewels.");
-
-const u8 gSableyePokedexTextUnused[] = _("");
-
-const u8 gMawilePokedexText[] = _(
- "It uses its docile-looking face to lull\n"
- "foes into complacency, then bites with its\n"
- "huge, relentless jaws.");
-
-const u8 gMawilePokedexTextUnused[] = _("");
-
-const u8 gAronPokedexText[] = _(
- "It eats iron to build its steel body.\n"
- "It is a pest that descends from mountains\n"
- "to eat bridges and train tracks.");
-
-const u8 gAronPokedexTextUnused[] = _("");
-
-const u8 gLaironPokedexText[] = _(
- "It habitually shows off its strength with\n"
- "the size of sparks it creates by ramming\n"
- "its steel body into boulders.");
-
-const u8 gLaironPokedexTextUnused[] = _("");
-
-const u8 gAggronPokedexText[] = _(
- "It claims a large mountain as its sole\n"
- "territory. It mercilessly thrashes those\n"
- "that violate its space.");
-
-const u8 gAggronPokedexTextUnused[] = _("");
-
-const u8 gMedititePokedexText[] = _(
- "It never skips its daily yoga training.\n"
- "It heightens its inner strength through\n"
- "meditation.");
-
-const u8 gMedititePokedexTextUnused[] = _("");
-
-const u8 gMedichamPokedexText[] = _(
- "It elegantly avoids attacks with dance-\n"
- "like steps, then launches a devastating\n"
- "blow in the same motion.");
-
-const u8 gMedichamPokedexTextUnused[] = _("");
-
-const u8 gElectrikePokedexText[] = _(
- "It stores static electricity in its fur\n"
- "for discharging. It gives off sparks if a\n"
- "storm approaches.");
-
-const u8 gElectrikePokedexTextUnused[] = _("");
-
-const u8 gManectricPokedexText[] = _(
- "It rarely appears before people.\n"
- "It is said to nest where lightning has\n"
- "fallen.");
-
-const u8 gManectricPokedexTextUnused[] = _("");
-
-const u8 gPluslePokedexText[] = _(
- "It cheers on partners while scattering\n"
- "sparks from its body. It climbs telephone\n"
- "poles to absorb electricity.");
-
-const u8 gPluslePokedexTextUnused[] = _("");
-
-const u8 gMinunPokedexText[] = _(
- "Its dislike of water makes it take shelter\n"
- "under the eaves of houses in rain. It uses\n"
- "pom-poms made of sparks for cheering.");
-
-const u8 gMinunPokedexTextUnused[] = _("");
-
-const u8 gVolbeatPokedexText[] = _(
- "It lives around clean ponds. At night,\n"
- "its rear lights up. It converses with\n"
- "others by flashing its light.");
-
-const u8 gVolbeatPokedexTextUnused[] = _("");
-
-const u8 gIllumisePokedexText[] = _(
- "It guides VOLBEAT to draw signs in night\n"
- "skies. There are scientists that study the\n"
- "patterns it creates.");
-
-const u8 gIllumisePokedexTextUnused[] = _("");
-
-const u8 gRoseliaPokedexText[] = _(
- "Its flowers give off a relaxing fragrance.\n"
- "The stronger its aroma, the healthier\n"
- "the ROSELIA is.");
-
-const u8 gRoseliaPokedexTextUnused[] = _("");
-
-const u8 gGulpinPokedexText[] = _(
- "There is nothing its stomach can't digest.\n"
- "While it is digesting, vile, overpowering\n"
- "gases are expelled.");
-
-const u8 gGulpinPokedexTextUnused[] = _("");
-
-const u8 gSwalotPokedexText[] = _(
- "It can swallow a tire whole in one gulp.\n"
- "It secretes a horribly toxic fluid from\n"
- "the pores on its body.");
-
-const u8 gSwalotPokedexTextUnused[] = _("");
-
-const u8 gCarvanhaPokedexText[] = _(
- "It lives in massive rivers that course\n"
- "through jungles. It swarms prey that\n"
- "enter its territory.");
-
-const u8 gCarvanhaPokedexTextUnused[] = _("");
-
-const u8 gSharpedoPokedexText[] = _(
- "The ruffian of the seas, it has fangs that\n"
- "crunch through iron. It swims by jetting\n"
- "water from its rear.");
-
-const u8 gSharpedoPokedexTextUnused[] = _("");
-
-const u8 gWailmerPokedexText[] = _(
- "When it sucks in a large volume of\n"
- "seawater, it becomes like a big, bouncy\n"
- "ball. It eats a ton of food daily.");
-
-const u8 gWailmerPokedexTextUnused[] = _("");
-
-const u8 gWailordPokedexText[] = _(
- "It is among the largest of all POKéMON.\n"
- "It herds prey in a pack then swallows the\n"
- "massed prey in one gulp.");
-
-const u8 gWailordPokedexTextUnused[] = _("");
-
-const u8 gNumelPokedexText[] = _(
- "Magma of almost 2,200 degrees Fahrenheit\n"
- "courses through its body. When it grows\n"
- "cold, the magma hardens and slows it.");
-
-const u8 gNumelPokedexTextUnused[] = _("");
-
-const u8 gCameruptPokedexText[] = _(
- "If angered, the humps on its back erupt\n"
- "in a shower of molten lava. It lives in\n"
- "the craters of volcanoes.");
-
-const u8 gCameruptPokedexTextUnused[] = _("");
-
-const u8 gTorkoalPokedexText[] = _(
- "It burns coal inside its shell. If it is\n"
- "attacked, it belches thick, black smoke\n"
- "and flees.");
-
-const u8 gTorkoalPokedexTextUnused[] = _("");
-
-const u8 gSpoinkPokedexText[] = _(
- "It apparently dies if it stops bouncing\n"
- "about. It carries a pearl from CLAMPERL\n"
- "on its head.");
-
-const u8 gSpoinkPokedexTextUnused[] = _("");
-
-const u8 gGrumpigPokedexText[] = _(
- "It can gain control over foes by doing\n"
- "odd dance steps. The black pearls on its\n"
- "forehead are precious gems.");
-
-const u8 gGrumpigPokedexTextUnused[] = _("");
-
-const u8 gSpindaPokedexText[] = _(
- "No two SPINDA are said to have identical\n"
- "patterns. It confuses foes with its\n"
- "stumbling motions.");
-
-const u8 gSpindaPokedexTextUnused[] = _("");
-
-const u8 gTrapinchPokedexText[] = _(
- "It lives in arid deserts. It makes a\n"
- "sloping pit trap in sand where it\n"
- "patiently awaits prey.");
-
-const u8 gTrapinchPokedexTextUnused[] = _("");
-
-const u8 gVibravaPokedexText[] = _(
- "It generates ultrasonic waves by violently\n"
- "flapping its wings. After making its prey\n"
- "faint, it melts the prey with acid.");
-
-const u8 gVibravaPokedexTextUnused[] = _("");
-
-const u8 gFlygonPokedexText[] = _(
- "It hides itself by kicking up desert sand\n"
- "with its wings. Red covers shield its eyes\n"
- "from sand.");
-
-const u8 gFlygonPokedexTextUnused[] = _("");
-
-const u8 gCacneaPokedexText[] = _(
- "It prefers harsh environments such as\n"
- "deserts. It can survive for 30 days on\n"
- "water stored in its body.");
-
-const u8 gCacneaPokedexTextUnused[] = _("");
-
-const u8 gCacturnePokedexText[] = _(
- "It lives in deserts. It becomes active at\n"
- "night when it hunts for prey exhausted\n"
- "from the desert's heat.");
-
-const u8 gCacturnePokedexTextUnused[] = _("");
-
-const u8 gSwabluPokedexText[] = _(
- "It constantly grooms its cotton-like\n"
- "wings. It takes a shower to clean\n"
- "itself if it becomes dirty.");
-
-const u8 gSwabluPokedexTextUnused[] = _("");
-
-const u8 gAltariaPokedexText[] = _(
- "If you hear a beautiful melody trilling\n"
- "deep among mountains far from people,\n"
- "it is ALTARIA's humming.");
-
-const u8 gAltariaPokedexTextUnused[] = _("");
-
-const u8 gZangoosePokedexText[] = _(
- "If it comes across a SEVIPER, its fur\n"
- "bristles and it assumes its battle pose.\n"
- "Its sharp claws are its best weapon.");
-
-const u8 gZangoosePokedexTextUnused[] = _("");
-
-const u8 gSeviperPokedexText[] = _(
- "It sharpens its swordlike tail on hard\n"
- "rocks. It hides in tall grass and strikes\n"
- "unwary prey with venomous fangs.");
-
-const u8 gSeviperPokedexTextUnused[] = _("");
-
-const u8 gLunatonePokedexText[] = _(
- "Its health ebbs and flows with the lunar\n"
- "cycle. It brims with power when exposed\n"
- "to the light of the full moon.");
-
-const u8 gLunatonePokedexTextUnused[] = _("");
-
-const u8 gSolrockPokedexText[] = _(
- "It absorbs solar energy during the day.\n"
- "Always expressionless, it can sense what\n"
- "its foe is thinking.");
-
-const u8 gSolrockPokedexTextUnused[] = _("");
-
-const u8 gBarboachPokedexText[] = _(
- "It probes muddy riverbeds with its two\n"
- "long whiskers. A slimy film protects its\n"
- "body.");
-
-const u8 gBarboachPokedexTextUnused[] = _("");
-
-const u8 gWhiscashPokedexText[] = _(
- "It makes its nest at the bottom of \n"
- "swamps. It will eat anything - if it is\n"
- "alive, WHISCASH will eat it.");
-
-const u8 gWhiscashPokedexTextUnused[] = _("");
-
-const u8 gCorphishPokedexText[] = _(
- "It came from overseas. It is a very hardy\n"
- "creature that will quickly proliferate,\n"
- "even in polluted streams.");
-
-const u8 gCorphishPokedexTextUnused[] = _("");
-
-const u8 gCrawdauntPokedexText[] = _(
- "A rough customer that wildly flails its\n"
- "giant claws. It is said to be extremely\n"
- "hard to raise.");
-
-const u8 gCrawdauntPokedexTextUnused[] = _("");
-
-const u8 gBaltoyPokedexText[] = _(
- "It was discovered in ancient ruins.\n"
- "While moving, it constantly spins. It\n"
- "stands on one foot even when asleep.");
-
-const u8 gBaltoyPokedexTextUnused[] = _("");
-
-const u8 gClaydolPokedexText[] = _(
- "It appears to have been born from clay\n"
- "dolls made by ancient people. It uses\n"
- "telekinesis to float and move.");
-
-const u8 gClaydolPokedexTextUnused[] = _("");
-
-const u8 gLileepPokedexText[] = _(
- "It became extinct roughly 100 million\n"
- "years ago. It was regenerated from a\n"
- "fossil using advanced techniques.");
-
-const u8 gLileepPokedexTextUnused[] = _("");
-
-const u8 gCradilyPokedexText[] = _(
- "It ensnares prey with its eight tentacles.\n"
- "It then melts the prey with a strong acid\n"
- "before feeding.");
-
-const u8 gCradilyPokedexTextUnused[] = _("");
-
-const u8 gAnorithPokedexText[] = _(
- "It is a kind of POKéMON progenitor.\n"
- "It uses its extending claws to catch prey\n"
- "hiding among rocks on the seafloor.");
-
-const u8 gAnorithPokedexTextUnused[] = _("");
-
-const u8 gArmaldoPokedexText[] = _(
- "Protected by a hard shell, its body is\n"
- "very sturdy. It skewers prey with its\n"
- "claws to feed.");
-
-const u8 gArmaldoPokedexTextUnused[] = _("");
-
-const u8 gFeebasPokedexText[] = _(
- "Ridiculed for its shabby appearance,\n"
- "it is ignored by researchers. It lives in\n"
- "ponds choked with weeds.");
-
-const u8 gFeebasPokedexTextUnused[] = _("");
-
-const u8 gMiloticPokedexText[] = _(
- "MILOTIC is breathtakingly beautiful.\n"
- "Those that see it are said to forget their\n"
- "combative spirits.");
-
-const u8 gMiloticPokedexTextUnused[] = _("");
-
-const u8 gCastformPokedexText[] = _(
- "It has the ability to change its form into\n"
- "the sun, the rain, or a snow cloud, \n"
- "depending on the weather.");
-
-const u8 gCastformPokedexTextUnused[] = _("");
-
-const u8 gKecleonPokedexText[] = _(
- "It changes body color to blend in with\n"
- "its surroundings. It also changes color if\n"
- "it is happy or sad.");
-
-const u8 gKecleonPokedexTextUnused[] = _("");
-
-const u8 gShuppetPokedexText[] = _(
- "It loves to feed on feelings like envy and\n"
- "malice. Its upright horn catches the\n"
- "emotions of people.");
-
-const u8 gShuppetPokedexTextUnused[] = _("");
-
-const u8 gBanettePokedexText[] = _(
- "Strong feelings of hatred turned a puppet\n"
- "into a POKéMON. If it opens its mouth,\n"
- "its cursed energy escapes.");
-
-const u8 gBanettePokedexTextUnused[] = _("");
-
-const u8 gDuskullPokedexText[] = _(
- "Making itself invisible, it silently sneaks\n"
- "up to prey. It has the ability to slip\n"
- "through thick walls.");
-
-const u8 gDuskullPokedexTextUnused[] = _("");
-
-const u8 gDusclopsPokedexText[] = _(
- "Its body is entirely hollow. When it opens\n"
- "its mouth, it sucks everything in as if it\n"
- "were a black hole.");
-
-const u8 gDusclopsPokedexTextUnused[] = _("");
-
-const u8 gTropiusPokedexText[] = _(
- "It lives in tropical jungles. The bunch of\n"
- "fruit around its neck is delicious.\n"
- "The fruit grows twice a year.");
-
-const u8 gTropiusPokedexTextUnused[] = _("");
-
-const u8 gChimechoPokedexText[] = _(
- "It travels by riding on winds. It cleverly\n"
- "uses its long tail to pluck nuts and\n"
- "berries, which it loves to eat.");
-
-const u8 gChimechoPokedexTextUnused[] = _("");
-
-const u8 gAbsolPokedexText[] = _(
- "It appears when it senses an impending\n"
- "natural disaster. As a result, it was\n"
- "mistaken as a doom-bringer.");
-
-const u8 gAbsolPokedexTextUnused[] = _("");
-
-const u8 gWynautPokedexText[] = _(
- "It tends to move in a pack with others.\n"
- "They cluster in a tight group to sleep in\n"
- "a cave.");
-
-const u8 gWynautPokedexTextUnused[] = _("");
-
-const u8 gSnoruntPokedexText[] = _(
- "It is said that a home visited by a\n"
- "SNORUNT will prosper. It can withstand\n"
- "cold of minus 150 degrees Fahrenheit.");
-
-const u8 gSnoruntPokedexTextUnused[] = _("");
-
-const u8 gGlaliePokedexText[] = _(
- "It has a body of ice that won't melt,\n"
- "even with fire. It can instantly freeze\n"
- "moisture in the atmosphere.");
-
-const u8 gGlaliePokedexTextUnused[] = _("");
-
-const u8 gSphealPokedexText[] = _(
- "Its body is covered in fluffy fur. The\n"
- "fur keeps it from feeling cold while\n"
- "it is rolling on ice.");
-
-const u8 gSphealPokedexTextUnused[] = _("");
-
-const u8 gSealeoPokedexText[] = _(
- "It touches new things with its nose to\n"
- "test for smell and feel. It plays by\n"
- "spinning SPHEAL on its nose.");
-
-const u8 gSealeoPokedexTextUnused[] = _("");
-
-const u8 gWalreinPokedexText[] = _(
- "It swims through icy seas while shattering\n"
- "ice floes with its large tusks. It is\n"
- "protected by its thick blubber.");
-
-const u8 gWalreinPokedexTextUnused[] = _("");
-
-const u8 gClamperlPokedexText[] = _(
- "It is protected by a sturdy shell.\n"
- "Once in a lifetime, it makes a magnificent\n"
- "pearl.");
-
-const u8 gClamperlPokedexTextUnused[] = _("");
-
-const u8 gHuntailPokedexText[] = _(
- "It lives deep in the sea where no light\n"
- "ever filters down. It lights up its small\n"
- "fishlike tail to attract prey.");
-
-const u8 gHuntailPokedexTextUnused[] = _("");
-
-const u8 gGorebyssPokedexText[] = _(
- "Its swimming form is exquisitely elegant.\n"
- "With its thin mouth, it feeds on seaweed\n"
- "that grows between rocks.");
-
-const u8 gGorebyssPokedexTextUnused[] = _("");
-
-const u8 gRelicanthPokedexText[] = _(
- "It has remained unchanged for 100\n"
- "million years. It was discovered\n"
- "during a deep-sea exploration.");
-
-const u8 gRelicanthPokedexTextUnused[] = _("");
-
-const u8 gLuvdiscPokedexText[] = _(
- "During the spawning season, countless\n"
- "LUVDISC congregate at coral reefs,\n"
- "turning the waters pink.");
-
-const u8 gLuvdiscPokedexTextUnused[] = _("");
-
-const u8 gBagonPokedexText[] = _(
- "Its steel-hard head can shatter boulders.\n"
- "It longingly hopes for wings to grow so it\n"
- "can fly.");
-
-const u8 gBagonPokedexTextUnused[] = _("");
-
-const u8 gShelgonPokedexText[] = _(
- "Its armored body makes all attacks bounce\n"
- "off. The armor is too tough, however,\n"
- "making it heavy and somewhat sluggish.");
-
-const u8 gShelgonPokedexTextUnused[] = _("");
-
-const u8 gSalamencePokedexText[] = _(
- "It becomes uncontrollable if it is\n"
- "enraged. It destroys everything with\n"
- "shredding claws and fire.");
-
-const u8 gSalamencePokedexTextUnused[] = _("");
-
-const u8 gBeldumPokedexText[] = _(
- "It uses magnetic waves to converse with\n"
- "its kind. All the cells in its body are\n"
- "magnetic.");
-
-const u8 gBeldumPokedexTextUnused[] = _("");
-
-const u8 gMetangPokedexText[] = _(
- "It floats midair using magnetism. Its body\n"
- "is so tough, even a crash with a jet\n"
- "plane won't leave a scratch.");
-
-const u8 gMetangPokedexTextUnused[] = _("");
-
-const u8 gMetagrossPokedexText[] = _(
- "It is formed by two METANG fusing.\n"
- "Its four brains are said to be superior\n"
- "to a supercomputer.");
-
-const u8 gMetagrossPokedexTextUnused[] = _("");
-
-const u8 gRegirockPokedexText[] = _(
- "It is entirely composed of rocks with no\n"
- "sign of a brain or heart. It is a mystery\n"
- "even to modern scientists.");
-
-const u8 gRegirockPokedexTextUnused[] = _("");
-
-const u8 gRegicePokedexText[] = _(
- "Research revealed that its body is made\n"
- "of the same kind of ice that is found at\n"
- "the South Pole.");
-
-const u8 gRegicePokedexTextUnused[] = _("");
-
-const u8 gRegisteelPokedexText[] = _(
- "It is sturdier than any kind of metal.\n"
- "It hardened due to pressure underground\n"
- "over tens of thousands of years.");
-
-const u8 gRegisteelPokedexTextUnused[] = _("");
-
-const u8 gLatiasPokedexText[] = _(
- "It can telepathically communicate with\n"
- "people. It changes its appearance using\n"
- "its down that refracts light.");
-
-const u8 gLatiasPokedexTextUnused[] = _("");
-
-const u8 gLatiosPokedexText[] = _(
- "It has a docile temperament and dislikes\n"
- "fighting. Tucking in its forelegs, it can\n"
- "fly faster than a jet plane.");
-
-const u8 gLatiosPokedexTextUnused[] = _("");
-
-const u8 gKyogrePokedexText[] = _(
- "This POKéMON is said to have\n"
- "expanded the sea by bringing heavy rains.\n"
- "It has the power to control water.");
-
-const u8 gKyogrePokedexTextUnused[] = _("");
-
-const u8 gGroudonPokedexText[] = _(
- "This legendary POKéMON is said to\n"
- "represent the land. It went to sleep after\n"
- "dueling KYOGRE.");
-
-const u8 gGroudonPokedexTextUnused[] = _("");
-
-const u8 gRayquazaPokedexText[] = _(
- "It has lived for hundreds of millions of\n"
- "years in the ozone layer. Its flying form\n"
- "looks like a meteor.");
-
-const u8 gRayquazaPokedexTextUnused[] = _("");
-
-const u8 gJirachiPokedexText[] = _(
- "It is said to make any wish come true.\n"
- "It is awake for only seven days out of\n"
- "a thousand years.");
-
-const u8 gJirachiPokedexTextUnused[] = _("");
-
-const u8 gDeoxysPokedexText[] = _(
- "This DEOXYS has transformed into its\n"
- "aggressive guise. It can fool enemies by\n"
- "altering its appearance.");
-
-const u8 gDeoxysPokedexTextUnused[] = _("");
+#if defined(FIRERED)
+#include "pokedex_text_fr.h"
+#elif defined(LEAFGREEN)
+#include "pokedex_text_lg.h"
+#endif
diff --git a/src/data/pokemon/pokedex_text_fr.h b/src/data/pokemon/pokedex_text_fr.h
new file mode 100644
index 000000000..e2ed936e1
--- /dev/null
+++ b/src/data/pokemon/pokedex_text_fr.h
@@ -0,0 +1,2720 @@
+const u8 gDummyPokedexText[] = _(
+ "This is a newly discovered POKéMON. It is\n"
+ "currently under investigation. No detailed\n"
+ "information is available at this time.");
+
+const u8 gDummyPokedexTextUnused[] = _("");
+
+const u8 gBulbasaurPokedexText[] = _(
+ "There is a plant seed on its back right\n"
+ "from the day this POKéMON is born.\n"
+ "The seed slowly grows larger.");
+
+const u8 gBulbasaurPokedexTextUnused[] = _("");
+
+const u8 gIvysaurPokedexText[] = _(
+ "There is a plant bulb on its back.\n"
+ "When it absorbs nutrients, the bulb is said\n"
+ "to blossom into a large flower.");
+
+const u8 gIvysaurPokedexTextUnused[] = _("");
+
+const u8 gVenusaurPokedexText[] = _(
+ "A bewitching aroma wafts from its flower.\n"
+ "The fragrance becalms those engaged in\n"
+ "a battle.");
+
+const u8 gVenusaurPokedexTextUnused[] = _("");
+
+const u8 gCharmanderPokedexText[] = _(
+ "From the time it is born, a flame burns\n"
+ "at the tip of its tail. Its life would end\n"
+ "if the flame were to go out.");
+
+const u8 gCharmanderPokedexTextUnused[] = _("");
+
+const u8 gCharmeleonPokedexText[] = _(
+ "It lashes about with its tail to knock\n"
+ "down its foe. It then tears up the fallen\n"
+ "opponent with sharp claws.");
+
+const u8 gCharmeleonPokedexTextUnused[] = _("");
+
+const u8 gCharizardPokedexText[] = _(
+ "Its wings can carry this POKéMON close to\n"
+ "an altitude of 4,600 feet. It blows out\n"
+ "fire at very high temperatures.");
+
+const u8 gCharizardPokedexTextUnused[] = _("");
+
+const u8 gSquirtlePokedexText[] = _(
+ "When it retracts its long neck into its\n"
+ "shell, it squirts out water with vigorous\n"
+ "force.");
+
+const u8 gSquirtlePokedexTextUnused[] = _("");
+
+const u8 gWartortlePokedexText[] = _(
+ "This POKéMON is very popular as a pet.\n"
+ "Its fur-covered tail is a symbol of its\n"
+ "longevity.");
+
+const u8 gWartortlePokedexTextUnused[] = _("");
+
+const u8 gBlastoisePokedexText[] = _(
+ "It crushes its foe under its heavy body\n"
+ "to cause fainting. In a pinch, it will\n"
+ "withdraw inside its shell.");
+
+const u8 gBlastoisePokedexTextUnused[] = _("");
+
+const u8 gCaterpiePokedexText[] = _(
+ "It is covered with a green skin. When it\n"
+ "grows, it sheds the skin, covers itself\n"
+ "with silk, and becomes a cocoon.");
+
+const u8 gCaterpiePokedexTextUnused[] = _("");
+
+const u8 gMetapodPokedexText[] = _(
+ "Even though it is encased in a sturdy\n"
+ "shell, the body inside is tender.\n"
+ "It can't withstand a harsh attack.");
+
+const u8 gMetapodPokedexTextUnused[] = _("");
+
+const u8 gButterfreePokedexText[] = _(
+ "The wings are protected by rain-repellent\n"
+ "dust. As a result, this POKéMON can fly\n"
+ "about even in rain.");
+
+const u8 gButterfreePokedexTextUnused[] = _("");
+
+const u8 gWeedlePokedexText[] = _(
+ "Often found in forests and grasslands.\n"
+ "It has a sharp, toxic barb of around two\n"
+ "inches on top of its head.");
+
+const u8 gWeedlePokedexTextUnused[] = _("");
+
+const u8 gKakunaPokedexText[] = _(
+ "This POKéMON is in a temporary stage\n"
+ "while making its body. It is almost\n"
+ "completely unable to move on its own.");
+
+const u8 gKakunaPokedexTextUnused[] = _("");
+
+const u8 gBeedrillPokedexText[] = _(
+ "May appear in a swarm. Flies at violent\n"
+ "speeds, all the while stabbing with the\n"
+ "toxic stinger on its rear.");
+
+const u8 gBeedrillPokedexTextUnused[] = _("");
+
+const u8 gPidgeyPokedexText[] = _(
+ "Does not like to fight. It hides in\n"
+ "tall grass and so on, foraging for food\n"
+ "such as small bugs.");
+
+const u8 gPidgeyPokedexTextUnused[] = _("");
+
+const u8 gPidgeottoPokedexText[] = _(
+ "The claws on its feet are well developed.\n"
+ "It can carry prey such as an EXEGGCUTE\n"
+ "to its nest over 60 miles away.");
+
+const u8 gPidgeottoPokedexTextUnused[] = _("");
+
+const u8 gPidgeotPokedexText[] = _(
+ "It spreads its gorgeous wings widely to\n"
+ "intimidate enemies. It races through the\n"
+ "skies at Mach-2 speed.");
+
+const u8 gPidgeotPokedexTextUnused[] = _("");
+
+const u8 gRattataPokedexText[] = _(
+ "Its fangs are long and very sharp.\n"
+ "They grow continuously, so it gnaws on\n"
+ "hard things to whittle them down.");
+
+const u8 gRattataPokedexTextUnused[] = _("");
+
+const u8 gRaticatePokedexText[] = _(
+ "Its rear feet have three toes each.\n"
+ "They are webbed, enabling it to swim\n"
+ "across rivers.");
+
+const u8 gRaticatePokedexTextUnused[] = _("");
+
+const u8 gSpearowPokedexText[] = _(
+ "It busily flits around here and there.\n"
+ "Even if it is frail, it can be a tough\n"
+ "foe that uses MIRROR MOVE.");
+
+const u8 gSpearowPokedexTextUnused[] = _("");
+
+const u8 gFearowPokedexText[] = _(
+ "Its huge and magnificent wings can keep it\n"
+ "aloft in the sky. It can remain flying a\n"
+ "whole day without landing.");
+
+const u8 gFearowPokedexTextUnused[] = _("");
+
+const u8 gEkansPokedexText[] = _(
+ "A very common sight in grassland, etc.\n"
+ "It flicks its tongue in and out to sense\n"
+ "danger in its surroundings.");
+
+const u8 gEkansPokedexTextUnused[] = _("");
+
+const u8 gArbokPokedexText[] = _(
+ "The pattern on its belly appears to be a\n"
+ "frightening face. Weak foes will flee just\n"
+ "at the sight of the pattern.");
+
+const u8 gArbokPokedexTextUnused[] = _("");
+
+const u8 gPikachuPokedexText[] = _(
+ "It has small electric sacs on both its\n"
+ "cheeks. If threatened, it looses electric\n"
+ "charges from the sacs.");
+
+const u8 gPikachuPokedexTextUnused[] = _("");
+
+const u8 gRaichuPokedexText[] = _(
+ "Its electric charges can reach even\n"
+ "100,000 volts. Careless contact can cause\n"
+ "even an Indian elephant to faint.");
+
+const u8 gRaichuPokedexTextUnused[] = _("");
+
+const u8 gSandshrewPokedexText[] = _(
+ "It burrows and lives underground.\n"
+ "If threatened, it curls itself up into a\n"
+ "ball for protection.");
+
+const u8 gSandshrewPokedexTextUnused[] = _("");
+
+const u8 gSandslashPokedexText[] = _(
+ "It is adept at attacking with the spines\n"
+ "on its back and its sharp claws while\n"
+ "quickly scurrying about.");
+
+const u8 gSandslashPokedexTextUnused[] = _("");
+
+const u8 gNidoranFPokedexText[] = _(
+ "Though small, it must be treated with\n"
+ "caution because of its powerfully toxic\n"
+ "barbs. The female has smaller horns.");
+
+const u8 gNidoranFPokedexTextUnused[] = _("");
+
+const u8 gNidorinaPokedexText[] = _(
+ "The female has a gentle temperament.\n"
+ "It emits ultrasonic cries that have the\n"
+ "power to befuddle foes.");
+
+const u8 gNidorinaPokedexTextUnused[] = _("");
+
+const u8 gNidoqueenPokedexText[] = _(
+ "The body is covered by stiff, needle-\n"
+ "like scales. If it becomes excited,\n"
+ "the needles bristle outwards.");
+
+const u8 gNidoqueenPokedexTextUnused[] = _("");
+
+const u8 gNidoranMPokedexText[] = _(
+ "Its large ears are flapped like wings\n"
+ "when it is listening to distant sounds.\n"
+ "It extends toxic barbs when angered.");
+
+const u8 gNidoranMPokedexTextUnused[] = _("");
+
+const u8 gNidorinoPokedexText[] = _(
+ "It is easily angered. By swinging its well-\n"
+ "developed horn wildly, it can even punch\n"
+ "through diamond.");
+
+const u8 gNidorinoPokedexTextUnused[] = _("");
+
+const u8 gNidokingPokedexText[] = _(
+ "It is recognized by its rock-hard hide\n"
+ "and its extended horn. Be careful with\n"
+ "the horn as it contains venom.");
+
+const u8 gNidokingPokedexTextUnused[] = _("");
+
+const u8 gClefairyPokedexText[] = _(
+ "Its adorable appearance makes it popular\n"
+ "as a pet. However, it is rare and\n"
+ "difficult to find.");
+
+const u8 gClefairyPokedexTextUnused[] = _("");
+
+const u8 gClefablePokedexText[] = _(
+ "It has an acute sense of hearing. It can\n"
+ "easily hear a pin being dropped nearly\n"
+ "1,100 yards away.");
+
+const u8 gClefablePokedexTextUnused[] = _("");
+
+const u8 gVulpixPokedexText[] = _(
+ "While young, it has six gorgeous tails.\n"
+ "When it grows, several new tails are\n"
+ "sprouted.");
+
+const u8 gVulpixPokedexTextUnused[] = _("");
+
+const u8 gNinetalesPokedexText[] = _(
+ "It has nine long tails and fur that \n"
+ "gleams gold. It is said to live for \n"
+ "1,000 years.");
+
+const u8 gNinetalesPokedexTextUnused[] = _("");
+
+const u8 gJigglypuffPokedexText[] = _(
+ "It captivates foes with its huge, round\n"
+ "eyes, then lulls them to sleep by singing\n"
+ "a soothing melody.");
+
+const u8 gJigglypuffPokedexTextUnused[] = _("");
+
+const u8 gWigglytuffPokedexText[] = _(
+ "Its fur is extremely fine, dense, and\n"
+ "supple. The exquisitely pleasant fur\n"
+ "conveys an image of luxury.");
+
+const u8 gWigglytuffPokedexTextUnused[] = _("");
+
+const u8 gZubatPokedexText[] = _(
+ "It has no eyes. Instead, it relies on\n"
+ "its ultrasonic cries for echo location to\n"
+ "flit about in darkness.");
+
+const u8 gZubatPokedexTextUnused[] = _("");
+
+const u8 gGolbatPokedexText[] = _(
+ "It clamps down on its prey with needle-\n"
+ "sharp fangs and drains over 10 ounces of\n"
+ "blood in one gulp.");
+
+const u8 gGolbatPokedexTextUnused[] = _("");
+
+const u8 gOddishPokedexText[] = _(
+ "Its scientific name is “Oddium Wanderus.”\n"
+ "At night, it is said to walk nearly 1,000\n"
+ "feet on its two roots.");
+
+const u8 gOddishPokedexTextUnused[] = _("");
+
+const u8 gGloomPokedexText[] = _(
+ "Its pistils exude an incredibly foul odor.\n"
+ "The horrid stench can cause fainting at a\n"
+ "distance of 1.25 miles.");
+
+const u8 gGloomPokedexTextUnused[] = _("");
+
+const u8 gVileplumePokedexText[] = _(
+ "Its petals are the largest in the world.\n"
+ "It fiendishly scatters allergy-causing\n"
+ "pollen from its petals.");
+
+const u8 gVileplumePokedexTextUnused[] = _("");
+
+const u8 gParasPokedexText[] = _(
+ "Growing out of the bug's back are\n"
+ "mushrooms called tochukaso. The mushrooms\n"
+ "grow with the bug host.");
+
+const u8 gParasPokedexTextUnused[] = _("");
+
+const u8 gParasectPokedexText[] = _(
+ "It scatters toxic spores from the\n"
+ "mushroom cap. In China, the spores are\n"
+ "used as herbal medicine.");
+
+const u8 gParasectPokedexTextUnused[] = _("");
+
+const u8 gVenonatPokedexText[] = _(
+ "Its eyes act as radar, enabling it to be\n"
+ "active in darkness. The eyes can also\n"
+ "shoot powerful beams.");
+
+const u8 gVenonatPokedexTextUnused[] = _("");
+
+const u8 gVenomothPokedexText[] = _(
+ "The wings are covered with dustlike\n"
+ "scales. Every time it flaps its wings, it\n"
+ "looses highly toxic dust.");
+
+const u8 gVenomothPokedexTextUnused[] = _("");
+
+const u8 gDiglettPokedexText[] = _(
+ "It burrows through the ground at a\n"
+ "shallow depth. It leaves raised earth in\n"
+ "its wake, making it easy to spot.");
+
+const u8 gDiglettPokedexTextUnused[] = _("");
+
+const u8 gDugtrioPokedexText[] = _(
+ "In battle, it digs through the ground and\n"
+ "strikes the unsuspecting foe from an\n"
+ "unexpected direction.");
+
+const u8 gDugtrioPokedexTextUnused[] = _("");
+
+const u8 gMeowthPokedexText[] = _(
+ "All it does is sleep during the daytime.\n"
+ "At night, it patrols its territory with its\n"
+ "eyes aglow.");
+
+const u8 gMeowthPokedexTextUnused[] = _("");
+
+const u8 gPersianPokedexText[] = _(
+ "Has a vicious temperament. Beware if it\n"
+ "raises its tail straight up. It is a signal\n"
+ "that it is about to pounce and bite.");
+
+const u8 gPersianPokedexTextUnused[] = _("");
+
+const u8 gPsyduckPokedexText[] = _(
+ "It is constantly wracked by a headache.\n"
+ "When the headache turns intense, it begins\n"
+ "using mysterious powers.");
+
+const u8 gPsyduckPokedexTextUnused[] = _("");
+
+const u8 gGolduckPokedexText[] = _(
+ "The forelegs are webbed, helping to make\n"
+ "it an adept swimmer. It can be seen\n"
+ "swimming elegantly in lakes, etc.");
+
+const u8 gGolduckPokedexTextUnused[] = _("");
+
+const u8 gMankeyPokedexText[] = _(
+ "Light and agile on its feet, and ferocious\n"
+ "in temperament. When angered, it flies into\n"
+ "an uncontrollable frenzy.");
+
+const u8 gMankeyPokedexTextUnused[] = _("");
+
+const u8 gPrimeapePokedexText[] = _(
+ "It is always outrageously furious. If it\n"
+ "gives chase, it will tenaciously track the\n"
+ "target no matter how far.");
+
+const u8 gPrimeapePokedexTextUnused[] = _("");
+
+const u8 gGrowlithePokedexText[] = _(
+ "Very friendly and faithful to people.\n"
+ "It will try to repel enemies by barking\n"
+ "and biting.");
+
+const u8 gGrowlithePokedexTextUnused[] = _("");
+
+const u8 gArcaninePokedexText[] = _(
+ "A POKéMON that is described in Chinese\n"
+ "legends. It is said to race at an\n"
+ "unbelievable speed.");
+
+const u8 gArcaninePokedexTextUnused[] = _("");
+
+const u8 gPoliwagPokedexText[] = _(
+ "Its slick black skin is thin and damp.\n"
+ "A part of its internal organs can be seen\n"
+ "through the skin as a spiral pattern.");
+
+const u8 gPoliwagPokedexTextUnused[] = _("");
+
+const u8 gPoliwhirlPokedexText[] = _(
+ "Its two legs are well developed.\n"
+ "Even though it can live on the ground,\n"
+ "it prefers living in water.");
+
+const u8 gPoliwhirlPokedexTextUnused[] = _("");
+
+const u8 gPoliwrathPokedexText[] = _(
+ "An adept swimmer, it knows the front\n"
+ "crawl, butterfly, and more. It is faster\n"
+ "than the best human swimmers.");
+
+const u8 gPoliwrathPokedexTextUnused[] = _("");
+
+const u8 gAbraPokedexText[] = _(
+ "It sleeps for 18 hours a day. It uses a\n"
+ "variety of extrasensory powers even\n"
+ "while asleep.");
+
+const u8 gAbraPokedexTextUnused[] = _("");
+
+const u8 gKadabraPokedexText[] = _(
+ "It happened one morning - a boy with\n"
+ "extrasensory powers awoke in bed\n"
+ "transformed into KADABRA.");
+
+const u8 gKadabraPokedexTextUnused[] = _("");
+
+const u8 gAlakazamPokedexText[] = _(
+ "It does not like physical attacks very \n"
+ "much. Instead, it freely uses extra-\n"
+ "sensory powers to defeat foes.");
+
+const u8 gAlakazamPokedexTextUnused[] = _("");
+
+const u8 gMachopPokedexText[] = _(
+ "Its whole body is composed of muscles.\n"
+ "Even though it's the size of a human\n"
+ "child, it can hurl 100 grown-ups.");
+
+const u8 gMachopPokedexTextUnused[] = _("");
+
+const u8 gMachokePokedexText[] = _(
+ "Its formidable body never gets tired.\n"
+ "It helps people by doing work such as\n"
+ "the moving of heavy goods.");
+
+const u8 gMachokePokedexTextUnused[] = _("");
+
+const u8 gMachampPokedexText[] = _(
+ "Its four ruggedly developed arms can\n"
+ "launch a flurry of 1,000 punches in just\n"
+ "two seconds.");
+
+const u8 gMachampPokedexTextUnused[] = _("");
+
+const u8 gBellsproutPokedexText[] = _(
+ "Its bud looks like a human face. Because\n"
+ "of the bud, it is rumored to be a type of\n"
+ "legendary mandrake plant.");
+
+const u8 gBellsproutPokedexTextUnused[] = _("");
+
+const u8 gWeepinbellPokedexText[] = _(
+ "The leafy parts act as cutters for\n"
+ "slashing foes. It spits a fluid that\n"
+ "dissolves everything.");
+
+const u8 gWeepinbellPokedexTextUnused[] = _("");
+
+const u8 gVictreebelPokedexText[] = _(
+ "Lures prey into its mouth with a honeylike\n"
+ "aroma. The helpless prey is melted with\n"
+ "a dissolving fluid.");
+
+const u8 gVictreebelPokedexTextUnused[] = _("");
+
+const u8 gTentacoolPokedexText[] = _(
+ "Its eyes are as transparent as crystals.\n"
+ "From them, it shoots mysterious\n"
+ "beams of light.");
+
+const u8 gTentacoolPokedexTextUnused[] = _("");
+
+const u8 gTentacruelPokedexText[] = _(
+ "It has 80 tentacles that move about\n"
+ "freely. They can sting, causing poisoning\n"
+ "and sharp, stabbing pain.");
+
+const u8 gTentacruelPokedexTextUnused[] = _("");
+
+const u8 gGeodudePokedexText[] = _(
+ "Its round form makes it easy to pick up.\n"
+ "Some people have used them to hurl\n"
+ "at each other in a snowball fight.");
+
+const u8 gGeodudePokedexTextUnused[] = _("");
+
+const u8 gGravelerPokedexText[] = _(
+ "Be careful while hiking on mountain trails.\n"
+ "GRAVELER may come rolling down the path\n"
+ "without slowing.");
+
+const u8 gGravelerPokedexTextUnused[] = _("");
+
+const u8 gGolemPokedexText[] = _(
+ "It is enclosed in a hard shell that is as\n"
+ "rugged as slabs of rock. It sheds skin\n"
+ "once a year to grow larger.");
+
+const u8 gGolemPokedexTextUnused[] = _("");
+
+const u8 gPonytaPokedexText[] = _(
+ "Its body is light, and its legs are\n"
+ "incredibly powerful. It can clear\n"
+ "Ayers Rock in one leap.");
+
+const u8 gPonytaPokedexTextUnused[] = _("");
+
+const u8 gRapidashPokedexText[] = _(
+ "It can gallop at a top speed of 150\n"
+ "miles per hour. It can race as fast as a\n"
+ "bullet train while ablaze.");
+
+const u8 gRapidashPokedexTextUnused[] = _("");
+
+const u8 gSlowpokePokedexText[] = _(
+ "It is always vacantly lost in thought, but\n"
+ "no one knows what it is thinking about.\n"
+ "It is good at fishing with its tail.");
+
+const u8 gSlowpokePokedexTextUnused[] = _("");
+
+const u8 gSlowbroPokedexText[] = _(
+ "When a SLOWPOKE went hunting in the sea,\n"
+ "its tail was bitten by a SHELLDER. That\n"
+ "made it evolve into SLOWBRO.");
+
+const u8 gSlowbroPokedexTextUnused[] = _("");
+
+const u8 gMagnemitePokedexText[] = _(
+ "It moves while constantly hovering.\n"
+ "It discharges THUNDER WAVE and so on\n"
+ "from the units at its sides.");
+
+const u8 gMagnemitePokedexTextUnused[] = _("");
+
+const u8 gMagnetonPokedexText[] = _(
+ "A linked cluster formed of several\n"
+ "MAGNEMITE. It discharges powerful\n"
+ "magnetic waves at high voltage.");
+
+const u8 gMagnetonPokedexTextUnused[] = _("");
+
+const u8 gFarfetchdPokedexText[] = _(
+ "It always walks about with a plant stalk\n"
+ "clamped in its beak. The stalk is used for\n"
+ "building its nest.");
+
+const u8 gFarfetchdPokedexTextUnused[] = _("");
+
+const u8 gDoduoPokedexText[] = _(
+ "A two-headed POKéMON that was discovered\n"
+ "as a sudden mutation. It runs at a pace\n"
+ "of over 60 miles per hour.");
+
+const u8 gDoduoPokedexTextUnused[] = _("");
+
+const u8 gDodrioPokedexText[] = _(
+ "An odd species that is rarely found.\n"
+ "The three heads respectively represent\n"
+ "joy, sadness, and anger.");
+
+const u8 gDodrioPokedexTextUnused[] = _("");
+
+const u8 gSeelPokedexText[] = _(
+ "Covered with light blue fur, its hide is\n"
+ "thick and tough. It is active in bitter\n"
+ "cold of minus 40 degrees Fahrenheit.");
+
+const u8 gSeelPokedexTextUnused[] = _("");
+
+const u8 gDewgongPokedexText[] = _(
+ "Its body is covered with a pure white\n"
+ "fur. The colder the weather, the more\n"
+ "active it becomes.");
+
+const u8 gDewgongPokedexTextUnused[] = _("");
+
+const u8 gGrimerPokedexText[] = _(
+ "Sludge exposed to X rays from the moon\n"
+ "transformed into GRIMER. It loves feeding\n"
+ "on filthy things.");
+
+const u8 gGrimerPokedexTextUnused[] = _("");
+
+const u8 gMukPokedexText[] = _(
+ "It is usually undetectable because it\n"
+ "blends in with the ground. Touching it can\n"
+ "cause terrible poisoning.");
+
+const u8 gMukPokedexTextUnused[] = _("");
+
+const u8 gShellderPokedexText[] = _(
+ "It is encased in a shell that is harder\n"
+ "than diamond. Inside, however, it is\n"
+ "surprisingly tender.");
+
+const u8 gShellderPokedexTextUnused[] = _("");
+
+const u8 gCloysterPokedexText[] = _(
+ "Its shell is extremely hard. It cannot be\n"
+ "shattered, even with a bomb. The shell\n"
+ "opens only when it is attacking.");
+
+const u8 gCloysterPokedexTextUnused[] = _("");
+
+const u8 gGastlyPokedexText[] = _(
+ "A being that exists as a thin gas. It can\n"
+ "topple an Indian elephant by enveloping\n"
+ "the prey in two seconds.");
+
+const u8 gGastlyPokedexTextUnused[] = _("");
+
+const u8 gHaunterPokedexText[] = _(
+ "If you get the feeling of being watched\n"
+ "in darkness when nobody is around,\n"
+ "HAUNTER is there.");
+
+const u8 gHaunterPokedexTextUnused[] = _("");
+
+const u8 gGengarPokedexText[] = _(
+ "It is said to emerge from darkness to\n"
+ "steal the lives of those who become lost\n"
+ "in mountains.");
+
+const u8 gGengarPokedexTextUnused[] = _("");
+
+const u8 gOnixPokedexText[] = _(
+ "It usually lives underground. It searches\n"
+ "for food while boring its way through the\n"
+ "ground at 50 miles per hour.");
+
+const u8 gOnixPokedexTextUnused[] = _("");
+
+const u8 gDrowzeePokedexText[] = _(
+ "A descendent of the legendary animal\n"
+ "baku, which is said to eat dreams. It is\n"
+ "skilled at hypnotism.");
+
+const u8 gDrowzeePokedexTextUnused[] = _("");
+
+const u8 gHypnoPokedexText[] = _(
+ "It carries a pendulum-like device. There\n"
+ "once was an incident in which it took \n"
+ "away a child it hypnotized.");
+
+const u8 gHypnoPokedexTextUnused[] = _("");
+
+const u8 gKrabbyPokedexText[] = _(
+ "It can be found near the sea. The large\n"
+ "pincers grow back if they are torn out of\n"
+ "their sockets.");
+
+const u8 gKrabbyPokedexTextUnused[] = _("");
+
+const u8 gKinglerPokedexText[] = _(
+ "Its large and hard pincer has 10,000-\n"
+ "horsepower strength. However, being so\n"
+ "big, it is unwieldy to move.");
+
+const u8 gKinglerPokedexTextUnused[] = _("");
+
+const u8 gVoltorbPokedexText[] = _(
+ "A life-form whose identity is unknown.\n"
+ "It is said to SCREECH or suddenly\n"
+ "SELFDESTRUCT.");
+
+const u8 gVoltorbPokedexTextUnused[] = _("");
+
+const u8 gElectrodePokedexText[] = _(
+ "It explodes in response to even minor\n"
+ "stimuli. It is feared, with the nickname\n"
+ "of “The Bomb Ball.”");
+
+const u8 gElectrodePokedexTextUnused[] = _("");
+
+const u8 gExeggcutePokedexText[] = _(
+ "Even though it appears to be eggs of\n"
+ "some sort, it was discovered to be a life-\n"
+ "form more like plant seeds.");
+
+const u8 gExeggcutePokedexTextUnused[] = _("");
+
+const u8 gExeggutorPokedexText[] = _(
+ "It is called “The Walking Tropical\n"
+ "Rainforest.” Each of the nuts has\n"
+ "a face and a will of its own.");
+
+const u8 gExeggutorPokedexTextUnused[] = _("");
+
+const u8 gCubonePokedexText[] = _(
+ "It wears the skull of its dead mother on\n"
+ "its head. When it becomes lonesome, it is\n"
+ "said to cry loudly.");
+
+const u8 gCubonePokedexTextUnused[] = _("");
+
+const u8 gMarowakPokedexText[] = _(
+ "It is small and was originally very weak.\n"
+ "Its temperament turned ferocious when it\n"
+ "began using bones.");
+
+const u8 gMarowakPokedexTextUnused[] = _("");
+
+const u8 gHitmonleePokedexText[] = _(
+ "The legs freely contract and stretch.\n"
+ "The stretchy legs allow it to hit a\n"
+ "distant foe with a rising kick.");
+
+const u8 gHitmonleePokedexTextUnused[] = _("");
+
+const u8 gHitmonchanPokedexText[] = _(
+ "The spirit of a pro boxer has infused this\n"
+ "POKéMON. It throws punches that are\n"
+ "faster than a bullet train.");
+
+const u8 gHitmonchanPokedexTextUnused[] = _("");
+
+const u8 gLickitungPokedexText[] = _(
+ "Its tongue is twice the length of its\n"
+ "body. It can be moved like an arm for\n"
+ "grabbing food and attacking.");
+
+const u8 gLickitungPokedexTextUnused[] = _("");
+
+const u8 gKoffingPokedexText[] = _(
+ "Its thin, balloon-like body is inflated by\n"
+ "horribly toxic gases. It reeks when it is\n"
+ "nearby.");
+
+const u8 gKoffingPokedexTextUnused[] = _("");
+
+const u8 gWeezingPokedexText[] = _(
+ "Very rarely, a sudden mutation can result\n"
+ "in two small KOFFING twins becoming\n"
+ "conjoined as a WEEZING.");
+
+const u8 gWeezingPokedexTextUnused[] = _("");
+
+const u8 gRhyhornPokedexText[] = _(
+ "Strong, but not too bright, this POKéMON\n"
+ "can shatter even a skyscraper with its\n"
+ "charging TACKLES.");
+
+const u8 gRhyhornPokedexTextUnused[] = _("");
+
+const u8 gRhydonPokedexText[] = _(
+ "It begins walking on its hind legs after\n"
+ "evolution. It can punch holes through\n"
+ "boulders with its horn.");
+
+const u8 gRhydonPokedexTextUnused[] = _("");
+
+const u8 gChanseyPokedexText[] = _(
+ "It lays several eggs a day. The eggs are\n"
+ "apparently rich in nutrients and extremely\n"
+ "delicious.");
+
+const u8 gChanseyPokedexTextUnused[] = _("");
+
+const u8 gTangelaPokedexText[] = _(
+ "Blue plant vines cloak the POKéMON's\n"
+ "identity in a tangled mass. It entangles\n"
+ "anything that gets close.");
+
+const u8 gTangelaPokedexTextUnused[] = _("");
+
+const u8 gKangaskhanPokedexText[] = _(
+ "The female raises its offspring in a pouch\n"
+ "on its belly. It is skilled at attacking\n"
+ "using COMET PUNCH.");
+
+const u8 gKangaskhanPokedexTextUnused[] = _("");
+
+const u8 gHorseaPokedexText[] = _(
+ "It maintains balance using its tail, which\n"
+ "is wound up like a coil. It may spray ink\n"
+ "from its mouth.");
+
+const u8 gHorseaPokedexTextUnused[] = _("");
+
+const u8 gSeadraPokedexText[] = _(
+ "Its body bristles with sharp spikes.\n"
+ "Carelessly trying to touch it could cause\n"
+ "fainting from the spikes.");
+
+const u8 gSeadraPokedexTextUnused[] = _("");
+
+const u8 gGoldeenPokedexText[] = _(
+ "Its dorsal and pectoral fins are strongly\n"
+ "developed like muscles. It can swim at a\n"
+ "speed of five knots.");
+
+const u8 gGoldeenPokedexTextUnused[] = _("");
+
+const u8 gSeakingPokedexText[] = _(
+ "The horn on its head is sharp like a\n"
+ "drill. It bores a hole in a boulder to\n"
+ "make its nest.");
+
+const u8 gSeakingPokedexTextUnused[] = _("");
+
+const u8 gStaryuPokedexText[] = _(
+ "It appears in large numbers by seashores.\n"
+ "At night, its central core flashes with a\n"
+ "red light.");
+
+const u8 gStaryuPokedexTextUnused[] = _("");
+
+const u8 gStarmiePokedexText[] = _(
+ "This POKéMON has a geometric body.\n"
+ "Because of its body, the locals suspect\n"
+ "that it is an alien creature.");
+
+const u8 gStarmiePokedexTextUnused[] = _("");
+
+const u8 gMrmimePokedexText[] = _(
+ "It is adept at conning people. It is said\n"
+ "to be able to create walls out of thin\n"
+ "air by miming.");
+
+const u8 gMrmimePokedexTextUnused[] = _("");
+
+const u8 gScytherPokedexText[] = _(
+ "It tears and shreds prey with its wickedly\n"
+ "sharp scythes. It very rarely spreads its\n"
+ "wings to fly.");
+
+const u8 gScytherPokedexTextUnused[] = _("");
+
+const u8 gJynxPokedexText[] = _(
+ "It speaks using a language that sounds\n"
+ "human. Research is under way to determine\n"
+ "what is being said.");
+
+const u8 gJynxPokedexTextUnused[] = _("");
+
+const u8 gElectabuzzPokedexText[] = _(
+ "It loves to feed on strong electricity.\n"
+ "It occasionally appears around large\n"
+ "power plants and so on.");
+
+const u8 gElectabuzzPokedexTextUnused[] = _("");
+
+const u8 gMagmarPokedexText[] = _(
+ "Found near the mouth of a volcano.\n"
+ "This fire-breather's body temperature is\n"
+ "nearly 2,200 degrees Fahrenheit.");
+
+const u8 gMagmarPokedexTextUnused[] = _("");
+
+const u8 gPinsirPokedexText[] = _(
+ "Its two long pincer horns are powerful.\n"
+ "Once they grip an enemy, they won't\n"
+ "release until the foe is torn.");
+
+const u8 gPinsirPokedexTextUnused[] = _("");
+
+const u8 gTaurosPokedexText[] = _(
+ "When it is about to TACKLE, it whips\n"
+ "its body repeatedly with its three\n"
+ "long tails.");
+
+const u8 gTaurosPokedexTextUnused[] = _("");
+
+const u8 gMagikarpPokedexText[] = _(
+ "It is virtually worthless in terms of both\n"
+ "power and speed. It is the most weak and\n"
+ "pathetic POKéMON in the world.");
+
+const u8 gMagikarpPokedexTextUnused[] = _("");
+
+const u8 gGyaradosPokedexText[] = _(
+ "It has an extremely aggressive nature.\n"
+ "The HYPER BEAM it shoots from its mouth\n"
+ "totally incinerates all targets.");
+
+const u8 gGyaradosPokedexTextUnused[] = _("");
+
+const u8 gLaprasPokedexText[] = _(
+ "Its high intelligence enables it to\n"
+ "understand human speech. It likes to ferry\n"
+ "people on its back.");
+
+const u8 gLaprasPokedexTextUnused[] = _("");
+
+const u8 gDittoPokedexText[] = _(
+ "It can freely recombine its own cellular\n"
+ "structure to transform into other life-\n"
+ "forms.");
+
+const u8 gDittoPokedexTextUnused[] = _("");
+
+const u8 gEeveePokedexText[] = _(
+ "An extremely rare POKéMON that may\n"
+ "evolve in a number of different ways\n"
+ "depending on stimuli.");
+
+const u8 gEeveePokedexTextUnused[] = _("");
+
+const u8 gVaporeonPokedexText[] = _(
+ "Its body's cellular structure is similar to\n"
+ "the molecular composition of water.\n"
+ "It can melt invisibly in water.");
+
+const u8 gVaporeonPokedexTextUnused[] = _("");
+
+const u8 gJolteonPokedexText[] = _(
+ "If it is angered or startled, the fur all\n"
+ "over its body bristles like sharp needles\n"
+ "that pierce foes.");
+
+const u8 gJolteonPokedexTextUnused[] = _("");
+
+const u8 gFlareonPokedexText[] = _(
+ "It has a flame bag inside its body. After\n"
+ "inhaling deeply, it blows out flames of\n"
+ "nearly 3,100 degrees Fahrenheit.");
+
+const u8 gFlareonPokedexTextUnused[] = _("");
+
+const u8 gPorygonPokedexText[] = _(
+ "Using the most advanced technologies,\n"
+ "scientists finally succeeded in making the\n"
+ "first artificial POKéMON.");
+
+const u8 gPorygonPokedexTextUnused[] = _("");
+
+const u8 gOmanytePokedexText[] = _(
+ "A prehistoric POKéMON that lived in the\n"
+ "primordial sea, it swims by twisting its\n"
+ "10 tentacles about.");
+
+const u8 gOmanytePokedexTextUnused[] = _("");
+
+const u8 gOmastarPokedexText[] = _(
+ "Its tentacles are highly developed as if\n"
+ "they are hands and feet. As soon as it\n"
+ "ensnares prey, it bites.");
+
+const u8 gOmastarPokedexTextUnused[] = _("");
+
+const u8 gKabutoPokedexText[] = _(
+ "This POKéMON was regenerated from the\n"
+ "fossil of an ancient creature. It protects\n"
+ "itself with a hard shell.");
+
+const u8 gKabutoPokedexTextUnused[] = _("");
+
+const u8 gKabutopsPokedexText[] = _(
+ "It swims freely through water. It catches\n"
+ "prey with its scythe-like arms and drains\n"
+ "the victim's fluids.");
+
+const u8 gKabutopsPokedexTextUnused[] = _("");
+
+const u8 gAerodactylPokedexText[] = _(
+ "It was regenerated from a dinosaur's\n"
+ "genetic matter that was found in amber.\n"
+ "It flies with high-pitched cries.");
+
+const u8 gAerodactylPokedexTextUnused[] = _("");
+
+const u8 gSnorlaxPokedexText[] = _(
+ "It is not satisfied unless it eats over 880\n"
+ "pounds of food every day. When it is done\n"
+ "eating, it goes promptly to sleep.");
+
+const u8 gSnorlaxPokedexTextUnused[] = _("");
+
+const u8 gArticunoPokedexText[] = _(
+ "One of the legendary bird POKéMON.\n"
+ "With its long tail trailing behind, its\n"
+ "flying form is magnificent.");
+
+const u8 gArticunoPokedexTextUnused[] = _("");
+
+const u8 gZapdosPokedexText[] = _(
+ "One of the legendary bird POKéMON.\n"
+ "While it is flying, it makes crackling and\n"
+ "snapping sounds.");
+
+const u8 gZapdosPokedexTextUnused[] = _("");
+
+const u8 gMoltresPokedexText[] = _(
+ "One of the legendary bird POKéMON.\n"
+ "Those seeing it are overwhelmed by its\n"
+ "orange wings that seem to be on fire.");
+
+const u8 gMoltresPokedexTextUnused[] = _("");
+
+const u8 gDratiniPokedexText[] = _(
+ "Even the young can exceed 6.5 feet in\n"
+ "length. It grows larger by repeatedly\n"
+ "shedding skin.");
+
+const u8 gDratiniPokedexTextUnused[] = _("");
+
+const u8 gDragonairPokedexText[] = _(
+ "It is said to live in seas and lakes.\n"
+ "Even though it has no wings, it has been\n"
+ "seen flying occasionally.");
+
+const u8 gDragonairPokedexTextUnused[] = _("");
+
+const u8 gDragonitePokedexText[] = _(
+ "It can fly in spite of its big and bulky\n"
+ "physique. It circles the globe in just\n"
+ "16 hours.");
+
+const u8 gDragonitePokedexTextUnused[] = _("");
+
+const u8 gMewtwoPokedexText[] = _(
+ "A POKéMON whose genetic code was\n"
+ "repeatedly recombined for research.\n"
+ "It turned vicious as a result.");
+
+const u8 gMewtwoPokedexTextUnused[] = _("");
+
+const u8 gMewPokedexText[] = _(
+ "A POKéMON of South America that was\n"
+ "thought to have been extinct. It is very\n"
+ "intelligent and learns any move.");
+
+const u8 gMewPokedexTextUnused[] = _("");
+
+const u8 gChikoritaPokedexText[] = _(
+#if REVISION == 0
+ "Its pleasantly aromatic leaves have the\n"
+ #else
+ "Its pleasantly aromatic leaf has the\n"
+ #endif
+ "ability to check the humidity and\n"
+ "temperature."
+);
+
+const u8 gChikoritaPokedexTextUnused[] = _("");
+
+const u8 gBayleefPokedexText[] = _(
+ "A spicy aroma emanates from around its\n"
+ "neck. The aroma acts as a stimulant to\n"
+ "restore health.");
+
+const u8 gBayleefPokedexTextUnused[] = _("");
+
+const u8 gMeganiumPokedexText[] = _(
+ "MEGANIUM's breath has the power to revive\n"
+ "dead grass and plants. It can make them\n"
+ "healthy again.");
+
+const u8 gMeganiumPokedexTextUnused[] = _("");
+
+const u8 gCyndaquilPokedexText[] = _(
+ "It usually stays hunched over. If it is\n"
+ "angry or surprised, it shoots flames out\n"
+ "of its back.");
+
+const u8 gCyndaquilPokedexTextUnused[] = _("");
+
+const u8 gQuilavaPokedexText[] = _(
+ "This POKéMON is fully covered by\n"
+ "nonflammable fur. It can withstand any\n"
+ "kind of fire attack.");
+
+const u8 gQuilavaPokedexTextUnused[] = _("");
+
+const u8 gTyphlosionPokedexText[] = _(
+ "It has a secret, devastating move. It\n"
+ "rubs its blazing fur together to cause\n"
+ "huge explosions.");
+
+const u8 gTyphlosionPokedexTextUnused[] = _("");
+
+const u8 gTotodilePokedexText[] = _(
+ "It is small but rough and tough. It won't\n"
+ "hesitate to take a bite out of anything\n"
+ "that moves.");
+
+const u8 gTotodilePokedexTextUnused[] = _("");
+
+const u8 gCroconawPokedexText[] = _(
+ "It opens its huge jaws wide when\n"
+ "attacking. If it loses any fangs while\n"
+ "biting, they grow back in.");
+
+const u8 gCroconawPokedexTextUnused[] = _("");
+
+const u8 gFeraligatrPokedexText[] = _(
+ "It is hard for it to support its own\n"
+ "weight out of water, so it gets down on\n"
+ "all fours. But it moves fast.");
+
+const u8 gFeraligatrPokedexTextUnused[] = _("");
+
+const u8 gSentretPokedexText[] = _(
+ "It stands on its tail so it can see a long\n"
+ "way. If it spots an enemy, it cries loudly\n"
+ "to warn its kind.");
+
+const u8 gSentretPokedexTextUnused[] = _("");
+
+const u8 gFurretPokedexText[] = _(
+ "There is no telling where its tail begins.\n"
+ "Despite its short legs, it is quick at\n"
+ "hunting RATTATA.");
+
+const u8 gFurretPokedexTextUnused[] = _("");
+
+const u8 gHoothootPokedexText[] = _(
+ "It has a perfect sense of time. Whatever\n"
+ "happens, it keeps rhythm by precisely\n"
+ "tilting its head in time.");
+
+const u8 gHoothootPokedexTextUnused[] = _("");
+
+const u8 gNoctowlPokedexText[] = _(
+ "When it needs to think, it rotates its head\n"
+ "180 degrees to sharpen its intellectual\n"
+ "power.");
+
+const u8 gNoctowlPokedexTextUnused[] = _("");
+
+const u8 gLedybaPokedexText[] = _(
+ "When the weather turns cold, numerous\n"
+ "LEDYBA gather from everywhere to cluster\n"
+ "and keep each other warm.");
+
+const u8 gLedybaPokedexTextUnused[] = _("");
+
+const u8 gLedianPokedexText[] = _(
+ "The star patterns on its back grow larger\n"
+ "or smaller depending on the number of\n"
+ "stars in the night sky.");
+
+const u8 gLedianPokedexTextUnused[] = _("");
+
+const u8 gSpinarakPokedexText[] = _(
+ "It spins a web using fine--but durable--\n"
+ "thread. It then waits patiently for prey\n"
+ "to be trapped.");
+
+const u8 gSpinarakPokedexTextUnused[] = _("");
+
+const u8 gAriadosPokedexText[] = _(
+ "A single strand of a special string is\n"
+ "endlessly spun out of its rear. The string\n"
+ "leads back to its nest.");
+
+const u8 gAriadosPokedexTextUnused[] = _("");
+
+const u8 gCrobatPokedexText[] = _(
+ "The development of wings on its legs\n"
+ "enables it to fly fast but also makes it\n"
+ "tough to stop and rest.");
+
+const u8 gCrobatPokedexTextUnused[] = _("");
+
+const u8 gChinchouPokedexText[] = _(
+ "On the dark ocean floor, its only means\n"
+ "of communication is its constantly\n"
+ "flashing lights.");
+
+const u8 gChinchouPokedexTextUnused[] = _("");
+
+const u8 gLanturnPokedexText[] = _(
+ "It blinds prey with an intense burst of\n"
+ "light, then swallows the immobilized prey\n"
+ "in a single gulp.");
+
+const u8 gLanturnPokedexTextUnused[] = _("");
+
+const u8 gPichuPokedexText[] = _(
+ "Despite its small size, it can zap even\n"
+ "adult humans. However, if it does so, it\n"
+ "also surprises itself.");
+
+const u8 gPichuPokedexTextUnused[] = _("");
+
+const u8 gCleffaPokedexText[] = _(
+ "When numerous meteors illuminate the\n"
+ "night sky, sightings of CLEFFA strangely\n"
+ "increase.");
+
+const u8 gCleffaPokedexTextUnused[] = _("");
+
+const u8 gIgglybuffPokedexText[] = _(
+ "Its extremely flexible and elastic body\n"
+ "makes it bounce continuously--anytime,\n"
+ "anywhere.");
+
+const u8 gIgglybuffPokedexTextUnused[] = _("");
+
+const u8 gTogepiPokedexText[] = _(
+ "A proverb claims that happiness will come\n"
+ "to anyone who can make a sleeping TOGEPI\n"
+ "stand up.");
+
+const u8 gTogepiPokedexTextUnused[] = _("");
+
+const u8 gTogeticPokedexText[] = _(
+ "It grows dispirited if it is not with kind\n"
+ "people. It can float in midair without\n"
+ "moving its wings.");
+
+const u8 gTogeticPokedexTextUnused[] = _("");
+
+const u8 gNatuPokedexText[] = _(
+ "It usually forages for food on the ground\n"
+ "but may, on rare occasions, hop onto\n"
+ "branches to peck at shoots.");
+
+const u8 gNatuPokedexTextUnused[] = _("");
+
+const u8 gXatuPokedexText[] = _(
+ "In South America, it is said that its right\n"
+ "eye sees the future and its left eye\n"
+ "views the past.");
+
+const u8 gXatuPokedexTextUnused[] = _("");
+
+const u8 gMareepPokedexText[] = _(
+ "Its fleece grows continually. In the\n"
+ "summer, the fleece is fully shed, but it\n"
+ "grows back in a week.");
+
+const u8 gMareepPokedexTextUnused[] = _("");
+
+const u8 gFlaaffyPokedexText[] = _(
+ "Its fluffy fleece easily stores\n"
+ "electricity. Its rubbery hide keeps it\n"
+ "from being electrocuted.");
+
+const u8 gFlaaffyPokedexTextUnused[] = _("");
+
+const u8 gAmpharosPokedexText[] = _(
+ "The bright light on its tail can be seen\n"
+ "far away. It has been treasured since\n"
+ "ancient times as a beacon.");
+
+const u8 gAmpharosPokedexTextUnused[] = _("");
+
+const u8 gBellossomPokedexText[] = _(
+ "Plentiful in the tropics. When it dances,\n"
+ "its petals rub together and make a\n"
+ "pleasant ringing sound.");
+
+const u8 gBellossomPokedexTextUnused[] = _("");
+
+const u8 gMarillPokedexText[] = _(
+ "The end of its tail serves as a buoy that\n"
+ "keeps it from drowning, even in a vicious\n"
+ "current.");
+
+const u8 gMarillPokedexTextUnused[] = _("");
+
+const u8 gAzumarillPokedexText[] = _(
+ "When it plays in water, it rolls up its\n"
+ "elongated ears to prevent their insides\n"
+ "from getting wet.");
+
+const u8 gAzumarillPokedexTextUnused[] = _("");
+
+const u8 gSudowoodoPokedexText[] = _(
+ "It disguises itself as a tree to avoid\n"
+ "attack. It hates water, so it will\n"
+ "disappear if it starts raining.");
+
+const u8 gSudowoodoPokedexTextUnused[] = _("");
+
+const u8 gPolitoedPokedexText[] = _(
+ "Whenever three or more of these get\n"
+ "together, they sing in a loud voice that\n"
+ "sounds like bellowing.");
+
+const u8 gPolitoedPokedexTextUnused[] = _("");
+
+const u8 gHoppipPokedexText[] = _(
+ "Its body is so light, it must grip the\n"
+ "ground firmly with its feet to keep from\n"
+ "being blown away.");
+
+const u8 gHoppipPokedexTextUnused[] = _("");
+
+const u8 gSkiploomPokedexText[] = _(
+ "It spreads its petals to absorb sunlight.\n"
+ "It also floats in the air to get closer to\n"
+ "the sun.");
+
+const u8 gSkiploomPokedexTextUnused[] = _("");
+
+const u8 gJumpluffPokedexText[] = _(
+ "It drifts on seasonal winds and spreads\n"
+ "its cotton-like spores all over the world \n"
+ "to make more offspring.");
+
+const u8 gJumpluffPokedexTextUnused[] = _("");
+
+const u8 gAipomPokedexText[] = _(
+ "It lives atop tall trees. When leaping\n"
+ "from branch to branch, it deftly uses its\n"
+ "tail for balance.");
+
+const u8 gAipomPokedexTextUnused[] = _("");
+
+const u8 gSunkernPokedexText[] = _(
+ "It lives by drinking only dewdrops from\n"
+ "under the leaves of plants. It is said\n"
+ "that it eats nothing else.");
+
+const u8 gSunkernPokedexTextUnused[] = _("");
+
+const u8 gSunfloraPokedexText[] = _(
+ "In the daytime, it rushes about in a\n"
+ "hectic manner, but it comes to a complete\n"
+ "stop when the sun sets.");
+
+const u8 gSunfloraPokedexTextUnused[] = _("");
+
+const u8 gYanmaPokedexText[] = _(
+ "Its large eyes can scan 360 degrees.\n"
+ "It looks in all directions to seek out\n"
+ "insects as its prey.");
+
+const u8 gYanmaPokedexTextUnused[] = _("");
+
+const u8 gWooperPokedexText[] = _(
+ "When it walks around on the ground,\n"
+ "it coats its body with a slimy, poisonous\n"
+ "film.");
+
+const u8 gWooperPokedexTextUnused[] = _("");
+
+const u8 gQuagsirePokedexText[] = _(
+ "Due to its relaxed and carefree attitude,\n"
+ "it often bumps its head on boulders and\n"
+ "boat hulls as it swims.");
+
+const u8 gQuagsirePokedexTextUnused[] = _("");
+
+const u8 gEspeonPokedexText[] = _(
+ "By reading air currents, it can predict\n"
+ "things such as the weather or its foe's\n"
+ "next move.");
+
+const u8 gEspeonPokedexTextUnused[] = _("");
+
+const u8 gUmbreonPokedexText[] = _(
+ "When darkness falls, the rings on its body\n"
+ "begin to glow, striking fear in the hearts\n"
+ "of anyone nearby.");
+
+const u8 gUmbreonPokedexTextUnused[] = _("");
+
+const u8 gMurkrowPokedexText[] = _(
+ "It is said that when chased, it lures its\n"
+ "attacker onto dark mountain trails where\n"
+ "the foe will get lost.");
+
+const u8 gMurkrowPokedexTextUnused[] = _("");
+
+const u8 gSlowkingPokedexText[] = _(
+ "When its head was bitten, toxins entered\n"
+ "SLOWPOKE's head and unlocked an\n"
+ "extraordinary power.");
+
+const u8 gSlowkingPokedexTextUnused[] = _("");
+
+const u8 gMisdreavusPokedexText[] = _(
+ "It loves to bite and yank people's hair\n"
+ "from behind without warning, just to see\n"
+ "their shocked reactions.");
+
+const u8 gMisdreavusPokedexTextUnused[] = _("");
+
+const u8 gUnownPokedexText[] = _(
+ "Its flat, thin body is always stuck on\n"
+ "walls. Its shape appears to have some\n"
+ "meaning.");
+
+const u8 gUnownPokedexTextUnused[] = _("");
+
+const u8 gWobbuffetPokedexText[] = _(
+ "To keep its pitch-black tail hidden, it\n"
+ "lives quietly in the darkness. It is never\n"
+ "first to attack.");
+
+const u8 gWobbuffetPokedexTextUnused[] = _("");
+
+const u8 gGirafarigPokedexText[] = _(
+ "Its tail, which also contains a small\n"
+ "brain, may bite on its own if it notices an\n"
+ "alluring smell.");
+
+const u8 gGirafarigPokedexTextUnused[] = _("");
+
+const u8 gPinecoPokedexText[] = _(
+ "It hangs and waits for flying-insect prey\n"
+ "to come near. It does not move about\n"
+ "much on its own.");
+
+const u8 gPinecoPokedexTextUnused[] = _("");
+
+const u8 gForretressPokedexText[] = _(
+ "It remains immovably rooted to its tree.\n"
+ "It scatters pieces of its hard shell to\n"
+ "drive its enemies away.");
+
+const u8 gForretressPokedexTextUnused[] = _("");
+
+const u8 gDunsparcePokedexText[] = _(
+ "If spotted, it escapes by burrowing with\n"
+ "its tail. It can hover just slightly using\n"
+ "its wings.");
+
+const u8 gDunsparcePokedexTextUnused[] = _("");
+
+const u8 gGligarPokedexText[] = _(
+ "It usually clings to cliffs. When it spots\n"
+ "its prey, it spreads its wings and glides\n"
+ "down to attack.");
+
+const u8 gGligarPokedexTextUnused[] = _("");
+
+const u8 gSteelixPokedexText[] = _(
+ "It is said that if an ONIX lives for over\n"
+ "100 years, its composition changes to\n"
+ "become diamond-like.");
+
+const u8 gSteelixPokedexTextUnused[] = _("");
+
+const u8 gSnubbullPokedexText[] = _(
+ "It has an active, playful nature. Many\n"
+ "women like to frolic with it because of\n"
+ "its affectionate ways.");
+
+const u8 gSnubbullPokedexTextUnused[] = _("");
+
+const u8 gGranbullPokedexText[] = _(
+ "Because its fangs are too heavy, it\n"
+ "always keeps its head tilted down.\n"
+ "However, its BITE is powerful.");
+
+const u8 gGranbullPokedexTextUnused[] = _("");
+
+const u8 gQwilfishPokedexText[] = _(
+ "The small spikes covering its body\n"
+ "developed from scales. They inject a\n"
+ "toxin that causes fainting.");
+
+const u8 gQwilfishPokedexTextUnused[] = _("");
+
+const u8 gScizorPokedexText[] = _(
+ "Its wings are not used for flying.\n"
+ "They are flapped at high speed to adjust\n"
+ "its body temperature.");
+
+const u8 gScizorPokedexTextUnused[] = _("");
+
+const u8 gShucklePokedexText[] = _(
+ "It stores BERRIES inside its shell.\n"
+ "To avoid attacks, it hides beneath rocks\n"
+ "and remains completely still.");
+
+const u8 gShucklePokedexTextUnused[] = _("");
+
+const u8 gHeracrossPokedexText[] = _(
+ "Usually docile, but if disturbed while\n"
+ "sipping honey, it chases off the intruder\n"
+ "with its horn.");
+
+const u8 gHeracrossPokedexTextUnused[] = _("");
+
+const u8 gSneaselPokedexText[] = _(
+ "Vicious in nature, it drives PIDGEY from\n"
+ "their nests and feasts on the eggs that\n"
+ "are left behind.");
+
+const u8 gSneaselPokedexTextUnused[] = _("");
+
+const u8 gTeddiursaPokedexText[] = _(
+ "Before food becomes scarce in wintertime,\n"
+ "its habit is to hoard food in many hidden\n"
+ "locations.");
+
+const u8 gTeddiursaPokedexTextUnused[] = _("");
+
+const u8 gUrsaringPokedexText[] = _(
+ "With its ability to distinguish any smell,\n"
+ "it unfailingly finds all food buried deep\n"
+ "underground.");
+
+const u8 gUrsaringPokedexTextUnused[] = _("");
+
+const u8 gSlugmaPokedexText[] = _(
+ "A common sight in volcanic areas, it\n"
+ "slowly slithers around in a constant\n"
+ "search for warm places.");
+
+const u8 gSlugmaPokedexTextUnused[] = _("");
+
+const u8 gMagcargoPokedexText[] = _(
+ "Its brittle shell occasionally spouts\n"
+ "intense flames that circulate throughout\n"
+ "its body.");
+
+const u8 gMagcargoPokedexTextUnused[] = _("");
+
+const u8 gSwinubPokedexText[] = _(
+ "If it smells something enticing, it dashes\n"
+ "off headlong to find the source of the\n"
+ "aroma.");
+
+const u8 gSwinubPokedexTextUnused[] = _("");
+
+const u8 gPiloswinePokedexText[] = _(
+ "If it charges at an enemy, the hairs on\n"
+ "its back stand up straight. It is very\n"
+ "sensitive to sound.");
+
+const u8 gPiloswinePokedexTextUnused[] = _("");
+
+const u8 gCorsolaPokedexText[] = _(
+ "In a south sea nation, the people live in\n"
+ "communities that are built on groups of\n"
+ "these POKéMON.");
+
+const u8 gCorsolaPokedexTextUnused[] = _("");
+
+const u8 gRemoraidPokedexText[] = _(
+ "Using its dorsal fin as a suction pad, it\n"
+ "clings to a MANTINE's underside to\n"
+ "scavenge for leftovers.");
+
+const u8 gRemoraidPokedexTextUnused[] = _("");
+
+const u8 gOctilleryPokedexText[] = _(
+ "It instinctively sneaks into rocky holes.\n"
+ "If it gets sleepy, it steals the nest of a\n"
+ "fellow OCTILLERY.");
+
+const u8 gOctilleryPokedexTextUnused[] = _("");
+
+const u8 gDelibirdPokedexText[] = _(
+ "It nests at the edge of sharp cliffs.\n"
+ "It spends all day carrying food to its\n"
+ "awaiting chicks.");
+
+const u8 gDelibirdPokedexTextUnused[] = _("");
+
+const u8 gMantinePokedexText[] = _(
+ "Swimming freely in open seas, it may fly\n"
+ "out of the water and over the waves if it\n"
+ "builds up enough speed.");
+
+const u8 gMantinePokedexTextUnused[] = _("");
+
+const u8 gSkarmoryPokedexText[] = _(
+ "After nesting in bramble bushes, the wings\n"
+ "of its chicks grow hard from scratches by\n"
+ "thorns.");
+
+const u8 gSkarmoryPokedexTextUnused[] = _("");
+
+const u8 gHoundourPokedexText[] = _(
+ "To corner prey, they check each other's\n"
+ "location using barks that only they can\n"
+ "understand.");
+
+const u8 gHoundourPokedexTextUnused[] = _("");
+
+const u8 gHoundoomPokedexText[] = _(
+ "Upon hearing its eerie howls, other\n"
+ "POKéMON get the shivers and head straight\n"
+ "back to their nests.");
+
+const u8 gHoundoomPokedexTextUnused[] = _("");
+
+const u8 gKingdraPokedexText[] = _(
+ "It sleeps deep on the ocean floor to\n"
+ "build its energy. It is said to cause\n"
+ "tornadoes as it wakes.");
+
+const u8 gKingdraPokedexTextUnused[] = _("");
+
+const u8 gPhanpyPokedexText[] = _(
+ "As a sign of affection, it bumps with its\n"
+ "snout. However, it is so strong, it may\n"
+ "send you flying.");
+
+const u8 gPhanpyPokedexTextUnused[] = _("");
+
+const u8 gDonphanPokedexText[] = _(
+ "The longer and bigger its tusks, the\n"
+ "higher its rank in its herd. The tusks take\n"
+ "a long time to grow.");
+
+const u8 gDonphanPokedexTextUnused[] = _("");
+
+const u8 gPorygon2PokedexText[] = _(
+ "Further research enhanced its abilities.\n"
+ "Sometimes, it may exhibit motions that\n"
+ "were not programmed.");
+
+const u8 gPorygon2PokedexTextUnused[] = _("");
+
+const u8 gStantlerPokedexText[] = _(
+ "Those who stare at its antlers will\n"
+ "gradually lose control of their senses\n"
+ "and be unable to stand.");
+
+const u8 gStantlerPokedexTextUnused[] = _("");
+
+const u8 gSmearglePokedexText[] = _(
+ "Once it becomes an adult, it has a\n"
+ "tendency to let its comrades plant\n"
+ "footprints on its back.");
+
+const u8 gSmearglePokedexTextUnused[] = _("");
+
+const u8 gTyroguePokedexText[] = _(
+ "Even though it is small, it can't be\n"
+ "ignored because it will slug any handy\n"
+ "target without warning.");
+
+const u8 gTyroguePokedexTextUnused[] = _("");
+
+const u8 gHitmontopPokedexText[] = _(
+ "It launches kicks while spinning. If it\n"
+ "spins at high speed, it may bore its way\n"
+ "into the ground.");
+
+const u8 gHitmontopPokedexTextUnused[] = _("");
+
+const u8 gSmoochumPokedexText[] = _(
+ "It always rocks its head slowly backwards\n"
+ "and forwards as if it is trying to kiss\n"
+ "someone.");
+
+const u8 gSmoochumPokedexTextUnused[] = _("");
+
+const u8 gElekidPokedexText[] = _(
+ "Even in the most vicious storm, this\n"
+ "POKéMON plays happily if thunder rumbles\n"
+ "in the sky.");
+
+const u8 gElekidPokedexTextUnused[] = _("");
+
+const u8 gMagbyPokedexText[] = _(
+ "It is found in volcanic craters. Its body\n"
+ "heat exceeds 1,100 degrees Fahrenheit,\n"
+ "so don't underestimate it.");
+
+const u8 gMagbyPokedexTextUnused[] = _("");
+
+const u8 gMiltankPokedexText[] = _(
+ "If it has just had a baby, the milk it\n"
+ "produces contains much more nutrition than\n"
+ "usual.");
+
+const u8 gMiltankPokedexTextUnused[] = _("");
+
+const u8 gBlisseyPokedexText[] = _(
+ "It has a very compassionate nature. If it\n"
+ "sees a sick POKéMON, it will nurse the\n"
+ "sufferer back to health.");
+
+const u8 gBlisseyPokedexTextUnused[] = _("");
+
+const u8 gRaikouPokedexText[] = _(
+ "This POKéMON races across the\n"
+ "land while barking a cry that sounds\n"
+ "like crashing thunder.");
+
+const u8 gRaikouPokedexTextUnused[] = _("");
+
+const u8 gEnteiPokedexText[] = _(
+ "A POKéMON that races across the land.\n"
+ "It is said that one is born every time a\n"
+ "new volcano appears.");
+
+const u8 gEnteiPokedexTextUnused[] = _("");
+
+const u8 gSuicunePokedexText[] = _(
+ "This POKéMON races across the land.\n"
+ "It is said that north winds will somehow\n"
+ "blow whenever it appears.");
+
+const u8 gSuicunePokedexTextUnused[] = _("");
+
+const u8 gLarvitarPokedexText[] = _(
+ "It is born deep underground. It can't\n"
+ "emerge until it has entirely consumed the\n"
+ "soil around it.");
+
+const u8 gLarvitarPokedexTextUnused[] = _("");
+
+const u8 gPupitarPokedexText[] = _(
+ "Even sealed in its shell, it can move\n"
+ "freely. Hard and fast, it has outstanding\n"
+ "destructive power.");
+
+const u8 gPupitarPokedexTextUnused[] = _("");
+
+const u8 gTyranitarPokedexText[] = _(
+#if REVISION == 0
+ "Its body can't be harmed by any sort of\n"
+ "attack, so it is very eager to make\n"
+ "challenges against enemies."
+#else
+"It has an impudent nature. Having great\n"
+ "strength, it can even change surrounding\n"
+ "landforms."
+#endif
+);
+
+const u8 gTyranitarPokedexTextUnused[] = _("");
+
+const u8 gLugiaPokedexText[] = _(
+ "It is said to be the guardian of the seas.\n"
+ "It is rumored to have been seen on the\n"
+ "night of a storm.");
+
+const u8 gLugiaPokedexTextUnused[] = _("");
+
+const u8 gHoOhPokedexText[] = _(
+ "A legend says that its body glows in\n"
+ "seven colors. A rainbow is said to form\n"
+ "behind it when it flies.");
+
+const u8 gHoOhPokedexTextUnused[] = _("");
+
+const u8 gCelebiPokedexText[] = _(
+ "When CELEBI disappears deep in a forest,\n"
+ "it is said to leave behind an egg it\n"
+ "brought from the future.");
+
+const u8 gCelebiPokedexTextUnused[] = _("");
+
+const u8 gTreeckoPokedexText[] = _(
+ "It quickly scales even vertical walls.\n"
+ "It senses humidity with its tail to predict\n"
+ "the next day's weather.");
+
+const u8 gTreeckoPokedexTextUnused[] = _("");
+
+const u8 gGrovylePokedexText[] = _(
+ "Its strongly developed thigh muscles\n"
+ "give it astounding agility and jumping\n"
+ "performance.");
+
+const u8 gGrovylePokedexTextUnused[] = _("");
+
+const u8 gSceptilePokedexText[] = _(
+ "The leaves on its forelegs are as sharp\n"
+ "as swords. It agilely leaps about the\n"
+ "branches of trees to strike.");
+
+const u8 gSceptilePokedexTextUnused[] = _("");
+
+const u8 gTorchicPokedexText[] = _(
+ "It has a flame sac inside its belly that\n"
+ "perpetually burns. It feels warm if it is\n"
+ "hugged.");
+
+const u8 gTorchicPokedexTextUnused[] = _("");
+
+const u8 gCombuskenPokedexText[] = _(
+ "It boosts its concentration by emitting\n"
+ "harsh cries. Its kicks have outstanding\n"
+ "destructive power.");
+
+const u8 gCombuskenPokedexTextUnused[] = _("");
+
+const u8 gBlazikenPokedexText[] = _(
+ "When facing a tough foe, it looses flames\n"
+ "from its wrists. Its powerful legs let it\n"
+ "jump clear over buildings.");
+
+const u8 gBlazikenPokedexTextUnused[] = _("");
+
+const u8 gMudkipPokedexText[] = _(
+ "Its large tail fin propels it through\n"
+ "water with powerful acceleration. It is\n"
+ "strong in spite of its size.");
+
+const u8 gMudkipPokedexTextUnused[] = _("");
+
+const u8 gMarshtompPokedexText[] = _(
+ "It is at its best when on muddy ground\n"
+ "with poor footing. It quickly overwhelms\n"
+ "foes struggling in mud.");
+
+const u8 gMarshtompPokedexTextUnused[] = _("");
+
+const u8 gSwampertPokedexText[] = _(
+ "Its arms are rock-hard. With one swing,\n"
+ "they can batter down its foe. It makes its\n"
+ "nest on beautiful beaches.");
+
+const u8 gSwampertPokedexTextUnused[] = _("");
+
+const u8 gPoochyenaPokedexText[] = _(
+ "It has a very tenacious nature. Its acute\n"
+ "sense of smell lets it chase a chosen\n"
+ "prey without ever losing track.");
+
+const u8 gPoochyenaPokedexTextUnused[] = _("");
+
+const u8 gMightyenaPokedexText[] = _(
+ "It will always obey the commands of a\n"
+ "skilled TRAINER. Its behavior arises from\n"
+ "its living in packs in ancient times.");
+
+const u8 gMightyenaPokedexTextUnused[] = _("");
+
+const u8 gZigzagoonPokedexText[] = _(
+ "A POKéMON with abundant curiosity.\n"
+ "It shows an interest in everything, so it\n"
+ "always zigs and zags.");
+
+const u8 gZigzagoonPokedexTextUnused[] = _("");
+
+const u8 gLinoonePokedexText[] = _(
+ "When running in a straight line, it can top\n"
+ "60 miles per hour. However, it has a\n"
+ "tough time with curved roads.");
+
+const u8 gLinoonePokedexTextUnused[] = _("");
+
+const u8 gWurmplePokedexText[] = _(
+ "It lives amidst tall grass and in forests.\n"
+ "When attacked, it resists by pointing its\n"
+ "venomous spikes at the foe.");
+
+const u8 gWurmplePokedexTextUnused[] = _("");
+
+const u8 gSilcoonPokedexText[] = _(
+ "It conserves its energy by moving as\n"
+ "little as possible. It awaits evolution\n"
+ "while drinking only a little rainwater.");
+
+const u8 gSilcoonPokedexTextUnused[] = _("");
+
+const u8 gBeautiflyPokedexText[] = _(
+ "Despite its appearance, it has an\n"
+ "aggressive nature. It attacks by jabbing\n"
+ "with its long, thin mouth.");
+
+const u8 gBeautiflyPokedexTextUnused[] = _("");
+
+const u8 gCascoonPokedexText[] = _(
+ "Its body, which is made of soft silk,\n"
+ "hardens over time. When cracks appear,\n"
+ "evolution is near.");
+
+const u8 gCascoonPokedexTextUnused[] = _("");
+
+const u8 gDustoxPokedexText[] = _(
+ "It scatters horribly toxic dust when it\n"
+ "senses danger. They tend to gather in the\n"
+ "glow of streetlamps at night.");
+
+const u8 gDustoxPokedexTextUnused[] = _("");
+
+const u8 gLotadPokedexText[] = _(
+ "It searches about for clean water. If it\n"
+ "does not drink water for too long, the\n"
+ "leaf on its head wilts.");
+
+const u8 gLotadPokedexTextUnused[] = _("");
+
+const u8 gLombrePokedexText[] = _(
+ "It lives at the water's edge where it is\n"
+ "sunny. It sleeps on a bed of water grass\n"
+ "by day and becomes active at night.");
+
+const u8 gLombrePokedexTextUnused[] = _("");
+
+const u8 gLudicoloPokedexText[] = _(
+ "The rhythm of bright, festive music\n"
+ "activates LUDICOLO's cells, making it more\n"
+ "powerful.");
+
+const u8 gLudicoloPokedexTextUnused[] = _("");
+
+const u8 gSeedotPokedexText[] = _(
+ "If it remains still, it becomes impossible\n"
+ "to distinguish from real nuts. It delights\n"
+ "in surprising foraging PIDGEY.");
+
+const u8 gSeedotPokedexTextUnused[] = _("");
+
+const u8 gNuzleafPokedexText[] = _(
+ "They live in holes bored in large trees.\n"
+ "The sound of NUZLEAF's grass flute fills\n"
+ "listeners with dread.");
+
+const u8 gNuzleafPokedexTextUnused[] = _("");
+
+const u8 gShiftryPokedexText[] = _(
+ "A POKéMON that was feared as a forest\n"
+ "guardian. It can read the foe's mind and\n"
+ "take preemptive action.");
+
+const u8 gShiftryPokedexTextUnused[] = _("");
+
+const u8 gTaillowPokedexText[] = _(
+ "It dislikes cold seasons. They migrate to\n"
+ "other lands in search of warmth, flying\n"
+ "over 180 miles a day.");
+
+const u8 gTaillowPokedexTextUnused[] = _("");
+
+const u8 gSwellowPokedexText[] = _(
+ "If its two tail feathers are standing at\n"
+ "attention, it is proof of good health.\n"
+ "It soars elegantly in the sky.");
+
+const u8 gSwellowPokedexTextUnused[] = _("");
+
+const u8 gWingullPokedexText[] = _(
+ "It rides upon ocean winds as if it were\n"
+ "a glider. In the winter, it hides food\n"
+ "around its nest.");
+
+const u8 gWingullPokedexTextUnused[] = _("");
+
+const u8 gPelipperPokedexText[] = _(
+ "It is a flying transporter that carries\n"
+ "small POKéMON in its beak. It bobs on the\n"
+ "waves to rest its wings.");
+
+const u8 gPelipperPokedexTextUnused[] = _("");
+
+const u8 gRaltsPokedexText[] = _(
+ "It is highly attuned to the emotions of\n"
+ "people and POKéMON. It hides if it senses\n"
+ "hostility.");
+
+const u8 gRaltsPokedexTextUnused[] = _("");
+
+const u8 gKirliaPokedexText[] = _(
+ "The cheerful spirit of its TRAINER gives\n"
+ "it energy for its psychokinetic power.\n"
+ "It spins and dances when happy.");
+
+const u8 gKirliaPokedexTextUnused[] = _("");
+
+const u8 gGardevoirPokedexText[] = _(
+ "It has the power to predict the future.\n"
+ "Its power peaks when it is protecting its\n"
+ "TRAINER.");
+
+const u8 gGardevoirPokedexTextUnused[] = _("");
+
+const u8 gSurskitPokedexText[] = _(
+ "They usually live on ponds, but after an\n"
+ "evening shower, they may appear on\n"
+ "puddles in towns.");
+
+const u8 gSurskitPokedexTextUnused[] = _("");
+
+const u8 gMasquerainPokedexText[] = _(
+ "The antennae have distinctive patterns\n"
+ "that look like eyes. When it rains, they\n"
+ "grow heavy, making flight impossible.");
+
+const u8 gMasquerainPokedexTextUnused[] = _("");
+
+const u8 gShroomishPokedexText[] = _(
+ "It prefers damp places. By day it remains\n"
+ "still in the forest shade. It releases\n"
+ "toxic powder from its head.");
+
+const u8 gShroomishPokedexTextUnused[] = _("");
+
+const u8 gBreloomPokedexText[] = _(
+ "The seeds on its tail are made of toxic\n"
+ "spores. It knocks out foes with quick,\n"
+ "virtually invisible punches.");
+
+const u8 gBreloomPokedexTextUnused[] = _("");
+
+const u8 gSlakothPokedexText[] = _(
+ "It sleeps for 20 hours every day. Making\n"
+ "drowsy those that see it is one of\n"
+ "its abilities.");
+
+const u8 gSlakothPokedexTextUnused[] = _("");
+
+const u8 gVigorothPokedexText[] = _(
+ "It is always hungry because it won't stop\n"
+ "rampaging. Even while it is eating, it\n"
+ "can't keep still.");
+
+const u8 gVigorothPokedexTextUnused[] = _("");
+
+const u8 gSlakingPokedexText[] = _(
+ "It is the world's most slothful POKéMON.\n"
+ "However, it can exert horrifying power by\n"
+ "releasing pent-up energy all at once.");
+
+const u8 gSlakingPokedexTextUnused[] = _("");
+
+const u8 gNincadaPokedexText[] = _(
+ "Because it lived almost entirely\n"
+ "underground, it is nearly blind.\n"
+ "It uses its antennae instead.");
+
+const u8 gNincadaPokedexTextUnused[] = _("");
+
+const u8 gNinjaskPokedexText[] = _(
+ "This POKéMON is so quick, it is said to\n"
+ "be able to avoid any attack. It loves to\n"
+ "feed on tree sap.");
+
+const u8 gNinjaskPokedexTextUnused[] = _("");
+
+const u8 gShedinjaPokedexText[] = _(
+ "A most peculiar POKéMON that somehow\n"
+ "appears in a POKé BALL when a NINCADA\n"
+ "evolves.");
+
+const u8 gShedinjaPokedexTextUnused[] = _("");
+
+const u8 gWhismurPokedexText[] = _(
+ "It usually murmurs, but starts crying\n"
+ "loudly if it senses danger. It stops when\n"
+ "its ear covers are shut.");
+
+const u8 gWhismurPokedexTextUnused[] = _("");
+
+const u8 gLoudredPokedexText[] = _(
+ "When it stamps its feet and bellows, it\n"
+ "generates ultrasonic waves that can blow\n"
+ "apart a house.");
+
+const u8 gLoudredPokedexTextUnused[] = _("");
+
+const u8 gExploudPokedexText[] = _(
+ "It emits a variety of sounds from the \n"
+ "holes all over its body. Its loud cries\n"
+ "can be heard from over six miles away.");
+
+const u8 gExploudPokedexTextUnused[] = _("");
+
+const u8 gMakuhitaPokedexText[] = _(
+ "It grows stronger by enduring harsh\n"
+ "training. It is a gutsy POKéMON that can\n"
+ "withstand any attack.");
+
+const u8 gMakuhitaPokedexTextUnused[] = _("");
+
+const u8 gHariyamaPokedexText[] = _(
+ "It stomps on the ground to build power.\n"
+ "It can send a 10-ton truck flying with a\n"
+ "straight-arm punch.");
+
+const u8 gHariyamaPokedexTextUnused[] = _("");
+
+const u8 gAzurillPokedexText[] = _(
+ "It battles by flinging around its tail,\n"
+ "which is bigger than its body. The\n"
+ "tail is a flotation device in water.");
+
+const u8 gAzurillPokedexTextUnused[] = _("");
+
+const u8 gNosepassPokedexText[] = _(
+ "Its magnetic nose consistently faces\n"
+ "north. Travelers check NOSEPASS to get\n"
+ "their bearings.");
+
+const u8 gNosepassPokedexTextUnused[] = _("");
+
+const u8 gSkittyPokedexText[] = _(
+ "It is said to be difficult to earn its\n"
+ "trust. However, it is extremely popular\n"
+ "for its cute looks and behavior.");
+
+const u8 gSkittyPokedexTextUnused[] = _("");
+
+const u8 gDelcattyPokedexText[] = _(
+ "The favorite of trend-conscious\n"
+ "female TRAINERS, they are used in\n"
+ "competition for their style and fur.");
+
+const u8 gDelcattyPokedexTextUnused[] = _("");
+
+const u8 gSableyePokedexText[] = _(
+ "It feeds on gemstone crystals.\n"
+ "In darkness, its eyes sparkle with the\n"
+ "glitter of jewels.");
+
+const u8 gSableyePokedexTextUnused[] = _("");
+
+const u8 gMawilePokedexText[] = _(
+ "It uses its docile-looking face to lull\n"
+ "foes into complacency, then bites with its\n"
+ "huge, relentless jaws.");
+
+const u8 gMawilePokedexTextUnused[] = _("");
+
+const u8 gAronPokedexText[] = _(
+ "It eats iron to build its steel body.\n"
+ "It is a pest that descends from mountains\n"
+ "to eat bridges and train tracks.");
+
+const u8 gAronPokedexTextUnused[] = _("");
+
+const u8 gLaironPokedexText[] = _(
+ "It habitually shows off its strength with\n"
+ "the size of sparks it creates by ramming\n"
+ "its steel body into boulders.");
+
+const u8 gLaironPokedexTextUnused[] = _("");
+
+const u8 gAggronPokedexText[] = _(
+ "It claims a large mountain as its sole\n"
+ "territory. It mercilessly thrashes those\n"
+ "that violate its space.");
+
+const u8 gAggronPokedexTextUnused[] = _("");
+
+const u8 gMedititePokedexText[] = _(
+ "It never skips its daily yoga training.\n"
+ "It heightens its inner strength through\n"
+ "meditation.");
+
+const u8 gMedititePokedexTextUnused[] = _("");
+
+const u8 gMedichamPokedexText[] = _(
+ "It elegantly avoids attacks with dance-\n"
+ "like steps, then launches a devastating\n"
+ "blow in the same motion.");
+
+const u8 gMedichamPokedexTextUnused[] = _("");
+
+const u8 gElectrikePokedexText[] = _(
+ "It stores static electricity in its fur\n"
+ "for discharging. It gives off sparks if a\n"
+ "storm approaches.");
+
+const u8 gElectrikePokedexTextUnused[] = _("");
+
+const u8 gManectricPokedexText[] = _(
+ "It rarely appears before people.\n"
+ "It is said to nest where lightning has\n"
+ "fallen.");
+
+const u8 gManectricPokedexTextUnused[] = _("");
+
+const u8 gPluslePokedexText[] = _(
+ "It cheers on partners while scattering\n"
+ "sparks from its body. It climbs telephone\n"
+ "poles to absorb electricity.");
+
+const u8 gPluslePokedexTextUnused[] = _("");
+
+const u8 gMinunPokedexText[] = _(
+ "Its dislike of water makes it take shelter\n"
+ "under the eaves of houses in rain. It uses\n"
+ "pom-poms made of sparks for cheering.");
+
+const u8 gMinunPokedexTextUnused[] = _("");
+
+const u8 gVolbeatPokedexText[] = _(
+ "It lives around clean ponds. At night,\n"
+ "its rear lights up. It converses with\n"
+ "others by flashing its light.");
+
+const u8 gVolbeatPokedexTextUnused[] = _("");
+
+const u8 gIllumisePokedexText[] = _(
+ "It guides VOLBEAT to draw signs in night\n"
+ "skies. There are scientists that study the\n"
+ "patterns it creates.");
+
+const u8 gIllumisePokedexTextUnused[] = _("");
+
+const u8 gRoseliaPokedexText[] = _(
+ "Its flowers give off a relaxing fragrance.\n"
+ "The stronger its aroma, the healthier\n"
+ "the ROSELIA is.");
+
+const u8 gRoseliaPokedexTextUnused[] = _("");
+
+const u8 gGulpinPokedexText[] = _(
+ "There is nothing its stomach can't digest.\n"
+ "While it is digesting, vile, overpowering\n"
+ "gases are expelled.");
+
+const u8 gGulpinPokedexTextUnused[] = _("");
+
+const u8 gSwalotPokedexText[] = _(
+ "It can swallow a tire whole in one gulp.\n"
+ "It secretes a horribly toxic fluid from\n"
+ "the pores on its body.");
+
+const u8 gSwalotPokedexTextUnused[] = _("");
+
+const u8 gCarvanhaPokedexText[] = _(
+ "It lives in massive rivers that course\n"
+ "through jungles. It swarms prey that\n"
+ "enter its territory.");
+
+const u8 gCarvanhaPokedexTextUnused[] = _("");
+
+const u8 gSharpedoPokedexText[] = _(
+ "The ruffian of the seas, it has fangs that\n"
+ "crunch through iron. It swims by jetting\n"
+ "water from its rear.");
+
+const u8 gSharpedoPokedexTextUnused[] = _("");
+
+const u8 gWailmerPokedexText[] = _(
+ "When it sucks in a large volume of\n"
+ "seawater, it becomes like a big, bouncy\n"
+ "ball. It eats a ton of food daily.");
+
+const u8 gWailmerPokedexTextUnused[] = _("");
+
+const u8 gWailordPokedexText[] = _(
+ "It is among the largest of all POKéMON.\n"
+ "It herds prey in a pack then swallows the\n"
+ "massed prey in one gulp.");
+
+const u8 gWailordPokedexTextUnused[] = _("");
+
+const u8 gNumelPokedexText[] = _(
+ "Magma of almost 2,200 degrees Fahrenheit\n"
+ "courses through its body. When it grows\n"
+ "cold, the magma hardens and slows it.");
+
+const u8 gNumelPokedexTextUnused[] = _("");
+
+const u8 gCameruptPokedexText[] = _(
+ "If angered, the humps on its back erupt\n"
+ "in a shower of molten lava. It lives in\n"
+ "the craters of volcanoes.");
+
+const u8 gCameruptPokedexTextUnused[] = _("");
+
+const u8 gTorkoalPokedexText[] = _(
+ "It burns coal inside its shell. If it is\n"
+ "attacked, it belches thick, black smoke\n"
+ "and flees.");
+
+const u8 gTorkoalPokedexTextUnused[] = _("");
+
+const u8 gSpoinkPokedexText[] = _(
+ "It apparently dies if it stops bouncing\n"
+ "about. It carries a pearl from CLAMPERL\n"
+ "on its head.");
+
+const u8 gSpoinkPokedexTextUnused[] = _("");
+
+const u8 gGrumpigPokedexText[] = _(
+ "It can gain control over foes by doing\n"
+ "odd dance steps. The black pearls on its\n"
+ "forehead are precious gems.");
+
+const u8 gGrumpigPokedexTextUnused[] = _("");
+
+const u8 gSpindaPokedexText[] = _(
+ "No two SPINDA are said to have identical\n"
+ "patterns. It confuses foes with its\n"
+ "stumbling motions.");
+
+const u8 gSpindaPokedexTextUnused[] = _("");
+
+const u8 gTrapinchPokedexText[] = _(
+ "It lives in arid deserts. It makes a\n"
+ "sloping pit trap in sand where it\n"
+ "patiently awaits prey.");
+
+const u8 gTrapinchPokedexTextUnused[] = _("");
+
+const u8 gVibravaPokedexText[] = _(
+ "It generates ultrasonic waves by violently\n"
+ "flapping its wings. After making its prey\n"
+ "faint, it melts the prey with acid.");
+
+const u8 gVibravaPokedexTextUnused[] = _("");
+
+const u8 gFlygonPokedexText[] = _(
+ "It hides itself by kicking up desert sand\n"
+ "with its wings. Red covers shield its eyes\n"
+ "from sand.");
+
+const u8 gFlygonPokedexTextUnused[] = _("");
+
+const u8 gCacneaPokedexText[] = _(
+ "It prefers harsh environments such as\n"
+ "deserts. It can survive for 30 days on\n"
+ "water stored in its body.");
+
+const u8 gCacneaPokedexTextUnused[] = _("");
+
+const u8 gCacturnePokedexText[] = _(
+ "It lives in deserts. It becomes active at\n"
+ "night when it hunts for prey exhausted\n"
+ "from the desert's heat.");
+
+const u8 gCacturnePokedexTextUnused[] = _("");
+
+const u8 gSwabluPokedexText[] = _(
+ "It constantly grooms its cotton-like\n"
+ "wings. It takes a shower to clean\n"
+ "itself if it becomes dirty.");
+
+const u8 gSwabluPokedexTextUnused[] = _("");
+
+const u8 gAltariaPokedexText[] = _(
+ "If you hear a beautiful melody trilling\n"
+ "deep among mountains far from people,\n"
+ "it is ALTARIA's humming.");
+
+const u8 gAltariaPokedexTextUnused[] = _("");
+
+const u8 gZangoosePokedexText[] = _(
+ "If it comes across a SEVIPER, its fur\n"
+ "bristles and it assumes its battle pose.\n"
+ "Its sharp claws are its best weapon.");
+
+const u8 gZangoosePokedexTextUnused[] = _("");
+
+const u8 gSeviperPokedexText[] = _(
+ "It sharpens its swordlike tail on hard\n"
+ "rocks. It hides in tall grass and strikes\n"
+ "unwary prey with venomous fangs.");
+
+const u8 gSeviperPokedexTextUnused[] = _("");
+
+const u8 gLunatonePokedexText[] = _(
+ "Its health ebbs and flows with the lunar\n"
+ "cycle. It brims with power when exposed\n"
+ "to the light of the full moon.");
+
+const u8 gLunatonePokedexTextUnused[] = _("");
+
+const u8 gSolrockPokedexText[] = _(
+ "It absorbs solar energy during the day.\n"
+ "Always expressionless, it can sense what\n"
+ "its foe is thinking.");
+
+const u8 gSolrockPokedexTextUnused[] = _("");
+
+const u8 gBarboachPokedexText[] = _(
+ "It probes muddy riverbeds with its two\n"
+ "long whiskers. A slimy film protects its\n"
+ "body.");
+
+const u8 gBarboachPokedexTextUnused[] = _("");
+
+const u8 gWhiscashPokedexText[] = _(
+ "It makes its nest at the bottom of \n"
+ "swamps. It will eat anything - if it is\n"
+ "alive, WHISCASH will eat it.");
+
+const u8 gWhiscashPokedexTextUnused[] = _("");
+
+const u8 gCorphishPokedexText[] = _(
+ "It came from overseas. It is a very hardy\n"
+ "creature that will quickly proliferate,\n"
+ "even in polluted streams.");
+
+const u8 gCorphishPokedexTextUnused[] = _("");
+
+const u8 gCrawdauntPokedexText[] = _(
+ "A rough customer that wildly flails its\n"
+ "giant claws. It is said to be extremely\n"
+ "hard to raise.");
+
+const u8 gCrawdauntPokedexTextUnused[] = _("");
+
+const u8 gBaltoyPokedexText[] = _(
+ "It was discovered in ancient ruins.\n"
+ "While moving, it constantly spins. It\n"
+ "stands on one foot even when asleep.");
+
+const u8 gBaltoyPokedexTextUnused[] = _("");
+
+const u8 gClaydolPokedexText[] = _(
+ "It appears to have been born from clay\n"
+ "dolls made by ancient people. It uses\n"
+ "telekinesis to float and move.");
+
+const u8 gClaydolPokedexTextUnused[] = _("");
+
+const u8 gLileepPokedexText[] = _(
+ "It became extinct roughly 100 million\n"
+ "years ago. It was regenerated from a\n"
+ "fossil using advanced techniques.");
+
+const u8 gLileepPokedexTextUnused[] = _("");
+
+const u8 gCradilyPokedexText[] = _(
+ "It ensnares prey with its eight tentacles.\n"
+ "It then melts the prey with a strong acid\n"
+ "before feeding.");
+
+const u8 gCradilyPokedexTextUnused[] = _("");
+
+const u8 gAnorithPokedexText[] = _(
+ "It is a kind of POKéMON progenitor.\n"
+ "It uses its extending claws to catch prey\n"
+ "hiding among rocks on the seafloor.");
+
+const u8 gAnorithPokedexTextUnused[] = _("");
+
+const u8 gArmaldoPokedexText[] = _(
+ "Protected by a hard shell, its body is\n"
+ "very sturdy. It skewers prey with its\n"
+ "claws to feed.");
+
+const u8 gArmaldoPokedexTextUnused[] = _("");
+
+const u8 gFeebasPokedexText[] = _(
+ "Ridiculed for its shabby appearance,\n"
+ "it is ignored by researchers. It lives in\n"
+ "ponds choked with weeds.");
+
+const u8 gFeebasPokedexTextUnused[] = _("");
+
+const u8 gMiloticPokedexText[] = _(
+ "MILOTIC is breathtakingly beautiful.\n"
+ "Those that see it are said to forget their\n"
+ "combative spirits.");
+
+const u8 gMiloticPokedexTextUnused[] = _("");
+
+const u8 gCastformPokedexText[] = _(
+ "It has the ability to change its form into\n"
+ "the sun, the rain, or a snow cloud, \n"
+ "depending on the weather.");
+
+const u8 gCastformPokedexTextUnused[] = _("");
+
+const u8 gKecleonPokedexText[] = _(
+ "It changes body color to blend in with\n"
+ "its surroundings. It also changes color if\n"
+ "it is happy or sad.");
+
+const u8 gKecleonPokedexTextUnused[] = _("");
+
+const u8 gShuppetPokedexText[] = _(
+ "It loves to feed on feelings like envy and\n"
+ "malice. Its upright horn catches the\n"
+ "emotions of people.");
+
+const u8 gShuppetPokedexTextUnused[] = _("");
+
+const u8 gBanettePokedexText[] = _(
+ "Strong feelings of hatred turned a puppet\n"
+ "into a POKéMON. If it opens its mouth,\n"
+ "its cursed energy escapes.");
+
+const u8 gBanettePokedexTextUnused[] = _("");
+
+const u8 gDuskullPokedexText[] = _(
+ "Making itself invisible, it silently sneaks\n"
+ "up to prey. It has the ability to slip\n"
+ "through thick walls.");
+
+const u8 gDuskullPokedexTextUnused[] = _("");
+
+const u8 gDusclopsPokedexText[] = _(
+ "Its body is entirely hollow. When it opens\n"
+ "its mouth, it sucks everything in as if it\n"
+ "were a black hole.");
+
+const u8 gDusclopsPokedexTextUnused[] = _("");
+
+const u8 gTropiusPokedexText[] = _(
+ "It lives in tropical jungles. The bunch of\n"
+ "fruit around its neck is delicious.\n"
+ "The fruit grows twice a year.");
+
+const u8 gTropiusPokedexTextUnused[] = _("");
+
+const u8 gChimechoPokedexText[] = _(
+ "It travels by riding on winds. It cleverly\n"
+ "uses its long tail to pluck nuts and\n"
+ "berries, which it loves to eat.");
+
+const u8 gChimechoPokedexTextUnused[] = _("");
+
+const u8 gAbsolPokedexText[] = _(
+ "It appears when it senses an impending\n"
+ "natural disaster. As a result, it was\n"
+ "mistaken as a doom-bringer.");
+
+const u8 gAbsolPokedexTextUnused[] = _("");
+
+const u8 gWynautPokedexText[] = _(
+ "It tends to move in a pack with others.\n"
+ "They cluster in a tight group to sleep in\n"
+ "a cave.");
+
+const u8 gWynautPokedexTextUnused[] = _("");
+
+const u8 gSnoruntPokedexText[] = _(
+ "It is said that a home visited by a\n"
+ "SNORUNT will prosper. It can withstand\n"
+ "cold of minus 150 degrees Fahrenheit.");
+
+const u8 gSnoruntPokedexTextUnused[] = _("");
+
+const u8 gGlaliePokedexText[] = _(
+ "It has a body of ice that won't melt,\n"
+ "even with fire. It can instantly freeze\n"
+ "moisture in the atmosphere.");
+
+const u8 gGlaliePokedexTextUnused[] = _("");
+
+const u8 gSphealPokedexText[] = _(
+ "Its body is covered in fluffy fur. The\n"
+ "fur keeps it from feeling cold while\n"
+ "it is rolling on ice.");
+
+const u8 gSphealPokedexTextUnused[] = _("");
+
+const u8 gSealeoPokedexText[] = _(
+ "It touches new things with its nose to\n"
+ "test for smell and feel. It plays by\n"
+ "spinning SPHEAL on its nose.");
+
+const u8 gSealeoPokedexTextUnused[] = _("");
+
+const u8 gWalreinPokedexText[] = _(
+ "It swims through icy seas while shattering\n"
+ "ice floes with its large tusks. It is\n"
+ "protected by its thick blubber.");
+
+const u8 gWalreinPokedexTextUnused[] = _("");
+
+const u8 gClamperlPokedexText[] = _(
+ "It is protected by a sturdy shell.\n"
+ "Once in a lifetime, it makes a magnificent\n"
+ "pearl.");
+
+const u8 gClamperlPokedexTextUnused[] = _("");
+
+const u8 gHuntailPokedexText[] = _(
+ "It lives deep in the sea where no light\n"
+ "ever filters down. It lights up its small\n"
+ "fishlike tail to attract prey.");
+
+const u8 gHuntailPokedexTextUnused[] = _("");
+
+const u8 gGorebyssPokedexText[] = _(
+ "Its swimming form is exquisitely elegant.\n"
+ "With its thin mouth, it feeds on seaweed\n"
+ "that grows between rocks.");
+
+const u8 gGorebyssPokedexTextUnused[] = _("");
+
+const u8 gRelicanthPokedexText[] = _(
+ "It has remained unchanged for 100\n"
+ "million years. It was discovered\n"
+ "during a deep-sea exploration.");
+
+const u8 gRelicanthPokedexTextUnused[] = _("");
+
+const u8 gLuvdiscPokedexText[] = _(
+ "During the spawning season, countless\n"
+ "LUVDISC congregate at coral reefs,\n"
+ "turning the waters pink.");
+
+const u8 gLuvdiscPokedexTextUnused[] = _("");
+
+const u8 gBagonPokedexText[] = _(
+ "Its steel-hard head can shatter boulders.\n"
+ "It longingly hopes for wings to grow so it\n"
+ "can fly.");
+
+const u8 gBagonPokedexTextUnused[] = _("");
+
+const u8 gShelgonPokedexText[] = _(
+ "Its armored body makes all attacks bounce\n"
+ "off. The armor is too tough, however,\n"
+ "making it heavy and somewhat sluggish.");
+
+const u8 gShelgonPokedexTextUnused[] = _("");
+
+const u8 gSalamencePokedexText[] = _(
+ "It becomes uncontrollable if it is\n"
+ "enraged. It destroys everything with\n"
+ "shredding claws and fire.");
+
+const u8 gSalamencePokedexTextUnused[] = _("");
+
+const u8 gBeldumPokedexText[] = _(
+ "It uses magnetic waves to converse with\n"
+ "its kind. All the cells in its body are\n"
+ "magnetic.");
+
+const u8 gBeldumPokedexTextUnused[] = _("");
+
+const u8 gMetangPokedexText[] = _(
+ "It floats midair using magnetism. Its body\n"
+ "is so tough, even a crash with a jet\n"
+ "plane won't leave a scratch.");
+
+const u8 gMetangPokedexTextUnused[] = _("");
+
+const u8 gMetagrossPokedexText[] = _(
+ "It is formed by two METANG fusing.\n"
+ "Its four brains are said to be superior\n"
+ "to a supercomputer.");
+
+const u8 gMetagrossPokedexTextUnused[] = _("");
+
+const u8 gRegirockPokedexText[] = _(
+ "It is entirely composed of rocks with no\n"
+ "sign of a brain or heart. It is a mystery\n"
+ "even to modern scientists.");
+
+const u8 gRegirockPokedexTextUnused[] = _("");
+
+const u8 gRegicePokedexText[] = _(
+ "Research revealed that its body is made\n"
+ "of the same kind of ice that is found at\n"
+ "the South Pole.");
+
+const u8 gRegicePokedexTextUnused[] = _("");
+
+const u8 gRegisteelPokedexText[] = _(
+ "It is sturdier than any kind of metal.\n"
+ "It hardened due to pressure underground\n"
+ "over tens of thousands of years.");
+
+const u8 gRegisteelPokedexTextUnused[] = _("");
+
+const u8 gLatiasPokedexText[] = _(
+ "It can telepathically communicate with\n"
+ "people. It changes its appearance using\n"
+ "its down that refracts light.");
+
+const u8 gLatiasPokedexTextUnused[] = _("");
+
+const u8 gLatiosPokedexText[] = _(
+ "It has a docile temperament and dislikes\n"
+ "fighting. Tucking in its forelegs, it can\n"
+ "fly faster than a jet plane.");
+
+const u8 gLatiosPokedexTextUnused[] = _("");
+
+const u8 gKyogrePokedexText[] = _(
+ "This POKéMON is said to have\n"
+ "expanded the sea by bringing heavy rains.\n"
+ "It has the power to control water.");
+
+const u8 gKyogrePokedexTextUnused[] = _("");
+
+const u8 gGroudonPokedexText[] = _(
+ "This legendary POKéMON is said to\n"
+ "represent the land. It went to sleep after\n"
+ "dueling KYOGRE.");
+
+const u8 gGroudonPokedexTextUnused[] = _("");
+
+const u8 gRayquazaPokedexText[] = _(
+ "It has lived for hundreds of millions of\n"
+ "years in the ozone layer. Its flying form\n"
+ "looks like a meteor.");
+
+const u8 gRayquazaPokedexTextUnused[] = _("");
+
+const u8 gJirachiPokedexText[] = _(
+ "It is said to make any wish come true.\n"
+ "It is awake for only seven days out of\n"
+ "a thousand years.");
+
+const u8 gJirachiPokedexTextUnused[] = _("");
+
+const u8 gDeoxysPokedexText[] = _(
+ "This DEOXYS has transformed into its\n"
+ "aggressive guise. It can fool enemies by\n"
+ "altering its appearance.");
+
+const u8 gDeoxysPokedexTextUnused[] = _("");
diff --git a/src/data/pokemon/pokedex_text_lg.h b/src/data/pokemon/pokedex_text_lg.h
new file mode 100644
index 000000000..b9e2055c2
--- /dev/null
+++ b/src/data/pokemon/pokedex_text_lg.h
@@ -0,0 +1,2711 @@
+const u8 gDummyPokedexText[] = _(
+ "This is a newly discovered POKéMON. It is\n"
+ "currently under investigation. No detailed\n"
+ "information is available at this time.");
+
+const u8 gDummyPokedexTextUnused[] = _("");
+
+const u8 gBulbasaurPokedexText[] = _(
+ "A strange seed was planted on its back at\n"
+ "birth. The plant sprouts and grows with\n"
+ "this POKéMON.");
+
+const u8 gBulbasaurPokedexTextUnused[] = _("");
+
+const u8 gIvysaurPokedexText[] = _(
+ "When the bulb on its back grows large, it\n"
+ "appears to lose the ability to stand on\n"
+ "its hind legs.");
+
+const u8 gIvysaurPokedexTextUnused[] = _("");
+
+const u8 gVenusaurPokedexText[] = _(
+ "Its plant blooms when it is absorbing\n"
+ "solar energy. It stays on the move to\n"
+ "seek sunlight.");
+
+const u8 gVenusaurPokedexTextUnused[] = _(
+ " ");
+
+const u8 gCharmanderPokedexText[] = _(
+ "It has a preference for hot things.\n"
+ "When it rains, steam is said to spout from\n"
+ "the tip of its tail.");
+
+const u8 gCharmanderPokedexTextUnused[] = _("");
+
+const u8 gCharmeleonPokedexText[] = _(
+ "When it swings its burning tail, it\n"
+ "elevates the air temperature to \n"
+ "unbearably high levels.");
+
+const u8 gCharmeleonPokedexTextUnused[] = _("");
+
+const u8 gCharizardPokedexText[] = _(
+ "It spits fire that is hot enough to melt\n"
+ "boulders. It may cause forest fires by\n"
+ "blowing flames.");
+
+const u8 gCharizardPokedexTextUnused[] = _("");
+
+const u8 gSquirtlePokedexText[] = _(
+ "After birth, its back swells and hardens\n"
+ "into a shell. It powerfully sprays foam \n"
+ "from its mouth.");
+
+const u8 gSquirtlePokedexTextUnused[] = _("");
+
+const u8 gWartortlePokedexText[] = _(
+ "It often hides in water to stalk unwary\n"
+ "prey. For fast swimming, it moves its\n"
+ "ears to maintain balance.");
+
+const u8 gWartortlePokedexTextUnused[] = _("");
+
+const u8 gBlastoisePokedexText[] = _(
+ "The pressurized water jets on this brutal\n"
+ "POKéMON's shell are used for high-\n"
+ "speed tackles.");
+
+const u8 gBlastoisePokedexTextUnused[] = _("");
+
+const u8 gCaterpiePokedexText[] = _(
+ "Its short feet are tipped with suction\n"
+ "pads that enable it to tirelessly climb\n"
+ "slopes and walls.");
+
+const u8 gCaterpiePokedexTextUnused[] = _("");
+
+const u8 gMetapodPokedexText[] = _(
+ "This POKéMON is vulnerable to attack\n"
+ "while its shell is soft, exposing its weak\n"
+ "and tender body.");
+
+const u8 gMetapodPokedexTextUnused[] = _(
+ " ");
+
+const u8 gButterfreePokedexText[] = _(
+ "In battle, it flaps its wings at great\n"
+ "speed to release highly toxic dust into\n"
+ "the air.");
+
+const u8 gButterfreePokedexTextUnused[] = _(
+ " ");
+
+const u8 gWeedlePokedexText[] = _(
+ "Often found in forests, eating leaves.\n"
+ "It has a sharp stinger on its head that\n"
+ "injects poison.");
+
+const u8 gWeedlePokedexTextUnused[] = _("");
+
+const u8 gKakunaPokedexText[] = _(
+ "Almost incapable of moving, this POKéMON\n"
+ "can only harden its shell to protect\n"
+ "itself when it is in danger.");
+
+const u8 gKakunaPokedexTextUnused[] = _("");
+
+const u8 gBeedrillPokedexText[] = _(
+ "It flies at high speed and attacks using \n"
+ "the large venomous stingers on its\n"
+ "forelegs and tail.");
+
+const u8 gBeedrillPokedexTextUnused[] = _("");
+
+const u8 gPidgeyPokedexText[] = _(
+ "A common sight in forests and woods.\n"
+ "It flaps its wings at ground level to kick\n"
+ "up blinding sand.");
+
+const u8 gPidgeyPokedexTextUnused[] = _("");
+
+const u8 gPidgeottoPokedexText[] = _(
+ "Very protective of its sprawling\n"
+ "territorial area, this POKéMON will\n"
+ "fiercely peck at any intruder.");
+
+const u8 gPidgeottoPokedexTextUnused[] = _("");
+
+const u8 gPidgeotPokedexText[] = _(
+ "When hunting, it skims the surface of\n"
+ "water at high speed to pick off unwary\n"
+ "prey such as MAGIKARP.");
+
+const u8 gPidgeotPokedexTextUnused[] = _("");
+
+const u8 gRattataPokedexText[] = _(
+ "Bites anything when it attacks. Small and\n"
+ "very quick, it is a common sight in many\n"
+ "places.");
+
+const u8 gRattataPokedexTextUnused[] = _("");
+
+const u8 gRaticatePokedexText[] = _(
+ "It uses its whiskers to maintain its\n"
+ "balance. It apparently slows down if\n"
+ "they are cut off.");
+
+const u8 gRaticatePokedexTextUnused[] = _("");
+
+const u8 gSpearowPokedexText[] = _(
+ "Eats bugs in grassy areas. It has to flap\n"
+ "its short wings at high speed to stay\n"
+ "airborne.");
+
+const u8 gSpearowPokedexTextUnused[] = _("");
+
+const u8 gFearowPokedexText[] = _(
+ "With its huge and magnificent wings, it can\n"
+ "keep aloft without ever having to land\n"
+ "for rest.");
+
+const u8 gFearowPokedexTextUnused[] = _("");
+
+const u8 gEkansPokedexText[] = _(
+ "Moving silently and stealthily, it eats\n"
+ "the eggs of birds, such as PIDGEY\n"
+ "and SPEAROW, whole.");
+
+const u8 gEkansPokedexTextUnused[] = _("");
+
+const u8 gArbokPokedexText[] = _(
+ "It is rumored that the ferocious warning\n"
+ "markings on its belly differ from area to\n"
+ "area.");
+
+const u8 gArbokPokedexTextUnused[] = _("");
+
+const u8 gPikachuPokedexText[] = _(
+ "When several of these POKéMON gather,\n"
+ "their electricity can build and cause\n"
+ "lightning storms.");
+
+const u8 gPikachuPokedexTextUnused[] = _("");
+
+const u8 gRaichuPokedexText[] = _(
+ "Its long tail serves as a ground to\n"
+ "protect itself from its own high-voltage\n"
+ "power.");
+
+const u8 gRaichuPokedexTextUnused[] = _("");
+
+const u8 gSandshrewPokedexText[] = _(
+ "Burrows deep underground in arid locations\n"
+ "far from water. It only emerges to hunt\n"
+ "for prey.");
+
+const u8 gSandshrewPokedexTextUnused[] = _("");
+
+const u8 gSandslashPokedexText[] = _(
+ "Curls up into a spiny ball when\n"
+ "threatened. It can roll while curled up\n"
+ "to attack or escape.");
+
+const u8 gSandslashPokedexTextUnused[] = _("");
+
+const u8 gNidoranFPokedexText[] = _(
+ "Although small, its venomous barbs render\n"
+ "this POKéMON dangerous. The female has\n"
+ "smaller horns.");
+
+const u8 gNidoranFPokedexTextUnused[] = _("");
+
+const u8 gNidorinaPokedexText[] = _(
+ "The female's horns develop slowly.\n"
+ "Prefers physical attacks such as clawing\n"
+ "and biting.");
+
+const u8 gNidorinaPokedexTextUnused[] = _("");
+
+const u8 gNidoqueenPokedexText[] = _(
+ "Its hard scales provide strong protection.\n"
+ "It uses its hefty bulk to execute\n"
+ "powerful moves.");
+
+const u8 gNidoqueenPokedexTextUnused[] = _("");
+
+const u8 gNidoranMPokedexText[] = _(
+ "It stiffens its ears to sense danger.\n"
+ "The larger its horns, the more \n"
+ "powerful its secreted venom.");
+
+const u8 gNidoranMPokedexTextUnused[] = _("");
+
+const u8 gNidorinoPokedexText[] = _(
+ "An aggressive POKéMON that is quick to\n"
+ "attack. The horn on its head secretes a\n"
+ "powerful venom.");
+
+const u8 gNidorinoPokedexTextUnused[] = _("");
+
+const u8 gNidokingPokedexText[] = _(
+ "It uses its powerful tail in battle to\n"
+ "smash, constrict, then break the prey's\n"
+ "bones.");
+
+const u8 gNidokingPokedexTextUnused[] = _("");
+
+const u8 gClefairyPokedexText[] = _(
+ "With its magical and cute appeal, it has \n"
+ "many admirers. It is rare and found only\n"
+ "in certain areas.");
+
+const u8 gClefairyPokedexTextUnused[] = _("");
+
+const u8 gClefablePokedexText[] = _(
+ "A timid fairy POKéMON that is rarely seen,\n"
+ "it will run and hide the moment it senses\n"
+ "people.");
+
+const u8 gClefablePokedexTextUnused[] = _("");
+
+const u8 gVulpixPokedexText[] = _(
+ "When it is born, it has just one snow-\n"
+ "white tail. The tail splits from its tip as\n"
+ "it grows older.");
+
+const u8 gVulpixPokedexTextUnused[] = _("");
+
+const u8 gNinetalesPokedexText[] = _(
+ "Very smart and very vengeful. Grabbing\n"
+ "one of its many tails could result in a\n"
+ "1,000-year curse.");
+
+const u8 gNinetalesPokedexTextUnused[] = _("");
+
+const u8 gJigglypuffPokedexText[] = _(
+ "When its huge eyes waver, it sings a\n"
+ "mysteriously soothing melody that lulls\n"
+ "its enemies to sleep.");
+
+const u8 gJigglypuffPokedexTextUnused[] = _("");
+
+const u8 gWigglytuffPokedexText[] = _(
+ "The body is soft and rubbery. When\n"
+ "angered, it will suck in air and inflate\n"
+ "itself to an enormous size.");
+
+const u8 gWigglytuffPokedexTextUnused[] = _("");
+
+const u8 gZubatPokedexText[] = _(
+ "It forms colonies in perpetually dark \n"
+ "places and uses ultrasonic waves to \n"
+ "identify and approach targets.");
+
+const u8 gZubatPokedexTextUnused[] = _("");
+
+const u8 gGolbatPokedexText[] = _(
+ "Once it bites, it will not stop draining\n"
+ "energy from the victim even if it gets too\n"
+ "heavy to fly.");
+
+const u8 gGolbatPokedexTextUnused[] = _("");
+
+const u8 gOddishPokedexText[] = _(
+ "During the day, it keeps its face buried\n"
+ "in the ground. At night, it wanders around\n"
+ "sowing its seeds.");
+
+const u8 gOddishPokedexTextUnused[] = _("");
+
+const u8 gGloomPokedexText[] = _(
+ "The fluid that oozes from its mouth isn't\n"
+ "drool. It is a nectar that is used to\n"
+ "attract prey.");
+
+const u8 gGloomPokedexTextUnused[] = _("");
+
+const u8 gVileplumePokedexText[] = _(
+ "The larger its petals, the more toxic\n"
+ "pollen it contains. Its big head is heavy\n"
+ "and hard to hold up.");
+
+const u8 gVileplumePokedexTextUnused[] = _("");
+
+const u8 gParasPokedexText[] = _(
+ "Burrows to suck tree roots. The mushrooms\n"
+ "on its back grow by drawing nutrients from\n"
+ "the bug host.");
+
+const u8 gParasPokedexTextUnused[] = _("");
+
+const u8 gParasectPokedexText[] = _(
+ "A host-parasite pair in which the parasite\n"
+ "mushroom has taken over the host bug.\n"
+ "Prefers damp places. ");
+
+const u8 gParasectPokedexTextUnused[] = _("");
+
+const u8 gVenonatPokedexText[] = _(
+ "Lives in the shadows of tall trees where\n"
+ "it eats bugs. It is attracted by light\n"
+ "at night.");
+
+const u8 gVenonatPokedexTextUnused[] = _("");
+
+const u8 gVenomothPokedexText[] = _(
+ "The dustlike scales covering its wings\n"
+ "are color-coded to indicate the kinds of\n"
+ "poison it has.");
+
+const u8 gVenomothPokedexTextUnused[] = _("");
+
+const u8 gDiglettPokedexText[] = _(
+ "Lives about one yard underground where it\n"
+ "feeds on plant roots. It sometimes appears\n"
+ "aboveground.");
+
+const u8 gDiglettPokedexTextUnused[] = _("");
+
+const u8 gDugtrioPokedexText[] = _(
+ "A team of DIGLETT triplets. It triggers\n"
+ "huge earthquakes by burrowing 60 miles\n"
+ "underground.");
+
+const u8 gDugtrioPokedexTextUnused[] = _("");
+
+const u8 gMeowthPokedexText[] = _(
+ "Adores round objects. It wanders the\n"
+ "streets on a nightly basis to look for\n"
+ "dropped loose change.");
+
+const u8 gMeowthPokedexTextUnused[] = _("");
+
+const u8 gPersianPokedexText[] = _(
+ "Although its fur has many admirers, it is\n"
+ "tough to raise as a pet because of its\n"
+ "fickle meanness.");
+
+const u8 gPersianPokedexTextUnused[] = _("");
+
+const u8 gPsyduckPokedexText[] = _(
+ "While lulling its enemies with its vacant\n"
+ "look, this wily POKéMON will use\n"
+ "psychokinetic powers.");
+
+const u8 gPsyduckPokedexTextUnused[] = _("");
+
+const u8 gGolduckPokedexText[] = _(
+ "Often seen swimming elegantly by\n"
+ "lakeshores. It is often mistaken for the\n"
+ "Japanese monster Kappa.");
+
+const u8 gGolduckPokedexTextUnused[] = _("");
+
+const u8 gMankeyPokedexText[] = _(
+ "Extremely quick to anger. It could be\n"
+ "docile one moment, then thrashing away \n"
+ "the next instant.");
+
+const u8 gMankeyPokedexTextUnused[] = _("");
+
+const u8 gPrimeapePokedexText[] = _(
+ "Always furious and tenacious to boot.\n"
+ "It will not abandon chasing its quarry\n"
+ "until it catches up.");
+
+const u8 gPrimeapePokedexTextUnused[] = _("");
+
+const u8 gGrowlithePokedexText[] = _(
+ "It is very protective of its territory.\n"
+ "It will bark and bite to repel intruders\n"
+ "from its space.");
+
+const u8 gGrowlithePokedexTextUnused[] = _("");
+
+const u8 gArcaninePokedexText[] = _(
+ "A POKéMON that has long been admired\n"
+ "for its beauty. It runs agilely as if\n"
+ "on wings.");
+
+const u8 gArcaninePokedexTextUnused[] = _("");
+
+const u8 gPoliwagPokedexText[] = _(
+ "Its newly grown legs prevent it from\n"
+ "walking well. It appears to prefer\n"
+ "swimming over walking.");
+
+const u8 gPoliwagPokedexTextUnused[] = _("");
+
+const u8 gPoliwhirlPokedexText[] = _(
+ "It can live in or out of water. When out\n"
+ "of water, it constantly sweats to keep its\n"
+ "body slimy.");
+
+const u8 gPoliwhirlPokedexTextUnused[] = _("");
+
+const u8 gPoliwrathPokedexText[] = _(
+ "A swimmer adept at both the front crawl\n"
+ "and breaststroke. Easily overtakes the\n"
+ "best human swimmers.");
+
+const u8 gPoliwrathPokedexTextUnused[] = _("");
+
+const u8 gAbraPokedexText[] = _(
+ "Using its ability to read minds, it will\n"
+ "sense impending danger and TELEPORT to\n"
+ "safety.");
+
+const u8 gAbraPokedexTextUnused[] = _("");
+
+const u8 gKadabraPokedexText[] = _(
+ "It emits special alpha waves from its\n"
+ "body that induce headaches just by being\n"
+ "close.");
+
+const u8 gKadabraPokedexTextUnused[] = _("");
+
+const u8 gAlakazamPokedexText[] = _(
+ "Its brain can outperform a supercomputer.\n"
+ "Its IQ (intelligence quotient) is said to\n"
+ "be around 5,000.");
+
+const u8 gAlakazamPokedexTextUnused[] = _("");
+
+const u8 gMachopPokedexText[] = _(
+ "Loves to build its muscles. It trains in\n"
+ "all styles of martial arts to become even\n"
+ "stronger.");
+
+const u8 gMachopPokedexTextUnused[] = _("");
+
+const u8 gMachokePokedexText[] = _(
+ "Its muscular body is so powerful, it must\n"
+ "wear a power-save belt to be able to\n"
+ "regulate its motions.");
+
+const u8 gMachokePokedexTextUnused[] = _("");
+
+const u8 gMachampPokedexText[] = _(
+ "Its superpowerful punches are said to\n"
+ "knock the victim flying clear over the\n"
+ "horizon.");
+
+const u8 gMachampPokedexTextUnused[] = _("");
+
+const u8 gBellsproutPokedexText[] = _(
+ "A carnivorous POKéMON that traps and eats\n"
+ "bugs. It appears to use its root feet to\n"
+ "replenish moisture.");
+
+const u8 gBellsproutPokedexTextUnused[] = _("");
+
+const u8 gWeepinbellPokedexText[] = _(
+ "It spits out POISONPOWDER to immobilize\n"
+ "the enemy and then finishes it with a\n"
+ "spray of ACID.");
+
+const u8 gWeepinbellPokedexTextUnused[] = _("");
+
+const u8 gVictreebelPokedexText[] = _(
+ "Said to live in huge colonies deep in\n"
+ "jungles, although no one has ever\n"
+ "returned from there.");
+
+const u8 gVictreebelPokedexTextUnused[] = _("");
+
+const u8 gTentacoolPokedexText[] = _(
+ "Drifts in shallow seas. Anglers who hook\n"
+ "them by accident are often punished by\n"
+ "their stingers.");
+
+const u8 gTentacoolPokedexTextUnused[] = _("");
+
+const u8 gTentacruelPokedexText[] = _(
+ "The tentacles are normally kept short.\n"
+ "On hunts, they are extended to ensnare\n"
+ "and immobilize prey.");
+
+const u8 gTentacruelPokedexTextUnused[] = _("");
+
+const u8 gGeodudePokedexText[] = _(
+ "Found in fields and mountains. Mistaking\n"
+ "them for boulders, people often step or\n"
+ "trip on them.");
+
+const u8 gGeodudePokedexTextUnused[] = _("");
+
+const u8 gGravelerPokedexText[] = _(
+ "Rolls down slopes to move. It rolls over\n"
+ "any obstacle without slowing or changing\n"
+ "its direction.");
+
+const u8 gGravelerPokedexTextUnused[] = _("");
+
+const u8 gGolemPokedexText[] = _(
+ "Its boulder-like body is extremely hard.\n"
+ "It can easily withstand dynamite blasts\n"
+ "without taking damage.");
+
+const u8 gGolemPokedexTextUnused[] = _("");
+
+const u8 gPonytaPokedexText[] = _(
+ "Its hooves are ten times harder than\n"
+ "diamond. It can trample anything\n"
+ "completely flat in little time.");
+
+const u8 gPonytaPokedexTextUnused[] = _("");
+
+const u8 gRapidashPokedexText[] = _(
+ "Very competitive, this POKéMON will chase\n"
+ "anything that moves fast in the hopes of\n"
+ "racing it.");
+
+const u8 gRapidashPokedexTextUnused[] = _("");
+
+const u8 gSlowpokePokedexText[] = _(
+ "Incredibly slow and dopey. It takes five\n"
+ "seconds for it to feel pain when under\n"
+ "attack.");
+
+const u8 gSlowpokePokedexTextUnused[] = _("");
+
+const u8 gSlowbroPokedexText[] = _(
+ "The SHELLDER that latches onto\n"
+ "SLOWPOKE's tail is said to feed on the\n"
+ "host's leftover scraps.");
+
+const u8 gSlowbroPokedexTextUnused[] = _("");
+
+const u8 gMagnemitePokedexText[] = _(
+ "Uses antigravity to stay suspended.\n"
+ "Appears without warning and uses THUNDER\n"
+ "WAVE and similar moves.");
+
+const u8 gMagnemitePokedexTextUnused[] = _("");
+
+const u8 gMagnetonPokedexText[] = _(
+ "Formed by several MAGNEMITE linked\n"
+ "together. They frequently appear when\n"
+ "sunspots flare up.");
+
+const u8 gMagnetonPokedexTextUnused[] = _("");
+
+const u8 gFarfetchdPokedexText[] = _(
+ "The plant stalk it holds is its weapon.\n"
+ "The stalk is used like a sword to cut all\n"
+ "sorts of things.");
+
+const u8 gFarfetchdPokedexTextUnused[] = _("");
+
+const u8 gDoduoPokedexText[] = _(
+ "A bird that makes up for its poor flying\n"
+ "with its fast foot speed. Leaves giant\n"
+ "footprints.");
+
+const u8 gDoduoPokedexTextUnused[] = _("");
+
+const u8 gDodrioPokedexText[] = _(
+ "Uses its three brains to execute complex\n"
+ "plans. While two heads sleep, one head is\n"
+ "said to stay awake.");
+
+const u8 gDodrioPokedexTextUnused[] = _("");
+
+const u8 gSeelPokedexText[] = _(
+ "The protruding horn on its head is very\n"
+ "hard. It is used for bashing through thick\n"
+ "icebergs.");
+
+const u8 gSeelPokedexTextUnused[] = _("");
+
+const u8 gDewgongPokedexText[] = _(
+ "It stores thermal energy in the body.\n"
+ "It swims at a steady eight knots even in\n"
+ "intensely cold waters.");
+
+const u8 gDewgongPokedexTextUnused[] = _("");
+
+const u8 gGrimerPokedexText[] = _(
+ "Appears in filthy areas. It thrives by\n"
+ "sucking up polluted sludge that is pumped\n"
+ "out of factories.");
+
+const u8 gGrimerPokedexTextUnused[] = _("");
+
+const u8 gMukPokedexText[] = _(
+ "Thickly covered with a filthy, vile\n"
+ "sludge. It is so toxic, even its footprints\n"
+ "contain poison.");
+
+const u8 gMukPokedexTextUnused[] = _("");
+
+const u8 gShellderPokedexText[] = _(
+ "Its hard shell repels any kind of attack.\n"
+ "It is vulnerable only when its shell is\n"
+ "open.");
+
+const u8 gShellderPokedexTextUnused[] = _("");
+
+const u8 gCloysterPokedexText[] = _(
+ "When attacked, it launches its horns in\n"
+ "quick volleys. Its innards have never been\n"
+ "seen.");
+
+const u8 gCloysterPokedexTextUnused[] = _("");
+
+const u8 gGastlyPokedexText[] = _(
+ "Almost invisible, this gaseous POKéMON\n"
+ "cloaks the target and puts it to sleep\n"
+ "without notice.");
+
+const u8 gGastlyPokedexTextUnused[] = _("");
+
+const u8 gHaunterPokedexText[] = _(
+ "Because of its ability to slip through\n"
+ "block walls, it is said to be from another\n"
+ "dimension.");
+
+const u8 gHaunterPokedexTextUnused[] = _("");
+
+const u8 gGengarPokedexText[] = _(
+ "On the night of a full moon, if shadows\n"
+ "move on their own and laugh, it must be\n"
+ "GENGAR's doing.");
+
+const u8 gGengarPokedexTextUnused[] = _("");
+
+const u8 gOnixPokedexText[] = _(
+ "As it grows, the stone portions of its\n"
+ "body harden to become similar to\n"
+ "black-colored diamonds.");
+
+const u8 gOnixPokedexTextUnused[] = _("");
+
+const u8 gDrowzeePokedexText[] = _(
+ "Puts enemies to sleep, then eats their\n"
+ "dreams. Occasionally gets sick from eating\n"
+ "only bad dreams.");
+
+const u8 gDrowzeePokedexTextUnused[] = _("");
+
+const u8 gHypnoPokedexText[] = _(
+ "When it locks eyes with an enemy, it will\n"
+ "use a mix of PSI moves such as HYPNOSIS\n"
+ "and CONFUSION.");
+
+const u8 gHypnoPokedexTextUnused[] = _("");
+
+const u8 gKrabbyPokedexText[] = _(
+ "Its pincers are not only powerful weapons,\n"
+ "they are used for balance when walking\n"
+ "sideways.");
+
+const u8 gKrabbyPokedexTextUnused[] = _("");
+
+const u8 gKinglerPokedexText[] = _(
+ "The large pincer has 10,000-horsepower\n"
+ "crushing force. However, its huge size\n"
+ "makes it unwieldy to use.");
+
+const u8 gKinglerPokedexTextUnused[] = _("");
+
+const u8 gVoltorbPokedexText[] = _(
+ "Usually found in power plants. Easily\n"
+ "mistaken for a POKé BALL, it has\n"
+ "zapped many people.");
+
+const u8 gVoltorbPokedexTextUnused[] = _("");
+
+const u8 gElectrodePokedexText[] = _(
+ "It stores electric energy under very high\n"
+ "pressure. It often explodes with little or\n"
+ "no provocation.");
+
+const u8 gElectrodePokedexTextUnused[] = _("");
+
+const u8 gExeggcutePokedexText[] = _(
+ "It is often mistaken for eggs. When\n"
+ "disturbed, they quickly gather and attack\n"
+ "in swarms.");
+
+const u8 gExeggcutePokedexTextUnused[] = _("");
+
+const u8 gExeggutorPokedexText[] = _(
+ "It is said that on rare occasions, one\n"
+ "of its heads will drop off and continue on\n"
+ "as an EXEGGCUTE.");
+
+const u8 gExeggutorPokedexTextUnused[] = _("");
+
+const u8 gCubonePokedexText[] = _(
+ "Because it never removes its skull helmet,\n"
+ "no one has ever seen this POKéMON's real\n"
+ "face.");
+
+const u8 gCubonePokedexTextUnused[] = _("");
+
+const u8 gMarowakPokedexText[] = _(
+ "The bone it holds is its key weapon.\n"
+ "It throws the bone skillfully like a\n"
+ "boomerang to KO targets.");
+
+const u8 gMarowakPokedexTextUnused[] = _("");
+
+const u8 gHitmonleePokedexText[] = _(
+ "When in a hurry, its legs lengthen\n"
+ "progressively. It runs smoothly with\n"
+ "extra-long, loping strides.");
+
+const u8 gHitmonleePokedexTextUnused[] = _("");
+
+const u8 gHitmonchanPokedexText[] = _(
+ "While apparently doing nothing, it fires\n"
+ "punches in lightning-fast volleys that are\n"
+ "impossible to see.");
+
+const u8 gHitmonchanPokedexTextUnused[] = _("");
+
+const u8 gLickitungPokedexText[] = _(
+ "Its tongue can be extended like a\n"
+ "chameleon's. It leaves a tingling\n"
+ "sensation when it licks enemies.");
+
+const u8 gLickitungPokedexTextUnused[] = _("");
+
+const u8 gKoffingPokedexText[] = _(
+ "Because it stores several kinds of toxic\n"
+ "gases in its body, it is prone to\n"
+ "exploding without warning.");
+
+const u8 gKoffingPokedexTextUnused[] = _("");
+
+const u8 gWeezingPokedexText[] = _(
+ "Where two kinds of poison gases meet, two\n"
+ "KOFFING can fuse into a WEEZING over\n"
+ "many years.");
+
+const u8 gWeezingPokedexTextUnused[] = _("");
+
+const u8 gRhyhornPokedexText[] = _(
+ "Its massive bones are 1,000 times harder\n"
+ "than human bones. Its TACKLE can knock a\n"
+ "semitrailer flying.");
+
+const u8 gRhyhornPokedexTextUnused[] = _("");
+
+const u8 gRhydonPokedexText[] = _(
+ "Protected by an armor-like hide, it is\n"
+ "capable of living in molten lava of 3,600\n"
+ "degrees Fahrenheit.");
+
+const u8 gRhydonPokedexTextUnused[] = _("");
+
+const u8 gChanseyPokedexText[] = _(
+ "A rare and elusive POKéMON that is said\n"
+ "to bring happiness to those who manage to\n"
+ "catch one.");
+
+const u8 gChanseyPokedexTextUnused[] = _("");
+
+const u8 gTangelaPokedexText[] = _(
+ "The whole body is swathed with wide vines\n"
+ "that are similar to seaweed. The vines\n"
+ "sway as it walks.");
+
+const u8 gTangelaPokedexTextUnused[] = _("");
+
+const u8 gKangaskhanPokedexText[] = _(
+ "The infant rarely ventures out of its\n"
+ "mother's protective pouch until it is\n"
+ "three years old.");
+
+const u8 gKangaskhanPokedexTextUnused[] = _("");
+
+const u8 gHorseaPokedexText[] = _(
+ "Known to shoot down flying bugs with\n"
+ "precision blasts of ink from the surface\n"
+ "of the water.");
+
+const u8 gHorseaPokedexTextUnused[] = _("");
+
+const u8 gSeadraPokedexText[] = _(
+ "It is capable of swimming backwards by\n"
+ "rapidly flapping its winglike pectoral fins\n"
+ "and stout tail.");
+
+const u8 gSeadraPokedexTextUnused[] = _("");
+
+const u8 gGoldeenPokedexText[] = _(
+ "Its tail fin billows like an elegant\n"
+ "ballroom dress, giving it the nickname of\n"
+ "“The Water Queen.”");
+
+const u8 gGoldeenPokedexTextUnused[] = _("");
+
+const u8 gSeakingPokedexText[] = _(
+ "In the autumn spawning season, they can\n"
+ "be seen swimming powerfully up rivers and\n"
+ "creeks.");
+
+const u8 gSeakingPokedexTextUnused[] = _("");
+
+const u8 gStaryuPokedexText[] = _(
+ "An enigmatic POKéMON that can effortlessly\n"
+ "regenerate any appendage it loses in\n"
+ "battle.");
+
+const u8 gStaryuPokedexTextUnused[] = _("");
+
+const u8 gStarmiePokedexText[] = _(
+ "Its central core glows with the seven\n"
+ "colors of the rainbow. Some people value\n"
+ "the core as a gem.");
+
+const u8 gStarmiePokedexTextUnused[] = _("");
+
+const u8 gMrmimePokedexText[] = _(
+ "If interrupted while it is miming, it will\n"
+ "suddenly DOUBLESLAP the offender with its\n"
+ "broad hands.");
+
+const u8 gMrmimePokedexTextUnused[] = _("");
+
+const u8 gScytherPokedexText[] = _(
+ "With ninja-like agility and speed, it can\n"
+ "create the illusion that there is more\n"
+ "than one of itself.");
+
+const u8 gScytherPokedexTextUnused[] = _("");
+
+const u8 gJynxPokedexText[] = _(
+ "It seductively wiggles its hips as it\n"
+ "walks. It can cause people to dance in\n"
+ "unison with it.");
+
+const u8 gJynxPokedexTextUnused[] = _("");
+
+const u8 gElectabuzzPokedexText[] = _(
+ "Normally found near power plants, they\n"
+ "can wander away and cause major\n"
+ "blackouts in cities.");
+
+const u8 gElectabuzzPokedexTextUnused[] = _("");
+
+const u8 gMagmarPokedexText[] = _(
+ "Its body always burns with an orange glow\n"
+ "that enables it to hide perfectly amidst\n"
+ "flames.");
+
+const u8 gMagmarPokedexTextUnused[] = _("");
+
+const u8 gPinsirPokedexText[] = _(
+ "If it fails to crush the foe in its\n"
+ "pincers, it will swing around and toss\n"
+ "the opponent.");
+
+const u8 gPinsirPokedexTextUnused[] = _("");
+
+const u8 gTaurosPokedexText[] = _(
+ "When it targets an enemy, it charges\n"
+ "furiously while whipping its body with its\n"
+ "long tails.");
+
+const u8 gTaurosPokedexTextUnused[] = _("");
+
+const u8 gMagikarpPokedexText[] = _(
+ "In the distant past, it was somewhat\n"
+ "stronger than the horribly weak\n"
+ "descendants that exist today.");
+
+const u8 gMagikarpPokedexTextUnused[] = _("");
+
+const u8 gGyaradosPokedexText[] = _(
+ "Rarely seen in the wild. Huge and vicious,\n"
+ "it is capable of destroying entire cities\n"
+ "in a rage.");
+
+const u8 gGyaradosPokedexTextUnused[] = _("");
+
+const u8 gLaprasPokedexText[] = _(
+ "A POKéMON that has been overhunted\n"
+ "almost to extinction. It can ferry people\n"
+ "on its back.");
+
+const u8 gLaprasPokedexTextUnused[] = _("");
+
+const u8 gDittoPokedexText[] = _(
+ "Capable of copying an opponent's genetic\n"
+ "code to instantly transform itself into a\n"
+ "duplicate of the enemy.");
+
+const u8 gDittoPokedexTextUnused[] = _("");
+
+const u8 gEeveePokedexText[] = _(
+ "Its genetic code is irregular. It may\n"
+ "mutate if it is exposed to radiation from\n"
+ "element STONES.");
+
+const u8 gEeveePokedexTextUnused[] = _("");
+
+const u8 gVaporeonPokedexText[] = _(
+ "Lives close to water. Its long tail is\n"
+ "ridged with a fin which is often mistaken\n"
+ "for a mermaid's.");
+
+const u8 gVaporeonPokedexTextUnused[] = _("");
+
+const u8 gJolteonPokedexText[] = _(
+ "It accumulates negative ions in the\n"
+ "atmosphere to blast out 10,000-volt\n"
+ "lightning bolts.");
+
+const u8 gJolteonPokedexTextUnused[] = _("");
+
+const u8 gFlareonPokedexText[] = _(
+ "When storing thermal energy in its body,\n"
+ "its temperature can soar to over 1,600\n"
+ "degrees Fahrenheit.");
+
+const u8 gFlareonPokedexTextUnused[] = _("");
+
+const u8 gPorygonPokedexText[] = _(
+ "A POKéMON that consists entirely of\n"
+ "programming code. It is capable of moving\n"
+ "freely in cyberspace.");
+
+const u8 gPorygonPokedexTextUnused[] = _("");
+
+const u8 gOmanytePokedexText[] = _(
+ "Although long extinct, in rare cases, it\n"
+ "can be genetically regenerated from\n"
+ "fossils.");
+
+const u8 gOmanytePokedexTextUnused[] = _("");
+
+const u8 gOmastarPokedexText[] = _(
+ "Despite having strong fangs and tentacles,\n"
+ "it went extinct when its heavy shell made\n"
+ "it unable to catch prey.");
+
+const u8 gOmastarPokedexTextUnused[] = _("");
+
+const u8 gKabutoPokedexText[] = _(
+ "A POKéMON that was regenerated from a\n"
+ "fossil found in what was once the ocean\n"
+ "floor long ago.");
+
+const u8 gKabutoPokedexTextUnused[] = _("");
+
+const u8 gKabutopsPokedexText[] = _(
+ "Its sleek shape is perfect for swimming.\n"
+ "It slashes prey with its claws and drains\n"
+ "their fluids.");
+
+const u8 gKabutopsPokedexTextUnused[] = _("");
+
+const u8 gAerodactylPokedexText[] = _(
+ "A ferocious, prehistoric POKéMON that\n"
+ "goes for the enemy's throat with its\n"
+ "serrated, sawlike fangs.");
+
+const u8 gAerodactylPokedexTextUnused[] = _("");
+
+const u8 gSnorlaxPokedexText[] = _(
+ "Very lazy. Just eats and sleeps. As its\n"
+ "rotund bulk builds, it becomes steadily\n"
+ "more slothful.");
+
+const u8 gSnorlaxPokedexTextUnused[] = _("");
+
+const u8 gArticunoPokedexText[] = _(
+ "A legendary bird POKéMON that is said to\n"
+ "appear to doomed people who are lost in\n"
+ "icy mountains.");
+
+const u8 gArticunoPokedexTextUnused[] = _("");
+
+const u8 gZapdosPokedexText[] = _(
+ "A legendary bird POKéMON that is said to\n"
+ "appear from clouds while dropping\n"
+ "enormous lightning bolts.");
+
+const u8 gZapdosPokedexTextUnused[] = _("");
+
+const u8 gMoltresPokedexText[] = _(
+ "It is said to be the legendary bird\n"
+ "POKéMON of fire. Every flap of its wings\n"
+ "creates a dazzling flare of flames.");
+
+const u8 gMoltresPokedexTextUnused[] = _("");
+
+const u8 gDratiniPokedexText[] = _(
+ "Long considered a mythical POKéMON until\n"
+ "recently, when a small colony was found\n"
+ "living underwater.");
+
+const u8 gDratiniPokedexTextUnused[] = _("");
+
+const u8 gDragonairPokedexText[] = _(
+ "A mystical POKéMON that exudes a gentle\n"
+ "aura. It is said to have the ability to\n"
+ "change the weather.");
+
+const u8 gDragonairPokedexTextUnused[] = _("");
+
+const u8 gDragonitePokedexText[] = _(
+ "Only a very few people ever see this\n"
+ "POKéMON. Its intelligence is said to\n"
+ "match that of humans.");
+
+const u8 gDragonitePokedexTextUnused[] = _("");
+
+const u8 gMewtwoPokedexText[] = _(
+ "It was created by a scientist after years\n"
+ "of horrific gene-splicing and DNA-\n"
+ "engineering experiments.");
+
+const u8 gMewtwoPokedexTextUnused[] = _("");
+
+const u8 gMewPokedexText[] = _(
+ "So rare that it is still said to be a\n"
+ "mirage by many experts. Only a few people\n"
+ "have seen it worldwide.");
+
+const u8 gMewPokedexTextUnused[] = _("");
+
+const u8 gChikoritaPokedexText[] = _(
+ "A sweet aroma gently wafts from the leaf\n"
+ "on its head. It is docile and loves to\n"
+ "soak up the sun's rays.");
+
+const u8 gChikoritaPokedexTextUnused[] = _("");
+
+const u8 gBayleefPokedexText[] = _(
+ "The scent of spices comes from around\n"
+ "its neck. Somehow, sniffing it makes you\n"
+ "want to fight.");
+
+const u8 gBayleefPokedexTextUnused[] = _("");
+
+const u8 gMeganiumPokedexText[] = _(
+ "The aroma that rises from its petals\n"
+ "contains a substance that calms aggressive\n"
+ "feelings.");
+
+const u8 gMeganiumPokedexTextUnused[] = _("");
+
+const u8 gCyndaquilPokedexText[] = _(
+ "It is timid and always curls itself up in\n"
+ "a ball. If attacked, it flares up its back\n"
+ "for protection.");
+
+const u8 gCyndaquilPokedexTextUnused[] = _("");
+
+const u8 gQuilavaPokedexText[] = _(
+ "Be careful if it turns its back during\n"
+ "battle. It means that it will attack with\n"
+ "the fire on its back.");
+
+const u8 gQuilavaPokedexTextUnused[] = _("");
+
+const u8 gTyphlosionPokedexText[] = _(
+ "If its rage peaks, it becomes so hot that\n"
+ "anything that touches it will instantly go\n"
+ "up in flames.");
+
+const u8 gTyphlosionPokedexTextUnused[] = _("");
+
+const u8 gTotodilePokedexText[] = _(
+ "Its well-developed jaws are powerful and\n"
+ "capable of crushing anything. Even its\n"
+ "TRAINER must be careful.");
+
+const u8 gTotodilePokedexTextUnused[] = _("");
+
+const u8 gCroconawPokedexText[] = _(
+ "If it loses a fang, a new one grows back\n"
+ "in its place. There are always 48 fangs\n"
+ "lining its mouth.");
+
+const u8 gCroconawPokedexTextUnused[] = _("");
+
+const u8 gFeraligatrPokedexText[] = _(
+ "When it bites with its massive and\n"
+ "powerful jaws, it shakes its head and\n"
+ "savagely tears up its victim.");
+
+const u8 gFeraligatrPokedexTextUnused[] = _("");
+
+const u8 gSentretPokedexText[] = _(
+ "A very cautious POKéMON, it raises itself\n"
+ "up using its tail to get a better view of\n"
+ "its surroundings.");
+
+const u8 gSentretPokedexTextUnused[] = _("");
+
+const u8 gFurretPokedexText[] = _(
+ "It makes a nest to suit its long and skinny\n"
+ "body. The nest is impossible for other\n"
+ "POKéMON to enter.");
+
+const u8 gFurretPokedexTextUnused[] = _("");
+
+const u8 gHoothootPokedexText[] = _(
+ "It always stands on one foot. It changes\n"
+ "feet so fast, the movement can rarely be\n"
+ "seen.");
+
+const u8 gHoothootPokedexTextUnused[] = _("");
+
+const u8 gNoctowlPokedexText[] = _(
+ "Its eyes are specially adapted. They\n"
+ "concentrate even faint light and enable it\n"
+ "to see in the dark.");
+
+const u8 gNoctowlPokedexTextUnused[] = _("");
+
+const u8 gLedybaPokedexText[] = _(
+ "It is very timid. It will be afraid to\n"
+ "move if it is alone. But it will be active\n"
+ "if it is in a group.");
+
+const u8 gLedybaPokedexTextUnused[] = _("");
+
+const u8 gLedianPokedexText[] = _(
+ "When the stars flicker in the night sky, it\n"
+ "flutters about, scattering a glowing\n"
+ "powder.");
+
+const u8 gLedianPokedexTextUnused[] = _("");
+
+const u8 gSpinarakPokedexText[] = _(
+ "It lies still in the same pose for days\n"
+ "in its web, waiting for its unsuspecting\n"
+ "prey to wander close.");
+
+const u8 gSpinarakPokedexTextUnused[] = _("");
+
+const u8 gAriadosPokedexText[] = _(
+ "It spins string not only from its rear but\n"
+ "also from its mouth. It is hard to tell\n"
+ "which end is which.");
+
+const u8 gAriadosPokedexTextUnused[] = _("");
+
+const u8 gCrobatPokedexText[] = _(
+ "It flies so silently through the dark on\n"
+ "its four wings that it may not be noticed\n"
+ "even when nearby.");
+
+const u8 gCrobatPokedexTextUnused[] = _("");
+
+const u8 gChinchouPokedexText[] = _(
+ "It shoots positive and negative\n"
+ "electricity between the tips of its two\n"
+ "antennae and zaps its enemies.");
+
+const u8 gChinchouPokedexTextUnused[] = _("");
+
+const u8 gLanturnPokedexText[] = _(
+ "The light it emits is so bright that it can\n"
+ "illuminate the sea's surface from a depth\n"
+ "of over three miles.");
+
+const u8 gLanturnPokedexTextUnused[] = _("");
+
+const u8 gPichuPokedexText[] = _(
+ "It is not yet skilled at storing\n"
+ "electricity. It may send out a jolt if\n"
+ "amused or startled.");
+
+const u8 gPichuPokedexTextUnused[] = _("");
+
+const u8 gCleffaPokedexText[] = _(
+ "Because of its unusual, starlike\n"
+ "silhouette, people believe that it came\n"
+ "here on a meteor.");
+
+const u8 gCleffaPokedexTextUnused[] = _("");
+
+const u8 gIgglybuffPokedexText[] = _(
+ "It has a very soft body. If it starts to\n"
+ "roll, it will bounce all over and be\n"
+ "impossible to stop.");
+
+const u8 gIgglybuffPokedexTextUnused[] = _("");
+
+const u8 gTogepiPokedexText[] = _(
+ "The shell seems to be filled with joy.\n"
+ "It is said that it will share good luck\n"
+ "when treated kindly.");
+
+const u8 gTogepiPokedexTextUnused[] = _("");
+
+const u8 gTogeticPokedexText[] = _(
+ "They say that it will appear before\n"
+ "kindhearted, caring people and shower\n"
+ "them with happiness.");
+
+const u8 gTogeticPokedexTextUnused[] = _("");
+
+const u8 gNatuPokedexText[] = _(
+ "Because its wings aren't yet fully grown,\n"
+ "it has to hop to get around. It is always\n"
+ "staring at something.");
+
+const u8 gNatuPokedexTextUnused[] = _("");
+
+const u8 gXatuPokedexText[] = _(
+ "They say that it stays still and quiet\n"
+ "because it is seeing both the past and\n"
+ "future at the same time.");
+
+const u8 gXatuPokedexTextUnused[] = _("");
+
+const u8 gMareepPokedexText[] = _(
+ "If static electricity builds in its body,\n"
+ "its fleece doubles in volume. Touching\n"
+ "it will shock you.");
+
+const u8 gMareepPokedexTextUnused[] = _("");
+
+const u8 gFlaaffyPokedexText[] = _(
+ "As a result of storing too much\n"
+ "electricity, it developed patches where\n"
+ "even downy wool won't grow.");
+
+const u8 gFlaaffyPokedexTextUnused[] = _("");
+
+const u8 gAmpharosPokedexText[] = _(
+ "The tail's tip shines brightly and can be\n"
+ "seen from far away. It acts as a beacon\n"
+ "for lost people.");
+
+const u8 gAmpharosPokedexTextUnused[] = _("");
+
+const u8 gBellossomPokedexText[] = _(
+ "BELLOSSOM gather at times and appear to\n"
+ "dance. They say that the dance is a\n"
+ "ritual to summon the sun.");
+
+const u8 gBellossomPokedexTextUnused[] = _("");
+
+const u8 gMarillPokedexText[] = _(
+ "The tip of its tail, which contains oil\n"
+ "that is lighter than water, lets it swim\n"
+ "without drowning.");
+
+const u8 gMarillPokedexTextUnused[] = _("");
+
+const u8 gAzumarillPokedexText[] = _(
+ "By keeping still and listening intently, it\n"
+ "can even tell what is in wild, fast-moving\n"
+ "rivers.");
+
+const u8 gAzumarillPokedexTextUnused[] = _("");
+
+const u8 gSudowoodoPokedexText[] = _(
+ "Although it always pretends to be a tree,\n"
+ "its composition appears to be closer to a\n"
+ "rock than a plant.");
+
+const u8 gSudowoodoPokedexTextUnused[] = _("");
+
+const u8 gPolitoedPokedexText[] = _(
+ "If POLIWAG and POLIWHIRL hear its\n"
+ "echoing cry, they respond by gathering\n"
+ "from far and wide.");
+
+const u8 gPolitoedPokedexTextUnused[] = _("");
+
+const u8 gHoppipPokedexText[] = _(
+ "To keep from being blown away by the\n"
+ "wind, they gather in clusters. They do\n"
+ "enjoy gentle breezes, though.");
+
+const u8 gHoppipPokedexTextUnused[] = _("");
+
+const u8 gSkiploomPokedexText[] = _(
+ "The bloom on top of its head opens and\n"
+ "closes as the temperature fluctuates up\n"
+ "and down.");
+
+const u8 gSkiploomPokedexTextUnused[] = _("");
+
+const u8 gJumpluffPokedexText[] = _(
+ "Once it catches the wind, it deftly\n"
+ "controls its cotton-puff spores to float,\n"
+ "even around the world.");
+
+const u8 gJumpluffPokedexTextUnused[] = _("");
+
+const u8 gAipomPokedexText[] = _(
+ "Its tail is so powerful that it can use it\n"
+ "to grab a tree branch and hold itself up\n"
+ "in the air.");
+
+const u8 gAipomPokedexTextUnused[] = _("");
+
+const u8 gSunkernPokedexText[] = _(
+ "It may drop out of the sky suddenly.\n"
+ "If attacked by a SPEAROW, it will\n"
+ "violently shake its leaves.");
+
+const u8 gSunkernPokedexTextUnused[] = _("");
+
+const u8 gSunfloraPokedexText[] = _(
+ "It converts sunlight into energy. In the\n"
+ "darkness after sunset, it closes its petals\n"
+ "and becomes still.");
+
+const u8 gSunfloraPokedexTextUnused[] = _("");
+
+const u8 gYanmaPokedexText[] = _(
+ "If it flaps its wings really fast, it can\n"
+ "generate shock waves that will shatter\n"
+ "windows in the area.");
+
+const u8 gYanmaPokedexTextUnused[] = _("");
+
+const u8 gWooperPokedexText[] = _(
+ "This POKéMON lives in cold water. It will\n"
+ "leave the water to search for food when\n"
+ "it gets cold outside.");
+
+const u8 gWooperPokedexTextUnused[] = _("");
+
+const u8 gQuagsirePokedexText[] = _(
+ "This carefree POKéMON has an easygoing\n"
+ "nature. While swimming, it always bumps\n"
+ "into boat hulls.");
+
+const u8 gQuagsirePokedexTextUnused[] = _("");
+
+const u8 gEspeonPokedexText[] = _(
+ "It uses the fine hair that covers its body\n"
+ "to sense air currents and predict its\n"
+ "enemy's actions.");
+
+const u8 gEspeonPokedexTextUnused[] = _("");
+
+const u8 gUmbreonPokedexText[] = _(
+ "When agitated, this POKéMON protects\n"
+ "itself by spraying poisonous sweat from its\n"
+ "pores.");
+
+const u8 gUmbreonPokedexTextUnused[] = _("");
+
+const u8 gMurkrowPokedexText[] = _(
+ "Feared and loathed by many, it is\n"
+ "believed to bring misfortune to all those\n"
+ "who see it at night.");
+
+const u8 gMurkrowPokedexTextUnused[] = _("");
+
+const u8 gSlowkingPokedexText[] = _(
+ "It has incredible intellect and intuition.\n"
+ "Whatever the situation, it remains calm\n"
+ "and collected.");
+
+const u8 gSlowkingPokedexTextUnused[] = _("");
+
+const u8 gMisdreavusPokedexText[] = _(
+ "It likes playing mischievous tricks such as\n"
+ "screaming and wailing to startle people at\n"
+ "night. ");
+
+const u8 gMisdreavusPokedexTextUnused[] = _("");
+
+const u8 gUnownPokedexText[] = _(
+ "Their shapes look like hieroglyphs on\n"
+ "ancient tablets. It is said that the two\n"
+ "are somehow related.");
+
+const u8 gUnownPokedexTextUnused[] = _("");
+
+const u8 gWobbuffetPokedexText[] = _(
+ "It hates light and shock. If attacked,\n"
+ "it inflates its body to pump up its\n"
+ "counterstrike.");
+
+const u8 gWobbuffetPokedexTextUnused[] = _("");
+
+const u8 gGirafarigPokedexText[] = _(
+ "Its tail has a small brain of its own.\n"
+ "Beware! If you get close, it may react\n"
+ "to your scent and bite.");
+
+const u8 gGirafarigPokedexTextUnused[] = _("");
+
+const u8 gPinecoPokedexText[] = _(
+ "It likes to make its shell thicker by\n"
+ "adding layers of tree bark. The extra\n"
+ "weight doesn't bother it.");
+
+const u8 gPinecoPokedexTextUnused[] = _("");
+
+const u8 gForretressPokedexText[] = _(
+ "Its entire body is shielded by a steel-\n"
+ "hard shell. What lurks inside the armor is\n"
+ "a total mystery.");
+
+const u8 gForretressPokedexTextUnused[] = _("");
+
+const u8 gDunsparcePokedexText[] = _(
+ "When spotted, this POKéMON escapes\n"
+ "backward by furiously boring into the\n"
+ "ground with its tail.");
+
+const u8 gDunsparcePokedexTextUnused[] = _("");
+
+const u8 gGligarPokedexText[] = _(
+ "It flies straight at its target's face,\n"
+ "then clamps down on the startled\n"
+ "victim to inject poison.");
+
+const u8 gGligarPokedexTextUnused[] = _("");
+
+const u8 gSteelixPokedexText[] = _(
+ "Its body has been compressed deep under\n"
+ "the ground. As a result, it is even harder\n"
+ "than diamond.");
+
+const u8 gSteelixPokedexTextUnused[] = _("");
+
+const u8 gSnubbullPokedexText[] = _(
+ "Although it looks frightening, it is\n"
+ "actually kind and affectionate. It is very\n"
+ "popular among women.");
+
+const u8 gSnubbullPokedexTextUnused[] = _("");
+
+const u8 gGranbullPokedexText[] = _(
+ "It is actually timid and easily spooked.\n"
+ "If attacked, it flails about to fend off\n"
+ "its attacker.");
+
+const u8 gGranbullPokedexTextUnused[] = _("");
+
+const u8 gQwilfishPokedexText[] = _(
+ "To fire its poison spikes, it must inflate\n"
+ "its body by drinking over 2.6 gallons of \n"
+ "water all at once.");
+
+const u8 gQwilfishPokedexTextUnused[] = _("");
+
+const u8 gScizorPokedexText[] = _(
+ "It swings its eye-patterned pincers up to\n"
+ "scare its foes. This makes it look like it\n"
+ "has three heads.");
+
+const u8 gScizorPokedexTextUnused[] = _("");
+
+const u8 gShucklePokedexText[] = _(
+ "The BERRIES it stores in its vaselike\n"
+ "shell decompose and become a gooey\n"
+ "liquid.");
+
+const u8 gShucklePokedexTextUnused[] = _("");
+
+const u8 gHeracrossPokedexText[] = _(
+ "This powerful POKéMON thrusts its prized\n"
+ "horn under its enemies' bellies, then lifts\n"
+ "and throws them.");
+
+const u8 gHeracrossPokedexTextUnused[] = _("");
+
+const u8 gSneaselPokedexText[] = _(
+ "Its paws conceal sharp claws.\n"
+ "If attacked, it suddenly extends the\n"
+ "claws and startles its enemy.");
+
+const u8 gSneaselPokedexTextUnused[] = _("");
+
+const u8 gTeddiursaPokedexText[] = _(
+ "If it finds honey, its crescent mark glows.\n"
+ "It always licks its paws because they are\n"
+ "soaked with honey.");
+
+const u8 gTeddiursaPokedexTextUnused[] = _("");
+
+const u8 gUrsaringPokedexText[] = _(
+ "Although it is a good climber, it prefers\n"
+ "to snap stout trees with its forelegs and\n"
+ "eat fallen BERRIES.");
+
+const u8 gUrsaringPokedexTextUnused[] = _("");
+
+const u8 gSlugmaPokedexText[] = _(
+ "It never sleeps. It has to keep moving\n"
+ "because if it stopped, its magma body\n"
+ "would cool and harden.");
+
+const u8 gSlugmaPokedexTextUnused[] = _("");
+
+const u8 gMagcargoPokedexText[] = _(
+ "The shell on its back is just skin that\n"
+ "has cooled and hardened. It breaks easily\n"
+ "with a slight touch.");
+
+const u8 gMagcargoPokedexTextUnused[] = _("");
+
+const u8 gSwinubPokedexText[] = _(
+ "It rubs its snout on the ground to find\n"
+ "and dig up food. It sometimes discovers\n"
+ "hot springs.");
+
+const u8 gSwinubPokedexTextUnused[] = _("");
+
+const u8 gPiloswinePokedexText[] = _(
+ "Because the long hair all over its body\n"
+ "obscures its sight, it just keeps charging\n"
+ "repeatedly.");
+
+const u8 gPiloswinePokedexTextUnused[] = _("");
+
+const u8 gCorsolaPokedexText[] = _(
+ "It continuously sheds and grows. The tip\n"
+ "of its head is prized as a treasure for\n"
+ "its beauty.");
+
+const u8 gCorsolaPokedexTextUnused[] = _("");
+
+const u8 gRemoraidPokedexText[] = _(
+ "It has superb accuracy. The water it\n"
+ "shoots out can strike even moving prey\n"
+ "from more than 100 yards.");
+
+const u8 gRemoraidPokedexTextUnused[] = _("");
+
+const u8 gOctilleryPokedexText[] = _(
+ "It traps enemies with its suction-cupped\n"
+ "tentacles, then smashes them with its\n"
+ "rock-hard head.");
+
+const u8 gOctilleryPokedexTextUnused[] = _("");
+
+const u8 gDelibirdPokedexText[] = _(
+ "It carries food all day long. There are\n"
+ "tales about lost people who were saved\n"
+ "by the food it had.");
+
+const u8 gDelibirdPokedexTextUnused[] = _("");
+
+const u8 gMantinePokedexText[] = _(
+ "As it majestically swims, it doesn't care\n"
+ "if REMORAID attach to it to scavenge\n"
+ "for its leftovers.");
+
+const u8 gMantinePokedexTextUnused[] = _("");
+
+const u8 gSkarmoryPokedexText[] = _(
+ "Its sturdy wings look heavy, but its bones\n"
+ "are hollow and light, allowing it to fly\n"
+ "freely in the sky.");
+
+const u8 gSkarmoryPokedexTextUnused[] = _("");
+
+const u8 gHoundourPokedexText[] = _(
+ "It uses different kinds of cries for\n"
+ "communicating with others of its kind and\n"
+ "for pursuing prey.");
+
+const u8 gHoundourPokedexTextUnused[] = _("");
+
+const u8 gHoundoomPokedexText[] = _(
+ "If you are burned by the flames it shoots\n"
+ "from its mouth, the pain will never go\n"
+ "away.");
+
+const u8 gHoundoomPokedexTextUnused[] = _("");
+
+const u8 gKingdraPokedexText[] = _(
+ "It is said that it usually hides in\n"
+ "underwater caves. It can create\n"
+ "whirlpools by yawning.");
+
+const u8 gKingdraPokedexTextUnused[] = _("");
+
+const u8 gPhanpyPokedexText[] = _(
+ "It swings its long snout around playfully,\n"
+ "but because it is so strong, this can be\n"
+ "dangerous.");
+
+const u8 gPhanpyPokedexTextUnused[] = _("");
+
+const u8 gDonphanPokedexText[] = _(
+ "It has sharp, hard tusks and a rugged\n"
+ "hide. Its TACKLE is strong enough to\n"
+ "knock down a house.");
+
+const u8 gDonphanPokedexTextUnused[] = _("");
+
+const u8 gPorygon2PokedexText[] = _(
+ "This upgraded version of PORYGON is\n"
+ "designed for space exploration. However,\n"
+ "it can't even fly.");
+
+const u8 gPorygon2PokedexTextUnused[] = _("");
+
+const u8 gStantlerPokedexText[] = _(
+ "Its curved antlers subtly change the flow\n"
+ "of air to create a strange space where\n"
+ "reality is distorted.");
+
+const u8 gStantlerPokedexTextUnused[] = _("");
+
+const u8 gSmearglePokedexText[] = _(
+ "A special fluid oozes from the tip of its\n"
+ "tail. It paints the fluid everywhere to\n"
+ "mark its territory.");
+
+const u8 gSmearglePokedexTextUnused[] = _("");
+
+const u8 gTyroguePokedexText[] = _(
+ "It is always bursting with energy. To make\n"
+ "itself stronger, it keeps on fighting even\n"
+ "if it loses.");
+
+const u8 gTyroguePokedexTextUnused[] = _("");
+
+const u8 gHitmontopPokedexText[] = _(
+ "If you become enchanted by its smooth,\n"
+ "elegant, dance-like kicks, you may get\n"
+ "drilled hard.");
+
+const u8 gHitmontopPokedexTextUnused[] = _("");
+
+const u8 gSmoochumPokedexText[] = _(
+ "Its lips are the most sensitive parts on\n"
+ "its body. It always uses its lips first to\n"
+ "examine things.");
+
+const u8 gSmoochumPokedexTextUnused[] = _("");
+
+const u8 gElekidPokedexText[] = _(
+ "It rotates its arms to generate\n"
+ "electricity, but it tires easily, so it\n"
+ "charges up only a little bit.");
+
+const u8 gElekidPokedexTextUnused[] = _("");
+
+const u8 gMagbyPokedexText[] = _(
+ "Each and every time it inhales and\n"
+ "exhales, hot embers dribble out of its\n"
+ "mouth and nostrils.");
+
+const u8 gMagbyPokedexTextUnused[] = _("");
+
+const u8 gMiltankPokedexText[] = _(
+ "Its milk is packed with nutrition, making\n"
+ "it the ultimate beverage for the sick or\n"
+ "weary.");
+
+const u8 gMiltankPokedexTextUnused[] = _("");
+
+const u8 gBlisseyPokedexText[] = _(
+ "Anyone who takes even one bite of\n"
+ "BLISSEY's egg becomes unfailingly caring\n"
+ "and pleasant to everyone.");
+
+const u8 gBlisseyPokedexTextUnused[] = _("");
+
+const u8 gRaikouPokedexText[] = _(
+ "The rain clouds it carries let it fire\n"
+ "thunderbolts at will. They say that it\n"
+ "descended with lightning.");
+
+const u8 gRaikouPokedexTextUnused[] = _("");
+
+const u8 gEnteiPokedexText[] = _(
+ "Volcanoes erupt when it barks. Unable to\n"
+ "restrain its extreme power, it races\n"
+ "headlong around the land.");
+
+const u8 gEnteiPokedexTextUnused[] = _("");
+
+const u8 gSuicunePokedexText[] = _(
+ "Said to be the reincarnation of north\n"
+ "winds, it can instantly purify filthy,\n"
+ "murky water.");
+
+const u8 gSuicunePokedexTextUnused[] = _("");
+
+const u8 gLarvitarPokedexText[] = _(
+ "It feeds on soil. After it has eaten a\n"
+ "large mountain, it will fall asleep so it\n"
+ "can grow.");
+
+const u8 gLarvitarPokedexTextUnused[] = _("");
+
+const u8 gPupitarPokedexText[] = _(
+ "Its shell is as hard as sheet rock, and it\n"
+ "is also very strong. Its THRASHING can\n"
+ "topple a mountain.");
+
+const u8 gPupitarPokedexTextUnused[] = _("");
+
+const u8 gTyranitarPokedexText[] = _(
+ "Its body can't be harmed by any sort of\n"
+ "attack, so it is very eager to make\n"
+ "challenges against enemies.");
+
+const u8 gTyranitarPokedexTextUnused[] = _("");
+
+const u8 gLugiaPokedexText[] = _(
+ "It is said that it quietly spends its time\n"
+ "deep at the bottom of the sea because\n"
+ "its powers are too strong.");
+
+const u8 gLugiaPokedexTextUnused[] = _("");
+
+const u8 gHoOhPokedexText[] = _(
+ "Legends claim this POKéMON flies the\n"
+ "world's skies continuously on its\n"
+ "magnificent seven-colored wings.");
+
+const u8 gHoOhPokedexTextUnused[] = _("");
+
+const u8 gCelebiPokedexText[] = _(
+ "This POKéMON wanders across time.\n"
+ "Grass and trees flourish in the forests in\n"
+ "which it has appeared.");
+
+const u8 gCelebiPokedexTextUnused[] = _("");
+
+const u8 gTreeckoPokedexText[] = _(
+ "It quickly scales even vertical walls.\n"
+ "It senses humidity with its tail to predict\n"
+ "the next day's weather.");
+
+const u8 gTreeckoPokedexTextUnused[] = _("");
+
+const u8 gGrovylePokedexText[] = _(
+ "Its strongly developed thigh muscles\n"
+ "give it astounding agility and jumping\n"
+ "performance.");
+
+const u8 gGrovylePokedexTextUnused[] = _("");
+
+const u8 gSceptilePokedexText[] = _(
+ "The leaves on its forelegs are as sharp\n"
+ "as swords. It agilely leaps about the\n"
+ "branches of trees to strike.");
+
+const u8 gSceptilePokedexTextUnused[] = _("");
+
+const u8 gTorchicPokedexText[] = _(
+ "It has a flame sac inside its belly that\n"
+ "perpetually burns. It feels warm if it is\n"
+ "hugged.");
+
+const u8 gTorchicPokedexTextUnused[] = _("");
+
+const u8 gCombuskenPokedexText[] = _(
+ "It boosts its concentration by emitting\n"
+ "harsh cries. Its kicks have outstanding\n"
+ "destructive power.");
+
+const u8 gCombuskenPokedexTextUnused[] = _("");
+
+const u8 gBlazikenPokedexText[] = _(
+ "When facing a tough foe, it looses flames\n"
+ "from its wrists. Its powerful legs let it\n"
+ "jump clear over buildings.");
+
+const u8 gBlazikenPokedexTextUnused[] = _("");
+
+const u8 gMudkipPokedexText[] = _(
+ "Its large tail fin propels it through\n"
+ "water with powerful acceleration. It is\n"
+ "strong in spite of its size.");
+
+const u8 gMudkipPokedexTextUnused[] = _("");
+
+const u8 gMarshtompPokedexText[] = _(
+ "It is at its best when on muddy ground\n"
+ "with poor footing. It quickly overwhelms\n"
+ "foes struggling in mud.");
+
+const u8 gMarshtompPokedexTextUnused[] = _("");
+
+const u8 gSwampertPokedexText[] = _(
+ "Its arms are rock-hard. With one swing,\n"
+ "they can batter down its foe. It makes its\n"
+ "nest on beautiful beaches.");
+
+const u8 gSwampertPokedexTextUnused[] = _("");
+
+const u8 gPoochyenaPokedexText[] = _(
+ "It has a very tenacious nature. Its acute\n"
+ "sense of smell lets it chase a chosen\n"
+ "prey without ever losing track.");
+
+const u8 gPoochyenaPokedexTextUnused[] = _("");
+
+const u8 gMightyenaPokedexText[] = _(
+ "It will always obey the commands of a\n"
+ "skilled TRAINER. Its behavior arises from\n"
+ "its living in packs in ancient times.");
+
+const u8 gMightyenaPokedexTextUnused[] = _("");
+
+const u8 gZigzagoonPokedexText[] = _(
+ "A POKéMON with abundant curiosity.\n"
+ "It shows an interest in everything, so it\n"
+ "always zigs and zags.");
+
+const u8 gZigzagoonPokedexTextUnused[] = _("");
+
+const u8 gLinoonePokedexText[] = _(
+ "When running in a straight line, it can top\n"
+ "60 miles per hour. However, it has a\n"
+ "tough time with curved roads.");
+
+const u8 gLinoonePokedexTextUnused[] = _("");
+
+const u8 gWurmplePokedexText[] = _(
+ "It lives amidst tall grass and in forests.\n"
+ "When attacked, it resists by pointing its\n"
+ "venomous spikes at the foe.");
+
+const u8 gWurmplePokedexTextUnused[] = _("");
+
+const u8 gSilcoonPokedexText[] = _(
+ "It conserves its energy by moving as\n"
+ "little as possible. It awaits evolution\n"
+ "while drinking only a little rainwater.");
+
+const u8 gSilcoonPokedexTextUnused[] = _("");
+
+const u8 gBeautiflyPokedexText[] = _(
+ "Despite its appearance, it has an\n"
+ "aggressive nature. It attacks by jabbing\n"
+ "with its long, thin mouth.");
+
+const u8 gBeautiflyPokedexTextUnused[] = _("");
+
+const u8 gCascoonPokedexText[] = _(
+ "Its body, which is made of soft silk,\n"
+ "hardens over time. When cracks appear,\n"
+ "evolution is near.");
+
+const u8 gCascoonPokedexTextUnused[] = _("");
+
+const u8 gDustoxPokedexText[] = _(
+ "It scatters horribly toxic dust when it\n"
+ "senses danger. They tend to gather in the\n"
+ "glow of streetlamps at night.");
+
+const u8 gDustoxPokedexTextUnused[] = _("");
+
+const u8 gLotadPokedexText[] = _(
+ "It searches about for clean water. If it\n"
+ "does not drink water for too long, the\n"
+ "leaf on its head wilts.");
+
+const u8 gLotadPokedexTextUnused[] = _("");
+
+const u8 gLombrePokedexText[] = _(
+ "It lives at the water's edge where it is\n"
+ "sunny. It sleeps on a bed of water grass\n"
+ "by day and becomes active at night.");
+
+const u8 gLombrePokedexTextUnused[] = _("");
+
+const u8 gLudicoloPokedexText[] = _(
+ "The rhythm of bright, festive music\n"
+ "activates LUDICOLO's cells, making it more\n"
+ "powerful.");
+
+const u8 gLudicoloPokedexTextUnused[] = _("");
+
+const u8 gSeedotPokedexText[] = _(
+ "If it remains still, it becomes impossible\n"
+ "to distinguish from real nuts. It delights\n"
+ "in surprising foraging PIDGEY.");
+
+const u8 gSeedotPokedexTextUnused[] = _("");
+
+const u8 gNuzleafPokedexText[] = _(
+ "They live in holes bored in large trees.\n"
+ "The sound of NUZLEAF's grass flute fills\n"
+ "listeners with dread.");
+
+const u8 gNuzleafPokedexTextUnused[] = _("");
+
+const u8 gShiftryPokedexText[] = _(
+ "A POKéMON that was feared as a forest\n"
+ "guardian. It can read the foe's mind and\n"
+ "take preemptive action.");
+
+const u8 gShiftryPokedexTextUnused[] = _("");
+
+const u8 gTaillowPokedexText[] = _(
+ "It dislikes cold seasons. They migrate to\n"
+ "other lands in search of warmth, flying\n"
+ "over 180 miles a day.");
+
+const u8 gTaillowPokedexTextUnused[] = _("");
+
+const u8 gSwellowPokedexText[] = _(
+ "If its two tail feathers are standing at\n"
+ "attention, it is proof of good health.\n"
+ "It soars elegantly in the sky.");
+
+const u8 gSwellowPokedexTextUnused[] = _("");
+
+const u8 gWingullPokedexText[] = _(
+ "It rides upon ocean winds as if it were\n"
+ "a glider. In the winter, it hides food\n"
+ "around its nest.");
+
+const u8 gWingullPokedexTextUnused[] = _("");
+
+const u8 gPelipperPokedexText[] = _(
+ "It is a flying transporter that carries\n"
+ "small POKéMON in its beak. It bobs on the\n"
+ "waves to rest its wings.");
+
+const u8 gPelipperPokedexTextUnused[] = _("");
+
+const u8 gRaltsPokedexText[] = _(
+ "It is highly attuned to the emotions of\n"
+ "people and POKéMON. It hides if it senses\n"
+ "hostility.");
+
+const u8 gRaltsPokedexTextUnused[] = _("");
+
+const u8 gKirliaPokedexText[] = _(
+ "The cheerful spirit of its TRAINER gives\n"
+ "it energy for its psychokinetic power.\n"
+ "It spins and dances when happy.");
+
+const u8 gKirliaPokedexTextUnused[] = _("");
+
+const u8 gGardevoirPokedexText[] = _(
+ "It has the power to predict the future.\n"
+ "Its power peaks when it is protecting its\n"
+ "TRAINER.");
+
+const u8 gGardevoirPokedexTextUnused[] = _("");
+
+const u8 gSurskitPokedexText[] = _(
+ "They usually live on ponds, but after an\n"
+ "evening shower, they may appear on\n"
+ "puddles in towns.");
+
+const u8 gSurskitPokedexTextUnused[] = _("");
+
+const u8 gMasquerainPokedexText[] = _(
+ "The antennae have distinctive patterns\n"
+ "that look like eyes. When it rains, they\n"
+ "grow heavy, making flight impossible.");
+
+const u8 gMasquerainPokedexTextUnused[] = _("");
+
+const u8 gShroomishPokedexText[] = _(
+ "It prefers damp places. By day it remains\n"
+ "still in the forest shade. It releases\n"
+ "toxic powder from its head.");
+
+const u8 gShroomishPokedexTextUnused[] = _("");
+
+const u8 gBreloomPokedexText[] = _(
+ "The seeds on its tail are made of toxic\n"
+ "spores. It knocks out foes with quick,\n"
+ "virtually invisible punches.");
+
+const u8 gBreloomPokedexTextUnused[] = _("");
+
+const u8 gSlakothPokedexText[] = _(
+ "It sleeps for 20 hours every day. Making\n"
+ "drowsy those that see it is one of\n"
+ "its abilities.");
+
+const u8 gSlakothPokedexTextUnused[] = _("");
+
+const u8 gVigorothPokedexText[] = _(
+ "It is always hungry because it won't stop\n"
+ "rampaging. Even while it is eating, it\n"
+ "can't keep still.");
+
+const u8 gVigorothPokedexTextUnused[] = _("");
+
+const u8 gSlakingPokedexText[] = _(
+ "It is the world's most slothful POKéMON.\n"
+ "However, it can exert horrifying power by\n"
+ "releasing pent-up energy all at once.");
+
+const u8 gSlakingPokedexTextUnused[] = _("");
+
+const u8 gNincadaPokedexText[] = _(
+ "Because it lived almost entirely\n"
+ "underground, it is nearly blind.\n"
+ "It uses its antennae instead.");
+
+const u8 gNincadaPokedexTextUnused[] = _("");
+
+const u8 gNinjaskPokedexText[] = _(
+ "This POKéMON is so quick, it is said to\n"
+ "be able to avoid any attack. It loves to\n"
+ "feed on tree sap.");
+
+const u8 gNinjaskPokedexTextUnused[] = _("");
+
+const u8 gShedinjaPokedexText[] = _(
+ "A most peculiar POKéMON that somehow\n"
+ "appears in a POKé BALL when a NINCADA\n"
+ "evolves.");
+
+const u8 gShedinjaPokedexTextUnused[] = _("");
+
+const u8 gWhismurPokedexText[] = _(
+ "It usually murmurs, but starts crying\n"
+ "loudly if it senses danger. It stops when\n"
+ "its ear covers are shut.");
+
+const u8 gWhismurPokedexTextUnused[] = _("");
+
+const u8 gLoudredPokedexText[] = _(
+ "When it stamps its feet and bellows, it\n"
+ "generates ultrasonic waves that can blow\n"
+ "apart a house.");
+
+const u8 gLoudredPokedexTextUnused[] = _("");
+
+const u8 gExploudPokedexText[] = _(
+ "It emits a variety of sounds from the \n"
+ "holes all over its body. Its loud cries\n"
+ "can be heard from over six miles away.");
+
+const u8 gExploudPokedexTextUnused[] = _("");
+
+const u8 gMakuhitaPokedexText[] = _(
+ "It grows stronger by enduring harsh\n"
+ "training. It is a gutsy POKéMON that can\n"
+ "withstand any attack.");
+
+const u8 gMakuhitaPokedexTextUnused[] = _("");
+
+const u8 gHariyamaPokedexText[] = _(
+ "It stomps on the ground to build power.\n"
+ "It can send a 10-ton truck flying with a\n"
+ "straight-arm punch.");
+
+const u8 gHariyamaPokedexTextUnused[] = _("");
+
+const u8 gAzurillPokedexText[] = _(
+ "It battles by flinging around its tail,\n"
+ "which is bigger than its body. The\n"
+ "tail is a flotation device in water.");
+
+const u8 gAzurillPokedexTextUnused[] = _("");
+
+const u8 gNosepassPokedexText[] = _(
+ "Its magnetic nose consistently faces\n"
+ "north. Travelers check NOSEPASS to get\n"
+ "their bearings.");
+
+const u8 gNosepassPokedexTextUnused[] = _("");
+
+const u8 gSkittyPokedexText[] = _(
+ "It is said to be difficult to earn its\n"
+ "trust. However, it is extremely popular\n"
+ "for its cute looks and behavior.");
+
+const u8 gSkittyPokedexTextUnused[] = _("");
+
+const u8 gDelcattyPokedexText[] = _(
+ "The favorite of trend-conscious\n"
+ "female TRAINERS, they are used in\n"
+ "competition for their style and fur.");
+
+const u8 gDelcattyPokedexTextUnused[] = _("");
+
+const u8 gSableyePokedexText[] = _(
+ "It feeds on gemstone crystals.\n"
+ "In darkness, its eyes sparkle with the\n"
+ "glitter of jewels.");
+
+const u8 gSableyePokedexTextUnused[] = _("");
+
+const u8 gMawilePokedexText[] = _(
+ "It uses its docile-looking face to lull\n"
+ "foes into complacency, then bites with its\n"
+ "huge, relentless jaws.");
+
+const u8 gMawilePokedexTextUnused[] = _("");
+
+const u8 gAronPokedexText[] = _(
+ "It eats iron to build its steel body.\n"
+ "It is a pest that descends from mountains\n"
+ "to eat bridges and train tracks.");
+
+const u8 gAronPokedexTextUnused[] = _("");
+
+const u8 gLaironPokedexText[] = _(
+ "It habitually shows off its strength with\n"
+ "the size of sparks it creates by ramming\n"
+ "its steel body into boulders.");
+
+const u8 gLaironPokedexTextUnused[] = _("");
+
+const u8 gAggronPokedexText[] = _(
+ "It claims a large mountain as its sole\n"
+ "territory. It mercilessly thrashes those\n"
+ "that violate its space.");
+
+const u8 gAggronPokedexTextUnused[] = _("");
+
+const u8 gMedititePokedexText[] = _(
+ "It never skips its daily yoga training.\n"
+ "It heightens its inner strength through\n"
+ "meditation.");
+
+const u8 gMedititePokedexTextUnused[] = _("");
+
+const u8 gMedichamPokedexText[] = _(
+ "It elegantly avoids attacks with dance-\n"
+ "like steps, then launches a devastating\n"
+ "blow in the same motion.");
+
+const u8 gMedichamPokedexTextUnused[] = _("");
+
+const u8 gElectrikePokedexText[] = _(
+ "It stores static electricity in its fur\n"
+ "for discharging. It gives off sparks if a\n"
+ "storm approaches.");
+
+const u8 gElectrikePokedexTextUnused[] = _("");
+
+const u8 gManectricPokedexText[] = _(
+ "It rarely appears before people.\n"
+ "It is said to nest where lightning has\n"
+ "fallen.");
+
+const u8 gManectricPokedexTextUnused[] = _("");
+
+const u8 gPluslePokedexText[] = _(
+ "It cheers on partners while scattering\n"
+ "sparks from its body. It climbs telephone\n"
+ "poles to absorb electricity.");
+
+const u8 gPluslePokedexTextUnused[] = _("");
+
+const u8 gMinunPokedexText[] = _(
+ "Its dislike of water makes it take shelter\n"
+ "under the eaves of houses in rain. It uses\n"
+ "pom-poms made of sparks for cheering.");
+
+const u8 gMinunPokedexTextUnused[] = _("");
+
+const u8 gVolbeatPokedexText[] = _(
+ "It lives around clean ponds. At night,\n"
+ "its rear lights up. It converses with\n"
+ "others by flashing its light.");
+
+const u8 gVolbeatPokedexTextUnused[] = _("");
+
+const u8 gIllumisePokedexText[] = _(
+ "It guides VOLBEAT to draw signs in night\n"
+ "skies. There are scientists that study the\n"
+ "patterns it creates.");
+
+const u8 gIllumisePokedexTextUnused[] = _("");
+
+const u8 gRoseliaPokedexText[] = _(
+ "Its flowers give off a relaxing fragrance.\n"
+ "The stronger its aroma, the healthier\n"
+ "the ROSELIA is.");
+
+const u8 gRoseliaPokedexTextUnused[] = _("");
+
+const u8 gGulpinPokedexText[] = _(
+ "There is nothing its stomach can't digest.\n"
+ "While it is digesting, vile, overpowering\n"
+ "gases are expelled.");
+
+const u8 gGulpinPokedexTextUnused[] = _("");
+
+const u8 gSwalotPokedexText[] = _(
+ "It can swallow a tire whole in one gulp.\n"
+ "It secretes a horribly toxic fluid from\n"
+ "the pores on its body.");
+
+const u8 gSwalotPokedexTextUnused[] = _("");
+
+const u8 gCarvanhaPokedexText[] = _(
+ "It lives in massive rivers that course\n"
+ "through jungles. It swarms prey that\n"
+ "enter its territory.");
+
+const u8 gCarvanhaPokedexTextUnused[] = _("");
+
+const u8 gSharpedoPokedexText[] = _(
+ "The ruffian of the seas, it has fangs that\n"
+ "crunch through iron. It swims by jetting\n"
+ "water from its rear.");
+
+const u8 gSharpedoPokedexTextUnused[] = _("");
+
+const u8 gWailmerPokedexText[] = _(
+ "When it sucks in a large volume of\n"
+ "seawater, it becomes like a big, bouncy\n"
+ "ball. It eats a ton of food daily.");
+
+const u8 gWailmerPokedexTextUnused[] = _("");
+
+const u8 gWailordPokedexText[] = _(
+ "It is among the largest of all POKéMON.\n"
+ "It herds prey in a pack then swallows the\n"
+ "massed prey in one gulp.");
+
+const u8 gWailordPokedexTextUnused[] = _("");
+
+const u8 gNumelPokedexText[] = _(
+ "Magma of almost 2,200 degrees Fahrenheit\n"
+ "courses through its body. When it grows\n"
+ "cold, the magma hardens and slows it.");
+
+const u8 gNumelPokedexTextUnused[] = _("");
+
+const u8 gCameruptPokedexText[] = _(
+ "If angered, the humps on its back erupt\n"
+ "in a shower of molten lava. It lives in\n"
+ "the craters of volcanoes.");
+
+const u8 gCameruptPokedexTextUnused[] = _("");
+
+const u8 gTorkoalPokedexText[] = _(
+ "It burns coal inside its shell. If it is\n"
+ "attacked, it belches thick, black smoke\n"
+ "and flees.");
+
+const u8 gTorkoalPokedexTextUnused[] = _("");
+
+const u8 gSpoinkPokedexText[] = _(
+ "It apparently dies if it stops bouncing\n"
+ "about. It carries a pearl from CLAMPERL\n"
+ "on its head.");
+
+const u8 gSpoinkPokedexTextUnused[] = _("");
+
+const u8 gGrumpigPokedexText[] = _(
+ "It can gain control over foes by doing\n"
+ "odd dance steps. The black pearls on its\n"
+ "forehead are precious gems.");
+
+const u8 gGrumpigPokedexTextUnused[] = _("");
+
+const u8 gSpindaPokedexText[] = _(
+ "No two SPINDA are said to have identical\n"
+ "patterns. It confuses foes with its\n"
+ "stumbling motions.");
+
+const u8 gSpindaPokedexTextUnused[] = _("");
+
+const u8 gTrapinchPokedexText[] = _(
+ "It lives in arid deserts. It makes a\n"
+ "sloping pit trap in sand where it\n"
+ "patiently awaits prey.");
+
+const u8 gTrapinchPokedexTextUnused[] = _("");
+
+const u8 gVibravaPokedexText[] = _(
+ "It generates ultrasonic waves by violently\n"
+ "flapping its wings. After making its prey\n"
+ "faint, it melts the prey with acid.");
+
+const u8 gVibravaPokedexTextUnused[] = _("");
+
+const u8 gFlygonPokedexText[] = _(
+ "It hides itself by kicking up desert sand\n"
+ "with its wings. Red covers shield its eyes\n"
+ "from sand.");
+
+const u8 gFlygonPokedexTextUnused[] = _("");
+
+const u8 gCacneaPokedexText[] = _(
+ "It prefers harsh environments such as\n"
+ "deserts. It can survive for 30 days on\n"
+ "water stored in its body.");
+
+const u8 gCacneaPokedexTextUnused[] = _("");
+
+const u8 gCacturnePokedexText[] = _(
+ "It lives in deserts. It becomes active at\n"
+ "night when it hunts for prey exhausted\n"
+ "from the desert's heat.");
+
+const u8 gCacturnePokedexTextUnused[] = _("");
+
+const u8 gSwabluPokedexText[] = _(
+ "It constantly grooms its cotton-like\n"
+ "wings. It takes a shower to clean\n"
+ "itself if it becomes dirty.");
+
+const u8 gSwabluPokedexTextUnused[] = _("");
+
+const u8 gAltariaPokedexText[] = _(
+ "If you hear a beautiful melody trilling\n"
+ "deep among mountains far from people,\n"
+ "it is ALTARIA's humming.");
+
+const u8 gAltariaPokedexTextUnused[] = _("");
+
+const u8 gZangoosePokedexText[] = _(
+ "If it comes across a SEVIPER, its fur\n"
+ "bristles and it assumes its battle pose.\n"
+ "Its sharp claws are its best weapon.");
+
+const u8 gZangoosePokedexTextUnused[] = _("");
+
+const u8 gSeviperPokedexText[] = _(
+ "It sharpens its swordlike tail on hard\n"
+ "rocks. It hides in tall grass and strikes\n"
+ "unwary prey with venomous fangs.");
+
+const u8 gSeviperPokedexTextUnused[] = _("");
+
+const u8 gLunatonePokedexText[] = _(
+ "Its health ebbs and flows with the lunar\n"
+ "cycle. It brims with power when exposed\n"
+ "to the light of the full moon.");
+
+const u8 gLunatonePokedexTextUnused[] = _("");
+
+const u8 gSolrockPokedexText[] = _(
+ "It absorbs solar energy during the day.\n"
+ "Always expressionless, it can sense what\n"
+ "its foe is thinking.");
+
+const u8 gSolrockPokedexTextUnused[] = _("");
+
+const u8 gBarboachPokedexText[] = _(
+ "It probes muddy riverbeds with its two\n"
+ "long whiskers. A slimy film protects its\n"
+ "body.");
+
+const u8 gBarboachPokedexTextUnused[] = _("");
+
+const u8 gWhiscashPokedexText[] = _(
+ "It makes its nest at the bottom of \n"
+ "swamps. It will eat anything - if it is\n"
+ "alive, WHISCASH will eat it.");
+
+const u8 gWhiscashPokedexTextUnused[] = _("");
+
+const u8 gCorphishPokedexText[] = _(
+ "It came from overseas. It is a very hardy\n"
+ "creature that will quickly proliferate,\n"
+ "even in polluted streams.");
+
+const u8 gCorphishPokedexTextUnused[] = _("");
+
+const u8 gCrawdauntPokedexText[] = _(
+ "A rough customer that wildly flails its\n"
+ "giant claws. It is said to be extremely\n"
+ "hard to raise.");
+
+const u8 gCrawdauntPokedexTextUnused[] = _("");
+
+const u8 gBaltoyPokedexText[] = _(
+ "It was discovered in ancient ruins.\n"
+ "While moving, it constantly spins. It\n"
+ "stands on one foot even when asleep.");
+
+const u8 gBaltoyPokedexTextUnused[] = _("");
+
+const u8 gClaydolPokedexText[] = _(
+ "It appears to have been born from clay\n"
+ "dolls made by ancient people. It uses\n"
+ "telekinesis to float and move.");
+
+const u8 gClaydolPokedexTextUnused[] = _("");
+
+const u8 gLileepPokedexText[] = _(
+ "It became extinct roughly 100 million\n"
+ "years ago. It was regenerated from a\n"
+ "fossil using advanced techniques.");
+
+const u8 gLileepPokedexTextUnused[] = _("");
+
+const u8 gCradilyPokedexText[] = _(
+ "It ensnares prey with its eight tentacles.\n"
+ "It then melts the prey with a strong acid\n"
+ "before feeding.");
+
+const u8 gCradilyPokedexTextUnused[] = _("");
+
+const u8 gAnorithPokedexText[] = _(
+ "It is a kind of POKéMON progenitor.\n"
+ "It uses its extending claws to catch prey\n"
+ "hiding among rocks on the seafloor.");
+
+const u8 gAnorithPokedexTextUnused[] = _("");
+
+const u8 gArmaldoPokedexText[] = _(
+ "Protected by a hard shell, its body is\n"
+ "very sturdy. It skewers prey with its\n"
+ "claws to feed.");
+
+const u8 gArmaldoPokedexTextUnused[] = _("");
+
+const u8 gFeebasPokedexText[] = _(
+ "Ridiculed for its shabby appearance,\n"
+ "it is ignored by researchers. It lives in\n"
+ "ponds choked with weeds.");
+
+const u8 gFeebasPokedexTextUnused[] = _("");
+
+const u8 gMiloticPokedexText[] = _(
+ "MILOTIC is breathtakingly beautiful.\n"
+ "Those that see it are said to forget their\n"
+ "combative spirits.");
+
+const u8 gMiloticPokedexTextUnused[] = _("");
+
+const u8 gCastformPokedexText[] = _(
+ "It has the ability to change its form into\n"
+ "the sun, the rain, or a snow cloud, \n"
+ "depending on the weather.");
+
+const u8 gCastformPokedexTextUnused[] = _("");
+
+const u8 gKecleonPokedexText[] = _(
+ "It changes body color to blend in with\n"
+ "its surroundings. It also changes color if\n"
+ "it is happy or sad.");
+
+const u8 gKecleonPokedexTextUnused[] = _("");
+
+const u8 gShuppetPokedexText[] = _(
+ "It loves to feed on feelings like envy and\n"
+ "malice. Its upright horn catches the\n"
+ "emotions of people.");
+
+const u8 gShuppetPokedexTextUnused[] = _("");
+
+const u8 gBanettePokedexText[] = _(
+ "Strong feelings of hatred turned a puppet\n"
+ "into a POKéMON. If it opens its mouth,\n"
+ "its cursed energy escapes.");
+
+const u8 gBanettePokedexTextUnused[] = _("");
+
+const u8 gDuskullPokedexText[] = _(
+ "Making itself invisible, it silently sneaks\n"
+ "up to prey. It has the ability to slip\n"
+ "through thick walls.");
+
+const u8 gDuskullPokedexTextUnused[] = _("");
+
+const u8 gDusclopsPokedexText[] = _(
+ "Its body is entirely hollow. When it opens\n"
+ "its mouth, it sucks everything in as if it\n"
+ "were a black hole.");
+
+const u8 gDusclopsPokedexTextUnused[] = _("");
+
+const u8 gTropiusPokedexText[] = _(
+ "It lives in tropical jungles. The bunch of\n"
+ "fruit around its neck is delicious.\n"
+ "The fruit grows twice a year.");
+
+const u8 gTropiusPokedexTextUnused[] = _("");
+
+const u8 gChimechoPokedexText[] = _(
+ "It travels by riding on winds. It cleverly\n"
+ "uses its long tail to pluck nuts and\n"
+ "berries, which it loves to eat.");
+
+const u8 gChimechoPokedexTextUnused[] = _("");
+
+const u8 gAbsolPokedexText[] = _(
+ "It appears when it senses an impending\n"
+ "natural disaster. As a result, it was\n"
+ "mistaken as a doom-bringer.");
+
+const u8 gAbsolPokedexTextUnused[] = _("");
+
+const u8 gWynautPokedexText[] = _(
+ "It tends to move in a pack with others.\n"
+ "They cluster in a tight group to sleep in\n"
+ "a cave.");
+
+const u8 gWynautPokedexTextUnused[] = _("");
+
+const u8 gSnoruntPokedexText[] = _(
+ "It is said that a home visited by a\n"
+ "SNORUNT will prosper. It can withstand\n"
+ "cold of minus 150 degrees Fahrenheit.");
+
+const u8 gSnoruntPokedexTextUnused[] = _("");
+
+const u8 gGlaliePokedexText[] = _(
+ "It has a body of ice that won't melt,\n"
+ "even with fire. It can instantly freeze\n"
+ "moisture in the atmosphere.");
+
+const u8 gGlaliePokedexTextUnused[] = _("");
+
+const u8 gSphealPokedexText[] = _(
+ "Its body is covered in fluffy fur.\n"
+ "The fur keeps it from feeling cold while\n"
+ "it is rolling on ice.");
+
+const u8 gSphealPokedexTextUnused[] = _("");
+
+const u8 gSealeoPokedexText[] = _(
+ "It touches new things with its nose to\n"
+ "test for smell and feel. It plays by\n"
+ "spinning SPHEAL on its nose.");
+
+const u8 gSealeoPokedexTextUnused[] = _("");
+
+const u8 gWalreinPokedexText[] = _(
+ "It swims through icy seas while shattering\n"
+ "ice floes with its large tusks. It is\n"
+ "protected by its thick blubber.");
+
+const u8 gWalreinPokedexTextUnused[] = _("");
+
+const u8 gClamperlPokedexText[] = _(
+ "It is protected by a sturdy shell.\n"
+ "Once in a lifetime, it makes a magnificent\n"
+ "pearl.");
+
+const u8 gClamperlPokedexTextUnused[] = _("");
+
+const u8 gHuntailPokedexText[] = _(
+ "It lives deep in the sea where no light\n"
+ "ever filters down. It lights up its small\n"
+ "fishlike tail to attract prey.");
+
+const u8 gHuntailPokedexTextUnused[] = _("");
+
+const u8 gGorebyssPokedexText[] = _(
+ "Its swimming form is exquisitely elegant.\n"
+ "With its thin mouth, it feeds on seaweed\n"
+ "that grows between rocks.");
+
+const u8 gGorebyssPokedexTextUnused[] = _("");
+
+const u8 gRelicanthPokedexText[] = _(
+ "It has remained unchanged for 100\n"
+ "million years. It was discovered\n"
+ "during a deep-sea exploration.");
+
+const u8 gRelicanthPokedexTextUnused[] = _("");
+
+const u8 gLuvdiscPokedexText[] = _(
+ "During the spawning season, countless\n"
+ "LUVDISC congregate at coral reefs,\n"
+ "turning the waters pink.");
+
+const u8 gLuvdiscPokedexTextUnused[] = _("");
+
+const u8 gBagonPokedexText[] = _(
+ "Its steel-hard head can shatter boulders.\n"
+ "It longingly hopes for wings to grow so it\n"
+ "can fly.");
+
+const u8 gBagonPokedexTextUnused[] = _("");
+
+const u8 gShelgonPokedexText[] = _(
+ "Its armored body makes all attacks bounce\n"
+ "off. The armor is too tough, however,\n"
+ "making it heavy and somewhat sluggish.");
+
+const u8 gShelgonPokedexTextUnused[] = _("");
+
+const u8 gSalamencePokedexText[] = _(
+ "It becomes uncontrollable if it is\n"
+ "enraged. It destroys everything with\n"
+ "shredding claws and fire.");
+
+const u8 gSalamencePokedexTextUnused[] = _("");
+
+const u8 gBeldumPokedexText[] = _(
+ "It uses magnetic waves to converse with\n"
+ "its kind. All the cells in its body are\n"
+ "magnetic.");
+
+const u8 gBeldumPokedexTextUnused[] = _("");
+
+const u8 gMetangPokedexText[] = _(
+ "It floats midair using magnetism. Its body\n"
+ "is so tough, even a crash with a jet\n"
+ "plane won't leave a scratch.");
+
+const u8 gMetangPokedexTextUnused[] = _("");
+
+const u8 gMetagrossPokedexText[] = _(
+ "It is formed by two METANG fusing.\n"
+ "Its four brains are said to be superior\n"
+ "to a supercomputer.");
+
+const u8 gMetagrossPokedexTextUnused[] = _("");
+
+const u8 gRegirockPokedexText[] = _(
+ "It is entirely composed of rocks with no\n"
+ "sign of a brain or heart. It is a mystery\n"
+ "even to modern scientists.");
+
+const u8 gRegirockPokedexTextUnused[] = _("");
+
+const u8 gRegicePokedexText[] = _(
+ "Research revealed that its body is made\n"
+ "of the same kind of ice that is found at\n"
+ "the South Pole.");
+
+const u8 gRegicePokedexTextUnused[] = _("");
+
+const u8 gRegisteelPokedexText[] = _(
+ "It is sturdier than any kind of metal.\n"
+ "It hardened due to pressure underground\n"
+ "over tens of thousands of years.");
+
+const u8 gRegisteelPokedexTextUnused[] = _("");
+
+const u8 gLatiasPokedexText[] = _(
+ "It can telepathically communicate with\n"
+ "people. It changes its appearance using\n"
+ "its down that refracts light.");
+
+const u8 gLatiasPokedexTextUnused[] = _("");
+
+const u8 gLatiosPokedexText[] = _(
+ "It has a docile temperament and dislikes\n"
+ "fighting. Tucking in its forelegs, it can\n"
+ "fly faster than a jet plane.");
+
+const u8 gLatiosPokedexTextUnused[] = _("");
+
+const u8 gKyogrePokedexText[] = _(
+ "This POKéMON is said to have expanded\n"
+ "the sea by bringing heavy rains.\n"
+ "It has the power to control water.");
+
+const u8 gKyogrePokedexTextUnused[] = _("");
+
+const u8 gGroudonPokedexText[] = _(
+ "This legendary POKéMON is said to\n"
+ "represent the land. It went to sleep after\n"
+ "dueling KYOGRE.");
+
+const u8 gGroudonPokedexTextUnused[] = _("");
+
+const u8 gRayquazaPokedexText[] = _(
+ "It has lived for hundreds of millions of\n"
+ "years in the ozone layer. Its flying form\n"
+ "looks like a meteor.");
+
+const u8 gRayquazaPokedexTextUnused[] = _("");
+
+const u8 gJirachiPokedexText[] = _(
+ "It is said to make any wish come true.\n"
+ "It is awake for only seven days out of\n"
+ "a thousand years.");
+
+const u8 gJirachiPokedexTextUnused[] = _("");
+
+const u8 gDeoxysPokedexText[] = _(
+ "When it changes form, an aurora appears.\n"
+ "It absorbs attacks by altering its\n"
+ "cellular structure.");
+
+const u8 gDeoxysPokedexTextUnused[] = _("");
diff --git a/src/data/pokemon_graphics/footprint_table.h b/src/data/pokemon_graphics/footprint_table.h
new file mode 100644
index 000000000..86ca06790
--- /dev/null
+++ b/src/data/pokemon_graphics/footprint_table.h
@@ -0,0 +1,416 @@
+const u8 *const gMonFootprintTable[] =
+{
+ [SPECIES_NONE] = gMonFootprint_Bulbasaur,
+ [SPECIES_BULBASAUR] = gMonFootprint_Bulbasaur,
+ [SPECIES_IVYSAUR] = gMonFootprint_Ivysaur,
+ [SPECIES_VENUSAUR] = gMonFootprint_Venusaur,
+ [SPECIES_CHARMANDER] = gMonFootprint_Charmander,
+ [SPECIES_CHARMELEON] = gMonFootprint_Charmeleon,
+ [SPECIES_CHARIZARD] = gMonFootprint_Charizard,
+ [SPECIES_SQUIRTLE] = gMonFootprint_Squirtle,
+ [SPECIES_WARTORTLE] = gMonFootprint_Wartortle,
+ [SPECIES_BLASTOISE] = gMonFootprint_Blastoise,
+ [SPECIES_CATERPIE] = gMonFootprint_Caterpie,
+ [SPECIES_METAPOD] = gMonFootprint_Metapod,
+ [SPECIES_BUTTERFREE] = gMonFootprint_Butterfree,
+ [SPECIES_WEEDLE] = gMonFootprint_Weedle,
+ [SPECIES_KAKUNA] = gMonFootprint_Kakuna,
+ [SPECIES_BEEDRILL] = gMonFootprint_Beedrill,
+ [SPECIES_PIDGEY] = gMonFootprint_Pidgey,
+ [SPECIES_PIDGEOTTO] = gMonFootprint_Pidgeotto,
+ [SPECIES_PIDGEOT] = gMonFootprint_Pidgeot,
+ [SPECIES_RATTATA] = gMonFootprint_Rattata,
+ [SPECIES_RATICATE] = gMonFootprint_Raticate,
+ [SPECIES_SPEAROW] = gMonFootprint_Spearow,
+ [SPECIES_FEAROW] = gMonFootprint_Fearow,
+ [SPECIES_EKANS] = gMonFootprint_Ekans,
+ [SPECIES_ARBOK] = gMonFootprint_Arbok,
+ [SPECIES_PIKACHU] = gMonFootprint_Pikachu,
+ [SPECIES_RAICHU] = gMonFootprint_Raichu,
+ [SPECIES_SANDSHREW] = gMonFootprint_Sandshrew,
+ [SPECIES_SANDSLASH] = gMonFootprint_Sandslash,
+ [SPECIES_NIDORAN_F] = gMonFootprint_NidoranF,
+ [SPECIES_NIDORINA] = gMonFootprint_Nidorina,
+ [SPECIES_NIDOQUEEN] = gMonFootprint_Nidoqueen,
+ [SPECIES_NIDORAN_M] = gMonFootprint_NidoranM,
+ [SPECIES_NIDORINO] = gMonFootprint_Nidorino,
+ [SPECIES_NIDOKING] = gMonFootprint_Nidoking,
+ [SPECIES_CLEFAIRY] = gMonFootprint_Clefairy,
+ [SPECIES_CLEFABLE] = gMonFootprint_Clefable,
+ [SPECIES_VULPIX] = gMonFootprint_Vulpix,
+ [SPECIES_NINETALES] = gMonFootprint_Ninetales,
+ [SPECIES_JIGGLYPUFF] = gMonFootprint_Jigglypuff,
+ [SPECIES_WIGGLYTUFF] = gMonFootprint_Wigglytuff,
+ [SPECIES_ZUBAT] = gMonFootprint_Zubat,
+ [SPECIES_GOLBAT] = gMonFootprint_Golbat,
+ [SPECIES_ODDISH] = gMonFootprint_Oddish,
+ [SPECIES_GLOOM] = gMonFootprint_Gloom,
+ [SPECIES_VILEPLUME] = gMonFootprint_Vileplume,
+ [SPECIES_PARAS] = gMonFootprint_Paras,
+ [SPECIES_PARASECT] = gMonFootprint_Parasect,
+ [SPECIES_VENONAT] = gMonFootprint_Venonat,
+ [SPECIES_VENOMOTH] = gMonFootprint_Venomoth,
+ [SPECIES_DIGLETT] = gMonFootprint_Diglett,
+ [SPECIES_DUGTRIO] = gMonFootprint_Dugtrio,
+ [SPECIES_MEOWTH] = gMonFootprint_Meowth,
+ [SPECIES_PERSIAN] = gMonFootprint_Persian,
+ [SPECIES_PSYDUCK] = gMonFootprint_Psyduck,
+ [SPECIES_GOLDUCK] = gMonFootprint_Golduck,
+ [SPECIES_MANKEY] = gMonFootprint_Mankey,
+ [SPECIES_PRIMEAPE] = gMonFootprint_Primeape,
+ [SPECIES_GROWLITHE] = gMonFootprint_Growlithe,
+ [SPECIES_ARCANINE] = gMonFootprint_Arcanine,
+ [SPECIES_POLIWAG] = gMonFootprint_Poliwag,
+ [SPECIES_POLIWHIRL] = gMonFootprint_Poliwhirl,
+ [SPECIES_POLIWRATH] = gMonFootprint_Poliwrath,
+ [SPECIES_ABRA] = gMonFootprint_Abra,
+ [SPECIES_KADABRA] = gMonFootprint_Kadabra,
+ [SPECIES_ALAKAZAM] = gMonFootprint_Alakazam,
+ [SPECIES_MACHOP] = gMonFootprint_Machop,
+ [SPECIES_MACHOKE] = gMonFootprint_Machoke,
+ [SPECIES_MACHAMP] = gMonFootprint_Machamp,
+ [SPECIES_BELLSPROUT] = gMonFootprint_Bellsprout,
+ [SPECIES_WEEPINBELL] = gMonFootprint_Weepinbell,
+ [SPECIES_VICTREEBEL] = gMonFootprint_Victreebel,
+ [SPECIES_TENTACOOL] = gMonFootprint_Tentacool,
+ [SPECIES_TENTACRUEL] = gMonFootprint_Tentacruel,
+ [SPECIES_GEODUDE] = gMonFootprint_Geodude,
+ [SPECIES_GRAVELER] = gMonFootprint_Graveler,
+ [SPECIES_GOLEM] = gMonFootprint_Golem,
+ [SPECIES_PONYTA] = gMonFootprint_Ponyta,
+ [SPECIES_RAPIDASH] = gMonFootprint_Rapidash,
+ [SPECIES_SLOWPOKE] = gMonFootprint_Slowpoke,
+ [SPECIES_SLOWBRO] = gMonFootprint_Slowbro,
+ [SPECIES_MAGNEMITE] = gMonFootprint_Magnemite,
+ [SPECIES_MAGNETON] = gMonFootprint_Magneton,
+ [SPECIES_FARFETCHD] = gMonFootprint_Farfetchd,
+ [SPECIES_DODUO] = gMonFootprint_Doduo,
+ [SPECIES_DODRIO] = gMonFootprint_Dodrio,
+ [SPECIES_SEEL] = gMonFootprint_Seel,
+ [SPECIES_DEWGONG] = gMonFootprint_Dewgong,
+ [SPECIES_GRIMER] = gMonFootprint_Grimer,
+ [SPECIES_MUK] = gMonFootprint_Muk,
+ [SPECIES_SHELLDER] = gMonFootprint_Shellder,
+ [SPECIES_CLOYSTER] = gMonFootprint_Cloyster,
+ [SPECIES_GASTLY] = gMonFootprint_Gastly,
+ [SPECIES_HAUNTER] = gMonFootprint_Haunter,
+ [SPECIES_GENGAR] = gMonFootprint_Gengar,
+ [SPECIES_ONIX] = gMonFootprint_Onix,
+ [SPECIES_DROWZEE] = gMonFootprint_Drowzee,
+ [SPECIES_HYPNO] = gMonFootprint_Hypno,
+ [SPECIES_KRABBY] = gMonFootprint_Krabby,
+ [SPECIES_KINGLER] = gMonFootprint_Kingler,
+ [SPECIES_VOLTORB] = gMonFootprint_Voltorb,
+ [SPECIES_ELECTRODE] = gMonFootprint_Electrode,
+ [SPECIES_EXEGGCUTE] = gMonFootprint_Exeggcute,
+ [SPECIES_EXEGGUTOR] = gMonFootprint_Exeggutor,
+ [SPECIES_CUBONE] = gMonFootprint_Cubone,
+ [SPECIES_MAROWAK] = gMonFootprint_Marowak,
+ [SPECIES_HITMONLEE] = gMonFootprint_Hitmonlee,
+ [SPECIES_HITMONCHAN] = gMonFootprint_Hitmonchan,
+ [SPECIES_LICKITUNG] = gMonFootprint_Lickitung,
+ [SPECIES_KOFFING] = gMonFootprint_Koffing,
+ [SPECIES_WEEZING] = gMonFootprint_Weezing,
+ [SPECIES_RHYHORN] = gMonFootprint_Rhyhorn,
+ [SPECIES_RHYDON] = gMonFootprint_Rhydon,
+ [SPECIES_CHANSEY] = gMonFootprint_Chansey,
+ [SPECIES_TANGELA] = gMonFootprint_Tangela,
+ [SPECIES_KANGASKHAN] = gMonFootprint_Kangaskhan,
+ [SPECIES_HORSEA] = gMonFootprint_Horsea,
+ [SPECIES_SEADRA] = gMonFootprint_Seadra,
+ [SPECIES_GOLDEEN] = gMonFootprint_Goldeen,
+ [SPECIES_SEAKING] = gMonFootprint_Seaking,
+ [SPECIES_STARYU] = gMonFootprint_Staryu,
+ [SPECIES_STARMIE] = gMonFootprint_Starmie,
+ [SPECIES_MR_MIME] = gMonFootprint_Mrmime,
+ [SPECIES_SCYTHER] = gMonFootprint_Scyther,
+ [SPECIES_JYNX] = gMonFootprint_Jynx,
+ [SPECIES_ELECTABUZZ] = gMonFootprint_Electabuzz,
+ [SPECIES_MAGMAR] = gMonFootprint_Magmar,
+ [SPECIES_PINSIR] = gMonFootprint_Pinsir,
+ [SPECIES_TAUROS] = gMonFootprint_Tauros,
+ [SPECIES_MAGIKARP] = gMonFootprint_Magikarp,
+ [SPECIES_GYARADOS] = gMonFootprint_Gyarados,
+ [SPECIES_LAPRAS] = gMonFootprint_Lapras,
+ [SPECIES_DITTO] = gMonFootprint_Ditto,
+ [SPECIES_EEVEE] = gMonFootprint_Eevee,
+ [SPECIES_VAPOREON] = gMonFootprint_Vaporeon,
+ [SPECIES_JOLTEON] = gMonFootprint_Jolteon,
+ [SPECIES_FLAREON] = gMonFootprint_Flareon,
+ [SPECIES_PORYGON] = gMonFootprint_Porygon,
+ [SPECIES_OMANYTE] = gMonFootprint_Omanyte,
+ [SPECIES_OMASTAR] = gMonFootprint_Omastar,
+ [SPECIES_KABUTO] = gMonFootprint_Kabuto,
+ [SPECIES_KABUTOPS] = gMonFootprint_Kabutops,
+ [SPECIES_AERODACTYL] = gMonFootprint_Aerodactyl,
+ [SPECIES_SNORLAX] = gMonFootprint_Snorlax,
+ [SPECIES_ARTICUNO] = gMonFootprint_Articuno,
+ [SPECIES_ZAPDOS] = gMonFootprint_Zapdos,
+ [SPECIES_MOLTRES] = gMonFootprint_Moltres,
+ [SPECIES_DRATINI] = gMonFootprint_Dratini,
+ [SPECIES_DRAGONAIR] = gMonFootprint_Dragonair,
+ [SPECIES_DRAGONITE] = gMonFootprint_Dragonite,
+ [SPECIES_MEWTWO] = gMonFootprint_Mewtwo,
+ [SPECIES_MEW] = gMonFootprint_Mew,
+ [SPECIES_CHIKORITA] = gMonFootprint_Chikorita,
+ [SPECIES_BAYLEEF] = gMonFootprint_Bayleef,
+ [SPECIES_MEGANIUM] = gMonFootprint_Meganium,
+ [SPECIES_CYNDAQUIL] = gMonFootprint_Cyndaquil,
+ [SPECIES_QUILAVA] = gMonFootprint_Quilava,
+ [SPECIES_TYPHLOSION] = gMonFootprint_Typhlosion,
+ [SPECIES_TOTODILE] = gMonFootprint_Totodile,
+ [SPECIES_CROCONAW] = gMonFootprint_Croconaw,
+ [SPECIES_FERALIGATR] = gMonFootprint_Feraligatr,
+ [SPECIES_SENTRET] = gMonFootprint_Sentret,
+ [SPECIES_FURRET] = gMonFootprint_Furret,
+ [SPECIES_HOOTHOOT] = gMonFootprint_Hoothoot,
+ [SPECIES_NOCTOWL] = gMonFootprint_Noctowl,
+ [SPECIES_LEDYBA] = gMonFootprint_Ledyba,
+ [SPECIES_LEDIAN] = gMonFootprint_Ledian,
+ [SPECIES_SPINARAK] = gMonFootprint_Spinarak,
+ [SPECIES_ARIADOS] = gMonFootprint_Ariados,
+ [SPECIES_CROBAT] = gMonFootprint_Crobat,
+ [SPECIES_CHINCHOU] = gMonFootprint_Chinchou,
+ [SPECIES_LANTURN] = gMonFootprint_Lanturn,
+ [SPECIES_PICHU] = gMonFootprint_Pichu,
+ [SPECIES_CLEFFA] = gMonFootprint_Cleffa,
+ [SPECIES_IGGLYBUFF] = gMonFootprint_Igglybuff,
+ [SPECIES_TOGEPI] = gMonFootprint_Togepi,
+ [SPECIES_TOGETIC] = gMonFootprint_Togetic,
+ [SPECIES_NATU] = gMonFootprint_Natu,
+ [SPECIES_XATU] = gMonFootprint_Xatu,
+ [SPECIES_MAREEP] = gMonFootprint_Mareep,
+ [SPECIES_FLAAFFY] = gMonFootprint_Flaaffy,
+ [SPECIES_AMPHAROS] = gMonFootprint_Ampharos,
+ [SPECIES_BELLOSSOM] = gMonFootprint_Bellossom,
+ [SPECIES_MARILL] = gMonFootprint_Marill,
+ [SPECIES_AZUMARILL] = gMonFootprint_Azumarill,
+ [SPECIES_SUDOWOODO] = gMonFootprint_Sudowoodo,
+ [SPECIES_POLITOED] = gMonFootprint_Politoed,
+ [SPECIES_HOPPIP] = gMonFootprint_Hoppip,
+ [SPECIES_SKIPLOOM] = gMonFootprint_Skiploom,
+ [SPECIES_JUMPLUFF] = gMonFootprint_Jumpluff,
+ [SPECIES_AIPOM] = gMonFootprint_Aipom,
+ [SPECIES_SUNKERN] = gMonFootprint_Sunkern,
+ [SPECIES_SUNFLORA] = gMonFootprint_Sunflora,
+ [SPECIES_YANMA] = gMonFootprint_Yanma,
+ [SPECIES_WOOPER] = gMonFootprint_Wooper,
+ [SPECIES_QUAGSIRE] = gMonFootprint_Quagsire,
+ [SPECIES_ESPEON] = gMonFootprint_Espeon,
+ [SPECIES_UMBREON] = gMonFootprint_Umbreon,
+ [SPECIES_MURKROW] = gMonFootprint_Murkrow,
+ [SPECIES_SLOWKING] = gMonFootprint_Slowking,
+ [SPECIES_MISDREAVUS] = gMonFootprint_Misdreavus,
+ [SPECIES_UNOWN] = gMonFootprint_Unown,
+ [SPECIES_WOBBUFFET] = gMonFootprint_Wobbuffet,
+ [SPECIES_GIRAFARIG] = gMonFootprint_Girafarig,
+ [SPECIES_PINECO] = gMonFootprint_Pineco,
+ [SPECIES_FORRETRESS] = gMonFootprint_Forretress,
+ [SPECIES_DUNSPARCE] = gMonFootprint_Dunsparce,
+ [SPECIES_GLIGAR] = gMonFootprint_Gligar,
+ [SPECIES_STEELIX] = gMonFootprint_Steelix,
+ [SPECIES_SNUBBULL] = gMonFootprint_Snubbull,
+ [SPECIES_GRANBULL] = gMonFootprint_Granbull,
+ [SPECIES_QWILFISH] = gMonFootprint_Qwilfish,
+ [SPECIES_SCIZOR] = gMonFootprint_Scizor,
+ [SPECIES_SHUCKLE] = gMonFootprint_Shuckle,
+ [SPECIES_HERACROSS] = gMonFootprint_Heracross,
+ [SPECIES_SNEASEL] = gMonFootprint_Sneasel,
+ [SPECIES_TEDDIURSA] = gMonFootprint_Teddiursa,
+ [SPECIES_URSARING] = gMonFootprint_Ursaring,
+ [SPECIES_SLUGMA] = gMonFootprint_Slugma,
+ [SPECIES_MAGCARGO] = gMonFootprint_Magcargo,
+ [SPECIES_SWINUB] = gMonFootprint_Swinub,
+ [SPECIES_PILOSWINE] = gMonFootprint_Piloswine,
+ [SPECIES_CORSOLA] = gMonFootprint_Corsola,
+ [SPECIES_REMORAID] = gMonFootprint_Remoraid,
+ [SPECIES_OCTILLERY] = gMonFootprint_Octillery,
+ [SPECIES_DELIBIRD] = gMonFootprint_Delibird,
+ [SPECIES_MANTINE] = gMonFootprint_Mantine,
+ [SPECIES_SKARMORY] = gMonFootprint_Skarmory,
+ [SPECIES_HOUNDOUR] = gMonFootprint_Houndour,
+ [SPECIES_HOUNDOOM] = gMonFootprint_Houndoom,
+ [SPECIES_KINGDRA] = gMonFootprint_Kingdra,
+ [SPECIES_PHANPY] = gMonFootprint_Phanpy,
+ [SPECIES_DONPHAN] = gMonFootprint_Donphan,
+ [SPECIES_PORYGON2] = gMonFootprint_Porygon2,
+ [SPECIES_STANTLER] = gMonFootprint_Stantler,
+ [SPECIES_SMEARGLE] = gMonFootprint_Smeargle,
+ [SPECIES_TYROGUE] = gMonFootprint_Tyrogue,
+ [SPECIES_HITMONTOP] = gMonFootprint_Hitmontop,
+ [SPECIES_SMOOCHUM] = gMonFootprint_Smoochum,
+ [SPECIES_ELEKID] = gMonFootprint_Elekid,
+ [SPECIES_MAGBY] = gMonFootprint_Magby,
+ [SPECIES_MILTANK] = gMonFootprint_Miltank,
+ [SPECIES_BLISSEY] = gMonFootprint_Blissey,
+ [SPECIES_RAIKOU] = gMonFootprint_Raikou,
+ [SPECIES_ENTEI] = gMonFootprint_Entei,
+ [SPECIES_SUICUNE] = gMonFootprint_Suicune,
+ [SPECIES_LARVITAR] = gMonFootprint_Larvitar,
+ [SPECIES_PUPITAR] = gMonFootprint_Pupitar,
+ [SPECIES_TYRANITAR] = gMonFootprint_Tyranitar,
+ [SPECIES_LUGIA] = gMonFootprint_Lugia,
+ [SPECIES_HO_OH] = gMonFootprint_HoOh,
+ [SPECIES_CELEBI] = gMonFootprint_Celebi,
+ [SPECIES_OLD_UNOWN_B] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_C] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_D] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_E] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_F] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_G] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_H] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_I] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_J] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_K] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_L] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_M] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_N] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_O] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_P] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_Q] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_R] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_S] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_T] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_U] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_V] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_W] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_X] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_Y] = gMonFootprint_QuestionMark,
+ [SPECIES_OLD_UNOWN_Z] = gMonFootprint_QuestionMark,
+ [SPECIES_TREECKO] = gMonFootprint_Treecko,
+ [SPECIES_GROVYLE] = gMonFootprint_Grovyle,
+ [SPECIES_SCEPTILE] = gMonFootprint_Sceptile,
+ [SPECIES_TORCHIC] = gMonFootprint_Torchic,
+ [SPECIES_COMBUSKEN] = gMonFootprint_Combusken,
+ [SPECIES_BLAZIKEN] = gMonFootprint_Blaziken,
+ [SPECIES_MUDKIP] = gMonFootprint_Mudkip,
+ [SPECIES_MARSHTOMP] = gMonFootprint_Marshtomp,
+ [SPECIES_SWAMPERT] = gMonFootprint_Swampert,
+ [SPECIES_POOCHYENA] = gMonFootprint_Poochyena,
+ [SPECIES_MIGHTYENA] = gMonFootprint_Mightyena,
+ [SPECIES_ZIGZAGOON] = gMonFootprint_Zigzagoon,
+ [SPECIES_LINOONE] = gMonFootprint_Linoone,
+ [SPECIES_WURMPLE] = gMonFootprint_Wurmple,
+ [SPECIES_SILCOON] = gMonFootprint_Silcoon,
+ [SPECIES_BEAUTIFLY] = gMonFootprint_Beautifly,
+ [SPECIES_CASCOON] = gMonFootprint_Cascoon,
+ [SPECIES_DUSTOX] = gMonFootprint_Dustox,
+ [SPECIES_LOTAD] = gMonFootprint_Lotad,
+ [SPECIES_LOMBRE] = gMonFootprint_Lombre,
+ [SPECIES_LUDICOLO] = gMonFootprint_Ludicolo,
+ [SPECIES_SEEDOT] = gMonFootprint_Seedot,
+ [SPECIES_NUZLEAF] = gMonFootprint_Nuzleaf,
+ [SPECIES_SHIFTRY] = gMonFootprint_Shiftry,
+ [SPECIES_NINCADA] = gMonFootprint_Nincada,
+ [SPECIES_NINJASK] = gMonFootprint_Ninjask,
+ [SPECIES_SHEDINJA] = gMonFootprint_Shedinja,
+ [SPECIES_TAILLOW] = gMonFootprint_Taillow,
+ [SPECIES_SWELLOW] = gMonFootprint_Swellow,
+ [SPECIES_SHROOMISH] = gMonFootprint_Shroomish,
+ [SPECIES_BRELOOM] = gMonFootprint_Breloom,
+ [SPECIES_SPINDA] = gMonFootprint_Spinda,
+ [SPECIES_WINGULL] = gMonFootprint_Wingull,
+ [SPECIES_PELIPPER] = gMonFootprint_Pelipper,
+ [SPECIES_SURSKIT] = gMonFootprint_Surskit,
+ [SPECIES_MASQUERAIN] = gMonFootprint_Masquerain,
+ [SPECIES_WAILMER] = gMonFootprint_Wailmer,
+ [SPECIES_WAILORD] = gMonFootprint_Wailord,
+ [SPECIES_SKITTY] = gMonFootprint_Skitty,
+ [SPECIES_DELCATTY] = gMonFootprint_Delcatty,
+ [SPECIES_KECLEON] = gMonFootprint_Kecleon,
+ [SPECIES_BALTOY] = gMonFootprint_Baltoy,
+ [SPECIES_CLAYDOL] = gMonFootprint_Claydol,
+ [SPECIES_NOSEPASS] = gMonFootprint_Nosepass,
+ [SPECIES_TORKOAL] = gMonFootprint_Torkoal,
+ [SPECIES_SABLEYE] = gMonFootprint_Sableye,
+ [SPECIES_BARBOACH] = gMonFootprint_Barboach,
+ [SPECIES_WHISCASH] = gMonFootprint_Whiscash,
+ [SPECIES_LUVDISC] = gMonFootprint_Luvdisc,
+ [SPECIES_CORPHISH] = gMonFootprint_Corphish,
+ [SPECIES_CRAWDAUNT] = gMonFootprint_Crawdaunt,
+ [SPECIES_FEEBAS] = gMonFootprint_Feebas,
+ [SPECIES_MILOTIC] = gMonFootprint_Milotic,
+ [SPECIES_CARVANHA] = gMonFootprint_Carvanha,
+ [SPECIES_SHARPEDO] = gMonFootprint_Sharpedo,
+ [SPECIES_TRAPINCH] = gMonFootprint_Trapinch,
+ [SPECIES_VIBRAVA] = gMonFootprint_Vibrava,
+ [SPECIES_FLYGON] = gMonFootprint_Flygon,
+ [SPECIES_MAKUHITA] = gMonFootprint_Makuhita,
+ [SPECIES_HARIYAMA] = gMonFootprint_Hariyama,
+ [SPECIES_ELECTRIKE] = gMonFootprint_Electrike,
+ [SPECIES_MANECTRIC] = gMonFootprint_Manectric,
+ [SPECIES_NUMEL] = gMonFootprint_Numel,
+ [SPECIES_CAMERUPT] = gMonFootprint_Camerupt,
+ [SPECIES_SPHEAL] = gMonFootprint_Spheal,
+ [SPECIES_SEALEO] = gMonFootprint_Sealeo,
+ [SPECIES_WALREIN] = gMonFootprint_Walrein,
+ [SPECIES_CACNEA] = gMonFootprint_Cacnea,
+ [SPECIES_CACTURNE] = gMonFootprint_Cacturne,
+ [SPECIES_SNORUNT] = gMonFootprint_Snorunt,
+ [SPECIES_GLALIE] = gMonFootprint_Glalie,
+ [SPECIES_LUNATONE] = gMonFootprint_Lunatone,
+ [SPECIES_SOLROCK] = gMonFootprint_Solrock,
+ [SPECIES_AZURILL] = gMonFootprint_Azurill,
+ [SPECIES_SPOINK] = gMonFootprint_Spoink,
+ [SPECIES_GRUMPIG] = gMonFootprint_Grumpig,
+ [SPECIES_PLUSLE] = gMonFootprint_Plusle,
+ [SPECIES_MINUN] = gMonFootprint_Minun,
+ [SPECIES_MAWILE] = gMonFootprint_Mawile,
+ [SPECIES_MEDITITE] = gMonFootprint_Meditite,
+ [SPECIES_MEDICHAM] = gMonFootprint_Medicham,
+ [SPECIES_SWABLU] = gMonFootprint_Swablu,
+ [SPECIES_ALTARIA] = gMonFootprint_Altaria,
+ [SPECIES_WYNAUT] = gMonFootprint_Wynaut,
+ [SPECIES_DUSKULL] = gMonFootprint_Duskull,
+ [SPECIES_DUSCLOPS] = gMonFootprint_Dusclops,
+ [SPECIES_ROSELIA] = gMonFootprint_Roselia,
+ [SPECIES_SLAKOTH] = gMonFootprint_Slakoth,
+ [SPECIES_VIGOROTH] = gMonFootprint_Vigoroth,
+ [SPECIES_SLAKING] = gMonFootprint_Slaking,
+ [SPECIES_GULPIN] = gMonFootprint_Gulpin,
+ [SPECIES_SWALOT] = gMonFootprint_Swalot,
+ [SPECIES_TROPIUS] = gMonFootprint_Tropius,
+ [SPECIES_WHISMUR] = gMonFootprint_Whismur,
+ [SPECIES_LOUDRED] = gMonFootprint_Loudred,
+ [SPECIES_EXPLOUD] = gMonFootprint_Exploud,
+ [SPECIES_CLAMPERL] = gMonFootprint_Clamperl,
+ [SPECIES_HUNTAIL] = gMonFootprint_Huntail,
+ [SPECIES_GOREBYSS] = gMonFootprint_Gorebyss,
+ [SPECIES_ABSOL] = gMonFootprint_Absol,
+ [SPECIES_SHUPPET] = gMonFootprint_Shuppet,
+ [SPECIES_BANETTE] = gMonFootprint_Banette,
+ [SPECIES_SEVIPER] = gMonFootprint_Seviper,
+ [SPECIES_ZANGOOSE] = gMonFootprint_Zangoose,
+ [SPECIES_RELICANTH] = gMonFootprint_Relicanth,
+ [SPECIES_ARON] = gMonFootprint_Aron,
+ [SPECIES_LAIRON] = gMonFootprint_Lairon,
+ [SPECIES_AGGRON] = gMonFootprint_Aggron,
+ [SPECIES_CASTFORM] = gMonFootprint_Castform,
+ [SPECIES_VOLBEAT] = gMonFootprint_Volbeat,
+ [SPECIES_ILLUMISE] = gMonFootprint_Illumise,
+ [SPECIES_LILEEP] = gMonFootprint_Lileep,
+ [SPECIES_CRADILY] = gMonFootprint_Cradily,
+ [SPECIES_ANORITH] = gMonFootprint_Anorith,
+ [SPECIES_ARMALDO] = gMonFootprint_Armaldo,
+ [SPECIES_RALTS] = gMonFootprint_Ralts,
+ [SPECIES_KIRLIA] = gMonFootprint_Kirlia,
+ [SPECIES_GARDEVOIR] = gMonFootprint_Gardevoir,
+ [SPECIES_BAGON] = gMonFootprint_Bagon,
+ [SPECIES_SHELGON] = gMonFootprint_Shelgon,
+ [SPECIES_SALAMENCE] = gMonFootprint_Salamence,
+ [SPECIES_BELDUM] = gMonFootprint_Beldum,
+ [SPECIES_METANG] = gMonFootprint_Metang,
+ [SPECIES_METAGROSS] = gMonFootprint_Metagross,
+ [SPECIES_REGIROCK] = gMonFootprint_Regirock,
+ [SPECIES_REGICE] = gMonFootprint_Regice,
+ [SPECIES_REGISTEEL] = gMonFootprint_Registeel,
+ [SPECIES_KYOGRE] = gMonFootprint_Kyogre,
+ [SPECIES_GROUDON] = gMonFootprint_Groudon,
+ [SPECIES_RAYQUAZA] = gMonFootprint_Rayquaza,
+ [SPECIES_LATIAS] = gMonFootprint_Latias,
+ [SPECIES_LATIOS] = gMonFootprint_Latios,
+ [SPECIES_JIRACHI] = gMonFootprint_Jirachi,
+ [SPECIES_DEOXYS] = gMonFootprint_Deoxys,
+ [SPECIES_CHIMECHO] = gMonFootprint_Chimecho,
+ [SPECIES_EGG] = gMonFootprint_Bulbasaur,
+};
diff --git a/src/data/wild_encounters.json b/src/data/wild_encounters.json
index 9030dee5f..6551a6593 100644
--- a/src/data/wild_encounters.json
+++ b/src/data/wild_encounters.json
@@ -78,7 +78,7 @@
"encounters": [
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsMoneanChamber",
+ "base_label": "sSevenIslandTanobyRuinsMoneanChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -147,7 +147,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsLiptooChamber",
+ "base_label": "sSevenIslandTanobyRuinsLiptooChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -216,7 +216,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsWeepthChamber",
+ "base_label": "sSevenIslandTanobyRuinsWeepthChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -285,7 +285,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsDilfordChamber",
+ "base_label": "sSevenIslandTanobyRuinsDilfordChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -354,7 +354,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsScufibChamber",
+ "base_label": "sSevenIslandTanobyRuinsScufibChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -423,7 +423,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsRixyChamber",
+ "base_label": "sSevenIslandTanobyRuinsRixyChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -492,7 +492,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER",
- "base_label": "sSevenIslandTanobyRuinsViapoisChamber",
+ "base_label": "sSevenIslandTanobyRuinsViapoisChamber_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -561,7 +561,7 @@
},
{
"map": "MAP_VIRIDIAN_FOREST",
- "base_label": "sViridianForest",
+ "base_label": "sViridianForest_FireRed",
"land_mons": {
"encounter_rate": 14,
"mons": [
@@ -630,7 +630,7 @@
},
{
"map": "MAP_MT_MOON_1F",
- "base_label": "sMtMoon1F",
+ "base_label": "sMtMoon1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -699,7 +699,7 @@
},
{
"map": "MAP_MT_MOON_B1F",
- "base_label": "sMtMoonB1F",
+ "base_label": "sMtMoonB1F_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -768,7 +768,7 @@
},
{
"map": "MAP_MT_MOON_B2F",
- "base_label": "sMtMoonB2F",
+ "base_label": "sMtMoonB2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -837,7 +837,7 @@
},
{
"map": "MAP_SSANNE_EXTERIOR",
- "base_label": "sSSAnneExterior",
+ "base_label": "sSSAnneExterior_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -926,7 +926,7 @@
},
{
"map": "MAP_DIGLETTS_CAVE_B1F",
- "base_label": "sDiglettsCaveB1F",
+ "base_label": "sDiglettsCaveB1F_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -995,7 +995,7 @@
},
{
"map": "MAP_VICTORY_ROAD_1F",
- "base_label": "sVictoryRoad1F",
+ "base_label": "sVictoryRoad1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -1064,7 +1064,7 @@
},
{
"map": "MAP_VICTORY_ROAD_2F",
- "base_label": "sVictoryRoad2F",
+ "base_label": "sVictoryRoad2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -1133,7 +1133,7 @@
},
{
"map": "MAP_VICTORY_ROAD_3F",
- "base_label": "sVictoryRoad3F",
+ "base_label": "sVictoryRoad3F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -1202,7 +1202,7 @@
},
{
"map": "MAP_POKEMON_MANSION_1F",
- "base_label": "sPokemonMansion1F",
+ "base_label": "sPokemonMansion1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -1271,7 +1271,7 @@
},
{
"map": "MAP_POKEMON_MANSION_2F",
- "base_label": "sPokemonMansion2F",
+ "base_label": "sPokemonMansion2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -1340,7 +1340,7 @@
},
{
"map": "MAP_POKEMON_MANSION_3F",
- "base_label": "sPokemonMansion3F",
+ "base_label": "sPokemonMansion3F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -1409,7 +1409,7 @@
},
{
"map": "MAP_POKEMON_MANSION_B1F",
- "base_label": "sPokemonMansionB1F",
+ "base_label": "sPokemonMansionB1F_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -1478,7 +1478,7 @@
},
{
"map": "MAP_SAFARI_ZONE_CENTER",
- "base_label": "sSafariZoneCenter",
+ "base_label": "sSafariZoneCenter_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -1632,7 +1632,7 @@
},
{
"map": "MAP_SAFARI_ZONE_EAST",
- "base_label": "sSafariZoneEast",
+ "base_label": "sSafariZoneEast_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -1786,7 +1786,7 @@
},
{
"map": "MAP_SAFARI_ZONE_NORTH",
- "base_label": "sSafariZoneNorth",
+ "base_label": "sSafariZoneNorth_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -1940,7 +1940,7 @@
},
{
"map": "MAP_SAFARI_ZONE_WEST",
- "base_label": "sSafariZoneWest",
+ "base_label": "sSafariZoneWest_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -2094,7 +2094,7 @@
},
{
"map": "MAP_CERULEAN_CAVE_1F",
- "base_label": "sCeruleanCave1F",
+ "base_label": "sCeruleanCave1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2278,7 +2278,7 @@
},
{
"map": "MAP_CERULEAN_CAVE_2F",
- "base_label": "sCeruleanCave2F",
+ "base_label": "sCeruleanCave2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2377,7 +2377,7 @@
},
{
"map": "MAP_CERULEAN_CAVE_B1F",
- "base_label": "sCeruleanCaveB1F",
+ "base_label": "sCeruleanCaveB1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2561,7 +2561,7 @@
},
{
"map": "MAP_ROCK_TUNNEL_1F",
- "base_label": "sRockTunnel1F",
+ "base_label": "sRockTunnel1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2630,7 +2630,7 @@
},
{
"map": "MAP_ROCK_TUNNEL_B1F",
- "base_label": "sRockTunnelB1F",
+ "base_label": "sRockTunnelB1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2729,7 +2729,7 @@
},
{
"map": "MAP_SEAFOAM_ISLANDS_1F",
- "base_label": "sSeafoamIslands1F",
+ "base_label": "sSeafoamIslands1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2798,7 +2798,7 @@
},
{
"map": "MAP_SEAFOAM_ISLANDS_B1F",
- "base_label": "sSeafoamIslandsB1F",
+ "base_label": "sSeafoamIslandsB1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2867,7 +2867,7 @@
},
{
"map": "MAP_SEAFOAM_ISLANDS_B2F",
- "base_label": "sSeafoamIslandsB2F",
+ "base_label": "sSeafoamIslandsB2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -2936,7 +2936,7 @@
},
{
"map": "MAP_SEAFOAM_ISLANDS_B3F",
- "base_label": "sSeafoamIslandsB3F",
+ "base_label": "sSeafoamIslandsB3F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -3090,7 +3090,7 @@
},
{
"map": "MAP_SEAFOAM_ISLANDS_B4F",
- "base_label": "sSeafoamIslandsB4F",
+ "base_label": "sSeafoamIslandsB4F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -3244,7 +3244,7 @@
},
{
"map": "MAP_POKEMON_TOWER_3F",
- "base_label": "sPokemonTower3F",
+ "base_label": "sPokemonTower3F_FireRed",
"land_mons": {
"encounter_rate": 2,
"mons": [
@@ -3313,7 +3313,7 @@
},
{
"map": "MAP_POKEMON_TOWER_4F",
- "base_label": "sPokemonTower4F",
+ "base_label": "sPokemonTower4F_FireRed",
"land_mons": {
"encounter_rate": 4,
"mons": [
@@ -3382,7 +3382,7 @@
},
{
"map": "MAP_POKEMON_TOWER_5F",
- "base_label": "sPokemonTower5F",
+ "base_label": "sPokemonTower5F_FireRed",
"land_mons": {
"encounter_rate": 6,
"mons": [
@@ -3451,7 +3451,7 @@
},
{
"map": "MAP_POKEMON_TOWER_6F",
- "base_label": "sPokemonTower6F",
+ "base_label": "sPokemonTower6F_FireRed",
"land_mons": {
"encounter_rate": 8,
"mons": [
@@ -3520,7 +3520,7 @@
},
{
"map": "MAP_POKEMON_TOWER_7F",
- "base_label": "sPokemonTower7F",
+ "base_label": "sPokemonTower7F_FireRed",
"land_mons": {
"encounter_rate": 10,
"mons": [
@@ -3589,7 +3589,7 @@
},
{
"map": "MAP_POWER_PLANT",
- "base_label": "sPowerPlant",
+ "base_label": "sPowerPlant_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -3658,7 +3658,7 @@
},
{
"map": "MAP_MT_EMBER_EXTERIOR",
- "base_label": "sMtEmberExterior",
+ "base_label": "sMtEmberExterior_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -3757,7 +3757,7 @@
},
{
"map": "MAP_MT_EMBER_SUMMIT_PATH_1F",
- "base_label": "sMtEmberSummitPath1F",
+ "base_label": "sMtEmberSummitPath1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -3826,7 +3826,7 @@
},
{
"map": "MAP_MT_EMBER_SUMMIT_PATH_2F",
- "base_label": "sMtEmberSummitPath2F",
+ "base_label": "sMtEmberSummitPath2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -3925,7 +3925,7 @@
},
{
"map": "MAP_MT_EMBER_SUMMIT_PATH_3F",
- "base_label": "sMtEmberSummitPath3F",
+ "base_label": "sMtEmberSummitPath3F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -3994,7 +3994,7 @@
},
{
"map": "MAP_MT_EMBER_RUBY_PATH_1F",
- "base_label": "sMtEmberRubyPath1F",
+ "base_label": "sMtEmberRubyPath1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4093,7 +4093,7 @@
},
{
"map": "MAP_MT_EMBER_RUBY_PATH_B1F",
- "base_label": "sMtEmberRubyPathB1F",
+ "base_label": "sMtEmberRubyPathB1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4192,7 +4192,7 @@
},
{
"map": "MAP_MT_EMBER_RUBY_PATH_B2F",
- "base_label": "sMtEmberRubyPathB2F",
+ "base_label": "sMtEmberRubyPathB2F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4291,7 +4291,7 @@
},
{
"map": "MAP_MT_EMBER_RUBY_PATH_B3F",
- "base_label": "sMtEmberRubyPathB3F",
+ "base_label": "sMtEmberRubyPathB3F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4390,7 +4390,7 @@
},
{
"map": "MAP_MT_EMBER_RUBY_PATH_B1F_STAIRS",
- "base_label": "sMtEmberRubyPathB1FStairs",
+ "base_label": "sMtEmberRubyPathB1FStairs_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4489,7 +4489,7 @@
},
{
"map": "MAP_MT_EMBER_RUBY_PATH_B2F_STAIRS",
- "base_label": "sMtEmberRubyPathB2FStairs",
+ "base_label": "sMtEmberRubyPathB2FStairs_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4588,7 +4588,7 @@
},
{
"map": "MAP_THREE_ISLAND_BERRY_FOREST",
- "base_label": "sThreeIslandBerryForest",
+ "base_label": "sThreeIslandBerryForest_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -4742,7 +4742,7 @@
},
{
"map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE",
- "base_label": "sFourIslandIcefallCaveEntrance",
+ "base_label": "sFourIslandIcefallCaveEntrance_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4896,7 +4896,7 @@
},
{
"map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_1F",
- "base_label": "sFourIslandIcefallCave1F",
+ "base_label": "sFourIslandIcefallCave1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -4965,7 +4965,7 @@
},
{
"map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_B1F",
- "base_label": "sFourIslandIcefallCaveB1F",
+ "base_label": "sFourIslandIcefallCaveB1F_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -5034,7 +5034,7 @@
},
{
"map": "MAP_FOUR_ISLAND_ICEFALL_CAVE_BACK",
- "base_label": "sFourIslandIcefallCaveBack",
+ "base_label": "sFourIslandIcefallCaveBack_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -5188,7 +5188,7 @@
},
{
"map": "MAP_SIX_ISLAND_PATTERN_BUSH",
- "base_label": "sSixIslandPatternBush",
+ "base_label": "sSixIslandPatternBush_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -5257,7 +5257,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM1",
- "base_label": "sFiveIslandLostCaveRoom1",
+ "base_label": "sFiveIslandLostCaveRoom1_FireRed",
"land_mons": {
"encounter_rate": 1,
"mons": [
@@ -5326,7 +5326,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM2",
- "base_label": "sFiveIslandLostCaveRoom2",
+ "base_label": "sFiveIslandLostCaveRoom2_FireRed",
"land_mons": {
"encounter_rate": 2,
"mons": [
@@ -5395,7 +5395,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM3",
- "base_label": "sFiveIslandLostCaveRoom3",
+ "base_label": "sFiveIslandLostCaveRoom3_FireRed",
"land_mons": {
"encounter_rate": 3,
"mons": [
@@ -5464,7 +5464,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM4",
- "base_label": "sFiveIslandLostCaveRoom4",
+ "base_label": "sFiveIslandLostCaveRoom4_FireRed",
"land_mons": {
"encounter_rate": 4,
"mons": [
@@ -5533,7 +5533,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM5",
- "base_label": "sFiveIslandLostCaveRoom5",
+ "base_label": "sFiveIslandLostCaveRoom5_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -5602,7 +5602,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM6",
- "base_label": "sFiveIslandLostCaveRoom6",
+ "base_label": "sFiveIslandLostCaveRoom6_FireRed",
"land_mons": {
"encounter_rate": 6,
"mons": [
@@ -5671,7 +5671,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM7",
- "base_label": "sFiveIslandLostCaveRoom7",
+ "base_label": "sFiveIslandLostCaveRoom7_FireRed",
"land_mons": {
"encounter_rate": 7,
"mons": [
@@ -5740,7 +5740,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM8",
- "base_label": "sFiveIslandLostCaveRoom8",
+ "base_label": "sFiveIslandLostCaveRoom8_FireRed",
"land_mons": {
"encounter_rate": 8,
"mons": [
@@ -5809,7 +5809,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM9",
- "base_label": "sFiveIslandLostCaveRoom9",
+ "base_label": "sFiveIslandLostCaveRoom9_FireRed",
"land_mons": {
"encounter_rate": 9,
"mons": [
@@ -5878,7 +5878,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM10",
- "base_label": "sFiveIslandLostCaveRoom10",
+ "base_label": "sFiveIslandLostCaveRoom10_FireRed",
"land_mons": {
"encounter_rate": 10,
"mons": [
@@ -5947,7 +5947,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM11",
- "base_label": "sFiveIslandLostCaveRoom11",
+ "base_label": "sFiveIslandLostCaveRoom11_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -6016,7 +6016,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM12",
- "base_label": "sFiveIslandLostCaveRoom12",
+ "base_label": "sFiveIslandLostCaveRoom12_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -6085,7 +6085,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM13",
- "base_label": "sFiveIslandLostCaveRoom13",
+ "base_label": "sFiveIslandLostCaveRoom13_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -6154,7 +6154,7 @@
},
{
"map": "MAP_FIVE_ISLAND_LOST_CAVE_ROOM14",
- "base_label": "sFiveIslandLostCaveRoom14",
+ "base_label": "sFiveIslandLostCaveRoom14_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -6223,7 +6223,7 @@
},
{
"map": "MAP_ONE_ISLAND_KINDLE_ROAD",
- "base_label": "sOneIslandKindleRoad",
+ "base_label": "sOneIslandKindleRoad_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -6407,7 +6407,7 @@
},
{
"map": "MAP_ONE_ISLAND_TREASURE_BEACH",
- "base_label": "sOneIslandTreasureBeach",
+ "base_label": "sOneIslandTreasureBeach_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -6561,7 +6561,7 @@
},
{
"map": "MAP_TWO_ISLAND_CAPE_BRINK",
- "base_label": "sTwoIslandCapeBrink",
+ "base_label": "sTwoIslandCapeBrink_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -6715,7 +6715,7 @@
},
{
"map": "MAP_THREE_ISLAND_BOND_BRIDGE",
- "base_label": "sThreeIslandBondBridge",
+ "base_label": "sThreeIslandBondBridge_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -6869,7 +6869,7 @@
},
{
"map": "MAP_THREE_ISLAND_PORT",
- "base_label": "sThreeIslandPort",
+ "base_label": "sThreeIslandPort_FireRed",
"land_mons": {
"encounter_rate": 1,
"mons": [
@@ -6938,7 +6938,7 @@
},
{
"map": "MAP_FIVE_ISLAND_RESORT_GORGEOUS",
- "base_label": "sFiveIslandResortGorgeous",
+ "base_label": "sFiveIslandResortGorgeous_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -7027,7 +7027,7 @@
},
{
"map": "MAP_FIVE_ISLAND_WATER_LABYRINTH",
- "base_label": "sFiveIslandWaterLabyrinth",
+ "base_label": "sFiveIslandWaterLabyrinth_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -7116,7 +7116,7 @@
},
{
"map": "MAP_FIVE_ISLAND_MEADOW",
- "base_label": "sFiveIslandMeadow",
+ "base_label": "sFiveIslandMeadow_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -7270,7 +7270,7 @@
},
{
"map": "MAP_FIVE_ISLAND_MEMORIAL_PILLAR",
- "base_label": "sFiveIslandMemorialPillar",
+ "base_label": "sFiveIslandMemorialPillar_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -7424,7 +7424,7 @@
},
{
"map": "MAP_SIX_ISLAND_OUTCAST_ISLAND",
- "base_label": "sSixIslandOutcastIsland",
+ "base_label": "sSixIslandOutcastIsland_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -7513,7 +7513,7 @@
},
{
"map": "MAP_SIX_ISLAND_GREEN_PATH",
- "base_label": "sSixIslandGreenPath",
+ "base_label": "sSixIslandGreenPath_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -7602,7 +7602,7 @@
},
{
"map": "MAP_SIX_ISLAND_WATER_PATH",
- "base_label": "sSixIslandWaterPath",
+ "base_label": "sSixIslandWaterPath_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -7756,7 +7756,7 @@
},
{
"map": "MAP_SIX_ISLAND_RUIN_VALLEY",
- "base_label": "sSixIslandRuinValley",
+ "base_label": "sSixIslandRuinValley_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -7910,7 +7910,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TRAINER_TOWER",
- "base_label": "sSevenIslandTrainerTower",
+ "base_label": "sSevenIslandTrainerTower_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -7999,7 +7999,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE",
- "base_label": "sSevenIslandSevaultCanyonEntrance",
+ "base_label": "sSevenIslandSevaultCanyonEntrance_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8068,7 +8068,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_SEVAULT_CANYON",
- "base_label": "sSevenIslandSevaultCanyon",
+ "base_label": "sSevenIslandSevaultCanyon_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8167,7 +8167,7 @@
},
{
"map": "MAP_SEVEN_ISLAND_TANOBY_RUINS",
- "base_label": "sSevenIslandTanobyRuins",
+ "base_label": "sSevenIslandTanobyRuins_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -8256,7 +8256,7 @@
},
{
"map": "MAP_ROUTE1",
- "base_label": "sRoute1",
+ "base_label": "sRoute1_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8325,7 +8325,7 @@
},
{
"map": "MAP_ROUTE2",
- "base_label": "sRoute2",
+ "base_label": "sRoute2_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8394,7 +8394,7 @@
},
{
"map": "MAP_ROUTE3",
- "base_label": "sRoute3",
+ "base_label": "sRoute3_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8463,7 +8463,7 @@
},
{
"map": "MAP_ROUTE4",
- "base_label": "sRoute4",
+ "base_label": "sRoute4_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8617,7 +8617,7 @@
},
{
"map": "MAP_ROUTE5",
- "base_label": "sRoute5",
+ "base_label": "sRoute5_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8686,7 +8686,7 @@
},
{
"map": "MAP_ROUTE6",
- "base_label": "sRoute6",
+ "base_label": "sRoute6_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8840,7 +8840,7 @@
},
{
"map": "MAP_ROUTE7",
- "base_label": "sRoute7",
+ "base_label": "sRoute7_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8909,7 +8909,7 @@
},
{
"map": "MAP_ROUTE8",
- "base_label": "sRoute8",
+ "base_label": "sRoute8_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -8978,7 +8978,7 @@
},
{
"map": "MAP_ROUTE9",
- "base_label": "sRoute9",
+ "base_label": "sRoute9_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9047,7 +9047,7 @@
},
{
"map": "MAP_ROUTE10",
- "base_label": "sRoute10",
+ "base_label": "sRoute10_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9201,7 +9201,7 @@
},
{
"map": "MAP_ROUTE11",
- "base_label": "sRoute11",
+ "base_label": "sRoute11_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9355,7 +9355,7 @@
},
{
"map": "MAP_ROUTE12",
- "base_label": "sRoute12",
+ "base_label": "sRoute12_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9509,7 +9509,7 @@
},
{
"map": "MAP_ROUTE13",
- "base_label": "sRoute13",
+ "base_label": "sRoute13_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9663,7 +9663,7 @@
},
{
"map": "MAP_ROUTE14",
- "base_label": "sRoute14",
+ "base_label": "sRoute14_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9732,7 +9732,7 @@
},
{
"map": "MAP_ROUTE15",
- "base_label": "sRoute15",
+ "base_label": "sRoute15_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9801,7 +9801,7 @@
},
{
"map": "MAP_ROUTE16",
- "base_label": "sRoute16",
+ "base_label": "sRoute16_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9870,7 +9870,7 @@
},
{
"map": "MAP_ROUTE17",
- "base_label": "sRoute17",
+ "base_label": "sRoute17_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -9939,7 +9939,7 @@
},
{
"map": "MAP_ROUTE18",
- "base_label": "sRoute18",
+ "base_label": "sRoute18_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -10008,7 +10008,7 @@
},
{
"map": "MAP_ROUTE19",
- "base_label": "sRoute19",
+ "base_label": "sRoute19_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -10097,7 +10097,7 @@
},
{
"map": "MAP_ROUTE20",
- "base_label": "sRoute20",
+ "base_label": "sRoute20_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -10186,7 +10186,7 @@
},
{
"map": "MAP_ROUTE21_NORTH",
- "base_label": "sRoute21North",
+ "base_label": "sRoute21North_FireRed",
"land_mons": {
"encounter_rate": 14,
"mons": [
@@ -10340,7 +10340,7 @@
},
{
"map": "MAP_ROUTE21_SOUTH",
- "base_label": "sRoute21South",
+ "base_label": "sRoute21South_FireRed",
"land_mons": {
"encounter_rate": 14,
"mons": [
@@ -10494,7 +10494,7 @@
},
{
"map": "MAP_ROUTE22",
- "base_label": "sRoute22",
+ "base_label": "sRoute22_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -10648,7 +10648,7 @@
},
{
"map": "MAP_ROUTE23",
- "base_label": "sRoute23",
+ "base_label": "sRoute23_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -10802,7 +10802,7 @@
},
{
"map": "MAP_ROUTE24",
- "base_label": "sRoute24",
+ "base_label": "sRoute24_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -10956,7 +10956,7 @@
},
{
"map": "MAP_ROUTE25",
- "base_label": "sRoute25",
+ "base_label": "sRoute25_FireRed",
"land_mons": {
"encounter_rate": 21,
"mons": [
@@ -11110,7 +11110,7 @@
},
{
"map": "MAP_PALLET_TOWN",
- "base_label": "sPalletTown",
+ "base_label": "sPalletTown_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11199,7 +11199,7 @@
},
{
"map": "MAP_VIRIDIAN_CITY",
- "base_label": "sViridianCity",
+ "base_label": "sViridianCity_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11288,7 +11288,7 @@
},
{
"map": "MAP_CERULEAN_CITY",
- "base_label": "sCeruleanCity",
+ "base_label": "sCeruleanCity_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11377,7 +11377,7 @@
},
{
"map": "MAP_VERMILION_CITY",
- "base_label": "sVermilionCity",
+ "base_label": "sVermilionCity_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11466,7 +11466,7 @@
},
{
"map": "MAP_CELADON_CITY",
- "base_label": "sCeladonCity",
+ "base_label": "sCeladonCity_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11555,7 +11555,7 @@
},
{
"map": "MAP_FUCHSIA_CITY",
- "base_label": "sFuchsiaCity",
+ "base_label": "sFuchsiaCity_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11644,7 +11644,7 @@
},
{
"map": "MAP_CINNABAR_ISLAND",
- "base_label": "sCinnabarIsland",
+ "base_label": "sCinnabarIsland_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11733,7 +11733,7 @@
},
{
"map": "MAP_ONE_ISLAND",
- "base_label": "sOneIsland",
+ "base_label": "sOneIsland_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -11822,7 +11822,7 @@
},
{
"map": "MAP_FOUR_ISLAND",
- "base_label": "sFourIsland",
+ "base_label": "sFourIsland_FireRed",
"water_mons": {
"encounter_rate": 2,
"mons": [
@@ -11911,7 +11911,7 @@
},
{
"map": "MAP_FIVE_ISLAND",
- "base_label": "sFiveIsland",
+ "base_label": "sFiveIsland_FireRed",
"water_mons": {
"encounter_rate": 1,
"mons": [
@@ -12000,7 +12000,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave",
+ "base_label": "sSixIslandAlteringCave_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12069,7 +12069,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_2",
+ "base_label": "sSixIslandAlteringCave_2_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12138,7 +12138,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_3",
+ "base_label": "sSixIslandAlteringCave_3_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12207,7 +12207,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_4",
+ "base_label": "sSixIslandAlteringCave_4_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12276,7 +12276,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_5",
+ "base_label": "sSixIslandAlteringCave_5_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12345,7 +12345,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_6",
+ "base_label": "sSixIslandAlteringCave_6_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12414,7 +12414,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_7",
+ "base_label": "sSixIslandAlteringCave_7_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12483,7 +12483,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_8",
+ "base_label": "sSixIslandAlteringCave_8_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12552,7 +12552,7 @@
},
{
"map": "MAP_SIX_ISLAND_ALTERING_CAVE",
- "base_label": "sSixIslandAlteringCave_9",
+ "base_label": "sSixIslandAlteringCave_9_FireRed",
"land_mons": {
"encounter_rate": 5,
"mons": [
@@ -12618,6 +12618,12549 @@
}
]
}
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_MONEAN_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsMoneanChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_LIPTOO_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsLiptooChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_WEEPTH_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsWeepthChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_DILFORD_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsDilfordChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_SCUFIB_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsScufibChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_RIXY_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsRixyChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS_VIAPOIS_CHAMBER",
+ "base_label": "sSevenIslandTanobyRuinsViapoisChamber_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_UNOWN"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "VIRIDIAN_FOREST",
+ "base_label": "sViridianForest_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_KAKUNA"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_METAPOD"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_METAPOD"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_PIKACHU"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_METAPOD"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_PIKACHU"
+ }
+ ],
+ "encounter_rate": 14
+ }
+ },
+ {
+ "map": "MT_MOON_1F",
+ "base_label": "sMtMoon1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_CLEFAIRY"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "MT_MOON_B1F",
+ "base_label": "sMtMoonB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_PARAS"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "MT_MOON_B2F",
+ "base_label": "sMtMoonB2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_CLEFAIRY"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_CLEFAIRY"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SSANNE_EXTERIOR",
+ "base_label": "sSSAnneExterior_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "DIGLETTS_CAVE_B1F",
+ "base_label": "sDiglettsCaveB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 21,
+ "max_level": 21,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_DUGTRIO"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_DIGLETT"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_DUGTRIO"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "VICTORY_ROAD_1F",
+ "base_label": "sVictoryRoad1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_SANDSLASH"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_MAROWAK"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MAROWAK"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "VICTORY_ROAD_2F",
+ "base_label": "sVictoryRoad2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_PRIMEAPE"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_SANDSLASH"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MAROWAK"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_MAROWAK"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "VICTORY_ROAD_3F",
+ "base_label": "sVictoryRoad3F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_SANDSLASH"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_MAROWAK"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MAROWAK"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "POKEMON_MANSION_1F",
+ "base_label": "sPokemonMansion1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_KOFFING"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MUK"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "POKEMON_MANSION_2F",
+ "base_label": "sPokemonMansion2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_KOFFING"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MUK"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "POKEMON_MANSION_3F",
+ "base_label": "sPokemonMansion3F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_KOFFING"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MUK"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "POKEMON_MANSION_B1F",
+ "base_label": "sPokemonMansionB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GRIMER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_KOFFING"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MUK"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RATTATA"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "SAFARI_ZONE_CENTER",
+ "base_label": "sSafariZoneCenter_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_RHYHORN"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_NIDORAN_F"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_NIDORINA"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_NIDORINO"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PINSIR"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_CHANSEY"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SEAKING"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_DRATINI"
+ },
+ {
+ "min_level": 15,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_DRAGONAIR"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SAFARI_ZONE_EAST",
+ "base_label": "sSafariZoneEast_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_NIDORAN_F"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_NIDORINA"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_NIDORAN_M"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_KANGASKHAN"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_PINSIR"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SEAKING"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_DRATINI"
+ },
+ {
+ "min_level": 15,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_DRAGONAIR"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SAFARI_ZONE_NORTH",
+ "base_label": "sSafariZoneNorth_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_RHYHORN"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_NIDORAN_F"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_NIDORINA"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_NIDORINO"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VENOMOTH"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_CHANSEY"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PARAS"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_TAUROS"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SEAKING"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_DRATINI"
+ },
+ {
+ "min_level": 15,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_DRAGONAIR"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SAFARI_ZONE_WEST",
+ "base_label": "sSafariZoneWest_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_NIDORAN_F"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_NIDORINA"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_NIDORAN_M"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_VENOMOTH"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_TAUROS"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_KANGASKHAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SEAKING"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_DRATINI"
+ },
+ {
+ "min_level": 15,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_DRAGONAIR"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "CERULEAN_CAVE_1F",
+ "base_label": "sCeruleanCave1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_MAGNETON"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_PRIMEAPE"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 58,
+ "max_level": 58,
+ "species": "SPECIES_ELECTRODE"
+ },
+ {
+ "min_level": 58,
+ "max_level": 58,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 55,
+ "max_level": 55,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 55,
+ "max_level": 55,
+ "species": "SPECIES_WOBBUFFET"
+ },
+ {
+ "min_level": 61,
+ "max_level": 61,
+ "species": "SPECIES_PRIMEAPE"
+ },
+ {
+ "min_level": 61,
+ "max_level": 61,
+ "species": "SPECIES_DITTO"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 45,
+ "max_level": 55,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 45,
+ "max_level": 55,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "CERULEAN_CAVE_2F",
+ "base_label": "sCeruleanCave2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_MAGNETON"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 55,
+ "max_level": 55,
+ "species": "SPECIES_KADABRA"
+ },
+ {
+ "min_level": 55,
+ "max_level": 55,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 58,
+ "max_level": 58,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 58,
+ "max_level": 58,
+ "species": "SPECIES_WOBBUFFET"
+ },
+ {
+ "min_level": 61,
+ "max_level": 61,
+ "species": "SPECIES_ELECTRODE"
+ },
+ {
+ "min_level": 61,
+ "max_level": 61,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 64,
+ "max_level": 64,
+ "species": "SPECIES_KADABRA"
+ },
+ {
+ "min_level": 64,
+ "max_level": 64,
+ "species": "SPECIES_DITTO"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 35,
+ "max_level": 45,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 45,
+ "max_level": 55,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 45,
+ "max_level": 55,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 45,
+ "max_level": 55,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "CERULEAN_CAVE_B1F",
+ "base_label": "sCeruleanCaveB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 58,
+ "max_level": 58,
+ "species": "SPECIES_KADABRA"
+ },
+ {
+ "min_level": 58,
+ "max_level": 58,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 55,
+ "max_level": 55,
+ "species": "SPECIES_MAGNETON"
+ },
+ {
+ "min_level": 55,
+ "max_level": 55,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 67,
+ "max_level": 67,
+ "species": "SPECIES_KADABRA"
+ },
+ {
+ "min_level": 67,
+ "max_level": 67,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 64,
+ "max_level": 64,
+ "species": "SPECIES_ELECTRODE"
+ },
+ {
+ "min_level": 64,
+ "max_level": 64,
+ "species": "SPECIES_PARASECT"
+ },
+ {
+ "min_level": 61,
+ "max_level": 61,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 61,
+ "max_level": 61,
+ "species": "SPECIES_WOBBUFFET"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 55,
+ "max_level": 65,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 50,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 55,
+ "max_level": 65,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 60,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GYARADOS"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROCK_TUNNEL_1F",
+ "base_label": "sRockTunnel1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_ONIX"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "ROCK_TUNNEL_B1F",
+ "base_label": "sRockTunnelB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_ONIX"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 30,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "SEAFOAM_ISLANDS_1F",
+ "base_label": "sSeafoamIslands1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GOLBAT"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEAFOAM_ISLANDS_B1F",
+ "base_label": "sSeafoamIslandsB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GOLBAT"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEAFOAM_ISLANDS_B2F",
+ "base_label": "sSeafoamIslandsB2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GOLBAT"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SEAFOAM_ISLANDS_B3F",
+ "base_label": "sSeafoamIslandsB3F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GOLBAT"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GYARADOS"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SEAFOAM_ISLANDS_B4F",
+ "base_label": "sSeafoamIslandsB4F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GOLBAT"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GYARADOS"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "POKEMON_TOWER_3F",
+ "base_label": "sPokemonTower3F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HAUNTER"
+ }
+ ],
+ "encounter_rate": 2
+ }
+ },
+ {
+ "map": "POKEMON_TOWER_4F",
+ "base_label": "sPokemonTower4F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_GASTLY"
+ }
+ ],
+ "encounter_rate": 4
+ }
+ },
+ {
+ "map": "POKEMON_TOWER_5F",
+ "base_label": "sPokemonTower5F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_GASTLY"
+ }
+ ],
+ "encounter_rate": 6
+ }
+ },
+ {
+ "map": "POKEMON_TOWER_6F",
+ "base_label": "sPokemonTower6F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 21,
+ "max_level": 21,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_HAUNTER"
+ }
+ ],
+ "encounter_rate": 8
+ }
+ },
+ {
+ "map": "POKEMON_TOWER_7F",
+ "base_label": "sPokemonTower7F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_HAUNTER"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "POWER_PLANT",
+ "base_label": "sPowerPlant_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MAGNEMITE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_MAGNEMITE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_PIKACHU"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_PIKACHU"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MAGNETON"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MAGNETON"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_PIKACHU"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MAGNETON"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_PIKACHU"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MAGNETON"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "MT_EMBER_EXTERIOR",
+ "base_label": "sMtEmberExterior_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_PONYTA"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_PONYTA"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_PONYTA"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_MAGMAR"
+ },
+ {
+ "min_level": 39,
+ "max_level": 39,
+ "species": "SPECIES_RAPIDASH"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_MAGMAR"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_RAPIDASH"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 30,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_SUMMIT_PATH_1F",
+ "base_label": "sMtEmberSummitPath1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 39,
+ "max_level": 39,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 39,
+ "max_level": 39,
+ "species": "SPECIES_MACHOP"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "MT_EMBER_SUMMIT_PATH_2F",
+ "base_label": "sMtEmberSummitPath2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_MACHOKE"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 30,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_SUMMIT_PATH_3F",
+ "base_label": "sMtEmberSummitPath3F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 39,
+ "max_level": 39,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 39,
+ "max_level": 39,
+ "species": "SPECIES_MACHOP"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "MT_EMBER_RUBY_PATH_1F",
+ "base_label": "sMtEmberRubyPath1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_MACHOP"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_MACHOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_MACHOKE"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 35,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_RUBY_PATH_B1F",
+ "base_label": "sMtEmberRubyPathB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 35,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_RUBY_PATH_B2F",
+ "base_label": "sMtEmberRubyPathB2F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SLUGMA"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 35,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_RUBY_PATH_B3F",
+ "base_label": "sMtEmberRubyPathB3F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_SLUGMA"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 40,
+ "max_level": 45,
+ "species": "SPECIES_MAGCARGO"
+ },
+ {
+ "min_level": 35,
+ "max_level": 45,
+ "species": "SPECIES_MAGCARGO"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_MAGCARGO"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_RUBY_PATH_B1F_STAIRS",
+ "base_label": "sMtEmberRubyPathB1FStairs_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SLUGMA"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 35,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "MT_EMBER_RUBY_PATH_B2F_STAIRS",
+ "base_label": "sMtEmberRubyPathB2FStairs_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SLUGMA"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 35,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 50
+ }
+ },
+ {
+ "map": "THREE_ISLAND_BERRY_FOREST",
+ "base_label": "sThreeIslandBerryForest_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_DROWZEE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_EXEGGCUTE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_VENOMOTH"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_HYPNO"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_VENOMOTH"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_HYPNO"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SEAKING"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "FOUR_ISLAND_ICEFALL_CAVE_ENTRANCE",
+ "base_label": "sFourIslandIcefallCaveEntrance_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 47,
+ "max_level": 47,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 51,
+ "max_level": 51,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 53,
+ "max_level": 53,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 53,
+ "max_level": 53,
+ "species": "SPECIES_DEWGONG"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MARILL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "FOUR_ISLAND_ICEFALL_CAVE_1F",
+ "base_label": "sFourIslandIcefallCave1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SNEASEL"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_SWINUB"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "FOUR_ISLAND_ICEFALL_CAVE_B1F",
+ "base_label": "sFourIslandIcefallCaveB1F_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SNEASEL"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_SWINUB"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_SWINUB"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "FOUR_ISLAND_ICEFALL_CAVE_BACK",
+ "base_label": "sFourIslandIcefallCaveBack_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 45,
+ "max_level": 45,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 47,
+ "max_level": 47,
+ "species": "SPECIES_SEEL"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 51,
+ "max_level": 51,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 53,
+ "max_level": 53,
+ "species": "SPECIES_DEWGONG"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 53,
+ "max_level": 53,
+ "species": "SPECIES_DEWGONG"
+ }
+ ],
+ "encounter_rate": 7
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 45,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 45,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_LAPRAS"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SIX_ISLAND_PATTERN_BUSH",
+ "base_label": "sSixIslandPatternBush_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_LEDYBA"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_KAKUNA"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_LEDYBA"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_HERACROSS"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_METAPOD"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HERACROSS"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_SPINARAK"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_HERACROSS"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_SPINARAK"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_HERACROSS"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM1",
+ "base_label": "sFiveIslandLostCaveRoom1_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 1
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM2",
+ "base_label": "sFiveIslandLostCaveRoom2_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 2
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM3",
+ "base_label": "sFiveIslandLostCaveRoom3_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 3
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM4",
+ "base_label": "sFiveIslandLostCaveRoom4_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 4
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM5",
+ "base_label": "sFiveIslandLostCaveRoom5_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM6",
+ "base_label": "sFiveIslandLostCaveRoom6_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 6
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM7",
+ "base_label": "sFiveIslandLostCaveRoom7_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM8",
+ "base_label": "sFiveIslandLostCaveRoom8_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 8
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM9",
+ "base_label": "sFiveIslandLostCaveRoom9_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 9
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM10",
+ "base_label": "sFiveIslandLostCaveRoom10_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM11",
+ "base_label": "sFiveIslandLostCaveRoom11_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM12",
+ "base_label": "sFiveIslandLostCaveRoom12_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM13",
+ "base_label": "sFiveIslandLostCaveRoom13_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_LOST_CAVE_ROOM14",
+ "base_label": "sFiveIslandLostCaveRoom14_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_GASTLY"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_GOLBAT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_HAUNTER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_MISDREAVUS"
+ }
+ ],
+ "encounter_rate": 5
+ }
+ },
+ {
+ "map": "ONE_ISLAND_KINDLE_ROAD",
+ "base_label": "sOneIslandKindleRoad_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_PONYTA"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_PONYTA"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_RAPIDASH"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_RAPIDASH"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 30,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GRAVELER"
+ }
+ ],
+ "encounter_rate": 25
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ONE_ISLAND_TREASURE_BEACH",
+ "base_label": "sOneIslandTreasureBeach_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 33,
+ "max_level": 33,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "TWO_ISLAND_CAPE_BRINK",
+ "base_label": "sTwoIslandCapeBrink_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 38,
+ "max_level": 38,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWBRO"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "THREE_ISLAND_BOND_BRIDGE",
+ "base_label": "sThreeIslandBondBridge_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 36,
+ "max_level": 36,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 31,
+ "max_level": 31,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 37,
+ "max_level": 37,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "THREE_ISLAND_PORT",
+ "base_label": "sThreeIslandPort_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_DUNSPARCE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 35,
+ "species": "SPECIES_DUNSPARCE"
+ }
+ ],
+ "encounter_rate": 1
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_RESORT_GORGEOUS",
+ "base_label": "sFiveIslandResortGorgeous_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_WATER_LABYRINTH",
+ "base_label": "sFiveIslandWaterLabyrinth_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_MEADOW",
+ "base_label": "sFiveIslandMeadow_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_SENTRET"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SENTRET"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 47,
+ "max_level": 47,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "FIVE_ISLAND_MEMORIAL_PILLAR",
+ "base_label": "sFiveIslandMemorialPillar_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_HOPPIP"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SIX_ISLAND_OUTCAST_ISLAND",
+ "base_label": "sSixIslandOutcastIsland_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SIX_ISLAND_GREEN_PATH",
+ "base_label": "sSixIslandGreenPath_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SIX_ISLAND_WATER_PATH",
+ "base_label": "sSixIslandWaterPath_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_SENTRET"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SENTRET"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 47,
+ "max_level": 47,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SIX_ISLAND_RUIN_VALLEY",
+ "base_label": "sSixIslandRuinValley_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_NATU"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_YANMA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_WOBBUFFET"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_NATU"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_NATU"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_MARILL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TRAINER_TOWER",
+ "base_label": "sSevenIslandTrainerTower_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_MANTINE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE",
+ "base_label": "sSevenIslandSevaultCanyonEntrance_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_SENTRET"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_PHANPY"
+ },
+ {
+ "min_level": 48,
+ "max_level": 48,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SENTRET"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 41,
+ "max_level": 41,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PHANPY"
+ },
+ {
+ "min_level": 47,
+ "max_level": 47,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PHANPY"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_SEVAULT_CANYON",
+ "base_label": "sSevenIslandSevaultCanyon_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PHANPY"
+ },
+ {
+ "min_level": 46,
+ "max_level": 46,
+ "species": "SPECIES_CUBONE"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_MAROWAK"
+ },
+ {
+ "min_level": 43,
+ "max_level": 43,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 54,
+ "max_level": 54,
+ "species": "SPECIES_ONIX"
+ },
+ {
+ "min_level": 50,
+ "max_level": 50,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_LARVITAR"
+ },
+ {
+ "min_level": 49,
+ "max_level": 49,
+ "species": "SPECIES_PERSIAN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_LARVITAR"
+ },
+ {
+ "min_level": 52,
+ "max_level": 52,
+ "species": "SPECIES_PERSIAN"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "rock_smash_mons": {
+ "mons": [
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 45,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 35,
+ "max_level": 50,
+ "species": "SPECIES_GRAVELER"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GEODUDE"
+ }
+ ],
+ "encounter_rate": 25
+ }
+ },
+ {
+ "map": "SEVEN_ISLAND_TANOBY_RUINS",
+ "base_label": "sSevenIslandTanobyRuins_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_MANTINE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_REMORAID"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE1",
+ "base_label": "sRoute1_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 2,
+ "max_level": 2,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 2,
+ "max_level": 2,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_RATTATA"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE2",
+ "base_label": "sRoute2_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 2,
+ "max_level": 2,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 2,
+ "max_level": 2,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_WEEDLE"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE3",
+ "base_label": "sRoute3_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_NIDORAN_F"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_JIGGLYPUFF"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_NIDORAN_F"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_JIGGLYPUFF"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_NIDORAN_M"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_JIGGLYPUFF"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE4",
+ "base_label": "sRoute4_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_SANDSHREW"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE5",
+ "base_label": "sRoute5_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_MEOWTH"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE6",
+ "base_label": "sRoute6_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_MEOWTH"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE7",
+ "base_label": "sRoute7_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_MEOWTH"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE8",
+ "base_label": "sRoute8_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_MEOWTH"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_VULPIX"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_VULPIX"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE9",
+ "base_label": "sRoute9_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SANDSHREW"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE10",
+ "base_label": "sRoute10_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_VOLTORB"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SANDSHREW"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE11",
+ "base_label": "sRoute11_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_DROWZEE"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_DROWZEE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_DROWZEE"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 15,
+ "max_level": 15,
+ "species": "SPECIES_DROWZEE"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE12",
+ "base_label": "sRoute12_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_WEEPINBELL"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 60
+ }
+ },
+ {
+ "map": "ROUTE13",
+ "base_label": "sRoute13_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_WEEPINBELL"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE14",
+ "base_label": "sRoute14_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEOTTO"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE15",
+ "base_label": "sRoute15_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_VENONAT"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_DITTO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_WEEPINBELL"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PIDGEOTTO"
+ },
+ {
+ "min_level": 30,
+ "max_level": 30,
+ "species": "SPECIES_WEEPINBELL"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE16",
+ "base_label": "sRoute16_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_RATICATE"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE17",
+ "base_label": "sRoute17_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_FEAROW"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE18",
+ "base_label": "sRoute18_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_DODUO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_RATICATE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_FEAROW"
+ }
+ ],
+ "encounter_rate": 21
+ }
+ },
+ {
+ "map": "ROUTE19",
+ "base_label": "sRoute19_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE20",
+ "base_label": "sRoute20_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE21_NORTH",
+ "base_label": "sRoute21North_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 21,
+ "max_level": 21,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_TANGELA"
+ }
+ ],
+ "encounter_rate": 14
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE21_SOUTH",
+ "base_label": "sRoute21South_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 21,
+ "max_level": 21,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 17,
+ "max_level": 17,
+ "species": "SPECIES_TANGELA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_TANGELA"
+ }
+ ],
+ "encounter_rate": 14
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE22",
+ "base_label": "sRoute22_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 4,
+ "max_level": 4,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 2,
+ "max_level": 2,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 2,
+ "max_level": 2,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_RATTATA"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MANKEY"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE23",
+ "base_label": "sRoute23_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 40,
+ "max_level": 40,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_MANKEY"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 34,
+ "max_level": 34,
+ "species": "SPECIES_SANDSHREW"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_PRIMEAPE"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_SANDSLASH"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 42,
+ "max_level": 42,
+ "species": "SPECIES_FEAROW"
+ },
+ {
+ "min_level": 32,
+ "max_level": 32,
+ "species": "SPECIES_SPEAROW"
+ },
+ {
+ "min_level": 44,
+ "max_level": 44,
+ "species": "SPECIES_FEAROW"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE24",
+ "base_label": "sRoute24_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_ABRA"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_METAPOD"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_ABRA"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_KAKUNA"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_ABRA"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "ROUTE25",
+ "base_label": "sRoute25_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_WEEDLE"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_CATERPIE"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_ABRA"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_PIDGEY"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_BELLSPROUT"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_METAPOD"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_ABRA"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_KAKUNA"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_ABRA"
+ }
+ ],
+ "encounter_rate": 21
+ },
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "PALLET_TOWN",
+ "base_label": "sPalletTown_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "VIRIDIAN_CITY",
+ "base_label": "sViridianCity_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "CERULEAN_CITY",
+ "base_label": "sCeruleanCity_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "VERMILION_CITY",
+ "base_label": "sVermilionCity_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "CELADON_CITY",
+ "base_label": "sCeladonCity_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_KOFFING"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 30,
+ "max_level": 40,
+ "species": "SPECIES_GRIMER"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "FUCHSIA_CITY",
+ "base_label": "sFuchsiaCity_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 30,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_SEAKING"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "CINNABAR_ISLAND",
+ "base_label": "sCinnabarIsland_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 10,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 10,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 30,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HORSEA"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWBRO"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "ONE_ISLAND",
+ "base_label": "sOneIsland_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 20,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 20,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "FOUR_ISLAND",
+ "base_label": "sFourIsland_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MARILL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_MARILL"
+ }
+ ],
+ "encounter_rate": 2
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_GOLDEEN"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_POLIWAG"
+ },
+ {
+ "min_level": 20,
+ "max_level": 30,
+ "species": "SPECIES_POLIWHIRL"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_SLOWPOKE"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 20
+ }
+ },
+ {
+ "map": "FIVE_ISLAND",
+ "base_label": "sFiveIsland_LeafGreen",
+ "water_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 35,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_HOPPIP"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACOOL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ },
+ {
+ "min_level": 35,
+ "max_level": 40,
+ "species": "SPECIES_TENTACRUEL"
+ }
+ ],
+ "encounter_rate": 1
+ },
+ "fishing_mons": {
+ "mons": [
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_MAGIKARP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 15,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_KRABBY"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_STARYU"
+ },
+ {
+ "min_level": 15,
+ "max_level": 25,
+ "species": "SPECIES_GYARADOS"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_KINGLER"
+ },
+ {
+ "min_level": 25,
+ "max_level": 35,
+ "species": "SPECIES_SLOWPOKE"
+ }
+ ],
+ "encounter_rate": 10
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 10,
+ "max_level": 10,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 6,
+ "max_level": 6,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 8,
+ "max_level": 8,
+ "species": "SPECIES_ZUBAT"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_ZUBAT"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_2_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 7,
+ "max_level": 7,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 9,
+ "max_level": 9,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 13,
+ "max_level": 13,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 3,
+ "max_level": 3,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 5,
+ "max_level": 5,
+ "species": "SPECIES_MAREEP"
+ },
+ {
+ "min_level": 11,
+ "max_level": 11,
+ "species": "SPECIES_MAREEP"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_3_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 23,
+ "max_level": 23,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 25,
+ "max_level": 25,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 29,
+ "max_level": 29,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 19,
+ "max_level": 19,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 21,
+ "max_level": 21,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 21,
+ "max_level": 21,
+ "species": "SPECIES_PINECO"
+ },
+ {
+ "min_level": 27,
+ "max_level": 27,
+ "species": "SPECIES_PINECO"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_4_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 16,
+ "max_level": 16,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 12,
+ "max_level": 12,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 14,
+ "max_level": 14,
+ "species": "SPECIES_HOUNDOUR"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_HOUNDOUR"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_5_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_TEDDIURSA"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_TEDDIURSA"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_6_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_AIPOM"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_AIPOM"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_7_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SHUCKLE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SHUCKLE"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_8_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_STANTLER"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_STANTLER"
+ }
+ ],
+ "encounter_rate": 7
+ }
+ },
+ {
+ "map": "SIX_ISLAND_ALTERING_CAVE",
+ "base_label": "sSixIslandAlteringCave_9_LeafGreen",
+ "land_mons": {
+ "mons": [
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 22,
+ "max_level": 22,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 24,
+ "max_level": 24,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 28,
+ "max_level": 28,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 18,
+ "max_level": 18,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 20,
+ "max_level": 20,
+ "species": "SPECIES_SMEARGLE"
+ },
+ {
+ "min_level": 26,
+ "max_level": 26,
+ "species": "SPECIES_SMEARGLE"
+ }
+ ],
+ "encounter_rate": 7
+ }
}
]
}
diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt
index bf848249f..a05639d2a 100644
--- a/src/data/wild_encounters.json.txt
+++ b/src/data/wild_encounters.json.txt
@@ -24,6 +24,8 @@
## for encounter in wild_encounter_group.encounters
+{% if contains(encounter.base_label, "LeafGreen") %}#ifdef LEAFGREEN
+{% else if contains(encounter.base_label, "FireRed") %}#ifdef FIRERED{% endif %}
{% if existsIn(encounter, "land_mons") %}
const struct WildPokemon {{ encounter.base_label }}_LandMons[] =
{
@@ -64,11 +66,15 @@ const struct WildPokemon {{ encounter.base_label }}_FishingMons[] =
const struct WildPokemonInfo {{ encounter.base_label }}_FishingMonsInfo = { {{encounter.fishing_mons.encounter_rate}}, {{ encounter.base_label }}_FishingMons };
{% endif %}
+#endif
+
## endfor
const struct WildPokemonHeader {{ wild_encounter_group.label }}[] =
{
## for encounter in wild_encounter_group.encounters
+{% if contains(encounter.base_label, "LeafGreen") %}#ifdef LEAFGREEN
+{% else if contains(encounter.base_label, "FireRed") %}#ifdef FIRERED{% endif %}
{
.mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %},
.mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %},
@@ -77,6 +83,7 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] =
.rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %},
.fishingMonsInfo = {% if existsIn(encounter, "fishing_mons") %}&{{ encounter.base_label }}_FishingMonsInfo{% else %}NULL{% endif %},
},
+#endif
## endfor
{
.mapGroup = MAP_GROUP(UNDEFINED),
diff --git a/src/daycare.c b/src/daycare.c
index 8862dfda9..b3e76faba 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -1503,7 +1503,11 @@ static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycare
u8 lvlText[12];
u8 intText[8];
+#if REVISION == 0
strcpy((char *)lvlText, (const char *)gText_Lv);
+#else
+ StringCopy(lvlText, gText_Lv);
+#endif
level = GetLevelAfterDaycareSteps(&daycare->mons[daycareSlotId].mon, daycare->mons[daycareSlotId].steps);
ConvertIntToDecimalStringN(intText, level, STR_CONV_MODE_LEFT_ALIGN, 3);
StringAppend(lvlText, intText);
diff --git a/src/field_specials.c b/src/field_specials.c
index de3bc7d57..7abc3f5c9 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -1915,7 +1915,7 @@ u16 Special_BattleCardAction(void)
case 4:
return sub_81445C0(2);
default:
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scr_tool.c", 3873);
+ AGB_ASSERT_EX(0, ABSPATH("scr_tool.c"), 3873);
return 0;
}
}
diff --git a/src/fieldmap.c b/src/fieldmap.c
index 5582b6977..adb26f230 100644
--- a/src/fieldmap.c
+++ b/src/fieldmap.c
@@ -83,7 +83,7 @@ void sub_8058A00(struct MapHeader * mapHeader)
VMap.map = gBackupMapLayout;
VMap.Xsize = mapLayout->width + 15;
VMap.Ysize = mapLayout->height + 14;
- AGB_ASSERT_EX(VMap.Xsize * VMap.Ysize <= VIRTUAL_MAP_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/fieldmap.c", 158);
+ AGB_ASSERT_EX(VMap.Xsize * VMap.Ysize <= VIRTUAL_MAP_SIZE, ABSPATH("fieldmap.c"), 158);
map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height);
mapheader_copy_mapdata_of_adjacent_maps(mapHeader);
}
diff --git a/src/intro.c b/src/intro.c
index 33a03a389..cee1c8fec 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -131,6 +131,11 @@ static void sub_80EE9D4(struct Sprite * sprite);
static void sub_80EEA94(struct IntroSequenceData * ptr);
static void sub_80EEB08(struct Sprite * sprite);
static void sub_80EEBE4(void);
+#if REVISION >= 1
+static void sub_rev1_80EDFAC(void);
+#else
+#define sub_rev1_80EDFAC()
+#endif
extern const u32 gMultiBootProgram_PokemonColosseum_Start[];
@@ -828,6 +833,7 @@ static void sub_80ECD60(struct IntroSequenceData * this)
if (!IsDma3ManagerBusyWithBgCopy())
{
DestroySprite(this->field_0014);
+ sub_rev1_80EDFAC();
this->field_0012 = 0;
this->field_0004++;
}
@@ -1592,6 +1598,17 @@ static struct Sprite * sub_80EDF68(void)
return &gSprites[spriteId];
}
+#if REVISION >= 1
+static void sub_rev1_80EDFAC(void)
+{
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ gSprites[CreateSprite(&gUnknown_840BCFC, 0x68 + 32 * i, 0x6c, 5)].oam.tileNum += i * 4;
+ }
+}
+#endif
+
static void sub_80EDF94(struct IntroSequenceData * this)
{
u8 taskId;
diff --git a/src/link.c b/src/link.c
index dfbc9fcb2..bdaa48cdf 100644
--- a/src/link.c
+++ b/src/link.c
@@ -163,7 +163,7 @@ static void DoSend(void);
static void StopTimer(void);
static void SendRecvDone(void);
-ALIGNED(4) static const u16 sWirelessLinkDisplayPal[] = INCBIN_U16("graphics/interface/wireless_link_display.gbapal");
+static const u16 sWirelessLinkDisplayPal[] = INCBIN_U16("graphics/interface/wireless_link_display.gbapal");
static const u16 sWirelessLinkDisplay4bpp[] = INCBIN_U16("graphics/interface/wireless_link_display.4bpp.lz");
static const u16 sWirelessLinkDisplayBin[] = INCBIN_U16("graphics/interface/wireless_link_display.bin.lz");
static const u16 sLinkTestFontPal[] = INCBIN_U16("graphics/interface/link_test_font.gbapal");
diff --git a/src/main.c b/src/main.c
index 9294c80ce..c96e4cc3a 100644
--- a/src/main.c
+++ b/src/main.c
@@ -55,16 +55,15 @@ static void VCountIntr(void);
static void SerialIntr(void);
static void IntrDummy(void);
-#if defined(FIRERED)
-#define GAME_VERSION VERSION_FIRE_RED
-#elif defined(LEAF_GREEN)
-#define GAME_VERSION VERSION_LEAF_GREEN
-#endif
const u8 gGameVersion = GAME_VERSION;
const u8 gGameLanguage = GAME_LANGUAGE;
+#if REVISION == 0
const char BuildDateTime[] = "2004 04 26 11:20";
+#else
+const char BuildDateTime[] = "2004 07 20 09:30";
+#endif
const IntrFunc gIntrTableTemplate[] =
{
diff --git a/src/malloc.c b/src/malloc.c
index 4768721ba..590d45c05 100644
--- a/src/malloc.c
+++ b/src/malloc.c
@@ -93,7 +93,7 @@ void *AllocInternal(void *heapStart, u32 size)
if (pos->next == head)
{
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 174);
+ AGB_ASSERT_EX(0, ABSPATH("gflib/malloc.c"), 174);
return NULL;
}
@@ -103,20 +103,20 @@ void *AllocInternal(void *heapStart, u32 size)
void FreeInternal(void *heapStart, void *p)
{
- AGB_ASSERT_EX(p != NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 195);
+ AGB_ASSERT_EX(p != NULL, ABSPATH("gflib/malloc.c"), 195);
if (p) {
struct MemBlock *head = (struct MemBlock *)heapStart;
struct MemBlock *pos = (struct MemBlock *)((u8 *)p - sizeof(struct MemBlock));
- AGB_ASSERT_EX(pos->magic_number == MALLOC_SYSTEM_ID, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 204);
- AGB_ASSERT_EX(pos->flag == TRUE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 205);
+ AGB_ASSERT_EX(pos->magic_number == MALLOC_SYSTEM_ID, ABSPATH("gflib/malloc.c"), 204);
+ AGB_ASSERT_EX(pos->flag == TRUE, ABSPATH("gflib/malloc.c"), 205);
pos->flag = FALSE;
// If the freed block isn't the last one, merge with the next block
// if it's not in use.
if (pos->next != head) {
if (!pos->next->flag) {
- AGB_ASSERT_EX(pos->next->magic_number == MALLOC_SYSTEM_ID, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 211);
+ AGB_ASSERT_EX(pos->next->magic_number == MALLOC_SYSTEM_ID, ABSPATH("gflib/malloc.c"), 211);
pos->size += sizeof(struct MemBlock) + pos->next->size;
pos->next->magic_number = 0;
pos->next = pos->next->next;
@@ -129,7 +129,7 @@ void FreeInternal(void *heapStart, void *p)
// if it's not in use.
if (pos != head) {
if (!pos->prev->flag) {
- AGB_ASSERT_EX(pos->prev->magic_number == MALLOC_SYSTEM_ID, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/gflib/malloc.c", 228);
+ AGB_ASSERT_EX(pos->prev->magic_number == MALLOC_SYSTEM_ID, ABSPATH("gflib/malloc.c"), 228);
pos->prev->next = pos->next;
diff --git a/src/menews_jisan.c b/src/menews_jisan.c
index f38de9cfd..d8971f6a2 100644
--- a/src/menews_jisan.c
+++ b/src/menews_jisan.c
@@ -142,7 +142,7 @@ static u32 GetMENewsJisanState(struct MENewsJisanStruct *a0)
return 4;
return 5;
default:
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/menews_jisan.c", 383);
+ AGB_ASSERT_EX(0, ABSPATH("menews_jisan.c"), 383);
return 0;
}
}
diff --git a/src/menu2.c b/src/menu2.c
index 221f84318..1957715b2 100644
--- a/src/menu2.c
+++ b/src/menu2.c
@@ -419,7 +419,11 @@ static const u8 gUnknown_845FD54[][5] = {
[SPECIES_LATIAS - 1] = {0x1e, 0x0c, 0x10, 0x23, 0x19},
[SPECIES_LATIOS - 1] = {0x05, 0x0e, 0x10, 0x05, 0x1d},
[SPECIES_JIRACHI - 1] = {0x1c, 0x15, 0x08, 0x1e, 0x22},
+#if defined(FIRERED)
[SPECIES_DEOXYS - 1] = {0x1b, 0x08, 0x28, 0x1c, 0x16},
+#elif defined(LEAFGREEN)
+ [SPECIES_DEOXYS - 1] = {0x1a, 0x09, 0x28, 0x1a, 0x17},
+#endif
[SPECIES_CHIMECHO - 1] = {0x1d, 0x0c, 0x08, 0x1c, 0x1a},
[SPECIES_OLD_UNOWN_EMARK - 1] = {0x20, 0x21, 0x08, 0x20, 0x2b},
[SPECIES_OLD_UNOWN_QMARK - 1] = {0x20, 0x23, 0x08, 0x20, 0x2d}
diff --git a/src/mevent.c b/src/mevent.c
index 5ed001d09..b22d02cbc 100644
--- a/src/mevent.c
+++ b/src/mevent.c
@@ -750,6 +750,12 @@ bool32 sub_8144254(const u16 * data)
return FALSE;
}
+#if defined(FIRERED)
+#define MEVENT_HEADER_VERSION_CODE 1
+#elif defined(LEAFGREEN)
+#define MEVENT_HEADER_VERSION_CODE 2
+#endif
+
void BuildMEventClientHeader(struct MEventClientHeaderStruct * data)
{
s32 i;
@@ -759,7 +765,7 @@ void BuildMEventClientHeader(struct MEventClientHeaderStruct * data)
data->unk_04 = 1;
data->unk_08 = 1;
data->unk_0C = 1;
- data->unk_10 = 1;
+ data->unk_10 = MEVENT_HEADER_VERSION_CODE;
// Check whether a card already exists
if (ValidateReceivedWonderCard())
@@ -852,7 +858,7 @@ u16 sub_81444B0(const struct MEventClientHeaderStruct * a0, u32 command)
case 4:
return a0->unk_44;
default:
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 825);
+ AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 825);
return 0;
}
}
@@ -881,7 +887,7 @@ void sub_814451C(u32 command)
}
if (dest == NULL)
{
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 868);
+ AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 868);
}
else if (++(*dest) > 999)
{
@@ -939,7 +945,7 @@ u16 sub_81445C0(u32 command)
break;
}
}
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 913);
+ AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 913);
return 0;
}
@@ -977,7 +983,7 @@ void sub_8144714(u32 a0, u32 a1)
sub_8144824(1, a1, gSaveBlock1Ptr->mysteryEventBuffers.unk_344[0], 5);
break;
default:
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent.c", 988);
+ AGB_ASSERT_EX(0, ABSPATH("mevent.c"), 988);
}
}
}
diff --git a/src/mevent_server.c b/src/mevent_server.c
index 252a8885f..bebd69fe3 100644
--- a/src/mevent_server.c
+++ b/src/mevent_server.c
@@ -68,7 +68,7 @@ static void mevent_srv_free_resources(struct mevent_srv_common * svr)
static void mevent_srv_common_init_send(struct mevent_srv_common * svr, u32 ident, const void * src, u32 size)
{
- AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 257);
+ AGB_ASSERT_EX(size <= ME_SEND_BUF_SIZE, ABSPATH("mevent_server.c"), 257);
mevent_srv_sub_init_send(&svr->manager, ident, src, size);
}
@@ -129,7 +129,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
switch (cmd->instr)
{
case 0:
- AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 354);
+ AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 354);
svr->mainseqno = 1;
svr->param = cmd->flag;
break;
@@ -137,23 +137,23 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
svr->mainseqno = 3;
break;
case 2:
- AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 364);
+ AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 364);
mevent_srv_sub_init_recv(&svr->manager, cmd->flag, svr->recvBuffer);
svr->mainseqno = 2;
break;
case 3:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 370);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 370);
svr->cmdidx = 0;
svr->cmdBuffer = cmd->parameter;
break;
case 5:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 376);
- AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 377);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 376);
+ AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 377);
memcpy(svr->mevent_unk1442cc, svr->recvBuffer, sizeof(struct MEventClientHeaderStruct));
break;
case 6:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 382);
- AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 383);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 382);
+ AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 383);
svr->param = ValidateMEventClientHeader(svr->mevent_unk1442cc);
break;
case 4:
@@ -164,42 +164,42 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
}
break;
case 7:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 396);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 396);
ptr = mevent_first_if_not_null_else_second(cmd->parameter, svr->card);
svr->param = sub_8144418(ptr, svr->mevent_unk1442cc, ptr);
break;
case 8:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 402);
- AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 403);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 402);
+ AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 403);
svr->param = *(u32 *)svr->recvBuffer;
break;
case 9:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 408);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 408);
ptr = mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord);
svr->param = sub_8144434(ptr, svr->mevent_unk1442cc, ptr);
break;
case 10:
- AGB_ASSERT_EX(cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 415);
+ AGB_ASSERT_EX(cmd->parameter == NULL, ABSPATH("mevent_server.c"), 415);
svr->param = sub_81444B0(svr->mevent_unk1442cc, cmd->flag);
break;
case 11:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 420);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 420);
svr->param = sub_8144474(svr->mevent_unk1442cc, cmd->parameter);
break;
case 12:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 426);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 426);
svr->param = mevent_compare_pointers(cmd->parameter, *(void **)svr->recvBuffer);
break;
case 14:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 432);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 432);
mevent_srv_common_init_send(svr, 0x17, mevent_first_if_not_null_else_second(cmd->parameter, svr->news), sizeof(struct MEWonderNewsData));
break;
case 13:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 438);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 438);
mevent_srv_common_init_send(svr, 0x16, mevent_first_if_not_null_else_second(cmd->parameter, svr->card), sizeof(struct MEWonderCardData));
break;
case 16:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 444);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 444);
mevent_srv_common_init_send(svr, 0x18, mevent_first_if_not_null_else_second(cmd->parameter, &svr->sendWord), 4);
break;
case 15:
@@ -215,7 +215,7 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
mevent_srv_common_init_send(svr, 0x10, cmd->parameter, cmd->flag);
break;
case 19:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 466);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 466);
mevent_srv_common_init_send(svr, 0x1a, cmd->parameter, 188);
break;
case 20:
@@ -225,15 +225,15 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
mevent_srv_common_init_send(svr, 0x1c, cmd->parameter, cmd->flag);
break;
case 22:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 481);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 481);
memcpy(svr->card, cmd->parameter, 332);
break;
case 23:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 486);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 486);
memcpy(svr->news, cmd->parameter, 444);
break;
case 21:
- AGB_ASSERT_EX(cmd->flag == FALSE, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 491);
+ AGB_ASSERT_EX(cmd->flag == FALSE, ABSPATH("mevent_server.c"), 491);
svr->sendWord = *(u32 *)cmd->parameter;
break;
case 24:
@@ -245,16 +245,16 @@ static u32 common_mainseq_4(struct mevent_srv_common * svr)
svr->sendBuffer2Size = cmd->flag;
break;
case 26:
- AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 506);
+ AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 506);
memcpy(svr->card, GetSavedWonderCard(), 332);
sub_814410C(svr->card);
break;
case 27:
- AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 512);
+ AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 512);
memcpy(svr->news, GetSavedWonderNews(), 444);
break;
case 28:
- AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 517);
+ AGB_ASSERT_EX(cmd->flag == FALSE && cmd->parameter == NULL, ABSPATH("mevent_server.c"), 517);
svr->sendBuffer1 = sub_8069E48();
break;
case 29:
@@ -276,8 +276,8 @@ static u32 (*const func_tbl[])(struct mevent_srv_common *) = {
static u32 mevent_srv_exec_common(struct mevent_srv_common * svr)
{
u32 response;
- AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 546);
+ AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), ABSPATH("mevent_server.c"), 546);
response = func_tbl[svr->mainseqno](svr);
- AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/mevent_server.c", 548);
+ AGB_ASSERT_EX(svr->mainseqno < NELEMS(func_tbl), ABSPATH("mevent_server.c"), 548);
return response;
}
diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c
index c73d7445b..7b25cc5ff 100644
--- a/src/mystery_event_script.c
+++ b/src/mystery_event_script.c
@@ -22,7 +22,11 @@ extern ScrCmdFunc gMysteryEventScriptCmdTable[];
extern ScrCmdFunc gMysteryEventScriptCmdTableEnd[];
#define LANGUAGE_MASK 0x1
+#if defined(FIRERED)
#define VERSION_MASK 0x1
+#elif defined(LEAFGREEN)
+#define VERSION_MASK 0x2
+#endif
EWRAM_DATA static struct ScriptContext sMysteryEventScriptContext = {0};
diff --git a/src/oak_speech.c b/src/oak_speech.c
index 79f8b18c7..0ad5d6a6f 100644
--- a/src/oak_speech.c
+++ b/src/oak_speech.c
@@ -271,11 +271,11 @@ static const struct WindowTemplate sNewGameAdventureIntroWindowTemplates[] = {
}, DUMMY_WIN_TEMPLATE
};
-const u8 sTextColor_HelpSystem[4] = {
+static const u8 sTextColor_HelpSystem[4] = {
0x00, 0x01, 0x02
};
-const u8 sTextColor_OakSpeech[4] = {
+static const u8 sTextColor_OakSpeech[4] = {
0x00, 0x02, 0x03
};
@@ -405,11 +405,19 @@ static const u8 *const sHelpDocsPtrs[] = {
};
static const u8 *const sMaleNameChoices[] = {
+#if defined(FIRERED)
gNameChoice_Red,
gNameChoice_Fire,
gNameChoice_Ash,
gNameChoice_Kene,
gNameChoice_Geki,
+#elif defined(LEAFGREEN)
+ gNameChoice_Green,
+ gNameChoice_Leaf,
+ gNameChoice_Gary,
+ gNameChoice_Kaz,
+ gNameChoice_Toru,
+#endif
gNameChoice_Jak,
gNameChoice_Janne,
gNameChoice_Jonn,
@@ -427,8 +435,13 @@ static const u8 *const sMaleNameChoices[] = {
};
static const u8 *const sFemaleNameChoices[] = {
+#if defined(FIRERED)
gNameChoice_Red,
gNameChoice_Fire,
+#elif defined(LEAFGREEN)
+ gNameChoice_Green,
+ gNameChoice_Leaf,
+#endif
gNameChoice_Omi,
gNameChoice_Jodi,
gNameChoice_Amanda,
@@ -449,10 +462,17 @@ static const u8 *const sFemaleNameChoices[] = {
};
static const u8 *const sRivalNameChoices[] = {
+#if defined(FIRERED)
gNameChoice_Green,
gNameChoice_Gary,
gNameChoice_Kaz,
gNameChoice_Toru
+#elif defined(LEAFGREEN)
+ gNameChoice_Red,
+ gNameChoice_Ash,
+ gNameChoice_Kene,
+ gNameChoice_Geki
+#endif
};
static void VBlankCB_NewGameOaksSpeech(void)
diff --git a/src/pokedex.c b/src/pokedex.c
index 683b605d4..8586382b5 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -3,11 +3,6 @@
#include "pokedex_screen.h"
#include "constants/species.h"
-ALIGNED(4) static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
-
-#include "data/pokemon/pokedex_text.h"
-#include "data/pokemon/pokedex_entries.h"
-
const u8 *sub_8088E20(u16 dexNum)
{
return gPokedexEntries[dexNum].categoryName;
diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c
index b67f9a514..2ccec7a3f 100644
--- a/src/pokedex_screen.c
+++ b/src/pokedex_screen.c
@@ -32,7 +32,7 @@ struct PokedexScreenData
u8 field_01;
u8 field_02;
u8 field_03;
- u8 filler_04[0x4];
+ u8 field_04;
u32 field_08;
u32 field_0C;
u16 field_10;
@@ -64,13 +64,13 @@ struct PokedexScreenData
u8 field_42;
struct ListMenuItem * field_44;
u16 field_48;
- u8 filler_4A[0x10];
+ u8 field_4A[0x10];
u16 field_5A;
u16 * field_5C;
u8 field_60;
u8 field_61;
u16 field_62;
- u8 filler_64[0x2];
+ u8 field_64;
u16 field_66;
u16 field_68;
u16 field_6A;
@@ -115,29 +115,81 @@ void sub_8105594(u8 a0, u8 a1);
void sub_8105E1C(u8 a0);
void sub_8106014(void);
void sub_810603C(void);
-bool8 sub_8106838(u8 a0, u8 a1);
+bool8 sub_8106838(u8 category, u8 a1);
u8 sub_81068A0(u8 a0);
-void sub_810699C(u8 a0);
+void sub_810699C(u8 category);
bool8 sub_8106A20(u16 a0);
void sub_81067C0(void);
-void sub_81068DC(u8 a0, u8 a1);
+void sub_81068DC(u8 category, u8 a1);
u8 sub_8106AF8(u16 a0);
void sub_8106B34(void);
void sub_8106E78(const u8 *a0, s32 a1);
-extern const u16 gUnknown_8440124[];
-extern const u32 gUnknown_8440274[];
-extern const u32 gUnknown_84403AC[];
-extern const u16 gUnknown_84404C8[];
-extern const u16 gUnknown_84406C8[];
-extern const u16 gUnknown_84406E0[];
-extern const u16 gUnknown_8440EF0[];
-extern const u16 gUnknown_8443460[];
-extern const u8 gUnknown_8443600[];
-extern const u16 gUnknown_8443FC0[];
-extern const u16 gUnknown_84442F6[];
-extern const u16 gUnknown_84448FE[];
-extern const u16 gUnknown_84445FA[];
+#include "data/pokemon_graphics/footprint_table.h"
+
+const u32 gUnknown_8440124[] = INCBIN_U32("graphics/pokedex/unk_8440124.bin.lz");
+const u32 gUnknown_8440274[] = INCBIN_U32("graphics/pokedex/unk_8440274.4bpp.lz");
+const u32 gUnknown_84403AC[] = INCBIN_U32("graphics/pokedex/unk_84403AC.4bpp.lz");
+const u16 gUnknown_84404C8[] = INCBIN_U16("graphics/pokedex/unk_84404C8.gbapal");
+
+const u16 gUnknown_84406C8[] = {
+ RGB(24, 22, 17), RGB(26, 24, 20),
+ RGB(26, 20, 15), RGB(27, 23, 19),
+ RGB(28, 18, 15), RGB(28, 22, 19),
+ RGB(30, 16, 13), RGB(29, 21, 18),
+ RGB(28, 18, 15), RGB(28, 22, 19),
+ RGB(26, 20, 15), RGB(27, 23, 19)
+};
+
+const u16 gUnknown_84406E0[] = INCBIN_U16("graphics/pokedex/unk_84406E0.gbapal");
+const u32 gUnknown_84408E0[] = INCBIN_U32("graphics/pokedex/unk_84408E0.bin.lz");
+const u32 gUnknown_8440BD8[] = INCBIN_U32("graphics/pokedex/unk_8440BD8.bin.lz");
+const u32 gUnknown_8440EF0[] = INCBIN_U32("graphics/pokedex/unk_8440EF0.bin.lz");
+const u32 gUnknown_844112C[] = INCBIN_U32("graphics/pokedex/unk_844112C.bin.lz");
+const u32 gUnknown_84414BC[] = INCBIN_U32("graphics/pokedex/unk_84414BC.bin.lz");
+const u32 gUnknown_8441808[] = INCBIN_U32("graphics/pokedex/unk_8441808.bin.lz");
+const u32 gUnknown_8441A40[] = INCBIN_U32("graphics/pokedex/unk_8441A40.bin.lz");
+const u32 gUnknown_8441D54[] = INCBIN_U32("graphics/pokedex/unk_8441D54.bin.lz");
+const u32 gUnknown_8442004[] = INCBIN_U32("graphics/pokedex/unk_8442004.bin.lz");
+const u32 gUnknown_844223C[] = INCBIN_U32("graphics/pokedex/unk_844223C.bin.lz");
+const u32 gUnknown_84424E4[] = INCBIN_U32("graphics/pokedex/unk_84424E4.bin.lz");
+const u32 gUnknown_8442838[] = INCBIN_U32("graphics/pokedex/unk_8442838.bin.lz");
+const u32 gUnknown_8442BC0[] = INCBIN_U32("graphics/pokedex/unk_8442BC0.bin.lz");
+const u32 gUnknown_8442EF8[] = INCBIN_U32("graphics/pokedex/unk_8442EF8.bin.lz");
+const u32 gUnknown_844318C[] = INCBIN_U32("graphics/pokedex/unk_844318C.bin.lz");
+const u16 gUnknown_8443420[] = INCBIN_U16("graphics/pokedex/unk_8443420.gbapal");
+const u16 gUnknown_8443440[] = INCBIN_U16("graphics/pokedex/unk_8443440.gbapal");
+const u16 gUnknown_8443460[] = INCBIN_U16("graphics/pokedex/unk_8443460.gbapal");
+const u16 gUnknown_8443480[] = INCBIN_U16("graphics/pokedex/unk_8443480.gbapal");
+const u16 gUnknown_84434A0[] = INCBIN_U16("graphics/pokedex/unk_84434A0.gbapal");
+const u16 gUnknown_84434C0[] = INCBIN_U16("graphics/pokedex/unk_84434C0.gbapal");
+const u16 gUnknown_84434E0[] = INCBIN_U16("graphics/pokedex/unk_84434E0.gbapal");
+const u16 gUnknown_8443500[] = INCBIN_U16("graphics/pokedex/unk_8443500.gbapal");
+const u16 gUnknown_8443520[] = INCBIN_U16("graphics/pokedex/unk_8443520.gbapal");
+const u16 gUnknown_8443540[] = INCBIN_U16("graphics/pokedex/unk_8443540.gbapal");
+const u16 gUnknown_8443560[] = INCBIN_U16("graphics/pokedex/unk_8443560.gbapal");
+const u16 gUnknown_8443580[] = INCBIN_U16("graphics/pokedex/unk_8443580.gbapal");
+const u16 gUnknown_84435A0[] = INCBIN_U16("graphics/pokedex/unk_84435A0.gbapal");
+const u16 gUnknown_84435C0[] = INCBIN_U16("graphics/pokedex/unk_84435C0.gbapal");
+const u16 gUnknown_84435E0[] = INCBIN_U16("graphics/pokedex/unk_84435E0.gbapal");
+const u8 gUnknown_8443600[] = INCBIN_U8("graphics/pokedex/unk_8443600.4bpp");
+const u32 gUnknown_8443620[] = INCBIN_U32("graphics/pokedex/unk_8443620.bin.lz");
+const u32 gUnknown_8443910[] = INCBIN_U32("graphics/pokedex/unk_8443910.bin.lz");
+const u32 gUnknown_8443988[] = INCBIN_U32("graphics/pokedex/unk_8443988.bin.lz");
+const u32 gUnknown_84439FC[] = INCBIN_U32("graphics/pokedex/unk_84439FC.bin.lz");
+const u32 gUnknown_8443A78[] = INCBIN_U32("graphics/pokedex/unk_8443A78.bin.lz");
+const u32 gUnknown_8443AF8[] = INCBIN_U32("graphics/pokedex/unk_8443AF8.bin.lz");
+const u32 gUnknown_8443BB0[] = INCBIN_U32("graphics/pokedex/unk_8443BB0.bin.lz");
+const u32 gUnknown_8443C54[] = INCBIN_U32("graphics/pokedex/unk_8443C54.bin.lz");
+const u16 gUnknown_8443D00[] = INCBIN_U16("graphics/pokedex/unk_8443D00.4bpp");
+
+#include "data/pokemon/pokedex_orders.h"
+
+static const u8 gExpandedPlaceholder_PokedexDescription[] = _("");
+
+#include "data/pokemon/pokedex_text.h"
+#include "data/pokemon/pokedex_entries.h"
+
extern const struct BgTemplate gUnknown_8451EBC[4];
extern const struct WindowTemplate gUnknown_8451ECC[];
extern const struct PokedexScreenData gUnknown_8451EE4;
@@ -157,7 +209,7 @@ extern const struct WindowTemplate gUnknown_84521C4;
extern const struct WindowTemplate gUnknown_84521CC;
extern const u16 gUnknown_845228C[];
extern const u8 (*const gUnknown_8452334[])[4];
-extern const u8 *const gUnknown_8452344[];
+extern const u8 *const gDexCategoryNamePtrs[];
extern const u8 gUnknown_8452388[][30];
extern const struct ScrollArrowsTemplate gUnknown_84524B4;
extern const struct CursorStruct gUnknown_84524C4;
@@ -710,7 +762,7 @@ u16 sub_8103518(u8 a0)
case 1:
for (i = 0; i < SPECIES_CHIMECHO; i++)
{
- ndex_num = gUnknown_8443FC0[i];
+ ndex_num = gPokedexOrder_Alphabetical[i];
if (ndex_num <= max_n)
{
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
@@ -725,9 +777,9 @@ u16 sub_8103518(u8 a0)
}
break;
case 2:
- for (i = 0; i < SPECIES_CHIMECHO; i++)
+ for (i = 0; i < NUM_SPECIES - 1; i++)
{
- ndex_num = SpeciesToNationalPokedexNum(gUnknown_84448FE[i]);
+ ndex_num = SpeciesToNationalPokedexNum(gPokedexOrder_Type[i]);
if (ndex_num <= max_n)
{
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
@@ -744,7 +796,7 @@ u16 sub_8103518(u8 a0)
case 3:
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- ndex_num = gUnknown_84442F6[i];
+ ndex_num = gPokedexOrder_Weight[i];
if (ndex_num <= max_n)
{
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
@@ -761,7 +813,7 @@ u16 sub_8103518(u8 a0)
case 4:
for (i = 0; i < NATIONAL_DEX_COUNT; i++)
{
- ndex_num = gUnknown_84445FA[i];
+ ndex_num = gPokedexOrder_Height[i];
if (ndex_num <= max_n)
{
seen = sub_8104AB0(ndex_num, FLAG_GET_SEEN, 0);
@@ -1855,11 +1907,11 @@ bool8 sub_8104F0C(bool8 a0)
FillWindowPixelBuffer(0, PIXEL_FILL(15));
if (a0)
{
- sub_8106E78(gUnknown_8452344[gUnknown_203ACF0->field_28], 1);
+ sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 1);
}
else
{
- sub_8106E78(gUnknown_8452344[gUnknown_203ACF0->field_28], 0);
+ sub_8106E78(gDexCategoryNamePtrs[gUnknown_203ACF0->field_28], 0);
sub_8104EC0(0, sub_8106AF8(gUnknown_203ACF0->field_2B), sub_8106AF8(gUnknown_203ACF0->field_2A - 1), 160, 2);
}
CopyWindowToVram(0, 2);
diff --git a/src/pokemon.c b/src/pokemon.c
index 9f5a6967e..99fe39709 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -1603,6 +1603,7 @@ static const u16 sHMMoves[] =
MOVE_ROCK_SMASH, MOVE_WATERFALL, MOVE_DIVE, 0xFFFF
};
+#if defined(FIRERED)
static const u16 sDeoxysBaseStats[] =
{
50, // Hp
@@ -1612,6 +1613,17 @@ static const u16 sDeoxysBaseStats[] =
180, // Sp.Attack
20, // Sp.Defense
};
+#elif defined LEAFGREEN
+static const u16 sDeoxysBaseStats[] =
+{
+ 50, // Hp
+ 70, // Attack
+ 160, // Defense
+ 90, // Speed
+ 70, // Sp.Attack
+ 160, // Sp.Defense
+};
+#endif
const u16 gLinkPlayerFacilityClasses[] =
{
diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c
new file mode 100644
index 000000000..6d4652f35
--- /dev/null
+++ b/src/post_battle_event_funcs.c
@@ -0,0 +1,59 @@
+#include "global.h"
+#include "script_pokemon_util_80A0058.h"
+#include "event_data.h"
+#include "credits.h"
+#include "overworld.h"
+#include "hall_of_fame.h"
+#include "load_save.h"
+#include "constants/flags.h"
+#include "constants/spawn_points.h"
+
+bool8 Special_HallOfFame(void)
+{
+ bool8 ribbonState;
+ bool8 *r7;
+ int i;
+ bool8 gaveAtLeastOneRibbon;
+ sp000_heal_pokemon();
+ if (FlagGet(FLAG_SYS_GAME_CLEAR) == TRUE)
+ {
+ gHasHallOfFameRecords = TRUE;
+ }
+ else
+ {
+ gHasHallOfFameRecords = FALSE;
+ FlagSet(FLAG_SYS_GAME_CLEAR);
+ }
+ if (GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME) == 0)
+ {
+ SetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME, (gSaveBlock2Ptr->playTimeHours << 16) | (gSaveBlock2Ptr->playTimeMinutes << 8) | gSaveBlock2Ptr->playTimeSeconds);
+ }
+ sub_804C1AC();
+ sub_8055738(SPAWN_PALLET_TOWN);
+ gaveAtLeastOneRibbon = FALSE;
+ for (i = 0, r7 = &ribbonState; i < PARTY_SIZE; i++)
+ {
+ if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(&gPlayerParty[i], MON_DATA_SANITY_IS_EGG))
+ {
+ if (!GetMonData(&gPlayerParty[i], MON_DATA_CHAMPION_RIBBON))
+ {
+ *r7 = TRUE;
+ SetMonData(&gPlayerParty[i], MON_DATA_CHAMPION_RIBBON, &ribbonState);
+ gaveAtLeastOneRibbon = TRUE;
+ }
+ }
+ }
+ if (gaveAtLeastOneRibbon == TRUE)
+ {
+ IncrementGameStat(GAME_STAT_RECEIVED_RIBBONS);
+ FlagSet(FLAG_SYS_RIBBON_GET);
+ }
+ SetMainCallback2(CB2_DoHallOfFameScreen);
+ return FALSE;
+}
+
+bool8 sp0C8_whiteout_maybe(void)
+{
+ SetMainCallback2(CB2_WhiteOut);
+ return FALSE;
+}
diff --git a/src/quest_log.c b/src/quest_log.c
index 6b25150f3..970071a0f 100644
--- a/src/quest_log.c
+++ b/src/quest_log.c
@@ -179,9 +179,9 @@ static void sub_8113A1C(u16);
static void sub_811381C(void);
static bool8 sub_8113A44(u16, const u16 *);
static u16 *QuestLog_SkipCommand(u16 *, u16 **);
-static void sub_8113ABC(u16 *);
-static bool8 sub_8113AE8(u16 *);
-static bool8 sub_8113B44(u16 *);
+static void sub_8113ABC(const u16 *);
+static bool8 sub_8113AE8(const u16 *);
+static bool8 sub_8113B44(const u16 *);
static void sub_8113B88(void);
static void sub_8113B94(u16);
static void sub_8113BD8(void);
@@ -2831,19 +2831,24 @@ static u16 *QuestLog_SkipCommand(u16 *curPtr, u16 **prevPtr_p)
return sQuestLogEventCmdSizes[idx] + (sQuestLogEventCmdSizes[idx] - 4) * cnt + (void *)curPtr;
}
-static void sub_8113ABC(u16 *a0)
+static void sub_8113ABC(const u16 *a0)
{
- u8 *r2 = (u8 *)(a0 + 2);
+ const u8 *r2 = (const u8 *)(a0 + 2);
if ((a0[0] & 0xFFF) != 35)
gUnknown_203B04A = 0;
else
gUnknown_203B04A = r2[1] + 1;
}
-#ifdef NONMATCHING
-static bool8 sub_8113AE8(u16 *a0)
+static bool8 sub_8113AE8(const u16 *a0)
{
- if (a0 == NULL || a0[1] > sQuestLogIdx)
+#ifndef NONMATCHING
+ register const u16 *r0 asm("r0") = a0;
+#else
+ const u16 *r0 = a0;
+#endif
+
+ if (r0 == NULL || r0[1] > sQuestLogIdx)
return FALSE;
sQuestLogScriptParsingCBs[a0[0] & 0xFFF](a0);
@@ -2853,60 +2858,8 @@ static bool8 sub_8113AE8(u16 *a0)
gUnknown_203B044.unk_2 = 1;
return TRUE;
}
-#else
-NAKED
-static bool8 sub_8113AE8(u16 *a0)
-{
- asm_unified("\tpush {r4,lr}\n"
- "\tadds r4, r0, 0\n"
- "\tcmp r0, 0\n"
- "\tbeq _08113AFA\n"
- "\tldr r1, _08113B00 @ =sQuestLogIdx\n"
- "\tldrh r0, [r0, 0x2]\n"
- "\tldrh r1, [r1]\n"
- "\tcmp r0, r1\n"
- "\tbls _08113B04\n"
- "_08113AFA:\n"
- "\tmovs r0, 0\n"
- "\tb _08113B32\n"
- "\t.align 2, 0\n"
- "_08113B00: .4byte sQuestLogIdx\n"
- "_08113B04:\n"
- "\tldr r2, _08113B38 @ =sQuestLogScriptParsingCBs\n"
- "\tldrh r1, [r4]\n"
- "\tldr r0, _08113B3C @ =0x00000fff\n"
- "\tands r0, r1\n"
- "\tlsls r0, 2\n"
- "\tadds r0, r2\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r4, 0\n"
- "\tbl _call_via_r1\n"
- "\tldr r2, _08113B40 @ =gUnknown_203B044\n"
- "\tldrh r1, [r4]\n"
- "\tstrb r1, [r2]\n"
- "\tmovs r0, 0xF0\n"
- "\tlsls r0, 8\n"
- "\tands r0, r1\n"
- "\tlsrs r0, 12\n"
- "\tstrb r0, [r2, 0x1]\n"
- "\tcmp r0, 0\n"
- "\tbeq _08113B30\n"
- "\tmovs r0, 0x1\n"
- "\tstrh r0, [r2, 0x2]\n"
- "_08113B30:\n"
- "\tmovs r0, 0x1\n"
- "_08113B32:\n"
- "\tpop {r4}\n"
- "\tpop {r1}\n"
- "\tbx r1\n"
- "\t.align 2, 0\n"
- "_08113B38: .4byte sQuestLogScriptParsingCBs\n"
- "_08113B3C: .4byte 0x00000fff\n"
- "_08113B40: .4byte gUnknown_203B044");
-}
-#endif
-static bool8 sub_8113B44(u16 *a0)
+static bool8 sub_8113B44(const u16 *a0)
{
if (gUnknown_203B044.unk_2 == 0)
return FALSE;
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 6a5d61227..a88655e17 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -105,7 +105,7 @@ bool8 ScrCmd_special(struct ScriptContext *ctx)
if (specialPtr < gSpecialsEnd)
(*specialPtr)();
else
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c", 241);
+ AGB_ASSERT_EX(0, ABSPATH("scrcmd.c"), 241);
return FALSE;
}
@@ -116,7 +116,7 @@ bool8 ScrCmd_specialvar(struct ScriptContext *ctx)
if (specialPtr < gSpecialsEnd)
*varPtr = (*specialPtr)();
else
- AGB_ASSERT_EX(0, "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/scrcmd.c", 263);
+ AGB_ASSERT_EX(0, ABSPATH("scrcmd.c"), 263);
return FALSE;
}
diff --git a/src/script_menu.c b/src/script_menu.c
index b3826322b..4ebd0f8f8 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -316,11 +316,19 @@ static const struct MenuAction sScriptMultiChoiceMenu_BikeShop[] = {
};
static const struct MenuAction sScriptMultiChoiceMenu_GameCornerPokemonPrizes[] = {
+#if defined(FIRERED)
{ gText_Abra_180Coins },
{ gText_Clefairy_500Coins },
{ gText_Dratini_2800Coins },
{ gText_Scyther_5500Coins },
{ gText_Porygon_9999Coins },
+#elif defined(LEAFGREEN)
+ { gText_Abra_120Coins },
+ { gText_Clefairy_750Coins },
+ { gText_Pinsir_2500Coins },
+ { gText_Dratini_4600Coins },
+ { gText_Porygon_6500Coins },
+#endif
{ gText_NoThanks_2 }
};
diff --git a/src/slot_machine.c b/src/slot_machine.c
index 903f14d45..a6515e9f7 100644
--- a/src/slot_machine.c
+++ b/src/slot_machine.c
@@ -213,9 +213,15 @@ static const u16 gUnknown_8464994[] = INCBIN_U16("graphics/slot_machine/unk_8464
static const u16 gUnknown_84649B4[] = INCBIN_U16("graphics/slot_machine/unk_84649b4.gbapal");
static const u16 gUnknown_84649D4[] = INCBIN_U16("graphics/slot_machine/unk_84649d4.gbapal");
static const u16 gUnknown_84649F4[] = INCBIN_U16("graphics/slot_machine/unk_84649f4.gbapal");
+#if defined(FIRERED)
static const u32 gUnknown_8464A14[] = INCBIN_U32("graphics/slot_machine/unk_8464a14.4bpp.lz");
-static const u16 gUnknown_846504C[] = INCBIN_U16("graphics/slot_machine/unk_846504c.gbapal");
+static const u16 gUnknown_846504C[] = INCBIN_U16("graphics/slot_machine/unk_846506c.gbapal");
static const u32 gUnknown_846506C[] = INCBIN_U32("graphics/slot_machine/unk_846506c.4bpp.lz");
+#elif defined(LEAFGREEN)
+static const u32 gUnknown_8464A14[] = INCBIN_U32("graphics/slot_machine/unk_lg_8464434.4bpp.lz");
+static const u16 gUnknown_846504C[] = INCBIN_U16("graphics/slot_machine/unk_lg_8464a3c.gbapal");
+static const u32 gUnknown_846506C[] = INCBIN_U32("graphics/slot_machine/unk_lg_8464a3c.4bpp.lz");
+#endif
static const u16 gUnknown_8465524[] = INCBIN_U16("graphics/slot_machine/unk_8465524.gbapal");
static const u32 gUnknown_8465544[] = INCBIN_U32("graphics/slot_machine/unk_8465544.4bpp.lz");
@@ -236,6 +242,7 @@ static const struct SpritePalette gUnknown_84655C8[] = {
{NULL}
};
+#if defined(FIRERED)
static const u16 gUnknown_8465608[] = {
2,
2,
@@ -245,6 +252,17 @@ static const u16 gUnknown_8465608[] = {
4,
3
};
+#elif defined(LEAFGREEN)
+static const u16 gUnknown_8465608[] = {
+ 2,
+ 2,
+ 0,
+ 3,
+ 2,
+ 1,
+ 1
+};
+#endif
static const u16 gUnknown_8465616[] = {
0x0120, 0x011f, 0x011e, 0x011d, 0x011c, 0x011b, 0x011a, 0x0119, 0x0118, 0x0117, 0x0116, 0x0115, 0x0114, 0x0113, 0x0112, 0x0111,
@@ -517,6 +535,7 @@ bool8 (*const gUnknown_84658F0[])(u8 *, struct SlotMachineSetupTaskData *) = {
sub_8141764
};
+#if defined(FIRERED)
static const u16 gUnknown_8465930[] = INCBIN_U16("graphics/slot_machine/unk_8465930.gbapal");
static const u16 gUnknown_8465950[] = INCBIN_U16("graphics/slot_machine/unk_8465950.gbapal");
static const u16 gUnknown_8465970[] = INCBIN_U16("graphics/slot_machine/unk_8465970.gbapal");
@@ -526,12 +545,28 @@ static const u32 gUnknown_84659D0[] = INCBIN_U32("graphics/slot_machine/unk_8465
static const u32 gUnknown_84661D4[] = INCBIN_U32("graphics/slot_machine/unk_84661d4.bin.lz");
static const u16 gUnknown_84664BC[] = INCBIN_U16("graphics/slot_machine/unk_84664bc.gbapal");
static const u16 gUnknown_84664DC[] = INCBIN_U16("graphics/slot_machine/unk_84664dc.gbapal","graphics/slot_machine/unk_84664fc.gbapal", "graphics/slot_machine/unk_846651c.gbapal");
+#elif defined(LEAFGREEN)
+static const u16 gUnknown_8465930[] = INCBIN_U16("graphics/slot_machine/unk_lg_84652bc.gbapal");
+static const u16 gUnknown_8465950[] = INCBIN_U16("graphics/slot_machine/unk_lg_84652dc.gbapal");
+static const u16 gUnknown_8465970[] = INCBIN_U16("graphics/slot_machine/unk_lg_84652fc.gbapal");
+static const u16 gUnknown_8465990[] = INCBIN_U16("graphics/slot_machine/unk_lg_846531c.gbapal");
+static const u16 gUnknown_84659B0[] = INCBIN_U16("graphics/slot_machine/unk_lg_846533c.gbapal");
+static const u32 gUnknown_84659D0[] = INCBIN_U32("graphics/slot_machine/unk_lg_846535c.4bpp.lz");
+static const u32 gUnknown_84661D4[] = INCBIN_U32("graphics/slot_machine/unk_lg_8465ab8.bin.lz");
+static const u16 gUnknown_84664BC[] = INCBIN_U16("graphics/slot_machine/unk_lg_8465d9c.gbapal");
+static const u16 gUnknown_84664DC[] = INCBIN_U16("graphics/slot_machine/unk_lg_8465dbc.gbapal","graphics/slot_machine/unk_lg_8465ddc.gbapal", "graphics/slot_machine/unk_lg_8465dfc.gbapal");
+#endif
static const u32 gUnknown_846653C[] = INCBIN_U32("graphics/slot_machine/unk_846653c.4bpp.lz");
static const u16 gUnknown_84665C0[] = INCBIN_U16("graphics/slot_machine/unk_84665c0.gbapal");
static const u16 gUnknown_84665E0[] = INCBIN_U16("graphics/slot_machine/unk_84665e0.gbapal");
static const u16 gUnknown_8466600[] = INCBIN_U16("graphics/slot_machine/unk_8466600.gbapal");
+#if defined(FIRERED)
static const u32 gUnknown_8466620[] = INCBIN_U32("graphics/slot_machine/unk_8466620.4bpp.lz");
static const u32 gUnknown_8466998[] = INCBIN_U32("graphics/slot_machine/unk_8466998.bin.lz");
+#elif defined(LEAFGREEN)
+static const u32 gUnknown_8466620[] = INCBIN_U32("graphics/slot_machine/unk_lg_8465f00.4bpp.lz");
+static const u32 gUnknown_8466998[] = INCBIN_U32("graphics/slot_machine/unk_lg_8466278.bin.lz");
+#endif
static const struct BgTemplate gUnknown_8466B10[] = {
{
diff --git a/src/string_util.c b/src/string_util.c
index d5b5202df..ccef95f71 100644
--- a/src/string_util.c
+++ b/src/string_util.c
@@ -405,37 +405,65 @@ static u8 *ExpandPlaceholder_RivalName(void)
static u8 *ExpandPlaceholder_Version(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Ruby;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Sapphire;
+#endif
}
static u8 *ExpandPlaceholder_Magma(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Magma;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Aqua;
+#endif
}
static u8 *ExpandPlaceholder_Aqua(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Aqua;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Magma;
+#endif
}
static u8 *ExpandPlaceholder_Maxie(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Maxie;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Archie;
+#endif
}
static u8 *ExpandPlaceholder_Archie(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Archie;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Maxie;
+#endif
}
static u8 *ExpandPlaceholder_Groudon(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Groudon;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Kyogre;
+#endif
}
static u8 *ExpandPlaceholder_Kyogre(void)
{
+#if defined(FIRERED)
return gExpandedPlaceholder_Kyogre;
+#elif defined(LEAFGREEN)
+ return gExpandedPlaceholder_Groudon;
+#endif
}
u8 *GetExpandedPlaceholder(u32 id)
diff --git a/src/title_screen.c b/src/title_screen.c
index 2d6b6cf15..af78893b9 100644
--- a/src/title_screen.c
+++ b/src/title_screen.c
@@ -54,12 +54,13 @@ static void SetGpuRegsForTitleScreenRun(void);
static void SetTitleScreenScene_Restart(s16 * data);
static void SetTitleScreenScene_Cry(s16 * data);
static void Task_TitleScreen_SlideWin0(u8 taskId);
-static void Task_TitleScreen_PaletteSomething(u8 taskId);
+static void Task_TitleScreen_BlinkPressStart(u8 taskId);
static void SignalEndTitleScreenPaletteSomethingTask(void);
static void UpdateScanlineEffectRegBuffer(s16 a0);
static void ScheduleStopScanlineEffect(void);
static void LoadMainTitleScreenPalsAndResetBgs(void);
static void CB2_FadeOutTransitionToSaveClearScreen(void);
+static void SpriteCallback_TitleScreenFlameOrLeaf(struct Sprite * sprite);
static void CB2_FadeOutTransitionToBerryFix(void);
static void LoadSpriteGfxAndPals(void);
static void Task_FlameOrLeafSpawner(u8 taskId);
@@ -74,13 +75,23 @@ static void SpriteCallback_Slash(struct Sprite * sprite);
// bg3
static const u8 sBorderBgTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83BF58C.4bpp.lz");
+#if defined(FIRERED)
static const u8 sBorderBgMap[] = INCBIN_U8("data/graphics/title_screen/unk_83BF5A8.bin.lz");
+#elif defined(LEAFGREEN)
+static const u8 sBorderBgMap[] = INCBIN_U8("data/graphics/title_screen/lg_border_bg.bin.lz");
+#endif
//sprites
-static const u8 sSlashSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bf64c.4bpp.lz");
+static const u32 sSlashSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_83bf64c.4bpp.lz");
+#if defined(FIRERED)
static const u16 sSlashSpritePals[] = INCBIN_U16("data/graphics/title_screen/unk_83bf77c.gbapal");
-static const u8 sFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bf79c.4bpp.lz");
-static const u8 sBlankFireSpriteTiles[] = INCBIN_U8("data/graphics/title_screen/unk_83bfa14.4bpp.lz");
+static const u32 sFireSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_83bf79c.4bpp.lz");
+static const u32 sBlankFireSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_83bfa14.4bpp.lz");
+#elif defined(LEAFGREEN)
+static const u16 sSlashSpritePals[] = INCBIN_U16("data/graphics/title_screen/unk_lg_83bf764.gbapal");
+static const u32 sLeafSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_lg_83bf784.4bpp.lz");
+static const u32 sBlankLeafSpriteTiles[] = INCBIN_U32("data/graphics/title_screen/unk_lg_83bf89c.4bpp.lz");
+#endif
static const struct OamData sOamData_FlameOrLeaf = {
.objMode = ST_OAM_OBJ_NORMAL,
@@ -91,6 +102,7 @@ static const struct OamData sOamData_FlameOrLeaf = {
.paletteNum = 0
};
+#if defined(FIRERED)
static const union AnimCmd sSpriteAnims_FlameOrLeaf_0[] = {
ANIMCMD_FRAME(0x00, 3),
ANIMCMD_FRAME(0x04, 6),
@@ -118,6 +130,27 @@ static const union AnimCmd *const sSpriteAnimTable_FlameOrLeaf[] = {
sSpriteAnims_FlameOrLeaf_1
};
+#elif defined(LEAFGREEN)
+static const union AnimCmd sSpriteAnims_FlameOrLeaf_0[] = {
+ ANIMCMD_FRAME(0x00, 8),
+ ANIMCMD_FRAME(0x04, 8),
+ ANIMCMD_FRAME(0x08, 8),
+ ANIMCMD_FRAME(0x0c, 8),
+ ANIMCMD_FRAME(0x10, 8),
+ ANIMCMD_FRAME(0x14, 8),
+ ANIMCMD_FRAME(0x18, 8),
+ ANIMCMD_FRAME(0x1c, 8),
+ ANIMCMD_FRAME(0x20, 8),
+ ANIMCMD_FRAME(0x24, 8),
+ ANIMCMD_FRAME(0x28, 8),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_FlameOrLeaf[] = {
+ sSpriteAnims_FlameOrLeaf_0
+};
+#endif
+
static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State1 = {
.tileTag = 0,
.paletteTag = 0,
@@ -128,6 +161,7 @@ static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State1 = {
.callback = SpriteCallbackDummy
};
+#if defined(FIRERED)
static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = {
.tileTag = 1,
.paletteTag = 0,
@@ -137,8 +171,25 @@ static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = {
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
+#elif defined(LEAFGREEN)
+static const struct OamData sOamData_LG_83BF950 = {
+ .shape = SPRITE_SHAPE(32x16),
+ .size = SPRITE_SIZE(32x16),
+ .priority = 3
+};
+
+static const struct SpriteTemplate sSpriteTemplate_FlameOrLeaf_State0 = {
+ .tileTag = 1,
+ .paletteTag = 0,
+ .oam = &sOamData_LG_83BF950,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy
+};
+#endif
-static const struct OamData sOamData_UnknownTemptySprite = {
+static const struct OamData sOamData_UnknownEmptySprite = {
.objMode = ST_OAM_OBJ_NORMAL,
.shape = ST_OAM_V_RECTANGLE,
.size = ST_OAM_SIZE_3,
@@ -150,7 +201,7 @@ static const struct OamData sOamData_UnknownTemptySprite = {
static const struct SpriteTemplate sUnknownEmptySprite = {
.tileTag = 2,
.paletteTag = 2,
- .oam = &sOamData_UnknownTemptySprite,
+ .oam = &sOamData_UnknownEmptySprite,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
@@ -221,23 +272,39 @@ static void (*const sSceneFuncs[])(s16 * data) = {
SetTitleScreenScene_Cry
};
+#if defined(FIRERED)
+static const struct CompressedSpriteSheet sSpriteSheets[] = {
+ {sFireSpriteTiles, 0x500, 0},
+ {sBlankFireSpriteTiles, 0x500, 1},
+ {gGraphics_TitleScreen_BlankObjTiles, 0x400, 2},
+ {sSlashSpriteTiles, 0x800, 3}
+};
+#elif defined(LEAFGREEN)
static const struct CompressedSpriteSheet sSpriteSheets[] = {
- {(const void *)sFireSpriteTiles, 0x500, 0},
- {(const void *)sBlankFireSpriteTiles, 0x500, 1},
- {(const void *)gGraphics_TitleScreen_BlankObjTiles, 0x400, 2},
- {(const void *)sSlashSpriteTiles, 0x800, 3}
+ {sLeafSpriteTiles, 0x580, 0},
+ {sBlankLeafSpriteTiles, 0x100, 1},
+ {gGraphics_TitleScreen_BlankObjTiles, 0x400, 2},
+ {sSlashSpriteTiles, 0x800, 3}
};
+#endif
static const struct SpritePalette sSpritePals[] = {
{sSlashSpritePals, 0},
- {gGraphics_TitleScreen_FirePals, 2},
+ {gGraphics_TitleScreen_FireOrLeafPals, 2},
{}
};
+#if defined(FIRERED)
static const u8 gUnknown_83BFBD4[] = {
0x04, 0x10, 0x1a, 0x20, 0x30, 0xc8, 0xd8, 0xe0, 0xe8, 0x3c, 0x4c, 0x5c, 0x6c, 0x80, 0x90
};
+#elif defined(LEAFGREEN)
+static const u16 gUnknown_LG_83BFA10[] = {
+ 40, 80, 110, 60, 90, 70, 100, 50
+};
+#endif
+
void CB2_InitTitleScreen(void)
{
switch (gMain.state)
@@ -263,12 +330,12 @@ void CB2_InitTitleScreen(void)
sTitleScreenTimerTaskId = 0xFF;
break;
case 1:
- LoadPalette(gGraphics_TitleScreen_PokemonFireRedLogoPals, 0, 0x1A0);
- DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_PokemonFireRedLogoTiles, 0, 0, 0);
- DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_PokemonFireRedLogoMap, 0, 0, 1);
- LoadPalette(gGraphics_TitleScreen_CharizardPals, 0xD0, 0x20);
- DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_CharizardTiles, 0, 0, 0);
- DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_CharizardMap, 0, 0, 1);
+ LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0, 0x1A0);
+ DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_GameTitleLogoTiles, 0, 0, 0);
+ DecompressAndCopyTileDataToVram(0, gGraphics_TitleScreen_GameTitleLogoMap, 0, 0, 1);
+ LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20);
+ DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_BoxArtMonTiles, 0, 0, 0);
+ DecompressAndCopyTileDataToVram(1, gGraphics_TitleScreen_BoxArtMonMap, 0, 0, 1);
LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xF0, 0x20);
DecompressAndCopyTileDataToVram(2, gGraphics_TitleScreen_CopyrightPressStartTiles, 0, 0, 0);
DecompressAndCopyTileDataToVram(2, gGraphics_TitleScreen_CopyrightPressStartMap, 0, 0, 1);
@@ -486,7 +553,7 @@ static void SetTitleScreenScene_FadeIn(s16 * data)
BlendPalettes(r4, 0x10, RGB(30, 30, 31));
BeginNormalPaletteFade(r4, 1, 0x10, 0x00, RGB(30, 30, 31));
ShowBg(0);
- CpuCopy16(gGraphics_TitleScreen_CharizardPals, gPlttBufferUnfaded + 0xD0, 0x20);
+ CpuCopy16(gGraphics_TitleScreen_BoxArtMonPals, gPlttBufferUnfaded + 0xD0, 0x20);
sub_80717A8(0x2000, 1, 0x0F, 0x00, RGB(30, 30, 31), 0, 0);
data[1]++;
}
@@ -509,7 +576,7 @@ static void SetTitleScreenScene_Run(s16 * data)
{
case 0:
HelpSystem_SetSomeVariable2(1);
- CreateTask(Task_TitleScreen_PaletteSomething, 0);
+ CreateTask(Task_TitleScreen_BlinkPressStart, 0);
CreateTask(Task_FlameOrLeafSpawner, 5);
SetGpuRegsForTitleScreenRun();
data[6] = CreateSlashSprite();
@@ -569,7 +636,7 @@ static void SetTitleScreenScene_Restart(s16 * data)
case 2:
if (IsNotWaitingForBGMStop() && !gPaletteFade.active)
{
- DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething));
+ DestroyTask(FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart));
data[2] = 0;
data[1]++;
}
@@ -578,7 +645,7 @@ static void SetTitleScreenScene_Restart(s16 * data)
data[2]++;
if (data[2] >= 20)
{
- DestroyTask(FindTaskIdByFunc(Task_TitleScreen_PaletteSomething));
+ DestroyTask(FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart));
data[1]++;
}
break;
@@ -692,7 +759,7 @@ static void Task_TitleScreen_SlideWin0(u8 taskId)
}
}
-static void Task_TitleScreen_PaletteSomething(u8 taskId)
+static void Task_TitleScreen_BlinkPressStart(u8 taskId)
{
s16 * data = gTasks[taskId].data;
s32 i;
@@ -738,7 +805,7 @@ static void Task_TitleScreen_PaletteSomething(u8 taskId)
static void SignalEndTitleScreenPaletteSomethingTask(void)
{
- u8 taskId = FindTaskIdByFunc(Task_TitleScreen_PaletteSomething);
+ u8 taskId = FindTaskIdByFunc(Task_TitleScreen_BlinkPressStart);
gTasks[taskId].data[15] = TRUE;
}
@@ -796,8 +863,8 @@ static void LoadMainTitleScreenPalsAndResetBgs(void)
sub_8071898();
ResetPaletteFadeControl();
- LoadPalette(gGraphics_TitleScreen_PokemonFireRedLogoPals, 0x00, 0x1A0);
- LoadPalette(gGraphics_TitleScreen_CharizardPals, 0xD0, 0x20);
+ LoadPalette(gGraphics_TitleScreen_GameTitleLogoPals, 0x00, 0x1A0);
+ LoadPalette(gGraphics_TitleScreen_BoxArtMonPals, 0xD0, 0x20);
LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xF0, 0x20);
LoadPalette(gGraphics_TitleScreen_BackgroundPals, 0xE0, 0x20);
ResetBgPositions();
@@ -876,6 +943,7 @@ static void SpriteCallback_TitleScreenFlameOrLeaf(struct Sprite * sprite)
#endif
}
+#if defined(FIRERED)
static bool32 CreateFlameOrLeafSprite(s32 x, s32 y, s32 xspeed, s32 yspeed, bool32 templateId)
{
u8 spriteId;
@@ -951,6 +1019,88 @@ static void Task_FlameOrLeafSpawner(u8 taskId)
}
}
+#elif defined(LEAFGREEN)
+
+static void CreateFlameOrLeafSprite(s32 y0, s32 x1, s32 y1)
+{
+ u8 spriteId = CreateSprite(&sSpriteTemplate_FlameOrLeaf_State1, 0xF0, y0, 0);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[0] = 0xF00;
+ gSprites[spriteId].data[1] = x1;
+ gSprites[spriteId].data[2] = y0 << 4;
+ gSprites[spriteId].data[3] = y1;
+ gSprites[spriteId].callback = SpriteCallback_TitleScreenFlameOrLeaf;
+ }
+}
+
+static void SpriteCallback_LG_8079800(struct Sprite * sprite)
+{
+ sprite->pos1.x -= 7;
+ if (sprite->pos1.x < -16)
+ {
+ sprite->pos1.x = 0x100;
+ sprite->data[7]++;
+ if (sprite->data[7] >= NELEMS(gUnknown_LG_83BFA10))
+ sprite->data[7] = 0;
+ sprite->pos1.y = gUnknown_LG_83BFA10[sprite->data[7]];
+ }
+}
+
+static void sub_LG_8079844(void)
+{
+ int i;
+ u8 spriteId;
+ for (i = 0; i < 4; i++)
+ {
+ spriteId = CreateSprite(&sSpriteTemplate_FlameOrLeaf_State0, 0x100 + 0x28 * i, gUnknown_LG_83BFA10[i], 0xFF);
+ if (spriteId != MAX_SPRITES)
+ {
+ gSprites[spriteId].data[7] = i;
+ gSprites[spriteId].callback = SpriteCallback_LG_8079800;
+ }
+ }
+}
+
+static void Task_FlameOrLeafSpawner(u8 taskId)
+{
+ s16 * data = gTasks[taskId].data;
+ s32 rval;
+ s32 r6;
+ s32 r4;
+ s32 r0;
+
+ switch (data[0])
+ {
+ case 0:
+ sub_LG_8079844();
+ TitleScreen_srand(taskId, 3, 30840);
+ data[0]++;
+ break;
+ case 1:
+ data[1]++;
+ if (data[1] >= data[2])
+ {
+ data[1] = 0;
+ data[2] = (TitleScreen_rand(taskId, 3) % 6) + 6;
+ rval = TitleScreen_rand(taskId, 3) % 30;
+ r6 = 16;
+ if (rval >= 6)
+ {
+ r6 = 48;
+ if (rval < 12)
+ r6 = 24;
+ }
+ r4 = (TitleScreen_rand(taskId, 3) % 4) - 2;
+ r0 = (TitleScreen_rand(taskId, 3) % 88) + 32;
+ CreateFlameOrLeafSprite(r0, r6, r4);
+ }
+ break;
+ }
+}
+
+#endif //FRLG
+
static void TitleScreen_srand(u8 taskId, u8 field, u16 seed)
{
SetWordTaskArg(taskId, field, seed);
@@ -979,7 +1129,7 @@ static void SetPalOnOrCreateBlankSprite(bool32 mode)
if (mode)
{
palIdx = IndexOfSpritePaletteTag(2);
- LoadPalette(gGraphics_TitleScreen_FirePals, palIdx * 16 + 0x100, 0x20);
+ LoadPalette(gGraphics_TitleScreen_FireOrLeafPals, palIdx * 16 + 0x100, 0x20);
}
else
CreateBlankSprite();
diff --git a/src/trade.c b/src/trade.c
index f52950d82..2f48928ec 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -365,41 +365,58 @@ static const u8 sTradeMonSpriteCoords[][2] = {
{0x17, 0x12},
};
-// No idea if a 4D array is correct
-static const u8 gUnknown_8261E5A[][2][6][2] = {
+static const u8 gUnknown_8261E5A[][2][2] = {
{
- {
- {0x05, 0x04},
- {0x0c, 0x04},
- {0x05, 0x09},
- {0x0c, 0x09},
- {0x05, 0x0e},
- {0x0c, 0x0e}
- }, {
- {0x14, 0x04},
- {0x1b, 0x04},
- {0x14, 0x09},
- {0x1b, 0x09},
- {0x14, 0x0e},
- {0x1b, 0x0e}
- }
- }, {
- {
- {0x01, 0x03},
- {0x08, 0x03},
- {0x01, 0x08},
- {0x08, 0x08},
- {0x01, 0x0d},
- {0x08, 0x0d}
- }, {
- {0x10, 0x03},
- {0x17, 0x03},
- {0x10, 0x08},
- {0x17, 0x08},
- {0x10, 0x0d},
- {0x17, 0x0d}
- }
- }
+ {0x05, 0x04},
+ {0x0c, 0x04},
+ },
+ {
+ {0x05, 0x09},
+ {0x0c, 0x09},
+ },
+ {
+ {0x05, 0x0e},
+ {0x0c, 0x0e}
+ },
+ {
+ {0x14, 0x04},
+ {0x1b, 0x04},
+ },
+ {
+ {0x14, 0x09},
+ {0x1b, 0x09},
+ },
+ {
+ {0x14, 0x0e},
+ {0x1b, 0x0e},
+ },
+};
+
+static const u8 gUnknown_8261E72[][2][2] = {
+ {
+ {0x01, 0x03},
+ {0x08, 0x03},
+ },
+ {
+ {0x01, 0x08},
+ {0x08, 0x08},
+ },
+ {
+ {0x01, 0x0d},
+ {0x08, 0x0d}
+ },
+ {
+ {0x10, 0x03},
+ {0x17, 0x03},
+ },
+ {
+ {0x10, 0x08},
+ {0x17, 0x08},
+ },
+ {
+ {0x10, 0x0d},
+ {0x17, 0x0d},
+ },
};
static const u8 sTradeUnknownSpriteCoords[][4] = {
@@ -725,8 +742,6 @@ void CB2_ReturnFromLinkTrade(void)
SetMainCallback2(sub_804C728);
}
-#ifdef NONMATCHING
-// See note on case 12 below
static void sub_804C728(void)
{
int i;
@@ -734,6 +749,12 @@ static void sub_804C728(void)
u8 id;
s32 width;
u32 xPos;
+#ifndef NONMATCHING
+ register u32 r0 asm("r0");
+#else
+ u32 r0;
+#endif
+ u8 *name;
switch (gMain.state)
{
@@ -879,11 +900,11 @@ static void sub_804C728(void)
break;
case 8:
LoadHeldItemIcons();
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 0);
gMain.state++;
break;
case 9:
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 1);
gMain.state++;
break;
case 10:
@@ -908,14 +929,10 @@ static void sub_804C728(void)
temp.tileTag += i;
CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
}
-
- /*
- * These three lines are a pain to match due to register alloc and
- * pointer arithmetic misbehavior.
- */
id = GetMultiplayerId();
- id ^= 1;
- width = GetStringWidth(1, gLinkPlayers[id].name, 0);
+ r0 = (id ^ 1) * sizeof(*gLinkPlayers);
+ name = gLinkPlayers->name;
+ width = GetStringWidth(1, name + r0, 0);
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
@@ -1000,921 +1017,7 @@ static void sub_804C728(void)
BuildOamBuffer();
UpdatePaletteFade();
}
-#else
-NAKED
-static void sub_804C728(void)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r8\n"
- "\tpush {r7}\n"
- "\tsub sp, 0x28\n"
- "\tldr r1, _0804C74C @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r0, r1, r2\n"
- "\tldrb r0, [r0]\n"
- "\tadds r3, r1, 0\n"
- "\tcmp r0, 0x16\n"
- "\tbls _0804C742\n"
- "\tb _0804CEE6\n"
- "_0804C742:\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804C750 @ =_0804C754\n"
- "\tadds r0, r1\n"
- "\tldr r0, [r0]\n"
- "\tmov pc, r0\n"
- "\t.align 2, 0\n"
- "_0804C74C: .4byte gMain\n"
- "_0804C750: .4byte _0804C754\n"
- "\t.align 2, 0\n"
- "_0804C754:\n"
- "\t.4byte _0804C7B0\n"
- "\t.4byte _0804C7FC\n"
- "\t.4byte _0804C8C8\n"
- "\t.4byte _0804C8F4\n"
- "\t.4byte _0804C950\n"
- "\t.4byte _0804C9B0\n"
- "\t.4byte _0804C9F0\n"
- "\t.4byte _0804CA10\n"
- "\t.4byte _0804CB50\n"
- "\t.4byte _0804CB78\n"
- "\t.4byte _0804CB9C\n"
- "\t.4byte _0804CC30\n"
- "\t.4byte _0804CC3E\n"
- "\t.4byte _0804CD10\n"
- "\t.4byte _0804CDE0\n"
- "\t.4byte _0804CE20\n"
- "\t.4byte _0804CE3A\n"
- "\t.4byte _0804CE48\n"
- "\t.4byte _0804CE5C\n"
- "\t.4byte _0804CE7C\n"
- "\t.4byte _0804CE9C\n"
- "\t.4byte _0804CEB0\n"
- "\t.4byte _0804CED0\n"
- "_0804C7B0:\n"
- "\tldr r4, _0804C7E8 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, _0804C7EC @ =0x000010f0\n"
- "\tbl AllocZeroed\n"
- "\tstr r0, [r4]\n"
- "\tbl sub_804C600\n"
- "\tldr r4, _0804C7F0 @ =sSpriteTextTileBuffer\n"
- "\tmovs r0, 0xE0\n"
- "\tlsls r0, 4\n"
- "\tbl AllocZeroed\n"
- "\tstr r0, [r4]\n"
- "\tmovs r6, 0\n"
- "\tldr r2, _0804C7F4 @ =sSpriteTextTilePtrs\n"
- "_0804C7CE:\n"
- "\tlsls r1, r6, 8\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, r1\n"
- "\tstm r2!, {r0}\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0xD\n"
- "\tble _0804C7CE\n"
- "\tldr r1, _0804C7F8 @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804C7E8: .4byte sTradeMenuResourcesPtr\n"
- "_0804C7EC: .4byte 0x000010f0\n"
- "_0804C7F0: .4byte sSpriteTextTileBuffer\n"
- "_0804C7F4: .4byte sSpriteTextTilePtrs\n"
- "_0804C7F8: .4byte gMain\n"
- "_0804C7FC:\n"
- "\tldr r2, _0804C864 @ =gPaletteFade\n"
- "\tldrb r1, [r2, 0x8]\n"
- "\tmovs r0, 0x7F\n"
- "\tands r0, r1\n"
- "\tstrb r0, [r2, 0x8]\n"
- "\tmovs r6, 0\n"
- "\tmovs r4, 0\n"
- "_0804C80A:\n"
- "\tmovs r0, 0x64\n"
- "\tmuls r0, r6\n"
- "\tldr r1, _0804C868 @ =gEnemyParty\n"
- "\tadds r0, r1\n"
- "\tstr r4, [sp]\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tstr r4, [sp, 0x8]\n"
- "\tstr r4, [sp, 0xC]\n"
- "\tmovs r1, 0\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0x20\n"
- "\tbl CreateMon\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x5\n"
- "\tble _0804C80A\n"
- "\tmovs r0, 0\n"
- "\tbl PrintTradeErrorOrStatusMessage\n"
- "\tmovs r0, 0\n"
- "\tbl ShowBg\n"
- "\tldr r0, _0804C86C @ =gReceivedRemoteLinkPlayers\n"
- "\tldrb r2, [r0]\n"
- "\tcmp r2, 0\n"
- "\tbne _0804C8B4\n"
- "\tldr r1, _0804C870 @ =gLinkType\n"
- "\tldr r5, _0804C874 @ =0x00001122\n"
- "\tadds r0, r5, 0\n"
- "\tstrh r0, [r1]\n"
- "\tldr r0, _0804C878 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0xA8\n"
- "\tstrb r2, [r0]\n"
- "\tldr r0, _0804C87C @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804C880\n"
- "\tbl sub_800B1F4\n"
- "\tbl OpenLink\n"
- "\tbl sub_80FBB20\n"
- "\tb _0804C892\n"
- "\t.align 2, 0\n"
- "_0804C864: .4byte gPaletteFade\n"
- "_0804C868: .4byte gEnemyParty\n"
- "_0804C86C: .4byte gReceivedRemoteLinkPlayers\n"
- "_0804C870: .4byte gLinkType\n"
- "_0804C874: .4byte 0x00001122\n"
- "_0804C878: .4byte sTradeMenuResourcesPtr\n"
- "_0804C87C: .4byte gWirelessCommType\n"
- "_0804C880:\n"
- "\tbl OpenLink\n"
- "\tldr r1, _0804C8A8 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "_0804C892:\n"
- "\tldr r0, _0804C8AC @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804C89C\n"
- "\tb _0804CEE6\n"
- "_0804C89C:\n"
- "\tldr r0, _0804C8B0 @ =sub_8081A90\n"
- "\tmovs r1, 0x1\n"
- "\tbl CreateTask\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804C8A8: .4byte gMain\n"
- "_0804C8AC: .4byte gWirelessCommType\n"
- "_0804C8B0: .4byte sub_8081A90\n"
- "_0804C8B4:\n"
- "\tldr r0, _0804C8C4 @ =gMain\n"
- "\tmovs r1, 0x87\n"
- "\tlsls r1, 3\n"
- "\tadds r0, r1\n"
- "\tmovs r1, 0x4\n"
- "\tstrb r1, [r0]\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804C8C4: .4byte gMain\n"
- "_0804C8C8:\n"
- "\tldr r2, _0804C8F0 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r2]\n"
- "\tadds r1, 0xA8\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, [r2]\n"
- "\tadds r1, r0, 0\n"
- "\tadds r1, 0xA8\n"
- "\tldrb r0, [r1]\n"
- "\tcmp r0, 0xB\n"
- "\tbhi _0804C8E2\n"
- "\tb _0804CEE6\n"
- "_0804C8E2:\n"
- "\tmovs r0, 0\n"
- "\tstrb r0, [r1]\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r3, r2\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804C8F0: .4byte sTradeMenuResourcesPtr\n"
- "_0804C8F4:\n"
- "\tbl GetLinkPlayerCount_2\n"
- "\tadds r4, r0, 0\n"
- "\tbl GetSavedPlayerCount\n"
- "\tlsls r4, 24\n"
- "\tlsls r0, 24\n"
- "\tcmp r4, r0\n"
- "\tbcs _0804C908\n"
- "\tb _0804CEE6\n"
- "_0804C908:\n"
- "\tbl IsLinkMaster\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804C940\n"
- "\tldr r0, _0804C938 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r1, 0xA8\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r0, 0x1E\n"
- "\tbhi _0804C928\n"
- "\tb _0804CEE6\n"
- "_0804C928:\n"
- "\tbl CheckShouldAdvanceLinkState\n"
- "\tldr r1, _0804C93C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804C938: .4byte sTradeMenuResourcesPtr\n"
- "_0804C93C: .4byte gMain\n"
- "_0804C940:\n"
- "\tldr r1, _0804C94C @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804C94C: .4byte gMain\n"
- "_0804C950:\n"
- "\tldr r0, _0804C9A0 @ =gReceivedRemoteLinkPlayers\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x1\n"
- "\tbeq _0804C95A\n"
- "\tb _0804CEE6\n"
- "_0804C95A:\n"
- "\tbl IsLinkPlayerDataExchangeComplete\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r0, 0x1\n"
- "\tbeq _0804C968\n"
- "\tb _0804CEE6\n"
- "_0804C968:\n"
- "\tbl sub_80FBB4C\n"
- "\tbl CalculatePlayerPartyCount\n"
- "\tldr r1, _0804C9A4 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804C9A8 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0xA8\n"
- "\tstrb r2, [r0]\n"
- "\tldr r0, _0804C9AC @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbne _0804C992\n"
- "\tb _0804CEE6\n"
- "_0804C992:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_80FA484\n"
- "\tbl sub_800AB9C\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804C9A0: .4byte gReceivedRemoteLinkPlayers\n"
- "_0804C9A4: .4byte gMain\n"
- "_0804C9A8: .4byte sTradeMenuResourcesPtr\n"
- "_0804C9AC: .4byte gWirelessCommType\n"
- "_0804C9B0:\n"
- "\tldr r0, _0804C9E0 @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804C9E8\n"
- "\tbl IsLinkRfuTaskFinished\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0804C9C4\n"
- "\tb _0804CEE6\n"
- "_0804C9C4:\n"
- "\tldr r1, _0804C9E4 @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tbl LoadWirelessStatusIndicatorSpriteGfx\n"
- "\tmovs r0, 0\n"
- "\tmovs r1, 0\n"
- "\tbl CreateWirelessStatusIndicatorSprite\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804C9E0: .4byte gWirelessCommType\n"
- "_0804C9E4: .4byte gMain\n"
- "_0804C9E8:\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r3, r2\n"
- "\tb _0804CEC2\n"
- "_0804C9F0:\n"
- "\tbl shedinja_maker_maybe\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0804C9FC\n"
- "\tb _0804CEE6\n"
- "_0804C9FC:\n"
- "\tbl sub_804F9D8\n"
- "\tldr r1, _0804CA0C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CA0C: .4byte gMain\n"
- "_0804CA10:\n"
- "\tbl CalculateEnemyPartyCount\n"
- "\tmovs r0, 0\n"
- "\tmovs r1, 0\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x50\n"
- "\tmovs r1, 0\n"
- "\tbl SetGpuReg\n"
- "\tldr r2, _0804CB2C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r2]\n"
- "\tldr r1, _0804CB30 @ =gPlayerPartyCount\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, 0x36\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, [r2]\n"
- "\tldr r1, _0804CB34 @ =gEnemyPartyCount\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tstrb r1, [r0]\n"
- "\tmovs r6, 0\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0x36\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804CAA8\n"
- "\tmov r8, r2\n"
- "\tldr r7, _0804CB38 @ =sTradeMonSpriteCoords\n"
- "_0804CA4A:\n"
- "\tmovs r0, 0x64\n"
- "\tadds r4, r6, 0\n"
- "\tmuls r4, r0\n"
- "\tldr r0, _0804CB3C @ =gPlayerParty\n"
- "\tadds r4, r0\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0x41\n"
- "\tbl GetMonData\n"
- "\tadds r5, r0, 0\n"
- "\tlsls r5, 16\n"
- "\tlsrs r5, 16\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0\n"
- "\tbl GetMonData\n"
- "\tldrb r2, [r7]\n"
- "\tlsls r2, 19\n"
- "\tmovs r1, 0xE0\n"
- "\tlsls r1, 12\n"
- "\tadds r2, r1\n"
- "\tasrs r2, 16\n"
- "\tldrb r3, [r7, 0x1]\n"
- "\tlsls r3, 19\n"
- "\tldr r1, _0804CB40 @ =0xfff40000\n"
- "\tadds r3, r1\n"
- "\tasrs r3, 16\n"
- "\tmovs r1, 0x1\n"
- "\tstr r1, [sp]\n"
- "\tstr r0, [sp, 0x4]\n"
- "\tstr r1, [sp, 0x8]\n"
- "\tadds r0, r5, 0\n"
- "\tldr r1, _0804CB44 @ =SpriteCB_MonIcon\n"
- "\tbl CreateMonIcon\n"
- "\tmov r2, r8\n"
- "\tldr r1, [r2]\n"
- "\tadds r1, 0x28\n"
- "\tadds r1, r6\n"
- "\tstrb r0, [r1]\n"
- "\tadds r7, 0x2\n"
- "\tadds r6, 0x1\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0x36\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tblt _0804CA4A\n"
- "_0804CAA8:\n"
- "\tmovs r6, 0\n"
- "\tldr r1, _0804CB2C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804CB20\n"
- "\tldr r0, _0804CB38 @ =sTradeMonSpriteCoords\n"
- "\tmov r8, r1\n"
- "\tadds r7, r0, 0\n"
- "\tadds r7, 0xC\n"
- "_0804CABE:\n"
- "\tmovs r0, 0x64\n"
- "\tadds r4, r6, 0\n"
- "\tmuls r4, r0\n"
- "\tldr r0, _0804CB48 @ =gEnemyParty\n"
- "\tadds r4, r0\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0x41\n"
- "\tmovs r2, 0\n"
- "\tbl GetMonData\n"
- "\tadds r5, r0, 0\n"
- "\tlsls r5, 16\n"
- "\tlsrs r5, 16\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0\n"
- "\tbl GetMonData\n"
- "\tldrb r2, [r7]\n"
- "\tlsls r2, 19\n"
- "\tmovs r3, 0xE0\n"
- "\tlsls r3, 12\n"
- "\tadds r2, r3\n"
- "\tasrs r2, 16\n"
- "\tldrb r3, [r7, 0x1]\n"
- "\tlsls r3, 19\n"
- "\tldr r1, _0804CB40 @ =0xfff40000\n"
- "\tadds r3, r1\n"
- "\tasrs r3, 16\n"
- "\tmovs r1, 0x1\n"
- "\tstr r1, [sp]\n"
- "\tstr r0, [sp, 0x4]\n"
- "\tmovs r0, 0\n"
- "\tstr r0, [sp, 0x8]\n"
- "\tadds r0, r5, 0\n"
- "\tldr r1, _0804CB44 @ =SpriteCB_MonIcon\n"
- "\tbl CreateMonIcon\n"
- "\tmov r2, r8\n"
- "\tldr r1, [r2]\n"
- "\tadds r1, 0x2E\n"
- "\tadds r1, r6\n"
- "\tstrb r0, [r1]\n"
- "\tadds r7, 0x2\n"
- "\tadds r6, 0x1\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0x37\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tblt _0804CABE\n"
- "_0804CB20:\n"
- "\tldr r1, _0804CB4C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CB2C: .4byte sTradeMenuResourcesPtr\n"
- "_0804CB30: .4byte gPlayerPartyCount\n"
- "_0804CB34: .4byte gEnemyPartyCount\n"
- "_0804CB38: .4byte sTradeMonSpriteCoords\n"
- "_0804CB3C: .4byte gPlayerParty\n"
- "_0804CB40: .4byte 0xfff40000\n"
- "_0804CB44: .4byte SpriteCB_MonIcon\n"
- "_0804CB48: .4byte gEnemyParty\n"
- "_0804CB4C: .4byte gMain\n"
- "_0804CB50:\n"
- "\tbl LoadHeldItemIcons\n"
- "\tldr r0, _0804CB70 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0\n"
- "\tbl DrawHeldItemIconsForTrade\n"
- "\tldr r1, _0804CB74 @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CB70: .4byte sTradeMenuResourcesPtr\n"
- "_0804CB74: .4byte gMain\n"
- "_0804CB78:\n"
- "\tldr r0, _0804CB94 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0x1\n"
- "\tbl DrawHeldItemIconsForTrade\n"
- "\tldr r1, _0804CB98 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CB94: .4byte sTradeMenuResourcesPtr\n"
- "_0804CB98: .4byte gMain\n"
- "_0804CB9C:\n"
- "\tldr r0, _0804CC14 @ =gSaveBlock2Ptr\n"
- "\tldr r0, [r0]\n"
- "\tldr r6, _0804CC18 @ =sSpriteTextTilePtrs\n"
- "\tldr r1, [r6]\n"
- "\tldr r5, _0804CC1C @ =gDecompressionBuffer\n"
- "\tstr r5, [sp]\n"
- "\tmovs r4, 0x3\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\n"
- "\tbl GetMultiplayerId\n"
- "\tlsls r0, 24\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 17\n"
- "\teors r1, r0\n"
- "\tlsrs r1, 24\n"
- "\tlsls r0, r1, 3\n"
- "\tsubs r0, r1\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804CC20 @ =gLinkPlayers + 8\n"
- "\tadds r0, r1\n"
- "\tldr r1, [r6, 0xC]\n"
- "\tstr r5, [sp]\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\n"
- "\tldr r4, _0804CC24 @ =sTradeUITextPtrs\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, [r6, 0x18]\n"
- "\tstr r5, [sp]\n"
- "\tmovs r2, 0x2\n"
- "\tstr r2, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\n"
- "\tldr r0, [r4, 0x4]\n"
- "\tldr r1, [r6, 0x20]\n"
- "\tmovs r2, 0x18\n"
- "\tbl RenderTextToVramViaBuffer\n"
- "\tldr r1, _0804CC28 @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804CC2C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0xA8\n"
- "\tstrb r2, [r0]\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804CC14: .4byte gSaveBlock2Ptr\n"
- "_0804CC18: .4byte sSpriteTextTilePtrs\n"
- "_0804CC1C: .4byte gDecompressionBuffer\n"
- "_0804CC20: .4byte gLinkPlayers + 8\n"
- "_0804CC24: .4byte sTradeUITextPtrs\n"
- "_0804CC28: .4byte gMain\n"
- "_0804CC2C: .4byte sTradeMenuResourcesPtr\n"
- "_0804CC30:\n"
- "\tbl sub_804F610\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0804CC3C\n"
- "\tb _0804CEE6\n"
- "_0804CC3C:\n"
- "\tb _0804CEBA\n"
- "_0804CC3E:\n"
- "\tldr r0, _0804CCFC @ =gSaveBlock2Ptr\n"
- "\tldr r1, [r0]\n"
- "\tmovs r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tbl GetStringWidth\n"
- "\tadds r1, r0, 0\n"
- "\tmovs r0, 0x38\n"
- "\tsubs r0, r1\n"
- "\tlsrs r1, r0, 31\n"
- "\tadds r0, r1\n"
- "\tmovs r6, 0\n"
- "\tadd r5, sp, 0x10\n"
- "\tldr r3, _0804CD00 @ =sTradeUnknownSpriteCoords\n"
- "\tmov r8, r3\n"
- "\tasrs r0, 1\n"
- "\tldrb r7, [r3, 0x4]\n"
- "\tadds r4, r0, r7\n"
- "_0804CC62:\n"
- "\tadd r1, sp, 0x10\n"
- "\tldr r0, _0804CD04 @ =sSpriteTemplate_Text\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldrh r0, [r5]\n"
- "\tadds r0, r6\n"
- "\tstrh r0, [r5]\n"
- "\tlsls r1, r4, 16\n"
- "\tasrs r1, 16\n"
- "\tadd r0, sp, 0x10\n"
- "\tmov r3, r8\n"
- "\tldrb r2, [r3, 0x5]\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tadds r4, 0x20\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x2\n"
- "\tble _0804CC62\n"
- "\tbl GetMultiplayerId\n"
- "\tlsls r0, 24\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 17\n"
- "\teors r1, r0\n"
- "\tlsrs r1, 24\n"
- "\tlsls r0, r1, 3\n"
- "\tsubs r0, r1\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804CD08 @ =gLinkPlayers + 8\n"
- "\tadds r1, r0, r1\n"
- "\tmovs r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tbl GetStringWidth\n"
- "\tadds r1, r0, 0\n"
- "\tmovs r0, 0x38\n"
- "\tsubs r0, r1\n"
- "\tlsrs r1, r0, 31\n"
- "\tadds r0, r1\n"
- "\tmovs r6, 0\n"
- "\tadd r5, sp, 0x10\n"
- "\tldr r7, _0804CD00 @ =sTradeUnknownSpriteCoords\n"
- "\tmov r8, r7\n"
- "\tasrs r0, 1\n"
- "\tmov r1, r8\n"
- "\tldrb r1, [r1, 0x6]\n"
- "\tadds r4, r0, r1\n"
- "_0804CCC6:\n"
- "\tadd r1, sp, 0x10\n"
- "\tldr r0, _0804CD04 @ =sSpriteTemplate_Text\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tadds r0, r6, 0x3\n"
- "\tldrh r1, [r5]\n"
- "\tadds r0, r1\n"
- "\tstrh r0, [r5]\n"
- "\tlsls r1, r4, 16\n"
- "\tasrs r1, 16\n"
- "\tadd r0, sp, 0x10\n"
- "\tmov r3, r8\n"
- "\tldrb r2, [r3, 0x7]\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tadds r4, 0x20\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x2\n"
- "\tble _0804CCC6\n"
- "\tldr r1, _0804CD0C @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CCFC: .4byte gSaveBlock2Ptr\n"
- "_0804CD00: .4byte sTradeUnknownSpriteCoords\n"
- "_0804CD04: .4byte sSpriteTemplate_Text\n"
- "_0804CD08: .4byte gLinkPlayers + 8\n"
- "_0804CD0C: .4byte gMain\n"
- "_0804CD10:\n"
- "\tldr r4, _0804CDCC @ =sSpriteTemplate_Text\n"
- "\tadd r1, sp, 0x10\n"
- "\tadds r0, r4, 0\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r5,r7}\n"
- "\tstm r1!, {r2,r5,r7}\n"
- "\tadd r1, sp, 0x10\n"
- "\tadds r0, r1, 0\n"
- "\tldrh r0, [r0]\n"
- "\tadds r0, 0x6\n"
- "\tstrh r0, [r1]\n"
- "\tadds r0, r1, 0\n"
- "\tmovs r1, 0xD7\n"
- "\tmovs r2, 0x97\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tadd r0, sp, 0x10\n"
- "\tldm r4!, {r3,r5,r7}\n"
- "\tstm r0!, {r3,r5,r7}\n"
- "\tldm r4!, {r1-r3}\n"
- "\tstm r0!, {r1-r3}\n"
- "\tadd r1, sp, 0x10\n"
- "\tadds r0, r1, 0\n"
- "\tldrh r0, [r0]\n"
- "\tadds r0, 0x7\n"
- "\tstrh r0, [r1]\n"
- "\tadds r0, r1, 0\n"
- "\tmovs r1, 0xF7\n"
- "\tmovs r2, 0x97\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tmovs r6, 0\n"
- "\tadd r4, sp, 0x10\n"
- "\tmovs r5, 0xC0\n"
- "\tlsls r5, 13\n"
- "_0804CD5C:\n"
- "\tadd r1, sp, 0x10\n"
- "\tldr r0, _0804CDCC @ =sSpriteTemplate_Text\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tadds r0, r6, 0\n"
- "\tadds r0, 0x8\n"
- "\tldrh r7, [r4]\n"
- "\tadds r0, r7\n"
- "\tstrh r0, [r4]\n"
- "\tasrs r1, r5, 16\n"
- "\tadd r0, sp, 0x10\n"
- "\tmovs r2, 0x96\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tmovs r0, 0x80\n"
- "\tlsls r0, 14\n"
- "\tadds r5, r0\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x5\n"
- "\tble _0804CD5C\n"
- "\tldr r0, _0804CDD0 @ =sSpriteTemplate_TradeButtons\n"
- "\tldr r2, _0804CDD4 @ =sTradeMonSpriteCoords\n"
- "\tldrb r1, [r2]\n"
- "\tlsls r1, 19\n"
- "\tmovs r3, 0x80\n"
- "\tlsls r3, 14\n"
- "\tadds r1, r3\n"
- "\tasrs r1, 16\n"
- "\tldrb r2, [r2, 0x1]\n"
- "\tlsls r2, 3\n"
- "\tmovs r3, 0x2\n"
- "\tbl CreateSprite\n"
- "\tldr r2, _0804CDD8 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r2]\n"
- "\tadds r1, 0x34\n"
- "\tmovs r3, 0\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0x35\n"
- "\tstrb r3, [r0]\n"
- "\tldr r1, _0804CDDC @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tmovs r0, 0\n"
- "\tbl rbox_fill_rectangle\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804CDCC: .4byte sSpriteTemplate_Text\n"
- "_0804CDD0: .4byte sSpriteTemplate_TradeButtons\n"
- "_0804CDD4: .4byte sTradeMonSpriteCoords\n"
- "_0804CDD8: .4byte sTradeMenuResourcesPtr\n"
- "_0804CDDC: .4byte gMain\n"
- "_0804CDE0:\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804F748\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804F020\n"
- "\tldr r2, _0804CE14 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r2]\n"
- "\tmovs r1, 0\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, [r2]\n"
- "\tstrb r1, [r0, 0x1]\n"
- "\tbl sub_804D764\n"
- "\tldr r1, _0804CE18 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804CE1C @ =0x00000111\n"
- "\tbl PlayBGM\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804CE14: .4byte sTradeMenuResourcesPtr\n"
- "_0804CE18: .4byte gMain\n"
- "_0804CE1C: .4byte 0x00000111\n"
- "_0804CE20:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804F748\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804F020\n"
- "\tldr r1, _0804CE44 @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "_0804CE3A:\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804D694\n"
- "\tb _0804CEBA\n"
- "\t.align 2, 0\n"
- "_0804CE44: .4byte gMain\n"
- "_0804CE48:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804D694\n"
- "\tldr r1, _0804CE58 @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CE58: .4byte gMain\n"
- "_0804CE5C:\n"
- "\tmovs r0, 0x1\n"
- "\tnegs r0, r0\n"
- "\tmovs r1, 0\n"
- "\tstr r1, [sp]\n"
- "\tmovs r2, 0x10\n"
- "\tmovs r3, 0\n"
- "\tbl BeginNormalPaletteFade\n"
- "\tldr r1, _0804CE78 @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CE78: .4byte gMain\n"
- "_0804CE7C:\n"
- "\tmovs r1, 0x82\n"
- "\tlsls r1, 5\n"
- "\tmovs r0, 0\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x2\n"
- "\tbl sub_804D694\n"
- "\tldr r1, _0804CE98 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CE98: .4byte gMain\n"
- "_0804CE9C:\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804F890\n"
- "\tldr r1, _0804CEAC @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "\tb _0804CEC2\n"
- "\t.align 2, 0\n"
- "_0804CEAC: .4byte gMain\n"
- "_0804CEB0:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804F890\n"
- "\tbl sub_804F964\n"
- "_0804CEBA:\n"
- "\tldr r1, _0804CECC @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "_0804CEC2:\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tb _0804CEE6\n"
- "\t.align 2, 0\n"
- "_0804CECC: .4byte gMain\n"
- "_0804CED0:\n"
- "\tldr r0, _0804CF08 @ =gPaletteFade\n"
- "\tldrb r1, [r0, 0x7]\n"
- "\tmovs r0, 0x80\n"
- "\tands r0, r1\n"
- "\tcmp r0, 0\n"
- "\tbne _0804CEE6\n"
- "\tldr r0, _0804CF0C @ =sub_804DFF0\n"
- "\tstr r0, [r3]\n"
- "\tldr r0, _0804CF10 @ =sub_804D638\n"
- "\tbl SetMainCallback2\n"
- "_0804CEE6:\n"
- "\tbl RunTextPrinters\n"
- "\tbl RunTasks\n"
- "\tbl AnimateSprites\n"
- "\tbl BuildOamBuffer\n"
- "\tbl UpdatePaletteFade\n"
- "\tadd sp, 0x28\n"
- "\tpop {r3}\n"
- "\tmov r8, r3\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_0804CF08: .4byte gPaletteFade\n"
- "_0804CF0C: .4byte sub_804DFF0\n"
- "_0804CF10: .4byte sub_804D638");
-}
-#endif //NONMATCHING
-#ifdef NONMATCHING
-// Nonmatching behaviour is the same as the function above
void sub_804CF14(void)
{
int i;
@@ -1922,6 +1025,12 @@ void sub_804CF14(void)
u8 id;
s32 width;
u32 xPos;
+#ifndef NONMATCHING
+ register u32 r0 asm("r0");
+#else
+ u32 r0;
+#endif
+ u8 *name;
switch (gMain.state)
{
@@ -1989,11 +1098,11 @@ void sub_804CF14(void)
break;
case 8:
LoadHeldItemIcons();
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 0);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 0);
gMain.state++;
break;
case 9:
- DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons, 1);
+ DrawHeldItemIconsForTrade(sTradeMenuResourcesPtr->partyCounts, sTradeMenuResourcesPtr->partyIcons[0], 1);
gMain.state++;
break;
case 10:
@@ -2020,14 +1129,10 @@ void sub_804CF14(void)
temp.tileTag += i;
CreateSprite(&temp, xPos + sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), sTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
}
-
- /*
- * These three lines are a pain to match due to register alloc and
- * pointer arithmetic misbehavior.
- */
id = GetMultiplayerId();
- id ^= 1;
- width = GetStringWidth(1, gLinkPlayers[id].name, 0);
+ r0 = (id ^ 1) * sizeof(*gLinkPlayers);
+ name = gLinkPlayers->name;
+ width = GetStringWidth(1, name + r0, 0);
xPos = (56 - width) / 2;
for (i = 0; i < 3; i++)
{
@@ -2102,692 +1207,6 @@ void sub_804CF14(void)
BuildOamBuffer();
UpdatePaletteFade();
}
-#else
-NAKED
-void sub_804CF14(void)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r8\n"
- "\tpush {r7}\n"
- "\tsub sp, 0x24\n"
- "\tldr r1, _0804CF38 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r0, r1, r2\n"
- "\tldrb r0, [r0]\n"
- "\tadds r2, r1, 0\n"
- "\tcmp r0, 0x16\n"
- "\tbls _0804CF2E\n"
- "\tb _0804D4D2\n"
- "_0804CF2E:\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804CF3C @ =_0804CF40\n"
- "\tadds r0, r1\n"
- "\tldr r0, [r0]\n"
- "\tmov pc, r0\n"
- "\t.align 2, 0\n"
- "_0804CF38: .4byte gMain\n"
- "_0804CF3C: .4byte _0804CF40\n"
- "\t.align 2, 0\n"
- "_0804CF40:\n"
- "\t.4byte _0804CF9C\n"
- "\t.4byte _0804CFB0\n"
- "\t.4byte _0804CFB8\n"
- "\t.4byte _0804CFC0\n"
- "\t.4byte _0804CFC8\n"
- "\t.4byte _0804CFDC\n"
- "\t.4byte _0804D004\n"
- "\t.4byte _0804D00C\n"
- "\t.4byte _0804D150\n"
- "\t.4byte _0804D178\n"
- "\t.4byte _0804D19C\n"
- "\t.4byte _0804D230\n"
- "\t.4byte _0804D24C\n"
- "\t.4byte _0804D320\n"
- "\t.4byte _0804D4D2\n"
- "\t.4byte _0804D4D2\n"
- "\t.4byte _0804D414\n"
- "\t.4byte _0804D41C\n"
- "\t.4byte _0804D444\n"
- "\t.4byte _0804D480\n"
- "\t.4byte _0804D4A0\n"
- "\t.4byte _0804D4A8\n"
- "\t.4byte _0804D4C0\n"
- "_0804CF9C:\n"
- "\tbl sub_804C600\n"
- "\tldr r1, _0804CFAC @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804CFAC: .4byte gMain\n"
- "_0804CFB0:\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r2, r5\n"
- "\tb _0804D200\n"
- "_0804CFB8:\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r2, r7\n"
- "\tb _0804D4B4\n"
- "_0804CFC0:\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r2, r0\n"
- "\tb _0804D4B4\n"
- "_0804CFC8:\n"
- "\tbl CalculatePlayerPartyCount\n"
- "\tldr r1, _0804CFD8 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804CFD8: .4byte gMain\n"
- "_0804CFDC:\n"
- "\tldr r0, _0804CFFC @ =gWirelessCommType\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0\n"
- "\tbeq _0804CFF0\n"
- "\tbl LoadWirelessStatusIndicatorSpriteGfx\n"
- "\tmovs r0, 0\n"
- "\tmovs r1, 0\n"
- "\tbl CreateWirelessStatusIndicatorSprite\n"
- "_0804CFF0:\n"
- "\tldr r1, _0804D000 @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804CFFC: .4byte gWirelessCommType\n"
- "_0804D000: .4byte gMain\n"
- "_0804D004:\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r2, r5\n"
- "\tb _0804D4B4\n"
- "_0804D00C:\n"
- "\tbl CalculateEnemyPartyCount\n"
- "\tldr r4, _0804D12C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, _0804D130 @ =gPlayerPartyCount\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, 0x36\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, _0804D134 @ =gEnemyPartyCount\n"
- "\tldrb r1, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tstrb r1, [r0]\n"
- "\tmovs r0, 0\n"
- "\tbl ClearWindowTilemap\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804F020\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804F020\n"
- "\tmovs r6, 0\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, 0x36\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804D0A8\n"
- "\tmov r8, r4\n"
- "\tldr r7, _0804D138 @ =sTradeMonSpriteCoords\n"
- "_0804D048:\n"
- "\tmovs r0, 0x64\n"
- "\tadds r4, r6, 0\n"
- "\tmuls r4, r0\n"
- "\tldr r0, _0804D13C @ =gPlayerParty\n"
- "\tadds r4, r0\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0x41\n"
- "\tmovs r2, 0\n"
- "\tbl GetMonData\n"
- "\tadds r5, r0, 0\n"
- "\tlsls r5, 16\n"
- "\tlsrs r5, 16\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0\n"
- "\tbl GetMonData\n"
- "\tldrb r2, [r7]\n"
- "\tlsls r2, 19\n"
- "\tmovs r1, 0xE0\n"
- "\tlsls r1, 12\n"
- "\tadds r2, r1\n"
- "\tasrs r2, 16\n"
- "\tldrb r3, [r7, 0x1]\n"
- "\tlsls r3, 19\n"
- "\tldr r1, _0804D140 @ =0xfff40000\n"
- "\tadds r3, r1\n"
- "\tasrs r3, 16\n"
- "\tmovs r1, 0x1\n"
- "\tstr r1, [sp]\n"
- "\tstr r0, [sp, 0x4]\n"
- "\tstr r1, [sp, 0x8]\n"
- "\tadds r0, r5, 0\n"
- "\tldr r1, _0804D144 @ =SpriteCB_MonIcon\n"
- "\tbl CreateMonIcon\n"
- "\tmov r2, r8\n"
- "\tldr r1, [r2]\n"
- "\tadds r1, 0x28\n"
- "\tadds r1, r6\n"
- "\tstrb r0, [r1]\n"
- "\tadds r7, 0x2\n"
- "\tadds r6, 0x1\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0x36\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tblt _0804D048\n"
- "_0804D0A8:\n"
- "\tmovs r6, 0\n"
- "\tldr r1, _0804D12C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r1]\n"
- "\tadds r0, 0x37\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tbge _0804D120\n"
- "\tldr r0, _0804D138 @ =sTradeMonSpriteCoords\n"
- "\tmov r8, r1\n"
- "\tadds r7, r0, 0\n"
- "\tadds r7, 0xC\n"
- "_0804D0BE:\n"
- "\tmovs r0, 0x64\n"
- "\tadds r4, r6, 0\n"
- "\tmuls r4, r0\n"
- "\tldr r0, _0804D148 @ =gEnemyParty\n"
- "\tadds r4, r0\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0x41\n"
- "\tmovs r2, 0\n"
- "\tbl GetMonData\n"
- "\tadds r5, r0, 0\n"
- "\tlsls r5, 16\n"
- "\tlsrs r5, 16\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0\n"
- "\tbl GetMonData\n"
- "\tldrb r2, [r7]\n"
- "\tlsls r2, 19\n"
- "\tmovs r3, 0xE0\n"
- "\tlsls r3, 12\n"
- "\tadds r2, r3\n"
- "\tasrs r2, 16\n"
- "\tldrb r3, [r7, 0x1]\n"
- "\tlsls r3, 19\n"
- "\tldr r1, _0804D140 @ =0xfff40000\n"
- "\tadds r3, r1\n"
- "\tasrs r3, 16\n"
- "\tmovs r1, 0x1\n"
- "\tstr r1, [sp]\n"
- "\tstr r0, [sp, 0x4]\n"
- "\tmovs r0, 0\n"
- "\tstr r0, [sp, 0x8]\n"
- "\tadds r0, r5, 0\n"
- "\tldr r1, _0804D144 @ =SpriteCB_MonIcon\n"
- "\tbl CreateMonIcon\n"
- "\tmov r2, r8\n"
- "\tldr r1, [r2]\n"
- "\tadds r1, 0x2E\n"
- "\tadds r1, r6\n"
- "\tstrb r0, [r1]\n"
- "\tadds r7, 0x2\n"
- "\tadds r6, 0x1\n"
- "\tldr r0, [r2]\n"
- "\tadds r0, 0x37\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r6, r0\n"
- "\tblt _0804D0BE\n"
- "_0804D120:\n"
- "\tldr r1, _0804D14C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D12C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D130: .4byte gPlayerPartyCount\n"
- "_0804D134: .4byte gEnemyPartyCount\n"
- "_0804D138: .4byte sTradeMonSpriteCoords\n"
- "_0804D13C: .4byte gPlayerParty\n"
- "_0804D140: .4byte 0xfff40000\n"
- "_0804D144: .4byte SpriteCB_MonIcon\n"
- "_0804D148: .4byte gEnemyParty\n"
- "_0804D14C: .4byte gMain\n"
- "_0804D150:\n"
- "\tbl LoadHeldItemIcons\n"
- "\tldr r0, _0804D170 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0\n"
- "\tbl DrawHeldItemIconsForTrade\n"
- "\tldr r1, _0804D174 @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D170: .4byte sTradeMenuResourcesPtr\n"
- "_0804D174: .4byte gMain\n"
- "_0804D178:\n"
- "\tldr r0, _0804D194 @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r0]\n"
- "\tadds r0, r1, 0\n"
- "\tadds r0, 0x36\n"
- "\tadds r1, 0x28\n"
- "\tmovs r2, 0x1\n"
- "\tbl DrawHeldItemIconsForTrade\n"
- "\tldr r1, _0804D198 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r7\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D194: .4byte sTradeMenuResourcesPtr\n"
- "_0804D198: .4byte gMain\n"
- "_0804D19C:\n"
- "\tldr r0, _0804D214 @ =gSaveBlock2Ptr\n"
- "\tldr r0, [r0]\n"
- "\tldr r6, _0804D218 @ =sSpriteTextTilePtrs\n"
- "\tldr r1, [r6]\n"
- "\tldr r5, _0804D21C @ =gDecompressionBuffer\n"
- "\tstr r5, [sp]\n"
- "\tmovs r4, 0x3\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\n"
- "\tbl GetMultiplayerId\n"
- "\tlsls r0, 24\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 17\n"
- "\teors r1, r0\n"
- "\tlsrs r1, 24\n"
- "\tlsls r0, r1, 3\n"
- "\tsubs r0, r1\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804D220 @ =gLinkPlayers + 8\n"
- "\tadds r0, r1\n"
- "\tldr r1, [r6, 0xC]\n"
- "\tstr r5, [sp]\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\n"
- "\tldr r4, _0804D224 @ =sTradeUITextPtrs\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, [r6, 0x18]\n"
- "\tstr r5, [sp]\n"
- "\tmovs r2, 0x2\n"
- "\tstr r2, [sp, 0x4]\n"
- "\tmovs r2, 0\n"
- "\tmovs r3, 0\n"
- "\tbl PSS_RenderTextToVramViaBuffer\n"
- "\tldr r0, [r4, 0x4]\n"
- "\tldr r1, [r6, 0x20]\n"
- "\tmovs r2, 0x18\n"
- "\tbl RenderTextToVramViaBuffer\n"
- "\tldr r1, _0804D228 @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "_0804D200:\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804D22C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0xA8\n"
- "\tstrb r2, [r0]\n"
- "\tb _0804D4D2\n"
- "\t.align 2, 0\n"
- "_0804D214: .4byte gSaveBlock2Ptr\n"
- "_0804D218: .4byte sSpriteTextTilePtrs\n"
- "_0804D21C: .4byte gDecompressionBuffer\n"
- "_0804D220: .4byte gLinkPlayers + 8\n"
- "_0804D224: .4byte sTradeUITextPtrs\n"
- "_0804D228: .4byte gMain\n"
- "_0804D22C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D230:\n"
- "\tbl sub_804F610\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _0804D23C\n"
- "\tb _0804D4D2\n"
- "_0804D23C:\n"
- "\tldr r1, _0804D248 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D248: .4byte gMain\n"
- "_0804D24C:\n"
- "\tldr r0, _0804D30C @ =gSaveBlock2Ptr\n"
- "\tldr r1, [r0]\n"
- "\tmovs r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tbl GetStringWidth\n"
- "\tadds r1, r0, 0\n"
- "\tmovs r0, 0x38\n"
- "\tsubs r0, r1\n"
- "\tlsrs r1, r0, 31\n"
- "\tadds r0, r1\n"
- "\tmovs r6, 0\n"
- "\tadd r5, sp, 0xC\n"
- "\tldr r3, _0804D310 @ =sTradeUnknownSpriteCoords\n"
- "\tmov r8, r3\n"
- "\tasrs r0, 1\n"
- "\tldrb r7, [r3, 0x4]\n"
- "\tadds r4, r0, r7\n"
- "_0804D270:\n"
- "\tadd r1, sp, 0xC\n"
- "\tldr r0, _0804D314 @ =sSpriteTemplate_Text\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldrh r0, [r5]\n"
- "\tadds r0, r6\n"
- "\tstrh r0, [r5]\n"
- "\tlsls r1, r4, 16\n"
- "\tasrs r1, 16\n"
- "\tadd r0, sp, 0xC\n"
- "\tmov r3, r8\n"
- "\tldrb r2, [r3, 0x5]\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tadds r4, 0x20\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x2\n"
- "\tble _0804D270\n"
- "\tbl GetMultiplayerId\n"
- "\tlsls r0, 24\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 17\n"
- "\teors r1, r0\n"
- "\tlsrs r1, 24\n"
- "\tlsls r0, r1, 3\n"
- "\tsubs r0, r1\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _0804D318 @ =gLinkPlayers + 8\n"
- "\tadds r1, r0, r1\n"
- "\tmovs r0, 0x1\n"
- "\tmovs r2, 0\n"
- "\tbl GetStringWidth\n"
- "\tadds r1, r0, 0\n"
- "\tmovs r0, 0x38\n"
- "\tsubs r0, r1\n"
- "\tlsrs r1, r0, 31\n"
- "\tadds r0, r1\n"
- "\tmovs r6, 0\n"
- "\tadd r5, sp, 0xC\n"
- "\tldr r7, _0804D310 @ =sTradeUnknownSpriteCoords\n"
- "\tmov r8, r7\n"
- "\tasrs r0, 1\n"
- "\tmov r1, r8\n"
- "\tldrb r1, [r1, 0x6]\n"
- "\tadds r4, r0, r1\n"
- "_0804D2D4:\n"
- "\tadd r1, sp, 0xC\n"
- "\tldr r0, _0804D314 @ =sSpriteTemplate_Text\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tadds r0, r6, 0x3\n"
- "\tldrh r1, [r5]\n"
- "\tadds r0, r1\n"
- "\tstrh r0, [r5]\n"
- "\tlsls r1, r4, 16\n"
- "\tasrs r1, 16\n"
- "\tadd r0, sp, 0xC\n"
- "\tmov r3, r8\n"
- "\tldrb r2, [r3, 0x7]\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tadds r4, 0x20\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x2\n"
- "\tble _0804D2D4\n"
- "\tldr r1, _0804D31C @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D30C: .4byte gSaveBlock2Ptr\n"
- "_0804D310: .4byte sTradeUnknownSpriteCoords\n"
- "_0804D314: .4byte sSpriteTemplate_Text\n"
- "_0804D318: .4byte gLinkPlayers + 8\n"
- "_0804D31C: .4byte gMain\n"
- "_0804D320:\n"
- "\tldr r4, _0804D3B0 @ =sSpriteTemplate_Text\n"
- "\tadd r1, sp, 0xC\n"
- "\tadds r0, r4, 0\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r5,r7}\n"
- "\tstm r1!, {r2,r5,r7}\n"
- "\tadd r1, sp, 0xC\n"
- "\tadds r0, r1, 0\n"
- "\tldrh r0, [r0]\n"
- "\tadds r0, 0x6\n"
- "\tstrh r0, [r1]\n"
- "\tadds r0, r1, 0\n"
- "\tmovs r1, 0xD7\n"
- "\tmovs r2, 0x97\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tadd r0, sp, 0xC\n"
- "\tldm r4!, {r3,r5,r7}\n"
- "\tstm r0!, {r3,r5,r7}\n"
- "\tldm r4!, {r1-r3}\n"
- "\tstm r0!, {r1-r3}\n"
- "\tadd r1, sp, 0xC\n"
- "\tadds r0, r1, 0\n"
- "\tldrh r0, [r0]\n"
- "\tadds r0, 0x7\n"
- "\tstrh r0, [r1]\n"
- "\tadds r0, r1, 0\n"
- "\tmovs r1, 0xF7\n"
- "\tmovs r2, 0x97\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tmovs r6, 0\n"
- "\tadd r4, sp, 0xC\n"
- "\tmovs r5, 0xC0\n"
- "\tlsls r5, 13\n"
- "_0804D36C:\n"
- "\tadd r1, sp, 0xC\n"
- "\tldr r0, _0804D3B0 @ =sSpriteTemplate_Text\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tldm r0!, {r2,r3,r7}\n"
- "\tstm r1!, {r2,r3,r7}\n"
- "\tadds r0, r6, 0\n"
- "\tadds r0, 0x8\n"
- "\tldrh r7, [r4]\n"
- "\tadds r0, r7\n"
- "\tstrh r0, [r4]\n"
- "\tasrs r1, r5, 16\n"
- "\tadd r0, sp, 0xC\n"
- "\tmovs r2, 0x96\n"
- "\tmovs r3, 0x1\n"
- "\tbl CreateSprite\n"
- "\tmovs r0, 0x80\n"
- "\tlsls r0, 14\n"
- "\tadds r5, r0\n"
- "\tadds r6, 0x1\n"
- "\tcmp r6, 0x5\n"
- "\tble _0804D36C\n"
- "\tldr r4, _0804D3B4 @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, 0x35\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r0, 0x5\n"
- "\tbhi _0804D3B8\n"
- "\tbl GetLastViewedMonIndex\n"
- "\tldr r1, [r4]\n"
- "\tb _0804D3C0\n"
- "\t.align 2, 0\n"
- "_0804D3B0: .4byte sSpriteTemplate_Text\n"
- "_0804D3B4: .4byte sTradeMenuResourcesPtr\n"
- "_0804D3B8:\n"
- "\tbl GetLastViewedMonIndex\n"
- "\tldr r1, [r4]\n"
- "\tadds r0, 0x6\n"
- "_0804D3C0:\n"
- "\tadds r1, 0x35\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804D404 @ =sSpriteTemplate_TradeButtons\n"
- "\tldr r3, _0804D408 @ =sTradeMonSpriteCoords\n"
- "\tldr r4, _0804D40C @ =sTradeMenuResourcesPtr\n"
- "\tldr r1, [r4]\n"
- "\tadds r1, 0x35\n"
- "\tldrb r2, [r1]\n"
- "\tlsls r2, 1\n"
- "\tadds r1, r2, r3\n"
- "\tldrb r1, [r1]\n"
- "\tlsls r1, 19\n"
- "\tmovs r5, 0x80\n"
- "\tlsls r5, 14\n"
- "\tadds r1, r5\n"
- "\tasrs r1, 16\n"
- "\tadds r3, 0x1\n"
- "\tadds r2, r3\n"
- "\tldrb r2, [r2]\n"
- "\tlsls r2, 3\n"
- "\tmovs r3, 0x2\n"
- "\tbl CreateSprite\n"
- "\tldr r1, [r4]\n"
- "\tadds r1, 0x34\n"
- "\tstrb r0, [r1]\n"
- "\tldr r0, _0804D410 @ =gMain\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r0, r7\n"
- "\tmovs r1, 0x10\n"
- "\tstrb r1, [r0]\n"
- "\tb _0804D4D2\n"
- "\t.align 2, 0\n"
- "_0804D404: .4byte sSpriteTemplate_TradeButtons\n"
- "_0804D408: .4byte sTradeMonSpriteCoords\n"
- "_0804D40C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D410: .4byte gMain\n"
- "_0804D414:\n"
- "\tmovs r0, 0\n"
- "\tbl sub_804D694\n"
- "\tb _0804D4AC\n"
- "_0804D41C:\n"
- "\tmovs r0, 0x1\n"
- "\tbl sub_804D694\n"
- "\tldr r2, _0804D43C @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r2]\n"
- "\tmovs r1, 0\n"
- "\tstrb r1, [r0]\n"
- "\tldr r0, [r2]\n"
- "\tstrb r1, [r0, 0x1]\n"
- "\tbl sub_804D764\n"
- "\tldr r1, _0804D440 @ =gMain\n"
- "\tmovs r2, 0x87\n"
- "\tlsls r2, 3\n"
- "\tadds r1, r2\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D43C: .4byte sTradeMenuResourcesPtr\n"
- "_0804D440: .4byte gMain\n"
- "_0804D444:\n"
- "\tldr r2, _0804D478 @ =gPaletteFade\n"
- "\tldrb r1, [r2, 0x8]\n"
- "\tmovs r0, 0x7F\n"
- "\tands r0, r1\n"
- "\tstrb r0, [r2, 0x8]\n"
- "\tmovs r4, 0x1\n"
- "\tnegs r4, r4\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0x10\n"
- "\tmovs r2, 0\n"
- "\tbl BlendPalettes\n"
- "\tmovs r0, 0\n"
- "\tstr r0, [sp]\n"
- "\tadds r0, r4, 0\n"
- "\tmovs r1, 0\n"
- "\tmovs r2, 0x10\n"
- "\tmovs r3, 0\n"
- "\tbl BeginNormalPaletteFade\n"
- "\tldr r1, _0804D47C @ =gMain\n"
- "\tmovs r3, 0x87\n"
- "\tlsls r3, 3\n"
- "\tadds r1, r3\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D478: .4byte gPaletteFade\n"
- "_0804D47C: .4byte gMain\n"
- "_0804D480:\n"
- "\tmovs r1, 0x82\n"
- "\tlsls r1, 5\n"
- "\tmovs r0, 0\n"
- "\tbl SetGpuReg\n"
- "\tmovs r0, 0x2\n"
- "\tbl sub_804D694\n"
- "\tldr r1, _0804D49C @ =gMain\n"
- "\tmovs r5, 0x87\n"
- "\tlsls r5, 3\n"
- "\tadds r1, r5\n"
- "\tb _0804D4B4\n"
- "\t.align 2, 0\n"
- "_0804D49C: .4byte gMain\n"
- "_0804D4A0:\n"
- "\tmovs r7, 0x87\n"
- "\tlsls r7, 3\n"
- "\tadds r1, r2, r7\n"
- "\tb _0804D4B4\n"
- "_0804D4A8:\n"
- "\tbl sub_804F964\n"
- "_0804D4AC:\n"
- "\tldr r1, _0804D4BC @ =gMain\n"
- "\tmovs r0, 0x87\n"
- "\tlsls r0, 3\n"
- "\tadds r1, r0\n"
- "_0804D4B4:\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tstrb r0, [r1]\n"
- "\tb _0804D4D2\n"
- "\t.align 2, 0\n"
- "_0804D4BC: .4byte gMain\n"
- "_0804D4C0:\n"
- "\tldr r0, _0804D4F0 @ =gPaletteFade\n"
- "\tldrb r1, [r0, 0x7]\n"
- "\tmovs r0, 0x80\n"
- "\tands r0, r1\n"
- "\tcmp r0, 0\n"
- "\tbne _0804D4D2\n"
- "\tldr r0, _0804D4F4 @ =sub_804D638\n"
- "\tbl SetMainCallback2\n"
- "_0804D4D2:\n"
- "\tbl RunTasks\n"
- "\tbl AnimateSprites\n"
- "\tbl BuildOamBuffer\n"
- "\tbl UpdatePaletteFade\n"
- "\tadd sp, 0x24\n"
- "\tpop {r3}\n"
- "\tmov r8, r3\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_0804D4F0: .4byte gPaletteFade\n"
- "_0804D4F4: .4byte sub_804D638");
-}
-#endif //NONMATCHING
static void sub_804D4F8(void)
{
@@ -3926,78 +2345,28 @@ static void sub_804F08C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5)
sTradeMenuResourcesPtr->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2;
}
-#ifdef NONMATCHING
-// Instruction swap when setting r5 and r4
static void sub_804F284(u8 whichParty)
{
s32 i;
for (i = 0; i < sTradeMenuResourcesPtr->partyCounts[whichParty]; i++)
{
+ const u8 (*r5)[2];
+ const u8 (*r4)[2];
+ u32 r0 = 3 * whichParty;
+ const u8 (*r1)[2][2] = gUnknown_8261E5A;
+ r5 = r1[r0];
+ r4 = gUnknown_8261E72[r0];
+
sub_804F08C(
whichParty,
i,
- gUnknown_8261E5A[0][whichParty][i][0],
- gUnknown_8261E5A[0][whichParty][i][1],
- gUnknown_8261E5A[1][whichParty][i][0],
- gUnknown_8261E5A[1][whichParty][i][1]
+ r5[i][0],
+ r5[i][1],
+ r4[i][0],
+ r4[i][1]
);
}
}
-#else
-NAKED
-static void sub_804F284(u8 whichParty)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tsub sp, 0x8\n"
- "\tlsls r0, 24\n"
- "\tlsrs r6, r0, 24\n"
- "\tmovs r7, 0\n"
- "\tldr r0, _0804F2DC @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0x36\n"
- "\tadds r0, r6\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r7, r0\n"
- "\tbge _0804F2D4\n"
- "\tlsls r0, r6, 1\n"
- "\tadds r0, r6\n"
- "\tldr r1, _0804F2E0 @ =gUnknown_8261E5A\n"
- "\tlsls r0, 2\n"
- "\tadds r5, r0, r1\n"
- "\tldr r1, _0804F2E4 @ =gUnknown_8261E5A+24\n"
- "\tadds r4, r0, r1\n"
- "_0804F2AA:\n"
- "\tlsls r1, r7, 24\n"
- "\tlsrs r1, 24\n"
- "\tldrb r2, [r5]\n"
- "\tldrb r3, [r5, 0x1]\n"
- "\tldrb r0, [r4]\n"
- "\tstr r0, [sp]\n"
- "\tldrb r0, [r4, 0x1]\n"
- "\tstr r0, [sp, 0x4]\n"
- "\tadds r0, r6, 0\n"
- "\tbl sub_804F08C\n"
- "\tadds r5, 0x2\n"
- "\tadds r4, 0x2\n"
- "\tadds r7, 0x1\n"
- "\tldr r0, _0804F2DC @ =sTradeMenuResourcesPtr\n"
- "\tldr r0, [r0]\n"
- "\tadds r0, 0x36\n"
- "\tadds r0, r6\n"
- "\tldrb r0, [r0]\n"
- "\tcmp r7, r0\n"
- "\tblt _0804F2AA\n"
- "_0804F2D4:\n"
- "\tadd sp, 0x8\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_0804F2DC: .4byte sTradeMenuResourcesPtr\n"
- "_0804F2E0: .4byte gUnknown_8261E5A\n"
- "_0804F2E4: .4byte gUnknown_8261E5A+24");
-}
-#endif //NONMATCHING
static void sub_804F2E8(u8 whichParty)
{
diff --git a/src/trainer_card.c b/src/trainer_card.c
index 766935244..e4778f5ed 100644
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -528,7 +528,7 @@ static void Task_TrainerCard(u8 taskId)
PutTrainerCardWindow(1);
sTrainerCardDataPtr->var_7BCE = FALSE;
}
-
+
if (JOY_NEW(A_BUTTON))
{
HelpSystem_SetSomeVariable2(11);
@@ -748,13 +748,13 @@ static u8 GetTrainerStarCount(struct TrainerCard *trainerCard)
if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0)
stars++;
-
+
if (trainerCard->caughtAllHoenn)
stars++;
-
+
if (trainerCard->battleTowerStraightWins > 49)
stars++;
-
+
if (trainerCard->hasAllPaintings)
stars++;
@@ -765,7 +765,7 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
{
u32 playTime;
u8 i;
-
+
trainerCard->gender = gSaveBlock2Ptr->playerGender;
trainerCard->playTimeHours = gSaveBlock2Ptr->playTimeHours;
trainerCard->playTimeMinutes = gSaveBlock2Ptr->playTimeMinutes;
@@ -793,12 +793,12 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
trainerCard->linkBattleWins = GetCappedGameStat(GAME_STAT_LINK_BATTLE_WINS, 9999);
trainerCard->linkBattleLosses = GetCappedGameStat(GAME_STAT_LINK_BATTLE_LOSSES, 9999);
trainerCard->pokemonTrades = GetCappedGameStat(GAME_STAT_POKEMON_TRADES, 0xFFFF);
-
+
trainerCard->battleTowerWins = 0;
trainerCard->battleTowerStraightWins = 0;
trainerCard->contestsWithFriends = 0;
trainerCard->pokeblocksWithFriends = 0;
-
+
trainerCard->hasAllPaintings = FALSE;
trainerCard->money = GetMoney(&gSaveBlock1Ptr->money);
@@ -817,10 +817,10 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
trainerCard->stars = 0;
if (trainerCard->hofDebutHours != 0 || (trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0))
trainerCard->stars = cardType;
-
+
if (HasAllKantoMons())
trainerCard->stars++;
-
+
if (HasAllMons())
trainerCard->stars++;
}
@@ -829,46 +829,46 @@ static void SetPlayerCardData(struct TrainerCard *trainerCard, u8 cardType)
void TrainerCard_GenerateCardForLinkPlayer(struct TrainerCard *trainerCard)
{
u8 id = 0;
-
- trainerCard->version = VERSION_FIRE_RED;
+
+ trainerCard->version = GAME_VERSION;
SetPlayerCardData(trainerCard, CARD_TYPE_EMERALD);
if (GetCardType() != CARD_TYPE_FRLG)
return;
-
+
trainerCard->stars = id;
if (trainerCard->hofDebutHours != 0 || trainerCard->hofDebutMinutes != 0 || trainerCard->hofDebutSeconds != 0)
trainerCard->stars = 1;
-
+
trainerCard->caughtAllHoenn = HasAllKantoMons();
trainerCard->hasAllMons = HasAllMons();
trainerCard->berriesPicked = gSaveBlock2Ptr->berryPick.berriesPicked;
trainerCard->jumpsInRow = gSaveBlock2Ptr->pokeJump.jumpsInRow;
-
+
trainerCard->berryCrushPoints = GetCappedGameStat(GAME_STAT_BERRY_CRUSH_POINTS, 0xFFFF);
trainerCard->unionRoomNum = GetCappedGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES, 0xFFFF);
trainerCard->var_4C = TRUE;
-
+
if (trainerCard->caughtAllHoenn)
trainerCard->stars++;
-
+
if (trainerCard->hasAllMons)
trainerCard->stars++;
-
+
if (trainerCard->berriesPicked >= 200 && trainerCard->jumpsInRow >= 200)
trainerCard->stars++;
-
+
id = ((u16)trainerCard->trainerId) % 8;
if (trainerCard->gender == FEMALE)
trainerCard->var_4F = sLinkTrainerCardFacilityClasses[1][id];
else
trainerCard->var_4F = sLinkTrainerCardFacilityClasses[0][id];
-
+
trainerCard->var_50[0] = VarGet(VAR_HOF_BRAG_STATE);
trainerCard->var_50[1] = VarGet(VAR_EGG_BRAG_STATE);
trainerCard->var_50[2] = VarGet(VAR_LINK_WIN_BRAG_STATE);
-
+
trainerCard->var_4E = VarGet(VAR_TRAINER_CARD_MON_ICON_TINT_IDX);
-
+
trainerCard->monSpecies[0] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_1));
trainerCard->monSpecies[1] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_2));
trainerCard->monSpecies[2] = MailSpeciesToIconSpecies(VarGet(VAR_TRAINER_CARD_MON_ICON_3));
@@ -881,7 +881,7 @@ static void SetDataFromTrainerCard(void)
{
u32 badgeFlag;
u8 i;
-
+
sTrainerCardDataPtr->hasPokedex = FALSE;
sTrainerCardDataPtr->hasHofResult = FALSE;
sTrainerCardDataPtr->hasLinkResults = FALSE;
@@ -889,19 +889,19 @@ static void SetDataFromTrainerCard(void)
sTrainerCardDataPtr->var_E = FALSE;
sTrainerCardDataPtr->var_F = FALSE;
sTrainerCardDataPtr->hasTrades = FALSE;
-
+
memset(&sTrainerCardDataPtr->hasBadge, FALSE, BADGE_COUNT);
if (sTrainerCardDataPtr->trainerCard.hasPokedex)
sTrainerCardDataPtr->hasPokedex++;
-
+
if (sTrainerCardDataPtr->trainerCard.hofDebutHours != 0
|| sTrainerCardDataPtr->trainerCard.hofDebutMinutes != 0
|| sTrainerCardDataPtr->trainerCard.hofDebutSeconds != 0)
sTrainerCardDataPtr->hasHofResult++;
-
+
if (sTrainerCardDataPtr->trainerCard.linkBattleWins != 0 || sTrainerCardDataPtr->trainerCard.linkBattleLosses != 0)
sTrainerCardDataPtr->hasLinkResults++;
-
+
if (sTrainerCardDataPtr->trainerCard.pokemonTrades != 0)
sTrainerCardDataPtr->hasTrades++;
@@ -937,7 +937,7 @@ static void sub_8089BD8(u16 arg0)
if (quotient <= 4)
quotient = 0;
-
+
sTrainerCardDataPtr->var_456 = quotient;
SetGpuReg(REG_OFFSET_BLDY, sTrainerCardDataPtr->var_456);
SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(sTrainerCardDataPtr->var_7BCC, 160 - sTrainerCardDataPtr->var_7BCC));
@@ -1042,7 +1042,7 @@ static bool8 PrintAllOnCardPage1(void)
sTrainerCardDataPtr->printState++;
return FALSE;
}
-
+
static bool8 PrintStringsOnCardPage2(void)
{
switch (sTrainerCardDataPtr->printState)
@@ -1093,7 +1093,7 @@ static void PrintNameOnCard(void)
{
u8 buffer[2][32];
u8* txtPtr;
-
+
txtPtr = StringCopy(buffer[0], gText_TrainerCardName);
txtPtr = buffer[1];
StringCopy(txtPtr, sTrainerCardDataPtr->trainerCard.playerName);
@@ -1101,12 +1101,12 @@ static void PrintNameOnCard(void)
StringAppend(buffer[0], txtPtr);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardPlayerNameXPositions[sTrainerCardDataPtr->cardType], sTrainerCardPlayerNameYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer[0]);
}
-
+
static void PrintIdOnCard(void)
{
u8 buffer[32];
u8* txtPtr;
-
+
txtPtr = StringCopy(buffer, gText_TrainerCardIDNo);
ConvertIntToDecimalStringN(txtPtr, sTrainerCardDataPtr->trainerCard.trainerId, STR_CONV_MODE_LEADING_ZEROS, 5);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardIdXPositions[sTrainerCardDataPtr->cardType], sTrainerCardIdYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
@@ -1146,7 +1146,7 @@ static void PrintPokedexOnCard(void)
{
u8 buffer[10];
u8 x;
-
+
if (FlagGet(FLAG_SYS_POKEDEX_GET))
{
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.caughtMonsCount, 0, 3);
@@ -1183,22 +1183,22 @@ static void PrintTimeOnCard(void)
if (hours > 999)
hours = 999;
-
+
if (minutes > 59)
minutes = 59;
-
+
FillWindowPixelRect(1, PIXEL_FILL(0), sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], 50, 12);
if (sTrainerCardDataPtr->cardType != CARD_TYPE_EMERALD)
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 20, 88, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
else
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], 16, 89, sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, gText_TrainerCardTime);
-
+
ConvertIntToDecimalStringN(buffer, hours, STR_CONV_MODE_RIGHT_ALIGN, 3);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursXPositions[sTrainerCardDataPtr->cardType],
sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeHoursYPositions[sTrainerCardDataPtr->cardType],
sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sTrainerCardTextColors[sTrainerCardDataPtr->var_7], TEXT_SPEED_FF, gText_Colon2);
-
+
ConvertIntToDecimalStringN(buffer, minutes, STR_CONV_MODE_LEADING_ZEROS, 2);
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sTrainerCardTimeMinutesXPositions[sTrainerCardDataPtr->cardType], sTrainerCardTimeMinutesYPositions[sTrainerCardDataPtr->cardType], sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, buffer);
}
@@ -1209,13 +1209,13 @@ static void PrintProfilePhraseOnCard(void)
{
AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType],
sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[0]);
-
+
AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[0], 0) + 16, sTrainerCardProfilePhraseXPositions[sTrainerCardDataPtr->cardType],
sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[1]);
-
+
AddTextPrinterParameterized3(1, 2, 10, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType],
sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[2]);
-
+
AddTextPrinterParameterized3(1, 2, GetStringWidth(2, sTrainerCardDataPtr->var_19[2], 0) + 16, sTrainerCardProfilePhraseYPositions[sTrainerCardDataPtr->cardType],
sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->var_19[3]);
}
@@ -1234,7 +1234,7 @@ static void PrintNameOnCard2(void)
static void sub_808A4FC(void)
{
u8 x;
-
+
if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG)
{
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], sUnknown_83CD93C[sTrainerCardDataPtr->cardType],
@@ -1243,7 +1243,7 @@ static void sub_808A4FC(void)
else
{
x = sUnknown_83CD93C[sTrainerCardDataPtr->cardType] - GetStringWidth(sTrainerCardFontIds[1], sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME], GetFontAttribute(sTrainerCardFontIds[1], FONTATTR_LETTER_SPACING));
-
+
AddTextPrinterParameterized3(1, sTrainerCardFontIds[1], x, sUnknown_83CD93E[sTrainerCardDataPtr->cardType],
sFireRedTrainerCardPage1TextColors, TEXT_SPEED_FF, sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_NAME]);
}
@@ -1253,7 +1253,7 @@ static void PrintHofTimeOnCard(void)
{
u8 buffer[10];
u8* txtPtr;
-
+
if (sTrainerCardDataPtr->hasHofResult)
{
ConvertIntToDecimalStringN(buffer, sTrainerCardDataPtr->trainerCard.hofDebutHours, STR_CONV_MODE_RIGHT_ALIGN, 3);
@@ -1279,7 +1279,7 @@ static void PrintHofDebutStringOnCard(void)
static void PrintLinkResultsNumsOnCard(void)
{
u8 buffer[30];
-
+
if (sTrainerCardDataPtr->hasLinkResults)
{
StringCopy(sTrainerCardDataPtr->strings[TRAINER_CARD_STRING_LINK_RECORD], sLinkTrainerCardRecordStrings[sTrainerCardDataPtr->cardType]);
@@ -1378,7 +1378,6 @@ static void TrainerCard_PrintPokemonIconsOnCard(void)
}
}
-
static void sub_808AB10(void)
{
u8 i;
@@ -1398,7 +1397,7 @@ static void sub_808AB10(void)
TintPalette_SepiaTone(sTrainerCardDataPtr->monIconPals, 96);
break;
}
-
+
LoadPalette(sTrainerCardDataPtr->monIconPals, 80, 192);
for (i = 0; i < 6; i++)
{
@@ -1410,7 +1409,7 @@ static void sub_808ABE0(void)
{
u8 i;
u8 buffer[4];
-
+
memcpy(buffer, sUnknown_83CD958, sizeof(sUnknown_83CD958));
if (sTrainerCardDataPtr->cardType == CARD_TYPE_FRLG && sTrainerCardDataPtr->trainerCard.var_4C == 1)
{
@@ -1479,7 +1478,7 @@ static bool8 SetTrainerCardBgsAndPals(void)
FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 32, 32);
return TRUE;
}
-
+
sTrainerCardDataPtr->bgPalLoadState++;
return FALSE;
}
@@ -1499,7 +1498,7 @@ static void LoadTrainerCardTilemap2(const u16* ptr)
dst[32 * i + j] = ptr[0];
}
}
-
+
CopyBgTilemapBufferToVram(2);
}
@@ -1518,7 +1517,7 @@ static void LoadTrainerCardTilemap0(const u16* ptr)
dst[32 * i + j] = ptr[0];
}
}
-
+
CopyBgTilemapBufferToVram(0);
}
@@ -1543,7 +1542,7 @@ static void TrainerCard_PrintStarsAndBadgesOnCard(void)
}
}
}
-
+
CopyBgTilemapBufferToVram(3);
}
@@ -1556,13 +1555,13 @@ static void sub_808B090(void)
FillBgTilemapBufferRect(3, 141, 26, 9, 1, 1, 1);
FillBgTilemapBufferRect(3, 157, 26, 10, 1, 1, 1);
}
-
+
if (sTrainerCardDataPtr->trainerCard.berryCrushPoints)
{
FillBgTilemapBufferRect(3, 141, 21, 13, 1, 1, 1);
FillBgTilemapBufferRect(3, 157, 21, 14, 1, 1, 1);
}
-
+
if (sTrainerCardDataPtr->trainerCard.unionRoomNum)
{
FillBgTilemapBufferRect(3, 141, 27, 11, 1, 1, 1);
@@ -1577,7 +1576,7 @@ static void sub_808B090(void)
FillBgTilemapBufferRect(3, 157, 26, 10, 1, 1, 0);
}
}
-
+
CopyBgTilemapBufferToVram(3);
}
@@ -1629,7 +1628,7 @@ static bool8 sub_808B254(struct Task* task)
{
gScanlineEffectRegBuffers[1][i] = 0;
}
-
+
task->data[0]++;
return FALSE;
}
@@ -1647,7 +1646,7 @@ static bool8 sub_808B294(struct Task* task)
sTrainerCardDataPtr->var_7BCC = task->data[1];
sub_8089BD8(task->data[1]);
-
+
r7 = task->data[1];
r9 = 160 - r7;
r4 = r9 - r7;
@@ -1663,7 +1662,7 @@ static bool8 sub_808B294(struct Task* task)
{
gScanlineEffectRegBuffers[0][i] = -i;
}
-
+
for (; i < (s16)r9; i++)
{
var = r6 >> 16;
@@ -1671,13 +1670,13 @@ static bool8 sub_808B294(struct Task* task)
r5 -= r10;
gScanlineEffectRegBuffers[0][i] = var;
}
-
+
var = var_24 >> 16;
for (; i < 160; i++)
{
gScanlineEffectRegBuffers[0][i] = var;
}
-
+
sTrainerCardDataPtr->allowDMACopy = TRUE;
if (task->data[1] >= 77)
task->data[0]++;
@@ -1749,7 +1748,7 @@ static bool8 sub_808B4D8(struct Task* task)
LoadTrainerCardTilemap0(&sTrainerCardDataPtr->var_4BC);
TrainerCard_PrintStarsAndBadgesOnCard();
}
-
+
PutTrainerCardWindow(1);
sTrainerCardDataPtr->var_8 ^= 1;
task->data[0]++;
@@ -1771,7 +1770,7 @@ static bool8 sub_808B540(struct Task* task)
sTrainerCardDataPtr->var_7BCC = task->data[1];
sub_8089BD8(task->data[1]);
-
+
r7 = task->data[1];
r9 = 160 - r7;
r4 = r9 - r7;
@@ -1795,13 +1794,13 @@ static bool8 sub_808B540(struct Task* task)
r5 += r10;
gScanlineEffectRegBuffers[0][i] = var;
}
-
+
var = var_24 >> 16;
for (; i < 160; i++)
{
gScanlineEffectRegBuffers[0][i] = var;
}
-
+
sTrainerCardDataPtr->allowDMACopy = TRUE;
if (task->data[1] <= 0)
task->data[0]++;
@@ -1826,7 +1825,7 @@ void ShowPlayerTrainerCard(void (*callback)(void))
sTrainerCardDataPtr->isLink = TRUE;
else
sTrainerCardDataPtr->isLink = FALSE;
-
+
sTrainerCardDataPtr->language = GAME_LANGUAGE;
TrainerCard_GenerateCardForLinkPlayer(&sTrainerCardDataPtr->trainerCard);
SetMainCallback2(CB2_InitTrainerCard);
@@ -1855,7 +1854,7 @@ static void sub_808B774(void)
sTrainerCardDataPtr->cardType = CARD_TYPE_EMERALD;
else
sTrainerCardDataPtr->cardType = CARD_TYPE_FRLG;
-
+
for (i = 0; i < 4; i++)
{
CopyEasyChatWord(sTrainerCardDataPtr->var_19[i], sTrainerCardDataPtr->trainerCard.var_28[i]);
@@ -1883,7 +1882,7 @@ static u8 GetCardType(void)
static void sub_808B838(void)
{
u8 val = sLinkTrainerCardFrontPics[sTrainerCardDataPtr->cardType][sTrainerCardDataPtr->trainerCard.gender];
-
+
if (InUnionRoom() == TRUE && gReceivedRemoteLinkPlayers == 1)
{
val = sTrainerCardDataPtr->trainerCard.var_4F;
@@ -1929,4 +1928,3 @@ static void Unref_InitTrainerCardLink2(void (*callback)(void))
ShowTrainerCardInLink(CARD_TYPE_FRLG, callback);
SetMainCallback2(CB2_InitTrainerCard);
}
-
diff --git a/src/trainer_tower.c b/src/trainer_tower.c
index dd00bf854..5d1b3fc62 100644
--- a/src/trainer_tower.c
+++ b/src/trainer_tower.c
@@ -431,7 +431,7 @@ static const u8 sKnockoutChallengeMonIdxs[][3] = {
{0x01, 0x04, 0x05}
};
-extern const struct Unk_203F458_Header gUnknown_84827AC;
+extern const struct EReaderTrainerHillSetSubstruct gUnknown_84827AC;
extern const struct TrainerTowerFloor *const gUnknown_84827B4[][8];
void sub_815D9E8(void)
@@ -513,7 +513,6 @@ void sub_815DC40(u8 *dest, u8 opponentIdx)
TT_ConvertEasyChatMessageToString(sTrainerTowerOpponent->speechLose2, dest);
}
-#ifdef NONMATCHING
static void sub_815DC8C(void) // fakematching
{
u32 whichTimer = gSaveBlock1Ptr->unkArrayIdx;
@@ -527,98 +526,26 @@ static void sub_815DC8C(void) // fakematching
else
{
struct UnkStruct_203F458 * r0_ = sTrainerTowerState;
- const struct Unk_203F458_Header * r1 = &gUnknown_84827AC;
-// *r0_ = *r1;
- memcpy(&r0_->unk_0004.floorIdx, r1, sizeof(struct Unk_203F458_Header));
-// sTrainerTowerState->unk_0004.floorIdx = gUnknown_84827AC;
+ const struct EReaderTrainerHillSetSubstruct * r1 = &gUnknown_84827AC;
+ memcpy(&r0_->unk_0004, r1, sizeof(struct EReaderTrainerHillSetSubstruct));
r7 = gUnknown_84827B4[whichTimer];
for (r4 = 0; r4 < 8; r4++)
{
- void * r0 = sTrainerTowerState;
- r0 = r4 * sizeof(struct TrainerTowerFloor) + r0;
+ #ifndef NONMATCHING
+ void * r5;
+ register void * r0 asm("r0") = sTrainerTowerState;
+ r5 = (void *)(r4 * sizeof(struct TrainerTowerFloor));
+ r0 = r5 + (uintptr_t)r0;
r0 += offsetof(struct UnkStruct_203F458, unk_0004.floors);
memcpy(r0, r7[r4], sizeof(struct TrainerTowerFloor));
-// r0[r4] = *r7[r4];
+ #else
+ memcpy(&sTrainerTowerState->unk_0004.floors[r4], r7[r4], sizeof(struct TrainerTowerFloor));
+ #endif
}
- sTrainerTowerState->unk_0004.unk4 = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors));
+ sTrainerTowerState->unk_0004.checksum = CalcByteArraySum((void *)sTrainerTowerState->unk_0004.floors, sizeof(sTrainerTowerState->unk_0004.floors));
ValidateOrResetCurTrainerTowerRecord();
}
}
-#else
-NAKED
-static void sub_815DC8C(void)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tldr r0, _0815DCBC @ =gSaveBlock1Ptr\n"
- "\tldr r0, [r0]\n"
- "\tldr r1, _0815DCC0 @ =0x00003d34\n"
- "\tadds r0, r1\n"
- "\tldr r5, [r0]\n"
- "\tldr r4, _0815DCC4 @ =sTrainerTowerState\n"
- "\tldr r0, _0815DCC8 @ =0x00001f0c\n"
- "\tbl AllocZeroed\n"
- "\tstr r0, [r4]\n"
- "\tldr r1, _0815DCCC @ =gMapHeader\n"
- "\tldrb r1, [r1, 0x12]\n"
- "\tsubs r1, 0x2A\n"
- "\tstrb r1, [r0]\n"
- "\tbl sub_815D834\n"
- "\tcmp r0, 0x1\n"
- "\tbne _0815DCD0\n"
- "\tldr r0, [r4]\n"
- "\tadds r0, 0x4\n"
- "\tbl CEReaderTool_LoadTrainerTower\n"
- "\tb _0815DD18\n"
- "\t.align 2, 0\n"
- "_0815DCBC: .4byte gSaveBlock1Ptr\n"
- "_0815DCC0: .4byte 0x00003d34\n"
- "_0815DCC4: .4byte sTrainerTowerState\n"
- "_0815DCC8: .4byte 0x00001f0c\n"
- "_0815DCCC: .4byte gMapHeader\n"
- "_0815DCD0:\n"
- "\tldr r0, [r4]\n"
- "\tldr r1, _0815DD20 @ =gUnknown_84827AC\n"
- "\tadds r0, 0x4\n"
- "\tmovs r2, 0x8\n"
- "\tbl memcpy\n"
- "\tlsls r1, r5, 5\n"
- "\tldr r0, _0815DD24 @ =gUnknown_84827B4\n"
- "\tadds r7, r1, r0\n"
- "\tmovs r5, 0\n"
- "\tmovs r4, 0x7\n"
- "_0815DCE6:\n"
- "\tldr r6, _0815DD28 @ =sTrainerTowerState\n"
- "\tldr r0, [r6]\n"
- "\tadds r0, r5, r0\n"
- "\tadds r0, 0xC\n"
- "\tldm r7!, {r1}\n"
- "\tmovs r2, 0xF8\n"
- "\tlsls r2, 2\n"
- "\tbl memcpy\n"
- "\tmovs r0, 0xF8\n"
- "\tlsls r0, 2\n"
- "\tadds r5, r0\n"
- "\tsubs r4, 0x1\n"
- "\tcmp r4, 0\n"
- "\tbge _0815DCE6\n"
- "\tldr r0, [r6]\n"
- "\tadds r0, 0xC\n"
- "\tmovs r1, 0xF8\n"
- "\tlsls r1, 5\n"
- "\tbl CalcByteArraySum\n"
- "\tldr r1, [r6]\n"
- "\tstr r0, [r1, 0x8]\n"
- "\tbl ValidateOrResetCurTrainerTowerRecord\n"
- "_0815DD18:\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_0815DD20: .4byte gUnknown_84827AC\n"
- "_0815DD24: .4byte gUnknown_84827B4\n"
- "_0815DD28: .4byte sTrainerTowerState");
-}
-#endif // NONMATCHING
static void sub_815DD2C(void)
{
diff --git a/src/vs_seeker.c b/src/vs_seeker.c
index 23eaafd2f..46a0649d7 100644
--- a/src/vs_seeker.c
+++ b/src/vs_seeker.c
@@ -11,6 +11,7 @@
#include "script.h"
#include "event_object_lock.h"
#include "field_specials.h"
+#include "item.h"
#include "item_menu.h"
#include "field_effect.h"
#include "script_movement.h"
@@ -27,6 +28,7 @@
#include "constants/object_events.h"
#include "constants/trainers.h"
#include "constants/maps.h"
+#include "constants/items.h"
typedef enum
{
diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp
index 2ba5fd082..f70c9131d 100644
--- a/tools/jsonproc/jsonproc.cpp
+++ b/tools/jsonproc/jsonproc.cpp
@@ -39,6 +39,13 @@ int main(int argc, char *argv[])
return "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n";
});
+ env.add_callback("contains", 2, [](Arguments& args) {
+ string word = args.at(0)->get<string>();
+ string check = args.at(1)->get<string>();
+
+ return word.find(check) != std::string::npos;
+ });
+
env.add_callback("subtract", 2, [](Arguments& args) {
int minuend = args.at(0)->get<int>();
int subtrahend = args.at(1)->get<int>();