summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml28
-rw-r--r--INSTALL.md2
-rw-r--r--Makefile2
-rw-r--r--README.md6
-rw-r--r--asm/battle_anim_80FE840.s2
-rw-r--r--asm/battle_frontier_1.s6
-rw-r--r--asm/battle_records.s2
-rw-r--r--asm/berry_tag_screen.s2
-rw-r--r--asm/cable_car.s2
-rw-r--r--asm/contest_painting.s2
-rw-r--r--asm/field_screen.s4
-rw-r--r--asm/fldeff_cut.s2
-rw-r--r--asm/fossil_specials.s2
-rw-r--r--asm/intro.s2
-rw-r--r--asm/item_menu.s2
-rw-r--r--asm/link.s12
-rw-r--r--asm/macros/window.inc2
-rw-r--r--asm/main_menu.s12
-rw-r--r--asm/map_name_popup.s6
-rw-r--r--asm/mon_markings.s2
-rw-r--r--asm/option_menu.s1684
-rw-r--r--asm/overworld.s2
-rw-r--r--asm/party_menu.s20
-rw-r--r--asm/pokedex.s4
-rw-r--r--asm/pokemon_summary_screen.s2
-rw-r--r--asm/pokenav.s4
-rw-r--r--asm/rayquaza_scene.s6
-rw-r--r--asm/reset_rtc_screen.s2
-rw-r--r--asm/roulette.s2
-rw-r--r--asm/shop.s2
-rw-r--r--asm/start_menu.s4
-rw-r--r--asm/title_screen.s2
-rw-r--r--asm/trade.s88
-rw-r--r--asm/trainer_card.s12
-rw-r--r--asm/unknown_task.s6
-rwxr-xr-xbuild_tools.sh14
-rw-r--r--data/battle_frontier_1.s2
-rw-r--r--data/battle_frontier_2.s165
-rw-r--r--data/battle_records.s2
-rw-r--r--data/berry_tag_screen.s2
-rw-r--r--data/contest.s56
-rw-r--r--data/contest_link_80F57C4.s2
-rw-r--r--data/contest_opponents.inc2114
-rw-r--r--data/credits.s2
-rw-r--r--data/data2b.s4
-rw-r--r--data/easy_chat.s2
-rw-r--r--data/event_scripts.s1
-rw-r--r--data/field_effect_helpers.s11
-rw-r--r--data/field_effect_misc.s211
-rw-r--r--data/field_ground_effect.s39
-rw-r--r--data/field_player_avatar.s17
-rw-r--r--data/field_special_scene.s6
-rw-r--r--data/field_tasks.s88
-rw-r--r--data/fldeff_cut.s24
-rw-r--r--data/fossil_special_fldeff_groundshake.s86
-rw-r--r--data/graphics.s22
-rw-r--r--data/graphics/field_objects/field_object_graphics.inc18
-rw-r--r--data/item_icon.s16
-rw-r--r--data/item_menu.s23
-rw-r--r--data/item_menu_icons.s208
-rw-r--r--data/librfu_rodata.s5
-rw-r--r--data/link.s16
-rw-r--r--data/main_menu.s4
-rw-r--r--data/map_name_popup.s66
-rw-r--r--data/map_obj_8097404.s115
-rw-r--r--data/mauville_old_man.s24
-rw-r--r--data/menu_helpers.s29
-rw-r--r--data/menu_indicators.s57
-rw-r--r--data/mon_markings.s144
-rw-r--r--data/mystery_event_menu.s6
-rw-r--r--data/mystery_event_msg.s297
-rw-r--r--data/naming_screen.s200
-rw-r--r--data/new_menu_helpers.s40
-rw-r--r--data/option_menu.s20
-rw-r--r--data/overworld.s41
-rw-r--r--data/party_menu.s543
-rw-r--r--data/pokedex.s64
-rw-r--r--data/pokemon_storage_system.s2
-rw-r--r--data/pokemon_summary_screen.s422
-rw-r--r--data/pokenav.s2
-rw-r--r--data/record_mixing.s27
-rw-r--r--data/reset_rtc_screen.s2
-rw-r--r--data/script_menu.s31
-rw-r--r--data/scripts/cable_club.inc16
-rw-r--r--data/scripts/mauville_man.inc111
-rw-r--r--data/shop.s2
-rw-r--r--data/slot_machine.s2
-rw-r--r--data/specials.inc1
-rw-r--r--data/starter_choose.s130
-rw-r--r--data/strings.s79
-rw-r--r--data/text_window.s170
-rw-r--r--data/trade.s621
-rw-r--r--data/trainer_card.s295
-rw-r--r--data/unk_transition.s9
-rw-r--r--data/use_pokeblock.s63
-rw-r--r--graphics/battle_transitions/frontier_transition.binbin0 -> 428 bytes
-rwxr-xr-xgraphics/battle_transitions/frontier_transition.pngbin0 -> 448 bytes
-rwxr-xr-xgraphics/battle_transitions/frontier_transition_circles.pngbin0 -> 733 bytes
-rw-r--r--graphics/frontier_pass/map_heads.pngbin0 -> 319 bytes
-rw-r--r--graphics/frontier_pass/map_heads_female.pal19
-rw-r--r--graphics/frontier_pass/map_screen.binbin0 -> 1280 bytes
-rw-r--r--graphics/frontier_pass/map_screen.pngbin0 -> 3333 bytes
-rw-r--r--graphics/frontier_pass/record_frame.binbin0 -> 144 bytes
-rw-r--r--graphics/frontier_pass/small_map_and_card.binbin0 -> 672 bytes
-rw-r--r--graphics/frontier_pass/small_map_and_card_affine.bin2
-rw-r--r--graphics/frontier_pass/unknown_571298.bin1
-rwxr-xr-xgraphics/interface/855C604.pal19
-rw-r--r--graphics/interface/855C624.bin1
-rw-r--r--graphics/interface/85DFA60.binbin0 -> 32 bytes
-rwxr-xr-xgraphics/interface/85DFA80.pngbin0 -> 212 bytes
-rw-r--r--graphics/interface/85DFB60.binbin0 -> 172 bytes
-rw-r--r--graphics/interface/85DFC0C.binbin0 -> 164 bytes
-rwxr-xr-xgraphics/interface/860F074.pal19
-rwxr-xr-xgraphics/interface/860F0B0.pal19
-rw-r--r--graphics/interface/bag_spinner.pngbin0 -> 212 bytes
-rw-r--r--graphics/interface/hold_icons.pngbin0 -> 177 bytes
-rwxr-xr-xgraphics/interface/map_popup/857F444.pal19
-rwxr-xr-xgraphics/interface/map_popup/brick.pngbin0 -> 412 bytes
-rwxr-xr-xgraphics/interface/map_popup/brick_outline.pngbin0 -> 461 bytes
-rwxr-xr-xgraphics/interface/map_popup/marble.pngbin0 -> 509 bytes
-rwxr-xr-xgraphics/interface/map_popup/marble_outline.pngbin0 -> 494 bytes
-rwxr-xr-xgraphics/interface/map_popup/stone.pngbin0 -> 201 bytes
-rwxr-xr-xgraphics/interface/map_popup/stone2.pngbin0 -> 201 bytes
-rwxr-xr-xgraphics/interface/map_popup/stone2_outline.pngbin0 -> 407 bytes
-rwxr-xr-xgraphics/interface/map_popup/stone_outline.pngbin0 -> 407 bytes
-rwxr-xr-xgraphics/interface/map_popup/underwater.pngbin0 -> 304 bytes
-rwxr-xr-xgraphics/interface/map_popup/underwater_outline.pngbin0 -> 485 bytes
-rwxr-xr-xgraphics/interface/map_popup/wood.pngbin0 -> 338 bytes
-rwxr-xr-xgraphics/interface/map_popup/wood_outline.pngbin0 -> 391 bytes
-rwxr-xr-xgraphics/interface/red_arrow.pngbin0 -> 167 bytes
-rwxr-xr-xgraphics/interface/red_arrow_other.pngbin0 -> 197 bytes
-rw-r--r--graphics/interface/region_map.binbin0 -> 2048 bytes
-rw-r--r--graphics/interface/region_map.pal51
-rw-r--r--graphics/interface/region_map.pngbin0 -> 18404 bytes
-rw-r--r--graphics/interface/region_map_affine.binbin0 -> 4096 bytes
-rw-r--r--graphics/interface/region_map_affine.pngbin0 -> 18412 bytes
-rwxr-xr-xgraphics/interface/select_button.pngbin0 -> 135 bytes
-rwxr-xr-xgraphics/interface/selector_outline.pngbin0 -> 156 bytes
-rw-r--r--graphics/interface/summary_a_button.pngbin0 -> 225 bytes
-rw-r--r--graphics/interface/summary_b_button.pngbin0 -> 225 bytes
-rw-r--r--graphics/interface/summary_markings.pal19
-rw-r--r--graphics/interface/test.binbin1152 -> 0 bytes
-rw-r--r--graphics/interface/textbox.pngbin198 -> 0 bytes
-rw-r--r--graphics/interface/unk_tilemap2.binbin0 -> 40 bytes
-rw-r--r--graphics/interface/unknown_6157C4.bin1
-rw-r--r--graphics/interface/unknown_6157E0.bin2
-rwxr-xr-xgraphics/map_objects/pics/effects/unknown_4F6D38/0.pngbin0 -> 130 bytes
-rwxr-xr-xgraphics/map_objects/pics/effects/unknown_4F7E38/0.pngbin0 -> 175 bytes
-rwxr-xr-xgraphics/map_objects/pics/effects/unused_grass/0.pngbin0 -> 231 bytes
-rwxr-xr-xgraphics/map_objects/pics/effects/unused_grass/1.pngbin0 -> 228 bytes
-rwxr-xr-xgraphics/map_objects/pics/effects/unused_grass/2.pngbin0 -> 230 bytes
-rwxr-xr-xgraphics/map_objects/pics/effects/unused_grass/3.pngbin0 -> 232 bytes
-rw-r--r--graphics/misc/birch_bag.pngbin0 -> 1304 bytes
-rw-r--r--graphics/misc/birch_bag_map.binbin0 -> 1280 bytes
-rw-r--r--graphics/misc/birch_ballarrow.pngbin0 -> 635 bytes
-rw-r--r--graphics/misc/birch_circle.pngbin0 -> 349 bytes
-rw-r--r--graphics/misc/birch_grass.pngbin0 -> 691 bytes
-rw-r--r--graphics/misc/birch_grass_map.binbin0 -> 2048 bytes
-rw-r--r--graphics/misc/fossil.pngbin0 -> 298 bytes
-rw-r--r--graphics/misc/mirage_tower.bin2
-rw-r--r--graphics/misc/mirage_tower.pngbin0 -> 847 bytes
-rw-r--r--graphics/misc/mirage_tower_crumbles.pngbin0 -> 201 bytes
-rwxr-xr-xgraphics/misc/mon_markings.pngbin0 -> 489 bytes
-rw-r--r--graphics/misc/option_menu_equals_sign.pngbin0 -> 81 bytes
-rw-r--r--graphics/misc/option_menu_text.pal19
-rw-r--r--graphics/naming_screen/0.pal19
-rw-r--r--graphics/naming_screen/1.pal19
-rw-r--r--graphics/naming_screen/pc_icon/0.pngbin0 -> 192 bytes
-rw-r--r--graphics/naming_screen/pc_icon/1.pngbin0 -> 203 bytes
-rw-r--r--graphics/pokedex/black.pal19
-rw-r--r--graphics/pokedex/caught_ball.pngbin0 -> 210 bytes
-rwxr-xr-xgraphics/slot_machine/85A8524.pal19
-rw-r--r--graphics/text_window/1.pngbin0 -> 199 bytes
-rw-r--r--graphics/text_window/10.pngbin0 -> 316 bytes
-rw-r--r--graphics/text_window/11.pngbin0 -> 285 bytes
-rw-r--r--graphics/text_window/12.pngbin0 -> 354 bytes
-rw-r--r--graphics/text_window/13.pngbin0 -> 276 bytes
-rw-r--r--graphics/text_window/14.pngbin0 -> 320 bytes
-rw-r--r--graphics/text_window/15.pngbin0 -> 327 bytes
-rw-r--r--graphics/text_window/16.pngbin0 -> 292 bytes
-rw-r--r--graphics/text_window/17.pngbin0 -> 385 bytes
-rw-r--r--graphics/text_window/18.pngbin0 -> 284 bytes
-rw-r--r--graphics/text_window/19.pngbin0 -> 346 bytes
-rw-r--r--graphics/text_window/2.pngbin0 -> 183 bytes
-rw-r--r--graphics/text_window/20.pngbin0 -> 314 bytes
-rw-r--r--graphics/text_window/3.pngbin0 -> 272 bytes
-rw-r--r--graphics/text_window/4.pngbin0 -> 242 bytes
-rw-r--r--graphics/text_window/5.pngbin0 -> 323 bytes
-rw-r--r--graphics/text_window/6.pngbin0 -> 268 bytes
-rw-r--r--graphics/text_window/7.pngbin0 -> 394 bytes
-rw-r--r--graphics/text_window/8.pngbin0 -> 241 bytes
-rw-r--r--graphics/text_window/9.pngbin0 -> 325 bytes
-rw-r--r--graphics/text_window/message_box.pngbin0 -> 241 bytes
-rw-r--r--graphics/text_window/text_pal1.pal19
-rw-r--r--graphics/text_window/text_pal2.pal19
-rw-r--r--graphics/text_window/text_pal3.pal19
-rw-r--r--graphics/text_window/text_pal4.pal19
-rw-r--r--graphics/trade/ball.pngbin0 -> 464 bytes
-rw-r--r--graphics/trade/black.pal19
-rw-r--r--graphics/trade/cable_closeup_map.binbin0 -> 2048 bytes
-rw-r--r--graphics/trade/cable_end.pngbin0 -> 194 bytes
-rw-r--r--graphics/trade/gba.pal19
-rw-r--r--graphics/trade/gba_affine.pngbin0 -> 1897 bytes
-rw-r--r--graphics/trade/gba_affine_map_cable.binbin0 -> 256 bytes
-rw-r--r--graphics/trade/gba_affine_map_wireless.binbin0 -> 256 bytes
-rw-r--r--graphics/trade/gba_map_cable.binbin0 -> 4096 bytes
-rw-r--r--graphics/trade/gba_map_wireless.binbin0 -> 4096 bytes
-rw-r--r--graphics/trade/gba_screen.pngbin0 -> 170 bytes
-rw-r--r--graphics/trade/glow1.pngbin0 -> 195 bytes
-rw-r--r--graphics/trade/glow2.pngbin0 -> 190 bytes
-rw-r--r--graphics/trade/misc.pal19
-rw-r--r--graphics/trade/moves_box_map.binbin0 -> 510 bytes
-rw-r--r--graphics/trade/party_box_map.binbin0 -> 510 bytes
-rw-r--r--graphics/trade/pokeball_symbol.pngbin0 -> 1569 bytes
-rw-r--r--graphics/trade/pokeball_symbol_map.binbin0 -> 256 bytes
-rw-r--r--graphics/trade/shadow.pal19
-rw-r--r--graphics/trade/shadow_map.binbin0 -> 4096 bytes
-rw-r--r--graphics/trade/stripes_bg2_map.bin1
-rw-r--r--graphics/trade/stripes_bg3_map.bin1
-rw-r--r--graphics/trade/text.pal19
-rw-r--r--graphics/trade/unknown_3308C0.pal19
-rw-r--r--graphics/trade/unknown_3379A0.binbin0 -> 2048 bytes
-rw-r--r--graphics/trade/unknown_338EA4.pal15
-rw-r--r--graphics/trade/wireless_signal.binbin0 -> 2048 bytes
-rw-r--r--graphics/trade/wireless_signal.pngbin0 -> 1307 bytes
-rw-r--r--graphics/trade/wireless_signal_receive.pal259
-rw-r--r--graphics/trade/wireless_signal_send.pal259
-rw-r--r--graphics/trainer_card/badges.pngbin0 -> 563 bytes
-rw-r--r--graphics/trainer_card/badges_fr.pngbin0 -> 587 bytes
-rw-r--r--graphics/trainer_card/female_bg.pal19
-rw-r--r--graphics/trainer_card/female_bg_fr.pal19
-rw-r--r--graphics/trainer_card/four_stars.pal51
-rw-r--r--graphics/trainer_card/four_stars_fr.pal51
-rw-r--r--graphics/trainer_card/gold.pal19
-rw-r--r--graphics/trainer_card/one_star.pal51
-rw-r--r--graphics/trainer_card/one_star_fr.pal51
-rw-r--r--graphics/trainer_card/stickers_fr.pngbin0 -> 387 bytes
-rw-r--r--graphics/trainer_card/stickers_fr1.pal19
-rw-r--r--graphics/trainer_card/stickers_fr2.pal19
-rw-r--r--graphics/trainer_card/stickers_fr3.pal19
-rw-r--r--graphics/trainer_card/stickers_fr4.pal19
-rw-r--r--graphics/trainer_card/three_stars.pal51
-rw-r--r--graphics/trainer_card/three_stars_fr.pal51
-rw-r--r--graphics/trainer_card/two_stars.pal51
-rw-r--r--graphics/trainer_card/two_stars_fr.pal51
-rw-r--r--graphics/trainer_card/unknown_56F18C.pal19
-rw-r--r--graphics/unknown/858E588/0.pngbin0 -> 145 bytes
-rw-r--r--graphics/unknown/858E588/1.pngbin0 -> 149 bytes
-rw-r--r--graphics/unknown/858E588/2.pngbin0 -> 138 bytes
-rw-r--r--graphics/unknown/858E588/3.pngbin0 -> 133 bytes
-rw-r--r--graphics/unknown/858E588/4.pngbin0 -> 114 bytes
-rw-r--r--graphics/unknown/858E5B0/0.pngbin0 -> 89 bytes
-rw-r--r--graphics/unknown/858E5B0/1.pngbin0 -> 109 bytes
-rw-r--r--graphics/unknown/858E5B0/2.pngbin0 -> 119 bytes
-rw-r--r--graphics/unknown/858E5B0/3.pngbin0 -> 123 bytes
-rw-r--r--graphics/unknown/858E5B0/4.pngbin0 -> 129 bytes
-rw-r--r--graphics/unknown/858E5B0/5.pngbin0 -> 126 bytes
-rw-r--r--graphics/unknown/858E5D8/0.pngbin0 -> 87 bytes
-rw-r--r--graphics/unknown/858E5D8/1.pngbin0 -> 116 bytes
-rw-r--r--graphics/unknown/858E5D8/2.pngbin0 -> 131 bytes
-rw-r--r--graphics/unknown/858E5D8/3.pngbin0 -> 115 bytes
-rw-r--r--graphics/unknown/858E5D8/4.pngbin0 -> 92 bytes
-rw-r--r--graphics/unknown/858E674/0.pngbin0 -> 272 bytes
-rw-r--r--graphics/unknown/858E674/1.pngbin0 -> 255 bytes
-rw-r--r--graphics/unknown/858E674/2.pngbin0 -> 256 bytes
-rw-r--r--graphics/unknown/858E84C/0.pngbin0 -> 103 bytes
-rw-r--r--graphics/unknown/858E84C/1.pngbin0 -> 107 bytes
-rw-r--r--graphics/unknown/858E84C/2.pngbin0 -> 107 bytes
-rw-r--r--graphics/unknown/unknown_58E82C.pal19
-rw-r--r--graphics/unused/cherry.pngbin0 -> 343 bytes
-rw-r--r--graphics_file_rules.mk38
-rw-r--r--include/graphics.h4
-rw-r--r--include/option_menu.h6
-rw-r--r--include/strings.h25
-rw-r--r--include/text_window.h15
-rw-r--r--include/unknown_task.h2
-rw-r--r--ld_script.txt6
-rw-r--r--src/battle_transition.c4
-rw-r--r--src/berry_fix_program.c2
-rw-r--r--src/diploma.c2
-rw-r--r--src/egg_hatch.c4
-rw-r--r--src/evolution_scene.c2
-rw-r--r--src/hall_of_fame.c2
-rw-r--r--src/mail.c26
-rw-r--r--src/main.c4
-rw-r--r--src/option_menu.c662
-rw-r--r--src/pokeblock.c2
-rw-r--r--src/pokemon_summary_screen.c4
-rw-r--r--src/save_failed_screen.c7
-rw-r--r--src/starter_choose.c12
-rw-r--r--src/text_window.c116
-rw-r--r--src/wallclock.c2
-rw-r--r--sym_ewram.txt5
293 files changed, 8449 insertions, 2807 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 000000000..dda07ebb4
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,28 @@
+language: generic
+dist: trusty
+sudo: false
+env:
+ global:
+ - DEVKITARM=$HOME/devkitARM
+addons:
+ apt:
+ packages:
+ - gcc-multilib
+ - linux-libc-dev
+cache:
+ apt: true
+install:
+ - pushd $HOME
+ - travis_retry wget http://download.sourceforge.net/devkitpro/devkitARM_r46-x86_64-linux.tar.bz2
+ - tar xf devkitARM*.tar.bz2
+ - travis_retry git clone https://github.com/pret/agbcc.git
+ - cd agbcc && ./build.sh && ./install.sh $TRAVIS_BUILD_DIR
+ - popd
+
+matrix:
+ include:
+ - os: linux
+ env: _="Build"
+ script:
+ - ./build_tools.sh
+ - make -j2 compare
diff --git a/INSTALL.md b/INSTALL.md
index 75adc2ea1..faffb3888 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,4 +1,4 @@
-First, you must put a Pokémon Emerald (US) ROM in the root directory of the repository and name it `baserom.gba`. It should have a SHA1 checksum of `f3ae088181bf583e55daf962a92bb46f4f1d07b7`. Then, follow the OS-specific instructions below.
+Follow the OS-specific instructions below.
# Linux
diff --git a/Makefile b/Makefile
index 8a7777270..b9e2fb289 100644
--- a/Makefile
+++ b/Makefile
@@ -168,5 +168,3 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
$(ROM): $(ELF)
$(OBJCOPY) -O binary --gap-fill 0xFF --pad-to 0x9000000 $< $@
-baserom.gba: ;
- $(error baserom.gba is required to build)
diff --git a/README.md b/README.md
index 727f74abf..3ea6c26ef 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,14 @@
# Pokémon Emerald
+[![Build Status][travis-badge]][travis]
+
This is a disassembly of Pokémon Emerald.
It builds the following rom:
* pokeemerald.gba `sha1: f3ae088181bf583e55daf962a92bb46f4f1d07b7`
-To set up the repository, see [**INSTALL.md**](INSTALL.md).
+To set up the repository, see [INSTALL.md](INSTALL.md).
## See also
@@ -32,3 +34,5 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md).
[pokefirered]: https://github.com/pret/pokefirered
[Discord]: https://discord.gg/cJxDDVP
[irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret
+[travis]: https://travis-ci.org/pret/pokeemerald
+[travis-badge]: https://travis-ci.org/pret/pokeemerald.svg?branch=master
diff --git a/asm/battle_anim_80FE840.s b/asm/battle_anim_80FE840.s
index 884383591..031bf2128 100644
--- a/asm/battle_anim_80FE840.s
+++ b/asm/battle_anim_80FE840.s
@@ -18852,7 +18852,7 @@ _0810800C:
negs r0, r0
cmp r1, r0
bne _08108022
- bl remove_some_task
+ bl ScanlineEffect_Stop
adds r0, r7, 0
bl DestroyTask
_08108022:
diff --git a/asm/battle_frontier_1.s b/asm/battle_frontier_1.s
index 8e82de6c6..c2517586e 100644
--- a/asm/battle_frontier_1.s
+++ b/asm/battle_frontier_1.s
@@ -9449,7 +9449,7 @@ _08193AA8:
b _08193BC2
_08193ABA:
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
@@ -9494,7 +9494,7 @@ _08193B20:
cmp r6, 0
bne _08193BC2
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
@@ -9534,7 +9534,7 @@ _08193B84:
cmp r6, 0
bne _08193BC2
bl FreeAllWindowBuffers
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r4, =gUnknown_0203CD7C
ldr r0, [r4]
bl Free
diff --git a/asm/battle_records.s b/asm/battle_records.s
index c441adc74..bcf82dbb8 100644
--- a/asm/battle_records.s
+++ b/asm/battle_records.s
@@ -1034,7 +1034,7 @@ _0813C6FA:
thumb_func_start sub_813C80C
sub_813C80C: @ 813C80C
push {lr}
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl ResetPaletteFade
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
index 75e50f88d..2a87fbf18 100644
--- a/asm/berry_tag_screen.s
+++ b/asm/berry_tag_screen.s
@@ -119,7 +119,7 @@ _08177D18:
bl clear_scheduled_bg_copies_to_vram
b _08177DDC
_08177D26:
- bl remove_some_task
+ bl ScanlineEffect_Stop
b _08177DDC
_08177D2C:
bl ResetPaletteFade
diff --git a/asm/cable_car.s b/asm/cable_car.s
index 092e9a75e..6fd44dd9f 100644
--- a/asm/cable_car.s
+++ b/asm/cable_car.s
@@ -88,7 +88,7 @@ _0814FD20:
bl SetVBlankCallback
movs r0, 0
bl sub_8150B6C
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r3, 0xC0
lsls r3, 19
movs r4, 0xC0
diff --git a/asm/contest_painting.s b/asm/contest_painting.s
index 4e58b4cc3..8bb38eeed 100644
--- a/asm/contest_painting.s
+++ b/asm/contest_painting.s
@@ -107,7 +107,7 @@ _0812FE80:
.4byte _0812FF2A
.4byte _0812FF54
_0812FE94:
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0
bl SetVBlankCallback
bl AllocateMonSpritesGfx
diff --git a/asm/field_screen.s b/asm/field_screen.s
index fc6516b0c..6b49b9c7c 100644
--- a/asm/field_screen.s
+++ b/asm/field_screen.s
@@ -9621,7 +9621,7 @@ _080AFE64:
ldrsh r0, [r4, r3]
cmp r0, 0x1
bne _080AFEB4
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0x2
strh r0, [r4]
b _080AFEC6
@@ -9714,7 +9714,7 @@ _080AFF28:
ldrsh r0, [r4, r3]
cmp r0, 0x1
bne _080AFF78
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0x2
strh r0, [r4]
b _080AFF8A
diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s
index 20380e478..19a29d729 100644
--- a/asm/fldeff_cut.s
+++ b/asm/fldeff_cut.s
@@ -244,7 +244,7 @@ _080D38F8:
lsrs r4, r0, 16
movs r7, 0x1
movs r5, 0
- ldr r3, =gUnknown_0857C60A
+ ldr r3, =gUnknown_0857C608 + 2
adds r0, r2, r3
ldrb r0, [r0]
adds r6, 0x1
diff --git a/asm/fossil_specials.s b/asm/fossil_specials.s
index 6883743ec..7956f814a 100644
--- a/asm/fossil_specials.s
+++ b/asm/fossil_specials.s
@@ -657,7 +657,7 @@ _081BF0B4:
ldr r0, [r0]
ldr r1, [r0]
movs r5, 0
- ldr r2, =gUnknown_08617C44
+ ldr r2, =gRootFossil_Gfx
_081BF0BE:
adds r0, r5, r2
ldrb r0, [r0]
diff --git a/asm/intro.s b/asm/intro.s
index d9f6e558f..efc36e7d9 100644
--- a/asm/intro.s
+++ b/asm/intro.s
@@ -184,7 +184,7 @@ _0816CCF4:
movs r0, 0
movs r2, 0
bl load_copyright_graphics
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
diff --git a/asm/item_menu.s b/asm/item_menu.s
index db3d38668..1d79852fe 100644
--- a/asm/item_menu.s
+++ b/asm/item_menu.s
@@ -343,7 +343,7 @@ _081AAE34:
bl clear_scheduled_bg_copies_to_vram
b _081AB012
_081AAE3E:
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r1, =gMain
movs r2, 0x87
lsls r2, 3
diff --git a/asm/link.s b/asm/link.s
index 05dda2cb7..bb1904ae1 100644
--- a/asm/link.s
+++ b/asm/link.s
@@ -3360,7 +3360,7 @@ c2_800ACD4: @ 800AF30
movs r2, 0x2
bl FillPalette
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r1, =gLinkVSyncDisabled
ldrb r0, [r1]
cmp r0, 0
@@ -28637,7 +28637,7 @@ _08018482:
bl ResetSpriteData
bl FreeAllSpritePalettes
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_082F0598
@@ -32620,7 +32620,7 @@ sub_801A43C: @ 801A43C
bl ResetPaletteFade
bl ResetSpriteData
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl m4aSoundVSyncOn
ldr r0, =sub_801A418
bl SetVBlankCallback
@@ -45999,7 +45999,7 @@ _080210A0:
movs r0, 0
movs r1, 0
bl SetGpuReg
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl reset_temp_tile_data_buffers
b _080212FC
_080210BE:
@@ -61951,7 +61951,7 @@ sub_8028FF8: @ 8028FF8
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r1, [r0]
movs r2, 0x90
lsls r2, 1
@@ -61959,7 +61959,7 @@ sub_8028FF8: @ 8028FF8
movs r3, 0x1
bl LoadBgTiles
adds r0, r4, 0
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r0, [r0, 0x4]
movs r1, 0xA0
movs r2, 0x20
diff --git a/asm/macros/window.inc b/asm/macros/window.inc
index b7291138b..a91782bbf 100644
--- a/asm/macros/window.inc
+++ b/asm/macros/window.inc
@@ -8,7 +8,7 @@
.2byte \vram_tile_offset
.endm
- .macro window_template_terminator
+ .macro null_window_template
window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
.endm
diff --git a/asm/main_menu.s b/asm/main_menu.s
index 5b50c42de..9d6cba40f 100644
--- a/asm/main_menu.s
+++ b/asm/main_menu.s
@@ -127,7 +127,7 @@ InitMainMenu: @ 802F6F4
movs r1, 0xF0
movs r2, 0x20
bl LoadPalette
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
@@ -1487,7 +1487,7 @@ _08030460:
ldr r0, =gMain
ldr r1, =CB2_ReinitMainMenu
str r1, [r0, 0x8]
- ldr r0, =CB2_OptionsMenu
+ ldr r0, =CB2_InitOptionMenu
b _0803048A
.pool
_08030478:
@@ -1929,7 +1929,7 @@ task_new_game_prof_birch_speech_1: @ 80307B0
movs r1, 0x1
movs r2, 0x10
bl LoadPalette
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetSpriteData
bl FreeAllSpritePalettes
bl dp13_810BB8C
@@ -3708,7 +3708,7 @@ new_game_prof_birch_speech_part2_start: @ 8031678
strh r0, [r4, 0x16]
ldr r0, =0x0000ffc4
strh r0, [r4, 0x10]
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetSpriteData
bl FreeAllSpritePalettes
bl dp13_810BB8C
@@ -4783,7 +4783,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4
ldr r0, [r6]
ldrb r0, [r0, 0x14]
lsrs r0, 3
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r1, [r0]
movs r2, 0x90
lsls r2, 1
@@ -4793,7 +4793,7 @@ LoadMainMenuWindowFrameTiles: @ 80320A4
ldr r0, [r6]
ldrb r0, [r0, 0x14]
lsrs r0, 3
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r0, [r0, 0x4]
movs r1, 0x20
movs r2, 0x20
diff --git a/asm/map_name_popup.s b/asm/map_name_popup.s
index f10dff946..9802c3151 100644
--- a/asm/map_name_popup.s
+++ b/asm/map_name_popup.s
@@ -518,7 +518,7 @@ _080D4C0A:
lsls r1, r4, 4
subs r1, r4
lsls r1, 6
- ldr r2, =gUnknown_0857DD04
+ ldr r2, =gMapPopUp_Outline_Table
adds r1, r2
movs r2, 0x80
lsls r2, 3
@@ -541,7 +541,7 @@ _080D4C0A:
.pool
_080D4C6C:
lsls r0, r4, 5
- ldr r1, =gUnknown_0857F384
+ ldr r1, =gMapPopUp_Palette_Table
adds r0, r1
movs r1, 0xE0
movs r2, 0x20
@@ -550,7 +550,7 @@ _080D4C7A:
lsls r1, r4, 4
subs r1, r4
lsls r1, 6
- ldr r0, =gUnknown_0857C684
+ ldr r0, =gMapPopUp_Table
adds r1, r0
movs r0, 0x50
str r0, [sp]
diff --git a/asm/mon_markings.s b/asm/mon_markings.s
index 1624fddca..dfc375fdf 100644
--- a/asm/mon_markings.s
+++ b/asm/mon_markings.s
@@ -21,7 +21,7 @@ sub_811F918: @ 811F918
ldr r0, [r0]
ldrb r0, [r0, 0x14]
lsrs r0, 3
- bl sub_8098758
+ bl GetWindowFrameTilesPal
ldr r3, =gUnknown_0203A124
ldr r2, [r3]
ldr r1, [r0]
diff --git a/asm/option_menu.s b/asm/option_menu.s
index 1c554e26f..c3fc4d140 100644
--- a/asm/option_menu.s
+++ b/asm/option_menu.s
@@ -5,1690 +5,6 @@
.text
- thumb_func_start sub_80BA4B0
-sub_80BA4B0: @ 80BA4B0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80BA4B0
- thumb_func_start sub_80BA4C8
-sub_80BA4C8: @ 80BA4C8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80BA4C8
-
- thumb_func_start CB2_OptionsMenu
-CB2_OptionsMenu: @ 80BA4DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xB
- bhi _080BA538
- lsls r0, 2
- ldr r1, =_080BA508
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BA508:
- .4byte _080BA538
- .4byte _080BA54C
- .4byte _080BA69C
- .4byte _080BA6BC
- .4byte _080BA6E0
- .4byte _080BA718
- .4byte _080BA728
- .4byte _080BA740
- .4byte _080BA748
- .4byte _080BA760
- .4byte _080BA774
- .4byte _080BA80C
-_080BA538:
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA54C:
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r1, sp, 0x8
- mov r8, r1
- add r2, sp, 0x4
- movs r6, 0
- ldr r1, =0x040000d4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, =0x81000800
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080BA56A:
- strh r6, [r2]
- add r0, sp, 0x4
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080BA56A
- strh r6, [r2]
- add r2, sp, 0x4
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x8]
- ldr r2, =0x040000d4
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0
- movs r1, 0
- bl SetGpuReg
- movs r0, 0
- bl ResetBgsAndClearDma3BusyFlags
- ldr r1, =gUnknown_0855C698
- movs r0, 0
- movs r2, 0x2
- bl InitBgsFromTemplates
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- ldr r0, =gUnknown_0855C680
- bl InitWindows
- bl DeactivateAllTextPrinters
- movs r0, 0x40
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x44
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x48
- movs r1, 0x1
- bl SetGpuReg
- movs r0, 0x4A
- movs r1, 0x23
- bl SetGpuReg
- movs r0, 0x50
- movs r1, 0xC1
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x54
- movs r1, 0x4
- bl SetGpuReg
- movs r1, 0xC1
- lsls r1, 6
- movs r0, 0
- bl SetGpuReg
- movs r0, 0
- bl ShowBg
- movs r0, 0x1
- bl ShowBg
- b _080BA7EC
- .pool
-_080BA69C:
- bl ResetPaletteFade
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA6BC:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r3, 0xD1
- lsls r3, 1
- movs r0, 0x1
- bl LoadBgTiles
- b _080BA7EC
- .pool
-_080BA6E0:
- ldr r0, =gUnknown_0855C6A0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA718:
- ldr r0, =gUnknown_0855C604
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- b _080BA7EC
- .pool
-_080BA728:
- movs r0, 0
- bl PutWindowTilemap
- bl sub_80BB0D0
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA740:
- movs r0, 0x87
- lsls r0, 3
- adds r1, r2, r0
- b _080BA7F4
-_080BA748:
- movs r0, 0x1
- bl PutWindowTilemap
- bl sub_80BB104
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080BA760:
- bl sub_80BB154
- ldr r1, =gMain
- movs r0, 0x87
- lsls r0, 3
- adds r1, r0
- b _080BA7F4
- .pool
-_080BA774:
- ldr r0, =sub_80BA83C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldrb r0, [r2, 0x14]
- lsls r0, 29
- lsrs r0, 29
- strh r0, [r4, 0xA]
- ldrb r1, [r2, 0x15]
- lsls r1, 29
- lsrs r1, 31
- strh r1, [r4, 0xC]
- ldrb r1, [r2, 0x15]
- lsls r1, 30
- lsrs r1, 31
- strh r1, [r4, 0xE]
- ldrb r1, [r2, 0x15]
- lsls r1, 31
- lsrs r1, 31
- strh r1, [r4, 0x10]
- ldrb r1, [r2, 0x13]
- strh r1, [r4, 0x12]
- ldrb r1, [r2, 0x14]
- lsrs r1, 3
- strh r1, [r4, 0x14]
- bl sub_80BAC38
- ldrb r0, [r4, 0xC]
- bl sub_80BAD08
- ldrb r0, [r4, 0xE]
- bl sub_80BAD84
- ldrb r0, [r4, 0x10]
- bl sub_80BAE08
- ldrb r0, [r4, 0x12]
- bl sub_80BB028
- ldrb r0, [r4, 0x14]
- bl sub_80BAF0C
- ldrb r0, [r4, 0x8]
- bl sub_80BAB38
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
-_080BA7EC:
- ldr r1, =gMain
- movs r2, 0x87
- lsls r2, 3
- adds r1, r2
-_080BA7F4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080BA828
- .pool
-_080BA80C:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BA4C8
- bl SetVBlankCallback
- ldr r0, =sub_80BA4B0
- bl SetMainCallback2
-_080BA828:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end CB2_OptionsMenu
-
- thumb_func_start sub_80BA83C
-sub_80BA83C: @ 80BA83C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BA85C
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80BA86C
- str r0, [r1]
-_080BA85C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA83C
-
- thumb_func_start sub_80BA86C
-sub_80BA86C: @ 80BA86C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BA89C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- beq _080BA892
- b _080BAA5A
-_080BA892:
- b _080BA8AE
- .pool
-_080BA89C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BA8BC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
-_080BA8AE:
- ldr r0, =sub_80BAA64
- str r0, [r1]
- b _080BAA5A
- .pool
-_080BA8BC:
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _080BA8EC
- ldr r1, =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r5, [r3, 0x8]
- movs r6, 0x8
- ldrsh r0, [r3, r6]
- adds r7, r1, 0
- cmp r0, 0
- ble _080BA8E8
- subs r0, r5, 0x1
- b _080BA90C
- .pool
-_080BA8E8:
- movs r0, 0x6
- b _080BA90C
-_080BA8EC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BA924
- ldr r1, =gTasks
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r5, [r3, 0x8]
- movs r7, 0x8
- ldrsh r0, [r3, r7]
- adds r7, r1, 0
- cmp r0, 0x5
- bgt _080BA914
- adds r0, r5, 0x1
-_080BA90C:
- strh r0, [r3, 0x8]
- b _080BA916
- .pool
-_080BA914:
- strh r6, [r3, 0x8]
-_080BA916:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r7
- ldrb r0, [r0, 0x8]
- bl sub_80BAB38
- b _080BAA5A
-_080BA924:
- ldr r0, =gTasks
- lsls r2, r4, 2
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- adds r7, r0, 0
- cmp r1, 0x5
- bls _080BA93A
- b _080BAA5A
-_080BA93A:
- lsls r0, r1, 2
- ldr r1, =_080BA94C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080BA94C:
- .4byte _080BA964
- .4byte _080BA98A
- .4byte _080BA9B0
- .4byte _080BA9D6
- .4byte _080BA9FC
- .4byte _080BAA22
-_080BA964:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0xA]
- adds r0, r5, 0
- bl sub_80BABDC
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0xA]
- movs r6, 0xA
- ldrsh r0, [r4, r6]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAC38
- b _080BAA46
-_080BA98A:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0xC]
- adds r0, r5, 0
- bl sub_80BACE0
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0xC]
- movs r7, 0xC
- ldrsh r0, [r4, r7]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAD08
- b _080BAA46
-_080BA9B0:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0xE]
- adds r0, r5, 0
- bl sub_80BAD5C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAD84
- b _080BAA46
-_080BA9D6:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0x10]
- adds r0, r5, 0
- bl sub_80BADD8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0x10]
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAE08
- b _080BAA46
-_080BA9FC:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0x12]
- adds r0, r5, 0
- bl sub_80BAFCC
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0x12]
- movs r6, 0x12
- ldrsh r0, [r4, r6]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BB028
- b _080BAA46
-_080BAA22:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r5, [r4, 0x14]
- adds r0, r5, 0
- bl sub_80BAE5C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- strh r0, [r4, 0x14]
- movs r7, 0x14
- ldrsh r0, [r4, r7]
- cmp r5, r0
- beq _080BAA46
- adds r0, r1, 0
- bl sub_80BAF0C
-_080BAA46:
- ldr r1, =gUnknown_02039B48
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BAA5A
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- movs r1, 0x2
- bl CopyWindowToVram
-_080BAA5A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BA86C
-
- thumb_func_start sub_80BAA64
-sub_80BAA64: @ 80BAA64
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r6, =gSaveBlock2Ptr
- ldr r3, [r6]
- ldr r1, =gTasks
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0x7
- ldrb r1, [r4, 0xA]
- ands r1, r0
- ldrb r2, [r3, 0x14]
- movs r0, 0x8
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x14]
- ldr r3, [r6]
- movs r5, 0x1
- ldrb r1, [r4, 0xC]
- ands r1, r5
- lsls r1, 2
- ldrb r2, [r3, 0x15]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r3, [r6]
- ldrb r1, [r4, 0xE]
- ands r1, r5
- lsls r1, 1
- ldrb r2, [r3, 0x15]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r3, [r6]
- ldrb r1, [r4, 0x10]
- ands r1, r5
- ldrb r2, [r3, 0x15]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r1, [r6]
- ldrh r0, [r4, 0x12]
- movs r5, 0
- strb r0, [r1, 0x13]
- ldr r3, [r6]
- ldrb r1, [r4, 0x14]
- lsls r1, 3
- ldrb r2, [r3, 0x14]
- movs r0, 0x7
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x14]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, =sub_80BAB08
- str r0, [r4]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAA64
-
- thumb_func_start sub_80BAB08
-sub_80BAB08: @ 80BAB08
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BAB2C
- adds r0, r2, 0
- bl DestroyTask
- bl FreeAllWindowBuffers
- ldr r0, =gMain
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_080BAB2C:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAB08
-
- thumb_func_start sub_80BAB38
-sub_80BAB38: @ 80BAB38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x87
- lsls r1, 5
- movs r0, 0x40
- bl SetGpuReg
- lsls r4, 4
- adds r1, r4, 0
- adds r1, 0x28
- lsls r1, 8
- adds r4, 0x38
- orrs r1, r4
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x44
- bl SetGpuReg
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAB38
-
- thumb_func_start sub_80BAB68
-sub_80BAB68: @ 80BAB68
- push {r4-r6,lr}
- sub sp, 0x1C
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _080BABA0
-_080BAB84:
- mov r0, sp
- adds r0, r2
- adds r0, 0xC
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _080BABA0
- cmp r2, 0xE
- bls _080BAB84
-_080BABA0:
- cmp r3, 0
- beq _080BABAE
- add r1, sp, 0xC
- movs r0, 0x4
- strb r0, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x5]
-_080BABAE:
- mov r1, sp
- adds r1, r2
- adds r1, 0xC
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- add r2, sp, 0xC
- adds r3, r6, 0
- bl PrintTextOnWindow
- add sp, 0x1C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAB68
-
- thumb_func_start sub_80BABDC
-sub_80BABDC: @ 80BABDC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAC08
- cmp r3, 0x1
- bhi _080BAC00
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BAC02
- .pool
-_080BAC00:
- movs r3, 0
-_080BAC02:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAC08:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BAC2C
- cmp r3, 0
- beq _080BAC24
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BAC26
- .pool
-_080BAC24:
- movs r3, 0x2
-_080BAC26:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAC2C:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BABDC
-
- thumb_func_start sub_80BAC38
-sub_80BAC38: @ 80BAC38
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, =gText_TextSpeedSlow
- mov r0, sp
- ldrb r3, [r0]
- adds r0, r4, 0
- movs r1, 0x68
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- ldr r0, =gText_TextSpeedMid
- mov r8, r0
- movs r0, 0x1
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- ldr r6, =gText_TextSpeedFast
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- subs r5, 0x5E
- subs r4, r5
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r4, 0x68
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x2]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80BAB68
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAC38
-
- thumb_func_start sub_80BACE0
-sub_80BACE0: @ 80BACE0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080BACFA
- movs r1, 0x1
- eors r2, r1
- ldr r0, =gUnknown_02039B48
- strb r1, [r0]
-_080BACFA:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BACE0
-
- thumb_func_start sub_80BAD08
-sub_80BAD08: @ 80BAD08
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gText_BattleSceneOn
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x68
- movs r2, 0x10
- bl sub_80BAB68
- ldr r4, =gText_BattleSceneOff
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r2, 0x10
- bl sub_80BAB68
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAD08
-
- thumb_func_start sub_80BAD5C
-sub_80BAD5C: @ 80BAD5C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080BAD76
- movs r1, 0x1
- eors r2, r1
- ldr r0, =gUnknown_02039B48
- strb r1, [r0]
-_080BAD76:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BAD5C
-
- thumb_func_start sub_80BAD84
-sub_80BAD84: @ 80BAD84
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gText_BattleStyleShift
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x68
- movs r2, 0x20
- bl sub_80BAB68
- ldr r4, =gText_BattleStyleSet
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_80BAB68
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAD84
-
- thumb_func_start sub_80BADD8
-sub_80BADD8: @ 80BADD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080BADF8
- movs r4, 0x1
- eors r5, r4
- adds r0, r5, 0
- bl SetPokemonCryStereo
- ldr r0, =gUnknown_02039B48
- strb r4, [r0]
-_080BADF8:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BADD8
-
- thumb_func_start sub_80BAE08
-sub_80BAE08: @ 80BAE08
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, =gText_SoundMono
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x68
- movs r2, 0x30
- bl sub_80BAB68
- ldr r4, =gText_SoundStereo
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r2, 0x30
- bl sub_80BAB68
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BAE08
-
- thumb_func_start sub_80BAE5C
-sub_80BAE5C: @ 80BAE5C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAEAE
- cmp r4, 0x12
- bhi _080BAE80
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- b _080BAE82
- .pool
-_080BAE80:
- movs r4, 0
-_080BAE82:
- adds r0, r4, 0
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r3, 0xD1
- lsls r3, 1
- movs r0, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAEAE:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BAEFE
- cmp r4, 0
- beq _080BAED0
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- b _080BAED2
- .pool
-_080BAED0:
- movs r4, 0x13
-_080BAED2:
- adds r0, r4, 0
- bl sub_8098758
- ldr r1, [r0]
- movs r2, 0x90
- lsls r2, 1
- movs r3, 0xD1
- lsls r3, 1
- movs r0, 0x1
- bl LoadBgTiles
- adds r0, r4, 0
- bl sub_8098758
- ldr r0, [r0, 0x4]
- movs r1, 0x70
- movs r2, 0x20
- bl LoadPalette
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAEFE:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BAE5C
-
- thumb_func_start sub_80BAF0C
-sub_80BAF0C: @ 80BAF0C
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, =gText_FrameTypeNumber
- ldrb r0, [r1]
- ldr r7, =gText_FrameType
- cmp r0, 0xFF
- beq _080BAF44
- adds r2, r1, 0
-_080BAF28:
- mov r0, sp
- adds r1, r0, r5
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080BAF44
- cmp r5, 0x5
- bls _080BAF28
-_080BAF44:
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- lsls r0, r2, 24
- cmp r0, 0
- beq _080BAF80
- mov r0, sp
- adds r1, r0, r5
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, sp
- adds r4, r1, r5
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- b _080BAF9E
- .pool
-_080BAF80:
- mov r0, sp
- adds r4, r0, r5
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, sp
- adds r1, r0, r5
- movs r0, 0x77
- strb r0, [r1]
-_080BAF9E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, sp
- adds r1, r0, r5
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x68
- movs r2, 0x50
- movs r3, 0
- bl sub_80BAB68
- mov r0, sp
- movs r1, 0x80
- movs r2, 0x50
- movs r3, 0x1
- bl sub_80BAB68
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BAF0C
-
- thumb_func_start sub_80BAFCC
-sub_80BAFCC: @ 80BAFCC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, =gMain
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAFF8
- cmp r3, 0x1
- bhi _080BAFF0
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BAFF2
- .pool
-_080BAFF0:
- movs r3, 0
-_080BAFF2:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BAFF8:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BB01C
- cmp r3, 0
- beq _080BB014
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080BB016
- .pool
-_080BB014:
- movs r3, 0x2
-_080BB016:
- ldr r1, =gUnknown_02039B48
- movs r0, 0x1
- strb r0, [r1]
-_080BB01C:
- adds r0, r3, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80BAFCC
-
- thumb_func_start sub_80BB028
-sub_80BB028: @ 80BB028
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, =gText_ButtonTypeNormal
- mov r0, sp
- ldrb r3, [r0]
- adds r0, r4, 0
- movs r1, 0x68
- movs r2, 0x40
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0
- bl GetStringWidth
- adds r4, r0, 0
- ldr r0, =gText_ButtonTypeLR
- mov r8, r0
- movs r0, 0x1
- mov r1, r8
- movs r2, 0
- bl GetStringWidth
- adds r5, r0, 0
- ldr r6, =gText_ButtonTypeLEqualsA
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0
- bl GetStringWidth
- subs r5, 0x5E
- subs r4, r5
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r4, 0x68
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- ldrb r3, [r0, 0x1]
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0x40
- bl sub_80BAB68
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0xC6
- bl GetStringRightAlignXOffset
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r3, [r0, 0x2]
- adds r0, r6, 0
- movs r2, 0x40
- bl sub_80BAB68
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB028
-
- thumb_func_start sub_80BB0D0
-sub_80BB0D0: @ 80BB0D0
- push {lr}
- sub sp, 0xC
- movs r0, 0
- movs r1, 0x11
- bl FillWindowPixelBuffer
- ldr r2, =gText_Option
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0x1
- movs r3, 0x8
- bl PrintTextOnWindow
- movs r0, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB0D0
-
- thumb_func_start sub_80BB104
-sub_80BB104: @ 80BB104
- push {r4,r5,lr}
- sub sp, 0xC
- movs r0, 0x1
- movs r1, 0x11
- bl FillWindowPixelBuffer
- movs r4, 0
- ldr r5, =gUnknown_0855C664
-_080BB114:
- lsls r0, r4, 2
- adds r0, r5
- ldr r2, [r0]
- lsls r0, r4, 4
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- 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, 0x8
- bl PrintTextOnWindow
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080BB114
- movs r0, 0x1
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB104
-
- thumb_func_start sub_80BB154
-sub_80BB154: @ 80BB154
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0x7
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD1
- lsls r1, 1
- movs r2, 0x1
- movs r3, 0
- bl FillBgTilemapBufferRect
- movs r0, 0x1B
- mov r8, r0
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a3
- movs r2, 0x2
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD2
- lsls r1, 1
- movs r2, 0x1C
- movs r3, 0
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r6, 0x2
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a5
- movs r2, 0x1
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a7
- movs r2, 0x1C
- movs r3, 0x1
- bl FillBgTilemapBufferRect
- movs r7, 0xD4
- lsls r7, 1
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x3
- bl FillBgTilemapBufferRect
- ldr r0, =0x000001a9
- mov r10, r0
- mov r0, r8
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x2
- movs r3, 0x3
- bl FillBgTilemapBufferRect
- movs r0, 0xD5
- lsls r0, 1
- mov r9, r0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r9
- movs r2, 0x1C
- movs r3, 0x3
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD1
- lsls r1, 1
- movs r2, 0x1
- movs r3, 0x4
- bl FillBgTilemapBufferRect
- movs r0, 0x1A
- mov r8, r0
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a3
- movs r2, 0x2
- movs r3, 0x4
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0xD2
- lsls r1, 1
- movs r2, 0x1C
- movs r3, 0x4
- bl FillBgTilemapBufferRect
- str r4, [sp]
- movs r6, 0x12
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a5
- movs r2, 0x1
- movs r3, 0x5
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r6, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- ldr r1, =0x000001a7
- movs r2, 0x1C
- movs r3, 0x5
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- mov r0, r8
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r10
- movs r2, 0x2
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- mov r1, r9
- movs r2, 0x1C
- movs r3, 0x13
- bl FillBgTilemapBufferRect
- movs r0, 0x1
- bl CopyBgTilemapBufferToVram
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80BB154
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/overworld.s b/asm/overworld.s
index 61a9352e1..b66748808 100644
--- a/asm/overworld.s
+++ b/asm/overworld.s
@@ -4122,7 +4122,7 @@ sub_80867D8: @ 80867D8
movs r0, 0
movs r1, 0
bl SetGpuReg
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r2, =0x05000002
mov r1, sp
movs r0, 0
diff --git a/asm/party_menu.s b/asm/party_menu.s
index 844043a95..730e90932 100644
--- a/asm/party_menu.s
+++ b/asm/party_menu.s
@@ -107,7 +107,7 @@ _081B0290:
b _081B048C
.pool
_081B02AC:
- bl remove_some_task
+ bl ScanlineEffect_Stop
b _081B0484
_081B02B2:
bl ResetPaletteFade
@@ -10645,7 +10645,7 @@ party_menu_held_item_object: @ 81B5C14
bl GetMonData
cmp r0, 0
beq _081B5C3C
- ldr r0, =gUnknown_08615EC0
+ ldr r0, =gSpriteTemplate_8615EC0
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x2]
ldrb r2, [r2, 0x3]
@@ -10671,7 +10671,7 @@ party_menu_link_mon_held_item_object: @ 81B5C48
lsrs r5, r1, 16
cmp r0, 0
beq _081B5C84
- ldr r0, =gUnknown_08615EC0
+ ldr r0, =gSpriteTemplate_8615EC0
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x2]
ldrb r2, [r2, 0x3]
@@ -10896,7 +10896,7 @@ sub_81B5DF0: @ 81B5DF0
add r0, r8
adds r0, 0x43
ldrb r3, [r0]
- ldr r0, =gUnknown_08615EC0
+ ldr r0, =gSpriteTemplate_8615EC0
subs r3, 0x1
lsls r3, 24
lsrs r3, 24
@@ -10991,7 +10991,7 @@ party_menu_pokeball_object: @ 81B5ECC
bl GetMonData
cmp r0, 0
beq _081B5EEA
- ldr r0, =gUnknown_08615F08
+ ldr r0, =gSpriteTemplate_8615F08
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x6]
ldrb r2, [r2, 0x7]
@@ -11012,7 +11012,7 @@ party_menu_link_mon_pokeball_object: @ 81B5EF4
lsls r0, 16
cmp r0, 0
beq _081B5F24
- ldr r0, =gUnknown_08615F08
+ ldr r0, =gSpriteTemplate_8615F08
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x6]
ldrb r2, [r2, 0x7]
@@ -11046,7 +11046,7 @@ sub_81B5F34: @ 81B5F34
lsrs r3, 24
lsls r2, 24
lsrs r2, 24
- ldr r0, =gUnknown_08615F08
+ ldr r0, =gSpriteTemplate_8615F08
adds r1, r3, 0
movs r3, 0x8
bl CreateSprite
@@ -11078,7 +11078,7 @@ sub_81B5F74: @ 81B5F74
lsrs r3, 24
lsls r2, 24
lsrs r2, 24
- ldr r0, =gUnknown_08615F78
+ ldr r0, =gSpriteTemplate_8615F78
adds r1, r3, 0
movs r3, 0x8
bl CreateSprite
@@ -11194,7 +11194,7 @@ party_menu_status_condition_object: @ 81B6064
bl GetMonData
cmp r0, 0
beq _081B608C
- ldr r0, =gUnknown_08616008
+ ldr r0, =gSpriteTemplate_8616008
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x4]
ldrb r2, [r2, 0x5]
@@ -11220,7 +11220,7 @@ party_menu_link_mon_status_condition_object: @ 81B6098
lsrs r5, r1, 24
cmp r0, 0
beq _081B60D4
- ldr r0, =gUnknown_08616008
+ ldr r0, =gSpriteTemplate_8616008
ldr r2, [r4, 0x4]
ldrb r1, [r2, 0x4]
ldrb r2, [r2, 0x5]
diff --git a/asm/pokedex.s b/asm/pokedex.s
index 6ebeb0792..8da7d6df0 100644
--- a/asm/pokedex.s
+++ b/asm/pokedex.s
@@ -379,7 +379,7 @@ _080BB582:
b _080BB74C
.pool
_080BB5FC:
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl ResetPaletteFade
@@ -8940,7 +8940,7 @@ _080C0250:
b _080C028E
.pool
_080C028C:
- ldr r0, =gUnknown_0856E688
+ ldr r0, =sText_TenDashes2
_080C028E:
movs r1, 0x84
movs r2, 0x19
diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s
index 51f322e1e..0030b33d2 100644
--- a/asm/pokemon_summary_screen.s
+++ b/asm/pokemon_summary_screen.s
@@ -2239,7 +2239,7 @@ _081C50E4:
bl clear_scheduled_bg_copies_to_vram
b _081C51A2
_081C50EE:
- bl remove_some_task
+ bl ScanlineEffect_Stop
b _081C51A2
_081C50F4:
bl FreeAllSpritePalettes
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 32d053222..b9cb53492 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -7095,7 +7095,7 @@ titlescreen_0: @ 81CA92C
movs r0, 0x44
movs r1, 0xA0
bl SetGpuRegBits
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl sub_81CAA3C
ldr r2, =gUnknown_08620384
ldr r0, [r2]
@@ -7122,7 +7122,7 @@ sub_81CA994: @ 81CA994
lsls r1, 6
movs r0, 0
bl ClearGpuRegBits
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r0, =sub_81CA9EC
bl FindTaskIdByFunc
lsls r0, 24
diff --git a/asm/rayquaza_scene.s b/asm/rayquaza_scene.s
index ab04d8660..f60b2a252 100644
--- a/asm/rayquaza_scene.s
+++ b/asm/rayquaza_scene.s
@@ -45,7 +45,7 @@ sub_81D6774: @ 81D6774
push {lr}
bl SetVBlankHBlankCallbacksToNull
bl clear_scheduled_bg_copies_to_vram
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl FreeAllSpritePalettes
bl ResetPaletteFade
bl ResetSpriteData
@@ -1522,7 +1522,7 @@ _081D73D8:
adds r0, r2
ldrh r1, [r4, 0x6]
strh r1, [r0, 0xE]
- bl remove_some_task
+ bl ScanlineEffect_Stop
_081D7428:
ldrh r0, [r4]
adds r0, 0x1
@@ -1774,7 +1774,7 @@ sub_81D7600: @ 81D7600
bl ChangeBgY
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetSpriteData
bl FreeAllSpritePalettes
strh r4, [r5]
diff --git a/asm/reset_rtc_screen.s b/asm/reset_rtc_screen.s
index 1f5ef83d8..ab5e0840c 100644
--- a/asm/reset_rtc_screen.s
+++ b/asm/reset_rtc_screen.s
@@ -887,7 +887,7 @@ _0809EFCA:
movs r1, 0x80
bl ResetOamRange
bl LoadOam
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl dp12_8087EA4
bl ResetSpriteData
bl ResetTasks
diff --git a/asm/roulette.s b/asm/roulette.s
index 9d9e39feb..3568c1911 100644
--- a/asm/roulette.s
+++ b/asm/roulette.s
@@ -423,7 +423,7 @@ _081405F4:
_08140618:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
bl ResetVramOamAndBgCntRegs
bl ResetAllBgsCoordinates
diff --git a/asm/shop.s b/asm/shop.s
index ccbf458c9..4ecab08ca 100644
--- a/asm/shop.s
+++ b/asm/shop.s
@@ -448,7 +448,7 @@ _080DFE20:
ldr r2, =0x01000100
add r0, sp, 0x8
bl CpuFastSet
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl reset_temp_tile_data_buffers
bl FreeAllSpritePalettes
bl ResetPaletteFade
diff --git a/asm/start_menu.s b/asm/start_menu.s
index 6182c3c27..e8f9c3090 100644
--- a/asm/start_menu.s
+++ b/asm/start_menu.s
@@ -653,7 +653,7 @@ _0809FD38:
bl play_some_sound
bl RemoveExtraStartMenuWindows
bl overworld_free_bg_tilemaps
- ldr r0, =CB2_OptionsMenu
+ ldr r0, =CB2_InitOptionMenu
bl SetMainCallback2
ldr r1, =gMain
ldr r0, =sub_8086194
@@ -1510,7 +1510,7 @@ _080A0418:
bl SetGpuReg
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
movs r2, 0xA0
lsls r2, 19
mov r1, sp
diff --git a/asm/title_screen.s b/asm/title_screen.s
index b5286d049..54c1b5353 100644
--- a/asm/title_screen.s
+++ b/asm/title_screen.s
@@ -614,7 +614,7 @@ _080AA8C4:
ldr r0, =gUnknown_08DDE458
ldr r1, =0x0600d800
bl LZ77UnCompVram
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl ResetTasks
bl ResetSpriteData
bl FreeAllSpritePalettes
diff --git a/asm/trade.s b/asm/trade.s
index bfca20a70..cfc5307d3 100644
--- a/asm/trade.s
+++ b/asm/trade.s
@@ -826,7 +826,7 @@ _080778CA:
adds r4, 0x10
_080778DE:
add r1, sp, 0x10
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -863,7 +863,7 @@ _080778DE:
adds r4, 0x88
_0807792C:
add r1, sp, 0x10
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -889,7 +889,7 @@ _0807792C:
b _08077B22
.pool
_08077970:
- ldr r4, =gUnknown_0832DCAC
+ ldr r4, =gSpriteTemplate_832DCAC
add r1, sp, 0x10
adds r0, r4, 0
ldm r0!, {r2,r3,r7}
@@ -927,7 +927,7 @@ _08077970:
lsls r5, 13
_080779BC:
add r1, sp, 0x10
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -948,7 +948,7 @@ _080779BC:
adds r6, 0x1
cmp r6, 0x5
ble _080779BC
- ldr r0, =gUnknown_0832DC94
+ ldr r0, =gSpriteTemplate_832DC94
ldr r2, =gUnknown_0832DE24
ldrb r1, [r2]
lsls r1, 19
@@ -1450,7 +1450,7 @@ _08077EA0:
adds r4, 0x10
_08077EB4:
add r1, sp, 0xC
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -1487,7 +1487,7 @@ _08077EB4:
adds r4, 0x88
_08077F02:
add r1, sp, 0xC
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -1513,7 +1513,7 @@ _08077F02:
b _080780D8
.pool
_08077F48:
- ldr r4, =gUnknown_0832DCAC
+ ldr r4, =gSpriteTemplate_832DCAC
add r1, sp, 0xC
adds r0, r4, 0
ldm r0!, {r2,r3,r7}
@@ -1551,7 +1551,7 @@ _08077F48:
lsls r5, 13
_08077F94:
add r1, sp, 0xC
- ldr r0, =gUnknown_0832DCAC
+ ldr r0, =gSpriteTemplate_832DCAC
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
@@ -1590,7 +1590,7 @@ _08077FE4:
adds r0, 0x6
_08077FEA:
strb r0, [r2]
- ldr r0, =gUnknown_0832DC94
+ ldr r0, =gSpriteTemplate_832DC94
ldr r3, =gUnknown_0832DE24
ldr r1, [r4]
adds r1, 0x35
@@ -1931,7 +1931,7 @@ _080782D4:
movs r2, 0
movs r3, 0
bl CopyToBgTilemapBufferRect_ChangePalette
- ldr r1, =gUnknown_0832CABC
+ ldr r1, =gTradeStripesBG2Tilemap
movs r2, 0x80
lsls r2, 4
movs r0, 0x2
@@ -1940,7 +1940,7 @@ _080782D4:
b _0807837E
.pool
_08078324:
- ldr r1, =gUnknown_0832D2BC
+ ldr r1, =gTradeStripesBG3Tilemap
movs r2, 0x80
lsls r2, 4
movs r0, 0x3
@@ -2394,7 +2394,7 @@ _08078726:
mov r2, sp
bl GetMonData
mov r0, sp
- ldr r1, =gUnknown_0832DF94
+ ldr r1, =gJPText_Shedinja
bl StringCompareWithoutExtCtrlCodes
cmp r0, 0
bne _08078766
@@ -2444,7 +2444,7 @@ _080787AC:
thumb_func_start sub_80787B8
sub_80787B8: @ 80787B8
push {lr}
- ldr r0, =gUnknown_0832DAE5
+ ldr r0, =gText_IsThisTradeOkay
ldr r1, =gUnknown_0203229C
ldr r1, [r1]
adds r1, 0x72
@@ -4438,7 +4438,7 @@ _08079772:
lsls r0, 2
add r0, r8
bl sub_80A6DEC
- ldr r1, =gUnknown_0832C8BE
+ ldr r1, =gTradePartyBoxTilemap
ldr r0, [sp, 0x64]
subs r2, r0, r7
lsls r2, 24
@@ -4491,7 +4491,7 @@ _080798AC:
b _08079A24
.pool
_080798BC:
- ldr r1, =gUnknown_0832C6C0
+ ldr r1, =gTradeMovesBoxTilemap
ldr r0, [sp, 0x60]
lsls r2, r0, 4
subs r2, r0
@@ -4769,7 +4769,7 @@ _08079AFE:
lsrs r4, r0, 16
cmp r4, 0x3
bls _08079ADE
- ldr r1, =gUnknown_0832DABC
+ ldr r1, =gText_EmptyString7
adds r0, r6, 0
bl StringCopy
movs r4, 0
@@ -4789,7 +4789,7 @@ _08079B20:
bl StringAppend
_08079B3C:
adds r0, r6, 0
- ldr r1, =gUnknown_0832DAD2
+ ldr r1, =gText_NewLine3
bl StringAppend
adds r0, r4, 0x1
lsls r0, 16
@@ -4799,10 +4799,10 @@ _08079B3C:
b _08079B6C
.pool
_08079B5C:
- ldr r1, =gUnknown_0832DABC
+ ldr r1, =gText_EmptyString7
adds r0, r6, 0
bl StringCopy
- ldr r1, =gUnknown_0832DADF
+ ldr r1, =gText_FourQuestionMarks
adds r0, r6, 0
bl StringAppend
_08079B6C:
@@ -5326,7 +5326,7 @@ sub_8079F88: @ 8079F88
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
- ldr r1, =gUnknown_0832C8BE
+ ldr r1, =gTradePartyBoxTilemap
lsls r2, r4, 4
subs r2, r4
lsls r2, 24
@@ -5698,7 +5698,7 @@ _0807A2B8:
mov r0, sp
b _0807A2D6
_0807A2BC:
- ldr r0, =gUnknown_0832DCE4
+ ldr r0, =gSpritePalette_TradeScreenText
bl LoadSpritePalette
b _0807A2DA
.pool
@@ -8571,7 +8571,7 @@ _0807BB68:
lsls r4, r0, 4
subs r4, r0
lsls r4, 2
- ldr r0, =gUnknown_08338ED0
+ ldr r0, =gIngameTrades
adds r4, r0
ldr r0, =gStringVar1
adds r1, r4, 0
@@ -9098,7 +9098,7 @@ _0807C1DC:
beq _0807C1FC
bl _0807CFB4
_0807C1FC:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r1, 0x78
movs r2, 0x20
movs r3, 0
@@ -9228,7 +9228,7 @@ _0807C318:
bl _0807CFB4
_0807C328:
bl sub_807AB28
- ldr r0, =gUnknown_08338E74
+ ldr r0, =gSpriteTemplate_8338E74
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -9296,7 +9296,7 @@ _0807C3B0:
beq _0807C3C4
bl _0807CFB4
_0807C3C4:
- ldr r0, =gUnknown_08338DFC
+ ldr r0, =gSpriteTemplate_8338DFC
movs r1, 0x80
movs r2, 0x41
movs r3, 0
@@ -9316,7 +9316,7 @@ _0807C3E0:
ldr r1, [r4]
adds r1, 0x90
strb r0, [r1]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x80
movs r2, 0x50
movs r3, 0
@@ -9455,7 +9455,7 @@ _0807C528:
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
- ldr r5, =gUnknown_08338DC8
+ ldr r5, =gSpriteTemplate_8338DC8
adds r0, r5, 0
movs r1, 0x6F
movs r2, 0xAA
@@ -9604,7 +9604,7 @@ _0807C66C:
adds r1, r4, 0
adds r1, 0x10
adds r0, r1
- ldr r1, =gUnknown_08338ECC
+ ldr r1, =gSpriteAffineAnimTable_8338ECC
str r1, [r0]
ldrb r1, [r2]
lsls r0, r1, 4
@@ -9915,7 +9915,7 @@ _0807C8FA:
ldr r1, [r7]
adds r1, 0x90
strb r0, [r1]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x80
adds r2, r4, 0
movs r3, 0
@@ -10091,7 +10091,7 @@ _0807CA86:
bne _0807CA92
b _0807CFB4
_0807CA92:
- ldr r0, =gUnknown_08338DFC
+ ldr r0, =gSpriteTemplate_8338DFC
movs r1, 0x80
movs r2, 0x41
movs r3, 0
@@ -10113,7 +10113,7 @@ _0807CA92:
b _0807CFB4
.pool
_0807CAC8:
- ldr r0, =gUnknown_08338E74
+ ldr r0, =gSpriteTemplate_8338E74
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -10255,7 +10255,7 @@ _0807CBEC:
b _0807CF48
.pool
_0807CBF4:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r2, 0x8
negs r2, r2
movs r1, 0x78
@@ -11160,7 +11160,7 @@ _0807D5B8:
beq _0807D5D8
bl _0807E400
_0807D5D8:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r1, 0x78
movs r2, 0x20
movs r3, 0
@@ -11290,7 +11290,7 @@ _0807D6F4:
_0807D704:
movs r0, 0x3
bl sub_807B62C
- ldr r0, =gUnknown_08338E8C
+ ldr r0, =gSpriteTemplate_8338E8C
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -11386,7 +11386,7 @@ _0807D7C4:
adds r0, r1
ldr r1, =sub_807AA4C
str r1, [r0]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -11524,7 +11524,7 @@ _0807D924:
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
- ldr r5, =gUnknown_08338DC8
+ ldr r5, =gSpriteTemplate_8338DC8
adds r0, r5, 0
movs r1, 0x6F
movs r2, 0xAA
@@ -11678,7 +11678,7 @@ _0807DA74:
adds r1, r4, 0
adds r1, 0x10
adds r0, r1
- ldr r1, =gUnknown_08338ECC
+ ldr r1, =gSpriteAffineAnimTable_8338ECC
str r1, [r0]
ldrb r1, [r2]
lsls r0, r1, 4
@@ -12008,7 +12008,7 @@ _0807DD02:
adds r0, r1
ldr r1, =sub_807AA4C
str r1, [r0]
- ldr r0, =gUnknown_08338DC8
+ ldr r0, =gSpriteTemplate_8338DC8
movs r1, 0x78
adds r2, r4, 0
movs r3, 0
@@ -12218,7 +12218,7 @@ _0807DF12:
strh r6, [r5]
b _0807E398
_0807DF16:
- ldr r0, =gUnknown_08338E74
+ ldr r0, =gSpriteTemplate_8338E74
movs r1, 0x78
movs r2, 0x50
movs r3, 0
@@ -12360,7 +12360,7 @@ _0807E038:
b _0807E394
.pool
_0807E040:
- ldr r0, =gUnknown_08338D28
+ ldr r0, =gSpriteTemplate_8338D28
movs r2, 0x8
negs r2, r2
movs r1, 0x78
@@ -13184,7 +13184,7 @@ sub_807E73C: @ 807E73C
lsls r4, r0, 4
subs r4, r0
lsls r4, 2
- ldr r0, =gUnknown_08338ED0
+ ldr r0, =gIngameTrades
adds r4, r0
ldr r0, =gStringVar1
ldrh r1, [r4, 0x38]
@@ -13214,7 +13214,7 @@ sub_807E784: @ 807E784
lsls r4, r0, 4
subs r4, r0
lsls r4, 2
- ldr r0, =gUnknown_08338ED0
+ ldr r0, =gIngameTrades
adds r4, r0
ldr r0, =gSpecialVar_0x8005
ldrh r1, [r0]
@@ -13253,7 +13253,7 @@ sub_807E7E8: @ 807E7E8
lsls r2, r1, 4
subs r2, r1
lsls r2, 2
- ldr r1, =gUnknown_08338ED0
+ ldr r1, =gIngameTrades
adds r5, r2, r1
movs r1, 0x64
muls r0, r1
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index ab1b199e7..709e3e8f3 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -1556,7 +1556,7 @@ sub_80C3404: @ 80C3404
sub_80C3414: @ 80C3414
push {lr}
bl ResetTasks
- bl remove_some_task
+ bl ScanlineEffect_Stop
ldr r0, =sub_80C2760
movs r1, 0
bl CreateTask
@@ -3976,7 +3976,7 @@ sub_80C4998: @ 80C4998
bl HideBg
movs r0, 0x3
bl HideBg
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl dp12_8087EA4
movs r1, 0
ldr r0, =gUnknown_02038C28
@@ -5310,7 +5310,7 @@ _080C54AC:
_080C54D8:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
movs r0, 0x2
bl DisableInterrupts
@@ -5594,7 +5594,7 @@ _080C577C:
bl HideBg
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
b _080C57E4
_080C57A6:
@@ -7189,7 +7189,7 @@ _080C64F0:
_080C6510:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
b _080C6694
_080C6520:
@@ -7400,7 +7400,7 @@ _080C66FC:
_080C6722:
movs r0, 0
bl SetVBlankCallback
- bl remove_some_task
+ bl ScanlineEffect_Stop
bl SetVBlankHBlankCallbacksToNull
b _080C67A4
_080C6732:
diff --git a/asm/unknown_task.s b/asm/unknown_task.s
index f6b96287e..a8672ac8f 100644
--- a/asm/unknown_task.s
+++ b/asm/unknown_task.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start remove_some_task
-remove_some_task: @ 80B9FB8
+ thumb_func_start ScanlineEffect_Stop
+ScanlineEffect_Stop: @ 80B9FB8
push {r4,lr}
ldr r4, =gUnknown_02039B28
movs r0, 0
@@ -32,7 +32,7 @@ _080B9FE2:
pop {r0}
bx r0
.pool
- thumb_func_end remove_some_task
+ thumb_func_end ScanlineEffect_Stop
thumb_func_start dp12_8087EA4
dp12_8087EA4: @ 80B9FF8
diff --git a/build_tools.sh b/build_tools.sh
index f4656e2d8..824ed025b 100755
--- a/build_tools.sh
+++ b/build_tools.sh
@@ -1,8 +1,8 @@
#!/bin/sh
-make -C tools/gbagfx CXX=${1:=g++}
-make -C tools/scaninc CXX=${1:=g++}
-make -C tools/preproc CXX=${1:=g++}
-make -C tools/bin2c CXX=${1:=g++}
-make -C tools/rsfont CXX=${1:=g++}
-make -C tools/aif2pcm CXX=${1:=g++}
-make -C tools/ramscrgen CXX=${1:=g++}
+make -C tools/gbagfx CXX=${1:-g++}
+make -C tools/scaninc CXX=${1:-g++}
+make -C tools/preproc CXX=${1:-g++}
+make -C tools/bin2c CXX=${1:-g++}
+make -C tools/rsfont CXX=${1:-g++}
+make -C tools/aif2pcm CXX=${1:-g++}
+make -C tools/ramscrgen CXX=${1:-g++}
diff --git a/data/battle_frontier_1.s b/data/battle_frontier_1.s
index 177d8adfc..34e8df6d2 100644
--- a/data/battle_frontier_1.s
+++ b/data/battle_frontier_1.s
@@ -243,7 +243,7 @@ gUnknown_0860CE94:: @ 860CE94
window_template 0x00, 0x00, 0x03, 0x08, 0x10, 0x0f, 0x0010
window_template 0x00, 0x16, 0x03, 0x08, 0x10, 0x0f, 0x0090
window_template 0x00, 0x08, 0x01, 0x0e, 0x02, 0x0f, 0x0110
- window_template_terminator
+ null_window_template
.align 2
gUnknown_0860CEB4:: @ 860CEB4
diff --git a/data/battle_frontier_2.s b/data/battle_frontier_2.s
index bfb99f97d..8fc2939c6 100644
--- a/data/battle_frontier_2.s
+++ b/data/battle_frontier_2.s
@@ -108,7 +108,7 @@ gUnknown_08610434:: @ 8610434
window_template 0x00, 0x16, 0x0e, 0x08, 0x06, 0x0f, 0x006b
window_template 0x00, 0x16, 0x0e, 0x08, 0x04, 0x0f, 0x009b
window_template 0x00, 0x0f, 0x00, 0x0f, 0x02, 0x0f, 0x00bb
- window_template_terminator
+ null_window_template
.align 1
gUnknown_0861046C:: @ 861046C
@@ -345,7 +345,7 @@ gUnknown_086108C8:: @ 86108C8
window_template 0x02, 0x0a, 0x02, 0x04, 0x02, 0x0e, 0x00c1
window_template 0x00, 0x13, 0x02, 0x0b, 0x02, 0x0f, 0x00c9
window_template 0x00, 0x0f, 0x00, 0x0f, 0x02, 0x0f, 0x00df
- window_template_terminator
+ null_window_template
gUnknown_08610918:: @ 8610918
.byte 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x1f, 0x00
@@ -373,7 +373,166 @@ gUnknown_08610948:: @ 8610948
.align 2 @ struct, eight bytes x6 for names in different languages, then 0x28 more bytes of data
gUnknown_08610970:: @ 8610970
- .incbin "baserom.gba", 0x610970, 0x580
+ .string "サダヒロ$", 8
+ .string "ALANN$", 8
+ .string "ALAIN$", 8
+ .string "ADELFO$", 8
+ .string "CLAUS$", 8
+ .string "TEO$", 8
+ .byte 0xC9, 0xBD
+ .2byte 0x43
+ .2byte SPECIES_BEAUTIFLY, SPECIES_DUSTOX, SPECIES_ILLUMISE, SPECIES_SHIFTRY, SPECIES_BRELOOM, SPECIES_NINJASK, SPECIES_SHEDINJA, SPECIES_PINSIR, SPECIES_HERACROSS, SPECIES_VOLBEAT, 0
+ .byte 0x1D, 8, 0x3e, 20, 0, 12, 1, 10, 0x30, 6, 0x44, 20, 0, 0
+ .string "ヒロオ$", 8
+ .string "LIONEL$", 8
+ .string "LIONEL$", 8
+ .string "CAIO$", 8
+ .string "LUDWIG$", 8
+ .string "LEO$", 8
+ .byte 0x9, 0xCF
+ .2byte 0x2B
+ .2byte SPECIES_SWELLOW, SPECIES_SWALOT, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_TORKOAL, SPECIES_HARIYAMA, SPECIES_MIGHTYENA, SPECIES_LUDICOLO, SPECIES_CRAWDAUNT, SPECIES_WHISCASH, 1
+ .byte 0x38, 12, 1, 10, 0x30, 6, 6, 10, 0x20, 0x10, 0x13, 0x22, 0, 0
+ .string "ケイジ$", 8
+ .string "SONNY$", 8
+ .string "HERVE$", 8
+ .string "FEDRO$", 8
+ .string "WENZEL$", 8
+ .string "SANTI$", 8
+ .byte 0x34, 0x2E
+ .2byte 0x26
+ .2byte SPECIES_LINOONE, SPECIES_MIGHTYENA, SPECIES_WHISCASH, SPECIES_ZANGOOSE, SPECIES_SEVIPER, SPECIES_NINETALES, SPECIES_KECLEON, SPECIES_SHUCKLE, SPECIES_MANECTRIC, SPECIES_MACHAMP, 2
+ .byte 1, 10, 10, 0x16, 0x15, 14, 0x30, 6, 0x3b, 12, 0x4, 12, 0, 0
+ .string "ユラ$", 8
+ .string "LAYLA$", 8
+ .string "LAYLA$", 8
+ .string "ASTRID$", 8
+ .string "SONJA$", 8
+ .string "LOLA$", 8
+ .byte 0xEF, 0x84
+ .2byte 0x47
+ .2byte SPECIES_SWALOT, SPECIES_XATU, SPECIES_ALTARIA, SPECIES_GOLDUCK, SPECIES_FLYGON, SPECIES_ALAKAZAM, SPECIES_GARDEVOIR, SPECIES_WAILORD, SPECIES_GRUMPIG, SPECIES_MIGHTYENA, 3
+ .byte 11, 16, 15, 0x1e, 0x39, 16, 0x21, 0x14, 0x3, 12, 0xff, 0xff, 0, 0
+ .string "ヨウカ$", 8
+ .string "MACY$", 8
+ .string "AMELIE$", 8
+ .string "CLEO$", 8
+ .string "MARIA$", 8
+ .string "ELISA$", 8
+ .byte 0x43, 0x1E
+ .2byte 0x27
+ .2byte SPECIES_WIGGLYTUFF, SPECIES_LINOONE, SPECIES_KINGDRA, SPECIES_DELCATTY, SPECIES_RAICHU, SPECIES_FEAROW, SPECIES_STARMIE, SPECIES_MEDICHAM, SPECIES_SHIFTRY, SPECIES_BEAUTIFLY, 4
+ .byte 15, 0x1e, 0x14, 16, 6, 16, 15, 0x28, 0x1c, 0x1c, 0x13, 0x1c, 0, 0
+ .string "ヤスシ$", 8
+ .string "DONTE$", 8
+ .string "BRAHIM$", 8
+ .string "GLAUCO$", 8
+ .string "JOSEF$", 8
+ .string "ROQUE$", 8
+ .byte 0x9F, 0x37
+ .2byte 0x30
+ .2byte SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_AGGRON, SPECIES_MAGNETON, SPECIES_MACHAMP, SPECIES_ARMALDO, SPECIES_HERACROSS, SPECIES_NOSEPASS, SPECIES_EXPLOUD, SPECIES_MIGHTYENA, 5
+ .byte 0x29, 0x0A, 0x08, 0x14, 0x2F, 0x10, 0x38, 0x16, 0x20, 0x08, 0x00, 0x0C, 0x00, 0
+ .string "ミサオ$", 8
+ .string "AMIRA$", 8
+ .string "LAURE$", 8
+ .string "DAFNE$", 8
+ .string "AMELIE$", 8
+ .string "LARA$", 8
+ .byte 0x55, 0xF5
+ .2byte 0x31
+ .2byte SPECIES_STARMIE, SPECIES_DODRIO, SPECIES_MAGNETON, SPECIES_MEDICHAM, SPECIES_MIGHTYENA, SPECIES_GLALIE, SPECIES_GOLEM, SPECIES_ELECTRODE, SPECIES_PELIPPER, SPECIES_SHARPEDO, 6
+ .byte 0x0B, 0x0C, 0x3E, 0x12, 0x00, 0x0C, 0x31, 0x0A, 0x30, 0x14, 0x00, 0x0C, 0x00, 0x00
+ .string "カズサ$", 8
+ .string "KALI$", 8
+ .string "JODIE$", 8
+ .string "ILENIA$", 8
+ .string "KARO$", 8
+ .string "ELSA$", 8
+ .byte 0x26, 0x8D
+ .2byte 0x14
+ .2byte SPECIES_NINETALES, SPECIES_ALAKAZAM, SPECIES_SCEPTILE, SPECIES_SALAMENCE, SPECIES_GOLDUCK, SPECIES_MAWILE, SPECIES_WEEZING, SPECIES_LANTURN, SPECIES_GARDEVOIR, SPECIES_MILOTIC, 7
+ .byte 0x06, 0x0A, 0x20, 0x06, 0x1F, 0x0A, 0x02, 0x0A, 0x03, 0x0C, 0xFF, 0xFF, 0x00, 0x00
+ .string "スミレ$", 8
+ .string "ANNIE$", 8
+ .string "ANNIE$", 8
+ .string "IMELDA$", 8
+ .string "INES$", 8
+ .string "ROSA$", 8
+ .byte 0xC, 0x80
+ .2byte 0xD
+ .2byte SPECIES_SCEPTILE, SPECIES_VILEPLUME, SPECIES_BELLOSSOM, SPECIES_ROSELIA, SPECIES_CORSOLA, SPECIES_FLYGON, SPECIES_BRELOOM, SPECIES_MILOTIC, SPECIES_ALTARIA, SPECIES_CRADILY, 8
+ .byte 0x22, 0x1E, 0x33, 0x04, 0x0E, 0x02, 0x02, 0x0A, 0x1E, 0x10, 0x00, 0x0C, 0x00, 0x00
+ .string "アキノリ$", 8
+ .string "DILLEN$", 8
+ .string "RENE$", 8
+ .string "INDRO$", 8
+ .string "DETLEF$", 8
+ .string "PEDRO$", 8
+ .byte 0x9f, 0x46
+ .2byte 0
+ .2byte SPECIES_SKARMORY, SPECIES_GOLEM, SPECIES_BLAZIKEN, SPECIES_CAMERUPT, SPECIES_DONPHAN, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_TROPIUS, SPECIES_SOLROCK, SPECIES_RHYDON, 9
+ .byte 0x3D, 0x0A, 0x11, 0x10, 0x1E, 0x0E, 0x1C, 0x20, 0x04, 0x0C, 0xFF, 0xFF, 0x00, 0x00
+ .string "トウゾウ$", 8
+ .string "DALLAS$", 8
+ .string "BRUNO$", 8
+ .string "LEARCO$", 8
+ .string "ANSGAR$", 8
+ .string "MANOLO$", 8
+ .byte 0xFC, 0x71
+ .2byte 0x2D
+ .2byte SPECIES_SEAKING, SPECIES_STARMIE, SPECIES_GOLDUCK, SPECIES_TENTACRUEL, SPECIES_OCTILLERY, SPECIES_GOREBYSS, SPECIES_GLALIE, SPECIES_WAILORD, SPECIES_SHARPEDO, SPECIES_KINGDRA, 10
+ .byte 0x05, 0x0A, 0x06, 0x06, 0x0E, 0x16, 0x14, 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0x00, 0x00
+ .string "セイヤ$", 8
+ .string "FRANK$", 8
+ .string "FRANK$", 8
+ .string "OLINDO$", 8
+ .string "FRANK$", 8
+ .string "MAURO$", 8
+ .byte 0x9E, 0xA3
+ .2byte 0x3A
+ .2byte SPECIES_QUAGSIRE, SPECIES_STARMIE, SPECIES_PELIPPER, SPECIES_CRAWDAUNT, SPECIES_WAILORD, SPECIES_GYARADOS, SPECIES_SWAMPERT, SPECIES_LANTURN, SPECIES_WHISCASH, SPECIES_SHUCKLE, 11
+ .byte 0x0E, 0x28, 0x3D, 0x10, 0x0F, 0x24, 0x14, 0x0A, 0x23, 0x1E, 0x24, 0x10, 0x00, 0x00
+ .string "リュウジ$", 8
+ .string "LAMONT$", 8
+ .string "XAV$", 8
+ .string "ORFEO$", 8
+ .string "J{0xf3}RGEN$", 8 @accent?
+ .string "JORGE$", 8
+ .byte 0x90, 0xE5
+ .2byte 0x19
+ .2byte SPECIES_ABSOL, SPECIES_CROBAT, SPECIES_EXPLOUD, SPECIES_MAGNETON, SPECIES_SHARPEDO, SPECIES_MANECTRIC, SPECIES_METAGROSS, SPECIES_ELECTRODE, SPECIES_NOSEPASS, SPECIES_WEEZING, 12
+ .byte 0x20, 0x10, 0x2E, 0x06, 0x0B, 0x10, 0x22, 0x1E, 0x0F, 0x1E, 0x0B, 0x10, 0x00, 0x00
+ .string "カツアキ$", 8
+ .string "TYRESE$", 8
+ .string "ANDY$", 8
+ .string "PARIDE$", 8
+ .string "DAVID$", 8
+ .string "CHICHO$", 8
+ .byte 0x18, 0xD0
+ .2byte 10
+ .2byte SPECIES_BLAZIKEN, SPECIES_GOLEM, SPECIES_MACHAMP, SPECIES_RHYDON, SPECIES_HARIYAMA, SPECIES_AGGRON, SPECIES_MEDICHAM, SPECIES_ZANGOOSE, SPECIES_VIGOROTH, SPECIES_SLAKING, 13
+ .byte 0x29, 0x0A, 0x3A, 0x06, 0x15, 0x0E, 0x35, 0x14, 0x34, 0x10, 0x1E, 0x06, 0x00, 0x00
+ .string "トシミツ$", 8
+ .string "DANTE$", 8
+ .string "DANTE$", 8
+ .string "RAOUL$", 8
+ .string "LOTHAR$", 8
+ .string "PABLO$", 8
+ .byte 0x75, 0xBC
+ .2byte 14
+ .2byte SPECIES_SCEPTILE, SPECIES_SANDSLASH, SPECIES_FLYGON, SPECIES_CLAYDOL, SPECIES_ARMALDO, SPECIES_CROBAT, SPECIES_CRADILY, SPECIES_SOLROCK, SPECIES_LUNATONE, SPECIES_GOLEM, 14
+ .byte 0x01, 0x0A, 0x17, 0x10, 0x43, 0x12, 0x22, 0x1E, 0x0B, 0x10, 0x0F, 0x28, 0x00, 0x00
+ .string "ローウェン$", 8
+ .string "ARTURO$", 8
+ .string "ARTURO$", 8
+ .string "ROMOLO$", 8
+ .string "BRIAN$", 8
+ .string "ARTURO$", 8
+ .byte 0x2, 0xFA
+ .2byte 0x20
+ .2byte SPECIES_ABSOL, SPECIES_MIGHTYENA, SPECIES_ALAKAZAM, SPECIES_BANETTE, SPECIES_NINETALES, SPECIES_CLAYDOL, SPECIES_MUK, SPECIES_SALAMENCE, SPECIES_WALREIN, SPECIES_DUSCLOPS, 15
+ .byte 0x0F, 0x1E, 0x04, 0x14, 0x2F, 0x10, 0x06, 0x10, 0x20, 0x10, 0x03, 0x0E, 0x00, 0x00
.align 2
gUnknown_08610EF0:: @ 8610EF0
diff --git a/data/battle_records.s b/data/battle_records.s
index 22c487e4c..86dc9d8b9 100644
--- a/data/battle_records.s
+++ b/data/battle_records.s
@@ -23,7 +23,7 @@ gUnknown_085B3D64:: @ 85B3D64
.align 2
gUnknown_085B3D6C:: @ 85B3D6C
window_template 0x00, 0x02, 0x01, 0x1a, 0x12, 0x0f, 0x0014
- window_template_terminator
+ null_window_template
.align 2
gUnknown_085B3D7C:: @ 85B3D7C
diff --git a/data/berry_tag_screen.s b/data/berry_tag_screen.s
index 01a44bb14..13078e8e5 100644
--- a/data/berry_tag_screen.s
+++ b/data/berry_tag_screen.s
@@ -23,7 +23,7 @@ gUnknown_085EFD28:: @ 85EFD28
window_template 0x01, 0x0b, 0x07, 0x12, 0x04, 0x0f, 0x0055
window_template 0x01, 0x04, 0x0e, 0x19, 0x04, 0x0f, 0x009d
window_template 0x00, 0x02, 0x00, 0x08, 0x02, 0x0f, 0x0101
- window_template_terminator
+ null_window_template
.align 2
gBerryFirmnessStringPointers:: @ 85EFD50
diff --git a/data/contest.s b/data/contest.s
index 0db64b13a..69820f980 100644
--- a/data/contest.s
+++ b/data/contest.s
@@ -1,5 +1,7 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
+ .include "constants/species_constants.inc"
+ .include "include/constants/moves.h"
.section .rodata
.align 2, 0
@@ -295,15 +297,63 @@ gUnknown_08587F44:: @ 8587F44
window_template 0x00, 0x01, 0x25, 0x09, 0x02, 0x0f, 0x02da
window_template 0x00, 0x10, 0x1f, 0x01, 0x02, 0x0f, 0x02ec
window_template 0x00, 0x0b, 0x23, 0x12, 0x04, 0x0f, 0x02ee
- window_template_terminator
+ null_window_template
.align 2
gUnknown_08587FA4:: @ 8587FA4
- .incbin "baserom.gba", 0x587fa4, 0x100
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_ELECTRIKE
+ .byte 2
+ .string "ELECTER$", 11
+ .string "EZRA$", 8
+ .2byte 0
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_TROPIUS
+ .byte 0
+ .string "TROPO$", 11
+ .string "ALLAN$", 8
+ .2byte 2
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_XATU
+ .byte 1
+ .string "TUXA$", 11
+ .string "JULIET$", 8
+ .2byte 0
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_PLUSLE
+ .byte 4
+ .string "PULSE$", 11
+ .string "BAILY$", 8
+ .2byte 3
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_SHUPPET
+ .byte 3
+ .string "SHUPUP$", 11
+ .string "MELANY$", 8
+ .2byte 1
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_ZANGOOSE
+ .byte 0
+ .string "GOOZAN$", 11
+ .string "HANA$", 8
+ .2byte 2
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_LOUDRED
+ .byte 1
+ .string "LOUDED$", 11
+ .string "BRYANT$", 8
+ .2byte 2
+ .4byte NULL, 0xFFFF
+ .2byte SPECIES_DELCATTY
+ .byte 2
+ .string "KITSY$", 11
+ .string "OMAR$", 8
+ .2byte 3
+
.align 2
gUnknown_085880A4:: @ 85880A4
- .incbin "baserom.gba", 0x5880a4, 0x1800
+ .include "data/contest_opponents.inc"
gUnknown_085898A4:: @ 85898A4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
diff --git a/data/contest_link_80F57C4.s b/data/contest_link_80F57C4.s
index 6bf51d174..a434eee28 100644
--- a/data/contest_link_80F57C4.s
+++ b/data/contest_link_80F57C4.s
@@ -68,7 +68,7 @@ gUnknown_0858D898:: @ 858D898
window_template 0x01, 0x07, 0x07, 0x0c, 0x02, 0x0f, 0x031a
window_template 0x01, 0x07, 0x0a, 0x0c, 0x02, 0x0f, 0x0332
window_template 0x01, 0x07, 0x0d, 0x0c, 0x02, 0x0f, 0x034a
- window_template_terminator
+ null_window_template
.align 2
gUnknown_0858D8C0:: @ 858D8C0
diff --git a/data/contest_opponents.inc b/data/contest_opponents.inc
new file mode 100644
index 000000000..d8ccfbb5b
--- /dev/null
+++ b/data/contest_opponents.inc
@@ -0,0 +1,2114 @@
+@todo: cleanup
+ .2byte SPECIES_POOCHYENA
+ .string "POOCHY$ "
+ .string "JIMMY$ "
+ .byte 7
+ .2byte 0
+ .4byte 0xc000fff
+ .2byte 68
+ .2byte 46
+ .2byte 44
+ .2byte 36
+ .2byte 336
+ .byte 10
+ .byte 4
+ .byte 10
+ .byte 3
+ .byte 4
+ .byte 50
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ILLUMISE
+ .string "MUSILLE$ "
+ .string "EDITH$ "
+ .byte 8
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 16
+ .2byte 156
+ .2byte 263
+ .2byte 33
+ .2byte 343
+ .byte 10
+ .byte 10
+ .byte 6
+ .byte 1
+ .byte 2
+ .byte 60
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DUSTOX
+ .string "DUSTER$ "
+ .string "EVAN$ "
+ .byte 11
+ .2byte 0
+ .4byte 0x21000fff
+ .2byte 8
+ .2byte 318
+ .2byte 236
+ .2byte 113
+ .2byte 16
+ .byte 2
+ .byte 10
+ .byte 10
+ .byte 12
+ .byte 4
+ .byte 70
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SEEDOT
+ .string "DOTS$ "
+ .string "KELSEY$ "
+ .byte 16
+ .2byte 0
+ .4byte 0x20800fff
+ .2byte 96
+ .2byte 117
+ .2byte 235
+ .2byte 331
+ .2byte 74
+ .byte 3
+ .byte 3
+ .byte 5
+ .byte 2
+ .byte 7
+ .byte 80
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_TAILLOW
+ .string "TATAY$ "
+ .string "MADISON$"
+ .byte 18
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 4
+ .2byte 17
+ .2byte 97
+ .2byte 332
+ .2byte 45
+ .byte 1
+ .byte 3
+ .byte 3
+ .byte 5
+ .byte 4
+ .byte 90
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_NINCADA
+ .string "NINDA$ "
+ .string "RAYMOND$"
+ .byte 44
+ .2byte 0
+ .4byte 0x10200fff
+ .2byte 32
+ .2byte 141
+ .2byte 206
+ .2byte 154
+ .2byte 170
+ .byte 5
+ .byte 2
+ .byte 10
+ .byte 7
+ .byte 8
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SHROOMISH
+ .string "SMISH$ "
+ .string "GRANT$ "
+ .byte 35
+ .2byte 0
+ .4byte 0x20100fff
+ .2byte 32
+ .2byte 78
+ .2byte 73
+ .2byte 72
+ .2byte 213
+ .byte 3
+ .byte 3
+ .byte 10
+ .byte 2
+ .byte 2
+ .byte 50
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SPHEAL
+ .string "SLEAL$ "
+ .string "PAIGE$ "
+ .byte 26
+ .2byte 0
+ .4byte 0x8080fff
+ .2byte 24
+ .2byte 62
+ .2byte 55
+ .2byte 45
+ .2byte 317
+ .byte 3
+ .byte 5
+ .byte 1
+ .byte 10
+ .byte 10
+ .byte 60
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SLAKOTH
+ .string "SLOKTH$ "
+ .string "ALEC$ "
+ .byte 31
+ .2byte 0
+ .4byte 0x40040fff
+ .2byte 88
+ .2byte 70
+ .2byte 68
+ .2byte 281
+ .2byte 227
+ .byte 10
+ .byte 4
+ .byte 4
+ .byte 5
+ .byte 18
+ .byte 70
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_WHISMUR
+ .string "WHIRIS$ "
+ .string "SYDNEY$ "
+ .byte 47
+ .2byte 0
+ .4byte 0x80020fff
+ .2byte 36
+ .2byte 310
+ .2byte 103
+ .2byte 253
+ .2byte 304
+ .byte 2
+ .byte 2
+ .byte 7
+ .byte 2
+ .byte 7
+ .byte 80
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MAKUHITA
+ .string "MAHITA$ "
+ .string "MORRIS$ "
+ .byte 38
+ .2byte 0
+ .4byte 0x8010fff
+ .2byte 68
+ .2byte 69
+ .2byte 233
+ .2byte 33
+ .2byte 179
+ .byte 9
+ .byte 1
+ .byte 1
+ .byte 8
+ .byte 1
+ .byte 90
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ARON
+ .string "RONAR$ "
+ .string "MARIAH$ "
+ .byte 10
+ .2byte 0
+ .4byte 0x8008fff
+ .2byte 68
+ .2byte 232
+ .2byte 334
+ .2byte 29
+ .2byte 36
+ .byte 5
+ .byte 10
+ .byte 2
+ .byte 10
+ .byte 2
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_CROBAT
+ .string "BATRO$ "
+ .string "RUSSELL$"
+ .byte 33
+ .2byte 0
+ .4byte 0x90004fff
+ .2byte 56
+ .2byte 114
+ .2byte 212
+ .2byte 109
+ .2byte 141
+ .byte 4
+ .byte 2
+ .byte 2
+ .byte 2
+ .byte 10
+ .byte 50
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_GULPIN
+ .string "GULIN$ "
+ .string "MELANIE$"
+ .byte 6
+ .2byte 0
+ .4byte 0x40002fff
+ .2byte 16
+ .2byte 124
+ .2byte 133
+ .2byte 92
+ .2byte 281
+ .byte 1
+ .byte 10
+ .byte 1
+ .byte 10
+ .byte 5
+ .byte 60
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MANECTRIC
+ .string "RIKELEC$ "
+ .string "CHANCE$ "
+ .byte 15
+ .2byte 0
+ .4byte 0x80001fff
+ .2byte 12
+ .2byte 209
+ .2byte 86
+ .2byte 87
+ .2byte 46
+ .byte 20
+ .byte 10
+ .byte 1
+ .byte 1
+ .byte 1
+ .byte 70
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BULBASAUR
+ .string "BULBY$ "
+ .string "AGATHA$ "
+ .byte 20
+ .2byte 0
+ .4byte 0xc000fff
+ .2byte 48
+ .2byte 45
+ .2byte 73
+ .2byte 33
+ .2byte 230
+ .byte 5
+ .byte 3
+ .byte 10
+ .byte 10
+ .byte 4
+ .byte 50
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BUTTERFREE
+ .string "FUTTERBE$ "
+ .string "BEAU$ "
+ .byte 40
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 40
+ .2byte 48
+ .2byte 18
+ .2byte 318
+ .2byte 219
+ .byte 3
+ .byte 10
+ .byte 2
+ .byte 10
+ .byte 4
+ .byte 60
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_PIDGEOTTO
+ .string "PIDEOT$ "
+ .string "KAY$ "
+ .byte 34
+ .2byte 0
+ .4byte 0x21000fff
+ .2byte 12
+ .2byte 119
+ .2byte 98
+ .2byte 332
+ .2byte 297
+ .byte 10
+ .byte 8
+ .byte 4
+ .byte 2
+ .byte 3
+ .byte 70
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DIGLETT
+ .string "DIGLE$ "
+ .string "CALE$ "
+ .byte 55
+ .2byte 0
+ .4byte 0x20800fff
+ .2byte 96
+ .2byte 91
+ .2byte 89
+ .2byte 90
+ .2byte 222
+ .byte 4
+ .byte 2
+ .byte 3
+ .byte 5
+ .byte 10
+ .byte 80
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_POLIWAG
+ .string "WAGIL$ "
+ .string "CAITLIN$"
+ .byte 53
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 72
+ .2byte 56
+ .2byte 240
+ .2byte 34
+ .2byte 58
+ .byte 2
+ .byte 10
+ .byte 5
+ .byte 3
+ .byte 10
+ .byte 90
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_TOTODILE
+ .string "TOTDIL$ "
+ .string "COLBY$ "
+ .byte 5
+ .2byte 0
+ .4byte 0x10200fff
+ .2byte 12
+ .2byte 99
+ .2byte 103
+ .2byte 57
+ .2byte 59
+ .byte 6
+ .byte 10
+ .byte 2
+ .byte 1
+ .byte 5
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LEDYBA
+ .string "BALEDY$ "
+ .string "KYLIE$ "
+ .byte 45
+ .2byte 0
+ .4byte 0x20100fff
+ .2byte 20
+ .2byte 226
+ .2byte 97
+ .2byte 129
+ .2byte 213
+ .byte 8
+ .byte 6
+ .byte 8
+ .byte 6
+ .byte 2
+ .byte 90
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DELIBIRD
+ .string "BIRDLY$ "
+ .string "LIAM$ "
+ .byte 66
+ .2byte 0
+ .4byte 0x8080fff
+ .2byte 112
+ .2byte 217
+ .2byte 263
+ .2byte 264
+ .2byte 216
+ .byte 4
+ .byte 3
+ .byte 10
+ .byte 5
+ .byte 3
+ .byte 80
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LARVITAR
+ .string "TARVITAR$ "
+ .string "MILO$ "
+ .byte 39
+ .2byte 0
+ .4byte 0x40040fff
+ .2byte 64
+ .2byte 37
+ .2byte 259
+ .2byte 242
+ .2byte 91
+ .byte 8
+ .byte 5
+ .byte 5
+ .byte 8
+ .byte 10
+ .byte 70
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ROSELIA
+ .string "RELIA$ "
+ .string "KARINA$ "
+ .byte 32
+ .2byte 0
+ .4byte 0x24000fff
+ .2byte 41
+ .2byte 80
+ .2byte 345
+ .2byte 320
+ .2byte 275
+ .byte 50
+ .byte 15
+ .byte 75
+ .byte 10
+ .byte 20
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DODRIO
+ .string "DUODO$ "
+ .string "BOBBY$ "
+ .byte 51
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 125
+ .2byte 64
+ .2byte 31
+ .2byte 216
+ .2byte 45
+ .byte 15
+ .byte 21
+ .byte 15
+ .byte 85
+ .byte 35
+ .byte 110
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_TRAPINCH
+ .string "PINCHIN$ "
+ .string "CLAIRE$ "
+ .byte 8
+ .2byte 0
+ .4byte 0x81000fff
+ .2byte 113
+ .2byte 44
+ .2byte 28
+ .2byte 91
+ .2byte 185
+ .byte 75
+ .byte 25
+ .byte 25
+ .byte 10
+ .byte 25
+ .byte 120
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_CACNEA
+ .string "NACAC$ "
+ .string "WILLIE$ "
+ .byte 11
+ .2byte 0
+ .4byte 0x80800fff
+ .2byte 37
+ .2byte 191
+ .2byte 43
+ .2byte 40
+ .2byte 28
+ .byte 10
+ .byte 30
+ .byte 25
+ .byte 65
+ .byte 25
+ .byte 130
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SANDSLASH
+ .string "SHRAND$ "
+ .string "CASSIDY$"
+ .byte 18
+ .2byte 0
+ .4byte 0x10400fff
+ .2byte 69
+ .2byte 163
+ .2byte 111
+ .2byte 129
+ .2byte 154
+ .byte 30
+ .byte 90
+ .byte 30
+ .byte 10
+ .byte 100
+ .byte 140
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BALTOY
+ .string "TOYBAL$ "
+ .string "MORGAN$ "
+ .byte 44
+ .2byte 0
+ .4byte 0x8200fff
+ .2byte 41
+ .2byte 120
+ .2byte 317
+ .2byte 60
+ .2byte 93
+ .byte 50
+ .byte 40
+ .byte 10
+ .byte 35
+ .byte 35
+ .byte 150
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MEDICHAM
+ .string "CHAMCHAM$ "
+ .string "SUMMER$ "
+ .byte 26
+ .2byte 0
+ .4byte 0x10100fff
+ .2byte 77
+ .2byte 179
+ .2byte 9
+ .2byte 7
+ .2byte 8
+ .byte 40
+ .byte 20
+ .byte 40
+ .byte 40
+ .byte 40
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SPINDA
+ .string "SPININ$ "
+ .string "MILES$ "
+ .byte 31
+ .2byte 0
+ .4byte 0x80080fff
+ .2byte 49
+ .2byte 298
+ .2byte 244
+ .2byte 95
+ .2byte 253
+ .byte 25
+ .byte 75
+ .byte 25
+ .byte 10
+ .byte 25
+ .byte 110
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SWABLU
+ .string "SWABY$ "
+ .string "AUDREY$ "
+ .byte 47
+ .2byte 0
+ .4byte 0xa0040fff
+ .2byte 41
+ .2byte 119
+ .2byte 195
+ .2byte 219
+ .2byte 54
+ .byte 30
+ .byte 30
+ .byte 40
+ .byte 30
+ .byte 25
+ .byte 120
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SPOINK
+ .string "POINKER$ "
+ .string "AVERY$ "
+ .byte 38
+ .2byte 0
+ .4byte 0x80020fff
+ .2byte 49
+ .2byte 150
+ .2byte 109
+ .2byte 173
+ .2byte 156
+ .byte 40
+ .byte 10
+ .byte 30
+ .byte 40
+ .byte 30
+ .byte 130
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_KECLEON
+ .string "KECON$ "
+ .string "ARIANA$ "
+ .byte 10
+ .2byte 0
+ .4byte 0x80010fff
+ .2byte 97
+ .2byte 168
+ .2byte 103
+ .2byte 246
+ .2byte 20
+ .byte 10
+ .byte 10
+ .byte 40
+ .byte 75
+ .byte 35
+ .byte 140
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_GOLDEEN
+ .string "GOLDEN$ "
+ .string "ASHTON$ "
+ .byte 33
+ .2byte 0
+ .4byte 0x80008fff
+ .2byte 13
+ .2byte 30
+ .2byte 31
+ .2byte 32
+ .2byte 39
+ .byte 70
+ .byte 30
+ .byte 5
+ .byte 30
+ .byte 25
+ .byte 150
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BARBOACH
+ .string "BOBOACH$ "
+ .string "SANDRA$ "
+ .byte 6
+ .2byte 0
+ .4byte 0x80004fff
+ .2byte 113
+ .2byte 300
+ .2byte 346
+ .2byte 89
+ .2byte 248
+ .byte 45
+ .byte 45
+ .byte 60
+ .byte 25
+ .byte 15
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SKARMORY
+ .string "CORPY$ "
+ .string "CARSON$ "
+ .byte 35
+ .2byte 0
+ .4byte 0x8002fff
+ .2byte 77
+ .2byte 129
+ .2byte 104
+ .2byte 97
+ .2byte 15
+ .byte 40
+ .byte 30
+ .byte 25
+ .byte 60
+ .byte 20
+ .byte 110
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LOTAD
+ .string "TADO$ "
+ .string "KATRINA$"
+ .byte 16
+ .2byte 0
+ .4byte 0x8001fff
+ .2byte 57
+ .2byte 310
+ .2byte 45
+ .2byte 240
+ .2byte 352
+ .byte 15
+ .byte 15
+ .byte 30
+ .byte 15
+ .byte 75
+ .byte 120
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SLOWBRO
+ .string "BROWLO$ "
+ .string "LUKE$ "
+ .byte 17
+ .2byte 0
+ .4byte 0xc000fff
+ .2byte 49
+ .2byte 281
+ .2byte 50
+ .2byte 45
+ .2byte 93
+ .byte 20
+ .byte 40
+ .byte 40
+ .byte 30
+ .byte 20
+ .byte 100
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_FARFETCH_D
+ .string "FETCHIN$ "
+ .string "RAUL$ "
+ .byte 66
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 21
+ .2byte 263
+ .2byte 210
+ .2byte 19
+ .2byte 216
+ .byte 40
+ .byte 10
+ .byte 40
+ .byte 20
+ .byte 20
+ .byte 110
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SEEL
+ .string "SEELEY$ "
+ .string "JADA$ "
+ .byte 20
+ .2byte 0
+ .4byte 0x21000fff
+ .2byte 25
+ .2byte 213
+ .2byte 58
+ .2byte 219
+ .2byte 45
+ .byte 10
+ .byte 30
+ .byte 40
+ .byte 20
+ .byte 20
+ .byte 120
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DROWZEE
+ .string "DROWZIN$ "
+ .string "ZEEK$ "
+ .byte 37
+ .2byte 0
+ .4byte 0x20800fff
+ .2byte 121
+ .2byte 50
+ .2byte 248
+ .2byte 237
+ .2byte 216
+ .byte 10
+ .byte 40
+ .byte 50
+ .byte 30
+ .byte 45
+ .byte 130
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_HITMONCHAN
+ .string "HITEMON$ "
+ .string "DIEGO$ "
+ .byte 21
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 69
+ .2byte 327
+ .2byte 197
+ .2byte 279
+ .2byte 5
+ .byte 45
+ .byte 20
+ .byte 10
+ .byte 20
+ .byte 45
+ .byte 140
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BLISSEY
+ .string "BLISS$ "
+ .string "ALIYAH$ "
+ .byte 85
+ .2byte 0
+ .4byte 0x10200fff
+ .2byte 89
+ .2byte 47
+ .2byte 135
+ .2byte 121
+ .2byte 38
+ .byte 20
+ .byte 35
+ .byte 40
+ .byte 20
+ .byte 20
+ .byte 150
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ELEKID
+ .string "KIDLEK$ "
+ .string "NATALIA$"
+ .byte 18
+ .2byte 0
+ .4byte 0x20100fff
+ .2byte 21
+ .2byte 351
+ .2byte 98
+ .2byte 103
+ .2byte 213
+ .byte 40
+ .byte 10
+ .byte 40
+ .byte 25
+ .byte 25
+ .byte 140
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SNUBBULL
+ .string "SNUBBINS$ "
+ .string "DEVIN$ "
+ .byte 48
+ .2byte 0
+ .4byte 0x8080fff
+ .2byte 81
+ .2byte 184
+ .2byte 269
+ .2byte 39
+ .2byte 44
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 20
+ .byte 130
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MISDREAVUS
+ .string "DREAVIS$ "
+ .string "TYLOR$ "
+ .byte 40
+ .2byte 0
+ .4byte 0x40040fff
+ .2byte 41
+ .2byte 195
+ .2byte 212
+ .2byte 109
+ .2byte 220
+ .byte 10
+ .byte 35
+ .byte 10
+ .byte 45
+ .byte 20
+ .byte 120
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LAIRON
+ .string "LAIRN$ "
+ .string "RONNIE$ "
+ .byte 55
+ .2byte 0
+ .4byte 0x84000fff
+ .2byte 98
+ .2byte 319
+ .2byte 232
+ .2byte 106
+ .2byte 36
+ .byte 30
+ .byte 50
+ .byte 35
+ .byte 100
+ .byte 90
+ .byte 200
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SHIFTRY
+ .string "SHIFTY$ "
+ .string "CLAUDIA$"
+ .byte 8
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 14
+ .2byte 74
+ .2byte 13
+ .2byte 153
+ .2byte 326
+ .byte 75
+ .byte 75
+ .byte 65
+ .byte 35
+ .byte 70
+ .byte 210
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_NINJASK
+ .string "NINAS$ "
+ .string "ELIAS$ "
+ .byte 11
+ .2byte 0
+ .4byte 0x81000fff
+ .2byte 114
+ .2byte 103
+ .2byte 154
+ .2byte 28
+ .2byte 226
+ .byte 30
+ .byte 50
+ .byte 95
+ .byte 70
+ .byte 70
+ .byte 220
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SWELLOW
+ .string "WELOW$ "
+ .string "JADE$ "
+ .byte 18
+ .2byte 0
+ .4byte 0x80800fff
+ .2byte 14
+ .2byte 97
+ .2byte 332
+ .2byte 17
+ .2byte 19
+ .byte 65
+ .byte 85
+ .byte 35
+ .byte 75
+ .byte 40
+ .byte 230
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MIGHTYENA
+ .string "YENA$ "
+ .string "FRANCIS$"
+ .byte 44
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 98
+ .2byte 269
+ .2byte 168
+ .2byte 316
+ .2byte 36
+ .byte 40
+ .byte 80
+ .byte 35
+ .byte 70
+ .byte 70
+ .byte 240
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BEAUTIFLY
+ .string "TIFLY$ "
+ .string "ALISHA$ "
+ .byte 26
+ .2byte 0
+ .4byte 0x80200fff
+ .2byte 42
+ .2byte 234
+ .2byte 318
+ .2byte 78
+ .2byte 290
+ .byte 40
+ .byte 70
+ .byte 25
+ .byte 80
+ .byte 100
+ .byte 250
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SEAKING
+ .string "KINGSEA$ "
+ .string "SAUL$ "
+ .byte 31
+ .2byte 0
+ .4byte 0x80100fff
+ .2byte 118
+ .2byte 175
+ .2byte 48
+ .2byte 30
+ .2byte 31
+ .byte 80
+ .byte 60
+ .byte 30
+ .byte 70
+ .byte 90
+ .byte 200
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_CASTFORM
+ .string "CASTER$ "
+ .string "FELICIA$"
+ .byte 47
+ .2byte 0
+ .4byte 0x80080fff
+ .2byte 126
+ .2byte 241
+ .2byte 311
+ .2byte 201
+ .2byte 216
+ .byte 70
+ .byte 80
+ .byte 80
+ .byte 50
+ .byte 65
+ .byte 210
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MACHOKE
+ .string "CHOKEM$ "
+ .string "EMILIO$ "
+ .byte 38
+ .2byte 0
+ .4byte 0x80040fff
+ .2byte 70
+ .2byte 69
+ .2byte 116
+ .2byte 2
+ .2byte 184
+ .byte 70
+ .byte 85
+ .byte 25
+ .byte 60
+ .byte 50
+ .byte 220
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LOMBRE
+ .string "LOMBE$ "
+ .string "KARLA$ "
+ .byte 10
+ .2byte 0
+ .4byte 0x80020fff
+ .2byte 58
+ .2byte 213
+ .2byte 148
+ .2byte 253
+ .2byte 45
+ .byte 40
+ .byte 60
+ .byte 90
+ .byte 45
+ .byte 70
+ .byte 230
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SEVIPER
+ .string "VIPES$ "
+ .string "DARRYL$ "
+ .byte 33
+ .2byte 0
+ .4byte 0x80010fff
+ .2byte 98
+ .2byte 305
+ .2byte 137
+ .2byte 35
+ .2byte 103
+ .byte 35
+ .byte 50
+ .byte 90
+ .byte 40
+ .byte 100
+ .byte 240
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_WAILMER
+ .string "MERAIL$ "
+ .string "SELENA$ "
+ .byte 22
+ .2byte 0
+ .4byte 0x80008fff
+ .2byte 26
+ .2byte 352
+ .2byte 156
+ .2byte 323
+ .2byte 150
+ .byte 30
+ .byte 100
+ .byte 100
+ .byte 50
+ .byte 30
+ .byte 250
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MAGIKARP
+ .string "KARPAG$ "
+ .string "NOEL$ "
+ .byte 35
+ .2byte 0
+ .4byte 0x80004fff
+ .2byte 82
+ .2byte 33
+ .2byte 150
+ .2byte 175
+ .2byte 33
+ .byte 30
+ .byte 30
+ .byte 160
+ .byte 50
+ .byte 160
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LUNATONE
+ .string "LUNONE$ "
+ .string "LACEY$ "
+ .byte 16
+ .2byte 0
+ .4byte 0x80002fff
+ .2byte 42
+ .2byte 153
+ .2byte 248
+ .2byte 94
+ .2byte 93
+ .byte 50
+ .byte 70
+ .byte 60
+ .byte 70
+ .byte 50
+ .byte 210
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ABSOL
+ .string "ABSO$ "
+ .string "CORBIN$ "
+ .byte 39
+ .2byte 0
+ .4byte 0x80001fff
+ .2byte 14
+ .2byte 195
+ .2byte 258
+ .2byte 63
+ .2byte 163
+ .byte 95
+ .byte 80
+ .byte 85
+ .byte 35
+ .byte 35
+ .byte 220
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_EXEGGUTOR
+ .string "EGGSOR$ "
+ .string "GRACIE$ "
+ .byte 32
+ .2byte 0
+ .4byte 0xc000fff
+ .2byte 98
+ .2byte 23
+ .2byte 95
+ .2byte 121
+ .2byte 285
+ .byte 40
+ .byte 50
+ .byte 60
+ .byte 100
+ .byte 80
+ .byte 200
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_CUBONE
+ .string "CUBIN$ "
+ .string "COLTIN$ "
+ .byte 65
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 82
+ .2byte 125
+ .2byte 155
+ .2byte 198
+ .2byte 45
+ .byte 40
+ .byte 35
+ .byte 85
+ .byte 35
+ .byte 100
+ .byte 210
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_HITMONLEE
+ .string "HITMON$ "
+ .string "ELLIE$ "
+ .byte 22
+ .2byte 0
+ .4byte 0x21000fff
+ .2byte 70
+ .2byte 179
+ .2byte 279
+ .2byte 116
+ .2byte 25
+ .byte 85
+ .byte 30
+ .byte 25
+ .byte 50
+ .byte 100
+ .byte 220
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SQUIRTLE
+ .string "SURTLE$ "
+ .string "MARCUS$ "
+ .byte 49
+ .2byte 0
+ .4byte 0x20800fff
+ .2byte 82
+ .2byte 39
+ .2byte 145
+ .2byte 264
+ .2byte 110
+ .byte 30
+ .byte 35
+ .byte 100
+ .byte 40
+ .byte 95
+ .byte 230
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_KANGASKHAN
+ .string "KHANKAN$ "
+ .string "KIARA$ "
+ .byte 14
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 70
+ .2byte 5
+ .2byte 99
+ .2byte 264
+ .2byte 39
+ .byte 100
+ .byte 50
+ .byte 30
+ .byte 50
+ .byte 100
+ .byte 240
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_PINECO
+ .string "PINOC$ "
+ .string "BRYCE$ "
+ .byte 36
+ .2byte 0
+ .4byte 0x10200fff
+ .2byte 42
+ .2byte 153
+ .2byte 191
+ .2byte 113
+ .2byte 202
+ .byte 80
+ .byte 80
+ .byte 80
+ .byte 80
+ .byte 80
+ .byte 250
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DUNSPARCE
+ .string "DILTOT$ "
+ .string "JAMIE$ "
+ .byte 34
+ .2byte 0
+ .4byte 0x20100fff
+ .2byte 82
+ .2byte 180
+ .2byte 281
+ .2byte 111
+ .2byte 36
+ .byte 40
+ .byte 35
+ .byte 100
+ .byte 40
+ .byte 110
+ .byte 240
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_HOUNDOOM
+ .string "DOOMOND$ "
+ .string "JORGE$ "
+ .byte 48
+ .2byte 0
+ .4byte 0x8080fff
+ .2byte 14
+ .2byte 46
+ .2byte 53
+ .2byte 185
+ .2byte 241
+ .byte 100
+ .byte 100
+ .byte 30
+ .byte 25
+ .byte 80
+ .byte 230
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MILTANK
+ .string "MILKAN$ "
+ .string "DEVON$ "
+ .byte 25
+ .2byte 0
+ .4byte 0x40040fff
+ .2byte 26
+ .2byte 208
+ .2byte 215
+ .2byte 111
+ .2byte 59
+ .byte 50
+ .byte 110
+ .byte 100
+ .byte 35
+ .byte 40
+ .byte 220
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_GYARADOS
+ .string "RADOS$ "
+ .string "JUSTINA$"
+ .byte 32
+ .2byte 0
+ .4byte 0x84000fff
+ .2byte 79
+ .2byte 63
+ .2byte 56
+ .2byte 240
+ .2byte 44
+ .byte 160
+ .byte 200
+ .byte 20
+ .byte 40
+ .byte 160
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LOUDRED
+ .string "LOUDERD$ "
+ .string "RALPH$ "
+ .byte 21
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 71
+ .2byte 304
+ .2byte 23
+ .2byte 46
+ .2byte 336
+ .byte 170
+ .byte 50
+ .byte 55
+ .byte 150
+ .byte 160
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SKITTY
+ .string "SITTY$ "
+ .string "ROSA$ "
+ .byte 8
+ .2byte 0
+ .4byte 0x81000fff
+ .2byte 59
+ .2byte 213
+ .2byte 274
+ .2byte 185
+ .2byte 39
+ .byte 40
+ .byte 200
+ .byte 150
+ .byte 185
+ .byte 60
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SLAKING
+ .string "SLING$ "
+ .string "KEATON$ "
+ .byte 11
+ .2byte 0
+ .4byte 0x80800fff
+ .2byte 115
+ .2byte 343
+ .2byte 68
+ .2byte 227
+ .2byte 303
+ .byte 85
+ .byte 85
+ .byte 170
+ .byte 110
+ .byte 150
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ALTARIA
+ .string "TARIA$ "
+ .string "MAYRA$ "
+ .byte 18
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 15
+ .2byte 349
+ .2byte 63
+ .2byte 195
+ .2byte 219
+ .byte 170
+ .byte 150
+ .byte 30
+ .byte 30
+ .byte 90
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_KIRLIA
+ .string "LIRKI$ "
+ .string "LAMAR$ "
+ .byte 15
+ .2byte 0
+ .4byte 0x80200fff
+ .2byte 39
+ .2byte 351
+ .2byte 247
+ .2byte 285
+ .2byte 216
+ .byte 230
+ .byte 60
+ .byte 60
+ .byte 230
+ .byte 80
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_BELLOSSOM
+ .string "BLOSSOM$ "
+ .string "AUBREY$ "
+ .byte 26
+ .2byte 0
+ .4byte 0x80100fff
+ .2byte 59
+ .2byte 80
+ .2byte 230
+ .2byte 78
+ .2byte 148
+ .byte 35
+ .byte 200
+ .byte 150
+ .byte 130
+ .byte 40
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SABLEYE
+ .string "EYESAB$ "
+ .string "NIGEL$ "
+ .byte 31
+ .2byte 0
+ .4byte 0x80080fff
+ .2byte 115
+ .2byte 212
+ .2byte 185
+ .2byte 282
+ .2byte 109
+ .byte 25
+ .byte 35
+ .byte 230
+ .byte 150
+ .byte 160
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_NATU
+ .string "UTAN$ "
+ .string "CAMILLE$"
+ .byte 47
+ .2byte 0
+ .4byte 0x80040fff
+ .2byte 115
+ .2byte 101
+ .2byte 248
+ .2byte 109
+ .2byte 94
+ .byte 35
+ .byte 35
+ .byte 150
+ .byte 130
+ .byte 170
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SHARPEDO
+ .string "PEDOS$ "
+ .string "DEON$ "
+ .byte 38
+ .2byte 0
+ .4byte 0x80020fff
+ .2byte 87
+ .2byte 97
+ .2byte 207
+ .2byte 269
+ .2byte 36
+ .byte 140
+ .byte 70
+ .byte 140
+ .byte 75
+ .byte 100
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_LUVDISC
+ .string "LUVIS$ "
+ .string "JANELLE$"
+ .byte 10
+ .2byte 0
+ .4byte 0x80010fff
+ .2byte 83
+ .2byte 186
+ .2byte 213
+ .2byte 36
+ .2byte 204
+ .byte 50
+ .byte 100
+ .byte 220
+ .byte 40
+ .byte 190
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_HERACROSS
+ .string "HEROSS$ "
+ .string "HEATH$ "
+ .byte 33
+ .2byte 0
+ .4byte 0x80008fff
+ .2byte 71
+ .2byte 70
+ .2byte 203
+ .2byte 179
+ .2byte 317
+ .byte 170
+ .byte 70
+ .byte 110
+ .byte 240
+ .byte 140
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ELECTRODE
+ .string "RODLECT$ "
+ .string "SASHA$ "
+ .byte 6
+ .2byte 0
+ .4byte 0x80004fff
+ .2byte 15
+ .2byte 153
+ .2byte 113
+ .2byte 129
+ .2byte 148
+ .byte 200
+ .byte 200
+ .byte 30
+ .byte 35
+ .byte 50
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_PICHU
+ .string "CHUPY$ "
+ .string "FRANKIE$"
+ .byte 35
+ .2byte 0
+ .4byte 0x80002fff
+ .2byte 59
+ .2byte 186
+ .2byte 213
+ .2byte 156
+ .2byte 39
+ .byte 25
+ .byte 150
+ .byte 180
+ .byte 115
+ .byte 120
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_WOBBUFFET
+ .string "WOBET$ "
+ .string "HELEN$ "
+ .byte 16
+ .2byte 0
+ .4byte 0x80001fff
+ .2byte 111
+ .2byte 68
+ .2byte 243
+ .2byte 219
+ .2byte 194
+ .byte 60
+ .byte 230
+ .byte 50
+ .byte 220
+ .byte 210
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_GENGAR
+ .string "GAREN$ "
+ .string "CAMILE$ "
+ .byte 40
+ .2byte 0
+ .4byte 0xc000fff
+ .2byte 71
+ .2byte 194
+ .2byte 109
+ .2byte 122
+ .2byte 188
+ .byte 200
+ .byte 100
+ .byte 50
+ .byte 80
+ .byte 180
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_PORYGON
+ .string "GONPOR$ "
+ .string "MARTIN$ "
+ .byte 46
+ .2byte 0
+ .4byte 0x82000fff
+ .2byte 127
+ .2byte 176
+ .2byte 160
+ .2byte 216
+ .2byte 278
+ .byte 130
+ .byte 130
+ .byte 130
+ .byte 130
+ .byte 130
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_DRAGONITE
+ .string "DRITE$ "
+ .string "SERGIO$ "
+ .byte 7
+ .2byte 0
+ .4byte 0x21000fff
+ .2byte 71
+ .2byte 200
+ .2byte 21
+ .2byte 239
+ .2byte 89
+ .byte 150
+ .byte 140
+ .byte 50
+ .byte 120
+ .byte 150
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_MEOWTH
+ .string "MEOWY$ "
+ .string "KAILEY$ "
+ .byte 6
+ .2byte 0
+ .4byte 0x20800fff
+ .2byte 51
+ .2byte 45
+ .2byte 269
+ .2byte 6
+ .2byte 44
+ .byte 125
+ .byte 110
+ .byte 180
+ .byte 170
+ .byte 80
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_JYNX
+ .string "NYX$ "
+ .string "PERLA$ "
+ .byte 45
+ .2byte 0
+ .4byte 0x80400fff
+ .2byte 43
+ .2byte 195
+ .2byte 212
+ .2byte 142
+ .2byte 313
+ .byte 100
+ .byte 150
+ .byte 100
+ .byte 150
+ .byte 120
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_TOGEPI
+ .string "GEPITO$ "
+ .string "CLARA$ "
+ .byte 20
+ .2byte 0
+ .4byte 0x10200fff
+ .2byte 19
+ .2byte 45
+ .2byte 281
+ .2byte 227
+ .2byte 266
+ .byte 80
+ .byte 120
+ .byte 200
+ .byte 120
+ .byte 80
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_ESPEON
+ .string "SPEON$ "
+ .string "JAKOB$ "
+ .byte 37
+ .2byte 0
+ .4byte 0x20100fff
+ .2byte 15
+ .2byte 129
+ .2byte 98
+ .2byte 234
+ .2byte 39
+ .byte 180
+ .byte 150
+ .byte 100
+ .byte 80
+ .byte 150
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_SLOWKING
+ .string "SLOWGO$ "
+ .string "TREY$ "
+ .byte 49
+ .2byte 0
+ .4byte 0x8080fff
+ .2byte 83
+ .2byte 263
+ .2byte 174
+ .2byte 281
+ .2byte 264
+ .byte 100
+ .byte 80
+ .byte 200
+ .byte 110
+ .byte 170
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+ .2byte SPECIES_URSARING
+ .string "URSING$ "
+ .string "LANE$ "
+ .byte 44
+ .2byte 0
+ .4byte 0x40040fff
+ .2byte 71
+ .2byte 37
+ .2byte 332
+ .2byte 313
+ .2byte 43
+ .byte 180
+ .byte 140
+ .byte 30
+ .byte 80
+ .byte 190
+ .byte 255
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0x0
+ .4byte 0xffff
+
diff --git a/data/credits.s b/data/credits.s
index cc75915a0..a5c0837d1 100644
--- a/data/credits.s
+++ b/data/credits.s
@@ -1493,7 +1493,7 @@ gUnknown_085E6F68:: @ 85E6F68 struct BgTemplate
.align 2
gUnknown_085E6F6C:: @ 85E6F6C
window_template 0x00, 0x00, 0x09, 0x1e, 0x0c, 0x08, 0x0001
- window_template_terminator
+ null_window_template
.align 2
gUnknown_085E6F7C:: @ 85E6F7C
diff --git a/data/data2b.s b/data/data2b.s
index 1400b31d3..6c24060a0 100644
--- a/data/data2b.s
+++ b/data/data2b.s
@@ -4711,7 +4711,7 @@ gUnknown_0831AA18:: @ 831AA18
window_template 0x00, 0x0c, 0x02, 0x06, 0x02, 0x00, 0x00a0
window_template 0x00, 0x04, 0x02, 0x07, 0x02, 0x00, 0x00a0
window_template 0x00, 0x13, 0x02, 0x07, 0x02, 0x00, 0x00b0
- window_template_terminator
+ null_window_template
.align 2
gUnknown_0831AAE0:: @ 831AAE0
@@ -4738,7 +4738,7 @@ gUnknown_0831AAE0:: @ 831AAE0
window_template 0x00, 0x0c, 0x08, 0x06, 0x02, 0x05, 0x013c
window_template 0x00, 0x08, 0x0b, 0x0e, 0x02, 0x05, 0x0148
window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x07, 0x0090
- window_template_terminator
+ null_window_template
.align 2
gUnknown_0831ABA0:: @ 831ABA0
diff --git a/data/easy_chat.s b/data/easy_chat.s
index edbb77f59..ce416dfbc 100644
--- a/data/easy_chat.s
+++ b/data/easy_chat.s
@@ -273,7 +273,7 @@ gUnknown_08597C64:: @ 8597C64
window_template 0x01, 0x06, 0x00, 0x12, 0x02, 0x0a, 0x0010
window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0f, 0x000a
window_template 0x02, 0x01, 0x00, 0x1c, 0x20, 0x03, 0x0000
- window_template_terminator
+ null_window_template
.align 2
gUnknown_08597C84:: @ 8597C84
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 839235589..f4048124d 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -7,6 +7,7 @@
.include "asm/macros.inc"
.include "asm/macros/event.inc"
.include "constants/constants.inc"
+
.section script_data, "aw", %progbits
diff --git a/data/field_effect_helpers.s b/data/field_effect_helpers.s
index 6d0b0b3bb..63fc1580e 100644
--- a/data/field_effect_helpers.s
+++ b/data/field_effect_helpers.s
@@ -4,7 +4,7 @@
.section .rodata
gUnknown_085CDC38:: @ 85CDC38
- .incbin "baserom.gba", 0x5cdc38, 0x6
+ .2byte 12, 28, 44
gUnknown_085CDC3E:: @ 85CDC3E
.byte 0x00, 0x01, 0x02, 0x03
@@ -22,8 +22,11 @@ gUnknown_085CDC54:: @ 85CDC54
.4byte sub_815550C
gUnknown_085CDC60:: @ 85CDC60
- .incbin "baserom.gba", 0x5cdc60, 0xa
-
+ .byte 0, 0, 1, 2, 3, 0, 0, 1, 1
+ .byte 0
+
gUnknown_085CDC6A:: @ 85CDC6A
- .incbin "baserom.gba", 0x5cdc6a, 0x96
+ .2byte 3, 7
+ @the following might be unref, not sure
+ .byte 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00
diff --git a/data/field_effect_misc.s b/data/field_effect_misc.s
index 88f9f1c94..ef73c3263 100644
--- a/data/field_effect_misc.s
+++ b/data/field_effect_misc.s
@@ -4,28 +4,169 @@
.section .rodata
.align 2
- .incbin "baserom.gba", 0x58d978, 0x2a0
+gSpriteImage_858D978:: @ 858D978
+ .incbin "graphics/unknown/858E588/0.4bpp"
+
+ .align 2
+gSpriteImage_858D9F8:: @ 858D9F8
+ .incbin "graphics/unknown/858E588/1.4bpp"
+
+ .align 2
+gSpriteImage_858DA78:: @ 858DA78
+ .incbin "graphics/unknown/858E588/2.4bpp"
+
+ .align 2
+gSpriteImage_858DAF8:: @ 858DAF8
+ .incbin "graphics/unknown/858E588/3.4bpp"
+
+ .align 2
+gSpriteImage_858DB78:: @ 858DB78
+ .incbin "graphics/unknown/858E588/4.4bpp"
+
+ .space 32
.align 2
gFieldEffectObjectPalette7:: @ 858DC18
.incbin "graphics/map_objects/palettes/field_effect_object_palette_07.gbapal"
- .incbin "baserom.gba", 0x58dc38, 0x580
+ .align 2
+gSpriteImage_858DC38:: @ 858DC38
+ .incbin "graphics/unknown/858E5D8/0.4bpp"
+
+ .align 2
+gSpriteImage_858DCB8:: @ 858DCB8
+ .incbin "graphics/unknown/858E5D8/1.4bpp"
+
+ .align 2
+gSpriteImage_858DD38:: @ 858DD38
+ .incbin "graphics/unknown/858E5D8/2.4bpp"
+
+ .align 2
+gSpriteImage_858DDB8:: @ 858DDB8
+ .incbin "graphics/unknown/858E5D8/3.4bpp"
+
+ .align 2
+gSpriteImage_858DE38:: @ 858DE38
+ .incbin "graphics/unknown/858E5D8/4.4bpp"
+
+ .align 2
+gSpriteImage_858DEB8:: @ 858DEB8
+ .incbin "graphics/unknown/858E5B0/0.4bpp"
+
+ .align 2
+gSpriteImage_858DF38:: @ 858DF38
+ .incbin "graphics/unknown/858E5B0/1.4bpp"
+
+ .align 2
+gSpriteImage_858DFB8:: @ 858DFB8
+ .incbin "graphics/unknown/858E5B0/2.4bpp"
+
+ .align 2
+gSpriteImage_858E038:: @ 858E038
+ .incbin "graphics/unknown/858E5B0/3.4bpp"
+
+ .align 2
+gSpriteImage_858E0B8:: @ 858E0B8
+ .incbin "graphics/unknown/858E5B0/4.4bpp"
+
+ .align 2
+gSpriteImage_858E138:: @ 858E138
+ .incbin "graphics/unknown/858E5B0/5.4bpp"
.align 2
gFieldEffectObjectPalette8:: @ 858E1B8
.incbin "graphics/map_objects/palettes/field_effect_object_palette_08.gbapal"
- .incbin "baserom.gba", 0x58e1d8, 0x428
+ .align 2
+gSpriteImage_858E1D8:: @ 858E1D8
+ .incbin "graphics/unknown/858E674/0.4bpp"
+
+ .align 2
+gSpriteImage_858E2D8:: @ 858E2D8
+ .incbin "graphics/unknown/858E674/1.4bpp"
+
+ .align 2
+gSpriteImage_858E3D8:: @ 858E3D8
+ .incbin "graphics/unknown/858E674/2.4bpp"
+
+ .align 2
+gOamData_858E4D8:: @ 858E4D8
+ .2byte 0x0000, 0x4000, 0x0800, 0x0000
+
+ .align 2
+gSpriteAnim_858E4E0:: @ 858E4E0
+ .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_858E4F8:: @ 858E4F8
+ .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_858E510:: @ 858E510
+ .2byte 0x0004, 0x0008, 0x0003, 0x0008, 0x0002, 0x0008, 0x0001, 0x0008, 0x0000, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_858E528:: @ 858E528
+ .2byte 0x0000, 0x0048, 0x0001, 0x0048, 0x0002, 0x0048, 0x0003, 0x0048, 0x0004, 0x0048, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_858E540:: @ 858E540
+ .2byte 0x0004, 0x0048, 0x0003, 0x0048, 0x0002, 0x0048, 0x0001, 0x0048, 0x0000, 0x0048, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_858E558:: @ 858E558
+ .2byte 0x0000, 0x0008, 0x0001, 0x0008, 0x0002, 0x0008, 0x0003, 0x0008, 0x0004, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_858E570:: @ 858E570
+ .4byte gSpriteAnim_858E4E0
+
+ .align 2
+gSpriteAnimTable_858E574:: @ 858E574
+ .4byte gSpriteAnim_858E4F8
+ .4byte gSpriteAnim_858E510
+ .4byte gSpriteAnim_858E528
+ .4byte gSpriteAnim_858E540
+
+ .align 2
+gSpriteAnimTable_858E584:: @ 858E584
+ .4byte gSpriteAnim_858E558
+ .align 2
+gUnknown_858E588:: @ 858E588
+ obj_frame_tiles gSpriteImage_858D978, 0x0080
+ obj_frame_tiles gSpriteImage_858D9F8, 0x0080
+ obj_frame_tiles gSpriteImage_858DA78, 0x0080
+ obj_frame_tiles gSpriteImage_858DAF8, 0x0080
+ obj_frame_tiles gSpriteImage_858DB78, 0x0080
+
+ .align 2
+gUnknown_858E5B0:: @ 858E5B0
+ obj_frame_tiles gSpriteImage_858DEB8, 0x0080
+ obj_frame_tiles gSpriteImage_858DF38, 0x0080
+ obj_frame_tiles gSpriteImage_858DFB8, 0x0080
+ obj_frame_tiles gSpriteImage_858E038, 0x0080
+ obj_frame_tiles gSpriteImage_858E0B8, 0x0080
+
+ .align 2
+gUnknown_858E5D8:: @ 858E5D8
+ obj_frame_tiles gSpriteImage_858DC38, 0x0080
+ obj_frame_tiles gSpriteImage_858DCB8, 0x0080
+ obj_frame_tiles gSpriteImage_858DD38, 0x0080
+ obj_frame_tiles gSpriteImage_858DDB8, 0x0080
+ obj_frame_tiles gSpriteImage_858DE38, 0x0080
+
+ .align 2
gUnknown_0858E600:: @ 858E600
- .incbin "baserom.gba", 0x58e600, 0x18
+ spr_template 0xffff, 0x1003, gOamData_858E4D8, gSpriteAnimTable_858E570, gUnknown_858E588, gDummySpriteAffineAnimTable, sub_80FA18C
+ .align 2
gUnknown_0858E618:: @ 858E618
- .incbin "baserom.gba", 0x58e618, 0x18
+ spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E574, gUnknown_858E5B0, gDummySpriteAffineAnimTable, sub_80FA2D8
+ .align 2
gUnknown_0858E630:: @ 858E630
- .incbin "baserom.gba", 0x58e630, 0x18
+ spr_template 0xffff, 0x1008, gOamData_858E4D8, gSpriteAnimTable_858E584, gUnknown_858E5D8, gDummySpriteAffineAnimTable, sub_80FA3FC
.align 2
gFieldEffectObjectPaletteInfo7:: @ 858E648
@@ -35,10 +176,27 @@ gFieldEffectObjectPaletteInfo7:: @ 858E648
gFieldEffectObjectPaletteInfo8:: @ 858E650
obj_pal gFieldEffectObjectPalette8, 0x1008
- .incbin "baserom.gba", 0x58e658, 0x34
+ .align 2
+gOamData_858E658:: @ 858E658
+ .2byte 0x8000, 0x8000, 0x0800, 0x0000
+
+ .align 2
+gSpriteAnim_858E660:: @ 858E660
+ .2byte 0x0000, 0x0006, 0x0001, 0x0006, 0x0002, 0x0006, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_858E670:: @ 858E670
+ .4byte gSpriteAnim_858E660
+ .align 2
+gUnknown_0858E674:: @ 858E674
+ obj_frame_tiles gSpriteImage_858E1D8, 0x0100
+ obj_frame_tiles gSpriteImage_858E2D8, 0x0100
+ obj_frame_tiles gSpriteImage_858E3D8, 0x0100
+
+ .align 2
gUnknown_0858E68C:: @ 858E68C
- .incbin "baserom.gba", 0x58e68c, 0x18
+ spr_template 0xffff, 0x100e, gOamData_858E658, gSpriteAnimTable_858E670, gUnknown_0858E674, gDummySpriteAffineAnimTable, door_restore_tilemap
.align 2
@ This uses one of the secret base palettes, so there is no
@@ -46,10 +204,41 @@ gUnknown_0858E68C:: @ 858E68C
gFieldEffectObjectPaletteInfo9:: @ 858E6A4
obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E
- .incbin "baserom.gba", 0x58e6ac, 0x1b8
+ .align 2
+gSpriteImage_858E6AC:: @ 858E6AC
+ .incbin "graphics/unknown/858E84C/0.4bpp"
+
+ .align 2
+gSpriteImage_858E72C:: @ 858E72C
+ .incbin "graphics/unknown/858E84C/1.4bpp"
+
+ .align 2
+gSpriteImage_858E7AC:: @ 858E7AC
+ .incbin "graphics/unknown/858E84C/2.4bpp"
+
+ .align 2
+gUnknown_0858E82C:: @ 858E82C
+ .incbin "graphics/unknown/unknown_58E82C.gbapal"
+
+ .align 2
+gUnknown_0858E84C:: @ 858E84C
+ obj_frame_tiles gSpriteImage_858E6AC, 0x0080
+ obj_frame_tiles gSpriteImage_858E72C, 0x0080
+ obj_frame_tiles gSpriteImage_858E7AC, 0x0080
+ .align 2
gUnknown_0858E864:: @ 858E864
- .incbin "baserom.gba", 0x58e864, 0x1c
+ obj_pal gUnknown_0858E82C, 0x1000
+ .align 2
+gSpriteAnim_858E86C:: @ 858E86C
+ .2byte 0x0000, 0x001e, 0x0001, 0x001e, 0x0002, 0x001e, 0xfffe, 0x0000
+
+ .align 2
+gSpriteAnimTable_858E87C:: @ 858E87C
+ .4byte gSpriteAnim_858E86C
+
+ .align 2
gUnknown_0858E880:: @ 858E880
- .incbin "baserom.gba", 0x58e880, 0x18
+ spr_template 0xffff, 0x1000, gFieldObjectBaseOam_32x8, gSpriteAnimTable_858E87C, gUnknown_0858E84C, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s
index be5639406..989d2add7 100644
--- a/data/field_ground_effect.s
+++ b/data/field_ground_effect.s
@@ -39,7 +39,8 @@ gUnknown_0850E654:: @ 850E654
.4byte DoTracksGroundEffect_BikeTireTracks
gUnknown_0850E660:: @ 850E660
- .incbin "baserom.gba", 0x50e660, 0x4
+ .byte 13, 0
+ .byte 24, 0
gUnknown_0850E664:: @ 850E664
.byte 0x01, 0x02, 0x07, 0x08, 0x01, 0x02, 0x06, 0x05, 0x05, 0x08, 0x03, 0x04, 0x06, 0x07, 0x03, 0x04
@@ -65,40 +66,4 @@ gUnknown_0850E674:: @ 850E674
.4byte GroundEffect_ShortGrass
.4byte GroundEffect_HotSprings
.4byte GroundEffect_Seaweed
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte little_step
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte double_little_steps
- .4byte triple_little_steps
- .4byte triple_little_steps
- .4byte double_little_steps
- .4byte triple_little_steps
- .4byte triple_little_steps
- .4byte quad_little_steps
- .4byte quad_little_steps
- .4byte quad_little_steps
- .4byte quad_little_steps
- .4byte oct_little_steps
- .4byte oct_little_steps
diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s
index efb2f34cb..c2e0d729d 100644
--- a/data/field_player_avatar.s
+++ b/data/field_player_avatar.s
@@ -115,11 +115,12 @@ gUnknown_08497540:: @ 8497540
.4byte sub_808C6FC
gUnknown_08497550:: @ 8497550
- .incbin "baserom.gba", 0x497550, 0x4
+ .byte 3, 4, 2, 1
gUnknown_08497554:: @ 8497554
- .incbin "baserom.gba", 0x497554, 0x8
+ .byte 16, 16, 17, 18, 19
+ .align 2
gUnknown_0849755C:: @ 849755C
.4byte fish0
.4byte fish1
@@ -139,19 +140,21 @@ gUnknown_0849755C:: @ 849755C
.4byte fishF
gUnknown_0849759C:: @ 849759C
- .incbin "baserom.gba", 0x49759c, 0x6
+ .2byte 1, 1, 1
gUnknown_084975A2:: @ 84975A2
- .incbin "baserom.gba", 0x4975a2, 0x6
+ .2byte 1, 3, 6
gUnknown_084975A8:: @ 84975A8
- .incbin "baserom.gba", 0x4975a8, 0x2
+ .string "·$"
gUnknown_084975AA:: @ 84975AA
- .incbin "baserom.gba", 0x4975aa, 0x6
+ .2byte 36, 33, 30
gUnknown_084975B0:: @ 84975B0
- .incbin "baserom.gba", 0x4975b0, 0xc
+ .2byte 0, 0
+ .2byte 0x28, 10
+ .2byte 0x46, 30
gUnknown_084975BC:: @ 84975BC
.byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00
diff --git a/data/field_special_scene.s b/data/field_special_scene.s
index fe8ef1622..16e5a366d 100644
--- a/data/field_special_scene.s
+++ b/data/field_special_scene.s
@@ -6,10 +6,10 @@
.align 2, 0
gTruckCamera_HorizontalTable:: @ 858E898
- .incbin "baserom.gba", 0x58e898, 0x13
+ .byte 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0
gUnknown_0858E8AB:: @ 858E8AB
- .incbin "baserom.gba", 0x58e8ab, 0x2
+ .byte 0x18, 0xFE
gUnknown_0858E8AD:: @ 858E8AD
- .incbin "baserom.gba", 0x58e8ad, 0x3
+ .byte 0x17, 0xFE
diff --git a/data/field_tasks.s b/data/field_tasks.s
index 8405c64d5..310fd0e2a 100644
--- a/data/field_tasks.s
+++ b/data/field_tasks.s
@@ -5,19 +5,95 @@
.align 2, 0
gUnknown_08510348:: @ 8510348
- .incbin "baserom.gba", 0x510348, 0x20
+ .4byte nullsub_34
+ .4byte sub_809E3B4
+ .4byte sub_809DEF0
+ .4byte sub_809DCB4
+ .4byte sub_809E224
+ .4byte EndTruckSequence
+ .4byte sub_80EA3E4
+ .4byte sub_809E4CC
gUnknown_08510368:: @ 8510368
- .incbin "baserom.gba", 0x510368, 0x20
+ .byte 0
+ .byte 0
+ .2byte 0x259
+ .byte 0
+ .byte 1
+ .2byte 0x261
+ .byte 0
+ .byte 0xFF
+ .2byte 0x259
+ .byte 0
+ .byte 0
+ .2byte 0x261
+ .byte 0
+ .byte 0
+ .2byte 0x252
+ .byte 1
+ .byte 0
+ .2byte 0x253
+ .byte 0xFF
+ .byte 0
+ .2byte 0x252
+ .byte 0
+ .byte 0
+ .2byte 0x253
gUnknown_08510388:: @ 8510388
- .incbin "baserom.gba", 0x510388, 0x20
+ .byte 0
+ .byte 0
+ .2byte 0x25A
+ .byte 0
+ .byte 1
+ .2byte 0x262
+ .byte 0
+ .byte 0xFF
+ .2byte 0x25A
+ .byte 0
+ .byte 0
+ .2byte 0x262
+ .byte 0
+ .byte 0
+ .2byte 0x254
+ .byte 1
+ .byte 0
+ .2byte 0x255
+ .byte 0xFF
+ .byte 0
+ .2byte 0x254
+ .byte 0
+ .byte 0
+ .2byte 0x255
gUnknown_085103A8:: @ 85103A8
- .incbin "baserom.gba", 0x5103a8, 0x20
+ .byte 0
+ .byte 0
+ .2byte 0x258
+ .byte 0
+ .byte 1
+ .2byte 0x260
+ .byte 0
+ .byte 0xFF
+ .2byte 0x258
+ .byte 0
+ .byte 0
+ .2byte 0x260
+ .byte 0
+ .byte 0
+ .2byte 0x250
+ .byte 1
+ .byte 0
+ .2byte 0x251
+ .byte 0xFF
+ .byte 0
+ .2byte 0x250
+ .byte 0
+ .byte 0
+ .2byte 0x251
gUnknown_085103C8:: @ 85103C8
- .incbin "baserom.gba", 0x5103c8, 0x34
+ .2byte 0, 0, 0, 0, 0, 0, 0x4001, 0x4002, 0x4003, 0x4004, 0, 0, 0x4005, 0x4006, 0x4007, 0, 0, 0x4008, 0x4009, 0x400a, 0, 0, 0, 0, 0, 0
gUnknown_085103FC:: @ 85103FC
- .incbin "baserom.gba", 0x5103fc, 0x8
+ .2byte 0xE8, 0xeb, 0xea, 0xe9
diff --git a/data/fldeff_cut.s b/data/fldeff_cut.s
index f9d72e088..9fea73f9a 100644
--- a/data/fldeff_cut.s
+++ b/data/fldeff_cut.s
@@ -5,16 +5,28 @@
.align 2, 0
gUnknown_0857C608:: @ 857C608
- .incbin "baserom.gba", 0x57c608, 0x2
+ .byte 0xfe, 0xfe, 0x01, 0x00, 0xff, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x01, 0xfe, 0x03, 0x00, 0x02, 0xfe, 0x03, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x02, 0xff, 0x03, 0x00, 0xfe, 0x00, 0x04, 0x00, 0x02, 0x00
+ .byte 0x06, 0x00, 0xfe, 0x01, 0x07, 0x00, 0x02, 0x01, 0x09, 0x00, 0xfe, 0x02, 0x07, 0x00, 0xff, 0x02, 0x07, 0x00, 0x00, 0x02, 0x08, 0x00, 0x01, 0x02, 0x09, 0x00, 0x02, 0x02, 0x09,
+
+gUnknown_0857C648:: @ 857C648
+ .2byte 0
+ .2byte 0
+ .2byte 0x1401
+ .2byte 0
-gUnknown_0857C60A:: @ 857C60A
- .byte 0x01, 0x00, 0xff, 0xfe, 0x01, 0x00, 0x00, 0xfe, 0x02, 0x00, 0x01, 0xfe, 0x03, 0x00, 0x02, 0xfe, 0x03, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x02, 0xff, 0x03, 0x00, 0xfe, 0x00, 0x04, 0x00, 0x02, 0x00
- .byte 0x06, 0x00, 0xfe, 0x01, 0x07, 0x00, 0x02, 0x01, 0x09, 0x00, 0xfe, 0x02, 0x07, 0x00, 0xff, 0x02, 0x07, 0x00, 0x00, 0x02, 0x08, 0x00, 0x01, 0x02, 0x09, 0x00, 0x02, 0x02, 0x09, 0x00, 0x00, 0x00
- .byte 0x00, 0x00, 0x01, 0x14, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x50, 0xc6, 0x57, 0x08, 0x58, 0x6e, 0x4f, 0x08, 0x20, 0x00, 0x00, 0x00
+gUnknown_0857C650:: @ 857C650
+ obj_image_anim_frame 0, 0x1E
+ obj_image_anim_jump 0
+
+gUnknown_0857C658:: @ 857C658
+ .4byte gUnknown_0857C650
+
+gUnknown_0857C65C:: @ 857C65C
+ obj_frame_tiles gFieldEffectObjectPic_ShadowExtraLarge + 0x520, 32
.align 2
gFieldEffectObjectPaletteInfo6:: @ 857C664
obj_pal gFieldEffectObjectPalette6, 0x1000
gUnknown_0857C66C:: @ 857C66C
- .incbin "baserom.gba", 0x57c66c, 0x18
+ spr_template -1, 0x1000, gUnknown_0857C648, gUnknown_0857C658, gUnknown_0857C65C, gDummySpriteAffineAnimTable, objc_8097BA8
diff --git a/data/fossil_special_fldeff_groundshake.s b/data/fossil_special_fldeff_groundshake.s
index 8f968d409..8fa546ce8 100644
--- a/data/fossil_special_fldeff_groundshake.s
+++ b/data/fossil_special_fldeff_groundshake.s
@@ -3,32 +3,96 @@
.section .rodata
+ .align 2
gUnknown_08617274:: @ 8617274
- .incbin "baserom.gba", 0x617274, 0x920
+ .space 0x20
+ .incbin "graphics/misc/mirage_tower.4bpp"
+ .align 2
gUnknown_08617B94:: @ 8617B94
- .incbin "baserom.gba", 0x617b94, 0xb0
+ .incbin "graphics/misc/mirage_tower.bin"
-gUnknown_08617C44:: @ 8617C44
- .incbin "baserom.gba", 0x617c44, 0x120
+ .align 2
+gRootFossil_Pal:: @ 8617C24
+ .incbin "graphics/misc/fossil.gbapal"
+ .align 2
+gRootFossil_Gfx:: @ 8617C44
+ .incbin "graphics/misc/fossil.4bpp"
+
+ .align 2
+gMirageTowerCrumbles_Gfx:: @ 8617CC4
+ .incbin "graphics/misc/mirage_tower_crumbles.4bpp"
+
+ .align 2
+gMirageTowerCrumbles_Palette:: @ 8617D44
+ .incbin "graphics/misc/mirage_tower_crumbles.gbapal"
+
+ .align 1
gUnknown_08617D64:: @ 8617D64
- .incbin "baserom.gba", 0x617d64, 0x30
+ .2byte 0x0000, 0x000a, 0x0041, 0x0011, 0x0003, 0x0032, 0xfff4, 0x0000, 0x004b, 0x000a, 0x000f, 0x005a, 0x0007, 0x0008, 0x0041, 0xffee
+ .2byte 0x0005, 0x004b, 0x0016, 0xfff6, 0x0037, 0xffe8, 0xfffc, 0x0041
+ .align 2
gUnknown_08617D94:: @ 8617D94
- .incbin "baserom.gba", 0x617d94, 0x10
+ obj_tiles gMirageTowerCrumbles_Gfx, 0x0080, 0x0fa0
+ null_obj_tiles
+ .align 2
gUnknown_08617DA4:: @ 8617DA4
- .incbin "baserom.gba", 0x617da4, 0x5c
+ .byte 0x12, 0x35, 0x51, 0x02, 0x13, 0x35, 0x51, 0x02, 0x14, 0x35, 0x51, 0x02, 0x12, 0x36, 0x51, 0x02, 0x13, 0x36, 0x51, 0x02, 0x14, 0x36, 0x51, 0x02, 0x12, 0x37, 0x51, 0x02, 0x13, 0x37, 0x51, 0x02
+ .byte 0x14, 0x37, 0x51, 0x02, 0x12, 0x38, 0x51, 0x02, 0x13, 0x38, 0x51, 0x02, 0x14, 0x38, 0x51, 0x02, 0x12, 0x39, 0x59, 0x02, 0x13, 0x39, 0x59, 0x02, 0x14, 0x39, 0x59, 0x02, 0x12, 0x3a, 0x21, 0x01
+ .byte 0x13, 0x3a, 0x21, 0x01, 0x14, 0x3a, 0x21, 0x01
+
+ .align 2
+gSpriteAnim_8617DEC:: @ 8617DEC
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+ .align 2
+gOamData_8617DF4:: @ 8617DF4
+ .2byte 0x0000, 0x4000, 0x3000, 0x0000
+
+ .align 2
+gSpriteAnimTable_8617DFC:: @ 8617DFC
+ .4byte gSpriteAnim_8617DEC
+
+ .align 2
gUnknown_08617E00:: @ 8617E00
- .incbin "baserom.gba", 0x617e00, 0x18
+ spr_template 0xffff, 0xffff, gOamData_8617DF4, gSpriteAnimTable_8617DFC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_08617E18:: @ 8617E18
- .incbin "baserom.gba", 0x617e18, 0x1c
+ .byte 0x3b, 0x43, 0x61, 0x00, 0x0f, 0x05, 0xff, 0x9b
+
+ .align 2
+gSpriteAnim_8617E20:: @ 8617E20
+ .2byte 0x0000, 0x000c, 0xfffe, 0x0000
+ .align 2
+gSpriteAnimTable_8617E28:: @ 8617E28
+ .4byte gSpriteAnim_8617E20
+
+ .align 2
+gUnknown_08617E2C:: @ 8617E2C
+ .2byte 0x0000, 0x0000, 0x0000, 0x0000
+
+ .align 2
gUnknown_08617E34:: @ 8617E34
- .incbin "baserom.gba", 0x617e34, 0x2c
+ spr_template 0x0fa0, 0xffff, gUnknown_08617E2C, gSpriteAnimTable_8617E28, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8
+
+ .align 2
+gSpriteAnim_8617E4C:: @ 8617E4C
+ .2byte 0x0000, 0x000c, 0xfffe, 0x0000
+ .align 2
+gSpriteAnim_8617E54:: @ 8617E54
+ .4byte gSpriteAnim_8617E4C
+
+ .align 2
+gOamData_8617E58:: @ 8617E58
+ .2byte 0x0000, 0x4000, 0x0000, 0x0000
+
+ .align 2
gUnknown_08617E60:: @ 8617E60
- .incbin "baserom.gba", 0x617e60, 0x18
+ spr_template 0x0fa0, 0xffff, gOamData_8617E58, gSpriteAnim_8617E54, NULL, gDummySpriteAffineAnimTable, sub_81BEAD8
+
diff --git a/data/graphics.s b/data/graphics.s
index 8733869b5..8527e570d 100644
--- a/data/graphics.s
+++ b/data/graphics.s
@@ -4824,27 +4824,27 @@ gNamingScreenMenu_Gfx:: @ 8DD3838
.incbin "graphics/naming_screen/menu.4bpp.lz"
.align 2
-gNamingScreenRWindow_Gfx::
+gNamingScreenRWindow_Gfx:: @ 8DD3A04
.incbin "graphics/naming_screen/rwindow.4bpp"
.align 2
-gNamingScreenROptions_Gfx::
+gNamingScreenROptions_Gfx:: @ 8DD4044
.incbin "graphics/naming_screen/roptions.4bpp"
.align 2
-gNamingScreenCursor_Gfx::
+gNamingScreenCursor_Gfx:: @ 8DD4224
.incbin "graphics/naming_screen/cursor.4bpp"
.align 2
-gNamingScreenKeyboardButton_Gfx::
+gNamingScreenKeyboardButton_Gfx:: @ 8DD43E4
.incbin "graphics/naming_screen/keyboard_button.4bpp"
.align 2
-gNamingScreenRightPointingTriangleTiles::
+gNamingScreenRightPointingTriangleTiles:: @ 8DD4504
.incbin "graphics/naming_screen/right_pointing_triangle.4bpp"
.align 2
-gNamingScreenUnderscoreTiles::
+gNamingScreenUnderscoreTiles:: @ 8DD4524
.incbin "graphics/naming_screen/underscore.4bpp"
.align 2
@@ -5041,12 +5041,12 @@ gUnknown_08DDD704:: @ 8DDD704
.incbin "graphics/unknown/unknown_DDD704.bin" @ textbox tilemap??
.align 2
-gUnknown_08DDD728:: @ 8DDD728
- .incbin "graphics/interface/textbox.gbapal" @ textbox palette?
+gMessageBox_Pal:: @ 8DDD728
+ .incbin "graphics/text_window/message_box.gbapal"
.align 2
-gUnknown_08DDD748:: @ 8DDD748
- .incbin "graphics/interface/textbox.4bpp"
+gMessageBox_Gfx:: @ 8DDD748
+ .incbin "graphics/text_window/message_box.4bpp"
.align 2
gWallpaperIcon_Cross::
@@ -5142,7 +5142,7 @@ gUnknown_08DE0644:: @ 8DE0644
.align 2
gUnknown_08DE07C8:: @ 8DE07C8
- .incbin "graphics/frontier_pass/tiles.gbapal" @ size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but this is wrong? todo, investigate? (frontier pass pal)
+ .incbin "graphics/frontier_pass/tiles.gbapal" @ size in LoadPalette calls is reported as 0xD0 << 1, which is 0x1A0, but palette is only 0x100 bytes long so it loads garbage as well
.align 2
gUnknown_08DE08C8:: @ 8DE08C8
diff --git a/data/graphics/field_objects/field_object_graphics.inc b/data/graphics/field_objects/field_object_graphics.inc
index 0e55eb146..59333b9a4 100644
--- a/data/graphics/field_objects/field_object_graphics.inc
+++ b/data/graphics/field_objects/field_object_graphics.inc
@@ -5386,7 +5386,8 @@ gFieldEffectObjectPic_ShadowLarge:: @ 84F68B8
gFieldEffectObjectPic_ShadowExtraLarge:: @ 84F6938
.incbin "graphics/map_objects/pics/effects/shadow_extra_large.4bpp"
- .incbin "baserom.gba", 0x4f6d38, 0x160
+gUnknown_084F6D38:: @ 84F6D38
+ .incbin "graphics/map_objects/pics/effects/unknown_4F6D38/0.4bpp"
.align 2
gFieldEffectObjectPalette6:: @ 84F6E98
@@ -5500,7 +5501,17 @@ gFieldEffectObjectPic_BikeHopTallGrass_2:: @ 84F7938
gFieldEffectObjectPic_BikeHopTallGrass_3:: @ 84F7978
.incbin "graphics/map_objects/pics/effects/bike_hop_tall_grass/3.4bpp"
- .incbin "baserom.gba", 0x4f79b8, 0x200
+gUnusedGrass_0:: @4F79B8
+ .incbin "graphics/map_objects/pics/effects/unused_grass/0.4bpp"
+
+gUnusedGrass_1:: @4F7A38
+ .incbin "graphics/map_objects/pics/effects/unused_grass/1.4bpp"
+
+gUnusedGrass_2:: @4F7AB8
+ .incbin "graphics/map_objects/pics/effects/unused_grass/2.4bpp"
+
+gUnusedGrass_3:: @4F7B38
+ .incbin "graphics/map_objects/pics/effects/unused_grass/3.4bpp"
.align 2
gFieldEffectObjectPic_Unknown16_0:: @ 84F7BB8
@@ -5522,7 +5533,8 @@ gFieldEffectObjectPic_Unknown16_3:: @ 84F7D38
gFieldEffectObjectPic_Unknown16_4:: @ 84F7DB8
.incbin "graphics/map_objects/pics/effects/unknown_16/4.4bpp"
- .incbin "baserom.gba", 0x4f7e38, 0x80
+gUnknown_084F7E38:: @ 84F7E38
+ .incbin "graphics/map_objects/pics/effects/unknown_4F7E38/0.4bpp"
.align 2
gFieldEffectObjectPic_Unknown16_5:: @ 84F7EB8
diff --git a/data/item_icon.s b/data/item_icon.s
index dac00dc6c..41fb7d9a1 100644
--- a/data/item_icon.s
+++ b/data/item_icon.s
@@ -6,8 +6,18 @@
@ 8614410
.include "data/graphics/items/item_icon_table.inc"
-@ 8614FE0
- .incbin "baserom.gba", 0x614fe0, 0x14
+gUnknown_08614FE0:: @ 8614FE0
+ .2byte 0
+ .2byte 0x8000
+ .2byte 0x2400
+ .2byte 0
+
+gUnknown_08614FE8:: @ 8614FE8
+ obj_image_anim_frame 0, 0
+ obj_image_anim_end
+
+gUnknown_08614FF0:: @ 8614FF0
+ .4byte gUnknown_08614FE8
gUnknown_08614FF4:: @ 8614FF4
- .incbin "baserom.gba", 0x614ff4, 0x18
+ spr_template 0, 0, gUnknown_08614FE0, gUnknown_08614FF0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/data/item_menu.s b/data/item_menu.s
index b160200e8..1b11c5e59 100644
--- a/data/item_menu.s
+++ b/data/item_menu.s
@@ -100,13 +100,28 @@ gUnknown_08614094:: @ 8614094
.4byte 0x6F
gUnknown_086140A4:: @ 86140A4
- .incbin "baserom.gba", 0x6140a4, 0xc0
+ .incbin "graphics/interface/select_button.4bpp"
gUnknown_08614164:: @ 8614164
- .incbin "baserom.gba", 0x614164, 0x10
+ .byte 0, 1, 3, 0, 1, 4, 0, 3, 6, 2, 1, 3, 0, 14, 10, 0
gUnknown_08614174:: @ 8614174
- .incbin "baserom.gba", 0x614174, 0x38
+ window_template 0, 14, 2, 15, 16, 1, 0x27
+ window_template 0, 0, 13, 14, 6, 1, 0x117
+ window_template 0, 4, 1, 8, 2, 1, 0x1A1
+ window_template 0, 1, 13, 5, 6, 12, 0x16B
+ window_template 0, 7, 13, 4, 6, 12, 0x189
+ window_template 1, 2, 15, 27, 4, 15, 0x1B1
+ null_window_template
gUnknown_086141AC:: @ 86141AC
- .incbin "baserom.gba", 0x6141ac, 0x50
+ window_template 1, 22, 17, 7, 2, 15, 0x21D
+ window_template 1, 22, 15, 7, 4, 15, 0x21D
+ window_template 1, 15, 15, 14, 4, 15, 0x21D
+ window_template 1, 15, 13, 14, 6, 15, 0x21D
+ window_template 1, 2, 15, 27, 4, 15, 0x1B1
+ window_template 1, 24, 15, 5, 4, 15, 0x21D
+ window_template 1, 21, 9, 5, 4, 15, 0x21D
+ window_template 1, 24, 17, 5, 2, 15, 0x21D
+ window_template 1, 18, 11, 10, 2, 15, 0x245
+ window_template 1, 1, 1, 10, 2, 15, 0x231
diff --git a/data/item_menu_icons.s b/data/item_menu_icons.s
index c79b59e43..ff86fc54d 100644
--- a/data/item_menu_icons.s
+++ b/data/item_menu_icons.s
@@ -1,75 +1,221 @@
#include "constants/items.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_0857F464:: @ 857F464
- .incbin "baserom.gba", 0x57f464, 0xe0
-
-gUnknown_0857F544:: @ 857F544
- .incbin "baserom.gba", 0x57f544, 0x5f0
-
+ .include "asm/macros.inc"
+ .include "constants/constants.inc"
+
+ .section .rodata
+
+ .align 2
+gUnknown_0857F564:: @ 857F564
+ .incbin "graphics/interface/bag_spinner.gbapal"
+
+ .align 2
+gUnknown_0857F584:: @ 857F584
+ .incbin "graphics/interface/bag_spinner.4bpp"
+
+ .align 2
+gUnknown_0857F604:: @ 857F604
+ .incbin "graphics/unused/cherry.4bpp"
+
+ .align 2
+gUnknown_0857FA84:: @ 857FA84
+ .incbin "graphics/unused/cherry.gbapal"
+
+ .align 2
+gOamData_857FAA4:: @ 857FAA4
+ .2byte 0x0100, 0xc000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_857FAAC:: @ 857FAAC
+ .2byte 0x0000, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_857FAB4:: @ 857FAB4
+ .2byte 0x0040, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_857FABC:: @ 857FABC
+ .2byte 0x0080, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_857FAC4:: @ 857FAC4
+ .2byte 0x00c0, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_857FACC:: @ 857FACC
+ .2byte 0x0100, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_857FAD4:: @ 857FAD4
+ .2byte 0x0140, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_857FADC:: @ 857FADC
+ .4byte gSpriteAnim_857FAAC
+ .4byte gSpriteAnim_857FAB4
+ .4byte gSpriteAnim_857FAC4
+ .4byte gSpriteAnim_857FACC
+ .4byte gSpriteAnim_857FAD4
+ .4byte gSpriteAnim_857FABC
+
+ .align 2
+gSpriteAffineAnim_857FAF4:: @ 857FAF4
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnim_857FB04:: @ 857FB04
+ .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnimTable_857FB2C:: @ 857FB2C
+ .4byte gSpriteAffineAnim_857FAF4
+ .4byte gSpriteAffineAnim_857FB04
+
+ .align 2
gUnknown_0857FB34:: @ 857FB34
- .incbin "baserom.gba", 0x57fb34, 0x8
+ obj_tiles gBagMaleTiles, 0x3000, 0x0064
+ .align 2
gUnknown_0857FB3C:: @ 857FB3C
- .incbin "baserom.gba", 0x57fb3c, 0x8
+ obj_tiles gBagFemaleTiles, 0x3000, 0x0064
+ .align 2
gUnknown_0857FB44:: @ 857FB44
- .incbin "baserom.gba", 0x57fb44, 0x8
+ obj_pal gBagPalette, 0x0064
+ .align 2
gUnknown_0857FB4C:: @ 857FB4C
- .incbin "baserom.gba", 0x57fb4c, 0x4c
+ spr_template 0x0064, 0x0064, gOamData_857FAA4, gSpriteAnimTable_857FADC, NULL, gSpriteAffineAnimTable_857FB2C, SpriteCallbackDummy
+
+ .align 2
+gOamData_857FB64:: @ 857FB64
+ .2byte 0x0000, 0x4800, 0x0800, 0x0000
+ .align 2
+gSpriteAnim_857FB6C:: @ 857FB6C
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_857FB74:: @ 857FB74
+ .4byte gSpriteAnim_857FB6C
+
+ .align 2
+gSpriteAffineAnim_857FB78:: @ 857FB78
+ .2byte 0x0000, 0x0000, 0x1008, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnim_857FB88:: @ 857FB88
+ .2byte 0x0000, 0x0000, 0x10f8, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
gUnknown_0857FB98:: @ 857FB98
- .incbin "baserom.gba", 0x57fb98, 0x4
+ .4byte gSpriteAffineAnim_857FB78
+ .align 2
gUnknown_0857FB9C:: @ 857FB9C
- .incbin "baserom.gba", 0x57fb9c, 0x4
+ .4byte gSpriteAffineAnim_857FB88
+ .align 2
gUnknown_0857FBA0:: @ 857FBA0
- .incbin "baserom.gba", 0x57fba0, 0x8
+ obj_tiles gUnknown_0857F584, 0x0080, 0x0065
+ .align 2
gUnknown_0857FBA8:: @ 857FBA8
- .incbin "baserom.gba", 0x57fba8, 0x8
+ obj_pal gUnknown_0857F564, 0x0065
+ .align 2
gUnknown_0857FBB0:: @ 857FBB0
- .incbin "baserom.gba", 0x57fbb0, 0x3c
+ spr_template 0x0065, 0x0065, gOamData_857FB64, gSpriteAnimTable_857FB74, NULL, gUnknown_0857FB98, ObjectCB_SwitchPocketRotatingBallInit
+
+ .align 2
+gOamData_857FBC8:: @ 857FBC8
+ .2byte 0x0000, 0xc000, 0x7400, 0x0000
+ .align 2
+gOamData_857FBD0:: @ 857FBD0
+ .2byte 0x0300, 0xc000, 0x7000, 0x0000
+
+ .align 2
+gSpriteAnim_857FBD8:: @ 857FBD8
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_857FBE0:: @ 857FBE0
+ .4byte gSpriteAnim_857FBD8
+
+ .align 2
+gOamData_857FBE4:: @ 857FBE4
+ .2byte 0xc000, 0x0201, 0x0800, 0x0000
+
+ .align 2
gUnknown_0857FBEC:: @ 857FBEC
- .incbin "baserom.gba", 0x57fbec, 0x90
+ spr_template 0xffff, 0x7544, gOamData_857FBC8, gSpriteAnimTable_857FBE0, gOamData_857FBE4, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteAffineAnim_857FC04:: @ 857FC04
+ .2byte 0xffff, 0xffff, 0x60fd, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0xfffe, 0xfffe, 0x40ff, 0x0000, 0xfff8, 0x0000, 0x1000, 0x0000
+ .2byte 0x0000, 0xfff8, 0x1000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
+ .align 2
+gSpriteAffineAnim_857FC3C:: @ 857FC3C
+ .2byte 0xffff, 0xffff, 0x6003, 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0xfffe, 0xfffe, 0x4001, 0x0000, 0xfff8, 0x0000, 0x1000, 0x0000
+ .2byte 0x0000, 0xfff8, 0x1000, 0x0000, 0x0100, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnimTable_857FC74:: @ 857FC74
+ .4byte gSpriteAffineAnim_857FC04
+ .4byte gSpriteAffineAnim_857FC3C
+
+ .align 2
gUnknown_0857FC7C:: @ 857FC7C
- .incbin "baserom.gba", 0x57fc7c, 0x18
+ spr_template 0xffff, 0x7544, gOamData_857FBD0, gSpriteAnimTable_857FBE0, gOamData_857FBE4, gSpriteAffineAnimTable_857FC74, SpriteCallbackDummy
@ 857FC94
.include "data/graphics/berries/berry_pic_table.inc"
+ .align 2
gUnknown_0857FDEC:: @ 857FDEC
- .incbin "baserom.gba", 0x57fdec, 0x8
+ obj_tiles gBerryCheckCircle_Gfx, 0x0800, 0x2710
+ .align 2
gUnknown_0857FDF4:: @ 857FDF4
- .incbin "baserom.gba", 0x57fdf4, 0x1c
+ obj_pal gUnknown_08D9BEF0, 0x2710
+
+ .align 2
+gOamData_857FDFC:: @ 857FDFC
+ .2byte 0x0000, 0xc000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_857FE04:: @ 857FE04
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_857FE0C:: @ 857FE0C
+ .4byte gSpriteAnim_857FE04
+ .align 2
gUnknown_0857FE10:: @ 857FE10
- .incbin "baserom.gba", 0x57fe10, 0x18
+ spr_template 0x2710, 0x2710, gOamData_857FDFC, gSpriteAnimTable_857FE0C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0857FE28:: @ 857FE28
- .incbin "baserom.gba", 0x57fe28, 0x18
+ spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5860
+ .align 2
gUnknown_0857FE40:: @ 857FE40
- .incbin "baserom.gba", 0x57fe40, 0x18
+ spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58F8
+ .align 2
gUnknown_0857FE58:: @ 857FE58
- .incbin "baserom.gba", 0x57fe58, 0x18
+ spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5968
+ .align 2
gUnknown_0857FE70:: @ 857FE70
- .incbin "baserom.gba", 0x57fe70, 0x18
+ spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5A94
+ .align 2
gUnknown_0857FE88:: @ 857FE88
- .incbin "baserom.gba", 0x57fe88, 0x18
+ spr_template 0x0000, 0x0000, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5B48
@ 857FEA0
.include "data/text/item_descriptions.inc"
diff --git a/data/librfu_rodata.s b/data/librfu_rodata.s
index 672053e89..aa8f5170d 100644
--- a/data/librfu_rodata.s
+++ b/data/librfu_rodata.s
@@ -1,7 +1,10 @@
.section .rodata
gUnknown_089A3220:: @ 89A3220
- .incbin "baserom.gba", 0x9a3220, 0x20
+ .byte 2, 14, 0, 10, 9, 5, 7, 2
+ .byte 0, 15, 1, 3, 3, 0, 31, 0
+ .byte 3, 22, 18, 14, 13, 9, 11, 3
+ .byte 15, 15, 1, 3, 3, 0, 0x7f, 0
.asciz "RFU_V1026"
diff --git a/data/link.s b/data/link.s
index f1f84c5b8..e458ad5de 100644
--- a/data/link.s
+++ b/data/link.s
@@ -60,7 +60,7 @@ gUnknown_082ED204:: @ 82ED204
window_template 0x00, 0x00, 0x00, 0x1E, 0x05, 0x0F, 0x0002
window_template 0x00, 0x00, 0x06, 0x1E, 0x07, 0x0F, 0x0098
window_template 0x00, 0x00, 0x0D, 0x1E, 0x07, 0x0F, 0x016A
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082ED224:: @ 82ED224
@@ -1887,7 +1887,7 @@ gUnknown_082F05A8:: @ 82F05A8
window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0c, 0x0013
window_template 0x00, 0x01, 0x0f, 0x1c, 0x04, 0x0c, 0x004f
window_template 0x00, 0x00, 0x0f, 0x1e, 0x05, 0x0d, 0x004f
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082F05C8:: @ 82F05C8
@@ -2071,7 +2071,7 @@ gUnknown_082F0D3C:: @ 82F0D3C
window_template 0x00, 0x03, 0x00, 0x18, 0x03, 0x0f, 0x0001
window_template 0x00, 0x03, 0x04, 0x15, 0x0f, 0x0f, 0x0049
window_template 0x00, 0x18, 0x04, 0x03, 0x0f, 0x0f, 0x0184
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082F0D5C:: @ 82F0D5C
@@ -2103,7 +2103,7 @@ gUnknown_082F0DD0:: @ 82F0DD0
.align 2
gUnknown_082F0DD4:: @ 82F0DD4
window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0014
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082F0DE4:: @ 82F0DE4
@@ -2756,7 +2756,7 @@ gUnknown_082F2C70:: @ 82F2C70
window_template 0x01, 0x09, 0x12, 0x0f, 0x02, 0x0c, 0x007a
window_template 0x01, 0x00, 0x02, 0x06, 0x0f, 0x07, 0x0020
window_template 0x00, 0x01, 0x02, 0x07, 0x09, 0x0e, 0x0013
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082F2C98:: @ 82F2C98
@@ -3023,12 +3023,12 @@ gUnknown_082F32F4:: @ 82F32F4
window_template 0x00, 0x00, 0x06, 0x09, 0x02, 0x08, 0x03c9
window_template 0x00, 0x15, 0x03, 0x09, 0x02, 0x08, 0x03b7
window_template 0x00, 0x15, 0x06, 0x09, 0x02, 0x08, 0x03a5
- window_template_terminator
+ null_window_template
window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001
window_template 0x00, 0x05, 0x02, 0x14, 0x10, 0x0f, 0x0001
window_template 0x00, 0x04, 0x02, 0x16, 0x10, 0x0f, 0x0001
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082F3344:: @ 82F3344
@@ -4422,7 +4422,7 @@ gUnknown_082FE164:: @ 82FE164 struct BgTemplate
gUnknown_082FE174:: @ 82FE174
window_template 0x00, 0x13, 0x00, 0x06, 0x02, 0x02, 0x0013
window_template 0x00, 0x08, 0x00, 0x06, 0x02, 0x02, 0x001f
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082FE18C:: @ 82FE18C
diff --git a/data/main_menu.s b/data/main_menu.s
index fba0e7ddb..019fdfab8 100644
--- a/data/main_menu.s
+++ b/data/main_menu.s
@@ -42,7 +42,7 @@ gUnknown_082FF048:: @ 82FF048
.align 2
gUnknown_082FF070:: @ 82FF070
window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x0f, 0x016d
- window_template_terminator
+ null_window_template
.align 2
gUnknown_082FF080:: @ 82FF080
@@ -52,7 +52,7 @@ gUnknown_082FF080:: @ 82FF080
gUnknown_082FF088:: @ 82FF088
window_template 0x00, 0x03, 0x05, 0x06, 0x04, 0x0f, 0x006d
window_template 0x00, 0x03, 0x02, 0x09, 0x0a, 0x0f, 0x0085
- window_template_terminator
+ null_window_template
.align 2
gMainMenuBgPal:: @ 82FF0A0
diff --git a/data/map_name_popup.s b/data/map_name_popup.s
index ff7c3ea4e..7dc1da808 100644
--- a/data/map_name_popup.s
+++ b/data/map_name_popup.s
@@ -4,14 +4,66 @@
.section .rodata
.align 2, 0
-gUnknown_0857C684:: @ 857C684
- .incbin "baserom.gba", 0x57c684, 0x1680
+gMapPopUp_Table:: @ 857C684
+ .incbin "graphics/interface/map_popup/wood.4bpp"
+ .incbin "graphics/interface/map_popup/marble.4bpp"
+ .incbin "graphics/interface/map_popup/stone.4bpp"
+ .incbin "graphics/interface/map_popup/brick.4bpp"
+ .incbin "graphics/interface/map_popup/underwater.4bpp"
+ .incbin "graphics/interface/map_popup/stone2.4bpp"
-gUnknown_0857DD04:: @ 857DD04
- .incbin "baserom.gba", 0x57dd04, 0x1680
+gMapPopUp_Outline_Table:: @ 857DD04
+ .incbin "graphics/interface/map_popup/wood_outline.4bpp"
+ .incbin "graphics/interface/map_popup/marble_outline.4bpp"
+ .incbin "graphics/interface/map_popup/stone_outline.4bpp"
+ .incbin "graphics/interface/map_popup/brick_outline.4bpp"
+ .incbin "graphics/interface/map_popup/underwater_outline.4bpp"
+ .incbin "graphics/interface/map_popup/stone2_outline.4bpp"
-gUnknown_0857F384:: @ 857F384
- .incbin "baserom.gba", 0x57f384, 0xc0
+gMapPopUp_Palette_Table:: @ 857F384
+ .incbin "graphics/interface/map_popup/wood.gbapal"
+ .incbin "graphics/interface/map_popup/marble.gbapal"
+ .incbin "graphics/interface/map_popup/stone.gbapal"
+ .incbin "graphics/interface/map_popup/brick.gbapal"
+ .incbin "graphics/interface/map_popup/underwater.gbapal"
+ .incbin "graphics/interface/map_popup/stone2.gbapal"
gUnknown_0857F444:: @ 857F444
- .incbin "baserom.gba", 0x57f444, 0x20
+ .incbin "graphics/interface/map_popup/857F444.gbapal"
+
+gUnknown_0857F464:: @ 857F464
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x01, 0x01, 0x01, 0x03, 0x01, 0x03, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x05, 0x02, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00, 0x00, 0x02, 0x05, 0x02, 0x02, 0x02, 0x02, 0x00, 0x02, 0x02, 0x01, 0x02, 0x02, 0x02, 0x00, 0x00, 0x02, 0x02, 0x05, 0x02, 0x05, 0x05, 0x05, 0x02, 0x02, 0x02, 0x01
+
+gUnknown_0857F4CC:: @ 857F4CC
+ .string "PYRAMID FLOOR 1$"
+
+gUnknown_0857F4DC:: @ 857F4DC
+ .string "PYRAMID FLOOR 2$"
+
+gUnknown_0857F4EC:: @ 857F4EC
+ .string "PYRAMID FLOOR 3$"
+
+gUnknown_0857F4FC:: @ 857F4FC
+ .string "PYRAMID FLOOR 4$"
+
+gUnknown_0857F50C:: @ 857F50C
+ .string "PYRAMID FLOOR 5$"
+
+gUnknown_0857F51C:: @ 857F51C
+ .string "PYRAMID FLOOR 6$"
+
+gUnknown_0857F52C:: @ 857F52C
+ .string "PYRAMID FLOOR 7$"
+
+gUnknown_0857F53C:: @ 857F53C
+ .string "PYRAMID$"
+
+gUnknown_0857F544:: @ 857F544
+ .4byte gUnknown_0857F4CC
+ .4byte gUnknown_0857F4DC
+ .4byte gUnknown_0857F4EC
+ .4byte gUnknown_0857F4FC
+ .4byte gUnknown_0857F50C
+ .4byte gUnknown_0857F51C
+ .4byte gUnknown_0857F52C
+ .4byte gUnknown_0857F53C
diff --git a/data/map_obj_8097404.s b/data/map_obj_8097404.s
index 161796765..719a78266 100644
--- a/data/map_obj_8097404.s
+++ b/data/map_obj_8097404.s
@@ -2,44 +2,129 @@
.include "constants/constants.inc"
.section .rodata
- .align 2, 0
+ .align 2
+gUnknown_0850E6C4:: @ 850E6C4
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .4byte little_step
+ .align 2
+gUnknown_0850E704:: @ 850E704
+ .4byte double_little_steps
+ .4byte double_little_steps
+ .4byte double_little_steps
+ .4byte double_little_steps
+ .4byte double_little_steps
+ .4byte double_little_steps
+ .4byte double_little_steps
+ .4byte double_little_steps
+
+ .align 2
+gUnknown_0850E724:: @ 850E724
+ .4byte double_little_steps
+ .4byte triple_little_steps
+ .4byte triple_little_steps
+ .4byte double_little_steps
+ .4byte triple_little_steps
+ .4byte triple_little_steps
+
+ .align 2
+gUnknown_0850E73C:: @ 850E73C
+ .4byte quad_little_steps
+ .4byte quad_little_steps
+ .4byte quad_little_steps
+ .4byte quad_little_steps
+
+ .align 2
+gUnknown_0850E74C:: @ 850E74C
+ .4byte oct_little_steps
+ .4byte oct_little_steps
+
+ .align 2
gUnknown_0850E754:: @ 850E754
- .incbin "baserom.gba", 0x50e754, 0x14
+ .4byte gUnknown_0850E6C4
+ .4byte gUnknown_0850E704
+ .4byte gUnknown_0850E724
+ .4byte gUnknown_0850E73C
+ .4byte gUnknown_0850E74C
+ .align 1
gUnknown_0850E768:: @ 850E768
- .incbin "baserom.gba", 0x50e768, 0xa
+ .2byte 0x0010, 0x0008, 0x0006, 0x0004, 0x0002
gUnknown_0850E772:: @ 850E772
- .incbin "baserom.gba", 0x50e772, 0x48
+ .byte 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01
+ .byte 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00
+ .byte 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
gUnknown_0850E7BA:: @ 850E7BA
- .incbin "baserom.gba", 0x50e7ba, 0x7a
+ .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00
+ .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00
+ .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe
+
+gUnknown_0850E802:: @ 850E802
+ .byte 0xfc, 0xfa, 0xf8, 0xf6, 0xf5, 0xf4, 0xf4, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xfa, 0xfc, 0x00, 0x00
+
+gUnknown_0850E812:: @ 850E812
+ .byte 0x00, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xfa, 0xfa, 0xfb, 0xfb, 0xfc, 0xfd, 0xfe, 0x00, 0x00, 0x00
+
+gUnknown_0850E822:: @ 850E822
+ .byte 0xfe, 0xfc, 0xfa, 0xf8, 0xf7, 0xf6, 0xf6, 0xf6, 0xf7, 0xf8, 0xfa, 0xfb, 0xfd, 0xfe, 0x00, 0x00
+ .align 2
gUnknown_0850E834:: @ 850E834
- .incbin "baserom.gba", 0x50e834, 0xc
+ .4byte gUnknown_0850E802
+ .4byte gUnknown_0850E812
+ .4byte gUnknown_0850E822
+ .align 1
gUnknown_0850E840:: @ 850E840
- .incbin "baserom.gba", 0x50e840, 0x6
+ .byte 0x10, 0x00, 0x10, 0x00, 0x20, 0x00
+ .align 1
gUnknown_0850E846:: @ 850E846
- .incbin "baserom.gba", 0x50e846, 0x4
+ .byte 0x00, 0x00, 0x01, 0x00
+ .align 1
gUnknown_0850E84A:: @ 850E84A
- .incbin "baserom.gba", 0x50e84a, 0x6
+ .byte 0x20, 0x00, 0x20, 0x00, 0x40, 0x00
+ .align 1
gUnknown_0850E850:: @ 850E850
- .incbin "baserom.gba", 0x50e850, 0x4
+ .byte 0x01, 0x01, 0x02, 0x00
-// referenced in src/field_map_obj.o
+// referenced in data/field_map_obj.s
+ .align 2
gUnknown_0850E854::
- .incbin "baserom.gba", 0x50e854, 0x8
+ .4byte sub_8097E50
+ .4byte sub_80964B8
+ .align 2
gUnknown_0850E85C::
- .incbin "baserom.gba", 0x50e85C, 0x8
+ .4byte sub_8097EF0
+ .4byte sub_80964B8
+ .align 2
gUnknown_0850E864::
- .incbin "baserom.gba", 0x50e864, 0xc
+ .4byte sub_80980C0
+ .4byte sub_80980D0
+ .4byte sub_8098124
+ .align 2
gUnknown_0850E870::
- .incbin "baserom.gba", 0x50e870, 0xc
+ .4byte sub_80980F4
+ .4byte sub_8098108
+ .4byte sub_8098124
diff --git a/data/mauville_old_man.s b/data/mauville_old_man.s
index d7832b761..c1b4dd1be 100644
--- a/data/mauville_old_man.s
+++ b/data/mauville_old_man.s
@@ -28,13 +28,31 @@ gUnknown_0859F010:: @ 859F010
.4byte gUnknown_082944D5
gUnknown_0859F030:: @ 859F030
- .incbin "baserom.gba", 0x59f030, 0x18
+ .4byte 0, 12, 13, 18, 19, 21
gUnknown_0859F048:: @ 859F048
- .incbin "baserom.gba", 0x59f048, 0x230
+ .4byte 0x00000132, MauvilleCity_PokemonCenter_1F_Text_28E930, MauvilleCity_PokemonCenter_1F_Text_28E947, MauvilleCity_PokemonCenter_1F_Text_28E956, 0x00000102, MauvilleCity_PokemonCenter_1F_Text_28E9D7, MauvilleCity_PokemonCenter_1F_Text_28E9EF, MauvilleCity_PokemonCenter_1F_Text_28E9FE
+ .4byte 0x00000103, MauvilleCity_PokemonCenter_1F_Text_28EA7D, MauvilleCity_PokemonCenter_1F_Text_28EA98, MauvilleCity_PokemonCenter_1F_Text_28EAA8, 0x00000104, MauvilleCity_PokemonCenter_1F_Text_28EB19, MauvilleCity_PokemonCenter_1F_Text_28EB31, MauvilleCity_PokemonCenter_1F_Text_28EB3E
+ .4byte 0x00000106, MauvilleCity_PokemonCenter_1F_Text_28EBB5, MauvilleCity_PokemonCenter_1F_Text_28EBCD, MauvilleCity_PokemonCenter_1F_Text_28EBDD, 0x00000109, MauvilleCity_PokemonCenter_1F_Text_28EC60, MauvilleCity_PokemonCenter_1F_Text_28EC79, MauvilleCity_PokemonCenter_1F_Text_28EC81
+ .4byte 0x0000010b, MauvilleCity_PokemonCenter_1F_Text_28ED04, MauvilleCity_PokemonCenter_1F_Text_28ED21, MauvilleCity_PokemonCenter_1F_Text_28ED30, 0x0000010c, MauvilleCity_PokemonCenter_1F_Text_28EDA1, MauvilleCity_PokemonCenter_1F_Text_28EDB5, MauvilleCity_PokemonCenter_1F_Text_28EDCF
+ .4byte 0x0000010d, MauvilleCity_PokemonCenter_1F_Text_28EE45, MauvilleCity_PokemonCenter_1F_Text_28EE5D, MauvilleCity_PokemonCenter_1F_Text_28EE6A, 0x0000010e, MauvilleCity_PokemonCenter_1F_Text_28EEDD, MauvilleCity_PokemonCenter_1F_Text_28EEF1, MauvilleCity_PokemonCenter_1F_Text_28EF01
+ .4byte 0x0000010f, MauvilleCity_PokemonCenter_1F_Text_28EF73, MauvilleCity_PokemonCenter_1F_Text_28EF95, MauvilleCity_PokemonCenter_1F_Text_28EFAA, 0x00000110, MauvilleCity_PokemonCenter_1F_Text_28F045, MauvilleCity_PokemonCenter_1F_Text_28F05A, MauvilleCity_PokemonCenter_1F_Text_28F071
+ .4byte 0x00000111, MauvilleCity_PokemonCenter_1F_Text_28F0F3, MauvilleCity_PokemonCenter_1F_Text_28F10D, MauvilleCity_PokemonCenter_1F_Text_28F125, 0x00000112, MauvilleCity_PokemonCenter_1F_Text_28F1BE, MauvilleCity_PokemonCenter_1F_Text_28F1D5, MauvilleCity_PokemonCenter_1F_Text_28F1DE
+ .4byte 0x00000113, MauvilleCity_PokemonCenter_1F_Text_28F24F, MauvilleCity_PokemonCenter_1F_Text_28F269, MauvilleCity_PokemonCenter_1F_Text_28F277, 0x00000114, MauvilleCity_PokemonCenter_1F_Text_28F2FC, MauvilleCity_PokemonCenter_1F_Text_28F314, MauvilleCity_PokemonCenter_1F_Text_28F32A
+ .4byte 0x0000011a, MauvilleCity_PokemonCenter_1F_Text_28F3AD, MauvilleCity_PokemonCenter_1F_Text_28F3C6, MauvilleCity_PokemonCenter_1F_Text_28F3D2, 0x0000011b, MauvilleCity_PokemonCenter_1F_Text_28F44B, MauvilleCity_PokemonCenter_1F_Text_28F461, MauvilleCity_PokemonCenter_1F_Text_28F47C
+ .4byte 0x0000011c, MauvilleCity_PokemonCenter_1F_Text_28F50C, MauvilleCity_PokemonCenter_1F_Text_28F51B, MauvilleCity_PokemonCenter_1F_Text_28F538, 0x0000021d, MauvilleCity_PokemonCenter_1F_Text_28F5BE, MauvilleCity_PokemonCenter_1F_Text_28F5D1, MauvilleCity_PokemonCenter_1F_Text_28F5F2
+ .4byte 0x0000011e, MauvilleCity_PokemonCenter_1F_Text_28F678, MauvilleCity_PokemonCenter_1F_Text_28F694, MauvilleCity_PokemonCenter_1F_Text_28F6B4, 0x00000121, MauvilleCity_PokemonCenter_1F_Text_28F751, MauvilleCity_PokemonCenter_1F_Text_28F76A, MauvilleCity_PokemonCenter_1F_Text_28F776
+ .4byte 0x00000124, MauvilleCity_PokemonCenter_1F_Text_28F7F6, MauvilleCity_PokemonCenter_1F_Text_28F811, MauvilleCity_PokemonCenter_1F_Text_28F822, 0x00000125, MauvilleCity_PokemonCenter_1F_Text_28F89C, MauvilleCity_PokemonCenter_1F_Text_28F8AF, MauvilleCity_PokemonCenter_1F_Text_28F8BC
+ .4byte 0x00000126, MauvilleCity_PokemonCenter_1F_Text_28F92F, MauvilleCity_PokemonCenter_1F_Text_28F941, MauvilleCity_PokemonCenter_1F_Text_28F949, 0x00000127, MauvilleCity_PokemonCenter_1F_Text_28F9D1, MauvilleCity_PokemonCenter_1F_Text_28F9EA, MauvilleCity_PokemonCenter_1F_Text_28F9FD
+ .4byte 0x00000128, MauvilleCity_PokemonCenter_1F_Text_28FA81, MauvilleCity_PokemonCenter_1F_Text_28FA99, MauvilleCity_PokemonCenter_1F_Text_28FAA7, 0x00000129, MauvilleCity_PokemonCenter_1F_Text_28FB1D, MauvilleCity_PokemonCenter_1F_Text_28FB35, MauvilleCity_PokemonCenter_1F_Text_28FB47
+ .4byte 0x0000012a, MauvilleCity_PokemonCenter_1F_Text_28FBC4, MauvilleCity_PokemonCenter_1F_Text_28FBD9, MauvilleCity_PokemonCenter_1F_Text_28FBEA, 0x0000012b, MauvilleCity_PokemonCenter_1F_Text_28FC6B, MauvilleCity_PokemonCenter_1F_Text_28FC85, MauvilleCity_PokemonCenter_1F_Text_28FC98
+ .4byte 0x0000012c, MauvilleCity_PokemonCenter_1F_Text_28FD1D, MauvilleCity_PokemonCenter_1F_Text_28FD35, MauvilleCity_PokemonCenter_1F_Text_28FD40, 0x0000012d, MauvilleCity_PokemonCenter_1F_Text_28FDA2, MauvilleCity_PokemonCenter_1F_Text_28FDBD, MauvilleCity_PokemonCenter_1F_Text_28FDCE
+ .4byte 0x0000012e, MauvilleCity_PokemonCenter_1F_Text_28FE57, MauvilleCity_PokemonCenter_1F_Text_28FE72, MauvilleCity_PokemonCenter_1F_Text_28FE88, 0x0000012f, MauvilleCity_PokemonCenter_1F_Text_28FF0C, MauvilleCity_PokemonCenter_1F_Text_28FF27, MauvilleCity_PokemonCenter_1F_Text_28FF44
+ .4byte 0x00000130, MauvilleCity_PokemonCenter_1F_Text_28FFDD, MauvilleCity_PokemonCenter_1F_Text_28FFFA, MauvilleCity_PokemonCenter_1F_Text_29000D
+
gUnknown_0859F278:: @ 859F278
- .incbin "baserom.gba", 0x59f278, 0x10
+ .4byte 0x00000131, MauvilleCity_PokemonCenter_1F_Text_290097, MauvilleCity_PokemonCenter_1F_Text_2900B5, MauvilleCity_PokemonCenter_1F_Text_2900CB
gUnknown_0859F288:: @ 859F288
.4byte 0x00000024, 0x00000008
diff --git a/data/menu_helpers.s b/data/menu_helpers.s
index 8d0e12939..25ca66485 100644
--- a/data/menu_helpers.s
+++ b/data/menu_helpers.s
@@ -4,11 +4,34 @@
.section .rodata
.align 2, 0
+gUnknown_0859F4E8:: @ 859F4E8
+ .2byte 0x00
+ .2byte 0x4000
+ .2byte 0x00
+ .2byte 0x00
+
+gUnknown_0859F4F0:: @ 859F4F0
+ obj_image_anim_frame 0x00, 0x00
+ obj_image_anim_end
+
+gUnknown_0859F4F8:: @ 859F4F8
+ obj_image_anim_frame 0x04, 0x00
+ obj_image_anim_end
+
+gUnknown_0859F500:: @ 859F500
+ obj_image_anim_frame 0x00, 0x40
+ obj_image_anim_end
+
+gUnknown_0859F508:: @ 859F508
+ .4byte gUnknown_0859F4F0
+ .4byte gUnknown_0859F4F8
+ .4byte gUnknown_0859F500
+
gUnknown_0859F514:: @ 859F514
- .incbin "baserom.gba", 0x59f514, 0x8
+ .4byte gBagSwapLineGfx, 0x6D0100
gUnknown_0859F51C:: @ 859F51C
- .incbin "baserom.gba", 0x59f51c, 0x8
+ .4byte gBagSwapLinePal, 0x6D
gUnknown_0859F524:: @ 859F524
- .incbin "baserom.gba", 0x59f524, 0x18
+ spr_template 0x6D, 0x6D, gUnknown_0859F4E8, gUnknown_0859F508, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
diff --git a/data/menu_indicators.s b/data/menu_indicators.s
index 43fc0e139..24353b157 100644
--- a/data/menu_indicators.s
+++ b/data/menu_indicators.s
@@ -4,10 +4,41 @@
.section .rodata
gUnknown_086141FC:: @ 86141FC
- .incbin "baserom.gba", 0x6141fc, 0x48
+ .byte 0, 2, 8, 0
+ .byte 1, 2, -8, -1
+ .byte 18, 2, 8, 0
+ .byte 19, 2, -8, -1
+
+gUnknown_0861420C:: @ 861420C
+ .2byte 0
+ .2byte 0x4000
+ .2byte 0
+ .2byte 0
+
+gUnknown_08614214:: @ 8614214
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+gUnknown_0861421C:: @ 861421C
+ obj_image_anim_frame 0, 0x5e
+ obj_image_anim_end
+
+gUnknown_08614224:: @ 8614224
+ obj_image_anim_frame 4, 30
+ obj_image_anim_end
+
+gUnknown_0861422C:: @ 861422C
+ obj_image_anim_frame 4, 0x9e
+ obj_image_anim_end
+
+gUnknown_08614234:: @ 8614234
+ .4byte gUnknown_08614214
+ .4byte gUnknown_0861421C
+ .4byte gUnknown_08614224
+ .4byte gUnknown_0861422C
gUnknown_08614244:: @ 8614244
- .incbin "baserom.gba", 0x614244, 0x18
+ spr_template 0, 0, gUnknown_0861420C, gUnknown_08614234, NULL, gDummySpriteAffineAnimTable, sub_81AF264
gUnknown_0861425C:: @ 861425C
.4byte 0x00000000
@@ -34,19 +65,29 @@ gUnknown_08614278:: @ 8614278
.4byte 0x00700000
gUnknown_0861427C:: @ 861427C
- .incbin "baserom.gba", 0x61427C, 0x14
+ .2byte 0
+ .2byte 0x4000
+ .2byte 0
+ .2byte 0
+
+gUnknown_08614284:: @ 8614284
+ obj_image_anim_frame 0, 30
+ obj_image_anim_end
+
+gUnknown_0861428C:: @ 861428C
+ .4byte gUnknown_08614284
gUnknown_08614290:: @ 8614290
- .incbin "baserom.gba", 0x614290, 0x18
+ spr_template 0, 0, gUnknown_0861427C, gUnknown_0861428C, NULL, gDummySpriteAffineAnimTable, ObjectCB_RedArrowCursor
gUnknown_086142A8:: @ 86142A8
- .incbin "baserom.gba", 0x6142a8, 0x20
+ .incbin "graphics/interface/red_arrow.gbapal"
gUnknown_086142C8:: @ 86142C8
- .incbin "baserom.gba", 0x6142c8, 0x70
+ .incbin "graphics/interface/red_arrow_other.4bpp.lz"
gUnknown_08614338:: @ 8614338
- .incbin "baserom.gba", 0x614338, 0x40
+ .incbin "graphics/interface/selector_outline.4bpp.lz"
gUnknown_08614378:: @ 8614378
- .incbin "baserom.gba", 0x614378, 0x44
+ .incbin "graphics/interface/red_arrow.4bpp.lz"
diff --git a/data/mon_markings.s b/data/mon_markings.s
index 795b8d8a6..7d30c0012 100644
--- a/data/mon_markings.s
+++ b/data/mon_markings.s
@@ -5,25 +5,153 @@
.align 2, 0
gUnknown_0859E65C:: @ 859E65C
- .incbin "baserom.gba", 0x59e65c, 0x20
+ .incbin "graphics/misc/mon_markings.gbapal"
gUnknown_0859E67C:: @ 859E67C
- .incbin "baserom.gba", 0x59e67c, 0x800
+ .incbin "graphics/misc/mon_markings.4bpp"
gUnknown_0859EE7C:: @ 859EE7C
- .incbin "baserom.gba", 0x59ee7c, 0x8
+ .2byte 0, 0xC000, 0, 0
gUnknown_0859EE84:: @ 859EE84
- .incbin "baserom.gba", 0x59ee84, 0x58
+ .2byte 0, 0, 0, 0
+
+gUnknown_0859EE8C:: @ 859EE8C
+ .2byte 0, 5, -1, 0
+
+gUnknown_0859EE94:: @ 859EE94
+ .2byte 1, 5, -1, 0
+
+gUnknown_0859EE9C:: @ 859EE9C
+ .2byte 2, 5, -1, 0
+
+gUnknown_0859EEA4:: @ 859EEA4
+ .2byte 3, 5, -1, 0
+
+gUnknown_0859EEAC:: @ 859EEAC
+ .2byte 4, 5, -1, 0
+
+gUnknown_0859EEB4:: @ 859EEB4
+ .2byte 5, 5, -1, 0
+
+gUnknown_0859EEBC:: @ 859EEBC
+ .2byte 6, 5, -1, 0
+
+gUnknown_0859EEC4:: @ 859EEC4
+ .2byte 7, 5, -1, 0
+
+gUnknown_0859EECC:: @ 859EECC
+ .2byte 8, 5, -1, 0
+
+gUnknown_0859EED4:: @ 859EED4
+ .2byte 9, 5, -1, 0
gUnknown_0859EEDC:: @ 859EEDC
- .incbin "baserom.gba", 0x59eedc, 0x38
+ .4byte gUnknown_0859EE8C
+ .4byte gUnknown_0859EE94
+ .4byte gUnknown_0859EE9C
+ .4byte gUnknown_0859EEA4
+ .4byte gUnknown_0859EEAC
+ .4byte gUnknown_0859EEB4
+ .4byte gUnknown_0859EEBC
+ .4byte gUnknown_0859EEC4
+ .4byte gUnknown_0859EECC
+ .4byte gUnknown_0859EED4
+gUnknown_0859EF04:: @ 859EF04
+ .2byte 0, 5, -1, 0
+
+gUnknown_0859EF0C:: @ 859EF0C
+ .2byte 64, 5, -1, 0
+
gUnknown_0859EF14:: @ 859EF14
- .incbin "baserom.gba", 0x59ef14, 0x8
+ .4byte gUnknown_0859EF04
+ .4byte gUnknown_0859EF0C
gUnknown_0859EF1C:: @ 859EF1C
- .incbin "baserom.gba", 0x59ef1c, 0x88
+ .2byte 0x4000
+ .2byte 0x4000
+ .2byte 0
+ .2byte 0
+
+gUnknown_0859EF24:: @ 859EF24
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+gUnknown_0859EF2C:: @ 859EF2C
+ obj_image_anim_frame 4, 5
+ obj_image_anim_end
+
+gUnknown_0859EF34:: @ 859EF34
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+gUnknown_0859EF3C:: @ 859EF3C
+ obj_image_anim_frame 12, 5
+ obj_image_anim_end
+
+gUnknown_0859EF44:: @ 859EF44
+ obj_image_anim_frame 16, 5
+ obj_image_anim_end
+
+gUnknown_0859EF4C:: @ 859EF4C
+ obj_image_anim_frame 20, 5
+ obj_image_anim_end
+
+gUnknown_0859EF54:: @ 859EF54
+ obj_image_anim_frame 24, 5
+ obj_image_anim_end
+
+gUnknown_0859EF5C:: @ 859EF5C
+ obj_image_anim_frame 28, 5
+ obj_image_anim_end
+
+gUnknown_0859EF64:: @ 859EF64
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+gUnknown_0859EF6C:: @ 859EF6C
+ obj_image_anim_frame 36, 5
+ obj_image_anim_end
+
+gUnknown_0859EF74:: @ 859EF74
+ obj_image_anim_frame 40, 5
+ obj_image_anim_end
+
+gUnknown_0859EF7C:: @ 859EF7C
+ obj_image_anim_frame 44, 5
+ obj_image_anim_end
+
+gUnknown_0859EF84:: @ 859EF84
+ obj_image_anim_frame 48, 5
+ obj_image_anim_end
+
+gUnknown_0859EF8C:: @ 859EF8C
+ obj_image_anim_frame 52, 5
+ obj_image_anim_end
+
+gUnknown_0859EF94:: @ 859EF94
+ obj_image_anim_frame 56, 5
+ obj_image_anim_end
+
+gUnknown_0859EF9C:: @ 859EF9C
+ obj_image_anim_frame 60, 5
+ obj_image_anim_end
gUnknown_0859EFA4:: @ 859EFA4
- .incbin "baserom.gba", 0x59efa4, 0x40
+ .4byte gUnknown_0859EF24
+ .4byte gUnknown_0859EF2C
+ .4byte gUnknown_0859EF34
+ .4byte gUnknown_0859EF3C
+ .4byte gUnknown_0859EF44
+ .4byte gUnknown_0859EF4C
+ .4byte gUnknown_0859EF54
+ .4byte gUnknown_0859EF5C
+ .4byte gUnknown_0859EF64
+ .4byte gUnknown_0859EF6C
+ .4byte gUnknown_0859EF74
+ .4byte gUnknown_0859EF7C
+ .4byte gUnknown_0859EF84
+ .4byte gUnknown_0859EF8C
+ .4byte gUnknown_0859EF94
+ .4byte gUnknown_0859EF9C
diff --git a/data/mystery_event_menu.s b/data/mystery_event_menu.s
index 1dbe2d580..bb8330497 100644
--- a/data/mystery_event_menu.s
+++ b/data/mystery_event_menu.s
@@ -4,7 +4,9 @@
.section .rodata
gUnknown_085EFD64:: @ 85EFD64
- .incbin "baserom.gba", 0x5efd64, 0x4
+ .4byte 0x1F8
gUnknown_085EFD68:: @ 85EFD68
- .incbin "baserom.gba", 0x5efd68, 0x18
+ window_template 0, 4, 15, 22, 4, 14, 20
+ window_template 0, 7, 6, 16, 4, 14, 0x6C
+ null_window_template
diff --git a/data/mystery_event_msg.s b/data/mystery_event_msg.s
index e5525477d..c89f96506 100644
--- a/data/mystery_event_msg.s
+++ b/data/mystery_event_msg.s
@@ -1,6 +1,14 @@
+#include "constants/flags.h"
+#include "constants/items.h"
+#include "constants/moves.h"
+#include "constants/songs.h"
+#include "constants/species.h"
+#include "constants/vars.h"
.include "asm/macros.inc"
+ .include "asm/macros/event.inc"
.include "constants/constants.inc"
+
.section .rodata
gText_MysteryGiftBerry:: @ 8674AE4
@@ -34,63 +42,334 @@ gText_MysteryGiftNewTrainer:: @ 8674C31
gText_MysteryGiftCantBeUsed:: @ 8674C86
.string "This data can’t be used in\nthis version.$"
-gUnknown_08674CAF:: @ 8674CAF
- .incbin "baserom.gba", 0x00674caf, 0x2e
+ .align 2
+gUnknown_08674CB0:: @ 8674CB0
+ setvaddress gUnknown_08674CB0
+ setorcopyvar 0x800D, 1
+ specialvar 0x8008, sub_813986C
+ setorcopyvar 0x800D, 0
+ specialvar 0x8009, sub_813986C
+ subvar 0x8008, 32777
+ buffernumberstring 0, 0x8008
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftStampCard
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftStampCard::
.string "Thank you for using the STAMP CARD\nSystem.\pYou have {STR_VAR_1} more to collect to\nfill your STAMP CARD.$"
gUnknown_08674D3D:: @ 8674D3D
- .incbin "baserom.gba", 0x00674d3d, 0xa1
+ setvaddress gUnknown_08674D3D
+ checkflag 0x1E4
+ vgoto_if 0, EventScript_674D4C
+ gotoram
+
+EventScript_674D4C:: @ 8674D4C
+ specialvar 0x40DD, CalculatePlayerPartyCount
+ compare_var_to_value 0x40DD, 6
+ vgoto_if 1, EventScript_674D73
+ setflag 0x1E4
+ vcall EventScript_674D7E
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftEgg
+ waitmessage
+ waitbuttonpress
+ playfanfare 370
+ waitfanfare
+ release
+ end
+
+EventScript_674D73:: @ 8674D73
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftEgg_2
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_674D7E:: @ 8674D7E
+ giveegg SPECIES_PICHU
+ setmonobedient 0x40DD
+ setmonmetlocation 0x40DD, 255
+ compare_var_to_value 0x40DD, 1
+ vgoto_if 1, EventScript_674DC0
+ compare_var_to_value 0x40DD, 2
+ vgoto_if 1, EventScript_674DC6
+ compare_var_to_value 0x40DD, 3
+ vgoto_if 1, EventScript_674DCC
+ compare_var_to_value 0x40DD, 4
+ vgoto_if 1, EventScript_674DD2
+ compare_var_to_value 0x40DD, 5
+ vgoto_if 1, EventScript_674DD8
+ return
+
+EventScript_674DC0:: @ 8674DC0
+ setmonmove 1, 2, 57
+ return
+
+EventScript_674DC6:: @ 8674DC6
+ setmonmove 2, 2, 57
+ return
+
+EventScript_674DCC:: @ 8674DCC
+ setmonmove 3, 2, 57
+ return
+
+EventScript_674DD2:: @ 8674DD2
+ setmonmove 4, 2, 57
+ return
+
+EventScript_674DD8:: @ 8674DD8
+ setmonmove 5, 2, 57
+ return
gText_MysteryGiftEgg::
.string "Thank you for using the MYSTERY\nGIFT System.\pFrom the POKéMON CENTER we\nhave a gift--a POKéMON EGG!\pPlease raise it with love and\nkindness.$"
+
+gText_MysteryGiftEgg_2::
.string "Oh, your party appears to be full.\pPlease come see me after storing\na POKéMON on a PC.$"
gUnknown_08674EC1:: @ 8674EC1
- .incbin "baserom.gba", 0x00674ec1, 0x29
+ setvaddress gUnknown_08674EC1
+ special sub_81652B4
+ compare_var_to_value 0x800D, 0
+ vgoto_if 1, EventScript_674EDF
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftVisitingTrainer
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_674EDF:: @ 8674EDF
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftVisitingTrainer_2
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftVisitingTrainer::
.string "Thank you for using the MYSTERY\nGIFT System.\pBy holding this WONDER CARD, you\nmay take part in a survey at a\lPOKéMON MART.\pUse these surveys to invite\nTRAINERS to SOOTOPOLIS CITY.\p…Let me give you a secret\npassword for a survey:\p“GIVE ME\nAWESOME TRAINER”\pWrite that in on a survey and send\nit to the WIRELESS\lCOMMUNICATION SYSTEM.$"
+
+gText_MysteryGiftVisitingTrainer_2::
.string "Thank you for using the MYSTERY\nGIFT System.\pA TRAINER has arrived in\nSOOTOPOLIS CITY looking for you.\pWe hope you will enjoy\nbattling the visiting TRAINER.\pYou may invite other TRAINERS by\nentering other passwords.\pTry looking for other passwords\nthat may work.$"
gUnknown_0867513C:: @ 867513C
- .incbin "baserom.gba", 0x0067513c, 0x48
+ setvaddress gUnknown_0867513C
+ checkflag 0x1E4
+ vgoto_if 1, EventScript_675179
+ setorcopyvar 0x800D, 2
+ specialvar 0x8008, sub_813986C
+ compare_var_to_value 0x8008, 3
+ vgoto_if 0, EventScript_675179
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftBattleCountCard_2
+ waitmessage
+ waitbuttonpress
+ giveitem_std 13
+ release
+ setflag 0x1E4
+ end
+
+EventScript_675179:: @ 8675179
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftBattleCountCard
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftBattleCountCard::
.string "Thank you for using the MYSTERY\nGIFT System.\pYour BATTLE COUNT CARD keeps\ntrack of your battle record against\lTRAINERS with the same CARD.\pLook for and battle TRAINERS who\nhave the same CARD as you.\pYou may check the overall rankings\nby reading the NEWS.\pPlease do give it a try!$"
+
+gText_MysteryGiftBattleCountCard_2::
.string "Thank you for using the MYSTERY\nGIFT System.\pCongratulations!\pYou have won a prize for winning\nthree battles!\pWe hope you will be inspired to\nbattle some more.$"
gUnknown_0867533C:: @ 867533C
- .incbin "baserom.gba", 0x0067533c, 0x6d
+ setvaddress gUnknown_0867533C
+ lock
+ faceplayer
+ checkflag 0x13A
+ vgoto_if 1, EventScript_6753A0
+ checkflag 0x1AD
+ vgoto_if 1, EventScript_6753A0
+ checkitem 371, 1
+ compare_var_to_value 0x800D, 1
+ vgoto_if 1, EventScript_6753A0
+ vmessage gText_MysteryGiftTicket1
+ waitmessage
+ waitbuttonpress
+ checkitemspace 371, 1
+ compare_var_to_value 0x800D, 0
+ vgoto_if 1, EventScript_675397
+ giveitem_std 371
+ setflag 0x8D5
+ setflag 0x13A
+ vmessage gText_MysteryGiftTicket1_1
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_675397:: @ 8675397
+ vmessage gText_MysteryGiftTicket1_3
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_6753A0:: @ 86753A0
+ vmessage gText_MysteryGiftTicket1_2
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftTicket1::
.string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$"
+
+gText_MysteryGiftTicket1_1::
.string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
+
+gText_MysteryGiftTicket1_2::
.string "Thank you for using the MYSTERY\nGIFT System.$"
+
+gText_MysteryGiftTicket1_3::
.string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$"
gUnknown_0867550B:: @ 867550B
- .incbin "baserom.gba", 0x0067550b, 0x76
+ setvaddress gUnknown_0867550B
+ lock
+ faceplayer
+ checkflag 0x13B
+ vgoto_if 1, EventScript_675578
+ checkflag 0x91
+ vgoto_if 1, EventScript_675578
+ checkflag 0x92
+ vgoto_if 1, EventScript_675578
+ checkitem 370, 1
+ compare_var_to_value 0x800D, 1
+ vgoto_if 1, EventScript_675578
+ vmessage gText_MysteryGiftTicket2
+ waitmessage
+ waitbuttonpress
+ checkitemspace 370, 1
+ compare_var_to_value 0x800D, 0
+ vgoto_if 1, EventScript_67556F
+ giveitem_std 370
+ setflag 0x8E0
+ setflag 0x13B
+ vmessage gText_MysteryGiftTicket2_1
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_67556F:: @ 867556F
+ vmessage gText_MysteryGiftTicket2_3
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_675578:: @ 8675578
+ vmessage gText_MysteryGiftTicket2_2
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftTicket2::
.string "Thank you for using the MYSTERY\nGIFT System.\pYou must be {PLAYER}.\nThere is a ticket here for you.$"
+
+gText_MysteryGiftTicket2_1::
.string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
+
+gText_MysteryGiftTicket2_2::
.string "Thank you for using the MYSTERY\nGIFT System.$"
+
+gText_MysteryGiftTicket2_3::
.string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$"
gUnknown_086756E3:: @ 86756E3
- .incbin "baserom.gba", 0x006756e3, 0x25
+ setvaddress gUnknown_086756E3
+ addvar 0x403E, 1
+ compare_var_to_value 0x403E, 10
+ vgoto_if 0, EventScript_6756FD
+ setvar 0x403E, 0
+
+EventScript_6756FD:: @ 86756FD
+ lock
+ faceplayer
+ vmessage gText_MysteryGiftAlteringCave
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftAlteringCave::
.string "Thank you for using the MYSTERY\nGIFT System.\pThere appears to be a rumor about\nrare POKéMON sightings.\pThe sightings reportedly came from\nthe ALTERING CAVE on ROUTE 103.\pPerhaps it would be worthwhile for\nyou to investigate this rumor.$"
gUnknown_086757F4:: @ 86757F4
- .incbin "baserom.gba", 0x006757f4, 0x6d
+ setvaddress gUnknown_086757F4
+ lock
+ faceplayer
+ checkflag 0x13C
+ vgoto_if 1, EventScript_675858
+ checkflag 0x1CA
+ vgoto_if 1, EventScript_675858
+ checkitem 376, 1
+ compare_var_to_value 0x800D, 1
+ vgoto_if 1, EventScript_675858
+ vmessage gText_MysteryGiftOldSeaMap
+ waitmessage
+ waitbuttonpress
+ checkitemspace 376, 1
+ compare_var_to_value 0x800D, 0
+ vgoto_if 1, EventScript_67584F
+ giveitem_std 376
+ setflag 0x8D6
+ setflag 0x13C
+ vmessage gText_MysteryGiftOldSeaMap_1
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_67584F:: @ 867584F
+ vmessage gText_MysteryGiftOldSeaMap_3
+ waitmessage
+ waitbuttonpress
+ release
+ end
+
+EventScript_675858:: @ 8675858
+ vmessage gText_MysteryGiftOldSeaMap_2
+ waitmessage
+ waitbuttonpress
+ release
+ end
gText_MysteryGiftOldSeaMap::
.string "Thank you for using the MYSTERY\nGIFT System.\pLet me confirm--you are {PLAYER}?\pWe received this OLD SEA MAP\naddressed to you.$"
+
+gText_MysteryGiftOldSeaMap_1::
.string "It appears to be for use at the\nLILYCOVE CITY port.\pWhy not give it a try and see what\nit is about?$"
+
+gText_MysteryGiftOldSeaMap_2::
.string "Thank you for using the MYSTERY\nGIFT System.$"
+
+gText_MysteryGiftOldSeaMap_3::
.string "Oh, I’m sorry, {PLAYER}.\nYour BAG’s KEY ITEMS POCKET is full.\pPlease store something on your PC,\nthen come back for this.$"
.align 2
diff --git a/data/naming_screen.s b/data/naming_screen.s
index 607842f58..a23fb96fb 100644
--- a/data/naming_screen.s
+++ b/data/naming_screen.s
@@ -3,9 +3,20 @@
.section .rodata
+ .align 2
+gUnknown_0858BBF8:: @ 858BBF8
+ .incbin "graphics/naming_screen/pc_icon/0.4bpp"
+
+ .align 2
+gUnknown_0858BCB8:: @ 858BCB8
+ .incbin "graphics/naming_screen/pc_icon/1.4bpp"
+
+ .align 2
gUnknown_0858BD78:: @ 858BD78
- .incbin "baserom.gba", 0x58bd78, 0x40
+ .incbin "graphics/naming_screen/0.gbapal"
+ .incbin "graphics/naming_screen/1.gbapal"
+ .align 2
gUnknown_0858BDB8:: @ 858BDB8
.4byte gText_PkmnTransferredSomeonesPC
.4byte gText_PkmnTransferredLanettesPC
@@ -14,13 +25,19 @@ gUnknown_0858BDB8:: @ 858BDB8
gUnknown_0858BDC8:: @ 858BDC8
.string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!$"
- .align 2
+ .align 2
gUnknown_0858BE00:: @ 858BE00
- .incbin "baserom.gba", 0x58be00, 0x10
+ .4byte 0x000001e0, 0x000011d9, 0x000021ca, 0x000031ff
+ .align 2
gUnknown_0858BE10:: @ 858BE10
- .incbin "baserom.gba", 0x58be10, 0x30
+ window_template 0x01, 0x03, 0x0a, 0x13, 0x08, 0x0a, 0x0030
+ window_template 0x02, 0x03, 0x0a, 0x13, 0x08, 0x0a, 0x00c8
+ window_template 0x03, 0x08, 0x06, 0x11, 0x02, 0x0a, 0x0030
+ window_template 0x03, 0x08, 0x04, 0x11, 0x02, 0x0a, 0x0052
+ window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0b, 0x0074
+ null_window_template
gUnknown_0858BE40:: @ 858BE40
.string "abcdef .ghijkl ,mnopqrs tuvwxyz ABCDEF .GHIJKL ,MNOPQRS TUVWXYZ 01234 56789 !?♂♀/- …“”‘’ "
@@ -86,17 +103,18 @@ gUnknown_0858BF28:: @ 858BF28
.4byte sub_80E46E8
gUnknown_0858BF34:: @ 858BF34
- .incbin "baserom.gba", 0x58bf34, 0xa
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00
gUnknown_0858BF3E:: @ 858BF3E
- .incbin "baserom.gba", 0x58bf3e, 0xa
+ .byte 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
gUnknown_0858BF48:: @ 858BF48
- .incbin "baserom.gba", 0x58bf48, 0x8
+ .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00
gUnknown_0858BF50:: @ 858BF50
- .incbin "baserom.gba", 0x58bf50, 0x8
+ .byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
+ .align 2
gUnknown_0858BF58:: @ 858BF58
.4byte sub_80E4894
.4byte sub_80E4894
@@ -104,13 +122,15 @@ gUnknown_0858BF58:: @ 858BF58
.4byte sub_80E48E8
.4byte sub_80E4894
+ .align 2
gUnknown_0858BF6C:: @ 858BF6C
.4byte TaskDummy3
.4byte sub_80E49BC
+ .align 2
gUnknown_0858BF74:: @ 858BF74
- .incbin "baserom.gba", 0x58bf74, 0x8
-
+ window_template 0x00, 0x09, 0x08, 0x00, 0x05, 0x04, 0x0000
+
gUnknown_0858BF7C:: @ 858BF7C
.4byte 0x0002010D
@@ -134,20 +154,29 @@ gUnknown_0858BF98:: @ 858BF98
.4byte gUnknown_08DD47A0
gUnknown_0858BFA4:: @ 858BFA4
- .incbin "baserom.gba", 0x58bfa4, 0x4
-
+ .byte 0x0f, 0x01, 0x02
+
+ .align 2
gUnknown_0858BFA8:: @ 858BFA8
- .incbin "baserom.gba", 0x58bfa8, 0xc
+ .byte 0x00, 0x07, 0x01, 0x00, 0x01, 0x23, 0x00, 0x00
+ .4byte gText_YourName
+ .align 2
gUnknown_0858BFB4:: @ 858BFB4
- .incbin "baserom.gba", 0x58bfb4, 0xc
-
+ .byte 0x00, 0x08, 0x02, 0x00, 0x01, 0x13, 0x00, 0x00
+ .4byte gText_BoxName
+
+ .align 2
gUnknown_0858BFC0:: @ 858BFC0
- .incbin "baserom.gba", 0x58bfc0, 0xc
-
+ .byte 0x00, 0x0a, 0x03, 0x01, 0x01, 0x23, 0x00, 0x00
+ .4byte gText_PkmnsNickname
+
+ .align 2
gUnknown_0858BFCC:: @ 858BFCC
- .incbin "baserom.gba", 0x58bfcc, 0xc
+ .byte 0x01, 0x0f, 0x04, 0x00, 0x01, 0x0b, 0x00, 0x00
+ .4byte gText_TellHimTheWords
+ .align 2
gUnknown_0858BFD8:: @ 858BFD8
.4byte gUnknown_0858BFA8
.4byte gUnknown_0858BFB4
@@ -155,48 +184,125 @@ gUnknown_0858BFD8:: @ 858BFD8
.4byte gUnknown_0858BFC0
.4byte gUnknown_0858BFCC
-gUnknown_0858BFEC:: @ 858BFEC
- .incbin "baserom.gba", 0x58bfec, 0x64
-
+ .align 2
+gOamData_858BFEC:: @ 858BFEC
+ .2byte 0x0000, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gOamData_858BFF4:: @ 858BFF4
+ .2byte 0x0000, 0x4000, 0x0000, 0x0000
+
+ .align 2
+gOamData_858BFFC:: @ 858BFFC
+ .2byte 0x4000, 0x8000, 0x0000, 0x0000
+
+ .align 2
+gUnknown_0858C004:: @ 858C004
+ .byte 0xec, 0xf0, 0x05, 0x40, 0x0c, 0xf0, 0x40, 0x40, 0xec, 0xf8, 0x55, 0x40, 0x0c, 0xf8, 0x90, 0x40, 0xec, 0x00, 0xa5, 0x40, 0x0c, 0x00, 0xe0, 0x40, 0xec, 0x08, 0xf5, 0x40, 0x0c, 0x08, 0x30, 0x41
+
+ .align 2
+gUnknown_0858C024:: @ 858C024
+ .byte 0xf4, 0xfc, 0x01, 0x40, 0x04, 0xfc, 0x20, 0x40
+
+ .align 2
+gUnknown_0858C02C:: @ 858C02C
+ .byte 0xec, 0xf4, 0x05, 0x40, 0x0c, 0xf4, 0x40, 0x40, 0xec, 0xfc, 0x55, 0x40, 0x0c, 0xfc, 0x90, 0x40, 0xec, 0x04, 0xa5, 0x40, 0x0c, 0x04, 0xe0, 0x40
+
+ .align 2
+gUnknown_0858C044:: @ 858C044
+ .byte 0xf8, 0xf4, 0x01, 0xc0, 0xf8, 0xfc, 0x21, 0xc0, 0xf8, 0x04, 0x41, 0xc0
+
+ .align 2
gUnknown_0858C050:: @ 858C050
- .incbin "baserom.gba", 0x58c050, 0x8
+ .byte 0x08, 0x00, 0x00, 0x00
+ .4byte gUnknown_0858C004
+ .align 2
gUnknown_0858C058:: @ 858C058
- .incbin "baserom.gba", 0x58c058, 0x18
+ .4byte 0x02
+ .4byte gUnknown_0858C024
+ .4byte 0x02
+ .4byte gUnknown_0858C024
+ .4byte 0x02
+ .4byte gUnknown_0858C024
+ .align 2
gUnknown_0858C070:: @ 858C070
- .incbin "baserom.gba", 0x58c070, 0x8
+ .4byte 0x06
+ .4byte gUnknown_0858C02C
+ .align 2
gUnknown_0858C078:: @ 858C078
- .incbin "baserom.gba", 0x58c078, 0x48
+ .4byte 0x03
+ .4byte gUnknown_0858C044
+ .align 2
+gUnknown_0858C080:: @ 858C080
+ obj_frame_tiles gUnknown_0858BBF8, 0x00c0
+ obj_frame_tiles gUnknown_0858BCB8, 0x00c0
+
+ .align 2
+gSpriteAnim_858C090:: @ 858C090
+ .2byte 0x0000, 0x0001, 0xfffe, 0x0000
+
+ .align 2
+gSpriteAnim_858C098:: @ 858C098
+ .2byte 0x0004, 0x0008, 0x0008, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_858C0A4:: @ 858C0A4
+ .2byte 0x0000, 0x0002, 0x0001, 0x0002, 0xfffe, 0x0000
+
+ .align 2
+gSpriteAnimTable_858C0B0:: @ 858C0B0
+ .4byte gSpriteAnim_858C090
+
+ .align 2
+gSpriteAnimTable_858C0B4:: @ 858C0B4
+ .4byte gSpriteAnim_858C090
+ .4byte gSpriteAnim_858C098
+
+ .align 2
+gSpriteAnimTable_858C0BC:: @ 858C0BC
+ .4byte gSpriteAnim_858C0A4
+
+ .align 2
gUnknown_0858C0C0:: @ 858C0C0
- .incbin "baserom.gba", 0x58c0c0, 0x18
+ spr_template 0x0002, 0x0004, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, sub_80E4084
+ .align 2
gUnknown_0858C0D8:: @ 858C0D8
- .incbin "baserom.gba", 0x58c0d8, 0x18
+ spr_template 0x0003, 0x0001, gOamData_858BFFC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0858C0F0:: @ 858C0F0
- .incbin "baserom.gba", 0x58c0f0, 0x18
+ spr_template 0x0004, 0x0004, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0858C108:: @ 858C108
- .incbin "baserom.gba", 0x58c108, 0x18
+ spr_template 0x0000, 0x0006, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0858C120:: @ 858C120
- .incbin "baserom.gba", 0x58c120, 0x18
+ spr_template 0x0001, 0x0007, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0858C138:: @ 858C138
- .incbin "baserom.gba", 0x58c138, 0x18
+ spr_template 0x0007, 0x0005, gOamData_858BFF4, gSpriteAnimTable_858C0B4, NULL, gDummySpriteAffineAnimTable, sub_80E3B30
+ .align 2
gUnknown_0858C150:: @ 858C150
- .incbin "baserom.gba", 0x58c150, 0x18
+ spr_template 0x000a, 0x0003, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, sub_80E3C20
+ .align 2
gUnknown_0858C168:: @ 858C168
- .incbin "baserom.gba", 0x58c168, 0x18
+ spr_template 0x000b, 0x0003, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, sub_80E3C6C
+ .align 2
gUnknown_0858C180:: @ 858C180
- .incbin "baserom.gba", 0x58c180, 0x18
+ spr_template 0xffff, 0x0000, gOamData_858BFEC, gSpriteAnimTable_858C0BC, gUnknown_0858C080, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0858C198:: @ 858C198
.4byte gUnknown_0862B88D
.4byte gUnknown_0862B8AE
@@ -211,8 +317,30 @@ gUnknown_0858C198:: @ 858C198
.4byte gUnknown_0862B9C7
.4byte gUnknown_0862B9E0
+ .align 2
gUnknown_0858C1C8:: @ 858C1C8
- .incbin "baserom.gba", 0x58c1c8, 0x68
+ obj_tiles gNamingScreenRWindow_Gfx+0x280, 0x01e0, 0x0000
+ obj_tiles gNamingScreenRWindow_Gfx+0x460, 0x01e0, 0x0001
+ obj_tiles gNamingScreenRWindow_Gfx, 0x0280, 0x0002
+ obj_tiles gNamingScreenKeyboardButton_Gfx+0x20, 0x0100, 0x0003
+ obj_tiles gNamingScreenROptions_Gfx, 0x0060, 0x0004
+ obj_tiles gNamingScreenROptions_Gfx+0xA0, 0x0060, 0x0005
+ obj_tiles gNamingScreenROptions_Gfx+0x140, 0x0060, 0x0006
+ obj_tiles gNamingScreenCursor_Gfx, 0x0080, 0x0007
+ obj_tiles gNamingScreenCursor_Gfx+0xA0, 0x0080, 0x0008
+ obj_tiles gNamingScreenCursor_Gfx+0x140, 0x0080, 0x0009
+ obj_tiles gNamingScreenRightPointingTriangleTiles, 0x0020, 0x000a
+ obj_tiles gNamingScreenUnderscoreTiles, 0x0020, 0x000b
+ null_obj_tiles
+ .align 2
gUnknown_0858C230:: @ 858C230
- .incbin "baserom.gba", 0x58c230, 0x48
+ obj_pal gNamingScreenMenu_Pal, 0x0000
+ obj_pal gNamingScreenMenu_Pal+0x20, 0x0001
+ obj_pal gNamingScreenMenu_Pal+0x40, 0x0002
+ obj_pal gNamingScreenMenu_Pal+0x60, 0x0003
+ obj_pal gNamingScreenMenu_Pal+0x80, 0x0004
+ obj_pal gNamingScreenMenu_Pal+0xA0, 0x0005
+ obj_pal gNamingScreenMenu_Pal+0x80, 0x0006
+ obj_pal gNamingScreenMenu_Pal+0x80, 0x0007
+ null_obj_pal
diff --git a/data/new_menu_helpers.s b/data/new_menu_helpers.s
index 8d4e43b15..c11d73d7c 100644
--- a/data/new_menu_helpers.s
+++ b/data/new_menu_helpers.s
@@ -4,24 +4,50 @@
.section .rodata
gUnknown_0860F074:: @ 860F074
- .incbin "baserom.gba", 0x60f074, 0x20
+ .incbin "graphics/interface/860F074.gbapal"
gUnknown_0860F094:: @ 860F094
- .incbin "baserom.gba", 0x60f094, 0x4
+ .byte 8, 4, 1, 0
gUnknown_0860F098:: @ 860F098
- .incbin "baserom.gba", 0x60f098, 0x10
+ window_template 0, 2, 15, 27, 4, 15, 0x194
+ null_window_template
gUnknown_0860F0A8:: @ 860F0A8
- .incbin "baserom.gba", 0x60f0a8, 0x8
+ window_template 0, 21, 9, 5, 4, 15, 0x125
@ These are not referenced in src/new_menu_helpers.c; rather, they are in src/menu.c. Regardless, they were plopped here.
gUnknown_0860F0B0:: @ 860F0B0
- .incbin "baserom.gba", 0x60f0b0, 0x20
+ .incbin "graphics/interface/860F0B0.gbapal"
gUnknown_0860F0D0:: @ 860F0D0
- .incbin "baserom.gba", 0x60f0d0, 0x4
+ .byte 15, 1, 2, 0
gUnknown_0860F0D4:: @ 860F0D4
- .incbin "baserom.gba", 0x60f0d4, 0x68
+ .2byte 0xC0C, 0
+ .2byte 0xC20, 32
+ .2byte 0xC20, 100
+ .2byte 0xC20, 0x60
+ .2byte 0xC20, 0x80
+ .2byte 0xC20, 0x48
+ .2byte 0xC20, 0x44
+ .2byte 0xC20, 0x6C
+ .2byte 0xC20, 0x68
+ .2byte 0xC20, 0x88
+ .2byte 0xC20, 0xA4
+ .2byte 0xC20, 0x24
+ .2byte 0xC20, 0x28
+ .2byte 0xC20, 0x2C
+ .2byte 0xC20, 0x40
+ .2byte 0xC20, 0x84
+ .2byte 0xC20, 0x4C
+ .2byte 0xC20, 0xA0
+ .2byte 0xC20, 0x8C
+ .2byte 0xC2A, 0xA8
+ .2byte 0xC2A, 0xC0
+ .2byte 0xC2A, 0xC8
+ .2byte 0xC2A, 0xE0
+ .2byte 0xC2A, 0xE8
+ .2byte 0x808, 0xAE
+ .2byte 0x808, 0xAF
diff --git a/data/option_menu.s b/data/option_menu.s
deleted file mode 100644
index 05db7fddf..000000000
--- a/data/option_menu.s
+++ /dev/null
@@ -1,20 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_0855C604:: @ 855C604
- .incbin "baserom.gba", 0x55c604, 0x60
-
-gUnknown_0855C664:: @ 855C664
- .incbin "baserom.gba", 0x55c664, 0x1c
-
-gUnknown_0855C680:: @ 855C680
- .incbin "baserom.gba", 0x55c680, 0x18
-
-gUnknown_0855C698:: @ 855C698
- .incbin "baserom.gba", 0x55c698, 0x8
-
-gUnknown_0855C6A0:: @ 855C6A0
- .incbin "baserom.gba", 0x55c6a0, 0x4
diff --git a/data/overworld.s b/data/overworld.s
index 890829cd9..186af6f44 100644
--- a/data/overworld.s
+++ b/data/overworld.s
@@ -4,22 +4,49 @@
.section .rodata
.align 2, 0
gUnknown_08339D3C:: @ 8339D3C
- .incbin "baserom.gba", 0x339d3c, 0x28
+ .4byte 0xFFFFFF, 0xFFFFFFFF, 0x4B0, 0xE10, 0x4B0, 0x960, 0x32, 0x50, 0xFFFFFFD4, 0x2C
gUnknown_08339D64:: @ 8339D64
- .incbin "baserom.gba", 0x339d64, 0x48
+ .4byte 0, 0
+ .4byte 0, 1
+ .4byte 0, -1
+ .4byte -1, 0
+ .4byte 1, 0
+ .4byte -1, 1
+ .4byte 1, 1
+ .4byte -1, -1
+ .4byte 1, -1
gUnknown_08339DAC:: @ 8339DAC
- .incbin "baserom.gba", 0x339dac, 0x10
+ .4byte 0x1F8
+ .4byte 0x11D1
+ .4byte 0x21C2
+ .4byte 0x31E3
gUnknown_08339DBC:: @ 8339DBC
- .incbin "baserom.gba", 0x339dbc, 0xc
+ .4byte REG_WIN0H
+ .4byte 0xa2600001
+ .byte 1, 0
+ .align 2
gUnknown_08339DC8:: @ 8339DC8
- .incbin "baserom.gba", 0x339dc8, 0xc
+ .4byte sub_80879D8
+ .4byte sub_80879F8
+ .4byte sub_80879FC
gUnknown_08339DD4:: @ 8339DD4
- .incbin "baserom.gba", 0x339dd4, 0x2c
+ .4byte sub_8087A1C
+ .4byte sub_8087A20
+ .4byte sub_8087A20
+ .4byte sub_8087A20
+ .4byte sub_8087A20
+ .4byte sub_8087A1C
+ .4byte sub_8087A1C
+ .4byte sub_8087A88
+ .4byte sub_8087A88
+ .4byte sub_8087A88
+ .4byte sub_8087A88
gUnknown_08339E00:: @ 8339E00
- .incbin "baserom.gba", 0x339e00, 0x8
+ .4byte sub_8087AA0
+ .4byte sub_8087AA8
diff --git a/data/party_menu.s b/data/party_menu.s
index 8013e5614..1319ce5d8 100644
--- a/data/party_menu.s
+++ b/data/party_menu.s
@@ -3,168 +3,294 @@
.section .rodata
+ .align 1
gUnknown_0861500C:: @ 861500C
- .incbin "baserom.gba", 0x61500c, 0x3c
+ .2byte 0x0005, 0x000e, 0x0019, 0x0022, 0x0026, 0x0044, 0x0045, 0x0066, 0x0076, 0x0087, 0x008a, 0x0056, 0x0099, 0x009d, 0x00a4, 0x00df
+ .2byte 0x00cd, 0x00f4, 0x00ad, 0x00c4, 0x00cb, 0x00bd, 0x0008, 0x00cf, 0x00d6, 0x0081, 0x006f, 0x0009, 0x0007, 0x00d2
+ .align 2
gUnknown_08615048:: @ 8615048
- .incbin "baserom.gba", 0x615048, 0x670
-
+ .4byte 0x00000000, 0x25b4409a, 0x25b4409a, 0x25b4409a, 0x37b4e0ff, 0x37b4e0ff, 0x37b4e0ff, 0x05fdc0fd
+ .4byte 0x05fdc0fd, 0x05fdc0fd, 0x00000000, 0x00000000, 0x03944490, 0x00000000, 0x00000000, 0x23944092
+ .4byte 0x03b44090, 0x03b44090, 0x03b44090, 0x07bc48b8, 0x07bc48b8, 0x03b44090, 0x03b44090, 0x01946098
+ .4byte 0x01946098, 0x0fb5c8fd, 0x0fb5c8fd, 0x27b5e0fa, 0x27b5e0fa, 0x05b440b8, 0x05b440b8, 0x3dfce0fd
+ .4byte 0x05b440b8, 0x05b440b8, 0x3dfce0fd, 0x1df7cffd, 0x1df7cffd, 0x03944098, 0x03944098, 0x1df7ccfd
+ .4byte 0x1df7ccfd, 0x03944090, 0x03944090, 0x01944092, 0x01944092, 0x0194409a, 0x219440ba, 0x219440ba
+ .4byte 0x03944090, 0x03944090, 0x01b46098, 0x01b46098, 0x07be4498, 0x07be4498, 0x03fec0fd, 0x23fec0fd
+ .4byte 0x1ff6e1fd, 0x1ff6e1fd, 0x03944098, 0x03944098, 0x059c4098, 0x05fc41fd, 0x05fcc1fd, 0x19d6cdfd
+ .4byte 0x19d6cdfd, 0x19d6cdfd, 0x19f4e1fd, 0x19f4e1fd, 0x19f4e1fd, 0x01944092, 0x01944092, 0x0194409a
+ .4byte 0x019c4092, 0x019c4092, 0x15b5f1f9, 0x15b5f1f9, 0x35b5f1fd, 0x03944098, 0x03944098, 0x03be4c98
+ .4byte 0x23feccfd, 0x03954890, 0x03954890, 0x03b6409a, 0x03b44098, 0x03b44098, 0x019c4098, 0x019c4098
+ .4byte 0x19f4d088, 0x19f4d088, 0x039c5090, 0x039c5090, 0x01965480, 0x01965480, 0x19d6d5fd, 0x01b67098
+ .4byte 0x19d6cdfd, 0x19d6cdfd, 0x21bc409a, 0x21bc409a, 0x03955880, 0x03955880, 0x01975490, 0x01975490
+ .4byte 0x19bce0ff, 0x19bce0ff, 0x03b4e1fd, 0x1bf4e1fd, 0x1dffe4ff, 0x01955080, 0x01955080, 0x01bd60ba
+ .4byte 0x39bde0ff, 0x05bfcffd, 0x0196409a, 0x39fce0fd, 0x039c4090, 0x039c4090, 0x039c4090, 0x039c4090
+ .4byte 0x039e4890, 0x039e4c90, 0x19f64dfd, 0x239440b2, 0x01fec5fd, 0x1bf4c8fd, 0x19b4c0fd, 0x219460da
+ .4byte 0x019c4098, 0x00000000, 0x019c4898, 0x019c4498, 0x00000000, 0x03b44098, 0x03bc4098, 0x03b44898
+ .4byte 0x03b44098, 0x039e4c90, 0x019d6098, 0x019d60d8, 0x019d6098, 0x219d60de, 0x03946090, 0x1dffe1fd
+ .4byte 0x03bc4090, 0x03b44890, 0x03b44090, 0x039c4898, 0x039c4898, 0x3bfcc898, 0x1bfecdfd, 0x3fffffff
+ .4byte 0x01b440ba, 0x21b440ba, 0x21b440ba, 0x07b54098, 0x27b54098, 0x3fb5e0fd, 0x01fce0ff, 0x21fce0ff
+ .4byte 0x21fce0ff, 0x3ff5c098, 0x3ff5c098, 0x03b44490, 0x03b44490, 0x0bd5c093, 0x0bd5c093, 0x01944098
+ .4byte 0x01944098, 0x03944090, 0x01944890, 0x01944890, 0x07b548fd, 0x05bf4ffd, 0x05bf4cfd, 0x07b74ffd
+ .4byte 0x07b74ffd, 0x03964c90, 0x03964c90, 0x07944898, 0x1f94c8fd, 0x1f94c8fd, 0x01944092, 0x07fdc0dd
+ .4byte 0x07fdc0dd, 0x1df7f0fd, 0x05bcc1fd, 0x05944092, 0x05944092, 0x05944092, 0x3ff4cdfd, 0x01944092
+ .4byte 0x01944092, 0x03944490, 0x05f5c098, 0x05f5c0fd, 0x03b64498, 0x03b64498, 0x03be4c90, 0x23feccfd
+ .4byte 0x07964c90, 0x00000000, 0x00000000, 0x03b64c98, 0x059570b8, 0x059570b8, 0x05b76cb8, 0x239464b2
+ .4byte 0x05b57098, 0x1df4c9fd, 0x1df4e9fd, 0x079d4892, 0x239440b2, 0x05b56098, 0x219460fa, 0x27fec4b2
+ .4byte 0x3ff5c1ff, 0x3ff5e1ff, 0x05b56098, 0x05b56098, 0x05bc6098, 0x05bc6098, 0x05b57098, 0x07b44890
+ .4byte 0x07b448d0, 0x03bc40fd, 0x03bc4098, 0x03b460b0, 0x03b444b8, 0x03b444b8, 0x039c4098, 0x05b540b8
+ .4byte 0x05b560b8, 0x079e4c90, 0x03b64c98, 0x00000000, 0x03b460fc, 0x03b460fc, 0x01fec5fd, 0x1bf4c8fd
+ .4byte 0x19b4c0fd, 0x1dffe9fd, 0x05bdcffd, 0x03b64898, 0x03b64098, 0x03be4098, 0x01b46098, 0x01b46098
+ .4byte 0x31b4e8fd, 0x03be4c98, 0x03b64c90, 0x07b64592, 0x00000000, 0x00000000, 0x00000000, 0x00000000
+ .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
+ .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
+ .4byte 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x2bb4c0ff, 0x2bb4c0ff, 0x2bb4c0ff
+ .4byte 0x03b460ff, 0x3bb4e0ff, 0x3bb4e0ff, 0x05bd4098, 0x05fde0fd, 0x05fde0fd, 0x01b640b8, 0x01b640b8
+ .4byte 0x27bd4898, 0x27bd4898, 0x00000000, 0x00000000, 0x03944090, 0x00000000, 0x03944090, 0x019c409a
+ .4byte 0x19fcc09a, 0x19fcc1ff, 0x0595509a, 0x27b7509e, 0x27b7509e, 0x21b44090, 0x23b44092, 0x21b44490
+ .4byte 0x03b440b0, 0x03b440b0, 0x0194409a, 0x29b4c0ff, 0x1fffe5fd, 0x03bc4090, 0x03bc4090, 0x039e4090
+ .4byte 0x039e4090, 0x059d4098, 0x059d4098, 0x07bf4c98, 0x07bf4c98, 0x3fffe9fd, 0x01b67490, 0x01b67490
+ .4byte 0x1df5f898, 0x01b47098, 0x39f6c5fd, 0x01bc4090, 0x01bc6090, 0x039e4090, 0x21bc40ba, 0x23bc40ba
+ .4byte 0x039c4090, 0x03be4098, 0x23bc4090, 0x23bc4090, 0x01b46098, 0x03b46098, 0x33b46098, 0x19f4e1fd
+ .4byte 0x19f4e1fd, 0x03b44898, 0x03b44898, 0x05b56098, 0x05b57098, 0x05bd6098, 0x05bd6098, 0x05bd6098
+ .4byte 0x29b4c0fb, 0x29b4c0ff, 0x019c4098, 0x059d5098, 0x07977498, 0x07977498, 0x07bd4098, 0x039e4498
+ .4byte 0x1bfec4fd, 0x0fb5c9fd, 0x0fb5c9fd, 0x09fee0ff, 0x1bf6c5fd, 0x1bf6e5fd, 0x03b64498, 0x03b64498
+ .4byte 0x00000000, 0x019e4498, 0x19fee5fd, 0x23b6409a, 0x39fce0fd, 0x39fce0fd, 0x39fce0fd, 0x1df5d4b8
+ .4byte 0x1df5d4b8, 0x21b4409a, 0x1dffc0fd, 0x1dffe0fd, 0x1dffe0fd, 0x019c4098, 0x03bc4098, 0x03bc4098
+ .4byte 0x23be6cba, 0x019e4c98, 0x01be4d98, 0x23b44098, 0x3ffde8ff, 0x01be6098, 0x25b56098, 0x25b56098
+ .4byte 0x3dfde8fd, 0x079e4898, 0x0bf6c9fd, 0x0bf6c9fd, 0x01b66098, 0x01b66098, 0x21b4609a, 0x21b460da
+ .4byte 0x1dfe4c98, 0x1dfe4c98, 0x1dfe4c98, 0x21b46098, 0x25b56098, 0x27b56098, 0x00000000, 0x2ffff098
+ .4byte 0x2ffff098, 0x1df7f8fd, 0x0dfff8fd, 0x0df7f8fd, 0x07be6898, 0x3fb7e8ff, 0x23be6898, 0x23be4c98
+ .4byte 0x23be4c98, 0x1ffecd98, 0x1bfeecfd, 0x059f4490
+
+ .align 2
gUnknown_086156B8:: @ 86156B8
- .incbin "baserom.gba", 0x6156b8, 0x2c
+ .4byte 0x000011f0, 0x000021e1, 0x000003c2
+
+ .align 2
+gUnknown_086156C4:: @ 86156C4
+ .4byte sub_81B2658, 0x0d280b18, 0x08201420, 0x08081440, 0x08182526, 0x08182535, 0x03302318, 0x1040220c
+ .align 2
gUnknown_086156E4:: @ 86156E4
- .incbin "baserom.gba", 0x6156e4, 0x20
+ .4byte sub_81B26BC, 0x0d280316, 0x08200c1e, 0x08080c3e, 0x08180c66, 0x08180c75, 0x03300a58, 0x1040044d
+ .align 2
gUnknown_08615704:: @ 8615704
- .incbin "baserom.gba", 0x615704, 0xc0
-
+ .4byte 0x32142810, 0x22103432, 0x1c6c1268, 0x19661b88, 0x346c2a68, 0x31663388, 0x4c6c4268, 0x49664b88
+ .4byte 0x646c5a68, 0x61666388, 0x7c6c7268, 0x79667b88, 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32
+ .4byte 0x1c6c1268, 0x19661b88, 0x3c6c3268, 0x39663b88, 0x5c6c5268, 0x59665b88, 0x7c6c7268, 0x79667b88
+ .4byte 0x22141810, 0x12102432, 0x5a145010, 0x4a105c32, 0x246a1a68, 0x21662388, 0x3c6a3268, 0x39663b88
+ .4byte 0x5c6a5268, 0x59665b88, 0x746a6a68, 0x71667388, 0x2a142010, 0x1a102c32, 0x2c6a2268, 0x29662b88
+ .4byte 0x446a3a68, 0x41664388, 0x72146810, 0x62107432, 0x746a6a68, 0x71667388, 0x8c6a8268, 0x89668b88
+
+ .align 1
gUnknown_086157C4:: @ 86157C4
- .incbin "baserom.gba", 0x6157c4, 0x1c
+ .incbin "graphics/interface/unknown_6157C4.bin"
+ .align 1
gUnknown_086157E0:: @ 86157E0
- .incbin "baserom.gba", 0x6157e0, 0x1c
+ .incbin "graphics/interface/unknown_6157E0.bin"
gUnknown_086157FC:: @ 86157FC
- .incbin "baserom.gba", 0x6157fc, 0x14
+ .byte 0x00, 0x03, 0x02, 0x00
-gUnknown_08615810:: @ 8615810
- .incbin "baserom.gba", 0x615810, 0x40
+gUnknown_08615800:: @ 8615800
+ .byte 0x01, 0x06, 0x00, 0x0b, 0x0c, 0x01, 0x02, 0x03, 0x01, 0x08, 0x09, 0x00, 0x01, 0x02, 0x00, 0x00
+ .align 2
+gUnknown_08615810:: @ 8615810
+ window_template 0x00, 0x01, 0x03, 0x0a, 0x07, 0x03, 0x0063
+ window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x04, 0x00a9
+ window_template 0x00, 0x0c, 0x04, 0x12, 0x03, 0x05, 0x00df
+ window_template 0x00, 0x0c, 0x07, 0x12, 0x03, 0x06, 0x0115
+ window_template 0x00, 0x0c, 0x0a, 0x12, 0x03, 0x07, 0x014b
+ window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0181
+ window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df
+ null_window_template
+
+ .align 2
gUnknown_08615850:: @ 8615850
- .incbin "baserom.gba", 0x615850, 0x40
-
+ window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063
+ window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9
+ window_template 0x00, 0x0c, 0x01, 0x12, 0x03, 0x05, 0x00ef
+ window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125
+ window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b
+ window_template 0x00, 0x0c, 0x0d, 0x12, 0x03, 0x08, 0x0191
+ window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df
+ null_window_template
+
+ .align 2
gUnknown_08615890:: @ 8615890
- .incbin "baserom.gba", 0x615890, 0x40
-
+ window_template 0x00, 0x01, 0x01, 0x0a, 0x07, 0x03, 0x0063
+ window_template 0x00, 0x01, 0x08, 0x0a, 0x07, 0x04, 0x00a9
+ window_template 0x00, 0x0c, 0x02, 0x12, 0x03, 0x05, 0x00ef
+ window_template 0x00, 0x0c, 0x05, 0x12, 0x03, 0x06, 0x0125
+ window_template 0x00, 0x0c, 0x09, 0x12, 0x03, 0x07, 0x015b
+ window_template 0x00, 0x0c, 0x0c, 0x12, 0x03, 0x08, 0x0191
+ window_template 0x02, 0x01, 0x0f, 0x1c, 0x04, 0x0e, 0x01df
+ null_window_template
+
+ .align 2
gUnknown_086158D0:: @ 86158D0
- .incbin "baserom.gba", 0x6158d0, 0x38
-
+ window_template 0x00, 0x01, 0x02, 0x0a, 0x07, 0x03, 0x0063
+ window_template 0x00, 0x0c, 0x03, 0x12, 0x03, 0x05, 0x00a9
+ window_template 0x00, 0x0c, 0x06, 0x12, 0x03, 0x06, 0x00df
+ window_template 0x02, 0x01, 0x0b, 0x0a, 0x07, 0x04, 0x0115
+ window_template 0x02, 0x0c, 0x0c, 0x12, 0x03, 0x07, 0x016b
+ window_template 0x02, 0x0c, 0x0f, 0x12, 0x03, 0x08, 0x01a1
+ null_window_template
+
+ .align 2
gUnknown_08615908:: @ 8615908
- .incbin "baserom.gba", 0x615908, 0x8
+ window_template 0x00, 0x18, 0x11, 0x06, 0x02, 0x03, 0x01c7
+ .align 2
gUnknown_08615910:: @ 8615910
- .incbin "baserom.gba", 0x615910, 0x8
+ window_template 0x00, 0x18, 0x12, 0x06, 0x02, 0x03, 0x01c7
+ .align 2
gUnknown_08615918:: @ 8615918
- .incbin "baserom.gba", 0x615918, 0x8
+ window_template 0x00, 0x18, 0x10, 0x06, 0x02, 0x03, 0x01d3
+ .align 2
gUnknown_08615920:: @ 8615920
- .incbin "baserom.gba", 0x615920, 0x8
+ window_template 0x02, 0x01, 0x11, 0x15, 0x02, 0x0f, 0x024f
+ .align 2
gUnknown_08615928:: @ 8615928
- .incbin "baserom.gba", 0x615928, 0x8
+ window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0279
+ .align 2
gUnknown_08615930:: @ 8615930
- .incbin "baserom.gba", 0x615930, 0x8
+ window_template 0x02, 0x01, 0x11, 0x14, 0x02, 0x0f, 0x0299
+ .align 2
gUnknown_08615938:: @ 8615938
- .incbin "baserom.gba", 0x615938, 0x8
+ window_template 0x02, 0x01, 0x11, 0x12, 0x02, 0x0f, 0x0299
+ .align 2
gUnknown_08615940:: @ 8615940
- .incbin "baserom.gba", 0x615940, 0x8
+ window_template 0x02, 0x01, 0x11, 0x10, 0x02, 0x0f, 0x0299
+ .align 2
gUnknown_08615948:: @ 8615948
- .incbin "baserom.gba", 0x615948, 0x8
+ window_template 0x02, 0x01, 0x0f, 0x14, 0x04, 0x0f, 0x0299
+ .align 2
gUnknown_08615950:: @ 8615950
- .incbin "baserom.gba", 0x615950, 0x8
+ window_template 0x02, 0x17, 0x0d, 0x06, 0x06, 0x0e, 0x039d
+ .align 2
gUnknown_08615958:: @ 8615958
- .incbin "baserom.gba", 0x615958, 0x8
+ window_template 0x02, 0x15, 0x0d, 0x08, 0x06, 0x0e, 0x039d
+ .align 2
gUnknown_08615960:: @ 8615960
- .incbin "baserom.gba", 0x615960, 0x8
+ window_template 0x02, 0x13, 0x0b, 0x0a, 0x08, 0x0e, 0x02e9
+ .align 2
gUnknown_08615968:: @ 8615968
- .incbin "baserom.gba", 0x615968, 0x8
+ window_template 0x02, 0x15, 0x09, 0x05, 0x04, 0x0e, 0x02e9
+ .align 2
gUnknown_08615970:: @ 8615970
- .incbin "baserom.gba", 0x615970, 0x18
+ window_template 0x02, 0x13, 0x01, 0x0a, 0x0b, 0x0e, 0x02e9
+ window_template 0x02, 0x02, 0x0f, 0x1b, 0x04, 0x0e, 0x01df
+ window_template 0x02, 0x00, 0x0d, 0x12, 0x03, 0x0c, 0x039d
gUnknown_08615988:: @ 8615988
- .incbin "baserom.gba", 0x615988, 0x46
+ .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21
+ .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x3b, 0x3c, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3a, 0x3d, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f
+ .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30
gUnknown_086159CE:: @ 86159CE
- .incbin "baserom.gba", 0x6159ce, 0x46
+ .byte 0x18, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x19, 0x1a, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x20, 0x21
+ .byte 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x22, 0x28, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x29, 0x2a, 0x0f, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x11, 0x2e, 0x2f, 0x2f, 0x2f
+ .byte 0x2f, 0x2f, 0x2f, 0x2f, 0x2f, 0x30
gUnknown_08615A14:: @ 8615A14
- .incbin "baserom.gba", 0x615a14, 0x36
+ .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x34, 0x35, 0x33, 0x33, 0x33
+ .byte 0x33, 0x33, 0x33, 0x36, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39
gUnknown_08615A4A:: @ 8615A4A
- .incbin "baserom.gba", 0x615a4a, 0x36
+ .byte 0x2b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x31, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21
+ .byte 0x21, 0x21, 0x21, 0x32, 0x37, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x38, 0x39
gUnknown_08615A80:: @ 8615A80
- .incbin "baserom.gba", 0x615a80, 0x36
+ .byte 0x15, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x16, 0x17, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x00, 0x1f, 0x25, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x27
gUnknown_08615AB6:: @ 8615AB6
- .incbin "baserom.gba", 0x615ab6, 0x2
+ .byte 0x0b, 0x0c
gUnknown_08615AB8:: @ 8615AB8
- .incbin "baserom.gba", 0x615ab8, 0x2
+ .byte 0x09, 0x0a
gUnknown_08615ABA:: @ 8615ABA
- .incbin "baserom.gba", 0x615aba, 0x3
+ .byte 0x04, 0x05, 0x06
gUnknown_08615ABD:: @ 8615ABD
- .incbin "baserom.gba", 0x615abd, 0x3
+ .byte 0x01, 0x07, 0x08
gUnknown_08615AC0:: @ 8615AC0
- .incbin "baserom.gba", 0x615ac0, 0x3
+ .byte 0x01, 0x0b, 0x0c
gUnknown_08615AC3:: @ 8615AC3
- .incbin "baserom.gba", 0x615ac3, 0x2
+ .byte 0x3b, 0x3c
gUnknown_08615AC5:: @ 8615AC5
- .incbin "baserom.gba", 0x615ac5, 0x2
+ .byte 0x4b, 0x4c
gUnknown_08615AC7:: @ 8615AC7
- .incbin "baserom.gba", 0x615ac7, 0x2
+ .byte 0x39, 0x3a
gUnknown_08615AC9:: @ 8615AC9
- .incbin "baserom.gba", 0x615ac9, 0x2
+ .byte 0x49, 0x4a
gUnknown_08615ACB:: @ 8615ACB
- .incbin "baserom.gba", 0x615acb, 0x2
+ .byte 0x59, 0x5a
gUnknown_08615ACD:: @ 8615ACD
- .incbin "baserom.gba", 0x615acd, 0x3
+ .byte 0x34, 0x35, 0x36
gUnknown_08615AD0:: @ 8615AD0
- .incbin "baserom.gba", 0x615ad0, 0x3
+ .byte 0x44, 0x45, 0x46
gUnknown_08615AD3:: @ 8615AD3
- .incbin "baserom.gba", 0x615ad3, 0x3
+ .byte 0x54, 0x55, 0x56
gUnknown_08615AD6:: @ 8615AD6
- .incbin "baserom.gba", 0x615ad6, 0x3
+ .byte 0x74, 0x75, 0x76
gUnknown_08615AD9:: @ 8615AD9
- .incbin "baserom.gba", 0x615ad9, 0x3
+ .byte 0x84, 0x85, 0x86
gUnknown_08615ADC:: @ 8615ADC
- .incbin "baserom.gba", 0x615adc, 0x3
+ .byte 0x94, 0x95, 0x96
gUnknown_08615ADF:: @ 8615ADF
- .incbin "baserom.gba", 0x615adf, 0x3
+ .byte 0x64, 0x65, 0x66
gUnknown_08615AE2:: @ 8615AE2
- .incbin "baserom.gba", 0x615ae2, 0x3
+ .byte 0x31, 0x37, 0x38
gUnknown_08615AE5:: @ 8615AE5
- .incbin "baserom.gba", 0x615ae5, 0x3
+ .byte 0x41, 0x47, 0x48
gUnknown_08615AE8:: @ 8615AE8
- .incbin "baserom.gba", 0x615ae8, 0x3
+ .byte 0x51, 0x57, 0x58
gUnknown_08615AEB:: @ 8615AEB
- .incbin "baserom.gba", 0x615aeb, 0x3
+ .byte 0x61, 0x67, 0x68
gUnknown_08615AEE:: @ 8615AEE
- .incbin "baserom.gba", 0x615aee, 0x3
+ .byte 0xa1, 0xa7, 0xa8
gUnknown_08615AF1:: @ 8615AF1
- .incbin "baserom.gba", 0x615af1, 0x3
+ .byte 0x11, 0x1b, 0x1c
+ .align 2
gUnknown_08615AF4:: @ 8615AF4
.4byte gUnknown_085E9E43
.4byte gUnknown_085EA010
@@ -209,68 +335,315 @@ gUnknown_08615B60:: @ 8615B60
.4byte gUnknown_085EA0D7
.4byte gUnknown_085EA0DC
+ .align 1
gUnknown_08615B94:: @ 8615B94
- .incbin "baserom.gba", 0x615b94, 0x74
+ .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071
+ .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068
+ .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d
+ .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123
+ .align 2
gUnknown_08615C08:: @ 8615C08
- .incbin "baserom.gba", 0x615c08, 0x130
-
+ .4byte gText_Summary5, sub_81B37FC
+ .4byte gText_Switch2, brm_switch
+ .4byte gText_Cancel2, brm_cancel_1
+ .4byte gText_Item, sub_81B4134
+ .4byte gMenuText_Give, sub_81B4198
+ .4byte gText_Take, sub_81B4724
+ .4byte gText_Mail, sub_81B4A08
+ .4byte gText_Take2, brm_take_2
+ .4byte gText_Read2, sub_81B4A6C
+ .4byte gText_Cancel2, sub_81B4D78
+ .4byte gText_Shift, brm_shift_sendout
+ .4byte gText_SendOut, brm_shift_sendout
+ .4byte gText_Enter, sub_81B4E8C
+ .4byte gText_NoEntry, sub_81B4FA8
+ .4byte gText_Store, sub_81B50AC
+ .4byte gText_Register, sub_81B50C8
+ .4byte gText_Trade4, brm_trade_1
+ .4byte gText_Trade4, sub_81B52E4
+ .4byte gMenuText_Toss, sub_81B47E0
+ .4byte gMoveNames+195, sub_81B5470
+ .4byte gMoveNames+1924, sub_81B5470
+ .4byte gMoveNames+3237, sub_81B5470
+ .4byte gMoveNames+910, sub_81B5470
+ .4byte gMoveNames+741, sub_81B5470
+ .4byte gMoveNames+247, sub_81B5470
+ .4byte gMoveNames+3783, sub_81B5470
+ .4byte gMoveNames+1651, sub_81B5470
+ .4byte gMoveNames+1300, sub_81B5470
+ .4byte gMoveNames+1183, sub_81B5470
+ .4byte gMoveNames+3770, sub_81B5470
+ .4byte gMoveNames+2704, sub_81B5470
+ .4byte gMoveNames+1755, sub_81B5470
+ .4byte gMoveNames+2990, sub_81B5470
+
+gUnknown_08615D10:: @ 8615D10
+ .byte 0x00, 0x01, 0x02
+
+gUnknown_08615D13:: @ 8615D13
+ .byte 0x0a, 0x00, 0x02
+
+gUnknown_08615D16:: @ 8615D16
+ .byte 0x0b, 0x00, 0x02
+
+gUnknown_08615D19:: @ 8615D19
+ .byte 0x00, 0x02
+
+gUnknown_08615D1B:: @ 8615D1B
+ .byte 0x0c, 0x00, 0x02
+
+gUnknown_08615D1E:: @ 8615D1E
+ .byte 0x0d, 0x00, 0x02
+
+gUnknown_08615D21:: @ 8615D21
+ .byte 0x0e, 0x00, 0x02
+
+gUnknown_08615D24:: @ 8615D24
+ .byte 0x04, 0x05, 0x09
+
+gUnknown_08615D27:: @ 8615D27
+ .byte 0x08, 0x07, 0x09
+
+gUnknown_08615D2A:: @ 8615D2A
+ .byte 0x0f, 0x00, 0x02
+
+gUnknown_08615D2D:: @ 8615D2D
+ .byte 0x10, 0x00, 0x02
+
+gUnknown_08615D30:: @ 8615D30
+ .byte 0x11, 0x00, 0x02
+
+gUnknown_08615D33:: @ 8615D33
+ .byte 0x05, 0x12, 0x02
+
+ .align 2
gUnknown_08615D38:: @ 8615D38
- .incbin "baserom.gba", 0x615d38, 0x38
+ .4byte NULL, gUnknown_08615D10, gUnknown_08615D13, gUnknown_08615D16, gUnknown_08615D1B, gUnknown_08615D1E, gUnknown_08615D21, gUnknown_08615D19
+ .4byte gUnknown_08615D24, gUnknown_08615D27, gUnknown_08615D2A, gUnknown_08615D2D, gUnknown_08615D30, gUnknown_08615D33
gUnknown_08615D70:: @ 8615D70
- .incbin "baserom.gba", 0x615d70, 0xe
+ .byte 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03
+ .align 1
gUnknown_08615D7E:: @ 8615D7E
- .incbin "baserom.gba", 0x615d7e, 0x1e
+ .2byte 0x000f, 0x0094, 0x00f9, 0x0046, 0x0039, 0x0013, 0x0123, 0x007f, 0x0064, 0x005b, 0x0122, 0x00d0, 0x0087, 0x00e6, 0x000e
+ .align 2
gUnknown_08615D9C:: @ 8615D9C
- .incbin "baserom.gba", 0x615d9c, 0x70
-
+ .4byte sub_80D3718, 0x00000007
+ .4byte SetUpFieldMove_Flash, 0x0000000d
+ .4byte sub_8135654, 0x0000000d
+ .4byte hm_prepare_rocksmash, 0x0000000d
+ .4byte sub_81B5820, 0x00000008
+ .4byte sub_81B5884, 0x0000000d
+ .4byte sub_81B5974, 0x0000000d
+ .4byte hm_prepare_waterfall, 0x0000000d
+ .4byte SetUpFieldMove_Teleport, 0x0000000d
+ .4byte sub_813572C, 0x0000000d
+ .4byte sub_80FA004, 0x0000000d
+ .4byte hm_prepare_dive_probably, 0x00000010
+ .4byte hm_prepare_dive_probably, 0x00000010
+ .4byte SetUpFieldMove_SweetScent, 0x0000000d
+
+ .align 2
gUnknown_08615E0C:: @ 8615E0C
- .incbin "baserom.gba", 0x615e0c, 0x24
-
+ .4byte gText_NotPkmnOtherTrainerWants
+ .4byte gText_ThatIsntAnEgg
+ .4byte gText_PkmnCantBeTradedNow
+ .4byte gText_PkmnCantBeTradedNow
+ .4byte gText_OtherTrainersPkmnCantBeTraded
+ .4byte gText_EggCantBeTradedNow
+ .4byte gText_OtherTrainerCantAcceptPkmn
+ .4byte gText_CantTradeWithTrainer
+ .4byte gText_CantTradeWithTrainer
+
+ .align 2
gUnknown_08615E30:: @ 8615E30
- .incbin "baserom.gba", 0x615e30, 0x40
+ .incbin "graphics/interface/hold_icons.4bpp"
+ .align 2
gUnknown_08615E70:: @ 8615E70
- .incbin "baserom.gba", 0x615e70, 0x40
+ .incbin "graphics/interface/hold_icons.gbapal"
+
+ .align 2
+gOamData_8615E90:: @ 8615E90
+ .2byte 0x0000, 0x0000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_8615E98:: @ 8615E98
+ .2byte 0x0000, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615EA0:: @ 8615EA0
+ .2byte 0x0001, 0x0001, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8615EA8:: @ 8615EA8
+ .4byte gSpriteAnim_8615E98
+ .4byte gSpriteAnim_8615EA0
+ .align 2
gUnknown_08615EB0:: @ 8615EB0
obj_tiles gUnknown_08615E30, 0x40, 55120
+ .align 2
gUnknown_08615EB8:: @ 8615EB8
obj_pal gUnknown_08615E70, 55120
-gUnknown_08615EC0:: @ 8615EC0
- .incbin "baserom.gba", 0x615ec0, 0x38
+ .align 2
+gSpriteTemplate_8615EC0:: @ 8615EC0
+ spr_template 0xd750, 0xd750, gOamData_8615E90, gSpriteAnimTable_8615EA8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
+gOamData_8615ED8:: @ 8615ED8
+ .2byte 0x0000, 0x8000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_8615EE0:: @ 8615EE0
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615EE8:: @ 8615EE8
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8615EF0:: @ 8615EF0
+ .4byte gSpriteAnim_8615EE0
+ .4byte gSpriteAnim_8615EE8
+
+ .align 2
gUnknown_08615EF8:: @ 8615EF8
obj_tiles gPartyMenuPokeball_Gfx, 0x400, 1200
+ .align 2
gUnknown_08615F00:: @ 8615F00
obj_pal gPartyMenuPokeball_Pal, 1200
-gUnknown_08615F08:: @ 8615F08
- .incbin "baserom.gba", 0x615f08, 0x68
+ .align 2
+gSpriteTemplate_8615F08:: @ 8615F08
+ spr_template 0x04b0, 0x04b0, gOamData_8615ED8, gSpriteAnimTable_8615EF0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-gUnknown_08615F70:: @ 8615F70
- .incbin "baserom.gba", 0x615f70, 0x8
+ .align 2
+gOamData_8615F20:: @ 8615F20
+ .2byte 0x0000, 0x4000, 0x0800, 0x0000
+
+ .align 2
+gSpriteAnim_8615F28:: @ 8615F28
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615F30:: @ 8615F30
+ .2byte 0x0004, 0x0000, 0xffff, 0x0000
-gUnknown_08615F78:: @ 8615F78
- .incbin "baserom.gba", 0x615f78, 0x80
+ .align 2
+gSpriteAnim_8615F38:: @ 8615F38
+ .2byte 0x0008, 0x0000, 0xffff, 0x0000
+ .align 2
+gSpriteAnim_8615F40:: @ 8615F40
+ .2byte 0x000c, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615F48:: @ 8615F48
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615F50:: @ 8615F50
+ .2byte 0x0014, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8615F58:: @ 8615F58
+ .4byte gSpriteAnim_8615F28
+ .4byte gSpriteAnim_8615F30
+ .4byte gSpriteAnim_8615F38
+ .4byte gSpriteAnim_8615F40
+ .4byte gSpriteAnim_8615F48
+ .4byte gSpriteAnim_8615F50
+
+ .align 2
+gUnknown_08615F70:: @ 8615F70
+ obj_tiles gPartyMenuPokeballSmall_Gfx, 0x0300, 0x04b1
+
+ .align 2
+gSpriteTemplate_8615F78:: @ 8615F78
+ spr_template 0x04b1, 0x04b0, gOamData_8615F20, gSpriteAnimTable_8615F58, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_8615F90:: @ 8615F90
+ .2byte 0x4000, 0x4000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_8615F98:: @ 8615F98
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FA0:: @ 8615FA0
+ .2byte 0x0004, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FA8:: @ 8615FA8
+ .2byte 0x0008, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FB0:: @ 8615FB0
+ .2byte 0x000c, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FB8:: @ 8615FB8
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FC0:: @ 8615FC0
+ .2byte 0x0014, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FC8:: @ 8615FC8
+ .2byte 0x0018, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8615FD0:: @ 8615FD0
+ .2byte 0x001c, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8615FD8:: @ 8615FD8
+ .4byte gSpriteAnim_8615F98
+ .4byte gSpriteAnim_8615FA0
+ .4byte gSpriteAnim_8615FA8
+ .4byte gSpriteAnim_8615FB0
+ .4byte gSpriteAnim_8615FB8
+ .4byte gSpriteAnim_8615FC0
+ .4byte gSpriteAnim_8615FC8
+ .4byte gSpriteAnim_8615FD0
+
+ .align 2
gUnknown_08615FF8:: @ 8615FF8
obj_tiles gStatusGfx_Icons, 0x400, 1202
+ .align 2
gUnknown_08616000:: @ 8616000
obj_pal gStatusPal_Icons, 1202
-gUnknown_08616008:: @ 8616008
- .incbin "baserom.gba", 0x616008, 0x18
+ .align 2
+gSpriteTemplate_8616008:: @ 8616008
+ spr_template 0x04b2, 0x04b2, gOamData_8615F90, gSpriteAnimTable_8615FD8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_08616020:: @ 8616020
- .incbin "baserom.gba", 0x616020, 0x20
-
+ .byte 0x00, 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00
+
+ .align 2
+gUnknown_08616028:: @ 8616028
+ .4byte gText_HP4
+ .4byte gText_Attack3
+ .4byte gText_Defense3
+ .4byte gText_SpAtk4
+ .4byte gText_SpDef4
+ .4byte gText_Speed2
+
+ .align 1
gUnknown_08616040:: @ 8616040
- .incbin "baserom.gba", 0x616040, 0x74
+ .2byte 0x0108, 0x0151, 0x0160, 0x015b, 0x002e, 0x005c, 0x0102, 0x0153, 0x014b, 0x00ed, 0x00f1, 0x010d, 0x003a, 0x003b, 0x003f, 0x0071
+ .2byte 0x00b6, 0x00f0, 0x00ca, 0x00db, 0x00da, 0x004c, 0x00e7, 0x0055, 0x0057, 0x0059, 0x00d8, 0x005b, 0x005e, 0x00f7, 0x0118, 0x0068
+ .2byte 0x0073, 0x015f, 0x0035, 0x00bc, 0x00c9, 0x007e, 0x013d, 0x014c, 0x0103, 0x0107, 0x0122, 0x009c, 0x00d5, 0x00a8, 0x00d3, 0x011d
+ .2byte 0x0121, 0x013b, 0x000f, 0x0013, 0x0039, 0x0046, 0x0094, 0x00f9, 0x007f, 0x0123
+
diff --git a/data/pokedex.s b/data/pokedex.s
index 3b783be34..7fdecaf5f 100644
--- a/data/pokedex.s
+++ b/data/pokedex.s
@@ -23,16 +23,15 @@
.endm
gUnknown_0855D2B8:: @ 855D2B8
- .incbin "baserom.gba", 0x55d2b8, 0x6
+ .string "{UNK_CTRL_F9 8}000$"
gUnknown_0855D2BE:: @ 855D2BE
- .incbin "baserom.gba", 0x55d2be, 0x40
+ .incbin "graphics/pokedex/caught_ball.4bpp"
sText_TenDashes:: @ 855D2FE
.string "----------$"
-.align 2
-
+ .align 2
gUnknown_0855D30C:: @ 855D30C
.string "$"
@@ -42,29 +41,41 @@ gUnknown_0855D30C:: @ 855D30C
@ 856B5B0
.include "data/pokedex_entries.inc"
+ .align 2
gUnknown_0856E610:: @ 856E610
- .incbin "baserom.gba", 0x56e610, 0x20
+ .incbin "graphics/pokedex/black.gbapal"
+ .align 2
gUnknown_0856E630:: @ 856E630
- .incbin "baserom.gba", 0x56e630, 0x10
+ .4byte 0x000030c8, 0x000000d1, 0x000010ea, 0x000020f3
+ .align 2
gUnknown_0856E640:: @ 856E640
- .incbin "baserom.gba", 0x56e640, 0x28
+ window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001
+ window_template 0x02, 0x19, 0x08, 0x02, 0x02, 0x0f, 0x0281
+ window_template 0x00, 0x00, 0x0c, 0x20, 0x07, 0x08, 0x0285
+ window_template 0x02, 0x12, 0x03, 0x0a, 0x08, 0x09, 0x0365
+ window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
+ .align 2
gUnknown_0856E668:: @ 856E668
- .incbin "baserom.gba", 0x56e668, 0x8
+ .4byte 0x000020ea, 0x000030f7
+ .align 2
gUnknown_0856E670:: @ 856E670
- .incbin "baserom.gba", 0x56e670, 0x18
+ window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001
+ window_template 0x02, 0x19, 0x08, 0x02, 0x02, 0x0f, 0x0281
+ window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
-gUnknown_0856E688:: @ 856E688
- .incbin "baserom.gba", 0x56e688, 0xc
+sText_TenDashes2:: @ 856E688
+ .string "----------$"
@ 856E694
.include "data/graphics/pokemon/footprint_table.inc"
gUnknown_0856ED08:: @ 856ED08
- .incbin "baserom.gba", 0x56ed08, 0x28
+ .byte 0x00, 0x00, 0x00, 0x00, 0xbb, 0x03, 0xd5, 0x03, 0xbe, 0x03, 0xd8, 0x03, 0xc1, 0x03, 0xdb, 0x03, 0xc4, 0x03, 0xde, 0x03, 0xc7, 0x03, 0xe1, 0x03, 0xca, 0x03, 0xe4, 0x03, 0xcd, 0x03, 0xe7, 0x03
+ .byte 0xd0, 0x03, 0xea, 0x03, 0xd3, 0x02, 0xed, 0x02
gUnknown_0856ED30:: @ 856ED30
unk_dex_struct_3 gUnknown_085E87A5, 0, 0, 5
@@ -80,18 +91,23 @@ gUnknown_0856ED48:: @ 856ED48
unk_dex_struct_2 gUnknown_085E8806, 0, 10, 5, 5, 10, 12
unk_dex_struct_2 gUnknown_085E88C8, 0, 12, 5, 0, 0, 0
+ .align 1
gUnknown_0856ED9C:: @ 856ED9C
- .incbin "baserom.gba", 0x56ed9c, 0x1c
+ .2byte 0xffff, 0x01ff, 0xffff, 0x0200, 0x03ff, 0x0401, 0xff02, 0x0401, 0xffff, 0x0502, 0xffff, 0x0604, 0xffff, 0xff05
+ .align 1
gUnknown_0856EDB8:: @ 856EDB8
- .incbin "baserom.gba", 0x56edb8, 0x1c
+ .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x05ff, 0xffff, 0x0604, 0xffff, 0xff05
+ .align 1
gUnknown_0856EDD4:: @ 856EDD4
- .incbin "baserom.gba", 0x56edd4, 0x1c
+ .2byte 0xffff, 0x01ff, 0xffff, 0x0200, 0x03ff, 0x0401, 0xff02, 0x0401, 0xffff, 0x0602, 0xffff, 0xffff, 0xffff, 0xff04
+ .align 1
gUnknown_0856EDF0:: @ 856EDF0
- .incbin "baserom.gba", 0x56edf0, 0x1c
+ .2byte 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x06ff, 0xffff, 0xffff, 0xffff, 0xff04
+ .align 2
gUnknown_0856EE0C:: @ 856EE0C
.4byte gUnknown_085E89A4
.4byte gUnknown_085E88DF
@@ -100,6 +116,7 @@ gUnknown_0856EE0C:: @ 856EE0C
.4byte NULL
.4byte NULL
+ .align 2
gUnknown_0856EE24:: @ 856EE24
.4byte gUnknown_085E89D4
.4byte gUnknown_085E88F6
@@ -208,14 +225,15 @@ gUnknown_0856EF14:: @ 856EF14
.4byte 0
gUnknown_0856EFAC:: @ 856EFAC
- .incbin "baserom.gba", 0x56efac, 0x2
+ .byte 0x00, 0x01
gUnknown_0856EFAE:: @ 856EFAE
- .incbin "baserom.gba", 0x56efae, 0x6
+ .byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05
gUnknown_0856EFB4:: @ 856EFB4
- .incbin "baserom.gba", 0x56efb4, 0x14
+ .byte 0xff, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x00, 0x00
+ .align 2
gUnknown_0856EFC8:: @ 856EFC8
unk_dex_struct gUnknown_0856EE5C, 6, 7, 10
unk_dex_struct gUnknown_0856EEB4, 8, 9, 11
@@ -224,8 +242,12 @@ gUnknown_0856EFC8:: @ 856EFC8
unk_dex_struct gUnknown_0856EE24, 4, 5, 6
unk_dex_struct gUnknown_0856EE0C, 2, 3, 2
+ .align 2
gUnknown_0856EFF8:: @ 856EFF8
- .incbin "baserom.gba", 0x56eff8, 0x10
+ .4byte 0x000000c8, 0x000010d1, 0x000020ea, 0x000030f3
+ .align 2
gUnknown_0856F008:: @ 856F008
- .incbin "baserom.gba", 0x56f008, 0x10
+ window_template 0x02, 0x00, 0x00, 0x20, 0x14, 0x00, 0x0001
+ null_window_template
+
diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s
index f123f4fe2..f05613b00 100644
--- a/data/pokemon_storage_system.s
+++ b/data/pokemon_storage_system.s
@@ -87,7 +87,7 @@ gUnknown_08572714:: @ 8572714
window_template 0x01, 0x00, 0x0b, 0x09, 0x07, 0x03, 0x00c0
window_template 0x00, 0x0b, 0x11, 0x12, 0x02, 0x0f, 0x0014
window_template 0x00, 0x00, 0x0d, 0x15, 0x07, 0x0f, 0x0014
- window_template_terminator
+ null_window_template
.align 2
gUnknown_08572734:: @ 8572734
diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s
index 659498743..85c30bc6f 100644
--- a/data/pokemon_summary_screen.s
+++ b/data/pokemon_summary_screen.s
@@ -9,14 +9,23 @@
@ 861CAAC
.include "data/text/nature_names.inc"
+ .align 2
gUnknown_0861CBB4:: @ 861CBB4
- .incbin "baserom.gba", 0x61cbb4, 0x38
+ .4byte 0x000001f0, 0x000013b9, 0x0000239a, 0x000033db
+
+ .align 2
+gUnknown_0861CBC4:: @ 861CBC4
+ .incbin "graphics/interface/unk_tilemap2.bin"
+ .align 2
gUnknown_0861CBEC:: @ 861CBEC
- .incbin "baserom.gba", 0x61cbec, 0xc
+ .4byte gUnknown_0861CBC4
+ .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x12
+ .align 2
gUnknown_0861CBF8:: @ 861CBF8
- .incbin "baserom.gba", 0x61cbf8, 0xc
+ .4byte gUnknown_0861CBC4
+ .byte 0x01, 0x00, 0x0a, 0x02, 0x00, 0x32
.align 2
gUnknown_0861CC04:: @ 861CC04
@@ -40,101 +49,385 @@ gUnknown_0861CC10:: @ 861CC10
.align 2
gUnknown_0861CC1C:: @ 861CC1C
- .incbin "baserom.gba", 0x61cc1c, 0x8
+ .byte 0x00, 0x02, 0x03, 0x01, 0x04, 0x05, 0x00, 0x00
+ .align 2
gUnknown_0861CC24:: @ 861CC24
- .incbin "baserom.gba", 0x61cc24, 0xa8
+ window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0001
+ window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0017
+ window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x002d
+ window_template 0x00, 0x00, 0x00, 0x0b, 0x02, 0x06, 0x0043
+ window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0059
+ window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0069
+ window_template 0x00, 0x16, 0x00, 0x08, 0x02, 0x07, 0x0079
+ window_template 0x00, 0x0b, 0x04, 0x00, 0x02, 0x06, 0x0089
+ window_template 0x00, 0x0b, 0x04, 0x12, 0x02, 0x06, 0x0089
+ window_template 0x00, 0x0b, 0x06, 0x12, 0x02, 0x06, 0x00ad
+ window_template 0x00, 0x0a, 0x07, 0x06, 0x06, 0x06, 0x00d1
+ window_template 0x00, 0x16, 0x07, 0x05, 0x06, 0x06, 0x00f5
+ window_template 0x00, 0x0a, 0x0e, 0x0b, 0x04, 0x06, 0x0113
+ window_template 0x00, 0x00, 0x12, 0x06, 0x02, 0x06, 0x013f
+ window_template 0x00, 0x01, 0x0f, 0x09, 0x04, 0x06, 0x014b
+ window_template 0x00, 0x01, 0x0f, 0x05, 0x04, 0x06, 0x016f
+ window_template 0x00, 0x16, 0x04, 0x00, 0x02, 0x06, 0x0183
+ window_template 0x00, 0x01, 0x02, 0x04, 0x02, 0x07, 0x0183
+ window_template 0x00, 0x01, 0x0c, 0x09, 0x02, 0x06, 0x018b
+ window_template 0x00, 0x01, 0x0e, 0x09, 0x04, 0x06, 0x019d
+ null_window_template
+ .align 2
gUnknown_0861CCCC:: @ 861CCCC
- .incbin "baserom.gba", 0x61cccc, 0x20
+ window_template 0x00, 0x0b, 0x04, 0x0b, 0x02, 0x06, 0x01c1
+ window_template 0x00, 0x16, 0x04, 0x07, 0x02, 0x06, 0x01d7
+ window_template 0x00, 0x0b, 0x09, 0x12, 0x04, 0x06, 0x01e5
+ window_template 0x00, 0x0b, 0x0e, 0x12, 0x06, 0x06, 0x022d
+ .align 2
gUnknown_0861CCEC:: @ 861CCEC
- .incbin "baserom.gba", 0x61ccec, 0x28
+ window_template 0x00, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x01c1
+ window_template 0x00, 0x14, 0x04, 0x0a, 0x02, 0x06, 0x01d5
+ window_template 0x00, 0x10, 0x07, 0x06, 0x06, 0x06, 0x01e9
+ window_template 0x00, 0x1b, 0x07, 0x03, 0x06, 0x06, 0x020d
+ window_template 0x00, 0x18, 0x0e, 0x06, 0x04, 0x06, 0x021f
+ .align 2
gUnknown_0861CD14:: @ 861CD14
- .incbin "baserom.gba", 0x61cd14, 0x18
+ window_template 0x00, 0x0f, 0x04, 0x09, 0x0a, 0x06, 0x01c1
+ window_template 0x00, 0x18, 0x04, 0x06, 0x0a, 0x08, 0x021b
+ window_template 0x00, 0x0a, 0x0f, 0x14, 0x04, 0x06, 0x0257
gUnknown_0861CD2C:: @ 861CD2C
- .incbin "baserom.gba", 0x61cd2c, 0x27
+ .byte 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08, 0x00, 0x09, 0x0a, 0x00, 0x0b, 0x0c, 0x00, 0x0d, 0x0e, 0x00, 0x07, 0x08, 0x0d, 0x0f, 0x0e, 0x00, 0x01, 0x02, 0x00, 0x03
+ .byte 0x04, 0x00, 0x05, 0x06, 0x00, 0x07, 0x08
gUnknown_0861CD53:: @ 861CD53
- .incbin "baserom.gba", 0x61cd53, 0x80
+ .incbin "graphics/interface/summary_a_button.4bpp"
gUnknown_0861CDD3:: @ 861CDD3
- .incbin "baserom.gba", 0x61cdd3, 0x81
+ .incbin "graphics/interface/summary_b_button.4bpp"
+ .align 2
gUnknown_0861CE54:: @ 861CE54
- .incbin "baserom.gba", 0x61ce54, 0x10
+ .4byte sub_81C2E00
+ .4byte sub_81C3530
+ .4byte sub_81C3984
+ .4byte sub_81C3D08
+ .align 2
gUnknown_0861CE64:: @ 861CE64
- .incbin "baserom.gba", 0x61ce64, 0x10
+ .4byte sub_81C2E40
+ .4byte sub_81C3554
+ .4byte sub_81C39F0
+ .4byte sub_81C3D54
gUnknown_0861CE74:: @ 861CE74
- .incbin "baserom.gba", 0x61ce74, 0x7
+ .string "{COLOR LIGHT_RED}{SHADOW GREEN}$"
gUnknown_0861CE7B:: @ 861CE7B
- .incbin "baserom.gba", 0x61ce7b, 0x7
+ .string "{COLOR WHITE}{SHADOW DARK_GREY}$"
gUnknown_0861CE82:: @ 861CE82
- .incbin "baserom.gba", 0x61ce82, 0xc
+ .string "{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}\n"
+ .string "{SPECIAL_F7 0x02}\n"
+ .string "{SPECIAL_F7 0x03}$"
gUnknown_0861CE8E:: @ 861CE8E
- .incbin "baserom.gba", 0x61ce8e, 0x9
+ .string "{SPECIAL_F7 0x00}\n"
+ .string "{SPECIAL_F7 0x01}\n"
+ .string "{SPECIAL_F7 0x02}$"
gUnknown_0861CE97:: @ 861CE97
- .incbin "baserom.gba", 0x61ce97, 0x125
+ .string "{UNK_CTRL_F9 0x06}{SPECIAL_F7 0x00}/{SPECIAL_F7 0x01}$"
+
+ .align 2
+gOamData_861CEA0:: @ 861CEA0
+ .2byte 0x4000, 0x8000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_861CEA8:: @ 861CEA8
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEB0:: @ 861CEB0
+ .2byte 0x0008, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEB8:: @ 861CEB8
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEC0:: @ 861CEC0
+ .2byte 0x0018, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEC8:: @ 861CEC8
+ .2byte 0x0020, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CED0:: @ 861CED0
+ .2byte 0x0028, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CED8:: @ 861CED8
+ .2byte 0x0030, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEE0:: @ 861CEE0
+ .2byte 0x0038, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEE8:: @ 861CEE8
+ .2byte 0x0040, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEF0:: @ 861CEF0
+ .2byte 0x0048, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CEF8:: @ 861CEF8
+ .2byte 0x0050, 0x0000, 0xffff, 0x0000
+ .align 2
+gSpriteAnim_861CF00:: @ 861CF00
+ .2byte 0x0058, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF08:: @ 861CF08
+ .2byte 0x0060, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF10:: @ 861CF10
+ .2byte 0x0068, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF18:: @ 861CF18
+ .2byte 0x0070, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF20:: @ 861CF20
+ .2byte 0x0078, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF28:: @ 861CF28
+ .2byte 0x0080, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF30:: @ 861CF30
+ .2byte 0x0088, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF38:: @ 861CF38
+ .2byte 0x0090, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF40:: @ 861CF40
+ .2byte 0x0098, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF48:: @ 861CF48
+ .2byte 0x00a0, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF50:: @ 861CF50
+ .2byte 0x00a8, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861CF58:: @ 861CF58
+ .2byte 0x00b0, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_861CF60:: @ 861CF60
+ .4byte gSpriteAnim_861CEA8
+ .4byte gSpriteAnim_861CEB0
+ .4byte gSpriteAnim_861CEB8
+ .4byte gSpriteAnim_861CEC0
+ .4byte gSpriteAnim_861CEC8
+ .4byte gSpriteAnim_861CED0
+ .4byte gSpriteAnim_861CED8
+ .4byte gSpriteAnim_861CEE0
+ .4byte gSpriteAnim_861CEE8
+ .4byte gSpriteAnim_861CEF0
+ .4byte gSpriteAnim_861CEF8
+ .4byte gSpriteAnim_861CF00
+ .4byte gSpriteAnim_861CF08
+ .4byte gSpriteAnim_861CF10
+ .4byte gSpriteAnim_861CF18
+ .4byte gSpriteAnim_861CF20
+ .4byte gSpriteAnim_861CF28
+ .4byte gSpriteAnim_861CF30
+ .4byte gSpriteAnim_861CF38
+ .4byte gSpriteAnim_861CF40
+ .4byte gSpriteAnim_861CF48
+ .4byte gSpriteAnim_861CF50
+ .4byte gSpriteAnim_861CF58
+
+ .align 2
gUnknown_0861CFBC:: @ 861CFBC
- .incbin "baserom.gba", 0x61cfbc, 0x8
+ obj_tiles gMoveTypes_Gfx, 0x1700, 0x7532
+ .align 2
gUnknown_0861CFC4:: @ 861CFC4
- .incbin "baserom.gba", 0x61cfc4, 0x18
+ spr_template 0x7532, 0x7532, gOamData_861CEA0, gSpriteAnimTable_861CF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_0861CFDC:: @ 861CFDC
- .incbin "baserom.gba", 0x61cfdc, 0x98
+ .byte 0x0d, 0x0d, 0x0e, 0x0e, 0x0d, 0x0d, 0x0f, 0x0e, 0x0d, 0x0f, 0x0d, 0x0e, 0x0f, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x0d, 0x0e, 0x0e, 0x0f, 0x0d, 0x00
+
+ .align 2
+gOamData_861CFF4:: @ 861CFF4
+ .2byte 0x0000, 0x4000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_861CFFC:: @ 861CFFC
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D004:: @ 861D004
+ .2byte 0x0004, 0x0000, 0xffff, 0x0000
+ .align 2
+gSpriteAnim_861D00C:: @ 861D00C
+ .2byte 0x0008, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D014:: @ 861D014
+ .2byte 0x000c, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D01C:: @ 861D01C
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D024:: @ 861D024
+ .2byte 0x0010, 0x0040, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D02C:: @ 861D02C
+ .2byte 0x0014, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D034:: @ 861D034
+ .2byte 0x0018, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D03C:: @ 861D03C
+ .2byte 0x0018, 0x0040, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D044:: @ 861D044
+ .2byte 0x001c, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_861D04C:: @ 861D04C
+ .4byte gSpriteAnim_861CFFC
+ .4byte gSpriteAnim_861D004
+ .4byte gSpriteAnim_861D00C
+ .4byte gSpriteAnim_861D014
+ .4byte gSpriteAnim_861D01C
+ .4byte gSpriteAnim_861D024
+ .4byte gSpriteAnim_861D02C
+ .4byte gSpriteAnim_861D034
+ .4byte gSpriteAnim_861D03C
+ .4byte gSpriteAnim_861D044
+
+ .align 2
gUnknown_0861D074:: @ 861D074
- .incbin "baserom.gba", 0x61d074, 0x8
+ obj_tiles gUnknown_08D97BEC, 0x0400, 0x7530
+ .align 2
gUnknown_0861D07C:: @ 861D07C
- .incbin "baserom.gba", 0x61d07c, 0x8
+ obj_pal gUnknown_08D97CF4, 0x7530
+ .align 2
gUnknown_0861D084:: @ 861D084
- .incbin "baserom.gba", 0x61d084, 0x74
+ spr_template 0x7530, 0x7530, gOamData_861CFF4, gSpriteAnimTable_861D04C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gOamData_861D09C:: @ 861D09C
+ .2byte 0x4000, 0x4000, 0x0c00, 0x0000
+
+ .align 2
+gSpriteAnim_861D0A4:: @ 861D0A4
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D0AC:: @ 861D0AC
+ .2byte 0x0004, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D0B4:: @ 861D0B4
+ .2byte 0x0008, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D0BC:: @ 861D0BC
+ .2byte 0x000c, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D0C4:: @ 861D0C4
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_861D0CC:: @ 861D0CC
+ .2byte 0x0014, 0x0000, 0xffff, 0x0000
+ .align 2
+gSpriteAnim_861D0D4:: @ 861D0D4
+ .2byte 0x0018, 0x0000, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_861D0DC:: @ 861D0DC
+ .4byte gSpriteAnim_861D0A4
+ .4byte gSpriteAnim_861D0AC
+ .4byte gSpriteAnim_861D0B4
+ .4byte gSpriteAnim_861D0BC
+ .4byte gSpriteAnim_861D0C4
+ .4byte gSpriteAnim_861D0CC
+ .4byte gSpriteAnim_861D0D4
+
+ .align 2
gUnknown_0861D0F8:: @ 861D0F8
- .incbin "baserom.gba", 0x61d0f8, 0x8
+ obj_tiles gStatusGfx_Icons, 0x0380, 0x7531
+ .align 2
gUnknown_0861D100:: @ 861D100
- .incbin "baserom.gba", 0x61d100, 0x8
+ obj_pal gStatusPal_Icons, 0x7531
+ .align 2
gUnknown_0861D108:: @ 861D108
- .incbin "baserom.gba", 0x61d108, 0x18
+ spr_template 0x7531, 0x7531, gOamData_861D09C, gSpriteAnimTable_861D0DC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_0861D120:: @ 861D120
- .incbin "baserom.gba", 0x61d120, 0x20
+ .incbin "graphics/interface/summary_markings.gbapal"
+ .align 2
gUnknown_0861D140:: @ 861D140
- .incbin "baserom.gba", 0x61d140, 0x60
+ .incbin "graphics/interface/region_map.gbapal"
+ .align 2
gUnknown_0861D1A0:: @ 861D1A0
- .incbin "baserom.gba", 0x61d1a0, 0xd54
+ .incbin "graphics/interface/region_map.8bpp.lz"
+ .align 2
gUnknown_0861DEF4:: @ 861DEF4
- .incbin "baserom.gba", 0x61def4, 0x314
+ .incbin "graphics/interface/region_map.bin.lz"
+ .align 2
gUnknown_0861E208:: @ 861E208
- .incbin "baserom.gba", 0x61e208, 0xd5c
+ .incbin "graphics/interface/region_map_affine.8bpp.lz"
+ .align 2
gUnknown_0861EF64:: @ 861EF64
- .incbin "baserom.gba", 0x61ef64, 0x350
+ .incbin "graphics/interface/region_map_affine.bin.lz"
+ .align 2
gUnknown_0861F2B4:: @ 861F2B4
- .incbin "baserom.gba", 0x61f2b4, 0xc
+ .4byte 0x000011f0, 0x000001e1, 0x000021de
+ .align 2
gUnknown_0861F2C0:: @ 861F2C0
- .incbin "baserom.gba", 0x61f2c0, 0x18
+ .4byte 0x00000000, sub_81C5460, sub_81C5518, 0x00000000, 0x00080000, 0x07003021
+ .align 2
gUnknown_0861F2D8:: @ 861F2D8
.4byte gMenuText_Use, sub_81C61E0
.4byte gMenuText_Toss, sub_81C62C4
@@ -144,35 +437,74 @@ gUnknown_0861F2D8:: @ 861F2D8
.4byte gText_EmptyString2, NULL
gUnknown_0861F308:: @ 861F308
- .incbin "baserom.gba", 0x61f308, 0x4
+ .byte 0x00, 0x02, 0x01, 0x03
gUnknown_0861F30C:: @ 861F30C
- .incbin "baserom.gba", 0x61f30c, 0x2
+ .byte 0x01, 0x03
gUnknown_0861F30E:: @ 861F30E
- .incbin "baserom.gba", 0x61f30e, 0x2
+ .byte 0x04, 0x03
gUnknown_0861F310:: @ 861F310
- .incbin "baserom.gba", 0x61f310, 0x4
+ .byte 0x03, 0x00, 0x00, 0x00
gUnknown_0861F314:: @ 861F314
.4byte sub_81C654C
.4byte sub_81C63D0
gUnknown_0861F31C:: @ 861F31C
- .incbin "baserom.gba", 0x61f31c, 0xc
+ .byte 0x00, 0x02, 0x03, 0x00, 0x03, 0x01, 0x01, 0x02, 0x03, 0x00, 0x00, 0x00
+ .align 2
gUnknown_0861F328:: @ 861F328
- .incbin "baserom.gba", 0x61f328, 0x28
+ window_template 0x00, 0x0e, 0x02, 0x0f, 0x10, 0x0f, 0x001e
+ window_template 0x00, 0x00, 0x0d, 0x0e, 0x06, 0x0f, 0x010e
+ window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0162
+ window_template 0x01, 0x18, 0x11, 0x05, 0x02, 0x0f, 0x01ce
+ null_window_template
+ .align 2
gUnknown_0861F350:: @ 861F350
- .incbin "baserom.gba", 0x61f350, 0x20
+ window_template 0x01, 0x16, 0x11, 0x07, 0x02, 0x0f, 0x01d8
+ window_template 0x01, 0x16, 0x0f, 0x07, 0x04, 0x0f, 0x01d8
+ window_template 0x01, 0x0f, 0x0f, 0x0e, 0x04, 0x0f, 0x01d8
+ window_template 0x01, 0x0f, 0x0d, 0x0e, 0x06, 0x0f, 0x01d8
+ .align 2
gUnknown_0861F370:: @ 861F370
- .incbin "baserom.gba", 0x61f370, 0x5c
+ window_template 0x01, 0x18, 0x0f, 0x05, 0x04, 0x0f, 0x01d8
+ .align 2
+gOamData_861F378:: @ 861F378
+ .2byte 0x0100, 0xc000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_861F380:: @ 861F380
+ .2byte 0x0000, 0x0004, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_861F388:: @ 861F388
+ .4byte gSpriteAnim_861F380
+
+ .align 2
+gSpriteAffineAnim_861F38C:: @ 861F38C
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnim_861F39C:: @ 861F39C
+ .2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000
+ .2byte 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnimTable_861F3C4:: @ 861F3C4
+ .4byte gSpriteAffineAnim_861F38C
+ .4byte gSpriteAffineAnim_861F39C
+
+ .align 2
gUnknown_0861F3CC:: @ 861F3CC
- .incbin "baserom.gba", 0x61f3cc, 0x8
+ obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024
+ .align 2
gUnknown_0861F3D4:: @ 861F3D4
- .incbin "baserom.gba", 0x61f3d4, 0x18
+ spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy
+
diff --git a/data/pokenav.s b/data/pokenav.s
index 3a8be11a3..03c0d4b8a 100644
--- a/data/pokenav.s
+++ b/data/pokenav.s
@@ -127,7 +127,7 @@ gUnknown_0861FA04:: @ 861FA04
gUnknown_0861FA08:: @ 861FA08
window_template 0, 1, 0x16, 0x10, 0x2, 0x0, 0x36
- window_template_terminator
+ null_window_template
gUnknown_0861FA18:: @ 861FA18
.4byte gUnknown_085EBED5
diff --git a/data/record_mixing.s b/data/record_mixing.s
index 0ef0a776a..20a37145c 100644
--- a/data/record_mixing.s
+++ b/data/record_mixing.s
@@ -5,16 +5,33 @@
.align 2, 0
gUnknown_0858CF8C:: @ 858CF8C
- .incbin "baserom.gba", 0x58cf8c, 0x2
+ .byte 1, 0
gUnknown_0858CF8E:: @ 858CF8E
- .incbin "baserom.gba", 0x58cf8e, 0x6
+ .byte 1, 2, 0
+ .byte 2, 0, 1
gUnknown_0858CF94:: @ 858CF94
- .incbin "baserom.gba", 0x58cf94, 0x24
+ .byte 1, 0, 3
+ .byte 2, 3, 0
+ .byte 1, 2, 2
+ .byte 0, 3, 1
+ .byte 1, 3, 0
+ .byte 2, 2, 3
+ .byte 0, 1, 3
+ .byte 2, 0, 1
+ .byte 1, 2, 3
+ .byte 0, 2, 3
+ .byte 1, 0, 3
+ .byte 2, 1, 0
gUnknown_0858CFB8:: @ 858CFB8
- .incbin "baserom.gba", 0x58cfb8, 0x6
+ .byte 0, 1
+ .byte 1, 2
+ .byte 2, 0
gUnknown_0858CFBE:: @ 858CFBE
- .incbin "baserom.gba", 0x58cfbe, 0xe
+ .byte 0, 1, 2, 3
+ .byte 0, 2, 1, 3
+ .byte 0, 3, 2, 1
+ .byte 0, 0
diff --git a/data/reset_rtc_screen.s b/data/reset_rtc_screen.s
index 37c532497..6d3964da8 100644
--- a/data/reset_rtc_screen.s
+++ b/data/reset_rtc_screen.s
@@ -11,7 +11,7 @@ gUnknown_08510404:: @ 8510404 struct BgTemplate
gUnknown_08510408:: @ 8510408
window_template 0x00, 0x01, 0x01, 0x13, 0x09, 0x0f, 0x0155
window_template 0x00, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x00e9
- window_template_terminator
+ null_window_template
.align 2
gUnknown_08510420:: @ 8510420
diff --git a/data/script_menu.s b/data/script_menu.s
index 6cd7bf381..dbfb05621 100644
--- a/data/script_menu.s
+++ b/data/script_menu.s
@@ -578,7 +578,7 @@ gUnknown_0858B758:: @ 58B758
gUnknown_0858B760:: @ 858B760
- .4byte 0x0858abd8, 3
+ .4byte gUnknown_0858ABD8, 3
.4byte gUnknown_0858B758, 1
.4byte gUnknown_0858ABF0, 3
.4byte gUnknown_0858AC08, 4
@@ -745,19 +745,36 @@ gUnknown_0858BB80:: @ 858BB80
.4byte gText_Exit
gUnknown_0858BB9C:: @ 858BB9C
- .incbin "baserom.gba", 0x58bb9c, 0x10
+ .4byte OldaleTown_PokemonCenter_2F_Text_277F1B
+ .4byte OldaleTown_PokemonCenter_2F_Text_277F5A
+ .4byte OldaleTown_PokemonCenter_2F_Text_277F96
+ .4byte OldaleTown_PokemonCenter_2F_Text_27889C
gUnknown_0858BBAC:: @ 858BBAC
- .incbin "baserom.gba", 0x58bbac, 0x10
+ .4byte OldaleTown_PokemonCenter_2F_Text_27879F
+ .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
+ .4byte OldaleTown_PokemonCenter_2F_Text_278831
+ .4byte OldaleTown_PokemonCenter_2F_Text_27889C
gUnknown_0858BBBC:: @ 858BBBC
- .incbin "baserom.gba", 0x58bbbc, 0x10
+ .4byte OldaleTown_PokemonCenter_2F_Text_27879F
+ .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
+ .4byte OldaleTown_PokemonCenter_2F_Text_2787FC
+ .4byte OldaleTown_PokemonCenter_2F_Text_27889C
gUnknown_0858BBCC:: @ 858BBCC
- .incbin "baserom.gba", 0x58bbcc, 0x14
+ .4byte OldaleTown_PokemonCenter_2F_Text_27879F
+ .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
+ .4byte OldaleTown_PokemonCenter_2F_Text_278831
+ .4byte OldaleTown_PokemonCenter_2F_Text_2787FC
+ .4byte OldaleTown_PokemonCenter_2F_Text_27889C
gUnknown_0858BBE0:: @ 858BBE0
- .incbin "baserom.gba", 0x58bbe0, 0xc
+ .4byte OldaleTown_PokemonCenter_2F_Text_277F1B
+ .4byte OldaleTown_PokemonCenter_2F_Text_277F5A
+ .4byte OldaleTown_PokemonCenter_2F_Text_27889C
gUnknown_0858BBEC:: @ 858BBEC
- .incbin "baserom.gba", 0x58bbec, 0x18c
+ .4byte OldaleTown_PokemonCenter_2F_Text_27879F
+ .4byte OldaleTown_PokemonCenter_2F_Text_2787D5
+ .4byte OldaleTown_PokemonCenter_2F_Text_27889C
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index 5418e6e4e..bcd92d1c2 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -1648,15 +1648,15 @@ OldaleTown_PokemonCenter_2F_Text_277EF1: @ 8277EF1
.string "Which of our services do you wish\n"
.string "to use?$"
-OldaleTown_PokemonCenter_2F_Text_277F1B: @ 8277F1B
+OldaleTown_PokemonCenter_2F_Text_277F1B:: @ 8277F1B
.string "Trade POKéMON with another player\n"
.string "using a GBA Game Link cable.$"
-OldaleTown_PokemonCenter_2F_Text_277F5A: @ 8277F5A
+OldaleTown_PokemonCenter_2F_Text_277F5A:: @ 8277F5A
.string "You may battle another TRAINER\n"
.string "using a GBA Game Link cable.$"
-OldaleTown_PokemonCenter_2F_Text_277F96: @ 8277F96
+OldaleTown_PokemonCenter_2F_Text_277F96:: @ 8277F96
.string "You can use the RECORD CORNER with\n"
.string "others using a GBA Game Link cable.$"
@@ -1826,19 +1826,19 @@ OldaleTown_PokemonCenter_2F_Text_27878B: @ 827878B
OldaleTown_PokemonCenter_2F_Text_278792: @ 8278792
.string "Please wait.$"
-OldaleTown_PokemonCenter_2F_Text_27879F: @ 827879F
+OldaleTown_PokemonCenter_2F_Text_27879F:: @ 827879F
.string "You may trade your POKéMON here\n"
.string "with another TRAINER.$"
-OldaleTown_PokemonCenter_2F_Text_2787D5: @ 82787D5
+OldaleTown_PokemonCenter_2F_Text_2787D5:: @ 82787D5
.string "You may battle with your friends\n"
.string "here.$"
-OldaleTown_PokemonCenter_2F_Text_2787FC: @ 82787FC
+OldaleTown_PokemonCenter_2F_Text_2787FC:: @ 82787FC
.string "Two to five TRAINERS can make\n"
.string "BERRY POWDER together.$"
-OldaleTown_PokemonCenter_2F_Text_278831: @ 8278831
+OldaleTown_PokemonCenter_2F_Text_278831:: @ 8278831
.string "The records of two to four players\n"
.string "can be mixed together.$"
@@ -1846,7 +1846,7 @@ OldaleTown_PokemonCenter_2F_Text_27886B: @ 827886B
.string "A guide to the WIRELESS CLUB’s\n"
.string "various services.$"
-OldaleTown_PokemonCenter_2F_Text_27889C: @ 827889C
+OldaleTown_PokemonCenter_2F_Text_27889C:: @ 827889C
.string "Cancels the selected MENU item.$"
OldaleTown_PokemonCenter_2F_Text_2788BC: @ 82788BC
diff --git a/data/scripts/mauville_man.inc b/data/scripts/mauville_man.inc
index 327c0cbc6..2e00ee702 100644
--- a/data/scripts/mauville_man.inc
+++ b/data/scripts/mauville_man.inc
@@ -300,10 +300,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "in hearing my epic tales of legendary\l"
.string "TRAINERS.$"
+MauvilleCity_PokemonCenter_1F_Text_28E930:: @ 828E930
.string "The Save-Happy TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28E947:: @ 828E947
.string "Saved the game$"
+MauvilleCity_PokemonCenter_1F_Text_28E956:: @ 828E956
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER saved the game\n"
@@ -311,10 +314,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "A more cautious TRAINER than\n"
.string "{STR_VAR_3} one will never find!$"
+MauvilleCity_PokemonCenter_1F_Text_28E9D7:: @ 828E9D7
.string "The Trendsetter TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28E9EF:: @ 828E9EF
.string "Started trends$"
+MauvilleCity_PokemonCenter_1F_Text_28E9FE:: @ 828E9FE
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER started new trends\n"
@@ -322,10 +328,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is setting trends for all\n"
.string "the HOENN region!$"
- .string "The BERRY-Planting TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EA7D:: @ 828EA7D
+ .string "The BERRY-Planting TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EA98:: @ 828EA98
.string "Planted BERRIES$"
+MauvilleCity_PokemonCenter_1F_Text_28EAA8:: @ 828EAA8
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER planted BERRIES\n"
@@ -333,10 +342,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a legendary lover of\n"
.string "BERRIES!$"
+MauvilleCity_PokemonCenter_1F_Text_28EB19:: @ 828EB19
.string "The BIKE-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EB31:: @ 828EB31
.string "Traded BIKES$"
+MauvilleCity_PokemonCenter_1F_Text_28EB3E:: @ 828EB3E
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER swapped BIKES\n"
@@ -344,10 +356,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must love BIKES deeply\n"
.string "and passionately!$"
+MauvilleCity_PokemonCenter_1F_Text_28EBB5:: @ 828EBB5
.string "The Interviewed TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EBCD:: @ 828EBCD
.string "Got interviewed$"
+MauvilleCity_PokemonCenter_1F_Text_28EBDD:: @ 828EBDD
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER got interviewed\n"
@@ -355,20 +370,26 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a TRAINER who’s\n"
.string "attracting much attention!$"
+MauvilleCity_PokemonCenter_1F_Text_28EC60:: @ 828EC60
.string "The Battle-Happy TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EC79:: @ 828EC79
.string "Battled$"
+MauvilleCity_PokemonCenter_1F_Text_28EC81:: @ 828EC81
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER battled {STR_VAR_1} times!\p"
.string "{STR_VAR_3} must be a TRAINER who can\n"
.string "never refuse a chance to battle!$"
+MauvilleCity_PokemonCenter_1F_Text_28ED04:: @ 828ED04
.string "The POKéMON-Catching TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28ED21:: @ 828ED21
.string "Caught POKéMON$"
+MauvilleCity_PokemonCenter_1F_Text_28ED30:: @ 828ED30
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER caught\n"
@@ -376,10 +397,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a legendary catcher of\n"
.string "wild POKéMON!$"
+MauvilleCity_PokemonCenter_1F_Text_28EDA1:: @ 828EDA1
.string "The Fishing TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EDB5:: @ 828EDB5
.string "Caught POKéMON with a ROD$"
+MauvilleCity_PokemonCenter_1F_Text_28EDCF:: @ 828EDCF
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER caught\n"
@@ -387,10 +411,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a legendary fishing\n"
.string "expert!$"
+MauvilleCity_PokemonCenter_1F_Text_28EE45:: @ 828EE45
.string "The EGG-Warming TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EE5D:: @ 828EE5D
.string "Hatched EGGS$"
+MauvilleCity_PokemonCenter_1F_Text_28EE6A:: @ 828EE6A
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER hatched {STR_VAR_1} POKéMON\n"
@@ -398,10 +425,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a legendary warmer\n"
.string "of EGGS!$"
+MauvilleCity_PokemonCenter_1F_Text_28EEDD:: @ 828EEDD
.string "The Evolver TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EEF1:: @ 828EEF1
.string "Evolved POKéMON$"
+MauvilleCity_PokemonCenter_1F_Text_28EF01:: @ 828EF01
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER made {STR_VAR_1} POKéMON\n"
@@ -409,10 +439,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is the ultimate evolver\n"
.string "of POKéMON!$"
+MauvilleCity_PokemonCenter_1F_Text_28EF73:: @ 828EF73
.string "The POKéMON CENTER-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28EF95:: @ 828EF95
.string "Used POKéMON CENTERS$"
+MauvilleCity_PokemonCenter_1F_Text_28EFAA:: @ 828EFAA
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER healed POKéMON\n"
@@ -420,10 +453,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "There could be no greater lover of\n"
.string "POKéMON CENTERS than {STR_VAR_3}!$"
+MauvilleCity_PokemonCenter_1F_Text_28F045:: @ 828F045
.string "The Homebody TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F05A:: @ 828F05A
.string "Rested POKéMON at home$"
+MauvilleCity_PokemonCenter_1F_Text_28F071:: @ 828F071
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER healed POKéMON\n"
@@ -431,10 +467,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "There could be no more of a homebody\n"
.string "than {STR_VAR_3}!$"
+MauvilleCity_PokemonCenter_1F_Text_28F0F3:: @ 828F0F3
.string "The SAFARI-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F10D:: @ 828F10D
.string "Entered the SAFARI ZONE$"
+MauvilleCity_PokemonCenter_1F_Text_28F125:: @ 828F125
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER went into the SAFARI ZONE\n"
@@ -442,10 +481,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a TRAINER whose wild side\n"
.string "must come out in the SAFARI ZONE!$"
+MauvilleCity_PokemonCenter_1F_Text_28F1BE:: @ 828F1BE
.string "The CUT-Frenzy TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F1D5:: @ 828F1D5
.string "Used CUT$"
+MauvilleCity_PokemonCenter_1F_Text_28F1DE:: @ 828F1DE
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used CUT\n"
@@ -453,10 +495,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a TRAINER who just must\n"
.string "love to CUT!$"
+MauvilleCity_PokemonCenter_1F_Text_28F24F:: @ 828F24F
.string "The ROCK-SMASHING TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F269:: @ 828F269
.string "Smashed rocks$"
+MauvilleCity_PokemonCenter_1F_Text_28F277:: @ 828F277
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used ROCK SMASH\n"
@@ -464,10 +509,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a TRAINER who\n"
.string "can’t leave a stone unsmashed!$"
+MauvilleCity_PokemonCenter_1F_Text_28F2FC:: @ 828F2FC
.string "The Move-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F314:: @ 828F314
.string "Moved the SECRET BASE$"
+MauvilleCity_PokemonCenter_1F_Text_28F32A:: @ 828F32A
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER moved the SECRET BASE\n"
@@ -475,10 +523,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a TRAINER who loves\n"
.string "to move houses often!$"
+MauvilleCity_PokemonCenter_1F_Text_28F3AD:: @ 828F3AD
.string "The SPLASH-Happy TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F3C6:: @ 828F3C6
.string "Used SPLASH$"
+MauvilleCity_PokemonCenter_1F_Text_28F3D2:: @ 828F3D2
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used SPLASH\n"
@@ -486,10 +537,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a TRAINER who must love\n"
.string "SPLASHING around!$"
+MauvilleCity_PokemonCenter_1F_Text_28F44B:: @ 828F44B
.string "The Tenacious TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F461:: @ 828F461
.string "Resorted to using STRUGGLE$"
+MauvilleCity_PokemonCenter_1F_Text_28F47C:: @ 828F47C
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER had to rely on STRUGGLE\n"
@@ -497,10 +551,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a tenacious TRAINER\n"
.string "who never gives in to adversity!$"
+MauvilleCity_PokemonCenter_1F_Text_28F50C:: @ 828F50C
.string "The SLOT Champ$"
+MauvilleCity_PokemonCenter_1F_Text_28F51B:: @ 828F51B
.string "Won the jackpot on the SLOTS$"
+MauvilleCity_PokemonCenter_1F_Text_28F538:: @ 828F538
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won the jackpot on\n"
@@ -508,10 +565,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a TRAINER who was lucky\n"
.string "on the SLOTS!$"
+MauvilleCity_PokemonCenter_1F_Text_28F5BE:: @ 828F5BE
.string "The ROULETTE Champ$"
+MauvilleCity_PokemonCenter_1F_Text_28F5D1:: @ 828F5D1
.string "Had consecutive ROULETTE wins of$"
+MauvilleCity_PokemonCenter_1F_Text_28F5F2:: @ 828F5F2
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won in ROULETTE\n"
@@ -519,10 +579,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} was lucky when the ball\n"
.string "bounced in ROULETTE!$"
+MauvilleCity_PokemonCenter_1F_Text_28F678:: @ 828F678
.string "The BATTLE TOWER Challenger$"
+MauvilleCity_PokemonCenter_1F_Text_28F694:: @ 828F694
.string "Took the BATTLE TOWER challenge$"
+MauvilleCity_PokemonCenter_1F_Text_28F6B4:: @ 828F6B4
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER took the BATTLE TOWER\n"
@@ -530,10 +593,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} is a TRAINER who aspires\n"
.string "for excellence in the BATTLE TOWER!$"
+MauvilleCity_PokemonCenter_1F_Text_28F751:: @ 828F751
.string "The Blend-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F76A:: @ 828F76A
.string "Made {POKEBLOCK}S$"
+MauvilleCity_PokemonCenter_1F_Text_28F776:: @ 828F776
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER made {POKEBLOCK}S\n"
@@ -541,10 +607,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "There is none better at using a BERRY\n"
.string "BLENDER than {STR_VAR_3}!$"
+MauvilleCity_PokemonCenter_1F_Text_28F7F6:: @ 828F7F6
.string "The CONTEST-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F811:: @ 828F811
.string "Entered CONTESTS$"
+MauvilleCity_PokemonCenter_1F_Text_28F822:: @ 828F822
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER entered CONTESTS\n"
@@ -552,10 +621,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must love showing off\n"
.string "POKéMON to others!$"
+MauvilleCity_PokemonCenter_1F_Text_28F89C:: @ 828F89C
.string "The CONTEST Master$"
+MauvilleCity_PokemonCenter_1F_Text_28F8AF:: @ 828F8AF
.string "Won CONTESTS$"
+MauvilleCity_PokemonCenter_1F_Text_28F8BC:: @ 828F8BC
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won CONTESTS\n"
@@ -563,10 +635,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be an incredible\n"
.string "CONTEST master!$"
+MauvilleCity_PokemonCenter_1F_Text_28F92F:: @ 828F92F
.string "The Happy Shopper$"
+MauvilleCity_PokemonCenter_1F_Text_28F941:: @ 828F941
.string "Shopped$"
+MauvilleCity_PokemonCenter_1F_Text_28F949:: @ 828F949
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER bought items in shops\n"
@@ -574,10 +649,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be one of those\n"
.string "people who are born to shop.$"
+MauvilleCity_PokemonCenter_1F_Text_28F9D1:: @ 828F9D1
.string "The Item-Finding TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28F9EA:: @ 828F9EA
.string "Used an ITEMFINDER$"
+MauvilleCity_PokemonCenter_1F_Text_28F9FD:: @ 828F9FD
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER used an ITEMFINDER\n"
@@ -585,10 +663,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must enjoy scouring the\n"
.string "ground for hidden items!$"
+MauvilleCity_PokemonCenter_1F_Text_28FA81:: @ 828FA81
.string "The Rain-Soaked TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28FA99:: @ 828FA99
.string "Got rained on$"
+MauvilleCity_PokemonCenter_1F_Text_28FAA7:: @ 828FAA7
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER got soaked by rain\n"
@@ -596,10 +677,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3}’s charisma must even\n"
.string "attract rain!$"
+MauvilleCity_PokemonCenter_1F_Text_28FB1D:: @ 828FB1D
.string "The Avid POKéDEX Reader$"
+MauvilleCity_PokemonCenter_1F_Text_28FB35:: @ 828FB35
.string "Checked a POKéDEX$"
+MauvilleCity_PokemonCenter_1F_Text_28FB47:: @ 828FB47
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER checked a POKéDEX\n"
@@ -607,10 +691,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must love inspecting\n"
.string "POKéMON in a POKéDEX!$"
+MauvilleCity_PokemonCenter_1F_Text_28FBC4:: @ 828FBC4
.string "The RIBBON Collector$"
+MauvilleCity_PokemonCenter_1F_Text_28FBD9:: @ 828FBD9
.string "Received RIBBONS$"
+MauvilleCity_PokemonCenter_1F_Text_28FBEA:: @ 828FBEA
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER received RIBBONS\n"
@@ -618,10 +705,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a TRAINER who\n"
.string "loves to collect RIBBONS!$"
+MauvilleCity_PokemonCenter_1F_Text_28FC6B:: @ 828FC6B
.string "The Ledge-Jumping TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28FC85:: @ 828FC85
.string "Jumped down ledges$"
+MauvilleCity_PokemonCenter_1F_Text_28FC98:: @ 828FC98
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER jumped down ledges\n"
@@ -629,20 +719,26 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "If there’s a ledge to be jumped,\n"
.string "{STR_VAR_3} can’t ignore it!$"
+MauvilleCity_PokemonCenter_1F_Text_28FD1D:: @ 828FD1D
.string "The Legendary TV Viewer$"
+MauvilleCity_PokemonCenter_1F_Text_28FD35:: @ 828FD35
.string "Watched TV$"
+MauvilleCity_PokemonCenter_1F_Text_28FD40:: @ 828FD40
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER watched TV\n"
.string "{STR_VAR_1} times!\p"
.string "{STR_VAR_3} must love watching TV!$"
+MauvilleCity_PokemonCenter_1F_Text_28FDA2:: @ 828FDA2
.string "The Time-Conscious TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28FDBD:: @ 828FDBD
.string "Checked the time$"
+MauvilleCity_PokemonCenter_1F_Text_28FDCE:: @ 828FDCE
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER checked the time\n"
@@ -650,10 +746,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a punctual TRAINER\n"
.string "who’s conscious of the time.$"
+MauvilleCity_PokemonCenter_1F_Text_28FE57:: @ 828FE57
.string "The POKéMON LOTTERY Wizard$"
+MauvilleCity_PokemonCenter_1F_Text_28FE72:: @ 828FE72
.string "Won POKéMON LOTTERIES$"
+MauvilleCity_PokemonCenter_1F_Text_28FE88:: @ 828FE88
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER won POKéMON LOTTERIES\n"
@@ -661,10 +760,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must have many friends\n"
.string "to trade POKéMON with!$"
+MauvilleCity_PokemonCenter_1F_Text_28FF0C:: @ 828FF0C
.string "The DAY CARE-Using Trainer$"
+MauvilleCity_PokemonCenter_1F_Text_28FF27:: @ 828FF27
.string "Left POKéMON at the DAY CARE$"
+MauvilleCity_PokemonCenter_1F_Text_28FF44:: @ 828FF44
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER left POKéMON with the\n"
@@ -672,10 +774,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a real go-getter\n"
.string "who raises POKéMON aggressively!$"
+MauvilleCity_PokemonCenter_1F_Text_28FFDD:: @ 828FFDD
.string "The CABLE CAR-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_28FFFA:: @ 828FFFA
.string "Rode the CABLE CAR$"
+MauvilleCity_PokemonCenter_1F_Text_29000D:: @ 829000D
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER rode the CABLE CAR\n"
@@ -683,10 +788,13 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a busy TRAINER\n"
.string "who’s up and down all the time!$"
+MauvilleCity_PokemonCenter_1F_Text_290097:: @ 8290097
.string "The Hot Spring-Loving TRAINER$"
+MauvilleCity_PokemonCenter_1F_Text_2900B5:: @ 82900B5
.string "Bathed in hot springs$"
+MauvilleCity_PokemonCenter_1F_Text_2900CB:: @ 82900CB
.string "This is a tale of a TRAINER\n"
.string "named {STR_VAR_3}.\p"
.string "This TRAINER bathed in hot springs\n"
@@ -694,6 +802,7 @@ MauvilleCity_PokemonCenter_1F_Text_28E8D9: @ 828E8D9
.string "{STR_VAR_3} must be a TRAINER with\n"
.string "baby-smooth skin!$"
+
MauvilleCity_PokemonCenter_1F_EventScript_29014A:: @ 829014A
lock
faceplayer
diff --git a/data/shop.s b/data/shop.s
index d19feff1e..58f294e6b 100644
--- a/data/shop.s
+++ b/data/shop.s
@@ -46,7 +46,7 @@ gUnknown_08589A70:: @ 8589A70
window_template 0, 1, 11, 12, 2, 15, 0x176
window_template 0, 18, 11, 10, 2, 15, 0x18E
window_template 0, 2, 15, 27, 4, 15, 0x1A2
- window_template_terminator
+ null_window_template
gUnknown_08589AA8:: @ 8589AA8
window_template 0, 21, 9, 5, 4, 15, 0x20E
diff --git a/data/slot_machine.s b/data/slot_machine.s
index b25d496d9..b704cdb7a 100644
--- a/data/slot_machine.s
+++ b/data/slot_machine.s
@@ -12,7 +12,7 @@ gUnknown_085A7424:: @ 85A7424
gUnknown_085A7434:: @ 85A7434
window_template 0, 2, 15, 0x1B, 4, 15, 0x194
- window_template_terminator
+ null_window_template
gUnknown_085A7444:: @ 85A7444
window_template 0, 1, 3, 20, 13, 13, 1
diff --git a/data/specials.inc b/data/specials.inc
index f0c1fa114..a4e678a14 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -1,4 +1,5 @@
.macro def_special ptr
+.global SPECIAL_\ptr
.set SPECIAL_\ptr, __special__
.set __special__, __special__ + 1
.4byte \ptr
diff --git a/data/starter_choose.s b/data/starter_choose.s
index 160046d4c..92b95d80c 100644
--- a/data/starter_choose.s
+++ b/data/starter_choose.s
@@ -4,68 +4,156 @@
.section .rodata
+ .align 2
gBirchBagGrassPal:: @ 85B0A00
- .incbin "baserom.gba", 0x5b0a00, 0x80
+ .incbin "graphics/misc/birch_bag.gbapal"
+ .incbin "graphics/misc/birch_grass.gbapal"
+ .align 2
+gBirchBallarrow_Pal:: @ 85B0A40
+ .incbin "graphics/misc/birch_ballarrow.gbapal"
+
+ .align 2
+gBirchCircle_Pal:: @ 85B0A60
+ .incbin "graphics/misc/birch_circle.gbapal"
+
+ .align 2
gBirchBagTilemap:: @ 85B0A80
- .incbin "baserom.gba", 0x5b0a80, 0x18c
+ .incbin "graphics/misc/birch_bag_map.bin.lz"
+ .align 2
gBirchGrassTilemap:: @ 85B0C0C
- .incbin "baserom.gba", 0x5b0c0c, 0x1f8
+ .incbin "graphics/misc/birch_grass_map.bin.lz"
+ .align 2
gBirchHelpGfx:: @ 85B0E04
- .incbin "baserom.gba", 0x5b0e04, 0xaa8
+ .incbin "graphics/misc/birch_help.4bpp.lz"
+ .align 2
gUnknown_085B18AC:: @ 85B18AC
- .incbin "baserom.gba", 0x5b18AC, 0x520
+ .incbin "graphics/misc/birch_ballarrow.4bpp.lz"
+ .align 2
+gUnknown_085B1BCC:: @ 85B1BCC
+ .incbin "graphics/misc/birch_circle.4bpp.lz"
+
+ .align 2
gUnknown_085B1DCC:: @ 85B1DCC
- .incbin "baserom.gba", 0x5b1dcc, 0x10
+ window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0200
+ null_window_template
+ .align 2
gUnknown_085B1DDC:: @ 85B1DDC
- .incbin "baserom.gba", 0x5b1ddc, 0x8
+ window_template 0x00, 0x18, 0x09, 0x05, 0x04, 0x0e, 0x0260
+ .align 2
gUnknown_085B1DE4:: @ 85B1DE4
- .incbin "baserom.gba", 0x5b1de4, 0x8
+ window_template 0x00, 0x00, 0x00, 0x0d, 0x04, 0x0e, 0x0274
sPokeballCoords:: @ 85B1DEC
- .incbin "baserom.gba", 0x5b1dec, 0x6
+ .byte 0x3c, 0x40, 0x78, 0x58, 0xb4, 0x40
gStarterChoose_LabelCoords:: @ 85B1DF2
- .incbin "baserom.gba", 0x5b1df2, 0x6
+ .byte 0x00, 0x09, 0x10, 0x0a, 0x08, 0x04
sStarterMon:: @ 85B1DF8
.2byte SPECIES_TREECKO
.2byte SPECIES_TORCHIC
.2byte SPECIES_MUDKIP
-.align 2
+ .align 2
gUnknown_085B1E00:: @ 85B1E00
- .incbin "baserom.gba", 0x5b1e00, 0xc
+ .4byte 0x000001f8, 0x00003072, 0x00001063
gUnknown_085B1E0C:: @ 85B1E0C
- .incbin "baserom.gba", 0x5b1e0c, 0x1c
+ .byte 0x00, 0x01, 0x03
+
+ .align 2
+gOamData_85B1E10:: @ 85B1E10
+ .2byte 0x00a0, 0x8000, 0x0400, 0x0000
+
+ .align 2
+gOamData_85B1E18:: @ 85B1E18
+ .2byte 0x00a0, 0x8000, 0x0400, 0x0000
+
+ .align 2
+gOamData_85B1E20:: @ 85B1E20
+ .2byte 0x03a0, 0xc000, 0x0400, 0x0000
gUnknown_085B1E28:: @ 85B1E28
- .incbin "baserom.gba", 0x5b1e28, 0xa8
+ .byte 0x3c, 0x20, 0x78, 0x38, 0xb4, 0x20, 0x00, 0x00
+
+ .align 2
+gSpriteAnim_85B1E30:: @ 85B1E30
+ .2byte 0x0030, 0x001e, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_85B1E38:: @ 85B1E38
+ .2byte 0x0000, 0x001e, 0xffff, 0x0000
+ .align 2
+gSpriteAnim_85B1E40:: @ 85B1E40
+ .2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004
+ .2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008
+ .2byte 0x0000, 0x0008, 0xfffe, 0x0000
+
+ .align 2
+gSpriteAnim_85B1E88:: @ 85B1E88
+ .2byte 0x0000, 0x0008, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_85B1E90:: @ 85B1E90
+ .4byte gSpriteAnim_85B1E30
+
+ .align 2
+gSpriteAnimTable_85B1E94:: @ 85B1E94
+ .4byte gSpriteAnim_85B1E38
+ .4byte gSpriteAnim_85B1E40
+
+ .align 2
+gSpriteAnimTable_85B1E9C:: @ 85B1E9C
+ .4byte gSpriteAnim_85B1E88
+
+ .align 2
+gSpriteAffineAnim_85B1EA0:: @ 85B1EA0
+ .2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnim_85B1EB8:: @ 85B1EB8
+ .2byte 0x0014, 0x0014, 0x0000, 0x0000, 0x0014, 0x0014, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
gUnknown_085B1ED0:: @ 85B1ED0
- .incbin "baserom.gba", 0x5b1ed0, 0x8
+ .4byte gSpriteAffineAnim_85B1EA0
+
+ .align 2
+gSpriteAffineAnimTable_85B1ED4:: @ 85B1ED4
+ .4byte gSpriteAffineAnim_85B1EB8
+ .align 2
gUnknown_085B1ED8:: @ 85B1ED8
- .incbin "baserom.gba", 0x5b1ed8, 0x10
+ obj_tiles gUnknown_085B18AC, 0x0800, 0x1000
+ null_obj_tiles
+ .align 2
gUnknown_085B1EE8:: @ 85B1EE8
- .incbin "baserom.gba", 0x5b1ee8, 0x10
+ obj_tiles gUnknown_085B1BCC, 0x0800, 0x1001
+ null_obj_tiles
+ .align 2
gUnknown_085B1EF8:: @ 85B1EF8
- .incbin "baserom.gba", 0x5b1ef8, 0x18
+ obj_pal gBirchBallarrow_Pal, 0x1000
+ obj_pal gBirchCircle_Pal, 0x1001
+ null_obj_pal
+ .align 2
sSpriteTemplate_Hand:: @ 85B1F10
- .incbin "baserom.gba", 0x5b1f10, 0x18
+ spr_template 0x1000, 0x1000, gOamData_85B1E10, gSpriteAnimTable_85B1E90, NULL, gDummySpriteAffineAnimTable, sub_81346DC
+ .align 2
sSpriteTemplate_PokeBall:: @ 85B1F28
- .incbin "baserom.gba", 0x5b1f28, 0x18
+ spr_template 0x1000, 0x1000, gOamData_85B1E18, gSpriteAnimTable_85B1E94, NULL, gDummySpriteAffineAnimTable, sub_813473C
+ .align 2
gUnknown_085B1F40:: @ 85B1F40
- .incbin "baserom.gba", 0x5b1f40, 0x18
+ spr_template 0x1001, 0x1001, gOamData_85B1E20, gSpriteAnimTable_85B1E9C, NULL, gSpriteAffineAnimTable_85B1ED4, StarterPokemonSpriteCallback
diff --git a/data/strings.s b/data/strings.s
index 9ff36256d..75b430dd1 100644
--- a/data/strings.s
+++ b/data/strings.s
@@ -139,17 +139,14 @@ gUnknown_085E852C:: @ 85E852C
.string "CONTROLS$"
.align 2
-
gUnknown_085E8538:: @ 85E8538
.string "{UNK_CTRL_F80A}PICK {UNK_CTRL_F800}OK$"
.align 2
-
gUnknown_085E8544:: @ 85E8544
.string "{UNK_CTRL_F800}NEXT$"
.align 2
-
gUnknown_085E854C:: @ 85E854C
.string "{UNK_CTRL_F800}NEXT {UNK_CTRL_F801}BACK$"
@@ -570,16 +567,16 @@ gText_EmptyString2:: @ 85E8D03
gUnknown_085E8D04:: @ 85E8D04
.string "CANCEL$"
-gUnknown_085E8D0B:: @ 85E8D0B
+gText_Item:: @ 85E8D0B
.string "ITEM$"
-gUnknown_085E8D10:: @ 85E8D10
+gText_Mail:: @ 85E8D10
.string "MAIL$"
-gUnknown_085E8D15:: @ 85E8D15
+gText_Take:: @ 85E8D15
.string "TAKE$"
-gUnknown_085E8D1A:: @ 85E8D1A
+gText_Store:: @ 85E8D1A
.string "STORE$"
gMenuText_Check:: @ 85E8D20
@@ -988,34 +985,34 @@ gText_TurnedOverVar1ForVar2:: @ 85E9677
gText_PokedollarVar1:: @ 85E969C
.string "¥{STR_VAR_1}$"
-gUnknown_085E96A0:: @ 85E96A0
+gText_Shift:: @ 85E96A0
.string "SHIFT$"
-gUnknown_085E96A6:: @ 85E96A6
+gText_SendOut:: @ 85E96A6
.string "SEND OUT$"
-gUnknown_085E96AF:: @ 85E96AF
+gText_Switch2:: @ 85E96AF
.string "SWITCH$"
-gUnknown_085E96B6:: @ 85E96B6
+gText_Summary5:: @ 85E96B6
.string "SUMMARY$"
gUnknown_085E96BE:: @ 85E96BE
.string "MOVES$"
-gUnknown_085E96C4:: @ 85E96C4
+gText_Enter:: @ 85E96C4
.string "ENTER$"
-gUnknown_085E96CA:: @ 85E96CA
+gText_NoEntry:: @ 85E96CA
.string "NO ENTRY$"
-gUnknown_085E96D3:: @ 85E96D3
+gText_Take2:: @ 85E96D3
.string "TAKE$"
-gUnknown_085E96D8:: @ 85E96D8
+gText_Read2:: @ 85E96D8
.string "READ$"
-gUnknown_085E96DD:: @ 85E96DD
+gText_Trade4:: @ 85E96DD
.string "TRADE$"
gText_HP3:: @ 85E96E3
@@ -1340,28 +1337,23 @@ gText_EggCantBeTradedNow:: @ 85EA234
.string "An EGG can’t be traded now.$"
.align 2
-
-gUnknown_085EA250:: @ 85EA250
+gText_OtherTrainersPkmnCantBeTraded:: @ 85EA250
.string "The other TRAINER’s POKéMON\ncan’t be traded now.$"
.align 2
-
-gUnknown_085EA284:: @ 85EA284
+gText_OtherTrainerCantAcceptPkmn:: @ 85EA284
.string "The other TRAINER can’t accept\nthat POKéMON now.$"
.align 2
-
-gUnknown_085EA2B8:: @ 85EA2B8
+gText_CantTradeWithTrainer:: @ 85EA2B8
.string "You can’t trade with that\nTRAINER now.$"
.align 2
-
-gUnknown_085EA2E0:: @ 85EA2E0
+gText_NotPkmnOtherTrainerWants:: @ 85EA2E0
.string "That isn’t the type of POKéMON\nthat the other TRAINER wants.$"
.align 2
-
-gUnknown_085EA320:: @ 85EA320
+gText_ThatIsntAnEgg:: @ 85EA320
.string "That isn’t an EGG.$"
gText_Register:: @ 85EA333
@@ -3585,27 +3577,22 @@ gText_BattlePyramid:: @ 85ED153
.string "BATTLE PYRAMID$"
.align 2
-
gUnknown_085ED164:: @ 85ED164
.string "{STR_VAR_1} SINGLE$"
.align 2
-
gUnknown_085ED170:: @ 85ED170
.string "{STR_VAR_1} DOUBLE$"
.align 2
-
gUnknown_085ED17C:: @ 85ED17C
.string "{STR_VAR_1} MULTI$"
.align 2
-
gUnknown_085ED188:: @ 85ED188
.string "{STR_VAR_1} LINK$"
.align 2
-
gUnknown_085ED190:: @ 85ED190
.string "{STR_VAR_1}$"
@@ -4319,37 +4306,30 @@ gText_FloorsCleared:: @ 85EE39C
.string "Floors cleared: {STR_VAR_1}$"
.align 2
-
gUnknown_085EE3B0:: @ 85EE3B0
.string "LV. 50$"
.align 2
-
gUnknown_085EE3B8:: @ 85EE3B8
.string "OPEN LEVEL$"
.align 2
-
gUnknown_085EE3C4:: @ 85EE3C4
.string "Win streak: {STR_VAR_2}$"
.align 2
-
gUnknown_085EE3D4:: @ 85EE3D4
.string "Clear streak: {STR_VAR_2}$"
.align 2
-
gUnknown_085EE3E8:: @ 85EE3E8
.string "Rooms cleared: {STR_VAR_2}$"
.align 2
-
gUnknown_085EE3FC:: @ 85EE3FC
.string "KOs in a row: {STR_VAR_2}$"
.align 2
-
gUnknown_085EE410:: @ 85EE410
.string "Floors cleared: {STR_VAR_2}$"
@@ -4399,25 +4379,25 @@ gText_ABtnTitleScreen:: @ 85EE572
gText_Option:: @ 85EE589
.string "OPTION$"
-gUnknown_085EE590:: @ 85EE590
+gText_TextSpeed:: @ 85EE590
.string "TEXT SPEED$"
-gUnknown_085EE59B:: @ 85EE59B
+gText_BattleScene:: @ 85EE59B
.string "BATTLE SCENE$"
-gUnknown_085EE5A8:: @ 85EE5A8
+gText_BattleStyle:: @ 85EE5A8
.string "BATTLE STYLE$"
-gUnknown_085EE5B5:: @ 85EE5B5
+gText_Sound:: @ 85EE5B5
.string "SOUND$"
-gUnknown_085EE5BB:: @ 85EE5BB
+gText_Frame:: @ 85EE5BB
.string "FRAME$"
-gUnknown_085EE5C1:: @ 85EE5C1
+gText_OptionMenuCancel:: @ 85EE5C1
.string "CANCEL$"
-gUnknown_085EE5C8:: @ 85EE5C8
+gText_ButtonMode:: @ 85EE5C8
.string "BUTTON MODE$"
gText_TextSpeedSlow:: @ 85EE5D4
@@ -4665,16 +4645,16 @@ gText_MixingRecords:: @ 85EEA7E
gText_RecordMixingComplete:: @ 85EEA8E
.string "Record mixing completed.\nThank you for waiting.$"
-gUnknown_085EEABE:: @ 85EEABE
+gText_YourName:: @ 85EEABE
.string "YOUR NAME?$"
-gUnknown_085EEAC9:: @ 85EEAC9
+gText_BoxName:: @ 85EEAC9
.string "BOX NAME?$"
-gUnknown_085EEAD3:: @ 85EEAD3
+gText_PkmnsNickname:: @ 85EEAD3
.string "{STR_VAR_1}’s nickname?$"
-gUnknown_085EEAE2:: @ 85EEAE2
+gText_TellHimTheWords:: @ 85EEAE2
.string "Tell him the words.$"
gText_MoveOkBack:: @ 85EEAF6
@@ -4931,7 +4911,6 @@ gText_WhereShouldNewsBeAccessed:: @ 85EEF94
.string "Where should the WONDER NEWS\nbe accessed?$"
.align 2
-
gUnknown_085EEFC0:: @ 85EEFC0
.string "Communication standby…\nB Button: Cancel$"
diff --git a/data/text_window.s b/data/text_window.s
deleted file mode 100644
index 716425100..000000000
--- a/data/text_window.s
+++ /dev/null
@@ -1,170 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-gUnknown_0850E87C:: @ 850E87C
- .incbin "baserom.gba", 0x50e87c, 0x120
-
-gUnknown_0850E99C:: @ 850E99C
- .incbin "baserom.gba", 0x50e99c, 0x120
-
-gUnknown_0850EABC:: @ 850EABC
- .incbin "baserom.gba", 0x50eabc, 0x120
-
-gUnknown_0850EBDC:: @ 850EBDC
- .incbin "baserom.gba", 0x50ebdc, 0x120
-
-gUnknown_0850ECFC:: @ 850ECFC
- .incbin "baserom.gba", 0x50ecfc, 0x120
-
-gUnknown_0850EE1C:: @ 850EE1C
- .incbin "baserom.gba", 0x50ee1c, 0x120
-
-gUnknown_0850EF3C:: @ 850EF3C
- .incbin "baserom.gba", 0x50ef3c, 0x120
-
-gUnknown_0850F05C:: @ 850F05C
- .incbin "baserom.gba", 0x50f05c, 0x120
-
-gUnknown_0850F17C:: @ 850F17C
- .incbin "baserom.gba", 0x50f17c, 0x120
-
-gUnknown_0850F29C:: @ 850F29C
- .incbin "baserom.gba", 0x50f29c, 0x120
-
-gUnknown_0850F3BC:: @ 850F3BC
- .incbin "baserom.gba", 0x50f3bc, 0x120
-
-gUnknown_0850F4DC:: @ 850F4DC
- .incbin "baserom.gba", 0x50f4dc, 0x120
-
-gUnknown_0850F5FC:: @ 850F5FC
- .incbin "baserom.gba", 0x50f5fc, 0x120
-
-gUnknown_0850F71C:: @ 850F71C
- .incbin "baserom.gba", 0x50f71c, 0x120
-
-gUnknown_0850F83C:: @ 850F83C
- .incbin "baserom.gba", 0x50f83c, 0x120
-
-gUnknown_0850F95C:: @ 850F95C
- .incbin "baserom.gba", 0x50f95c, 0x120
-
-gUnknown_0850FA7C:: @ 850FA7C
- .incbin "baserom.gba", 0x50fa7c, 0x120
-
-gUnknown_0850FB9C:: @ 850FB9C
- .incbin "baserom.gba", 0x50fb9c, 0x120
-
-gUnknown_0850FCBC:: @ 850FCBC
- .incbin "baserom.gba", 0x50fcbc, 0x120
-
-gUnknown_0850FDDC:: @ 850FDDC
- .incbin "baserom.gba", 0x50fddc, 0x120
-
-gUnknown_0850FEFC:: @ 850FEFC
- .incbin "baserom.gba", 0x50fefc, 0x20
-
-gUnknown_0850FF1C:: @ 850FF1C
- .incbin "baserom.gba", 0x50ff1c, 0x20
-
-gUnknown_0850FF3C:: @ 850FF3C
- .incbin "baserom.gba", 0x50ff3c, 0x20
-
-gUnknown_0850FF5C:: @ 850FF5C
- .incbin "baserom.gba", 0x50ff5c, 0x20
-
-gUnknown_0850FF7C:: @ 850FF7C
- .incbin "baserom.gba", 0x50ff7c, 0x20
-
-gUnknown_0850FF9C:: @ 850FF9C
- .incbin "baserom.gba", 0x50ff9c, 0x20
-
-gUnknown_0850FFBC:: @ 850FFBC
- .incbin "baserom.gba", 0x50ffbc, 0x20
-
-gUnknown_0850FFDC:: @ 850FFDC
- .incbin "baserom.gba", 0x50ffdc, 0x20
-
-gUnknown_0850FFFC:: @ 850FFFC
- .incbin "baserom.gba", 0x50fffc, 0x20
-
-gUnknown_0851001C:: @ 851001C
- .incbin "baserom.gba", 0x51001c, 0x20
-
-gUnknown_0851003C:: @ 851003C
- .incbin "baserom.gba", 0x51003c, 0x20
-
-gUnknown_0851005C:: @ 851005C
- .incbin "baserom.gba", 0x51005c, 0x20
-
-gUnknown_0851007C:: @ 851007C
- .incbin "baserom.gba", 0x51007c, 0x20
-
-gUnknown_0851009C:: @ 851009C
- .incbin "baserom.gba", 0x51009c, 0x20
-
-gUnknown_085100BC:: @ 85100BC
- .incbin "baserom.gba", 0x5100bc, 0x20
-
-gUnknown_085100DC:: @ 85100DC
- .incbin "baserom.gba", 0x5100dc, 0x20
-
-gUnknown_085100FC:: @ 85100FC
- .incbin "baserom.gba", 0x5100fc, 0x20
-
-gUnknown_0851011C:: @ 851011C
- .incbin "baserom.gba", 0x51011c, 0x20
-
-gUnknown_0851013C:: @ 851013C
- .incbin "baserom.gba", 0x51013c, 0x20
-
-gUnknown_0851015C:: @ 851015C
- .incbin "baserom.gba", 0x51015c, 0x20
-
-gUnknown_0851017C:: @ 851017C
- .incbin "baserom.gba", 0x51017c, 0xA0
-
-gUnknown_0851021C:: @ 851021C
- .4byte gUnknown_0850E87C
- .4byte gUnknown_0850FEFC
- .4byte gUnknown_0850E99C
- .4byte gUnknown_0850FF1C
- .4byte gUnknown_0850EABC
- .4byte gUnknown_0850FF3C
- .4byte gUnknown_0850EBDC
- .4byte gUnknown_0850FF5C
- .4byte gUnknown_0850ECFC
- .4byte gUnknown_0850FF7C
- .4byte gUnknown_0850EE1C
- .4byte gUnknown_0850FF9C
- .4byte gUnknown_0850EF3C
- .4byte gUnknown_0850FFBC
- .4byte gUnknown_0850F05C
- .4byte gUnknown_0850FFDC
- .4byte gUnknown_0850F17C
- .4byte gUnknown_0850FFFC
- .4byte gUnknown_0850F29C
- .4byte gUnknown_0851001C
- .4byte gUnknown_0850F3BC
- .4byte gUnknown_0851003C
- .4byte gUnknown_0850F4DC
- .4byte gUnknown_0851005C
- .4byte gUnknown_0850F5FC
- .4byte gUnknown_0851007C
- .4byte gUnknown_0850F71C
- .4byte gUnknown_0851009C
- .4byte gUnknown_0850F83C
- .4byte gUnknown_085100BC
- .4byte gUnknown_0850F95C
- .4byte gUnknown_085100DC
- .4byte gUnknown_0850FA7C
- .4byte gUnknown_085100FC
- .4byte gUnknown_0850FB9C
- .4byte gUnknown_0851011C
- .4byte gUnknown_0850FCBC
- .4byte gUnknown_0851013C
- .4byte gUnknown_0850FDDC
- .4byte gUnknown_0851015C
diff --git a/data/trade.s b/data/trade.s
index 7308b92a3..d9708d0e6 100644
--- a/data/trade.s
+++ b/data/trade.s
@@ -1,26 +1,35 @@
+#include "constants/species.h"
+#include "constants/items.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
- .align 2, 0
+ .align 2
gUnknown_0832C6A8:: @ 832C6A8
- .incbin "baserom.gba", 0x32C6A8, 0x18
+ .4byte 0x00000f2c, 0x00003d88, 0x0000001c, 0x00000024, 0x00000064, 0x00000528
-gUnknown_0832C6C0:: @ 832C6C0
- .incbin "baserom.gba", 0x32c6c0, 0x1fe
+ .align 1
+gTradeMovesBoxTilemap:: @ 832C6C0
+ .incbin "graphics/trade/moves_box_map.bin"
-gUnknown_0832C8BE:: @ 832C8BE
- .incbin "baserom.gba", 0x32c8be, 0x1fe
+ .align 1
+gTradePartyBoxTilemap:: @ 832C8BE
+ .incbin "graphics/trade/party_box_map.bin"
-gUnknown_0832CABC:: @ 832CABC
- .incbin "baserom.gba", 0x32cabc, 0x800
+ .align 1
+gTradeStripesBG2Tilemap:: @ 832CABC
+ .incbin "graphics/trade/stripes_bg2_map.bin"
-gUnknown_0832D2BC:: @ 832D2BC
- .incbin "baserom.gba", 0x32d2bc, 0x800
+ .align 1
+gTradeStripesBG3Tilemap:: @ 832D2BC
+ .incbin "graphics/trade/stripes_bg3_map.bin"
-gUnknown_0832DABC:: @ 832DABC
- .incbin "baserom.gba", 0x32dabc, 0xb
+gText_EmptyString7:: @ 832DABC
+ .string "$"
+
+gText_ClrWhtHltTrspntShdwDrkGry:: @ 832DABD
+ .string "{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}$"
gText_MaleSymbol4:: @ 832DAC7
.string "♂$"
@@ -29,175 +38,609 @@ gText_FemaleSymbol4:: @ 832DAC9
.string "♀$"
gText_GenderlessSymbol:: @ 832DACB
- .incbin "baserom.gba", 0x32dacb, 0x7
+ .string "$"
+
+gText_SpaceMove:: @ 832DACC
+ .string " MOVE$"
+
+gText_NewLine3:: @ 832DAD2
+ .string "\n$"
+
+gText_Slash2:: @ 832DAD4
+ .string "/$"
+
+gText_Lv2:: @ 832DAD6
+ .string "Lv. $"
+
+gText_ThreeDashes2:: @ 832DADB
+ .string "---$"
+
+gText_FourQuestionMarks:: @ 832DADF
+ .string "????$"
+
+gText_832DAE4:: @ 832DAE4
+ .string "$"
+
+gText_IsThisTradeOkay:: @ 832DAE5
+ .string "Is this trade okay?$"
+
+gText_Cancel6:: @ 832DAF9
+ .string "CANCEL$"
+
+gText_ChooseAPkmn:: @ 832DB00
+ .string "Choose a POKéMON.$"
+
+gText_Summary3:: @ 832DB12
+ .string "SUMMARY$"
+
+gText_Trade2:: @ 832DB1A
+ .string "TRADE$"
+
+gText_CancelTrade:: @ 832DB20
+ .string "Cancel trade?$"
+
+gJPText_832DB2E:: @ 832DB2E
+ .string "Bボタン で もどります$"
+
+gText_Summary4:: @ 832DB3B
+ .string "SUMMARY$"
+
+gText_Trade3:: @ 832DB43
+ .string "TRADE$"
-gUnknown_0832DAD2:: @ 832DAD2
- .incbin "baserom.gba", 0x32dad2, 0xd
+gText_CommunicationStandby6:: @ 832DB49
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.$"
-gUnknown_0832DADF:: @ 832DADF
- .incbin "baserom.gba", 0x32dadf, 0x6
+gText_TheTradeHasBeenCanceled:: @ 832DB76
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$"
-gUnknown_0832DAE5:: @ 832DAE5
- .incbin "baserom.gba", 0x32dae5, 0x157
+gText_YourOnlyPkmnForBattle:: @ 832DB9C
+ .string "That’s your only\nPOKéMON for battle.$"
+gText_WaitingForYourFriend:: @ 832DBC1
+ .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…$"
+
+gText_YourFriendWantsToTrade:: @ 832DBED
+ .string "Your friend wants\nto trade POKéMON.$"
+
+ .align 2
+gOamData_832DC14:: @ 832DC14
+ .2byte 0x4000, 0x8000, 0x0400, 0x0000
+
+ .align 2
+gOamData_832DC1C:: @ 832DC1C
+ .2byte 0x4000, 0xc000, 0x0400, 0x0000
+
+ .align 2
+gSpriteAnim_832DC24:: @ 832DC24
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_832DC2C:: @ 832DC2C
+ .2byte 0x0020, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_832DC34:: @ 832DC34
+ .4byte gSpriteAnim_832DC24
+ .4byte gSpriteAnim_832DC2C
+
+ .align 2
gUnknown_0832DC3C:: @ 832DC3C
- .incbin "baserom.gba", 0x32dc3c, 0x8
+ obj_tiles gUnknown_08DDC6E4, 0x0800, 0x012c
+ .align 2
gUnknown_0832DC44:: @ 832DC44
- .incbin "baserom.gba", 0x32dc44, 0x50
+ obj_pal gUnknown_08DDB444, 0x0929
+
+ .align 2
+gSpriteAnim_832DC4C:: @ 832DC4C
+ .2byte 0x0000, 0x0005, 0xffff, 0x0000
-gUnknown_0832DC94:: @ 832DC94
- .incbin "baserom.gba", 0x32dc94, 0x18
+ .align 2
+gSpriteAnim_832DC54:: @ 832DC54
+ .2byte 0x0008, 0x0005, 0xffff, 0x0000
-gUnknown_0832DCAC:: @ 832DCAC
- .incbin "baserom.gba", 0x32dcac, 0x38
+ .align 2
+gSpriteAnim_832DC5C:: @ 832DC5C
+ .2byte 0x0010, 0x0005, 0xffff, 0x0000
-gUnknown_0832DCE4:: @ 832DCE4
- .incbin "baserom.gba", 0x32dce4, 0x8
+ .align 2
+gSpriteAnim_832DC64:: @ 832DC64
+ .2byte 0x0018, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_832DC6C:: @ 832DC6C
+ .2byte 0x0020, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_832DC74:: @ 832DC74
+ .2byte 0x0028, 0x0005, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_832DC7C:: @ 832DC7C
+ .4byte gSpriteAnim_832DC4C
+ .4byte gSpriteAnim_832DC54
+ .4byte gSpriteAnim_832DC5C
+ .4byte gSpriteAnim_832DC64
+ .4byte gSpriteAnim_832DC6C
+ .4byte gSpriteAnim_832DC74
+
+ .align 2
+gSpriteTemplate_832DC94:: @ 832DC94
+ spr_template 0x012c, 0x0929, gOamData_832DC1C, gSpriteAnimTable_832DC34, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+gSpriteTemplate_832DCAC:: @ 832DCAC
+ spr_template 0x00c8, 0x133d, gOamData_832DC14, gSpriteAnimTable_832DC7C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+ .align 2
+TradeScreenTextPalette:: @ 832DCC4
+ .incbin "graphics/trade/text.gbapal"
+
+ .align 2
+gSpritePalette_TradeScreenText:: @ 832DCE4
+ obj_pal TradeScreenTextPalette, 0x133d
gUnknown_0832DCEC:: @ 832DCEC
- .incbin "baserom.gba", 0x32dcec, 0x138
+ .byte 0x04, 0x02, 0x0c, 0x0c, 0x00, 0x00, 0x02, 0x04, 0x0c, 0x0c, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x00, 0x01, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05, 0x03, 0x0c, 0x0c, 0x00, 0x00, 0x03, 0x05
+ .byte 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x06, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x08, 0x07, 0x06
+ .byte 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x05, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x09, 0x08, 0x07, 0x00, 0x00, 0x08, 0x09, 0x06, 0x06, 0x00, 0x00
+ .byte 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01
+ .byte 0x01, 0x01, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x0a, 0x08, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0a, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
+ .byte 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+ .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c
+ .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0x03, 0x02
+ .byte 0x01, 0x00, 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00
+ .byte 0x0b, 0x09, 0x07, 0x06, 0x00, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00
gUnknown_0832DE24:: @ 832DE24
- .incbin "baserom.gba", 0x32de24, 0x1a
+ .byte 0x01, 0x05, 0x08, 0x05, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0f, 0x08, 0x0f, 0x10, 0x05, 0x17, 0x05, 0x10, 0x0a, 0x17, 0x0a, 0x10, 0x0f, 0x17, 0x0f, 0x17, 0x12
gUnknown_0832DE3E:: @ 832DE3E
- .incbin "baserom.gba", 0x32de3e, 0x18
+ .byte 0x05, 0x04, 0x0c, 0x04, 0x05, 0x09, 0x0c, 0x09, 0x05, 0x0e, 0x0c, 0x0e, 0x14, 0x04, 0x1b, 0x04, 0x14, 0x09, 0x1b, 0x09, 0x14, 0x0e, 0x1b, 0x0e
gUnknown_0832DE56:: @ 832DE56
- .incbin "baserom.gba", 0x32de56, 0x3e
+ .byte 0x01, 0x03, 0x08, 0x03, 0x01, 0x08, 0x08, 0x08, 0x01, 0x0d, 0x08, 0x0d, 0x10, 0x03, 0x17, 0x03, 0x10, 0x08, 0x17, 0x08, 0x10, 0x0d, 0x17, 0x0d, 0x00, 0x0e, 0x0f, 0x1d, 0x03, 0x05, 0x03, 0x07
+ .byte 0x12, 0x05, 0x12, 0x07, 0x08, 0x07, 0x16, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x07, 0x07, 0x17, 0x0c, 0x00, 0x00
+ .align 2
gUnknown_0832DE94:: @ 832DE94
- .incbin "baserom.gba", 0x32de94, 0x18
-
+ .4byte gText_Cancel6
+ .4byte gText_ChooseAPkmn
+ .4byte gText_Summary3
+ .4byte gText_Trade2
+ .4byte gText_CancelTrade
+ .4byte gJPText_832DB2E
+
+ .align 2
gUnknown_0832DEAC:: @ 832DEAC
- .incbin "baserom.gba", 0x32deac, 0x10
+ .4byte gText_Summary4, sub_807A000
+ .4byte gText_Trade3, sub_807A024
+ .align 2
gUnknown_0832DEBC:: @ 832DEBC
- .incbin "baserom.gba", 0x32debc, 0x24
+ .4byte gText_CommunicationStandby6
+ .4byte gText_TheTradeHasBeenCanceled
+ .4byte gText_YourOnlyPkmnForBattle
+ .4byte gText_OnlyPkmnForBattle
+ .4byte gText_WaitingForYourFriend
+ .4byte gText_YourFriendWantsToTrade
+ .4byte gText_PkmnCantBeTradedNow
+ .4byte gText_EggCantBeTradedNow
+ .4byte gText_OtherTrainersPkmnCantBeTraded
gUnknown_0832DEE0:: @ 832DEE0
- .incbin "baserom.gba", 0x32dee0, 0x4
+ .byte 0x00, 0x01, 0x02, 0x00
+ .align 2
gUnknown_0832DEE4:: @ 832DEE4
- .incbin "baserom.gba", 0x32dee4, 0x10
+ .4byte 0x000001f8, 0x00001051, 0x00002062, 0x00003073
+ .align 2
gUnknown_0832DEF4:: @ 832DEF4
- .incbin "baserom.gba", 0x32def4, 0x98
-
+ window_template 0x00, 0x04, 0x07, 0x16, 0x04, 0x0f, 0x001e
+ window_template 0x00, 0x13, 0x0f, 0x0a, 0x04, 0x0f, 0x0076
+ window_template 0x00, 0x00, 0x05, 0x08, 0x02, 0x0d, 0x009e
+ window_template 0x00, 0x07, 0x05, 0x08, 0x02, 0x0d, 0x00ae
+ window_template 0x00, 0x00, 0x0a, 0x08, 0x02, 0x0d, 0x00be
+ window_template 0x00, 0x07, 0x0a, 0x08, 0x02, 0x0d, 0x00ce
+ window_template 0x00, 0x00, 0x0f, 0x08, 0x02, 0x0d, 0x00de
+ window_template 0x00, 0x07, 0x0f, 0x08, 0x02, 0x0d, 0x00ee
+ window_template 0x00, 0x0f, 0x05, 0x08, 0x02, 0x0d, 0x00fe
+ window_template 0x00, 0x16, 0x05, 0x08, 0x02, 0x0d, 0x010e
+ window_template 0x00, 0x0f, 0x0a, 0x08, 0x02, 0x0d, 0x011e
+ window_template 0x00, 0x16, 0x0a, 0x08, 0x02, 0x0d, 0x012e
+ window_template 0x00, 0x0f, 0x0f, 0x08, 0x02, 0x0d, 0x013e
+ window_template 0x00, 0x16, 0x0f, 0x08, 0x02, 0x0d, 0x014e
+ window_template 0x00, 0x02, 0x05, 0x0e, 0x02, 0x0d, 0x015e
+ window_template 0x00, 0x03, 0x08, 0x0b, 0x08, 0x0f, 0x017a
+ window_template 0x00, 0x11, 0x05, 0x0e, 0x02, 0x0f, 0x01d2
+ window_template 0x00, 0x12, 0x08, 0x0b, 0x08, 0x0f, 0x01ee
+ null_window_template
+
+ .align 2
gUnknown_0832DF8C:: @ 832DF8C
- .incbin "baserom.gba", 0x32df8c, 0x8
+ window_template 0x00, 0x17, 0x0d, 0x05, 0x04, 0x0f, 0x0246
-gUnknown_0832DF94:: @ 832DF94
- .incbin "baserom.gba", 0x32df94, 0x5
+gJPText_Shedinja:: @ 832DF94
+ .string "ヌケニン$"
gUnknown_0832DF99:: @ 832DF99
- .incbin "baserom.gba", 0x32df99, 0x2027
+ .byte 0x04, 0x03, 0x13, 0x03, 0x00, 0x00, 0x00
+
+ .align 2
+gTradeBallPalette:: @ 832DFA0
+ .incbin "graphics/trade/ball.gbapal"
+
+ .align 2
+gTradeBallTiles:: @ 832DFC0
+ .incbin "graphics/trade/ball.4bpp"
+
+ .align 2
+gUnknown_832E5C0:: @ 832E5C0
+ .incbin "graphics/trade/pokeball_symbol.8bpp"
+ .align 2
gUnknown_0832FFC0:: @ 832FFC0
- .incbin "baserom.gba", 0x32ffc0, 0x1fa0
+ .incbin "graphics/trade/cable_closeup_map.bin"
+
+ .align 2
+gUnknown_083307C0:: @ 83307C0
+ .incbin "graphics/trade/pokeball_symbol_map.bin"
+
+ .align 2
+gUnknown_083308C0:: @ 83308C0
+ .incbin "graphics/trade/unknown_3308C0.gbapal"
+
+ .align 2
+gUnknown_083308E0:: @ 83308E0
+ .incbin "graphics/trade/gba.gbapal"
+ .incbin "graphics/trade/shadow.gbapal"
+ .incbin "graphics/trade/black.gbapal"
+
+ .align 2
+gUnknown_08330940:: @ 8330940
+ .incbin "graphics/trade/misc.gbapal"
+ .align 2
+gTradeGlow1Tiles:: @ 8330960
+ .incbin "graphics/trade/glow1.4bpp"
+
+ .align 2
+gTradeGlow2Tiles:: @ 8330B60
+ .incbin "graphics/trade/glow2.4bpp"
+
+ .align 2
+gTradeCableEndTiles:: @ 8330D60
+ .incbin "graphics/trade/cable_end.4bpp"
+
+ .align 2
+gTradeGBAScreenTiles:: @ 8330F60
+ .incbin "graphics/trade/gba_screen.4bpp"
+
+ .align 2
gUnknown_08331F60:: @ 8331F60
- .incbin "baserom.gba", 0x331f60, 0x1000
+ .incbin "graphics/trade/shadow_map.bin"
+ .align 2
gUnknown_08332F60:: @ 8332F60
- .incbin "baserom.gba", 0x332f60, 0x2840
+ .incbin "graphics/trade/gba_affine.8bpp"
+ .space 0x40
+
+ .align 2
gUnknown_083357A0:: @ 83357A0
- .incbin "baserom.gba", 0x3357a0, 0x100
+ .incbin "graphics/trade/gba_affine_map_cable.bin"
+ .align 2
gUnknown_083358A0:: @ 83358A0
- .incbin "baserom.gba", 0x3358a0, 0x100
+ .incbin "graphics/trade/gba_affine_map_wireless.bin"
+ .align 2
gUnknown_083359A0:: @ 83359A0
- .incbin "baserom.gba", 0x3359a0, 0x1000
+ .incbin "graphics/trade/gba_map_wireless.bin"
+ .align 2
gUnknown_083369A0:: @ 83369A0
- .incbin "baserom.gba", 0x3369a0, 0x1000
+ .incbin "graphics/trade/gba_map_cable.bin"
+ .align 2
gUnknown_083379A0:: @ 83379A0
- .incbin "baserom.gba", 0x3379a0, 0x100
+ .incbin "graphics/trade/unknown_3379A0.bin.lz"
+ .align 2
gUnknown_08337AA0:: @ 8337AA0
- .incbin "baserom.gba", 0x337aa0, 0x200
+ .incbin "graphics/trade/wireless_signal_send.gbapal"
+ .align 2
gUnknown_08337CA0:: @ 8337CA0
- .incbin "baserom.gba", 0x337ca0, 0x200
+ .incbin "graphics/trade/wireless_signal_receive.gbapal"
+ .align 2
gUnknown_08337EA0:: @ 8337EA0
- .incbin "baserom.gba", 0x337ea0, 0x20
+ .incbin "graphics/trade/black.gbapal"
+ .align 2
gUnknown_08337EC0:: @ 8337EC0
- .incbin "baserom.gba", 0x337ec0, 0x690
+ .incbin "graphics/trade/wireless_signal.4bpp.lz"
+ .align 2
gUnknown_08338550:: @ 8338550
- .incbin "baserom.gba", 0x338550, 0x7c8
-
+ .incbin "graphics/trade/wireless_signal.bin.lz"
+
+ .align 2
+gOamData_8338C44:: @ 8338C44
+ .2byte 0x0100, 0x4000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAnim_8338C4C:: @ 8338C4C
+ .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003
+ .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0001, 0x0000, 0x0003, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8338C88:: @ 8338C88
+ .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003
+ .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0002, 0x0000, 0x0003, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8338C88:: @ 8338CC4
+ .4byte gSpriteAnim_8338C4C
+ .4byte gSpriteAnim_8338C88
+
+ .align 2
+gSpriteAffineAnim_8338CCC:: @ 8338CCC
+ .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnim_8338CDC:: @ 8338CDC
+ .2byte 0xfff8, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnim_8338CEC:: @ 8338CEC
+ .2byte 0x0060, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0500, 0x0000, 0x0008, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnimTable_8338D0C:: @ 8338D0C
+ .4byte gSpriteAffineAnim_8338CCC
+ .4byte gSpriteAffineAnim_8338CDC
+ .4byte gSpriteAffineAnim_8338CEC
+
+ .align 2
gUnknown_08338D18:: @ 8338D18
- .incbin "baserom.gba", 0x338d18, 0x8
+ obj_tiles gTradeBallTiles, 0x0600, 0x15b5
+ .align 2
gUnknown_08338D20:: @ 8338D20
- .incbin "baserom.gba", 0x338d20, 0x8
+ obj_pal gTradeBallPalette, 0x15b6
+
+ .align 2
+gSpriteTemplate_8338D28:: @ 8338D28
+ spr_template 0x15b5, 0x15b6, gOamData_8338C44, gSpriteAnimTable_8338C88, NULL, gSpriteAffineAnimTable_8338D0C, sub_807E55C
+
+ .align 2
+gOamData_8338D40:: @ 8338D40
+ .2byte 0x0500, 0x8000, 0x0400, 0x0000
-gUnknown_08338D28:: @ 8338D28
- .incbin "baserom.gba", 0x338d28, 0x48
+ .align 2
+gSpriteAnim_8338D48:: @ 8338D48
+ .2byte 0x0000, 0x00c5, 0xffff, 0x0000
+ .align 2
+gSpriteAnimTable_8338D50:: @ 8338D50
+ .4byte gSpriteAnim_8338D48
+
+ .align 2
+gSpriteAffineAnim_8338D54:: @ 8338D54
+ .2byte 0xfff6, 0xfff6, 0x0500, 0x0000, 0x000a, 0x000a, 0x0500, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnimTable_8338D6C:: @ 8338D6C
+ .4byte gSpriteAffineAnim_8338D54
+
+ .align 2
gUnknown_08338D70:: @ 8338D70
- .incbin "baserom.gba", 0x338d70, 0x8
+ obj_tiles gTradeGlow1Tiles, 0x0200, 0x15ae
+ .align 2
gUnknown_08338D78:: @ 8338D78
- .incbin "baserom.gba", 0x338d78, 0x8
+ obj_pal gUnknown_08330940, 0x15af
+ .align 2
gUnknown_08338D80:: @ 8338D80
- .incbin "baserom.gba", 0x338d80, 0x8
+ obj_pal gUnknown_083308E0, 0x15b3
+ .align 2
gUnknown_08338D88:: @ 8338D88
- .incbin "baserom.gba", 0x338d88, 0x38
+ spr_template 0x15ae, 0x15af, gOamData_8338D40, gSpriteAnimTable_8338D50, NULL, gSpriteAffineAnimTable_8338D6C, sub_807AA28
+
+ .align 2
+gOamData_8338DA0:: @ 8338DA0
+ .2byte 0x8000, 0x8000, 0x0400, 0x0000
+ .align 2
+gSpriteAnim_8338DA8:: @ 8338DA8
+ .2byte 0x0000, 0x00c5, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnim_8338DB0:: @ 8338DB0
+ .2byte 0x0008, 0x00c5, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8338DB8:: @ 8338DB8
+ .4byte gSpriteAnim_8338DA8
+ .4byte gSpriteAnim_8338DB0
+
+ .align 2
gUnknown_08338DC0:: @ 8338DC0
- .incbin "baserom.gba", 0x338dc0, 0x8
+ obj_tiles gTradeGlow2Tiles, 0x0300, 0x15b0
+
+ .align 2
+gSpriteTemplate_8338DC8:: @ 8338DC8
+ spr_template 0x15b0, 0x15af, gOamData_8338DA0, gSpriteAnimTable_8338DB8, NULL, gDummySpriteAffineAnimTable, sub_807AA7C
-gUnknown_08338DC8:: @ 8338DC8
- .incbin "baserom.gba", 0x338dc8, 0x2c
+ .align 2
+gOamData_8338DE0:: @ 8338DE0
+ .2byte 0x8000, 0x8000, 0x0400, 0x0000
+ .align 2
+gSpriteAnim_8338DE8:: @ 8338DE8
+ .2byte 0x0000, 0x000a, 0xffff, 0x0000
+
+ .align 2
+gSpriteAnimTable_8338DF0:: @ 8338DF0
+ .4byte gSpriteAnim_8338DE8
+
+ .align 2
gUnknown_08338DF4:: @ 8338DF4
- .incbin "baserom.gba", 0x338df4, 0x8
+ obj_tiles gTradeCableEndTiles, 0x0100, 0x15b2
-gUnknown_08338DFC:: @ 8338DFC
- .incbin "baserom.gba", 0x338dfc, 0x70
+ .align 2
+gSpriteTemplate_8338DFC:: @ 8338DFC
+ spr_template 0x15b2, 0x15b3, gOamData_8338DE0, gSpriteAnimTable_8338DF0, NULL, gDummySpriteAffineAnimTable, sub_807AABC
-gUnknown_08338E6C:: @ 8338E6C
- .incbin "baserom.gba", 0x338e6c, 0x8
+ .align 2
+gOamData_8338E14:: @ 8338E14
+ .2byte 0x4000, 0xc000, 0x0400, 0x0000
-gUnknown_08338E74:: @ 8338E74
- .incbin "baserom.gba", 0x338e74, 0x18
+ .align 2
+gSpriteAnim_8338E1C:: @ 8338E1C
+ .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0008
+ .2byte 0xffff, 0x0000
-gUnknown_08338E8C:: @ 8338E8C
- .incbin "baserom.gba", 0x338e8c, 0x18
+ .align 2
+gSpriteAnim_8338E40:: @ 8338E40
+ .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0002
+ .2byte 0xffff, 0x0000
-gUnknown_08338EA4:: @ 8338EA4
- .incbin "baserom.gba", 0x338ea4, 0x28
+ .align 2
+gSpriteAnimTable_8338E64:: @ 8338E64
+ .4byte gSpriteAnim_8338E1C
-gUnknown_08338ECC:: @ 8338ECC
- .incbin "baserom.gba", 0x338ecc, 0x4
+ .align 2
+gSpriteAnimTable_8338E68:: @ 8338E68
+ .4byte gSpriteAnim_8338E40
-gUnknown_08338ED0:: @ 8338ED0
- .incbin "baserom.gba", 0x338ed0, 0xf0
+gUnknown_08338E6C:: @ 8338E6C
+ obj_tiles gTradeGBAScreenTiles, 0x1000, 0x15b4
+
+ .align 2
+gSpriteTemplate_8338E74:: @ 8338E74
+ spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E64, NULL, gDummySpriteAffineAnimTable, sub_807AB04
+ .align 2
+gSpriteTemplate_8338E8C:: @ 8338E8C
+ spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E68, NULL, gDummySpriteAffineAnimTable, sub_807AB04
+
+ .align 1
+gUnknown_08338EA4:: @ 8338EA4
+ .incbin "graphics/trade/unknown_338EA4.gbapal"
+
+ .align 2
+gSpriteAffineAnim_8338EBC:: @ 8338EBC
+ .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000
+
+ .align 2
+gSpriteAffineAnimTable_8338ECC:: @ 8338ECC
+ .4byte gSpriteAffineAnim_8338EBC
+
+ .align 2
+gIngameTrades:: @ 8338ED0
+ .string "DOTS$", 11
+ .align 1
+ .2byte SPECIES_SEEDOT
+ .byte 5, 4, 5, 4, 4, 4
+ .byte 1
+ .align 2
+ .4byte 0x9746
+ .byte 30, 5, 5, 5, 5
+ .align 2
+ .4byte 0x84
+ .2byte ITEM_CHESTO_BERRY
+ .byte -1
+ .string "KOBE$", 11
+ .byte 0
+ .byte 10
+ .2byte SPECIES_RALTS
+
+ .align 2
+ .string "PLUSES$", 11
+ .align 1
+ .2byte SPECIES_PLUSLE
+ .byte 4, 4, 4, 5, 5, 4
+ .byte 0
+ .align 2
+ .4byte 0x1210c
+ .byte 5, 5, 30, 5, 5
+ .align 2
+ .4byte 0x6f
+ .2byte ITEM_WOOD_MAIL
+ .byte 0
+ .string "ROMAN$", 11
+ .byte 0
+ .byte 10
+ .2byte SPECIES_VOLBEAT
+
+ .align 2
+ .string "SEASOR$", 11
+ .align 1
+ .2byte SPECIES_HORSEA
+ .byte 5, 4, 4, 4, 5, 4
+ .byte 0
+ .align 2
+ .4byte 0xb4cd
+ .byte 5, 5, 5, 5, 30
+ .align 2
+ .4byte 0x7f
+ .2byte ITEM_WAVE_MAIL
+ .byte 1
+ .string "SKYLAR$", 11
+ .byte 0
+ .byte 10
+ .2byte SPECIES_BAGON
+
+ .align 2
+ .string "MEOWOW$", 11
+ .align 1
+ .2byte SPECIES_MEOWTH
+ .byte 4, 5, 4, 5, 4, 4
+ .byte 0
+ .align 2
+ .4byte 0x16559
+ .byte 5, 5, 5, 30, 5
+ .align 2
+ .4byte 0x8b
+ .2byte ITEM_RETRO_MAIL
+ .byte 2
+ .string "ISIS$", 11
+ .byte 1
+ .byte 10
+ .2byte SPECIES_SKITTY
+
+ .align 2
gUnknown_08338FC0:: @ 8338FC0
- .incbin "baserom.gba", 0x338fc0, 0x3c
+ .2byte 0x1006, 0x1232, 0x102f, 0x0161, 0x0c00, 0x0182, 0x1000, 0x1006, 0x0e3b, 0x0000, 0x0a01, 0x1000, 0x161e, 0x018b, 0x0433, 0x1611
+ .2byte 0x180f, 0x0074, 0x1440, 0x0000, 0x0811, 0x102b, 0x013b, 0x2a34, 0x0c16, 0x1037, 0x1020, 0x0418, 0x0c23, 0x0000
+ .align 2
gUnknown_08338FFC:: @ 8338FFC
- .incbin "baserom.gba", 0x338ffc, 0x10
+ window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0040
+ null_window_template
+ .align 2
gUnknown_0833900C:: @ 833900C
- .incbin "baserom.gba", 0x33900c, 0x8
+ window_template 0x00, 0x15, 0x09, 0x05, 0x04, 0x0f, 0x00bc
+ .align 2
gUnknown_08339014:: @ 8339014
- .incbin "baserom.gba", 0x339014, 0x10
+ .4byte 0x000001fc, 0x00002051, 0x00002326, 0x00003063
gUnknown_08339024:: @ 8339024
- .incbin "baserom.gba", 0x339024, 0x6c
+ .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe
+ .byte 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04
+ .byte 0x04, 0x04, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0xfc, 0xfd, 0xfe, 0xff
+ .byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02, 0x03
gUnknown_08339090:: @ 8339090
- .incbin "baserom.gba", 0x339090, 0x44
+ .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x0f, 0x02
+ .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x10, 0x01
+ .byte 0x10, 0xff, 0x00, 0x00
diff --git a/data/trainer_card.s b/data/trainer_card.s
index 08bf4d8fa..f57973200 100644
--- a/data/trainer_card.s
+++ b/data/trainer_card.s
@@ -2,7 +2,6 @@
.include "constants/constants.inc"
.section .rodata
- .align 2, 0
.macro unk_trainer_card_struct text1, text2, short1, short2, short3, short4
.4byte \text1
@@ -13,71 +12,100 @@
.2byte \short4
.endm
+ .align 2
gUnknown_0856F018:: @ 856F018
- .incbin "baserom.gba", 0x56f018, 0x194
+ .incbin "graphics/trainer_card/stickers_fr.4bpp.lz"
+
+ .align 2
+gUnknown_0856F18C:: @ 856F18C
+ .incbin "graphics/trainer_card/unknown_56F18C.gbapal"
+ .align 2
gEmeraldTrainerCard1Star_Pal:: @ 856F1AC
- .incbin "baserom.gba", 0x56f1ac, 0x60
+ .incbin "graphics/trainer_card/one_star.gbapal"
+ .align 2
gFireRedTrainerCard1Star_Pal:: @ 856F20C
- .incbin "baserom.gba", 0x56f20c, 0x60
+ .incbin "graphics/trainer_card/one_star_fr.gbapal"
+ .align 2
gEmeraldTrainerCard2Star_Pal:: @ 856F26C
- .incbin "baserom.gba", 0x56f26c, 0x60
+ .incbin "graphics/trainer_card/two_stars.gbapal"
+ .align 2
gFireRedTrainerCard2Star_Pal:: @ 856F2CC
- .incbin "baserom.gba", 0x56f2cc, 0x60
+ .incbin "graphics/trainer_card/two_stars_fr.gbapal"
+ .align 2
gEmeraldTrainerCard3Star_Pal:: @ 856F32C
- .incbin "baserom.gba", 0x56f32c, 0x60
+ .incbin "graphics/trainer_card/three_stars.gbapal"
+ .align 2
gFireRedTrainerCard3Star_Pal:: @ 856F38C
- .incbin "baserom.gba", 0x56f38c, 0x60
+ .incbin "graphics/trainer_card/three_stars_fr.gbapal"
+ .align 2
gEmeraldTrainerCard4Star_Pal:: @ 856F3EC
- .incbin "baserom.gba", 0x56f3ec, 0x60
+ .incbin "graphics/trainer_card/four_stars.gbapal"
+ .align 2
gFireRedTrainerCard4Star_Pal:: @ 856F44C
- .incbin "baserom.gba", 0x56f44c, 0x60
+ .incbin "graphics/trainer_card/four_stars_fr.gbapal"
+ .align 2
gUnknown_0856F4AC:: @ 856F4AC
- .incbin "baserom.gba", 0x56f4ac, 0x20
+ .incbin "graphics/trainer_card/female_bg.gbapal"
+ .align 2
gUnknown_0856F4CC:: @ 856F4CC
- .incbin "baserom.gba", 0x56f4cc, 0x20
+ .incbin "graphics/trainer_card/female_bg_fr.gbapal"
+ .align 2
gUnknown_0856F4EC:: @ 856F4EC
- .incbin "baserom.gba", 0x56f4ec, 0x20
+ .incbin "graphics/trainer_card/badges.gbapal"
+ .align 2
gUnknown_0856F50C:: @ 856F50C
- .incbin "baserom.gba", 0x56f50c, 0x20
+ .incbin "graphics/trainer_card/badges_fr.gbapal"
+ .align 2
gUnknown_0856F52C:: @ 856F52C
- .incbin "baserom.gba", 0x56f52c, 0x20
+ .incbin "graphics/trainer_card/gold.gbapal"
+ .align 2
gUnknown_0856F54C:: @ 856F54C
- .incbin "baserom.gba", 0x56f54c, 0x20
+ .incbin "graphics/trainer_card/stickers_fr1.gbapal"
+ .align 2
gUnknown_0856F56C:: @ 856F56C
- .incbin "baserom.gba", 0x56f56c, 0x20
+ .incbin "graphics/trainer_card/stickers_fr2.gbapal"
+ .align 2
gUnknown_0856F58C:: @ 856F58C
- .incbin "baserom.gba", 0x56f58c, 0x20
+ .incbin "graphics/trainer_card/stickers_fr3.gbapal"
+ .align 2
gUnknown_0856F5AC:: @ 856F5AC
- .incbin "baserom.gba", 0x56f5ac, 0x20
+ .incbin "graphics/trainer_card/stickers_fr4.gbapal"
+ .align 2
gUnknown_0856F5CC:: @ 856F5CC
- .incbin "baserom.gba", 0x56f5cc, 0x248
+ .incbin "graphics/trainer_card/badges.4bpp.lz"
+ .align 2
gUnknown_0856F814:: @ 856F814
- .incbin "baserom.gba", 0x56f814, 0x2a0
+ .incbin "graphics/trainer_card/badges_fr.4bpp.lz"
+ .align 2
gUnknown_0856FAB4:: @ 856FAB4
- .incbin "baserom.gba", 0x56fab4, 0x10
+ .4byte 0x000025b0, 0x000001d9, 0x000031e2, 0x003011f3
+ .align 2
gUnknown_0856FAC4:: @ 856FAC4
- .incbin "baserom.gba", 0x56fac4, 0x20
+ window_template 0x01, 0x02, 0x0f, 0x1b, 0x04, 0x0f, 0x0253
+ window_template 0x01, 0x01, 0x01, 0x1c, 0x12, 0x0f, 0x0001
+ window_template 0x03, 0x13, 0x05, 0x09, 0x0a, 0x08, 0x0150
+ null_window_template
.align 2
gEmeraldTrainerCardStarPals:: @ 856FAE4
@@ -96,20 +124,21 @@ gFireRedTrainerCardStarPals:: @ 856FAF8
.4byte gFireRedTrainerCard4Star_Pal
gUnknown_0856FB0C:: @ 856FB0C
- .incbin "baserom.gba", 0x56fb0c, 0x3
+ .byte 0x00, 0x02, 0x03
gUnknown_0856FB0F:: @ 856FB0F
- .incbin "baserom.gba", 0x56fb0f, 0x3
+ .byte 0x00, 0x04, 0x05
gUnknown_0856FB12:: @ 856FB12
- .incbin "baserom.gba", 0x56fb12, 0x6
+ .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
gUnknown_0856FB18:: @ 856FB18
- .incbin "baserom.gba", 0x56fb18, 0x8
+ .byte 0x0d, 0x04, 0x0d, 0x04, 0x01, 0x00, 0x01, 0x00
gUnknown_0856FB20:: @ 856FB20
- .incbin "baserom.gba", 0x56fb20, 0x8
+ .byte 0x4e, 0x4f, 0x50, 0x51, 0x3c, 0x3f
+ .align 2
gUnknown_0856FB28:: @ 856FB28
.4byte sub_80C4998
.4byte sub_80C49D8
@@ -118,182 +147,233 @@ gUnknown_0856FB28:: @ 856FB28
.4byte sub_80C4C84
.4byte sub_80C4DB0
+ .align 2
gUnknown_0856FB40:: @ 856FB40
.4byte gUnknown_0856FB0C
.4byte gUnknown_0856FB12
gUnknown_0856FB48:: @ 856FB48
- .incbin "baserom.gba", 0x56fb48, 0x2
+ .byte 0x71, 0x68
gUnknown_0856FB4A:: @ 856FB4A
- .incbin "baserom.gba", 0x56fb4a, 0x2
+ .byte 0x81, 0x78
gUnknown_0856FB4C:: @ 856FB4C
- .incbin "baserom.gba", 0x56fb4c, 0x9
+ .byte 0xfd, 0x02, 0xf0, 0xfd, 0x03, 0xf0, 0xfd, 0x04, 0xff
gUnknown_0856FB55:: @ 856FB55
- .incbin "baserom.gba", 0x56fb55, 0x2
+ .byte 0x08, 0x10
gUnknown_0856FB57:: @ 856FB57
- .incbin "baserom.gba", 0x56fb57, 0x5
+ .byte 0xd8, 0xd8
+ .align 2
gUnknown_0856FB5C:: @ 856FB5C
.4byte gText_LinkBattles
.4byte gText_LinkCableBattles
.4byte gText_LinkBattles
gUnknown_0856FB68:: @ 856FB68
- .incbin "baserom.gba", 0x56fb68, 0x6
+ .byte 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a
gUnknown_0856FB6E:: @ 856FB6E
- .incbin "baserom.gba", 0x56fb6e, 0x6
+ .byte 0x00, 0x04, 0x08, 0x0c, 0x10, 0x14
gUnknown_0856FB74:: @ 856FB74
- .incbin "baserom.gba", 0x56fb74, 0x4
+ .byte 0x0b, 0x0c, 0x0d, 0x0e
gUnknown_0856FB78:: @ 856FB78
- .incbin "baserom.gba", 0x56fb78, 0x4
+ .byte 0x07, 0x07
+ .align 2
gUnknown_0856FB7C:: @ 856FB7C
- .incbin "baserom.gba", 0x56fb7c, 0x20
+ .incbin "graphics/frontier_pass/map_heads.gbapal"
+ .align 2
gUnknown_0856FB9C:: @ 856FB9C
- .incbin "baserom.gba", 0x56fb9c, 0x20
+ .incbin "graphics/frontier_pass/map_heads_female.gbapal"
+ .align 2
gUnknown_0856FBBC:: @ 856FBBC
- .incbin "baserom.gba", 0x56fbbc, 0xFEC
+ .incbin "graphics/frontier_pass/map_screen.4bpp.lz"
- .align 2
+ .align 2
gFrontierPassCursor_Gfx:: @ 8570BA8
- .incbin "graphics/frontier_pass/cursor.4bpp.lz"
+ .incbin "graphics/frontier_pass/cursor.4bpp.lz"
+ .align 2
gUnknown_08570C44:: @ 8570C44
- .incbin "baserom.gba", 0x570c44, 0xBC
+ .incbin "graphics/frontier_pass/map_heads.4bpp.lz"
- .align 2
+ .align 2
gFrontierPassMapCursor_Gfx:: @ 8570D00
- .incbin "graphics/frontier_pass/map_cursor.4bpp.lz"
+ .incbin "graphics/frontier_pass/map_cursor.4bpp.lz"
+ .align 2
gUnknown_08570E00:: @ 8570E00
- .incbin "baserom.gba", 0x570e00, 0x260
+ .incbin "graphics/frontier_pass/map_screen.bin.lz"
+ .align 2
gUnknown_08571060:: @ 8571060
- .incbin "baserom.gba", 0x571060, 0x260
+ .incbin "graphics/frontier_pass/small_map_and_card.bin.lz"
+
+ .align 2
+gUnknown_08571298:: @ 8571298
+ .incbin "graphics/frontier_pass/unknown_571298.bin"
+ .align 2
gUnknown_085712C0:: @ 85712C0
- .incbin "baserom.gba", 0x5712c0, 0x38
+ .incbin "graphics/frontier_pass/record_frame.bin.lz"
+ .align 2
gUnknown_085712F8:: @ 85712F8
- .incbin "baserom.gba", 0x5712f8, 0xe8
+ .incbin "graphics/frontier_pass/small_map_and_card_affine.bin.lz"
gUnknown_085713E0:: @ 85713E0
- .incbin "baserom.gba", 0x5713e0, 0x8
+ .2byte 0x00d8, 0x0020, 0x00d8, 0x0080
+ .align 2
gUnknown_085713E8:: @ 85713E8
- .incbin "baserom.gba", 0x5713e8, 0xc
+ .4byte 0x000011f8, 0x000021e1, 0x00000bd6
+ .align 2
gUnknown_085713F4:: @ 85713F4
- .incbin "baserom.gba", 0x5713f4, 0xc
+ .4byte 0x000001f8, 0x000011e1, 0x000021d2
+ .align 2
gUnknown_08571400:: @ 8571400
- .incbin "baserom.gba", 0x571400, 0x28
+ window_template 0x00, 0x02, 0x03, 0x0c, 0x03, 0x0f, 0x0001
+ window_template 0x00, 0x02, 0x0a, 0x0c, 0x03, 0x0f, 0x0026
+ window_template 0x00, 0x02, 0x0d, 0x0c, 0x04, 0x0f, 0x004b
+ window_template 0x00, 0x00, 0x12, 0x1e, 0x03, 0x0f, 0x007c
+ window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
+ .align 2
gUnknown_08571428:: @ 8571428
- .incbin "baserom.gba", 0x571428, 0x20
+ window_template 0x00, 0x00, 0x01, 0x0f, 0x05, 0x0f, 0x0001
+ window_template 0x00, 0x14, 0x01, 0x0a, 0x0e, 0x0f, 0x004d
+ window_template 0x00, 0x02, 0x10, 0x1a, 0x04, 0x0f, 0x00da
+ window_template 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0000
gUnknown_08571448:: @ 8571448
- .incbin "baserom.gba", 0x571448, 0x3
+ .byte 0x00, 0x02, 0x03
gUnknown_0857144B:: @ 857144B
- .incbin "baserom.gba", 0x57144b, 0x3
+ .byte 0x00, 0x01, 0x09
gUnknown_0857144E:: @ 857144E
- .incbin "baserom.gba", 0x57144e, 0x6
+ .byte 0x00, 0x04, 0x05
+ .align 2
gUnknown_08571454:: @ 8571454
- .incbin "baserom.gba", 0x571454, 0x68
+ .2byte 0x001c, 0x004c, 0x0084, 0x00dc, 0x0054, 0x0084, 0x0084, 0x00dc, 0x0050, 0x0066, 0x0014, 0x006c, 0x0000, 0x0010, 0x0098, 0x00f0
+ .2byte 0x006c, 0x0086, 0x0014, 0x006c, 0x0018, 0x0030, 0x0014, 0x006c, 0x0032, 0x0042, 0x0014, 0x0024, 0x0042, 0x0052, 0x0020, 0x0030
+ .2byte 0x0032, 0x0042, 0x002c, 0x003c, 0x0042, 0x0052, 0x0038, 0x0048, 0x0032, 0x0042, 0x0044, 0x0054, 0x0042, 0x0052, 0x0050, 0x0060
+ .2byte 0x0032, 0x0042, 0x005c, 0x006c
+ .align 2
gUnknown_085714BC:: @ 85714BC
obj_tiles gFrontierPassCursor_Gfx, 0x100, 0
obj_tiles gFrontierPassMapCursor_Gfx, 0x400, 1
obj_tiles gFrontierPassMedals_Gfx, 0x380, 2
+ .align 2
gUnknown_085714D4:: @ 85714D4
obj_tiles gUnknown_08570C44, 0x100, 4
null_obj_tiles
+ .align 2
gUnknown_085714E4:: @ 85714E4
- obj_pal gFrontierPassCursor_Pal, 0
- obj_pal gFrontierPassMapCursor_Pal, 1
- obj_pal gFrontierPassMedalsSilver_Pal, 2
- obj_pal gFrontierPassMedalsGold_Pal, 3
- obj_pal gUnknown_0856FB7C, 4
- obj_pal gUnknown_0856FB9C, 5
- null_obj_pal
+ obj_pal gFrontierPassCursor_Pal, 0
+ obj_pal gFrontierPassMapCursor_Pal, 1
+ obj_pal gFrontierPassMedalsSilver_Pal, 2
+ obj_pal gFrontierPassMedalsGold_Pal, 3
+ obj_pal gUnknown_0856FB7C, 4
+ obj_pal gUnknown_0856FB9C, 5
+ null_obj_pal
- @ this doesnt look like its part of the same table.
- .4byte 0x0, 0xFFFF
+ .align 2
+gSpriteAnim_857151C:: @ 857151C
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
-gUnknown_08571524:: @ 8571524
- .incbin "baserom.gba", 0x571524, 0x8
+ .align 2
+gSpriteAnim_8571524:: @ 8571524
+ .2byte 0x0000, 0x0000, 0xffff, 0x0000
-gUnknown_0857152C:: @ 857152C
- .incbin "baserom.gba", 0x57152c, 0x8
+ .align 2
+gSpriteAnim_857152C:: @ 857152C
+ .2byte 0x0004, 0x0000, 0xffff, 0x0000
-gUnknown_08571534:: @ 8571534
- .incbin "baserom.gba", 0x571534, 0x8
+ .align 2
+gSpriteAnim_8571534:: @ 8571534
+ .2byte 0x0008, 0x0000, 0xffff, 0x0000
-gUnknown_0857153C:: @ 857153C
- .incbin "baserom.gba", 0x57153c, 0x8
+ .align 2
+gSpriteAnim_857153C:: @ 857153C
+ .2byte 0x000c, 0x0000, 0xffff, 0x0000
-gUnknown_08571544:: @ 8571544
- .incbin "baserom.gba", 0x571544, 0x8
+ .align 2
+gSpriteAnim_8571544:: @ 8571544
+ .2byte 0x0010, 0x0000, 0xffff, 0x0000
-gUnknown_0857154C:: @ 857154C
- .incbin "baserom.gba", 0x57154c, 0x8
+ .align 2
+gSpriteAnim_857154C:: @ 857154C
+ .2byte 0x0014, 0x0000, 0xffff, 0x0000
-gUnknown_08571554:: @ 8571554
- .incbin "baserom.gba", 0x571554, 0x8
+ .align 2
+gSpriteAnim_8571554:: @ 8571554
+ .2byte 0x0018, 0x0000, 0xffff, 0x0000
-gUnknown_0857155C:: @ 857155C
- .incbin "baserom.gba", 0x57155c, 0xC
+ .align 2
+gSpriteAnim_857155C:: @ 857155C
+ .2byte 0x0000, 0x002d, 0x0008, 0x002d, 0xfffe, 0x0000
-gUnknown_08571568:: @ 8571568
- .incbin "baserom.gba", 0x571568, 0xC
+ .align 2
+gSpriteAnim_8571568:: @ 8571568
+ .2byte 0x0010, 0x002d, 0x0018, 0x002d, 0xfffe, 0x0000
-gUnknown_08571574:: @ 8571574
- .4byte gUnknown_08571524
- .4byte gUnknown_0857152C
+ .align 2
+gSpriteAnimTable_08571574:: @ 8571574
+ .4byte gSpriteAnim_8571524
+ .4byte gSpriteAnim_857152C
-gUnknown_0857157C:: @ 857157C
- .4byte gUnknown_08571524
- .4byte gUnknown_0857152C
- .4byte gUnknown_08571534
- .4byte gUnknown_0857153C
- .4byte gUnknown_08571544
- .4byte gUnknown_0857154C
- .4byte gUnknown_08571554
+ .align 2
+gSpriteAnimTable_0857157C:: @ 857157C
+ .4byte gSpriteAnim_8571524
+ .4byte gSpriteAnim_857152C
+ .4byte gSpriteAnim_8571534
+ .4byte gSpriteAnim_857153C
+ .4byte gSpriteAnim_8571544
+ .4byte gSpriteAnim_857154C
+ .4byte gSpriteAnim_8571554
-gUnknown_08571598:: @ 8571598
- .4byte gUnknown_0857155C
- .4byte gUnknown_08571568
+ .align 2
+gSpriteAnimTable_08571598:: @ 8571598
+ .4byte gSpriteAnim_857155C
+ .4byte gSpriteAnim_8571568
-gUnknown_085715A0:: @ 85715A0
- .incbin "baserom.gba", 0x5715a0, 0x10
+ .align 2
+gSpriteAffineAnim_085715A0:: @ 85715A0
+ .2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
-gUnknown_085715B0:: @ 85715B0
- .4byte gUnknown_085715A0
+ .align 2
+gSpriteAffineAnimTable_085715B0:: @ 85715B0
+ .4byte gSpriteAffineAnim_085715A0
+ .align 2
gUnknown_085715B4:: @ 85715B4
- spr_template 0, 0, gUnknown_0852490C, gUnknown_08571574, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
- spr_template 1, 1, gUnknown_08524934, gUnknown_08571598, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 0, 0, gUnknown_0852490C, gSpriteAnimTable_08571574, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 1, 1, gUnknown_08524934, gSpriteAnimTable_08571598, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_085715E4:: @ 85715E4
- spr_template 2, 2, gUnknown_0852490C, gUnknown_0857157C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ spr_template 2, 2, gUnknown_0852490C, gSpriteAnimTable_0857157C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+ .align 2
gUnknown_085715FC:: @ 85715FC
- spr_template 4, 4, gUnknown_0852490C, gUnknown_08571574, NULL, gDummySpriteAffineAnimTable, nullsub_39
+ spr_template 4, 4, gUnknown_0852490C, gSpriteAnimTable_08571574, NULL, gDummySpriteAffineAnimTable, nullsub_39
+ .align 2
gUnknown_08571614:: @ 8571614
.4byte gUnknown_085EDA96
.4byte gUnknown_085ED932
@@ -311,6 +391,7 @@ gUnknown_08571614:: @ 8571614
.4byte gUnknown_085EDA78
.4byte gUnknown_085ED931
+ .align 2
gUnknown_08571650:: @ 8571650
unk_trainer_card_struct gUnknown_085EDAB1, gUnknown_085EDB0F, 0x59, 0x28, 1, 0
unk_trainer_card_struct gUnknown_085EDABE, gUnknown_085EDB4E, 0x21, 0x2A, 1, 0
diff --git a/data/unk_transition.s b/data/unk_transition.s
index 5d0dc07af..2dc54e22d 100644
--- a/data/unk_transition.s
+++ b/data/unk_transition.s
@@ -4,13 +4,14 @@
.section .rodata
gUnknown_0862AD54:: @ 862AD54
- .incbin "baserom.gba", 0x62ad54, 0x1dc
+ .incbin "graphics/battle_transitions/frontier_transition.4bpp.lz"
gUnknown_0862AF30:: @ 862AF30
- .incbin "baserom.gba", 0x62af30, 0x1AC
+ .incbin "graphics/battle_transitions/frontier_transition.bin"
gUnknown_0862B0DC:: @ 862B0DC
- .incbin "baserom.gba", 0x62b0dc, 0x460
+ .incbin "graphics/battle_transitions/frontier_transition_circles.4bpp.lz"
gUnknown_0862B53C:: @ 862B53C
- .incbin "baserom.gba", 0x62b53c, 0x1E0
+ .incbin "graphics/battle_transitions/frontier_transition.gbapal"
+ .space 0x1c0
diff --git a/data/use_pokeblock.s b/data/use_pokeblock.s
index ffb7802d9..8497f59ad 100644
--- a/data/use_pokeblock.s
+++ b/data/use_pokeblock.s
@@ -4,19 +4,19 @@
.section .rodata
gUnknown_085DFA60:: @ 85DFA60
- .incbin "baserom.gba", 0x5dfa60, 0x20
+ .incbin "graphics/interface/85DFA60.bin"
gUnknown_085DFA80:: @ 85DFA80
- .incbin "baserom.gba", 0x5dfa80, 0xe0
+ .incbin "graphics/interface/85DFA80.4bpp"
gUnknown_085DFB60:: @ 85DFB60
- .incbin "baserom.gba", 0x5dfb60, 0xac
+ .incbin "graphics/interface/85DFB60.bin"
gUnknown_085DFC0C:: @ 85DFC0C
- .incbin "baserom.gba", 0x5dfc0c, 0xa4
+ .incbin "graphics/interface/85DFC0C.bin"
gUnknown_085DFCB0:: @ 85DFCB0
- .incbin "baserom.gba", 0x5dfcb0, 0x14
+ .4byte 22, 47, 33, 24, 23
gUnknown_085DFCC4:: @ 85DFCC4
.byte 0, 4, 3, 2, 1
@@ -34,7 +34,7 @@ gUnknown_085DFCDC:: @ 85DFCDC
window_template 0, 0xD, 1, 0xD, 4, 0xF, 1
window_template 0, 0, 0xE, 0xB, 2, 0xF, 0x35
window_template 0, 1, 0x11, 0x1C, 2, 0xF, 0x4B
- window_template_terminator
+ null_window_template
sUsePokeblockYesNoWinTemplate:: @ 85DFCFC
window_template 0, 0x18, 0xB, 5, 4, 0xF, 0x83
@@ -53,13 +53,58 @@ gUnknown_085DFD20:: @ 85DFD20
obj_pal gUsePokeblockUpDown_Pal, 0
gUnknown_085DFD28:: @ 85DFD28
- .incbin "baserom.gba", 0x5dfd28, 0x34
+ .2byte 0x9c, 0x24
+ .2byte 0x75, 0x3b
+ .2byte 0x75, 0x76
+ .2byte 0xc5, 0x76
+ .2byte 0xc5, 0x3b
+
+gUnknown_085DFD3C:: @ 85DFD3C
+ .2byte 0x4000
+ .2byte 0x8000
+ .2byte 0x400
+ .2byte 0
+
+gUnknown_085DFD44:: @ 85DFD44
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+gUnknown_085DFD4C:: @ 85DFD4C
+ obj_image_anim_frame 8, 5
+ obj_image_anim_end
+
+gUnknown_085DFD54:: @ 85DFD54
+ .4byte gUnknown_085DFD44
+ .4byte gUnknown_085DFD4C
gUnknown_085DFD5C:: @ 85DFD5C
- .incbin "baserom.gba", 0x5dfd5c, 0x44
+ spr_template 0, 0, gUnknown_085DFD3C, gUnknown_085DFD54, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+
+gUnknown_085DFD74:: @ 85DFD74
+ .2byte 0x4000
+ .2byte 0xC000
+ .2byte 0x400
+ .2byte 0
+
+gUnknown_085DFD7C:: @ 85DFD7C
+ obj_image_anim_frame 0, 5
+ obj_image_anim_end
+
+gUnknown_085DFD84:: @ 85DFD84
+ obj_image_anim_frame 32, 5
+ obj_image_anim_end
+
+gUnknown_085DFD8C:: @ 85DFD8C
+ obj_image_anim_frame 64, 5
+ obj_image_anim_end
+
+gUnknown_085DFD94:: @ 85DFD94
+ .4byte gUnknown_085DFD7C
+ .4byte gUnknown_085DFD84
+ .4byte gUnknown_085DFD8C
gUnknown_085DFDA0:: @ 85DFDA0
- .incbin "baserom.gba", 0x5dfda0, 0x18
+ spr_template 1, 1, gUnknown_085DFD74, gUnknown_085DFD94, NULL, gDummySpriteAffineAnimTable, sub_8168374
gUnknown_085DFDB8:: @ 85DFDB8
.4byte gUsePokeblockCondition_Pal
diff --git a/graphics/battle_transitions/frontier_transition.bin b/graphics/battle_transitions/frontier_transition.bin
new file mode 100644
index 000000000..7b9d2af28
--- /dev/null
+++ b/graphics/battle_transitions/frontier_transition.bin
Binary files differ
diff --git a/graphics/battle_transitions/frontier_transition.png b/graphics/battle_transitions/frontier_transition.png
new file mode 100755
index 000000000..05ea84f2c
--- /dev/null
+++ b/graphics/battle_transitions/frontier_transition.png
Binary files differ
diff --git a/graphics/battle_transitions/frontier_transition_circles.png b/graphics/battle_transitions/frontier_transition_circles.png
new file mode 100755
index 000000000..50e44e40c
--- /dev/null
+++ b/graphics/battle_transitions/frontier_transition_circles.png
Binary files differ
diff --git a/graphics/frontier_pass/map_heads.png b/graphics/frontier_pass/map_heads.png
new file mode 100644
index 000000000..82ef1cd2e
--- /dev/null
+++ b/graphics/frontier_pass/map_heads.png
Binary files differ
diff --git a/graphics/frontier_pass/map_heads_female.pal b/graphics/frontier_pass/map_heads_female.pal
new file mode 100644
index 000000000..2833b2613
--- /dev/null
+++ b/graphics/frontier_pass/map_heads_female.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 197 164
+255 222 205
+222 164 148
+205 131 115
+123 90 82
+98 98 115
+41 57 65
+164 106 82
+74 49 57
+205 205 222
+106 213 65
+65 172 32
+255 98 90
+197 65 65
+255 255 255
+0 0 0
diff --git a/graphics/frontier_pass/map_screen.bin b/graphics/frontier_pass/map_screen.bin
new file mode 100644
index 000000000..2caaff89e
--- /dev/null
+++ b/graphics/frontier_pass/map_screen.bin
Binary files differ
diff --git a/graphics/frontier_pass/map_screen.png b/graphics/frontier_pass/map_screen.png
new file mode 100644
index 000000000..5d2b4467f
--- /dev/null
+++ b/graphics/frontier_pass/map_screen.png
Binary files differ
diff --git a/graphics/frontier_pass/record_frame.bin b/graphics/frontier_pass/record_frame.bin
new file mode 100644
index 000000000..ded0f8165
--- /dev/null
+++ b/graphics/frontier_pass/record_frame.bin
Binary files differ
diff --git a/graphics/frontier_pass/small_map_and_card.bin b/graphics/frontier_pass/small_map_and_card.bin
new file mode 100644
index 000000000..4578d7d7e
--- /dev/null
+++ b/graphics/frontier_pass/small_map_and_card.bin
Binary files differ
diff --git a/graphics/frontier_pass/small_map_and_card_affine.bin b/graphics/frontier_pass/small_map_and_card_affine.bin
new file mode 100644
index 000000000..25cb407ae
--- /dev/null
+++ b/graphics/frontier_pass/small_map_and_card_affine.bin
@@ -0,0 +1,2 @@
+
+ $%&'()*+,-./456789:;<=>?DEFGHIJKLMNOTUVWXYZ[\]^_defghijklmnotuvwxyz{|}~tuvwxyz{|}~ !"#0123@ABCPQRS \ No newline at end of file
diff --git a/graphics/frontier_pass/unknown_571298.bin b/graphics/frontier_pass/unknown_571298.bin
new file mode 100644
index 000000000..a781f0b39
--- /dev/null
+++ b/graphics/frontier_pass/unknown_571298.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/graphics/interface/855C604.pal b/graphics/interface/855C604.pal
new file mode 100755
index 000000000..e7d6c330a
--- /dev/null
+++ b/graphics/interface/855C604.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+255 180 82
+197 123 0
+255 139 131
+255 49 24
+74 74 74
+213 213 205
+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/interface/855C624.bin b/graphics/interface/855C624.bin
new file mode 100644
index 000000000..6f48b39f6
--- /dev/null
+++ b/graphics/interface/855C624.bin
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/graphics/interface/85DFA60.bin b/graphics/interface/85DFA60.bin
new file mode 100644
index 000000000..b1a4230d4
--- /dev/null
+++ b/graphics/interface/85DFA60.bin
Binary files differ
diff --git a/graphics/interface/85DFA80.png b/graphics/interface/85DFA80.png
new file mode 100755
index 000000000..c1fde0325
--- /dev/null
+++ b/graphics/interface/85DFA80.png
Binary files differ
diff --git a/graphics/interface/85DFB60.bin b/graphics/interface/85DFB60.bin
new file mode 100644
index 000000000..4e7c2d4ad
--- /dev/null
+++ b/graphics/interface/85DFB60.bin
Binary files differ
diff --git a/graphics/interface/85DFC0C.bin b/graphics/interface/85DFC0C.bin
new file mode 100644
index 000000000..5f8f364fc
--- /dev/null
+++ b/graphics/interface/85DFC0C.bin
Binary files differ
diff --git a/graphics/interface/860F074.pal b/graphics/interface/860F074.pal
new file mode 100755
index 000000000..25a3ac1d2
--- /dev/null
+++ b/graphics/interface/860F074.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/interface/860F0B0.pal b/graphics/interface/860F0B0.pal
new file mode 100755
index 000000000..61430dbb3
--- /dev/null
+++ b/graphics/interface/860F0B0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 205 164
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+255 255 255
+74 205 238
+49 164 238
+0 90 131
+24 98 197
+0 139 90
diff --git a/graphics/interface/bag_spinner.png b/graphics/interface/bag_spinner.png
new file mode 100644
index 000000000..4302bd77a
--- /dev/null
+++ b/graphics/interface/bag_spinner.png
Binary files differ
diff --git a/graphics/interface/hold_icons.png b/graphics/interface/hold_icons.png
new file mode 100644
index 000000000..53eeedde3
--- /dev/null
+++ b/graphics/interface/hold_icons.png
Binary files differ
diff --git a/graphics/interface/map_popup/857F444.pal b/graphics/interface/map_popup/857F444.pal
new file mode 100755
index 000000000..19b8cf9c4
--- /dev/null
+++ b/graphics/interface/map_popup/857F444.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 197 164
+0 0 0
+238 255 255
+65 65 123
+255 255 255
+180 222 255
+139 172 213
+98 123 172
+57 74 131
+16 24 90
+180 222 255
+139 172 213
+98 123 172
+57 74 131
+16 24 90
+255 255 255
diff --git a/graphics/interface/map_popup/brick.png b/graphics/interface/map_popup/brick.png
new file mode 100755
index 000000000..8fef0a1c2
--- /dev/null
+++ b/graphics/interface/map_popup/brick.png
Binary files differ
diff --git a/graphics/interface/map_popup/brick_outline.png b/graphics/interface/map_popup/brick_outline.png
new file mode 100755
index 000000000..be4b6f95a
--- /dev/null
+++ b/graphics/interface/map_popup/brick_outline.png
Binary files differ
diff --git a/graphics/interface/map_popup/marble.png b/graphics/interface/map_popup/marble.png
new file mode 100755
index 000000000..d79b9ec34
--- /dev/null
+++ b/graphics/interface/map_popup/marble.png
Binary files differ
diff --git a/graphics/interface/map_popup/marble_outline.png b/graphics/interface/map_popup/marble_outline.png
new file mode 100755
index 000000000..54f3021ea
--- /dev/null
+++ b/graphics/interface/map_popup/marble_outline.png
Binary files differ
diff --git a/graphics/interface/map_popup/stone.png b/graphics/interface/map_popup/stone.png
new file mode 100755
index 000000000..fe3b7e29d
--- /dev/null
+++ b/graphics/interface/map_popup/stone.png
Binary files differ
diff --git a/graphics/interface/map_popup/stone2.png b/graphics/interface/map_popup/stone2.png
new file mode 100755
index 000000000..261c3184a
--- /dev/null
+++ b/graphics/interface/map_popup/stone2.png
Binary files differ
diff --git a/graphics/interface/map_popup/stone2_outline.png b/graphics/interface/map_popup/stone2_outline.png
new file mode 100755
index 000000000..b0c0748df
--- /dev/null
+++ b/graphics/interface/map_popup/stone2_outline.png
Binary files differ
diff --git a/graphics/interface/map_popup/stone_outline.png b/graphics/interface/map_popup/stone_outline.png
new file mode 100755
index 000000000..7c014d05e
--- /dev/null
+++ b/graphics/interface/map_popup/stone_outline.png
Binary files differ
diff --git a/graphics/interface/map_popup/underwater.png b/graphics/interface/map_popup/underwater.png
new file mode 100755
index 000000000..e6cf2b6c8
--- /dev/null
+++ b/graphics/interface/map_popup/underwater.png
Binary files differ
diff --git a/graphics/interface/map_popup/underwater_outline.png b/graphics/interface/map_popup/underwater_outline.png
new file mode 100755
index 000000000..2ffe3cb75
--- /dev/null
+++ b/graphics/interface/map_popup/underwater_outline.png
Binary files differ
diff --git a/graphics/interface/map_popup/wood.png b/graphics/interface/map_popup/wood.png
new file mode 100755
index 000000000..e846a6bcd
--- /dev/null
+++ b/graphics/interface/map_popup/wood.png
Binary files differ
diff --git a/graphics/interface/map_popup/wood_outline.png b/graphics/interface/map_popup/wood_outline.png
new file mode 100755
index 000000000..d143dbc2f
--- /dev/null
+++ b/graphics/interface/map_popup/wood_outline.png
Binary files differ
diff --git a/graphics/interface/red_arrow.png b/graphics/interface/red_arrow.png
new file mode 100755
index 000000000..91c8268b7
--- /dev/null
+++ b/graphics/interface/red_arrow.png
Binary files differ
diff --git a/graphics/interface/red_arrow_other.png b/graphics/interface/red_arrow_other.png
new file mode 100755
index 000000000..33fcf44b9
--- /dev/null
+++ b/graphics/interface/red_arrow_other.png
Binary files differ
diff --git a/graphics/interface/region_map.bin b/graphics/interface/region_map.bin
new file mode 100644
index 000000000..dee8ac525
--- /dev/null
+++ b/graphics/interface/region_map.bin
Binary files differ
diff --git a/graphics/interface/region_map.pal b/graphics/interface/region_map.pal
new file mode 100644
index 000000000..64ca5e82c
--- /dev/null
+++ b/graphics/interface/region_map.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+0 0 0
+156 213 255
+0 115 0
+164 180 255
+57 172 8
+189 0 49
+255 106 139
+164 0 8
+246 0 0
+255 189 205
+255 164 49
+238 230 172
+230 164 0
+238 189 57
+205 205 148
+98 213 0
+0 0 0
+172 238 49
+213 255 123
+238 230 115
+74 156 230
+41 131 230
+24 65 197
+57 131 197
+246 213 82
+32 74 197
+65 106 205
+0 0 0
+255 230 131
+255 156 0
+180 0 0
+255 255 255
+0 0 0
+205 238 255
+197 213 255
+98 98 98
+205 205 205
+189 123 0
+0 0 0
+123 180 213
+0 115 172
+0 57 139
+255 172 16
+255 57 16
+148 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/interface/region_map.png b/graphics/interface/region_map.png
new file mode 100644
index 000000000..17c6ffd03
--- /dev/null
+++ b/graphics/interface/region_map.png
Binary files differ
diff --git a/graphics/interface/region_map_affine.bin b/graphics/interface/region_map_affine.bin
new file mode 100644
index 000000000..06e6733be
--- /dev/null
+++ b/graphics/interface/region_map_affine.bin
Binary files differ
diff --git a/graphics/interface/region_map_affine.png b/graphics/interface/region_map_affine.png
new file mode 100644
index 000000000..48e5c182c
--- /dev/null
+++ b/graphics/interface/region_map_affine.png
Binary files differ
diff --git a/graphics/interface/select_button.png b/graphics/interface/select_button.png
new file mode 100755
index 000000000..bded587fd
--- /dev/null
+++ b/graphics/interface/select_button.png
Binary files differ
diff --git a/graphics/interface/selector_outline.png b/graphics/interface/selector_outline.png
new file mode 100755
index 000000000..d9f3e1b8d
--- /dev/null
+++ b/graphics/interface/selector_outline.png
Binary files differ
diff --git a/graphics/interface/summary_a_button.png b/graphics/interface/summary_a_button.png
new file mode 100644
index 000000000..4607ca9da
--- /dev/null
+++ b/graphics/interface/summary_a_button.png
Binary files differ
diff --git a/graphics/interface/summary_b_button.png b/graphics/interface/summary_b_button.png
new file mode 100644
index 000000000..32ce28e04
--- /dev/null
+++ b/graphics/interface/summary_b_button.png
Binary files differ
diff --git a/graphics/interface/summary_markings.pal b/graphics/interface/summary_markings.pal
new file mode 100644
index 000000000..08124207d
--- /dev/null
+++ b/graphics/interface/summary_markings.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+164 148 222
+172 156 238
+255 255 255
+205 205 205
+0 0 0
+0 0 0
+0 0 0
+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/interface/test.bin b/graphics/interface/test.bin
deleted file mode 100644
index 34b783c76..000000000
--- a/graphics/interface/test.bin
+++ /dev/null
Binary files differ
diff --git a/graphics/interface/textbox.png b/graphics/interface/textbox.png
deleted file mode 100644
index ed8cd92ee..000000000
--- a/graphics/interface/textbox.png
+++ /dev/null
Binary files differ
diff --git a/graphics/interface/unk_tilemap2.bin b/graphics/interface/unk_tilemap2.bin
new file mode 100644
index 000000000..961d7a329
--- /dev/null
+++ b/graphics/interface/unk_tilemap2.bin
Binary files differ
diff --git a/graphics/interface/unknown_6157C4.bin b/graphics/interface/unknown_6157C4.bin
new file mode 100644
index 000000000..8c3c1be3d
--- /dev/null
+++ b/graphics/interface/unknown_6157C4.bin
@@ -0,0 +1 @@
+#$ \ No newline at end of file
diff --git a/graphics/interface/unknown_6157E0.bin b/graphics/interface/unknown_6157E0.bin
new file mode 100644
index 000000000..7f11aaf4e
--- /dev/null
+++ b/graphics/interface/unknown_6157E0.bin
@@ -0,0 +1,2 @@
+
+            \ No newline at end of file
diff --git a/graphics/map_objects/pics/effects/unknown_4F6D38/0.png b/graphics/map_objects/pics/effects/unknown_4F6D38/0.png
new file mode 100755
index 000000000..3ee87e1cd
--- /dev/null
+++ b/graphics/map_objects/pics/effects/unknown_4F6D38/0.png
Binary files differ
diff --git a/graphics/map_objects/pics/effects/unknown_4F7E38/0.png b/graphics/map_objects/pics/effects/unknown_4F7E38/0.png
new file mode 100755
index 000000000..685aee28b
--- /dev/null
+++ b/graphics/map_objects/pics/effects/unknown_4F7E38/0.png
Binary files differ
diff --git a/graphics/map_objects/pics/effects/unused_grass/0.png b/graphics/map_objects/pics/effects/unused_grass/0.png
new file mode 100755
index 000000000..2e16f15cb
--- /dev/null
+++ b/graphics/map_objects/pics/effects/unused_grass/0.png
Binary files differ
diff --git a/graphics/map_objects/pics/effects/unused_grass/1.png b/graphics/map_objects/pics/effects/unused_grass/1.png
new file mode 100755
index 000000000..dd33b0d88
--- /dev/null
+++ b/graphics/map_objects/pics/effects/unused_grass/1.png
Binary files differ
diff --git a/graphics/map_objects/pics/effects/unused_grass/2.png b/graphics/map_objects/pics/effects/unused_grass/2.png
new file mode 100755
index 000000000..345d454cd
--- /dev/null
+++ b/graphics/map_objects/pics/effects/unused_grass/2.png
Binary files differ
diff --git a/graphics/map_objects/pics/effects/unused_grass/3.png b/graphics/map_objects/pics/effects/unused_grass/3.png
new file mode 100755
index 000000000..087676102
--- /dev/null
+++ b/graphics/map_objects/pics/effects/unused_grass/3.png
Binary files differ
diff --git a/graphics/misc/birch_bag.png b/graphics/misc/birch_bag.png
new file mode 100644
index 000000000..86bfbbbc0
--- /dev/null
+++ b/graphics/misc/birch_bag.png
Binary files differ
diff --git a/graphics/misc/birch_bag_map.bin b/graphics/misc/birch_bag_map.bin
new file mode 100644
index 000000000..ddfad5ec9
--- /dev/null
+++ b/graphics/misc/birch_bag_map.bin
Binary files differ
diff --git a/graphics/misc/birch_ballarrow.png b/graphics/misc/birch_ballarrow.png
new file mode 100644
index 000000000..d2f0a3d97
--- /dev/null
+++ b/graphics/misc/birch_ballarrow.png
Binary files differ
diff --git a/graphics/misc/birch_circle.png b/graphics/misc/birch_circle.png
new file mode 100644
index 000000000..3501dfec4
--- /dev/null
+++ b/graphics/misc/birch_circle.png
Binary files differ
diff --git a/graphics/misc/birch_grass.png b/graphics/misc/birch_grass.png
new file mode 100644
index 000000000..838fa5f4c
--- /dev/null
+++ b/graphics/misc/birch_grass.png
Binary files differ
diff --git a/graphics/misc/birch_grass_map.bin b/graphics/misc/birch_grass_map.bin
new file mode 100644
index 000000000..b7332940c
--- /dev/null
+++ b/graphics/misc/birch_grass_map.bin
Binary files differ
diff --git a/graphics/misc/fossil.png b/graphics/misc/fossil.png
new file mode 100644
index 000000000..f92649e98
--- /dev/null
+++ b/graphics/misc/fossil.png
Binary files differ
diff --git a/graphics/misc/mirage_tower.bin b/graphics/misc/mirage_tower.bin
new file mode 100644
index 000000000..85f288387
--- /dev/null
+++ b/graphics/misc/mirage_tower.bin
@@ -0,0 +1,2 @@
+```````` `
+` ` ` ``````````````````` `!`"`#`$`%`&`'`(`)`*`+`,`-`.`/`0`1`2`3`4`5`6`7`8`9`:`;`<`=`>`?`@`A`B`C`D`E`F`G`H` \ No newline at end of file
diff --git a/graphics/misc/mirage_tower.png b/graphics/misc/mirage_tower.png
new file mode 100644
index 000000000..69ac6a51e
--- /dev/null
+++ b/graphics/misc/mirage_tower.png
Binary files differ
diff --git a/graphics/misc/mirage_tower_crumbles.png b/graphics/misc/mirage_tower_crumbles.png
new file mode 100644
index 000000000..27e5daed0
--- /dev/null
+++ b/graphics/misc/mirage_tower_crumbles.png
Binary files differ
diff --git a/graphics/misc/mon_markings.png b/graphics/misc/mon_markings.png
new file mode 100755
index 000000000..013173292
--- /dev/null
+++ b/graphics/misc/mon_markings.png
Binary files differ
diff --git a/graphics/misc/option_menu_equals_sign.png b/graphics/misc/option_menu_equals_sign.png
new file mode 100644
index 000000000..7e56e3cc3
--- /dev/null
+++ b/graphics/misc/option_menu_equals_sign.png
Binary files differ
diff --git a/graphics/misc/option_menu_text.pal b/graphics/misc/option_menu_text.pal
new file mode 100644
index 000000000..e7d6c330a
--- /dev/null
+++ b/graphics/misc/option_menu_text.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+255 180 82
+197 123 0
+255 139 131
+255 49 24
+74 74 74
+213 213 205
+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/naming_screen/0.pal b/graphics/naming_screen/0.pal
new file mode 100644
index 000000000..e38b79fcf
--- /dev/null
+++ b/graphics/naming_screen/0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+123 172 197
+213 156 115
+148 189 106
diff --git a/graphics/naming_screen/1.pal b/graphics/naming_screen/1.pal
new file mode 100644
index 000000000..c3158adbf
--- /dev/null
+++ b/graphics/naming_screen/1.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 197 164
+255 213 180
+255 197 148
+222 148 115
+123 65 65
+213 172 65
+156 106 32
+106 74 32
+115 189 0
+65 123 0
+32 65 16
+213 115 164
+164 65 115
+82 32 65
+230 230 49
+0 0 0
diff --git a/graphics/naming_screen/pc_icon/0.png b/graphics/naming_screen/pc_icon/0.png
new file mode 100644
index 000000000..bafd5c32d
--- /dev/null
+++ b/graphics/naming_screen/pc_icon/0.png
Binary files differ
diff --git a/graphics/naming_screen/pc_icon/1.png b/graphics/naming_screen/pc_icon/1.png
new file mode 100644
index 000000000..e2f9d604c
--- /dev/null
+++ b/graphics/naming_screen/pc_icon/1.png
Binary files differ
diff --git a/graphics/pokedex/black.pal b/graphics/pokedex/black.pal
new file mode 100644
index 000000000..4b0812f09
--- /dev/null
+++ b/graphics/pokedex/black.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/pokedex/caught_ball.png b/graphics/pokedex/caught_ball.png
new file mode 100644
index 000000000..b4e518f22
--- /dev/null
+++ b/graphics/pokedex/caught_ball.png
Binary files differ
diff --git a/graphics/slot_machine/85A8524.pal b/graphics/slot_machine/85A8524.pal
new file mode 100755
index 000000000..b93d15ddc
--- /dev/null
+++ b/graphics/slot_machine/85A8524.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+0 0 0
+65 65 65
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/text_window/1.png b/graphics/text_window/1.png
new file mode 100644
index 000000000..5d8020eff
--- /dev/null
+++ b/graphics/text_window/1.png
Binary files differ
diff --git a/graphics/text_window/10.png b/graphics/text_window/10.png
new file mode 100644
index 000000000..b01a75c6a
--- /dev/null
+++ b/graphics/text_window/10.png
Binary files differ
diff --git a/graphics/text_window/11.png b/graphics/text_window/11.png
new file mode 100644
index 000000000..a0e576fce
--- /dev/null
+++ b/graphics/text_window/11.png
Binary files differ
diff --git a/graphics/text_window/12.png b/graphics/text_window/12.png
new file mode 100644
index 000000000..8bff592ba
--- /dev/null
+++ b/graphics/text_window/12.png
Binary files differ
diff --git a/graphics/text_window/13.png b/graphics/text_window/13.png
new file mode 100644
index 000000000..706d13451
--- /dev/null
+++ b/graphics/text_window/13.png
Binary files differ
diff --git a/graphics/text_window/14.png b/graphics/text_window/14.png
new file mode 100644
index 000000000..d50862250
--- /dev/null
+++ b/graphics/text_window/14.png
Binary files differ
diff --git a/graphics/text_window/15.png b/graphics/text_window/15.png
new file mode 100644
index 000000000..b5d2dbfcd
--- /dev/null
+++ b/graphics/text_window/15.png
Binary files differ
diff --git a/graphics/text_window/16.png b/graphics/text_window/16.png
new file mode 100644
index 000000000..eb8ed2cea
--- /dev/null
+++ b/graphics/text_window/16.png
Binary files differ
diff --git a/graphics/text_window/17.png b/graphics/text_window/17.png
new file mode 100644
index 000000000..62211b431
--- /dev/null
+++ b/graphics/text_window/17.png
Binary files differ
diff --git a/graphics/text_window/18.png b/graphics/text_window/18.png
new file mode 100644
index 000000000..c03fd75f5
--- /dev/null
+++ b/graphics/text_window/18.png
Binary files differ
diff --git a/graphics/text_window/19.png b/graphics/text_window/19.png
new file mode 100644
index 000000000..e60d8d579
--- /dev/null
+++ b/graphics/text_window/19.png
Binary files differ
diff --git a/graphics/text_window/2.png b/graphics/text_window/2.png
new file mode 100644
index 000000000..5e89b4116
--- /dev/null
+++ b/graphics/text_window/2.png
Binary files differ
diff --git a/graphics/text_window/20.png b/graphics/text_window/20.png
new file mode 100644
index 000000000..5786ae140
--- /dev/null
+++ b/graphics/text_window/20.png
Binary files differ
diff --git a/graphics/text_window/3.png b/graphics/text_window/3.png
new file mode 100644
index 000000000..b7af18de7
--- /dev/null
+++ b/graphics/text_window/3.png
Binary files differ
diff --git a/graphics/text_window/4.png b/graphics/text_window/4.png
new file mode 100644
index 000000000..c33ed48af
--- /dev/null
+++ b/graphics/text_window/4.png
Binary files differ
diff --git a/graphics/text_window/5.png b/graphics/text_window/5.png
new file mode 100644
index 000000000..94a0bcdd9
--- /dev/null
+++ b/graphics/text_window/5.png
Binary files differ
diff --git a/graphics/text_window/6.png b/graphics/text_window/6.png
new file mode 100644
index 000000000..a0be4e49d
--- /dev/null
+++ b/graphics/text_window/6.png
Binary files differ
diff --git a/graphics/text_window/7.png b/graphics/text_window/7.png
new file mode 100644
index 000000000..514f8b554
--- /dev/null
+++ b/graphics/text_window/7.png
Binary files differ
diff --git a/graphics/text_window/8.png b/graphics/text_window/8.png
new file mode 100644
index 000000000..480751a02
--- /dev/null
+++ b/graphics/text_window/8.png
Binary files differ
diff --git a/graphics/text_window/9.png b/graphics/text_window/9.png
new file mode 100644
index 000000000..7ac3ba811
--- /dev/null
+++ b/graphics/text_window/9.png
Binary files differ
diff --git a/graphics/text_window/message_box.png b/graphics/text_window/message_box.png
new file mode 100644
index 000000000..edc2d3d3a
--- /dev/null
+++ b/graphics/text_window/message_box.png
Binary files differ
diff --git a/graphics/text_window/text_pal1.pal b/graphics/text_window/text_pal1.pal
new file mode 100644
index 000000000..df5d3c337
--- /dev/null
+++ b/graphics/text_window/text_pal1.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 205 164
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+255 255 255
+205 205 222
+205 205 222
+230 246 255
+205 205 222
+106 115 123
diff --git a/graphics/text_window/text_pal2.pal b/graphics/text_window/text_pal2.pal
new file mode 100644
index 000000000..25f63978a
--- /dev/null
+++ b/graphics/text_window/text_pal2.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 205 164
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+255 255 255
+74 205 238
+49 164 238
+0 90 131
+24 98 197
+16 115 230
diff --git a/graphics/text_window/text_pal3.pal b/graphics/text_window/text_pal3.pal
new file mode 100644
index 000000000..9cbcdad4c
--- /dev/null
+++ b/graphics/text_window/text_pal3.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 205 164
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+255 0 255
+205 213 213
+156 205 222
+98 115 123
+65 172 230
+131 164 180
diff --git a/graphics/text_window/text_pal4.pal b/graphics/text_window/text_pal4.pal
new file mode 100644
index 000000000..a004a081a
--- /dev/null
+++ b/graphics/text_window/text_pal4.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+115 205 164
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+57 98 115
+131 131 131
+164 164 164
+197 197 205
+230 230 238
+65 90 106
diff --git a/graphics/trade/ball.png b/graphics/trade/ball.png
new file mode 100644
index 000000000..97cc86a6f
--- /dev/null
+++ b/graphics/trade/ball.png
Binary files differ
diff --git a/graphics/trade/black.pal b/graphics/trade/black.pal
new file mode 100644
index 000000000..4b0812f09
--- /dev/null
+++ b/graphics/trade/black.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/trade/cable_closeup_map.bin b/graphics/trade/cable_closeup_map.bin
new file mode 100644
index 000000000..aad25ed83
--- /dev/null
+++ b/graphics/trade/cable_closeup_map.bin
Binary files differ
diff --git a/graphics/trade/cable_end.png b/graphics/trade/cable_end.png
new file mode 100644
index 000000000..1d7828a00
--- /dev/null
+++ b/graphics/trade/cable_end.png
Binary files differ
diff --git a/graphics/trade/gba.pal b/graphics/trade/gba.pal
new file mode 100644
index 000000000..64a442293
--- /dev/null
+++ b/graphics/trade/gba.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+222 230 238
+189 205 230
+156 180 222
+131 131 139
+98 98 123
+65 74 106
+41 49 90
+230 230 230
+205 205 205
+180 180 180
+156 156 156
+213 180 106
+205 156 82
+49 255 106
diff --git a/graphics/trade/gba_affine.png b/graphics/trade/gba_affine.png
new file mode 100644
index 000000000..b8c2623c4
--- /dev/null
+++ b/graphics/trade/gba_affine.png
Binary files differ
diff --git a/graphics/trade/gba_affine_map_cable.bin b/graphics/trade/gba_affine_map_cable.bin
new file mode 100644
index 000000000..19bab962b
--- /dev/null
+++ b/graphics/trade/gba_affine_map_cable.bin
Binary files differ
diff --git a/graphics/trade/gba_affine_map_wireless.bin b/graphics/trade/gba_affine_map_wireless.bin
new file mode 100644
index 000000000..53a511321
--- /dev/null
+++ b/graphics/trade/gba_affine_map_wireless.bin
Binary files differ
diff --git a/graphics/trade/gba_map_cable.bin b/graphics/trade/gba_map_cable.bin
new file mode 100644
index 000000000..80705aef5
--- /dev/null
+++ b/graphics/trade/gba_map_cable.bin
Binary files differ
diff --git a/graphics/trade/gba_map_wireless.bin b/graphics/trade/gba_map_wireless.bin
new file mode 100644
index 000000000..52f6232fc
--- /dev/null
+++ b/graphics/trade/gba_map_wireless.bin
Binary files differ
diff --git a/graphics/trade/gba_screen.png b/graphics/trade/gba_screen.png
new file mode 100644
index 000000000..4220e5e0d
--- /dev/null
+++ b/graphics/trade/gba_screen.png
Binary files differ
diff --git a/graphics/trade/glow1.png b/graphics/trade/glow1.png
new file mode 100644
index 000000000..e223d97ce
--- /dev/null
+++ b/graphics/trade/glow1.png
Binary files differ
diff --git a/graphics/trade/glow2.png b/graphics/trade/glow2.png
new file mode 100644
index 000000000..e7729bc84
--- /dev/null
+++ b/graphics/trade/glow2.png
Binary files differ
diff --git a/graphics/trade/misc.pal b/graphics/trade/misc.pal
new file mode 100644
index 000000000..32fafddfc
--- /dev/null
+++ b/graphics/trade/misc.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 156 123
+164 123 197
+41 255 115
+0 139 255
+255 255 74
+255 255 255
+106 106 106
+255 156 123
+255 156 123
+255 156 123
+255 156 123
+255 156 123
+255 156 123
+255 156 123
+255 156 123
diff --git a/graphics/trade/moves_box_map.bin b/graphics/trade/moves_box_map.bin
new file mode 100644
index 000000000..123abf716
--- /dev/null
+++ b/graphics/trade/moves_box_map.bin
Binary files differ
diff --git a/graphics/trade/party_box_map.bin b/graphics/trade/party_box_map.bin
new file mode 100644
index 000000000..69304c5cb
--- /dev/null
+++ b/graphics/trade/party_box_map.bin
Binary files differ
diff --git a/graphics/trade/pokeball_symbol.png b/graphics/trade/pokeball_symbol.png
new file mode 100644
index 000000000..3b4a30f4f
--- /dev/null
+++ b/graphics/trade/pokeball_symbol.png
Binary files differ
diff --git a/graphics/trade/pokeball_symbol_map.bin b/graphics/trade/pokeball_symbol_map.bin
new file mode 100644
index 000000000..8355c2f5c
--- /dev/null
+++ b/graphics/trade/pokeball_symbol_map.bin
Binary files differ
diff --git a/graphics/trade/shadow.pal b/graphics/trade/shadow.pal
new file mode 100644
index 000000000..a4bec6478
--- /dev/null
+++ b/graphics/trade/shadow.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 255 255
+222 230 238
+189 205 230
+156 180 222
+0 16 172
+32 32 106
+16 16 90
+0 0 74
+255 255 189
+230 230 164
+205 205 148
+189 180 115
+139 139 90
+74 74 57
+32 32 32
diff --git a/graphics/trade/shadow_map.bin b/graphics/trade/shadow_map.bin
new file mode 100644
index 000000000..8846e2d7d
--- /dev/null
+++ b/graphics/trade/shadow_map.bin
Binary files differ
diff --git a/graphics/trade/stripes_bg2_map.bin b/graphics/trade/stripes_bg2_map.bin
new file mode 100644
index 000000000..22f8f3b71
--- /dev/null
+++ b/graphics/trade/stripes_bg2_map.bin
@@ -0,0 +1 @@
+@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@@ABCDEFGHIJKLMNOONMLKJIHHHFDCBA@ \ No newline at end of file
diff --git a/graphics/trade/stripes_bg3_map.bin b/graphics/trade/stripes_bg3_map.bin
new file mode 100644
index 000000000..e4168474a
--- /dev/null
+++ b/graphics/trade/stripes_bg3_map.bin
@@ -0,0 +1 @@
+P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P P Q R S T U V W X Y Z [ \ ] ^ _ ^ ] \ [ Z Y X W V V U T S R Q P \ No newline at end of file
diff --git a/graphics/trade/text.pal b/graphics/trade/text.pal
new file mode 100644
index 000000000..40426b71f
--- /dev/null
+++ b/graphics/trade/text.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+74 74 74
+255 0 0
+0 255 0
+0 0 255
+255 255 0
+0 255 255
+255 0 255
+213 213 205
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+0 0 0
+115 115 115
+255 255 255
diff --git a/graphics/trade/unknown_3308C0.pal b/graphics/trade/unknown_3308C0.pal
new file mode 100644
index 000000000..72cf8b7c9
--- /dev/null
+++ b/graphics/trade/unknown_3308C0.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 57 8
+255 90 8
+255 131 8
+255 172 8
+255 213 8
+255 255 8
+255 255 131
+255 255 255
+255 255 0
+65 0 0
+115 16 0
+172 32 0
+230 57 8
+0 0 0
+0 0 0
diff --git a/graphics/trade/unknown_3379A0.bin b/graphics/trade/unknown_3379A0.bin
new file mode 100644
index 000000000..d1e364a29
--- /dev/null
+++ b/graphics/trade/unknown_3379A0.bin
Binary files differ
diff --git a/graphics/trade/unknown_338EA4.pal b/graphics/trade/unknown_338EA4.pal
new file mode 100644
index 000000000..346db3df8
--- /dev/null
+++ b/graphics/trade/unknown_338EA4.pal
@@ -0,0 +1,15 @@
+JASC-PAL
+0100
+12
+148 197 255
+148 197 255
+148 197 255
+255 255 255
+255 255 255
+255 255 255
+148 197 255
+148 197 255
+148 197 255
+255 255 255
+255 255 255
+255 255 255
diff --git a/graphics/trade/wireless_signal.bin b/graphics/trade/wireless_signal.bin
new file mode 100644
index 000000000..4ce5d18b8
--- /dev/null
+++ b/graphics/trade/wireless_signal.bin
Binary files differ
diff --git a/graphics/trade/wireless_signal.png b/graphics/trade/wireless_signal.png
new file mode 100644
index 000000000..a48c70ae7
--- /dev/null
+++ b/graphics/trade/wireless_signal.png
Binary files differ
diff --git a/graphics/trade/wireless_signal_receive.pal b/graphics/trade/wireless_signal_receive.pal
new file mode 100644
index 000000000..218390aa2
--- /dev/null
+++ b/graphics/trade/wireless_signal_receive.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+172 172 172
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+255 255 255
diff --git a/graphics/trade/wireless_signal_send.pal b/graphics/trade/wireless_signal_send.pal
new file mode 100644
index 000000000..a5da8a543
--- /dev/null
+++ b/graphics/trade/wireless_signal_send.pal
@@ -0,0 +1,259 @@
+JASC-PAL
+0100
+256
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+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
+172 172 172
+255 255 255
+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
+172 172 172
diff --git a/graphics/trainer_card/badges.png b/graphics/trainer_card/badges.png
new file mode 100644
index 000000000..d06cfbe8a
--- /dev/null
+++ b/graphics/trainer_card/badges.png
Binary files differ
diff --git a/graphics/trainer_card/badges_fr.png b/graphics/trainer_card/badges_fr.png
new file mode 100644
index 000000000..29a675e19
--- /dev/null
+++ b/graphics/trainer_card/badges_fr.png
Binary files differ
diff --git a/graphics/trainer_card/female_bg.pal b/graphics/trainer_card/female_bg.pal
new file mode 100644
index 000000000..9df82c665
--- /dev/null
+++ b/graphics/trainer_card/female_bg.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+230 123 139
+164 49 115
+0 0 0
+0 0 0
diff --git a/graphics/trainer_card/female_bg_fr.pal b/graphics/trainer_card/female_bg_fr.pal
new file mode 100644
index 000000000..3e8a3ab52
--- /dev/null
+++ b/graphics/trainer_card/female_bg_fr.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+139 98 115
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+189 148 16
+255 213 82
+230 148 82
+213 98 41
+197 197 197
+90 90 90
diff --git a/graphics/trainer_card/four_stars.pal b/graphics/trainer_card/four_stars.pal
new file mode 100644
index 000000000..4e1d56b54
--- /dev/null
+++ b/graphics/trainer_card/four_stars.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+246 246 222
+246 238 172
+164 164 164
+123 123 123
+98 98 115
+41 57 65
+57 106 139
+65 139 197
+246 230 139
+230 213 49
+213 197 57
+156 115 57
+106 189 255
+205 205 205
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+106 180 213
+41 123 164
+0 0 0
+0 0 0
+98 98 115
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+106 189 255
+205 205 205
+0 0 0
diff --git a/graphics/trainer_card/four_stars_fr.pal b/graphics/trainer_card/four_stars_fr.pal
new file mode 100644
index 000000000..79027f0d8
--- /dev/null
+++ b/graphics/trainer_card/four_stars_fr.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+255 246 230
+246 238 213
+246 246 197
+246 238 180
+246 222 106
+164 164 164
+98 98 115
+255 255 148
+246 222 49
+246 205 8
+238 189 0
+189 148 57
+255 255 197
+255 255 255
+246 230 82
+139 98 115
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+189 148 16
+255 213 82
+82 205 180
+65 172 164
+197 197 197
+90 90 90
+0 0 0
+32 65 123
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+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/trainer_card/gold.pal b/graphics/trainer_card/gold.pal
new file mode 100644
index 000000000..ebd175e97
--- /dev/null
+++ b/graphics/trainer_card/gold.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+139 98 115
+246 197 0
+205 164 0
+246 197 0
+246 197 0
+246 197 0
+246 197 0
+246 197 0
+0 0 0
+0 0 0
+189 148 16
+255 213 82
+0 0 0
+0 0 0
+189 148 16
+246 197 0
diff --git a/graphics/trainer_card/one_star.pal b/graphics/trainer_card/one_star.pal
new file mode 100644
index 000000000..62c51c91f
--- /dev/null
+++ b/graphics/trainer_card/one_star.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+238 255 246
+213 238 230
+164 164 164
+123 123 123
+98 98 115
+41 57 65
+57 106 139
+65 139 197
+189 213 205
+148 180 164
+106 148 123
+65 115 90
+106 189 255
+205 205 205
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+106 180 213
+41 123 164
+0 0 0
+0 0 0
+98 98 115
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+106 189 255
+205 205 205
+0 0 0
diff --git a/graphics/trainer_card/one_star_fr.pal b/graphics/trainer_card/one_star_fr.pal
new file mode 100644
index 000000000..9215c7592
--- /dev/null
+++ b/graphics/trainer_card/one_star_fr.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+222 255 230
+205 246 222
+197 238 213
+189 230 205
+246 205 148
+164 164 164
+98 98 115
+246 213 139
+180 205 148
+131 180 172
+115 156 156
+82 131 123
+255 246 189
+255 255 255
+156 205 197
+139 98 115
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+189 148 16
+255 213 82
+82 205 180
+65 172 164
+197 197 197
+90 90 90
+0 0 0
+32 65 123
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+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/trainer_card/stickers_fr.png b/graphics/trainer_card/stickers_fr.png
new file mode 100644
index 000000000..12a67a30f
--- /dev/null
+++ b/graphics/trainer_card/stickers_fr.png
Binary files differ
diff --git a/graphics/trainer_card/stickers_fr1.pal b/graphics/trainer_card/stickers_fr1.pal
new file mode 100644
index 000000000..774dbb486
--- /dev/null
+++ b/graphics/trainer_card/stickers_fr1.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 246 189
+255 255 255
+255 197 164
+238 246 246
+222 222 230
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/trainer_card/stickers_fr2.pal b/graphics/trainer_card/stickers_fr2.pal
new file mode 100644
index 000000000..9244e4a03
--- /dev/null
+++ b/graphics/trainer_card/stickers_fr2.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 246 189
+255 255 255
+98 197 238
+238 246 246
+222 222 230
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/trainer_card/stickers_fr3.pal b/graphics/trainer_card/stickers_fr3.pal
new file mode 100644
index 000000000..abe9e9206
--- /dev/null
+++ b/graphics/trainer_card/stickers_fr3.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 246 189
+255 255 255
+246 230 74
+238 246 246
+222 222 230
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/trainer_card/stickers_fr4.pal b/graphics/trainer_card/stickers_fr4.pal
new file mode 100644
index 000000000..422e986b1
--- /dev/null
+++ b/graphics/trainer_card/stickers_fr4.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 246 189
+255 255 255
+106 131 148
+238 246 246
+222 222 230
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/trainer_card/three_stars.pal b/graphics/trainer_card/three_stars.pal
new file mode 100644
index 000000000..21f3d83eb
--- /dev/null
+++ b/graphics/trainer_card/three_stars.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+246 246 255
+230 230 238
+189 189 197
+156 156 156
+156 106 41
+41 57 65
+57 106 139
+65 139 197
+230 230 238
+189 189 197
+156 156 156
+123 123 123
+106 189 255
+205 205 205
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+106 180 213
+41 123 164
+0 0 0
+0 0 0
+98 98 115
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+106 189 255
+205 205 205
+0 0 0
diff --git a/graphics/trainer_card/three_stars_fr.pal b/graphics/trainer_card/three_stars_fr.pal
new file mode 100644
index 000000000..e984eab42
--- /dev/null
+++ b/graphics/trainer_card/three_stars_fr.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+238 246 246
+238 246 246
+238 238 238
+230 230 230
+246 205 148
+164 164 164
+98 98 115
+255 238 131
+205 205 164
+197 205 205
+172 180 172
+131 139 156
+246 246 197
+255 255 255
+213 222 222
+139 98 115
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+189 148 16
+255 213 82
+82 205 180
+65 172 164
+197 197 197
+90 90 90
+0 0 0
+32 65 123
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+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/trainer_card/two_stars.pal b/graphics/trainer_card/two_stars.pal
new file mode 100644
index 000000000..bacce54f5
--- /dev/null
+++ b/graphics/trainer_card/two_stars.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+255 246 230
+246 230 213
+205 156 90
+180 131 65
+98 98 115
+41 57 65
+57 106 139
+65 139 197
+230 189 139
+205 156 115
+180 131 82
+156 106 41
+106 189 255
+205 205 205
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+106 180 213
+41 123 164
+0 0 0
+0 0 0
+98 98 115
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+255 255 255
+230 230 238
+164 164 164
+123 123 123
+106 189 255
+205 205 205
+0 0 0
diff --git a/graphics/trainer_card/two_stars_fr.pal b/graphics/trainer_card/two_stars_fr.pal
new file mode 100644
index 000000000..748e17aa8
--- /dev/null
+++ b/graphics/trainer_card/two_stars_fr.pal
@@ -0,0 +1,51 @@
+JASC-PAL
+0100
+48
+139 98 115
+246 246 205
+246 238 197
+238 230 189
+230 222 156
+246 205 148
+164 164 164
+98 98 115
+246 238 139
+222 197 139
+213 189 139
+197 180 123
+164 123 82
+255 255 205
+255 255 255
+230 205 156
+139 98 115
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+255 0 255
+189 148 16
+255 213 82
+82 205 180
+65 172 164
+197 197 197
+90 90 90
+0 0 0
+32 65 123
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+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/trainer_card/unknown_56F18C.pal b/graphics/trainer_card/unknown_56F18C.pal
new file mode 100644
index 000000000..25a3ac1d2
--- /dev/null
+++ b/graphics/trainer_card/unknown_56F18C.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+255 255 255
+255 255 255
+98 98 98
+213 213 205
+230 8 8
+255 189 115
+32 156 8
+148 246 148
+49 82 205
+164 197 246
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
+0 0 0
diff --git a/graphics/unknown/858E588/0.png b/graphics/unknown/858E588/0.png
new file mode 100644
index 000000000..70b0774b0
--- /dev/null
+++ b/graphics/unknown/858E588/0.png
Binary files differ
diff --git a/graphics/unknown/858E588/1.png b/graphics/unknown/858E588/1.png
new file mode 100644
index 000000000..e176b5f73
--- /dev/null
+++ b/graphics/unknown/858E588/1.png
Binary files differ
diff --git a/graphics/unknown/858E588/2.png b/graphics/unknown/858E588/2.png
new file mode 100644
index 000000000..c006bb660
--- /dev/null
+++ b/graphics/unknown/858E588/2.png
Binary files differ
diff --git a/graphics/unknown/858E588/3.png b/graphics/unknown/858E588/3.png
new file mode 100644
index 000000000..67a3cf769
--- /dev/null
+++ b/graphics/unknown/858E588/3.png
Binary files differ
diff --git a/graphics/unknown/858E588/4.png b/graphics/unknown/858E588/4.png
new file mode 100644
index 000000000..e2a5aec4f
--- /dev/null
+++ b/graphics/unknown/858E588/4.png
Binary files differ
diff --git a/graphics/unknown/858E5B0/0.png b/graphics/unknown/858E5B0/0.png
new file mode 100644
index 000000000..afd104d7c
--- /dev/null
+++ b/graphics/unknown/858E5B0/0.png
Binary files differ
diff --git a/graphics/unknown/858E5B0/1.png b/graphics/unknown/858E5B0/1.png
new file mode 100644
index 000000000..026b9b7af
--- /dev/null
+++ b/graphics/unknown/858E5B0/1.png
Binary files differ
diff --git a/graphics/unknown/858E5B0/2.png b/graphics/unknown/858E5B0/2.png
new file mode 100644
index 000000000..360e2ab63
--- /dev/null
+++ b/graphics/unknown/858E5B0/2.png
Binary files differ
diff --git a/graphics/unknown/858E5B0/3.png b/graphics/unknown/858E5B0/3.png
new file mode 100644
index 000000000..88672c182
--- /dev/null
+++ b/graphics/unknown/858E5B0/3.png
Binary files differ
diff --git a/graphics/unknown/858E5B0/4.png b/graphics/unknown/858E5B0/4.png
new file mode 100644
index 000000000..660ad331d
--- /dev/null
+++ b/graphics/unknown/858E5B0/4.png
Binary files differ
diff --git a/graphics/unknown/858E5B0/5.png b/graphics/unknown/858E5B0/5.png
new file mode 100644
index 000000000..7006e9cc9
--- /dev/null
+++ b/graphics/unknown/858E5B0/5.png
Binary files differ
diff --git a/graphics/unknown/858E5D8/0.png b/graphics/unknown/858E5D8/0.png
new file mode 100644
index 000000000..110b1dd0a
--- /dev/null
+++ b/graphics/unknown/858E5D8/0.png
Binary files differ
diff --git a/graphics/unknown/858E5D8/1.png b/graphics/unknown/858E5D8/1.png
new file mode 100644
index 000000000..f50079de7
--- /dev/null
+++ b/graphics/unknown/858E5D8/1.png
Binary files differ
diff --git a/graphics/unknown/858E5D8/2.png b/graphics/unknown/858E5D8/2.png
new file mode 100644
index 000000000..a54bb3d12
--- /dev/null
+++ b/graphics/unknown/858E5D8/2.png
Binary files differ
diff --git a/graphics/unknown/858E5D8/3.png b/graphics/unknown/858E5D8/3.png
new file mode 100644
index 000000000..0ea6e43c9
--- /dev/null
+++ b/graphics/unknown/858E5D8/3.png
Binary files differ
diff --git a/graphics/unknown/858E5D8/4.png b/graphics/unknown/858E5D8/4.png
new file mode 100644
index 000000000..4b4e300bb
--- /dev/null
+++ b/graphics/unknown/858E5D8/4.png
Binary files differ
diff --git a/graphics/unknown/858E674/0.png b/graphics/unknown/858E674/0.png
new file mode 100644
index 000000000..64b61050f
--- /dev/null
+++ b/graphics/unknown/858E674/0.png
Binary files differ
diff --git a/graphics/unknown/858E674/1.png b/graphics/unknown/858E674/1.png
new file mode 100644
index 000000000..05cd8f396
--- /dev/null
+++ b/graphics/unknown/858E674/1.png
Binary files differ
diff --git a/graphics/unknown/858E674/2.png b/graphics/unknown/858E674/2.png
new file mode 100644
index 000000000..d5dd69078
--- /dev/null
+++ b/graphics/unknown/858E674/2.png
Binary files differ
diff --git a/graphics/unknown/858E84C/0.png b/graphics/unknown/858E84C/0.png
new file mode 100644
index 000000000..4673403e0
--- /dev/null
+++ b/graphics/unknown/858E84C/0.png
Binary files differ
diff --git a/graphics/unknown/858E84C/1.png b/graphics/unknown/858E84C/1.png
new file mode 100644
index 000000000..c55f2146d
--- /dev/null
+++ b/graphics/unknown/858E84C/1.png
Binary files differ
diff --git a/graphics/unknown/858E84C/2.png b/graphics/unknown/858E84C/2.png
new file mode 100644
index 000000000..4f03b50ae
--- /dev/null
+++ b/graphics/unknown/858E84C/2.png
Binary files differ
diff --git a/graphics/unknown/unknown_58E82C.pal b/graphics/unknown/unknown_58E82C.pal
new file mode 100644
index 000000000..292acfd35
--- /dev/null
+++ b/graphics/unknown/unknown_58E82C.pal
@@ -0,0 +1,19 @@
+JASC-PAL
+0100
+16
+0 0 0
+255 0 0
+0 255 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
diff --git a/graphics/unused/cherry.png b/graphics/unused/cherry.png
new file mode 100644
index 000000000..d79fe62d1
--- /dev/null
+++ b/graphics/unused/cherry.png
Binary files differ
diff --git a/graphics_file_rules.mk b/graphics_file_rules.mk
index 3bebeae12..018f35490 100644
--- a/graphics_file_rules.mk
+++ b/graphics_file_rules.mk
@@ -4,7 +4,7 @@ MONFRONTGFXDIR := graphics/pokemon/anim_front_pics
MONPALDIR := graphics/pokemon/palettes
TILESETGFXDIR := data/tilesets
FONTGFXDIR := data/graphics/fonts
-MENUGFXDIR := graphics/interface
+INTERFACEGFXDIR := graphics/interface
BTLANMSPRGFXDIR := graphics/battle_anims/sprites
UNUSEDGFXDIR := graphics/unused
UNKNOWNGFXDIR := graphics/unknown
@@ -18,6 +18,8 @@ SLOTMACHINEGFXDIR := graphics/slot_machine
PKNAVGFXDIR := graphics/pokenav
PKNAVOPTIONSGFXDIR := graphics/pokenav/options
PSSGFXDIR := graphics/pokemon_storage
+MAPOBJGFXDIR := graphics/map_objects
+MISCGFXDIR := graphics/misc
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
contest_types := cool beauty cute smart tough
@@ -307,11 +309,11 @@ graphics/link_games/pkmnjump_bg.4bpp: %.4bpp: %.png
graphics/pokenav/region_map.8bpp: %.8bpp: %.png
$(GFX) $< $@ -num_tiles 233
-graphics/misc/japanese_hof.4bpp: %.4bpp: %.png
+$(MISCGFXDIR)/japanese_hof.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 29
-$(MENUGFXDIR)/menu.gbapal: $(MENUGFXDIR)/menu_0.gbapal \
- $(MENUGFXDIR)/menu_1.gbapal
+$(INTERFACEGFXDIR)/menu.gbapal: $(INTERFACEGFXDIR)/menu_0.gbapal \
+ $(INTERFACEGFXDIR)/menu_1.gbapal
@cat $^ >$@
$(BTLANMSPRGFXDIR)/010.4bpp: $(BTLANMSPRGFXDIR)/010_0.4bpp \
@@ -340,9 +342,9 @@ $(UNUSEDGFXDIR)/obi2.4bpp: $(UNUSEDGFXDIR)/old_bulbasaur2.4bpp \
$(UNUSEDGFXDIR)/old_battle_interface_3.4bpp
@cat $^ >$@
-$(MENUGFXDIR)/hp_numbers.4bpp: $(MENUGFXDIR)/hpbar_anim.4bpp \
- $(MENUGFXDIR)/numbers1.4bpp \
- $(MENUGFXDIR)/numbers2.4bpp
+$(INTERFACEGFXDIR)/hp_numbers.4bpp: $(INTERFACEGFXDIR)/hpbar_anim.4bpp \
+ $(INTERFACEGFXDIR)/numbers1.4bpp \
+ $(INTERFACEGFXDIR)/numbers2.4bpp
@cat $^ >$@
$(UNUSEDGFXDIR)/redyellowgreen_frame.bin: $(UNUSEDGFXDIR)/red_frame.bin \
@@ -398,7 +400,7 @@ $(MASKSGFXDIR)/unknown_C2EA50.4bpp: %.4bpp: %.png
$(BATTRANSGFXDIR)/vs_frame.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 16
-$(MENUGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png
+$(INTERFACEGFXDIR)/party_menu_misc.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 62
$(TYPESGFXDIR)/move_types.4bpp: $(types:%=$(TYPESGFXDIR)/%.4bpp) $(contest_types:%=$(TYPESGFXDIR)/contest_%.4bpp)
@@ -409,7 +411,7 @@ $(TYPESGFXDIR)/move_types.gbapal: $(TYPESGFXDIR)/move_types_1.gbapal \
$(TYPESGFXDIR)/move_types_3.gbapal
@cat $^ >$@
-$(MENUGFXDIR)/bag_screen.4bpp: %.4bpp: %.png
+$(INTERFACEGFXDIR)/bag_screen.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 53
$(RAYQUAZAGFXDIR)/rayquaza.8bpp: %.8bpp: %.png
@@ -629,6 +631,15 @@ $(PSSGFXDIR)/ludicolo.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/ludico
$(PSSGFXDIR)/whiscash.4bpp: $(PSSGFXDIR)/friends_frame2.4bpp $(PSSGFXDIR)/whiscash_bg.4bpp
@cat $^ >$@
+$(MAPOBJGFXDIR)/pics/effects/unknown_4F6D38/0.4bpp: %.4bpp: %.png
+ $(GFX) $< $@ -num_tiles 11
+
+$(INTERFACEGFXDIR)/selector_outline.4bpp: %.4bpp: %.png
+ $(GFX) $< $@ -num_tiles 8
+
+$(BATTRANSGFXDIR)/frontier_transition.4bpp: %.4bpp: %.png
+ $(GFX) $< $@ -num_tiles 43
+
$(PKNAVOPTIONSGFXDIR)/options.4bpp: $(PKNAVOPTIONSGFXDIR)/hoenn_map.4bpp \
$(PKNAVOPTIONSGFXDIR)/condition.4bpp \
$(PKNAVOPTIONSGFXDIR)/match_call.4bpp \
@@ -652,3 +663,12 @@ $(PKNAVGFXDIR)/outline.4bpp: %.4bpp: %.png
$(PKNAVGFXDIR)/ui_matchcall.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 13
+
+$(INTERFACEGFXDIR)/region_map.8bpp: %.8bpp: %.png
+ $(GFX) $< $@ -num_tiles 232
+
+$(INTERFACEGFXDIR)/region_map_affine.8bpp: %.8bpp: %.png
+ $(GFX) $< $@ -num_tiles 233
+
+$(MISCGFXDIR)/birch_help.4bpp: $(MISCGFXDIR)/birch_bag.4bpp $(MISCGFXDIR)/birch_grass.4bpp
+ @cat $^ >$@
diff --git a/include/graphics.h b/include/graphics.h
index 85e31aec9..5917e9d2a 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -1,6 +1,10 @@
#ifndef GUARD_GRAPHICS_H
#define GUARD_GRAPHICS_H
+// overworld
+extern const u32 gMessageBox_Gfx[];
+extern const u16 gMessageBox_Pal[];
+
// interface pokeballs
extern const u8 gInterfaceGfx_PokeBall[];
extern const u8 gInterfacePal_PokeBall[];
diff --git a/include/option_menu.h b/include/option_menu.h
new file mode 100644
index 000000000..b23a73c4c
--- /dev/null
+++ b/include/option_menu.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_OPTION_MENU_H
+#define GUARD_OPTION_MENU_H
+
+void CB2_InitOptionMenu(void);
+
+#endif // GUARD_OPTION_MENU_H
diff --git a/include/strings.h b/include/strings.h
index a382191a0..7527e56fb 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -170,4 +170,29 @@ extern const u8 gText_Peak[];
extern const u8 gText_SafariBallStock[];
extern const u8 gText_BattlePyramidFloor[];
+// option menu texts
+extern const u8 gText_TextSpeedSlow[];
+extern const u8 gText_TextSpeedMid[];
+extern const u8 gText_TextSpeedFast[];
+extern const u8 gText_BattleSceneOn[];
+extern const u8 gText_BattleSceneOff[];
+extern const u8 gText_BattleStyleShift[];
+extern const u8 gText_BattleStyleSet[];
+extern const u8 gText_SoundMono[];
+extern const u8 gText_SoundStereo[];
+extern const u8 gText_FrameTypeNumber[];
+extern const u8 gText_FrameType[];
+extern const u8 gText_ButtonTypeNormal[];
+extern const u8 gText_ButtonTypeLR[];
+extern const u8 gText_ButtonTypeLEqualsA[];
+extern const u8 gText_Option[];
+extern const u8 gText_OptionMenu[];
+extern const u8 gText_TextSpeed[];
+extern const u8 gText_BattleScene[];
+extern const u8 gText_BattleStyle[];
+extern const u8 gText_Sound[];
+extern const u8 gText_Frame[];
+extern const u8 gText_OptionMenuCancel[];
+extern const u8 gText_ButtonMode[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/text_window.h b/include/text_window.h
index 0af007397..e6a753fcb 100644
--- a/include/text_window.h
+++ b/include/text_window.h
@@ -1,13 +1,18 @@
#ifndef GUARD_TEXT_WINDOW_H
#define GUARD_TEXT_WINDOW_H
+#define WINDOW_FRAMES_COUNT 20
+
struct TilesPal
{
- u32 *tiles;
- u16 *pal;
+ const u32 *tiles;
+ const u16 *pal;
};
-const struct TilesPal* sub_8098758(u8 id);
+extern const u32 gTextWindowFrame1_Gfx[];
+extern const u16 gTextWindowFrame1_Pal[];
+
+const struct TilesPal* GetWindowFrameTilesPal(u8 id);
void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset);
void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset);
void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset);
@@ -15,8 +20,8 @@ void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset);
void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
void rbox_fill_rectangle(u8 windowId);
-const u16* stdpal_get(u8 id);
-const u16* GetOverworldTextboxPalettePtr(void);
+const u16 *stdpal_get(u8 id);
+const u16 *GetOverworldTextboxPalettePtr(void);
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
#endif // GUARD_TEXT_WINDOW_H
diff --git a/include/unknown_task.h b/include/unknown_task.h
index 9c6968c30..906fed3e0 100644
--- a/include/unknown_task.h
+++ b/include/unknown_task.h
@@ -15,7 +15,7 @@ extern struct UnknownTaskStruct gUnknown_0831AC70;
// Exported RAM declarations
// Exported ROM declarations
-void remove_some_task(void);
+void ScanlineEffect_Stop(void);
void sub_80BA038(struct UnknownTaskStruct arg0);
void sub_80BA0A8(void);
diff --git a/ld_script.txt b/ld_script.txt
index a7379d18b..dc411c8cb 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -127,7 +127,7 @@ SECTIONS {
src/wild_encounter.o(.text);
asm/field_effect.o(.text);
asm/unknown_task.o(.text);
- asm/option_menu.o(.text);
+ src/option_menu.o(.text);
src/pokedex.o(.text);
asm/pokedex.o(.text);
asm/trainer_card.o(.text);
@@ -405,7 +405,7 @@ SECTIONS {
data/field_map_obj.o(.rodata);
data/field_ground_effect.o(.rodata);
data/map_obj_8097404.o(.rodata);
- data/text_window.o(.rodata);
+ src/text_window.o(.rodata);
src/scrcmd.o(.rodata);
data/coord_event_weather.o(.rodata);
data/field_tasks.o(.rodata);
@@ -426,7 +426,7 @@ SECTIONS {
src/trainer_see.o(.rodata);
data/wild_encounter.o(.rodata);
data/field_effect.o(.rodata);
- data/option_menu.o(.rodata);
+ src/option_menu.o(.rodata);
src/pokedex.o(.rodata);
data/pokedex.o(.rodata);
data/trainer_card.o(.rodata);
diff --git a/src/battle_transition.c b/src/battle_transition.c
index ca2134837..e003e0fce 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -2730,6 +2730,10 @@ static bool8 Phase2_ShredSplit_Func2(struct Task *task)
return FALSE;
}
+// This function never increments the state counter, because the loop condition
+// is always false, resulting in the game being stuck in an infinite loop.
+// It's possible this transition is only partially
+// done and the second part was left out.
static bool8 Phase2_ShredSplit_Func3(struct Task *task)
{
u16 i;
diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c
index 3b2bfb5f7..f487489d4 100644
--- a/src/berry_fix_program.c
+++ b/src/berry_fix_program.c
@@ -141,7 +141,7 @@ void InitBerryFixProgram(void)
SetVBlankCallback(NULL);
ResetSpriteData();
ResetTasks();
- remove_some_task();
+ ScanlineEffect_Stop();
SetGpuReg(REG_OFFSET_DISPCNT, 0x0000);
berry_fix_mb_manager = AllocZeroed(0x50);
berry_fix_mb_manager->state = 0;
diff --git a/src/diploma.c b/src/diploma.c
index d4a269757..fedc10bd0 100644
--- a/src/diploma.c
+++ b/src/diploma.c
@@ -72,7 +72,7 @@ void CB2_ShowDiploma(void)
DmaFill16(3, 0, VRAM, VRAM_SIZE);
DmaFill32(3, 0, OAM, OAM_SIZE);
DmaFill16(3, 0, PLTT, PLTT_SIZE);
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 1aff894b9..37f2b2e19 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -66,7 +66,7 @@ extern void overworld_free_bg_tilemaps(void);
extern void sub_80AF168(void);
extern void AllocateMonSpritesGfx(void);
extern void FreeMonSpritesGfx(void);
-extern void remove_some_task(void);
+extern void ScanlineEffect_Stop(void);
extern void reset_temp_tile_data_buffers(void);
extern void c2_exit_to_overworld_2_switch(void);
extern void play_some_sound(void);
@@ -512,7 +512,7 @@ static void CB2_EggHatch_0(void)
FreeAllSpritePalettes();
ResetSpriteData();
ResetTasks();
- remove_some_task();
+ ScanlineEffect_Stop();
m4aSoundVSyncOn();
gMain.state++;
break;
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 4b59147ff..5dfc36cb2 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -269,7 +269,7 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
sub_80356D0();
LoadBattleTextboxAndBackground();
ResetSpriteData();
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
FreeAllSpritePalettes();
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 4465f65a3..3e70e22fa 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -1302,7 +1302,7 @@ static void ClearVramOamPltt_LoadHofPal(void)
static void sub_8174F70(void)
{
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
reset_temp_tile_data_buffers();
diff --git a/src/mail.c b/src/mail.c
index 68a55e242..c3cbe4a3c 100644
--- a/src/mail.c
+++ b/src/mail.c
@@ -240,30 +240,6 @@ static const struct MailLayout sUnknown_0859F458[] = {
{ 0x05, 0x09, 0x60, 0x05, 0x1e, Unknown_0859F444 }
};
-// What the heck are these meant to be? Call them u16 for now.
-
-static const u16 Unknown_0859F4E8[] = {
- 0x00, 0x4000, 0x00, 0x00
-};
-
-static const u16 Unknown_0859F4F0[] = {
- 0x00, 0x00, -1, 0x00
-};
-
-static const u16 Unknown_0859F4F8[] = {
- 0x04, 0x00, -1, 0x00
-};
-
-static const u16 Unknown_0859F500[] = {
- 0x00, 0x40, -1, 0x00
-};
-
-static const u16 *const sUnknown_0859F508[] = {
- Unknown_0859F4F0,
- Unknown_0859F4F8,
- Unknown_0859F500
-};
-
// .text
void ReadMail(struct MailStruct *mail, void (*callback)(void), bool8 flag)
@@ -329,7 +305,7 @@ static bool8 MailReadBuildGraphics(void)
{
case 0:
SetVBlankCallback(NULL);
- remove_some_task();
+ ScanlineEffect_Stop();
SetGpuReg(REG_OFFSET_DISPCNT, 0x0000);
break;
case 1:
diff --git a/src/main.c b/src/main.c
index 07b7d9147..d4601293b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -29,7 +29,7 @@ extern void MapMusicMain(void);
extern void EnableInterrupts(u16);
extern void sub_8033648(void);
extern u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
-extern void remove_some_task(void);
+extern void ScanlineEffect_Stop(void);
extern struct SoundInfo gSoundInfo;
extern u32 gFlashMemoryPresent;
@@ -425,7 +425,7 @@ void DoSoftReset(void)
{
REG_IME = 0;
m4aSoundVSyncOff();
- remove_some_task();
+ ScanlineEffect_Stop();
DmaStop(1);
DmaStop(2);
DmaStop(3);
diff --git a/src/option_menu.c b/src/option_menu.c
new file mode 100644
index 000000000..7f92756ab
--- /dev/null
+++ b/src/option_menu.c
@@ -0,0 +1,662 @@
+#include "global.h"
+#include "option_menu.h"
+#include "main.h"
+#include "menu.h"
+#include "unknown_task.h"
+#include "palette.h"
+#include "sprite.h"
+#include "task.h"
+#include "bg.h"
+#include "gpu_regs.h"
+#include "window.h"
+#include "text.h"
+#include "text_window.h"
+#include "international_string_util.h"
+#include "strings.h"
+
+extern void SetPokemonCryStereo(u32 val);
+
+// Task data
+enum
+{
+ TD_MENUSELECTION,
+ TD_TEXTSPEED,
+ TD_BATTLESCENE,
+ TD_BATTLESTYLE,
+ TD_SOUND,
+ TD_BUTTONMODE,
+ TD_FRAMETYPE,
+};
+
+// Menu items
+enum
+{
+ MENUITEM_TEXTSPEED,
+ MENUITEM_BATTLESCENE,
+ MENUITEM_BATTLESTYLE,
+ MENUITEM_SOUND,
+ MENUITEM_BUTTONMODE,
+ MENUITEM_FRAMETYPE,
+ MENUITEM_CANCEL,
+ MENUITEM_COUNT,
+};
+
+// Window Ids
+enum
+{
+ WIN_TEXT_OPTION,
+ WIN_OPTIONS
+};
+
+// this file's functions
+static void Task_OptionMenuFadeIn(u8 taskId);
+static void Task_OptionMenuProcessInput(u8 taskId);
+static void Task_OptionMenuSave(u8 taskId);
+static void Task_OptionMenuFadeOut(u8 taskId);
+static void HighlightOptionMenuItem(u8 selection);
+static u8 TextSpeed_ProcessInput(u8 selection);
+static void TextSpeed_DrawChoices(u8 selection);
+static u8 BattleScene_ProcessInput(u8 selection);
+static void BattleScene_DrawChoices(u8 selection);
+static u8 BattleStyle_ProcessInput(u8 selection);
+static void BattleStyle_DrawChoices(u8 selection);
+static u8 Sound_ProcessInput(u8 selection);
+static void Sound_DrawChoices(u8 selection);
+static u8 FrameType_ProcessInput(u8 selection);
+static void FrameType_DrawChoices(u8 selection);
+static u8 ButtonMode_ProcessInput(u8 selection);
+static void ButtonMode_DrawChoices(u8 selection);
+static void DrawTextOption(void);
+static void DrawOptionMenuTexts(void);
+static void sub_80BB154(void);
+
+// EWRAM vars
+EWRAM_DATA static bool8 sArrowPressed = FALSE;
+
+// const rom data
+static const u16 sUnknown_0855C604[] = INCBIN_U16("graphics/misc/option_menu_text.gbapal");
+// note: this is only used in the Japanese release
+static const u8 sEqualSignGfx[] = INCBIN_U8("graphics/misc/option_menu_equals_sign.4bpp");
+
+static const u8 *const sOptionMenuItemsNames[MENUITEM_COUNT] =
+{
+ gText_TextSpeed,
+ gText_BattleScene,
+ gText_BattleStyle,
+ gText_Sound,
+ gText_ButtonMode,
+ gText_Frame,
+ gText_OptionMenuCancel,
+};
+
+static const struct WindowTemplate sOptionMenuWinTemplates[] =
+{
+ {1, 2, 1, 0x1A, 2, 1, 2},
+ {0, 2, 5, 0x1A, 0xE, 1, 0x36},
+ DUMMY_WIN_TEMPLATE
+};
+
+static const struct BgTemplate sOptionMenuBgTemplates[] =
+{
+ {
+ .bg = 1,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 30,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 0,
+ .baseTile = 0
+ },
+ {
+ .bg = 0,
+ .charBaseIndex = 1,
+ .mapBaseIndex = 31,
+ .screenSize = 0,
+ .paletteMode = 0,
+ .priority = 1,
+ .baseTile = 0
+ }
+};
+
+static const u16 sUnknown_0855C6A0[] = {0x7E51};
+
+// code
+static void MainCB2(void)
+{
+ RunTasks();
+ AnimateSprites();
+ BuildOamBuffer();
+ UpdatePaletteFade();
+}
+
+static void VBlankCB(void)
+{
+ LoadOam();
+ ProcessSpriteCopyRequests();
+ TransferPlttBuffer();
+}
+
+void CB2_InitOptionMenu(void)
+{
+ switch (gMain.state)
+ {
+ default:
+ case 0:
+ SetVBlankCallback(NULL);
+ gMain.state++;
+ break;
+ case 1:
+ {
+ u8 *addr;
+ u32 size;
+
+ addr = (u8 *)VRAM;
+ size = 0x18000;
+ while (1)
+ {
+ DmaFill16(3, 0, addr, 0x1000);
+ addr += 0x1000;
+ size -= 0x1000;
+ if (size <= 0x1000)
+ {
+ DmaFill16(3, 0, addr, size);
+ break;
+ }
+ }
+ DmaClear32(3, OAM, OAM_SIZE);
+ DmaClear16(3, PLTT, PLTT_SIZE);
+ SetGpuReg(REG_OFFSET_DISPCNT, 0);
+ ResetBgsAndClearDma3BusyFlags(0);
+ InitBgsFromTemplates(0, sOptionMenuBgTemplates, ARRAY_COUNT(sOptionMenuBgTemplates));
+ ChangeBgX(0, 0, 0);
+ ChangeBgY(0, 0, 0);
+ ChangeBgX(1, 0, 0);
+ ChangeBgY(1, 0, 0);
+ ChangeBgX(2, 0, 0);
+ ChangeBgY(2, 0, 0);
+ ChangeBgX(3, 0, 0);
+ ChangeBgY(3, 0, 0);
+ InitWindows(sOptionMenuWinTemplates);
+ DeactivateAllTextPrinters();
+ SetGpuReg(REG_OFFSET_WIN0H, 0);
+ SetGpuReg(REG_OFFSET_WIN0V, 0);
+ SetGpuReg(REG_OFFSET_WININ, 1);
+ SetGpuReg(REG_OFFSET_WINOUT, 35);
+ SetGpuReg(REG_OFFSET_BLDCNT, 193);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+ SetGpuReg(REG_OFFSET_BLDY, 4);
+ SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
+ ShowBg(0);
+ ShowBg(1);
+ gMain.state++;
+ }
+ break;
+ case 2:
+ ResetPaletteFade();
+ ScanlineEffect_Stop();
+ ResetTasks();
+ ResetSpriteData();
+ gMain.state++;
+ break;
+ case 3:
+ LoadBgTiles(1, GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->tiles, 0x120, 0x1A2);
+ gMain.state++;
+ break;
+ case 4:
+ LoadPalette(sUnknown_0855C6A0, 0, sizeof(sUnknown_0855C6A0));
+ LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, 0x70, 0x20);
+ gMain.state++;
+ break;
+ case 5:
+ LoadPalette(sUnknown_0855C604, 0x10, sizeof(sUnknown_0855C604));
+ gMain.state++;
+ break;
+ case 6:
+ PutWindowTilemap(0);
+ DrawTextOption();
+ gMain.state++;
+ break;
+ case 7:
+ gMain.state++;
+ break;
+ case 8:
+ PutWindowTilemap(1);
+ DrawOptionMenuTexts();
+ gMain.state++;
+ case 9:
+ sub_80BB154();
+ gMain.state++;
+ break;
+ case 10:
+ {
+ u8 taskId = CreateTask(Task_OptionMenuFadeIn, 0);
+
+ gTasks[taskId].data[TD_MENUSELECTION] = 0;
+ gTasks[taskId].data[TD_TEXTSPEED] = gSaveBlock2Ptr->optionsTextSpeed;
+ gTasks[taskId].data[TD_BATTLESCENE] = gSaveBlock2Ptr->optionsBattleSceneOff;
+ gTasks[taskId].data[TD_BATTLESTYLE] = gSaveBlock2Ptr->optionsBattleStyle;
+ gTasks[taskId].data[TD_SOUND] = gSaveBlock2Ptr->optionsSound;
+ gTasks[taskId].data[TD_BUTTONMODE] = gSaveBlock2Ptr->optionsButtonMode;
+ gTasks[taskId].data[TD_FRAMETYPE] = gSaveBlock2Ptr->optionsWindowFrameType;
+
+ TextSpeed_DrawChoices(gTasks[taskId].data[TD_TEXTSPEED]);
+ BattleScene_DrawChoices(gTasks[taskId].data[TD_BATTLESCENE]);
+ BattleStyle_DrawChoices(gTasks[taskId].data[TD_BATTLESTYLE]);
+ Sound_DrawChoices(gTasks[taskId].data[TD_SOUND]);
+ ButtonMode_DrawChoices(gTasks[taskId].data[TD_BUTTONMODE]);
+ FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]);
+ HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]);
+
+ CopyWindowToVram(WIN_OPTIONS, 3);
+ gMain.state++;
+ break;
+ }
+ case 11:
+ BeginNormalPaletteFade(-1, 0, 0x10, 0, 0);
+ SetVBlankCallback(VBlankCB);
+ SetMainCallback2(MainCB2);
+ return;
+ }
+}
+
+static void Task_OptionMenuFadeIn(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ gTasks[taskId].func = Task_OptionMenuProcessInput;
+}
+
+static void Task_OptionMenuProcessInput(u8 taskId)
+{
+ if (gMain.newKeys & A_BUTTON)
+ {
+ if (gTasks[taskId].data[TD_MENUSELECTION] == MENUITEM_CANCEL)
+ gTasks[taskId].func = Task_OptionMenuSave;
+ }
+ else if (gMain.newKeys & B_BUTTON)
+ {
+ gTasks[taskId].func = Task_OptionMenuSave;
+ }
+ else if (gMain.newKeys & DPAD_UP)
+ {
+ if (gTasks[taskId].data[TD_MENUSELECTION] > 0)
+ gTasks[taskId].data[TD_MENUSELECTION]--;
+ else
+ gTasks[taskId].data[TD_MENUSELECTION] = 6;
+ HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]);
+ }
+ else if (gMain.newKeys & DPAD_DOWN)
+ {
+ if (gTasks[taskId].data[TD_MENUSELECTION] <= 5)
+ gTasks[taskId].data[TD_MENUSELECTION]++;
+ else
+ gTasks[taskId].data[TD_MENUSELECTION] = 0;
+ HighlightOptionMenuItem(gTasks[taskId].data[TD_MENUSELECTION]);
+ }
+ else
+ {
+ u8 previousOption;
+
+ switch (gTasks[taskId].data[TD_MENUSELECTION])
+ {
+ case MENUITEM_TEXTSPEED:
+ previousOption = gTasks[taskId].data[TD_TEXTSPEED];
+ gTasks[taskId].data[TD_TEXTSPEED] = TextSpeed_ProcessInput(gTasks[taskId].data[TD_TEXTSPEED]);
+
+ if (previousOption != gTasks[taskId].data[TD_TEXTSPEED])
+ TextSpeed_DrawChoices(gTasks[taskId].data[TD_TEXTSPEED]);
+ break;
+ case MENUITEM_BATTLESCENE:
+ previousOption = gTasks[taskId].data[TD_BATTLESCENE];
+ gTasks[taskId].data[TD_BATTLESCENE] = BattleScene_ProcessInput(gTasks[taskId].data[TD_BATTLESCENE]);
+
+ if (previousOption != gTasks[taskId].data[TD_BATTLESCENE])
+ BattleScene_DrawChoices(gTasks[taskId].data[TD_BATTLESCENE]);
+ break;
+ case MENUITEM_BATTLESTYLE:
+ previousOption = gTasks[taskId].data[TD_BATTLESTYLE];
+ gTasks[taskId].data[TD_BATTLESTYLE] = BattleStyle_ProcessInput(gTasks[taskId].data[TD_BATTLESTYLE]);
+
+ if (previousOption != gTasks[taskId].data[TD_BATTLESTYLE])
+ BattleStyle_DrawChoices(gTasks[taskId].data[TD_BATTLESTYLE]);
+ break;
+ case MENUITEM_SOUND:
+ previousOption = gTasks[taskId].data[TD_SOUND];
+ gTasks[taskId].data[TD_SOUND] = Sound_ProcessInput(gTasks[taskId].data[TD_SOUND]);
+
+ if (previousOption != gTasks[taskId].data[TD_SOUND])
+ Sound_DrawChoices(gTasks[taskId].data[TD_SOUND]);
+ break;
+ case MENUITEM_BUTTONMODE:
+ previousOption = gTasks[taskId].data[TD_BUTTONMODE];
+ gTasks[taskId].data[TD_BUTTONMODE] = ButtonMode_ProcessInput(gTasks[taskId].data[TD_BUTTONMODE]);
+
+ if (previousOption != gTasks[taskId].data[TD_BUTTONMODE])
+ ButtonMode_DrawChoices(gTasks[taskId].data[TD_BUTTONMODE]);
+ break;
+ case MENUITEM_FRAMETYPE:
+ previousOption = gTasks[taskId].data[TD_FRAMETYPE];
+ gTasks[taskId].data[TD_FRAMETYPE] = FrameType_ProcessInput(gTasks[taskId].data[TD_FRAMETYPE]);
+
+ if (previousOption != gTasks[taskId].data[TD_FRAMETYPE])
+ FrameType_DrawChoices(gTasks[taskId].data[TD_FRAMETYPE]);
+ break;
+ default:
+ return;
+ }
+
+ if (sArrowPressed)
+ {
+ sArrowPressed = FALSE;
+ CopyWindowToVram(WIN_OPTIONS, 2);
+ }
+ }
+}
+
+static void Task_OptionMenuSave(u8 taskId)
+{
+ gSaveBlock2Ptr->optionsTextSpeed = gTasks[taskId].data[TD_TEXTSPEED];
+ gSaveBlock2Ptr->optionsBattleSceneOff = gTasks[taskId].data[TD_BATTLESCENE];
+ gSaveBlock2Ptr->optionsBattleStyle = gTasks[taskId].data[TD_BATTLESTYLE];
+ gSaveBlock2Ptr->optionsSound = gTasks[taskId].data[TD_SOUND];
+ gSaveBlock2Ptr->optionsButtonMode = gTasks[taskId].data[TD_BUTTONMODE];
+ gSaveBlock2Ptr->optionsWindowFrameType = gTasks[taskId].data[TD_FRAMETYPE];
+
+ BeginNormalPaletteFade(-1, 0, 0, 0x10, 0);
+ gTasks[taskId].func = Task_OptionMenuFadeOut;
+}
+
+static void Task_OptionMenuFadeOut(u8 taskId)
+{
+ if (!gPaletteFade.active)
+ {
+ DestroyTask(taskId);
+ FreeAllWindowBuffers();
+ SetMainCallback2(gMain.savedCallback);
+ }
+}
+
+static void HighlightOptionMenuItem(u8 index)
+{
+ SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(16, 224));
+ SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(index * 16 + 40, index * 16 + 56));
+}
+
+static void DrawOptionMenuChoice(const u8 *text, u8 x, u8 y, u8 style)
+{
+ u8 dst[16];
+ u16 i;
+
+ for (i = 0; *text != EOS && i <= 14; i++)
+ dst[i] = *(text++);
+
+ if (style != 0)
+ {
+ dst[2] = 4;
+ dst[5] = 5;
+ }
+
+ dst[i] = EOS;
+ PrintTextOnWindow(WIN_OPTIONS, 1, dst, x, y + 1, TEXT_SPEED_FF, NULL);
+}
+
+static u8 TextSpeed_ProcessInput(u8 selection)
+{
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ if (selection <= 1)
+ selection++;
+ else
+ selection = 0;
+
+ sArrowPressed = TRUE;
+ }
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (selection != 0)
+ selection--;
+ else
+ selection = 2;
+
+ sArrowPressed = TRUE;
+ }
+ return selection;
+}
+
+static void TextSpeed_DrawChoices(u8 selection)
+{
+ u8 styles[3];
+ s32 widthSlow, widthMid, widthFast, xMid;
+
+ styles[0] = 0;
+ styles[1] = 0;
+ styles[2] = 0;
+ styles[selection] = 1;
+
+ DrawOptionMenuChoice(gText_TextSpeedSlow, 104, 0, styles[0]);
+
+ widthSlow = GetStringWidth(1, gText_TextSpeedSlow, 0);
+ widthMid = GetStringWidth(1, gText_TextSpeedMid, 0);
+ widthFast = GetStringWidth(1, gText_TextSpeedFast, 0);
+
+ widthMid -= 94;
+ xMid = (widthSlow - widthMid - widthFast) / 2 + 104;
+ DrawOptionMenuChoice(gText_TextSpeedMid, xMid, 0, styles[1]);
+
+ DrawOptionMenuChoice(gText_TextSpeedFast, GetStringRightAlignXOffset(1, gText_TextSpeedFast, 198), 0, styles[2]);
+}
+
+static u8 BattleScene_ProcessInput(u8 selection)
+{
+ if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT))
+ {
+ selection ^= 1;
+ sArrowPressed = TRUE;
+ }
+
+ return selection;
+}
+
+static void BattleScene_DrawChoices(u8 selection)
+{
+ u8 styles[2];
+
+ styles[0] = 0;
+ styles[1] = 0;
+ styles[selection] = 1;
+
+ DrawOptionMenuChoice(gText_BattleSceneOn, 104, 16, styles[0]);
+ DrawOptionMenuChoice(gText_BattleSceneOff, GetStringRightAlignXOffset(1, gText_BattleSceneOff, 198), 16, styles[1]);
+}
+
+static u8 BattleStyle_ProcessInput(u8 selection)
+{
+ if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT))
+ {
+ selection ^= 1;
+ sArrowPressed = TRUE;
+ }
+
+ return selection;
+}
+
+static void BattleStyle_DrawChoices(u8 selection)
+{
+ u8 styles[2];
+
+ styles[0] = 0;
+ styles[1] = 0;
+ styles[selection] = 1;
+
+ DrawOptionMenuChoice(gText_BattleStyleShift, 104, 32, styles[0]);
+ DrawOptionMenuChoice(gText_BattleStyleSet, GetStringRightAlignXOffset(1, gText_BattleStyleSet, 198), 32, styles[1]);
+}
+
+static u8 Sound_ProcessInput(u8 selection)
+{
+ if (gMain.newKeys & (DPAD_LEFT | DPAD_RIGHT))
+ {
+ selection ^= 1;
+ SetPokemonCryStereo(selection);
+ sArrowPressed = TRUE;
+ }
+
+ return selection;
+}
+
+static void Sound_DrawChoices(u8 selection)
+{
+ u8 styles[2];
+
+ styles[0] = 0;
+ styles[1] = 0;
+ styles[selection] = 1;
+
+ DrawOptionMenuChoice(gText_SoundMono, 104, 48, styles[0]);
+ DrawOptionMenuChoice(gText_SoundStereo, GetStringRightAlignXOffset(1, gText_SoundStereo, 198), 48, styles[1]);
+}
+
+static u8 FrameType_ProcessInput(u8 selection)
+{
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ if (selection < WINDOW_FRAMES_COUNT - 1)
+ selection++;
+ else
+ selection = 0;
+
+ LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2);
+ LoadPalette(GetWindowFrameTilesPal(selection)->pal, 0x70, 0x20);
+ sArrowPressed = TRUE;
+ }
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (selection != 0)
+ selection--;
+ else
+ selection = WINDOW_FRAMES_COUNT - 1;
+
+ LoadBgTiles(1, GetWindowFrameTilesPal(selection)->tiles, 0x120, 0x1A2);
+ LoadPalette(GetWindowFrameTilesPal(selection)->pal, 0x70, 0x20);
+ sArrowPressed = TRUE;
+ }
+ return selection;
+}
+
+static void FrameType_DrawChoices(u8 selection)
+{
+ u8 text[16];
+ u8 n = selection + 1;
+ u16 i;
+
+ for (i = 0; gText_FrameTypeNumber[i] != EOS && i <= 5; i++)
+ text[i] = gText_FrameTypeNumber[i];
+
+ // Convert a number to decimal string
+ if (n / 10 != 0)
+ {
+ text[i] = n / 10 + CHAR_0;
+ i++;
+ text[i] = n % 10 + CHAR_0;
+ i++;
+ }
+ else
+ {
+ text[i] = n % 10 + CHAR_0;
+ i++;
+ text[i] = 0x77;
+ i++;
+ }
+
+ text[i] = EOS;
+
+ DrawOptionMenuChoice(gText_FrameType, 104, 80, 0);
+ DrawOptionMenuChoice(text, 128, 80, 1);
+}
+
+static u8 ButtonMode_ProcessInput(u8 selection)
+{
+ if (gMain.newKeys & DPAD_RIGHT)
+ {
+ if (selection <= 1)
+ selection++;
+ else
+ selection = 0;
+
+ sArrowPressed = TRUE;
+ }
+ if (gMain.newKeys & DPAD_LEFT)
+ {
+ if (selection != 0)
+ selection--;
+ else
+ selection = 2;
+
+ sArrowPressed = TRUE;
+ }
+ return selection;
+}
+
+static void ButtonMode_DrawChoices(u8 selection)
+{
+ s32 widthNormal, widthLR, widthLA, xLR;
+ u8 styles[3];
+
+ styles[0] = 0;
+ styles[1] = 0;
+ styles[2] = 0;
+ styles[selection] = 1;
+
+ DrawOptionMenuChoice(gText_ButtonTypeNormal, 104, 64, styles[0]);
+
+ widthNormal = GetStringWidth(1, gText_ButtonTypeNormal, 0);
+ widthLR = GetStringWidth(1, gText_ButtonTypeLR, 0);
+ widthLA = GetStringWidth(1, gText_ButtonTypeLEqualsA, 0);
+
+ widthLR -= 94;
+ xLR = (widthNormal - widthLR - widthLA) / 2 + 104;
+ DrawOptionMenuChoice(gText_ButtonTypeLR, xLR, 64, styles[1]);
+
+ DrawOptionMenuChoice(gText_ButtonTypeLEqualsA, GetStringRightAlignXOffset(1, gText_ButtonTypeLEqualsA, 198), 64, styles[2]);
+}
+
+static void DrawTextOption(void)
+{
+ FillWindowPixelBuffer(WIN_TEXT_OPTION, 0x11);
+ PrintTextOnWindow(WIN_TEXT_OPTION, 1, gText_Option, 8, 1, TEXT_SPEED_FF, NULL);
+ CopyWindowToVram(WIN_TEXT_OPTION, 3);
+}
+
+static void DrawOptionMenuTexts(void)
+{
+ u8 i;
+
+ FillWindowPixelBuffer(WIN_OPTIONS, 0x11);
+ for (i = 0; i < MENUITEM_COUNT; i++)
+ {
+ PrintTextOnWindow(WIN_OPTIONS, 1, sOptionMenuItemsNames[i], 8, (i * 16) + 1, TEXT_SPEED_FF, NULL);
+ }
+ CopyWindowToVram(WIN_OPTIONS, 3);
+}
+
+static void sub_80BB154(void)
+{
+ // bg, tileNum, x, y, width, height, pal
+ FillBgTilemapBufferRect(1, 0x1A2, 1, 0, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A3, 2, 0, 0x1B, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A4, 28, 0, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A5, 1, 1, 1, 2, 7);
+ FillBgTilemapBufferRect(1, 0x1A7, 28, 1, 1, 2, 7);
+ FillBgTilemapBufferRect(1, 0x1A8, 1, 3, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A9, 2, 3, 0x1B, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1AA, 28, 3, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A2, 1, 4, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A3, 2, 4, 0x1A, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A4, 28, 4, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A5, 1, 5, 1, 0x12, 7);
+ FillBgTilemapBufferRect(1, 0x1A7, 28, 5, 1, 0x12, 7);
+ FillBgTilemapBufferRect(1, 0x1A8, 1, 19, 1, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1A9, 2, 19, 0x1A, 1, 7);
+ FillBgTilemapBufferRect(1, 0x1AA, 28, 19, 1, 1, 7);
+
+ CopyBgTilemapBufferToVram(1);
+}
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 737f2c6f3..573eed52b 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -419,7 +419,7 @@ static bool8 InitPokeblockMenu(void)
gMain.state++;
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
gMain.state++;
break;
case 2:
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c
index e56448d8b..a900badd1 100644
--- a/src/pokemon_summary_screen.c
+++ b/src/pokemon_summary_screen.c
@@ -75,7 +75,7 @@ extern u8 sub_81221AC();
extern void SetVBlankHBlankCallbacksToNull();
extern void ResetVramOamAndBgCntRegs();
extern void clear_scheduled_bg_copies_to_vram();
-extern void remove_some_task();
+extern void ScanlineEffect_Stop();
extern void ResetBgsAndClearDma3BusyFlags(u32 leftoverFireRedLeafGreenVariable);
extern void ShowBg(u8 a);
extern void SetGpuReg(u8 regOffset, u16 value);
@@ -455,7 +455,7 @@ bool8 sub_81BFB10(void)
gMain.state++;
break;
case 1:
- remove_some_task();
+ ScanlineEffect_Stop();
gMain.state++;
break;
case 2:
diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c
index 218ef68d7..8764daa5f 100644
--- a/src/save_failed_screen.c
+++ b/src/save_failed_screen.c
@@ -9,6 +9,7 @@
#include "menu.h"
#include "save.h"
#include "gba/flash_internal.h"
+#include "text_window.h"
#define MSG_WIN_TOP 12
#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4)
@@ -21,9 +22,7 @@ extern const u8 gBirchHelpGfx[];
extern const u8 gBirchBagTilemap[];
extern const u8 gBirchGrassTilemap[];
extern const u16 gBirchBagGrassPal[];
-extern const u16 gUnknown_0850FEFC[];
extern const u16 gUnknown_0860F074[];
-extern const u32 gUnknown_0850E87C[];
extern struct SaveSection gSaveDataBuffer;
extern u8 gText_SaveFailedCheckingBackup[];
@@ -226,7 +225,7 @@ static void CB2_SaveFailedScreen(void)
InitBgsFromTemplates(0, gUnknown_085EFD88, 3);
SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]);
CpuFill32(0, &gDecompressionBuffer[0x2000], 0x800);
- LoadBgTiles(0, gUnknown_0850E87C, 0x120, 0x214);
+ LoadBgTiles(0, gTextWindowFrame1_Gfx, 0x120, 0x214);
InitWindows(gUnknown_085EFD94);
// AddWindowWithoutTileMap returns a u16/integer, but the info is clobbered into a u8 here resulting in lost info. Bug?
gSaveFailedWindowIds[TEXT_WIN_ID] = AddWindowWithoutTileMap(gUnknown_085EFD9C);
@@ -239,7 +238,7 @@ static void CB2_SaveFailedScreen(void)
ResetPaletteFade();
LoadPalette(gBirchBagGrassPal, 0, 0x40);
LoadPalette(sSaveFailedClockPal, 0x100, 0x20);
- LoadPalette(gUnknown_0850FEFC, 0xE0, 0x20);
+ LoadPalette(gTextWindowFrame1_Pal, 0xE0, 0x20);
LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
SetWindowBorderStyle(gSaveFailedWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE);
SetWindowBorderStyle(gSaveFailedWindowIds[CLOCK_WIN_ID], FALSE, 0x214, 0xE);
diff --git a/src/starter_choose.c b/src/starter_choose.c
index 2d78af8fb..83a7b8112 100644
--- a/src/starter_choose.c
+++ b/src/starter_choose.c
@@ -53,7 +53,7 @@ extern const u8 gUnknown_085B1E0C[];
extern const u8 gUnknown_085B1E28[][2];
extern void sub_809882C(u8, u16, u8);
-extern void remove_some_task(void);
+extern void ScanlineEffect_Stop(void);
extern void clear_scheduled_bg_copies_to_vram(void);
extern void dp13_810BB8C(void);
extern void do_scheduled_bg_tilemap_copies_to_vram(void);
@@ -74,7 +74,7 @@ static void Task_MoveStarterChooseCursor(u8 taskId);
static void sub_8134668(u8 taskId);
static void CreateStarterPokemonLabel(u8 selection);
static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y);
-static void StarterPokemonSpriteCallback(struct Sprite *sprite);
+void StarterPokemonSpriteCallback(struct Sprite *sprite);
static IWRAM_DATA u16 sStarterChooseWindowId;
@@ -134,7 +134,7 @@ void CB2_ChooseStarter(void)
DeactivateAllTextPrinters();
sub_809882C(0, 0x2A8, 0xD0);
clear_scheduled_bg_copies_to_vram();
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
@@ -361,7 +361,7 @@ static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y)
return spriteId;
}
-static void sub_81346DC(struct Sprite *sprite)
+void sub_81346DC(struct Sprite *sprite)
{
sprite->pos1.x = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][0];
sprite->pos1.y = gUnknown_085B1E28[gTasks[sprite->data[0]].tStarterSelection][1];
@@ -369,7 +369,7 @@ static void sub_81346DC(struct Sprite *sprite)
sprite->data[1] = (u8)(sprite->data[1]) + 4;
}
-static void sub_813473C(struct Sprite *sprite)
+void sub_813473C(struct Sprite *sprite)
{
if (gTasks[sprite->data[0]].tStarterSelection == sprite->data[1])
StartSpriteAnimIfDifferent(sprite, 1);
@@ -377,7 +377,7 @@ static void sub_813473C(struct Sprite *sprite)
StartSpriteAnimIfDifferent(sprite, 0);
}
-static void StarterPokemonSpriteCallback(struct Sprite *sprite)
+void StarterPokemonSpriteCallback(struct Sprite *sprite)
{
//Move sprite to upper center of screen
if (sprite->pos1.x > STARTER_PKMN_POS_X)
diff --git a/src/text_window.c b/src/text_window.c
index 336536c04..33cd7cffe 100644
--- a/src/text_window.c
+++ b/src/text_window.c
@@ -3,26 +3,97 @@
#include "text_window.h"
#include "window.h"
#include "palette.h"
-
-extern u8 LoadBgTiles(u8 bg, const void *src, u16 size, u16 destOffset);
-extern void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette);
-
-extern const struct TilesPal gUnknown_0851021C[];
-extern const u32 gUnknown_08DDD748[];
-extern const u16 gUnknown_0851017C[];
-extern const u16 gUnknown_08DDD728[];
-
-const struct TilesPal* sub_8098758(u8 id)
+#include "bg.h"
+#include "graphics.h"
+
+// const rom data
+const u32 gTextWindowFrame1_Gfx[] = INCBIN_U32("graphics/text_window/1.4bpp");
+static const u32 sTextWindowFrame2_Gfx[] = INCBIN_U32("graphics/text_window/2.4bpp");
+static const u32 sTextWindowFrame3_Gfx[] = INCBIN_U32("graphics/text_window/3.4bpp");
+static const u32 sTextWindowFrame4_Gfx[] = INCBIN_U32("graphics/text_window/4.4bpp");
+static const u32 sTextWindowFrame5_Gfx[] = INCBIN_U32("graphics/text_window/5.4bpp");
+static const u32 sTextWindowFrame6_Gfx[] = INCBIN_U32("graphics/text_window/6.4bpp");
+static const u32 sTextWindowFrame7_Gfx[] = INCBIN_U32("graphics/text_window/7.4bpp");
+static const u32 sTextWindowFrame8_Gfx[] = INCBIN_U32("graphics/text_window/8.4bpp");
+static const u32 sTextWindowFrame9_Gfx[] = INCBIN_U32("graphics/text_window/9.4bpp");
+static const u32 sTextWindowFrame10_Gfx[] = INCBIN_U32("graphics/text_window/10.4bpp");
+static const u32 sTextWindowFrame11_Gfx[] = INCBIN_U32("graphics/text_window/11.4bpp");
+static const u32 sTextWindowFrame12_Gfx[] = INCBIN_U32("graphics/text_window/12.4bpp");
+static const u32 sTextWindowFrame13_Gfx[] = INCBIN_U32("graphics/text_window/13.4bpp");
+static const u32 sTextWindowFrame14_Gfx[] = INCBIN_U32("graphics/text_window/14.4bpp");
+static const u32 sTextWindowFrame15_Gfx[] = INCBIN_U32("graphics/text_window/15.4bpp");
+static const u32 sTextWindowFrame16_Gfx[] = INCBIN_U32("graphics/text_window/16.4bpp");
+static const u32 sTextWindowFrame17_Gfx[] = INCBIN_U32("graphics/text_window/17.4bpp");
+static const u32 sTextWindowFrame18_Gfx[] = INCBIN_U32("graphics/text_window/18.4bpp");
+static const u32 sTextWindowFrame19_Gfx[] = INCBIN_U32("graphics/text_window/19.4bpp");
+static const u32 sTextWindowFrame20_Gfx[] = INCBIN_U32("graphics/text_window/20.4bpp");
+
+const u16 gTextWindowFrame1_Pal[] = INCBIN_U16("graphics/text_window/1.gbapal");
+static const u16 sTextWindowFrame2_Pal[] = INCBIN_U16("graphics/text_window/2.gbapal");
+static const u16 sTextWindowFrame3_Pal[] = INCBIN_U16("graphics/text_window/3.gbapal");
+static const u16 sTextWindowFrame4_Pal[] = INCBIN_U16("graphics/text_window/4.gbapal");
+static const u16 sTextWindowFrame5_Pal[] = INCBIN_U16("graphics/text_window/5.gbapal");
+static const u16 sTextWindowFrame6_Pal[] = INCBIN_U16("graphics/text_window/6.gbapal");
+static const u16 sTextWindowFrame7_Pal[] = INCBIN_U16("graphics/text_window/7.gbapal");
+static const u16 sTextWindowFrame8_Pal[] = INCBIN_U16("graphics/text_window/8.gbapal");
+static const u16 sTextWindowFrame9_Pal[] = INCBIN_U16("graphics/text_window/9.gbapal");
+static const u16 sTextWindowFrame10_Pal[] = INCBIN_U16("graphics/text_window/10.gbapal");
+static const u16 sTextWindowFrame11_Pal[] = INCBIN_U16("graphics/text_window/11.gbapal");
+static const u16 sTextWindowFrame12_Pal[] = INCBIN_U16("graphics/text_window/12.gbapal");
+static const u16 sTextWindowFrame13_Pal[] = INCBIN_U16("graphics/text_window/13.gbapal");
+static const u16 sTextWindowFrame14_Pal[] = INCBIN_U16("graphics/text_window/14.gbapal");
+static const u16 sTextWindowFrame15_Pal[] = INCBIN_U16("graphics/text_window/15.gbapal");
+static const u16 sTextWindowFrame16_Pal[] = INCBIN_U16("graphics/text_window/16.gbapal");
+static const u16 sTextWindowFrame17_Pal[] = INCBIN_U16("graphics/text_window/17.gbapal");
+static const u16 sTextWindowFrame18_Pal[] = INCBIN_U16("graphics/text_window/18.gbapal");
+static const u16 sTextWindowFrame19_Pal[] = INCBIN_U16("graphics/text_window/19.gbapal");
+static const u16 sTextWindowFrame20_Pal[] = INCBIN_U16("graphics/text_window/20.gbapal");
+
+static const u16 sUnknown_0851017C[][16] =
{
- if (id > 19)
- return &gUnknown_0851021C[0];
+ INCBIN_U16("graphics/text_window/message_box.gbapal"),
+ INCBIN_U16("graphics/text_window/text_pal1.gbapal"),
+ INCBIN_U16("graphics/text_window/text_pal2.gbapal"),
+ INCBIN_U16("graphics/text_window/text_pal3.gbapal"),
+ INCBIN_U16("graphics/text_window/text_pal4.gbapal")
+};
+
+static const struct TilesPal sWindowFrames[WINDOW_FRAMES_COUNT] =
+{
+ {gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal},
+ {sTextWindowFrame2_Gfx, sTextWindowFrame2_Pal},
+ {sTextWindowFrame3_Gfx, sTextWindowFrame3_Pal},
+ {sTextWindowFrame4_Gfx, sTextWindowFrame4_Pal},
+ {sTextWindowFrame5_Gfx, sTextWindowFrame5_Pal},
+ {sTextWindowFrame6_Gfx, sTextWindowFrame6_Pal},
+ {sTextWindowFrame7_Gfx, sTextWindowFrame7_Pal},
+ {sTextWindowFrame8_Gfx, sTextWindowFrame8_Pal},
+ {sTextWindowFrame9_Gfx, sTextWindowFrame9_Pal},
+ {sTextWindowFrame10_Gfx, sTextWindowFrame10_Pal},
+ {sTextWindowFrame11_Gfx, sTextWindowFrame11_Pal},
+ {sTextWindowFrame12_Gfx, sTextWindowFrame12_Pal},
+ {sTextWindowFrame13_Gfx, sTextWindowFrame13_Pal},
+ {sTextWindowFrame14_Gfx, sTextWindowFrame14_Pal},
+ {sTextWindowFrame15_Gfx, sTextWindowFrame15_Pal},
+ {sTextWindowFrame16_Gfx, sTextWindowFrame16_Pal},
+ {sTextWindowFrame17_Gfx, sTextWindowFrame17_Pal},
+ {sTextWindowFrame18_Gfx, sTextWindowFrame18_Pal},
+ {sTextWindowFrame19_Gfx, sTextWindowFrame19_Pal},
+ {sTextWindowFrame20_Gfx, sTextWindowFrame20_Pal}
+};
+
+// code
+const struct TilesPal *GetWindowFrameTilesPal(u8 id)
+{
+ if (id >= WINDOW_FRAMES_COUNT)
+ return &sWindowFrames[0];
else
- return &gUnknown_0851021C[id];
+ return &sWindowFrames[id];
}
void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset)
{
- LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gUnknown_08DDD748, 0x1C0, destOffset);
+ LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gMessageBox_Gfx, 0x1C0, destOffset);
LoadPalette(GetOverworldTextboxPalettePtr(), palOffset, 0x20);
}
@@ -33,8 +104,8 @@ void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset)
void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset)
{
- LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), gUnknown_0851021C[frameId].tiles, 0x120, destOffset);
- LoadPalette(gUnknown_0851021C[frameId].pal, palOffset, 0x20);
+ LoadBgTiles(GetWindowAttribute(windowId, WINDOW_PRIORITY), sWindowFrames[frameId].tiles, 0x120, destOffset);
+ LoadPalette(sWindowFrames[frameId].pal, palOffset, 0x20);
}
void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset)
@@ -89,7 +160,7 @@ void rbox_fill_rectangle(u8 windowId)
FillBgTilemapBufferRect(bgLayer, 0, tilemapLeft - 1, tilemapTop - 1, width + 2, height + 2, 0x11);
}
-const u16* stdpal_get(u8 id)
+const u16 *stdpal_get(u8 id)
{
switch (id)
{
@@ -110,16 +181,17 @@ const u16* stdpal_get(u8 id)
id = 0x40;
break;
}
- return &gUnknown_0851017C[id];
+
+ return (const u16 *)(sUnknown_0851017C) + id;
}
-const u16* GetOverworldTextboxPalettePtr(void)
+const u16 *GetOverworldTextboxPalettePtr(void)
{
- return gUnknown_08DDD728;
+ return gMessageBox_Pal;
}
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset)
{
- LoadBgTiles(bg, gUnknown_0851021C[gSaveBlock2Ptr->optionsWindowFrameType].tiles, 0x120, destOffset);
- LoadPalette(sub_8098758(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, 0x20);
+ LoadBgTiles(bg, sWindowFrames[gSaveBlock2Ptr->optionsWindowFrameType].tiles, 0x120, destOffset);
+ LoadPalette(GetWindowFrameTilesPal(gSaveBlock2Ptr->optionsWindowFrameType)->pal, palOffset, 0x20);
}
diff --git a/src/wallclock.c b/src/wallclock.c
index ea6137c5d..dbea24b4c 100644
--- a/src/wallclock.c
+++ b/src/wallclock.c
@@ -578,7 +578,7 @@ static void LoadWallClockGraphics(void)
DeactivateAllTextPrinters();
sub_809882C(0, 0x250, 0xd0);
clear_scheduled_bg_copies_to_vram();
- remove_some_task();
+ ScanlineEffect_Stop();
ResetTasks();
ResetSpriteData();
ResetPaletteFade();
diff --git a/sym_ewram.txt b/sym_ewram.txt
index d328d8864..53df84320 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -743,8 +743,9 @@ gUnknown_02039B28: @ 2039B28
gUnknown_02039B44: @ 2039B44
.space 0x4
-gUnknown_02039B48: @ 2039B48
- .space 0x4
+ .include "src/option_menu.o"
+
+ .align 2
gUnknown_02039B4C: @ 2039B4C
.space 0x4