summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/data/field_event_obj/event_object_graphics.h362
-rwxr-xr-xsrc/data/object_event/event_object_graphics.h2
-rwxr-xr-xsrc/data/object_event/field_effect_object_template_pointers.h4
-rwxr-xr-xsrc/data/object_event/field_effect_objects.h40
-rw-r--r--src/data/trade.h37
-rw-r--r--src/decoration.c10
-rw-r--r--src/egg_hatch.c2
-rw-r--r--src/event_object_lock.c8
-rw-r--r--src/field_control_avatar.c8
-rw-r--r--src/field_effect.c286
-rw-r--r--src/field_player_avatar.c6
-rw-r--r--src/field_screen_effect.c257
-rw-r--r--src/field_special_scene.c14
-rw-r--r--src/field_specials.c2
-rwxr-xr-xsrc/item_use.c2
-rw-r--r--src/move_relearner.c2
-rw-r--r--src/overworld.c22
-rwxr-xr-xsrc/party_menu.c6
-rw-r--r--src/player_pc.c6
-rw-r--r--src/pokeblock.c2
-rw-r--r--src/pokemon_storage_system.c2
-rw-r--r--src/record_mixing.c2
-rw-r--r--src/region_map.c2
-rw-r--r--src/roulette.c2
-rw-r--r--src/scrcmd.c6
-rw-r--r--src/secret_base.c6
-rwxr-xr-xsrc/shop.c2
-rw-r--r--src/start_menu.c44
-rw-r--r--src/trade.c242
-rw-r--r--src/union_room.c6
-rw-r--r--src/walda_phrase.c2
31 files changed, 799 insertions, 595 deletions
diff --git a/src/data/field_event_obj/event_object_graphics.h b/src/data/field_event_obj/event_object_graphics.h
new file mode 100755
index 000000000..1702392ca
--- /dev/null
+++ b/src/data/field_event_obj/event_object_graphics.h
@@ -0,0 +1,362 @@
+const u32 gEventObjectPic_BrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/walking.4bpp");
+const u32 gEventObjectPic_BrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/running.4bpp");
+const u16 gEventObjectPalette8[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_08.gbapal");
+const u32 gEventObjectPic_RubySapphireBrendanNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/walking.4bpp");
+const u32 gEventObjectPic_RubySapphireBrendanRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_brendan/running.4bpp");
+const u16 gEventObjectPalette33[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_33.gbapal");
+const u16 NullPalette_8499A38[16] = {};
+const u16 NullPalette_8499A58[16] = {};
+const u16 NullPalette_8499A78[16] = {};
+const u16 NullPalette_8499A98[16] = {};
+const u16 NullPalette_8499AB8[16] = {};
+const u16 NullPalette_8499AD8[16] = {};
+const u16 NullPalette_8499AF8[16] = {};
+const u16 NullPalette_8499B18[16] = {};
+const u16 NullPalette_8499B38[16] = {};
+const u16 NullPalette_8499B58[16] = {};
+const u16 NullPalette_8499B78[16] = {};
+const u16 NullPalette_8499B98[16] = {};
+const u16 NullPalette_8499BB8[16] = {};
+const u16 NullPalette_8499BD8[16] = {};
+const u16 NullPalette_8499BF8[16] = {};
+const u16 gEventObjectPalette9[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_09.gbapal");
+const u16 gEventObjectPalette10[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_10.gbapal");
+const u32 gEventObjectPic_BrendanFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/field_move.4bpp");
+const u32 gEventObjectPic_BrendanSurfing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/surfing.4bpp");
+const u32 gEventObjectPic_BrendanMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/mach_bike.4bpp");
+const u32 gEventObjectPic_BrendanAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/acro_bike.4bpp");
+const u32 gEventObjectPic_BrendanFishing[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/fishing.4bpp");
+const u32 gEventObjectPic_BrendanWatering[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/watering.4bpp");
+const u32 gEventObjectPic_BrendanDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/decorating.4bpp");
+const u32 gEventObjectPic_MayDecorating[] = INCBIN_U32("graphics/event_objects/pics/people/may/decorating.4bpp");
+const u32 gEventObjectPic_BrendanUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/brendan/underwater.4bpp");
+const u32 gEventObjectPic_MayUnderwater[] = INCBIN_U32("graphics/event_objects/pics/people/may/underwater.4bpp");
+const u16 gEventObjectPalette11[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_11.gbapal");
+const u32 gEventObjectPic_MayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/may/walking.4bpp");
+const u32 gEventObjectPic_MayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/may/running.4bpp");
+const u16 gEventObjectPalette17[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_17.gbapal");
+const u16 gEventObjectPalette18[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_18.gbapal");
+const u32 gEventObjectPic_RubySapphireMayNormal[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/walking.4bpp");
+const u32 gEventObjectPic_RubySapphireMayRunning[] = INCBIN_U32("graphics/event_objects/pics/people/ruby_sapphire_may/running.4bpp");
+const u16 gEventObjectPalette34[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_34.gbapal");
+const u16 gUnusedEventObjectPalette[] = INCBIN_U16("graphics/event_objects/palettes/unused_palette.gbapal");
+const u16 NullPalette_84A54F8[16] = {};
+const u16 NullPalette_84A5518[16] = {};
+const u16 NullPalette_84A5538[16] = {};
+const u16 NullPalette_84A5558[16] = {};
+const u16 NullPalette_84A5578[16] = {};
+const u16 NullPalette_84A5598[16] = {};
+const u16 NullPalette_84A55B8[16] = {};
+const u16 NullPalette_84A55D8[16] = {};
+const u16 NullPalette_84A55F8[16] = {};
+const u16 NullPalette_84A5618[16] = {};
+const u16 NullPalette_84A5638[16] = {};
+const u16 NullPalette_84A5658[16] = {};
+const u16 NullPalette_84A5678[16] = {};
+const u16 NullPalette_84A5698[16] = {};
+const u32 gEventObjectPic_MayMachBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/mach_bike.4bpp");
+const u32 gEventObjectPic_MayAcroBike[] = INCBIN_U32("graphics/event_objects/pics/people/may/acro_bike.4bpp");
+const u32 gEventObjectPic_MaySurfing[] = INCBIN_U32("graphics/event_objects/pics/people/may/surfing.4bpp");
+const u32 gEventObjectPic_MayFieldMove[] = INCBIN_U32("graphics/event_objects/pics/people/may/field_move.4bpp");
+const u32 gEventObjectPic_MayFishing[] = INCBIN_U32("graphics/event_objects/pics/people/may/fishing.4bpp");
+const u32 gEventObjectPic_MayWatering[] = INCBIN_U32("graphics/event_objects/pics/people/may/watering.4bpp");
+const u16 gEventObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_00.gbapal");
+const u16 gEventObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_01.gbapal");
+const u16 gEventObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_02.gbapal");
+const u16 gEventObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_03.gbapal");
+const u16 gEventObjectPalette4[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_04.gbapal");
+const u16 gEventObjectPalette5[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_05.gbapal");
+const u16 gEventObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_06.gbapal");
+const u16 gEventObjectPalette7[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_07.gbapal");
+const u32 gEventObjectPic_NinjaBoy[] = INCBIN_U32("graphics/event_objects/pics/people/ninja_boy.4bpp");
+const u32 gEventObjectPic_Twin[] = INCBIN_U32("graphics/event_objects/pics/people/twin.4bpp");
+const u32 gEventObjectPic_Boy1[] = INCBIN_U32("graphics/event_objects/pics/people/boy_1.4bpp");
+const u32 gEventObjectPic_Girl1[] = INCBIN_U32("graphics/event_objects/pics/people/girl_1.4bpp");
+const u32 gEventObjectPic_Boy2[] = INCBIN_U32("graphics/event_objects/pics/people/boy_2.4bpp");
+const u32 gEventObjectPic_Girl2[] = INCBIN_U32("graphics/event_objects/pics/people/girl_2.4bpp");
+const u32 gEventObjectPic_LittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/little_boy.4bpp");
+const u32 gEventObjectPic_LittleGirl[] = INCBIN_U32("graphics/event_objects/pics/people/little_girl.4bpp");
+const u32 gEventObjectPic_Boy3[] = INCBIN_U32("graphics/event_objects/pics/people/boy_3.4bpp");
+const u32 gEventObjectPic_Girl3[] = INCBIN_U32("graphics/event_objects/pics/people/girl_3.4bpp");
+const u32 gEventObjectPic_RichBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rich_boy.4bpp");
+const u32 gEventObjectPic_Woman1[] = INCBIN_U32("graphics/event_objects/pics/people/woman_1.4bpp");
+const u32 gEventObjectPic_FatMan[] = INCBIN_U32("graphics/event_objects/pics/people/fat_man.4bpp");
+const u32 gEventObjectPic_PokefanF[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_f.4bpp");
+const u32 gEventObjectPic_Man1[] = INCBIN_U32("graphics/event_objects/pics/people/man_1.4bpp");
+const u32 gEventObjectPic_Woman2[] = INCBIN_U32("graphics/event_objects/pics/people/woman_2.4bpp");
+const u32 gEventObjectPic_ExpertM[] = INCBIN_U32("graphics/event_objects/pics/people/expert_m.4bpp");
+const u32 gEventObjectPic_ExpertF[] = INCBIN_U32("graphics/event_objects/pics/people/expert_f.4bpp");
+const u32 gEventObjectPic_Man2[] = INCBIN_U32("graphics/event_objects/pics/people/man_2.4bpp");
+const u32 gEventObjectPic_Woman3[] = INCBIN_U32("graphics/event_objects/pics/people/woman_3.4bpp");
+const u32 gEventObjectPic_PokefanM[] = INCBIN_U32("graphics/event_objects/pics/people/pokefan_m.4bpp");
+const u32 gEventObjectPic_Woman4[] = INCBIN_U32("graphics/event_objects/pics/people/woman_4.4bpp");
+const u32 gEventObjectPic_Cook[] = INCBIN_U32("graphics/event_objects/pics/people/cook.4bpp");
+const u32 gEventObjectPic_LinkReceptionist[] = INCBIN_U32("graphics/event_objects/pics/people/link_receptionist.4bpp");
+const u32 gEventObjectPic_OldMan[] = INCBIN_U32("graphics/event_objects/pics/people/old_man.4bpp");
+const u32 gEventObjectPic_OldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/old_woman.4bpp");
+const u32 gEventObjectPic_Camper[] = INCBIN_U32("graphics/event_objects/pics/people/camper.4bpp");
+const u32 gEventObjectPic_Picnicker[] = INCBIN_U32("graphics/event_objects/pics/people/picnicker.4bpp");
+const u32 gEventObjectPic_Man3[] = INCBIN_U32("graphics/event_objects/pics/people/man_3.4bpp");
+const u32 gEventObjectPic_Woman5[] = INCBIN_U32("graphics/event_objects/pics/people/woman_5.4bpp");
+const u32 gEventObjectPic_Youngster[] = INCBIN_U32("graphics/event_objects/pics/people/youngster.4bpp");
+const u32 gEventObjectPic_BugCatcher[] = INCBIN_U32("graphics/event_objects/pics/people/bug_catcher.4bpp");
+const u32 gEventObjectPic_PsychicM[] = INCBIN_U32("graphics/event_objects/pics/people/psychic_m.4bpp");
+const u32 gEventObjectPic_SchoolKidM[] = INCBIN_U32("graphics/event_objects/pics/people/school_kid_m.4bpp");
+const u32 gEventObjectPic_Maniac[] = INCBIN_U32("graphics/event_objects/pics/people/maniac.4bpp");
+const u32 gEventObjectPic_HexManiac[] = INCBIN_U32("graphics/event_objects/pics/people/hex_maniac.4bpp");
+const u32 gEventObjectPic_UnusedWoman[] = INCBIN_U32("graphics/event_objects/pics/people/unused_woman.4bpp");
+const u32 gEventObjectPic_SwimmerM[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_m.4bpp");
+const u32 gEventObjectPic_SwimmerF[] = INCBIN_U32("graphics/event_objects/pics/people/swimmer_f.4bpp");
+const u32 gEventObjectPic_BlackBelt[] = INCBIN_U32("graphics/event_objects/pics/people/black_belt.4bpp");
+const u32 gEventObjectPic_Beauty[] = INCBIN_U32("graphics/event_objects/pics/people/beauty.4bpp");
+const u32 gEventObjectPic_Scientist1[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_1.4bpp");
+const u32 gEventObjectPic_Lass[] = INCBIN_U32("graphics/event_objects/pics/people/lass.4bpp");
+const u32 gEventObjectPic_Gentleman[] = INCBIN_U32("graphics/event_objects/pics/people/gentleman.4bpp");
+const u32 gEventObjectPic_Sailor[] = INCBIN_U32("graphics/event_objects/pics/people/sailor.4bpp");
+const u32 gEventObjectPic_Fisherman[] = INCBIN_U32("graphics/event_objects/pics/people/fisherman.4bpp");
+const u32 gEventObjectPic_RunningTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_m.4bpp");
+const u32 gEventObjectPic_RunningTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/running_triathlete_f.4bpp");
+const u32 gEventObjectPic_TuberF[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_f.4bpp");
+const u32 gEventObjectPic_TuberM[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m.4bpp");
+const u32 gEventObjectPic_Hiker[] = INCBIN_U32("graphics/event_objects/pics/people/hiker.4bpp");
+const u32 gEventObjectPic_CyclingTriathleteM[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_m.4bpp");
+const u32 gEventObjectPic_CyclingTriathleteF[] = INCBIN_U32("graphics/event_objects/pics/people/cycling_triathlete_f.4bpp");
+const u32 gEventObjectPic_Man4[] = INCBIN_U32("graphics/event_objects/pics/people/man_4.4bpp");
+const u32 gEventObjectPic_Man5[] = INCBIN_U32("graphics/event_objects/pics/people/man_5.4bpp");
+const u32 gEventObjectPic_Nurse[] = INCBIN_U32("graphics/event_objects/pics/people/nurse.4bpp");
+const u32 gEventObjectPic_ItemBall[] = INCBIN_U32("graphics/event_objects/pics/misc/item_ball.4bpp");
+const u32 gEventObjectPic_ProfBirch[] = INCBIN_U32("graphics/event_objects/pics/people/prof_birch.4bpp");
+const u32 gEventObjectPic_ReporterM[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_m.4bpp");
+const u32 gEventObjectPic_ReporterF[] = INCBIN_U32("graphics/event_objects/pics/people/reporter_f.4bpp");
+const u32 gEventObjectPic_MauvilleOldMan1[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_1.4bpp");
+const u32 gEventObjectPic_MauvilleOldMan2[] = INCBIN_U32("graphics/event_objects/pics/people/mauville_old_man_2.4bpp");
+const u32 gEventObjectPic_MartEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/mart_employee.4bpp");
+const u32 gEventObjectPic_RooftopSaleWoman[] = INCBIN_U32("graphics/event_objects/pics/people/rooftop_sale_woman.4bpp");
+const u32 gEventObjectPic_Teala[] = INCBIN_U32("graphics/event_objects/pics/people/teala.4bpp");
+const u32 gEventObjectPic_Artist[] = INCBIN_U32("graphics/event_objects/pics/people/artist.4bpp");
+const u32 gEventObjectPic_Cameraman[] = INCBIN_U32("graphics/event_objects/pics/people/cameraman.4bpp");
+const u32 gEventObjectPic_Scientist2[] = INCBIN_U32("graphics/event_objects/pics/people/scientist_2.4bpp");
+const u32 gEventObjectPic_DevonEmployee[] = INCBIN_U32("graphics/event_objects/pics/people/devon_employee.4bpp");
+const u32 gEventObjectPic_AquaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_m.4bpp");
+const u32 gEventObjectPic_AquaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/aqua_member_f.4bpp");
+const u32 gEventObjectPic_MagmaMemberM[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_m.4bpp");
+const u32 gEventObjectPic_MagmaMemberF[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/magma_member_f.4bpp");
+const u32 gEventObjectPic_Sidney[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/sidney.4bpp");
+const u32 gEventObjectPic_Phoebe[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/phoebe.4bpp");
+const u32 gEventObjectPic_Glacia[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/glacia.4bpp");
+const u32 gEventObjectPic_Drake[] = INCBIN_U32("graphics/event_objects/pics/people/elite_four/drake.4bpp");
+const u32 gEventObjectPic_Roxanne[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/roxanne.4bpp");
+const u32 gEventObjectPic_Brawly[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/brawly.4bpp");
+const u32 gEventObjectPic_Wattson[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/wattson.4bpp");
+const u32 gEventObjectPic_Flannery[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/flannery.4bpp");
+const u32 gEventObjectPic_Norman[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/norman.4bpp");
+const u32 gEventObjectPic_Winona[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/winona.4bpp");
+const u32 gEventObjectPic_Liza[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/liza.4bpp");
+const u32 gEventObjectPic_Tate[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/tate.4bpp");
+const u32 gEventObjectPic_Wallace[] = INCBIN_U32("graphics/event_objects/pics/people/wallace.4bpp");
+const u32 gEventObjectPic_Steven[] = INCBIN_U32("graphics/event_objects/pics/people/steven.4bpp");
+const u32 gEventObjectPic_Wally[] = INCBIN_U32("graphics/event_objects/pics/people/wally.4bpp");
+const u32 gEventObjectPic_RubySapphireLittleBoy[] = INCBIN_U32("graphics/event_objects/pics/people/rs_little_boy.4bpp");
+const u32 gEventObjectPic_HotSpringsOldWoman[] = INCBIN_U32("graphics/event_objects/pics/people/hot_springs_old_woman.4bpp");
+const u32 gEventObjectPic_LatiasLatios[] = INCBIN_U32("graphics/event_objects/pics/pokemon/latias_latios.4bpp");
+const u32 gEventObjectPic_GameboyKid[] = INCBIN_U32("graphics/event_objects/pics/people/gameboy_kid.4bpp");
+const u32 gEventObjectPic_ContestJudge[] = INCBIN_U32("graphics/event_objects/pics/people/contest_judge.4bpp");
+const u32 gEventObjectPic_Archie[] = INCBIN_U32("graphics/event_objects/pics/people/team_aqua/archie.4bpp");
+const u32 gEventObjectPic_Maxie[] = INCBIN_U32("graphics/event_objects/pics/people/team_magma/maxie.4bpp");
+const u32 gEventObjectPic_Kyogre[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kyogre.4bpp");
+const u32 gEventObjectPic_Groudon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/groudon.4bpp");
+const u32 gEventObjectPic_Regi[] = INCBIN_U32("graphics/event_objects/pics/pokemon/regi.4bpp");
+const u32 gEventObjectPic_Skitty[] = INCBIN_U32("graphics/event_objects/pics/pokemon/skitty.4bpp");
+const u32 gEventObjectPic_Kecleon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kecleon.4bpp");
+const u32 gEventObjectPic_Rayquaza[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza.4bpp");
+const u32 gEventObjectPic_RayquazaStill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/rayquaza_still.4bpp");
+const u32 gEventObjectPic_Zigzagoon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/zigzagoon.4bpp");
+const u32 gEventObjectPic_Pikachu[] = INCBIN_U32("graphics/event_objects/pics/pokemon/pikachu.4bpp");
+const u32 gEventObjectPic_Azumarill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azumarill.4bpp");
+const u32 gEventObjectPic_Wingull[] = INCBIN_U32("graphics/event_objects/pics/pokemon/wingull.4bpp");
+const u32 gEventObjectPic_TuberMSwimming[] = INCBIN_U32("graphics/event_objects/pics/people/tuber_m_swimming.4bpp");
+const u32 gEventObjectPic_Azurill[] = INCBIN_U32("graphics/event_objects/pics/pokemon/azurill.4bpp");
+const u32 gEventObjectPic_Mom[] = INCBIN_U32("graphics/event_objects/pics/people/mom.4bpp");
+const u16 gEventObjectPalette22[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_22.gbapal");
+const u16 gEventObjectPalette23[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_23.gbapal");
+const u16 gEventObjectPalette24[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_24.gbapal");
+const u16 gEventObjectPalette25[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_25.gbapal");
+const u32 gEventObjectPic_UnusedNatuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_natu_doll.4bpp");
+const u32 gEventObjectPic_UnusedMagnemiteDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_magnemite_doll.4bpp");
+const u32 gEventObjectPic_UnusedSquirtleDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_squirtle_doll.4bpp");
+const u32 gEventObjectPic_UnusedWooperDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_wooper_doll.4bpp");
+const u32 gEventObjectPic_UnusedPikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_pikachu_doll.4bpp");
+const u32 gEventObjectPic_UnusedPorygon2Doll[] = INCBIN_U32("graphics/event_objects/pics/dolls/unused_porygon2_doll.4bpp");
+const u32 gEventObjectPic_PichuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pichu_doll.4bpp");
+const u32 gEventObjectPic_PikachuDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/pikachu_doll.4bpp");
+const u32 gEventObjectPic_MarillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/marill_doll.4bpp");
+const u32 gEventObjectPic_TogepiDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/togepi_doll.4bpp");
+const u32 gEventObjectPic_CyndaquilDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/cyndaquil_doll.4bpp");
+const u32 gEventObjectPic_ChikoritaDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/chikorita_doll.4bpp");
+const u32 gEventObjectPic_TotodileDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/totodile_doll.4bpp");
+const u32 gEventObjectPic_JigglypuffDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/jigglypuff_doll.4bpp");
+const u32 gEventObjectPic_MeowthDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/meowth_doll.4bpp");
+const u32 gEventObjectPic_ClefairyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/clefairy_doll.4bpp");
+const u32 gEventObjectPic_DittoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/ditto_doll.4bpp");
+const u32 gEventObjectPic_SmoochumDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/smoochum_doll.4bpp");
+const u32 gEventObjectPic_TreeckoDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/treecko_doll.4bpp");
+const u32 gEventObjectPic_TorchicDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/torchic_doll.4bpp");
+const u32 gEventObjectPic_MudkipDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/mudkip_doll.4bpp");
+const u32 gEventObjectPic_DuskullDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/duskull_doll.4bpp");
+const u32 gEventObjectPic_WynautDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/wynaut_doll.4bpp");
+const u32 gEventObjectPic_BaltoyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/baltoy_doll.4bpp");
+const u32 gEventObjectPic_KecleonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/kecleon_doll.4bpp");
+const u32 gEventObjectPic_AzurillDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/azurill_doll.4bpp");
+const u32 gEventObjectPic_SkittyDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/skitty_doll.4bpp");
+const u32 gEventObjectPic_SwabluDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/swablu_doll.4bpp");
+const u32 gEventObjectPic_GulpinDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/gulpin_doll.4bpp");
+const u32 gEventObjectPic_LotadDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/lotad_doll.4bpp");
+const u32 gEventObjectPic_SeedotDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/seedot_doll.4bpp");
+const u32 gEventObjectPic_PikaCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/pika_cushion.4bpp");
+const u32 gEventObjectPic_RoundCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/round_cushion.4bpp");
+const u32 gEventObjectPic_KissCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/kiss_cushion.4bpp");
+const u32 gEventObjectPic_ZigzagCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/zigzag_cushion.4bpp");
+const u32 gEventObjectPic_SpinCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/spin_cushion.4bpp");
+const u32 gEventObjectPic_DiamondCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/diamond_cushion.4bpp");
+const u32 gEventObjectPic_BallCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/ball_cushion.4bpp");
+const u32 gEventObjectPic_GrassCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/grass_cushion.4bpp");
+const u32 gEventObjectPic_FireCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/fire_cushion.4bpp");
+const u32 gEventObjectPic_WaterCushion[] = INCBIN_U32("graphics/event_objects/pics/cushions/water_cushion.4bpp");
+const u32 gEventObjectPic_BigSnorlaxDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_snorlax_doll.4bpp");
+const u32 gEventObjectPic_BigRhydonDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_rhydon_doll.4bpp");
+const u32 gEventObjectPic_BigLaprasDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_lapras_doll.4bpp");
+const u32 gEventObjectPic_BigVenusaurDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_venusaur_doll.4bpp");
+const u32 gEventObjectPic_BigCharizardDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_charizard_doll.4bpp");
+const u32 gEventObjectPic_BigBlastoiseDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_blastoise_doll.4bpp");
+const u32 gEventObjectPic_BigWailmerDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_wailmer_doll.4bpp");
+const u32 gEventObjectPic_BigRegirockDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regirock_doll.4bpp");
+const u32 gEventObjectPic_BigRegiceDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_regice_doll.4bpp");
+const u32 gEventObjectPic_BigRegisteelDoll[] = INCBIN_U32("graphics/event_objects/pics/dolls/big_registeel_doll.4bpp");
+const u32 gEventObjectPic_CuttableTree[] = INCBIN_U32("graphics/event_objects/pics/misc/cuttable_tree.4bpp");
+const u32 gEventObjectPic_BreakableRock[] = INCBIN_U32("graphics/event_objects/pics/misc/breakable_rock.4bpp");
+const u32 gEventObjectPic_PushableBoulder[] = INCBIN_U32("graphics/event_objects/pics/misc/pushable_boulder.4bpp");
+const u32 gEventObjectPic_MrBrineysBoat[] = INCBIN_U32("graphics/event_objects/pics/misc/mr_brineys_boat.4bpp");
+const u32 gEventObjectPic_Fossil[] = INCBIN_U32("graphics/event_objects/pics/misc/fossil.4bpp");
+const u32 gEventObjectPic_SubmarineShadow[] = INCBIN_U32("graphics/event_objects/pics/misc/submarine_shadow.4bpp");
+const u16 gEventObjectPalette26[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_26.gbapal");
+const u32 gEventObjectPic_Truck[] = INCBIN_U32("graphics/event_objects/pics/misc/truck.4bpp");
+const u16 gEventObjectPalette14[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_14.gbapal");
+const u32 gEventObjectPic_Vigoroth[] = INCBIN_U32("graphics/event_objects/pics/pokemon/vigoroth.4bpp");
+const u16 gEventObjectPalette15[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_15.gbapal");
+const u32 gEventObjectPic_BirchsBag[] = INCBIN_U32("graphics/event_objects/pics/misc/birchs_bag.4bpp");
+const u32 gEventObjectPic_EnemyZigzagoon[] = INCBIN_U32("graphics/event_objects/pics/pokemon/enemy_zigzagoon.4bpp");
+const u16 gEventObjectPalette16[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_16.gbapal");
+const u32 gEventObjectPic_Poochyena[] = INCBIN_U32("graphics/event_objects/pics/pokemon/poochyena.4bpp");
+const u16 gEventObjectPalette27[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_27.gbapal");
+const u32 gEventObjectPic_CableCar[] = INCBIN_U32("graphics/event_objects/pics/misc/cable_car.4bpp");
+const u16 gEventObjectPalette20[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_20.gbapal");
+const u32 gEventObjectPic_SSTidal[] = INCBIN_U32("graphics/event_objects/pics/misc/ss_tidal.4bpp");
+const u16 gEventObjectPalette21[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_21.gbapal");
+const u32 gFieldEffectObjectPic_BerryTreeGrowthSparkle[] = INCBIN_U32("graphics/event_objects/pics/effects/berry_tree_growth_sparkle.4bpp");
+const u32 gEventObjectPic_BerryTreeDirtPile[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/dirt_pile.4bpp");
+const u32 gEventObjectPic_BerryTreeSprout[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sprout.4bpp");
+const u32 gEventObjectPic_PechaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pecha.4bpp");
+const u32 gEventObjectPic_KelpsyBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/kelpsy.4bpp");
+const u32 gEventObjectPic_WepearBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wepear.4bpp");
+const u32 gEventObjectPic_IapapaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/iapapa.4bpp");
+const u32 gEventObjectPic_CheriBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cheri.4bpp");
+const u32 gEventObjectPic_FigyBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/figy.4bpp");
+const u32 gEventObjectPic_MagoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/mago.4bpp");
+const u32 gEventObjectPic_LumBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lum.4bpp");
+const u32 gEventObjectPic_RazzBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/razz.4bpp");
+const u32 gEventObjectPic_GrepaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/grepa.4bpp");
+const u32 gEventObjectPic_RabutaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rabuta.4bpp");
+const u32 gEventObjectPic_NomelBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/nomel.4bpp");
+const u32 gEventObjectPic_LeppaBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/leppa.4bpp");
+const u32 gEventObjectPic_LiechiBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/liechi.4bpp");
+const u32 gEventObjectPic_HondewBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/hondew.4bpp");
+const u32 gEventObjectPic_AguavBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aguav.4bpp");
+const u32 gEventObjectPic_WikiBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/wiki.4bpp");
+const u32 gEventObjectPic_PomegBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pomeg.4bpp");
+const u32 gEventObjectPic_RawstBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/rawst.4bpp");
+const u32 gEventObjectPic_SpelonBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/spelon.4bpp");
+const u32 gEventObjectPic_ChestoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/chesto.4bpp");
+const u32 gEventObjectPic_OranBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/oran.4bpp");
+const u32 gEventObjectPic_PersimBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/persim.4bpp");
+const u32 gEventObjectPic_SitrusBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/sitrus.4bpp");
+const u32 gEventObjectPic_AspearBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/aspear.4bpp");
+const u32 gEventObjectPic_PamtreBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/pamtre.4bpp");
+const u32 gEventObjectPic_CornnBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/cornn.4bpp");
+const u32 gEventObjectPic_LansatBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/lansat.4bpp");
+const u32 gEventObjectPic_DurinBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/durin.4bpp");
+const u32 gEventObjectPic_TamatoBerryTree[] = INCBIN_U32("graphics/event_objects/pics/berry_trees/tamato.4bpp");
+const u32 gFieldEffectObjectPic_SurfBlob[] = INCBIN_U32("graphics/event_objects/pics/effects/surf_blob.4bpp");
+const u32 gEventObjectPic_QuintyPlump[] = INCBIN_U32("graphics/event_objects/pics/people/quinty_plump.4bpp");
+const u16 gEventObjectPalette12[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_12.gbapal");
+const u16 gEventObjectPalette13[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_13.gbapal");
+const u32 gFieldEffectObjectPic_ShadowSmall[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_small.4bpp");
+const u32 gFieldEffectObjectPic_ShadowMedium[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_medium.4bpp");
+const u32 gFieldEffectObjectPic_ShadowLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_large.4bpp");
+const u32 gFieldEffectObjectPic_ShadowExtraLarge[] = INCBIN_U32("graphics/event_objects/pics/effects/shadow_extra_large.4bpp");
+const u32 filler_8368A08[0x48] = {};
+const u8 gFieldEffectPic_CutGrass[] = INCBIN_U8("graphics/event_objects/pics/effects/cut_grass.4bpp");
+const u32 gFieldEffectPic_CutGrass_Copy[] = INCBIN_U32("graphics/event_objects/pics/effects/cut_grass.4bpp");
+const u16 gFieldEffectObjectPalette6[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_06.gbapal");
+const u32 gFieldEffectObjectPic_Ripple[] = INCBIN_U32("graphics/event_objects/pics/effects/ripple.4bpp");
+const u32 gFieldEffectObjectPic_Ash[] = INCBIN_U32("graphics/event_objects/pics/effects/ash.4bpp");
+const u32 gFieldEffectObjectPic_Arrow[] = INCBIN_U32("graphics/event_objects/pics/effects/arrow.4bpp");
+const u16 gFieldEffectObjectPalette0[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_00.gbapal");
+const u16 gFieldEffectObjectPalette1[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_01.gbapal");
+const u32 gFieldEffectObjectPic_GroundImpactDust[] = INCBIN_U32("graphics/event_objects/pics/effects/ground_impact_dust.4bpp");
+const u32 gFieldEffectObjectPic_BikeHopTallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_tall_grass.4bpp");
+const u32 gUnusedGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/unused_grass.4bpp");
+const u32 gFieldEffectObjectPic_Unknown16[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_16.4bpp");
+const u32 gFieldEffectObjectPic_Unknown17[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_17.4bpp");
+const u32 gFieldEffectObjectPic_Unknown18[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_18.4bpp");
+const u32 gFieldEffectObjectPic_LongGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/long_grass.4bpp");
+const u32 gFieldEffectObjectPic_TallGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/tall_grass.4bpp");
+const u32 gFieldEffectObjectPic_ShortGrass[] = INCBIN_U32("graphics/event_objects/pics/effects/short_grass.4bpp");
+const u32 gFieldEffectObjectPic_SandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_footprints.4bpp");
+const u32 gFieldEffectObjectPic_DeepSandFootprints[] = INCBIN_U32("graphics/event_objects/pics/effects/deep_sand_footprints.4bpp");
+const u32 gFieldEffectObjectPic_BikeTireTracks[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_tire_tracks.4bpp");
+const u32 gFieldEffectObjectPic_Unknown19[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_19.4bpp");
+const u32 gFieldEffectObjectPic_Unknown29[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_29.4bpp");
+const u32 gFieldEffectObjectPic_BikeHopBigSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_big_splash.4bpp");
+const u32 gFieldEffectObjectPic_Splash[] = INCBIN_U32("graphics/event_objects/pics/effects/splash.4bpp");
+const u32 gFieldEffectObjectPic_BikeHopSmallSplash[] = INCBIN_U32("graphics/event_objects/pics/effects/bike_hop_small_splash.4bpp");
+const u32 gFieldEffectObjectPic_Unknown20[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_20.4bpp");
+const u32 gFieldEffectObjectPic_TreeDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/tree_disguise.4bpp");
+const u32 gFieldEffectObjectPic_MountainDisguise[] = INCBIN_U32("graphics/event_objects/pics/effects/mountain_disguise.4bpp");
+const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics/event_objects/pics/effects/sand_disguise_placeholder.4bpp");
+const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/event_objects/pics/effects/hot_springs_water.4bpp");
+const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_02.gbapal");
+const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/event_objects/pics/effects/jump_out_of_ash.4bpp");
+const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/event_objects/pics/effects/lavaridge_gym_warp.4bpp");
+const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/event_objects/pics/effects/bubbles.4bpp");
+const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/event_objects/pics/effects/unknown_35.4bpp");
+const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/event_objects/palettes/field_effect_object_palette_03.gbapal");
+const u32 gFieldEffectObjectPic_Bird[] = INCBIN_U32("graphics/event_objects/pics/effects/bird.4bpp");
+const u32 gEventObjectPic_Juan[] = INCBIN_U32("graphics/event_objects/pics/people/gym_leaders/juan.4bpp");
+const u32 gEventObjectPic_Scott[] = INCBIN_U32("graphics/event_objects/pics/people/scott.4bpp");
+const u32 gEventObjectPic_Statue[] = INCBIN_U32("graphics/event_objects/pics/misc/statue.4bpp");
+const u32 gEventObjectPic_Kirlia[] = INCBIN_U32("graphics/event_objects/pics/pokemon/kirlia.4bpp");
+const u32 gEventObjectPic_Dusclops[] = INCBIN_U32("graphics/event_objects/pics/pokemon/dusclops.4bpp");
+const u32 gEventObjectPic_MysteryEventDeliveryman[] = INCBIN_U32("graphics/event_objects/pics/people/mystery_event_deliveryman.4bpp");
+const u32 gEventObjectPic_UnionRoomAttendant[] = INCBIN_U32("graphics/event_objects/pics/people/union_room_attendant.4bpp");
+const u32 gEventObjectPic_MovingBox[] = INCBIN_U32("graphics/event_objects/pics/misc/moving_box.4bpp");
+const u16 gEventObjectPalette19[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_19.gbapal");
+const u32 gEventObjectPic_Sudowoodo[] = INCBIN_U32("graphics/event_objects/pics/pokemon/sudowoodo.4bpp");
+const u32 gEventObjectPic_Mew[] = INCBIN_U32("graphics/event_objects/pics/pokemon/mew.4bpp");
+const u16 gEventObjectPalette28[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_28.gbapal");
+const u32 gEventObjectPic_Red[] = INCBIN_U32("graphics/event_objects/pics/people/red.4bpp");
+const u32 gEventObjectPic_Leaf[] = INCBIN_U32("graphics/event_objects/pics/people/leaf.4bpp");
+const u16 gEventObjectPalette30[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_30.gbapal");
+const u32 gEventObjectPic_BirthIslandStone[] = INCBIN_U32("graphics/event_objects/pics/misc/birth_island_stone.4bpp");
+const u16 gEventObjectPalette29[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_29.gbapal");
+const u32 gEventObjectPic_Deoxys[] = INCBIN_U32("graphics/event_objects/pics/pokemon/deoxys.4bpp");
+const u32 gEventObjectPic_Anabel[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/anabel.4bpp");
+const u32 gEventObjectPic_Tucker[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/tucker.4bpp");
+const u32 gEventObjectPic_Spenser[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/spenser.4bpp");
+const u32 gEventObjectPic_Greta[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/greta.4bpp");
+const u32 gEventObjectPic_Noland[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/noland.4bpp");
+const u32 gEventObjectPic_Lucy[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/lucy.4bpp");
+const u32 gEventObjectPic_Brandon[] = INCBIN_U32("graphics/event_objects/pics/people/frontier_brains/brandon.4bpp");
+const u32 gEventObjectPic_Lugia[] = INCBIN_U32("graphics/event_objects/pics/pokemon/lugia.4bpp");
+const u16 gEventObjectPalette32[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_32.gbapal");
+const u32 gEventObjectPic_HoOh[] = INCBIN_U32("graphics/event_objects/pics/pokemon/ho_oh.4bpp");
+const u16 gEventObjectPalette31[] = INCBIN_U16("graphics/event_objects/palettes/field_object_palette_31.gbapal");
diff --git a/src/data/object_event/event_object_graphics.h b/src/data/object_event/event_object_graphics.h
index 764c00ea2..88ca30ff5 100755
--- a/src/data/object_event/event_object_graphics.h
+++ b/src/data/object_event/event_object_graphics.h
@@ -326,7 +326,7 @@ const u32 gFieldEffectObjectPic_SandDisguisePlaceholder[] = INCBIN_U32("graphics
const u32 gFieldEffectObjectPic_HotSpringsWater[] = INCBIN_U32("graphics/object_events/pics/effects/hot_springs_water.4bpp");
const u16 gFieldEffectObjectPalette2[] = INCBIN_U16("graphics/object_events/palettes/field_effect_object_palette_02.gbapal");
const u32 gFieldEffectObjectPic_JumpOutOfAsh[] = INCBIN_U32("graphics/object_events/pics/effects/jump_out_of_ash.4bpp");
-const u32 gFieldEffectObjectPic_Unknown33[] = INCBIN_U32("graphics/object_events/pics/effects/unknown_33.4bpp");
+const u32 gFieldEffectObjectPic_LavaridgeGymWarp[] = INCBIN_U32("graphics/object_events/pics/effects/lavaridge_gym_warp.4bpp");
const u32 gFieldEffectObjectPic_Bubbles[] = INCBIN_U32("graphics/object_events/pics/effects/bubbles.4bpp");
const u32 gFieldEffectObjectPic_Unknown35[] = INCBIN_U32("graphics/object_events/pics/effects/unknown_35.4bpp");
const u16 gFieldEffectObjectPalette3[] = INCBIN_U16("graphics/object_events/palettes/field_effect_object_palette_03.gbapal");
diff --git a/src/data/object_event/field_effect_object_template_pointers.h b/src/data/object_event/field_effect_object_template_pointers.h
index 32d2b069a..de39e6db3 100755
--- a/src/data/object_event/field_effect_object_template_pointers.h
+++ b/src/data/object_event/field_effect_object_template_pointers.h
@@ -31,7 +31,7 @@ const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown29;
const struct SpriteTemplate gFieldEffectObjectTemplate_ShortGrass;
const struct SpriteTemplate gFieldEffectObjectTemplate_HotSpringsWater;
const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh;
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33;
+const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp;
const struct SpriteTemplate gFieldEffectObjectTemplate_Bubbles;
const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown35;
const struct SpriteTemplate gFieldEffectObjectTemplate_Rayquaza;
@@ -70,7 +70,7 @@ const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[] = {
&gFieldEffectObjectTemplate_ShortGrass,
&gFieldEffectObjectTemplate_HotSpringsWater,
&gFieldEffectObjectTemplate_JumpOutOfAsh,
- &gFieldEffectObjectTemplate_Unknown33,
+ &gFieldEffectObjectTemplate_LavaridgeGymWarp,
&gFieldEffectObjectTemplate_Bubbles,
&gFieldEffectObjectTemplate_Unknown35,
&gFieldEffectObjectTemplate_Rayquaza,
diff --git a/src/data/object_event/field_effect_objects.h b/src/data/object_event/field_effect_objects.h
index e47973dae..65f35107d 100755
--- a/src/data/object_event/field_effect_objects.h
+++ b/src/data/object_event/field_effect_objects.h
@@ -892,19 +892,28 @@ const union AnimCmd *const gFieldEffectObjectImageAnimTable_JumpOutOfAsh[] =
gFieldEffectObjectImageAnim_850D54C,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh = {0xFFFF, 0x100D, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_JumpOutOfAsh, gFieldEffectObjectPicTable_JumpOutOfAsh, gDummySpriteAffineAnimTable, sub_80B7CAC};
+const struct SpriteTemplate gFieldEffectObjectTemplate_JumpOutOfAsh =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gFieldEffectObjectImageAnimTable_JumpOutOfAsh,
+ .images = gFieldEffectObjectPicTable_JumpOutOfAsh,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_PopOutOfAsh
+};
const struct SpritePalette gFieldEffectObjectPaletteInfo2 = {gFieldEffectObjectPalette2, 0x100D};
-const struct SpriteFrameImage gFieldEffectObjectPicTable_Unknown33[] = {
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 0),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 1),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 2),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 3),
- overworld_frame(gFieldEffectObjectPic_Unknown33, 2, 2, 4),
+const struct SpriteFrameImage gFieldEffectObjectPicTable_LavaridgeGymWarp[] = {
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 0),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 1),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 2),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 3),
+ overworld_frame(gFieldEffectObjectPic_LavaridgeGymWarp, 2, 2, 4),
};
-const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
+const union AnimCmd gFieldEffectObjectImageAnim_LavaridgeGymWarp[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(1, 6),
@@ -914,12 +923,21 @@ const union AnimCmd gFieldEffectObjectImageAnim_850D5B0[] =
ANIMCMD_END,
};
-const union AnimCmd *const gFieldEffectObjectImageAnimTable_Unknown33[] =
+const union AnimCmd *const gFieldEffectObjectImageAnimTable_LavaridgeGymWarp[] =
{
- gFieldEffectObjectImageAnim_850D5B0,
+ gFieldEffectObjectImageAnim_LavaridgeGymWarp,
};
-const struct SpriteTemplate gFieldEffectObjectTemplate_Unknown33 = {0xFFFF, 0x100D, &gObjectEventBaseOam_16x16, gFieldEffectObjectImageAnimTable_Unknown33, gFieldEffectObjectPicTable_Unknown33, gDummySpriteAffineAnimTable, sub_80B7A58};
+const struct SpriteTemplate gFieldEffectObjectTemplate_LavaridgeGymWarp =
+{
+ .tileTag = 0xFFFF,
+ .paletteTag = 0x100D,
+ .oam = &gObjectEventBaseOam_16x16,
+ .anims = gFieldEffectObjectImageAnimTable_LavaridgeGymWarp,
+ .images = gFieldEffectObjectPicTable_LavaridgeGymWarp,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCB_LavaridgeGymWarp
+};
const struct SpriteFrameImage gFieldEffectObjectPicTable_Bubbles[] = {
overworld_frame(gFieldEffectObjectPic_Bubbles, 2, 4, 0),
diff --git a/src/data/trade.h b/src/data/trade.h
index 739132093..b9350863b 100644
--- a/src/data/trade.h
+++ b/src/data/trade.h
@@ -276,48 +276,65 @@ static const u8 sTradeMonSpriteCoords[(PARTY_SIZE * 2) + 1][2] =
{23, 18} // CANCEL
};
-static const u8 sTradeMonLevelCoords[][PARTY_SIZE][2] =
+static const u8 sTradeMonLevelCoords[][2][2] =
{
+ // Your party
{
- // Your party
{5, 4},
{12, 4},
+ },
+ {
{5, 9},
{12, 9},
+ },
+ {
{5, 14},
{12, 14},
},
+ // Friend's party
{
- // Friend's party
+
{20, 4},
{27, 4},
+ },
+ {
{20, 9},
{27, 9},
+ },
+ {
{20, 14},
- {27, 14}
- }
+ {27, 14},
+ },
};
-static const u8 sTradeMonBoxCoords[][PARTY_SIZE][2] =
+static const u8 sTradeMonBoxCoords[][2][2] =
{
+ // Your party
{
- // Your party
{1, 3},
{8, 3},
+ },
+ {
{1, 8},
{8, 8},
+ },
+ {
{1, 13},
{8, 13},
},
+ // Friend's party
{
- // Friend's party
{16, 3},
{23, 3},
+ },
+ {
{16, 8},
{23, 8},
+ },
+ {
{16, 13},
- {23, 13}
- }
+ {23, 13},
+ },
};
static const u8 sUnref_0832DE6E[] =
diff --git a/src/decoration.c b/src/decoration.c
index 2a5c2ccd7..8c14be8e1 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -1332,7 +1332,7 @@ void sub_8128060(u8 taskId)
ConfigureCameraObjectForPlacingDecoration(&sPlaceDecorationGraphicsDataBuffer, gCurDecorationItems[gCurDecorationIndex]);
sub_812826C(taskId);
SetUpPlacingDecorationPlayerAvatar(taskId, &sPlaceDecorationGraphicsDataBuffer);
- pal_fill_black();
+ FadeInFromBlack();
gPaletteFade.bufferTransferDisabled = FALSE;
gTasks[taskId].data[2] = 2;
break;
@@ -1738,7 +1738,7 @@ void sub_8128CD4(void)
u8 taskId;
ScriptContext2_Enable();
- pal_fill_black();
+ FadeInFromBlack();
taskId = CreateTask(sub_8128C64, 8);
sub_8127580(taskId);
gTasks[taskId].data[2] = 0;
@@ -2215,7 +2215,7 @@ void sub_81298EC(u8 taskId)
case 2:
ScriptContext2_Enable();
IdentifyOwnedDecorationsCurrentlyInUseInternal(taskId);
- pal_fill_black();
+ FadeInFromBlack();
gTasks[taskId].data[2] = 3;
break;
case 3:
@@ -2278,7 +2278,7 @@ void sub_8129ABC(u8 taskId)
break;
case 1:
SetUpPuttingAwayDecorationPlayerAvatar();
- pal_fill_black();
+ FadeInFromBlack();
data[2] = 2;
break;
case 2:
@@ -2623,7 +2623,7 @@ void sub_812A334(void)
{
u8 taskId;
- pal_fill_black();
+ FadeInFromBlack();
DrawDialogueFrame(0, 1);
InitDecorationActionsWindow();
taskId = CreateTask(sub_812A2C4, 8);
diff --git a/src/egg_hatch.c b/src/egg_hatch.c
index 2a942c9d9..032ae6733 100644
--- a/src/egg_hatch.c
+++ b/src/egg_hatch.c
@@ -470,7 +470,7 @@ static void Task_EggHatch(u8 taskID)
{
CleanupOverworldWindowsAndTilemaps();
SetMainCallback2(CB2_EggHatch_0);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskID);
}
}
diff --git a/src/event_object_lock.c b/src/event_object_lock.c
index 1f1be8d5a..b728f7774 100644
--- a/src/event_object_lock.c
+++ b/src/event_object_lock.c
@@ -8,7 +8,7 @@
#include "trainer_see.h"
#include "constants/event_objects.h"
-bool8 walkrun_is_standing_still(void)
+bool8 IsPlayerStandingStill(void)
{
if (gPlayerAvatar.tileTransitionState == T_TILE_TRANSITION)
return FALSE;
@@ -18,7 +18,7 @@ bool8 walkrun_is_standing_still(void)
static void sub_80983A4(u8 taskId)
{
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
sub_808B864();
DestroyTask(taskId);
@@ -49,7 +49,7 @@ static void sub_8098400(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- if (!task->data[0] && walkrun_is_standing_still() == TRUE)
+ if (!task->data[0] && IsPlayerStandingStill() == TRUE)
{
sub_808B864();
task->data[0] = 1;
@@ -123,7 +123,7 @@ static void sub_80985BC(u8 taskId)
struct Task *task = &gTasks[taskId];
u8 objectEventId = task->data[2];
- if (!task->data[0] && walkrun_is_standing_still() == TRUE)
+ if (!task->data[0] && IsPlayerStandingStill() == TRUE)
{
sub_808B864();
task->data[0] = 1;
diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c
index bd261e055..6d60c30b3 100644
--- a/src/field_control_avatar.c
+++ b/src/field_control_avatar.c
@@ -710,22 +710,22 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB
SetupWarp(&gMapHeader, warpEventId, position);
if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE)
{
- sub_80AF80C(metatileBehavior);
+ DoEscalatorWarp(metatileBehavior);
return TRUE;
}
if (MetatileBehavior_IsLavaridgeB1FWarp(metatileBehavior) == TRUE)
{
- sub_80AF828();
+ DoLavaridgeGymB1FWarp();
return TRUE;
}
if (MetatileBehavior_IsLavaridge1FWarp(metatileBehavior) == TRUE)
{
- sub_80AF838();
+ DoLavaridgeGym1FWarp();
return TRUE;
}
if (MetatileBehavior_IsAquaHideoutWarp(metatileBehavior) == TRUE)
{
- sub_80AF848();
+ DoTeleportWarp();
return TRUE;
}
if (MetatileBehavior_IsWarpOrBridge(metatileBehavior) == TRUE)
diff --git a/src/field_effect.c b/src/field_effect.c
index f5f6b1cba..b89000cc3 100644
--- a/src/field_effect.c
+++ b/src/field_effect.c
@@ -28,6 +28,7 @@
#include "util.h"
#include "constants/field_effects.h"
#include "constants/event_object_movement.h"
+#include "constants/metatile_behaviors.h"
#include "constants/rgb.h"
#include "constants/songs.h"
@@ -68,22 +69,22 @@ static void task00_8084310(u8);
static void mapldr_08084390(void);
static void c3_080843F8(u8);
-static void sub_80B6B94(u8);
-static bool8 sub_80B6BCC(struct Task *);
-static bool8 sub_80B6C74(struct Task *);
-static bool8 sub_80B6C90(struct Task *);
-static bool8 sub_80B6D04(struct Task *);
-static bool8 sub_80B6DBC(struct Task *);
-static bool8 sub_80B6DD8(struct Task *);
-static bool8 sub_80B6E18(struct Task *);
-
-static void sub_80B6E88(u8);
-static bool8 sub_80B6EC0(struct Task *);
-static bool8 sub_80B6EE0(struct Task *);
-static bool8 sub_80B6F50(struct Task *);
-static bool8 sub_80B6F74(struct Task *);
-static bool8 sub_80B6F84(struct Task *);
-static bool8 sub_80B6FA8(struct Task *);
+static void Task_FallWarpFieldEffect(u8);
+static bool8 FallWarpEffect_1(struct Task *);
+static bool8 FallWarpEffect_2(struct Task *);
+static bool8 FallWarpEffect_3(struct Task *);
+static bool8 FallWarpEffect_4(struct Task *);
+static bool8 FallWarpEffect_5(struct Task *);
+static bool8 FallWarpEffect_6(struct Task *);
+static bool8 FallWarpEffect_7(struct Task *);
+
+static void Task_EscalatorWarpFieldEffect(u8);
+static bool8 EscalatorWarpEffect_1(struct Task *);
+static bool8 EscalatorWarpEffect_2(struct Task *);
+static bool8 EscalatorWarpEffect_3(struct Task *);
+static bool8 EscalatorWarpEffect_4(struct Task *);
+static bool8 EscalatorWarpEffect_5(struct Task *);
+static bool8 EscalatorWarpEffect_6(struct Task *);
static void sub_80B6FB8(struct Task *);
static void sub_80B7004(struct Task *);
@@ -112,29 +113,27 @@ static bool8 dive_1_lock(struct Task *);
static bool8 dive_2_unknown(struct Task *);
static bool8 dive_3_unknown(struct Task *);
-static void sub_80B75F0(u8);
-static bool8 sub_80B764C(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7684(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B76B8(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7704(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B77F8(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7814(struct Task *, struct ObjectEvent *, struct Sprite *);
-
-static void mapldr_080851BC(void);
-static void sub_80B7890(u8);
-
-static bool8 sub_80B78EC(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B791C(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7968(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B79BC(struct Task *, struct ObjectEvent *, struct Sprite *);
-
-static void sub_80B7A8C(u8);
-
-static bool8 sub_80B7AE8(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7B18(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7B94(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7BCC(struct Task *, struct ObjectEvent *, struct Sprite *);
-static bool8 sub_80B7BF4(struct Task *, struct ObjectEvent *, struct Sprite *);
+static void Task_LavaridgeGymB1FWarp(u8);
+static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *, struct ObjectEvent *, struct Sprite *);
+
+static void FieldCB_LavaridgeGymB1FWarpExit(void);
+static void Task_LavaridgeGymB1FWarpExit(u8);
+static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *);
+
+static void Task_LavaridgeGym1FWarp(u8);
+static bool8 LavaridgeGym1FWarpEffect_1(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_2(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_3(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_4(struct Task *, struct ObjectEvent *, struct Sprite *);
+static bool8 LavaridgeGym1FWarpEffect_5(struct Task *, struct ObjectEvent *, struct Sprite *);
static void DoEscapeRopeFieldEffect(u8);
static void EscapeRopeFieldEffect_Step0(struct Task *);
@@ -596,25 +595,25 @@ const u8 gUnknown_0855C3BC[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C0[] = {16, 12, 8, 0};
const u8 gUnknown_0855C3C4[] = { 0, 0, 0, 0};
-bool8 (*const gUnknown_0855C3C8[])(struct Task *) =
+bool8 (*const sFallWarpFieldEffectFuncs[])(struct Task *) =
{
- sub_80B6BCC,
- sub_80B6C74,
- sub_80B6C90,
- sub_80B6D04,
- sub_80B6DBC,
- sub_80B6DD8,
- sub_80B6E18,
+ FallWarpEffect_1,
+ FallWarpEffect_2,
+ FallWarpEffect_3,
+ FallWarpEffect_4,
+ FallWarpEffect_5,
+ FallWarpEffect_6,
+ FallWarpEffect_7,
};
-bool8 (*const gUnknown_0855C3E4[])(struct Task *) =
+bool8 (*const sEscalatorWarpFieldEffectFuncs[])(struct Task *) =
{
- sub_80B6EC0,
- sub_80B6EE0,
- sub_80B6F50,
- sub_80B6F74,
- sub_80B6F84,
- sub_80B6FA8,
+ EscalatorWarpEffect_1,
+ EscalatorWarpEffect_2,
+ EscalatorWarpEffect_3,
+ EscalatorWarpEffect_4,
+ EscalatorWarpEffect_5,
+ EscalatorWarpEffect_6,
};
bool8 (*const gUnknown_0855C3FC[])(struct Task *) =
@@ -644,31 +643,31 @@ bool8 (*const gUnknown_0855C42C[])(struct Task *) =
dive_3_unknown,
};
-bool8 (*const gUnknown_0855C438[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
+bool8 (*const sLavaridgeGymB1FWarpEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
{
- sub_80B764C,
- sub_80B7684,
- sub_80B76B8,
- sub_80B7704,
- sub_80B77F8,
- sub_80B7814,
+ LavaridgeGymB1FWarpEffect_1,
+ LavaridgeGymB1FWarpEffect_2,
+ LavaridgeGymB1FWarpEffect_3,
+ LavaridgeGymB1FWarpEffect_4,
+ LavaridgeGymB1FWarpEffect_5,
+ LavaridgeGymB1FWarpEffect_6,
};
-bool8 (*const gUnknown_0855C450[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
+bool8 (*const sLavaridgeGymB1FWarpExitEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
{
- sub_80B78EC,
- sub_80B791C,
- sub_80B7968,
- sub_80B79BC,
+ LavaridgeGymB1FWarpExitEffect_1,
+ LavaridgeGymB1FWarpExitEffect_2,
+ LavaridgeGymB1FWarpExitEffect_3,
+ LavaridgeGymB1FWarpExitEffect_4,
};
-bool8 (*const gUnknown_0855C460[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
+bool8 (*const sLavaridgeGym1FWarpEffectFuncs[])(struct Task *, struct ObjectEvent *, struct Sprite *) =
{
- sub_80B7AE8,
- sub_80B7B18,
- sub_80B7B94,
- sub_80B7BCC,
- sub_80B7BF4,
+ LavaridgeGym1FWarpEffect_1,
+ LavaridgeGym1FWarpEffect_2,
+ LavaridgeGym1FWarpEffect_3,
+ LavaridgeGym1FWarpEffect_4,
+ LavaridgeGym1FWarpEffect_5,
};
void (*const gEscapeRopeFieldEffectFuncs[])(struct Task *) =
@@ -1428,7 +1427,7 @@ void ReturnToFieldFromFlyMapSelect(void)
static void FieldCallback_Fly(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task00_8084310, 0);
ScriptContext2_Enable();
FreezeObjectEvents();
@@ -1466,7 +1465,7 @@ static void task00_8084310(u8 taskId)
static void mapldr_08084390(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(c3_080843F8, 0);
gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE;
if (gPlayerAvatar.flags & 0x08)
@@ -1499,24 +1498,24 @@ static void c3_080843F8(u8 taskId)
}
}
-void sub_80B6B68(void)
+void FieldCB_FallWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeObjectEvents();
- CreateTask(sub_80B6B94, 0);
+ CreateTask(Task_FallWarpFieldEffect, 0);
gFieldCallback = NULL;
}
-static void sub_80B6B94(u8 taskId)
+static void Task_FallWarpFieldEffect(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
- while (gUnknown_0855C3C8[task->data[0]](task)); // return code signifies whether to continue blocking here
+ while (sFallWarpFieldEffectFuncs[task->data[0]](task)); // return code signifies whether to continue blocking here
}
-static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
+static bool8 FallWarpEffect_1(struct Task *task)
{
struct ObjectEvent *playerObject;
struct Sprite *playerSprite;
@@ -1534,7 +1533,7 @@ static bool8 sub_80B6BCC(struct Task *task) // gUnknown_0855C3C8[0]
return TRUE;
}
-static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
+static bool8 FallWarpEffect_2(struct Task *task)
{
if (IsWeatherNotFadingIn())
{
@@ -1543,7 +1542,7 @@ static bool8 sub_80B6C74(struct Task *task) // gUnknown_0855C3C8[1]
return FALSE;
}
-static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
+static bool8 FallWarpEffect_3(struct Task *task)
{
struct Sprite *sprite;
s16 centerToCornerVecY;
@@ -1558,7 +1557,7 @@ static bool8 sub_80B6C90(struct Task *task) // gUnknown_0855C3C8[2]
return FALSE;
}
-static bool8 sub_80B6D04(struct Task *task)
+static bool8 FallWarpEffect_4(struct Task *task)
{
struct ObjectEvent *objectEvent;
struct Sprite *sprite;
@@ -1592,7 +1591,7 @@ static bool8 sub_80B6D04(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6DBC(struct Task *task)
+static bool8 FallWarpEffect_5(struct Task *task)
{
task->data[0]++;
task->data[1] = 4;
@@ -1601,7 +1600,7 @@ static bool8 sub_80B6DBC(struct Task *task)
return TRUE;
}
-static bool8 sub_80B6DD8(struct Task *task)
+static bool8 FallWarpEffect_6(struct Task *task)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -1617,36 +1616,36 @@ static bool8 sub_80B6DD8(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6E18(struct Task *task)
+static bool8 FallWarpEffect_7(struct Task *task)
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
CameraObjectReset1();
UnfreezeObjectEvents();
InstallCameraPanAheadCallback();
- DestroyTask(FindTaskIdByFunc(sub_80B6B94));
+ DestroyTask(FindTaskIdByFunc(Task_FallWarpFieldEffect));
return FALSE;
}
-void sub_80B6E4C(u8 a0, u8 priority)
+void StartEscalatorWarp(u8 metatileBehavior, u8 priority)
{
u8 taskId;
- taskId = CreateTask(sub_80B6E88, priority);
+ taskId = CreateTask(Task_EscalatorWarpFieldEffect, priority);
gTasks[taskId].data[1] = 0;
- if (a0 == 0x6a)
+ if (metatileBehavior == MB_UP_ESCALATOR)
{
gTasks[taskId].data[1] = 1;
}
}
-static void sub_80B6E88(u8 taskId)
+static void Task_EscalatorWarpFieldEffect(u8 taskId)
{
struct Task *task;
task = &gTasks[taskId];
- while (gUnknown_0855C3E4[task->data[0]](task));
+ while (sEscalatorWarpFieldEffectFuncs[task->data[0]](task));
}
-static bool8 sub_80B6EC0(struct Task *task)
+static bool8 EscalatorWarpEffect_1(struct Task *task)
{
FreezeObjectEvents();
CameraObjectReset2();
@@ -1655,7 +1654,7 @@ static bool8 sub_80B6EC0(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6EE0(struct Task *task)
+static bool8 EscalatorWarpEffect_2(struct Task *task)
{
struct ObjectEvent *objectEvent;
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
@@ -1674,7 +1673,7 @@ static bool8 sub_80B6EE0(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6F50(struct Task *task)
+static bool8 EscalatorWarpEffect_3(struct Task *task)
{
sub_80B6FB8(task);
if (task->data[2] > 3)
@@ -1685,14 +1684,14 @@ static bool8 sub_80B6F50(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6F74(struct Task *task)
+static bool8 EscalatorWarpEffect_4(struct Task *task)
{
sub_80B6FB8(task);
sub_80B7060();
return FALSE;
}
-static bool8 sub_80B6F84(struct Task *task)
+static bool8 EscalatorWarpEffect_5(struct Task *task)
{
sub_80B7004(task);
if (task->data[2] > 3)
@@ -1703,7 +1702,7 @@ static bool8 sub_80B6F84(struct Task *task)
return FALSE;
}
-static bool8 sub_80B6FA8(struct Task *task)
+static bool8 EscalatorWarpEffect_6(struct Task *task)
{
sub_80B7004(task);
sub_80B7060();
@@ -1739,7 +1738,7 @@ static void sub_80B7004(struct Task *task)
static void sub_80B7050(void)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
static void sub_80B7060(void)
@@ -1750,14 +1749,14 @@ static void sub_80B7060(void)
WarpIntoMap();
gFieldCallback = sub_80B70B4;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B6E88));
+ DestroyTask(FindTaskIdByFunc(Task_EscalatorWarpFieldEffect));
}
}
static void sub_80B70B4(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
CreateTask(sub_80B70DC, 0);
gFieldCallback = NULL;
@@ -1994,17 +1993,17 @@ static bool8 dive_3_unknown(struct Task *task)
return FALSE;
}
-void sub_80B75D8(u8 priority)
+void StartLavaridgeGymB1FWarp(u8 priority)
{
- CreateTask(sub_80B75F0, priority);
+ CreateTask(Task_LavaridgeGymB1FWarp, priority);
}
-static void sub_80B75F0(u8 taskId)
+static void Task_LavaridgeGymB1FWarp(u8 taskId)
{
- while (gUnknown_0855C438[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
+ while (sLavaridgeGymB1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B764C(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
FreezeObjectEvents();
CameraObjectReset2();
@@ -2016,7 +2015,7 @@ static bool8 sub_80B764C(struct Task *task, struct ObjectEvent *objectEvent, str
return TRUE;
}
-static bool8 sub_80B7684(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
SetCameraPanning(0, task->data[1]);
task->data[1] = -task->data[1];
@@ -2029,7 +2028,7 @@ static bool8 sub_80B7684(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B76B8(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
sprite->pos2.y = 0;
task->data[3] = 1;
@@ -2043,7 +2042,7 @@ static bool8 sub_80B76B8(struct Task *task, struct ObjectEvent *objectEvent, str
return TRUE;
}
-static bool8 sub_80B7704(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
s16 centerToCornerVecY;
SetCameraPanning(0, task->data[1]);
@@ -2086,41 +2085,41 @@ static bool8 sub_80B7704(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B77F8(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_5(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
return FALSE;
}
-static bool8 sub_80B7814(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpEffect_6(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
WarpIntoMap();
- gFieldCallback = mapldr_080851BC;
+ gFieldCallback = FieldCB_LavaridgeGymB1FWarpExit;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B75F0));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarp));
}
return FALSE;
}
-static void mapldr_080851BC(void)
+static void FieldCB_LavaridgeGymB1FWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
gFieldCallback = NULL;
- CreateTask(sub_80B7890, 0);
+ CreateTask(Task_LavaridgeGymB1FWarpExit, 0);
}
-static void sub_80B7890(u8 taskId)
+static void Task_LavaridgeGymB1FWarpExit(u8 taskId)
{
- while (gUnknown_0855C450[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
+ while (sLavaridgeGymB1FWarpExitEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B78EC(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
CameraObjectReset2();
FreezeObjectEvents();
@@ -2130,7 +2129,7 @@ static bool8 sub_80B78EC(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B791C(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (IsWeatherNotFadingIn())
{
@@ -2144,7 +2143,7 @@ static bool8 sub_80B791C(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7968(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
sprite = &gSprites[task->data[1]];
if (sprite->animCmdIndex > 1)
@@ -2158,18 +2157,19 @@ static bool8 sub_80B7968(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B79BC(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGymB1FWarpExitEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
{
gPlayerAvatar.preventStep = FALSE;
ScriptContext2_Disable();
UnfreezeObjectEvents();
- DestroyTask(FindTaskIdByFunc(sub_80B7890));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGymB1FWarpExit));
}
return FALSE;
}
+// For the ash puff effect when warping off the B1F ash tiles
u8 FldEff_LavaridgeGymWarp(void)
{
u8 spriteId;
@@ -2180,7 +2180,7 @@ u8 FldEff_LavaridgeGymWarp(void)
return spriteId;
}
-void sub_80B7A58(struct Sprite *sprite)
+void SpriteCB_LavaridgeGymWarp(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2188,17 +2188,17 @@ void sub_80B7A58(struct Sprite *sprite)
}
}
-void sub_80B7A74(u8 priority)
+void StartLavaridgeGym1FWarp(u8 priority)
{
- CreateTask(sub_80B7A8C, priority);
+ CreateTask(Task_LavaridgeGym1FWarp, priority);
}
-static void sub_80B7A8C(u8 taskId)
+static void Task_LavaridgeGym1FWarp(u8 taskId)
{
- while(gUnknown_0855C460[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
+ while(sLavaridgeGym1FWarpEffectFuncs[gTasks[taskId].data[0]](&gTasks[taskId], &gObjectEvents[gPlayerAvatar.objectEventId], &gSprites[gPlayerAvatar.spriteId]));
}
-static bool8 sub_80B7AE8(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_1(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
FreezeObjectEvents();
CameraObjectReset2();
@@ -2208,7 +2208,7 @@ static bool8 sub_80B7AE8(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7B18(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_2(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (ObjectEventClearHeldMovementIfFinished(objectEvent))
{
@@ -2230,7 +2230,7 @@ static bool8 sub_80B7B18(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7B94(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_3(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (gSprites[task->data[1]].animCmdIndex == 2)
{
@@ -2240,25 +2240,25 @@ static bool8 sub_80B7B94(struct Task *task, struct ObjectEvent *objectEvent, str
return FALSE;
}
-static bool8 sub_80B7BCC(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
return FALSE;
}
-static bool8 sub_80B7BF4(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
+static bool8 LavaridgeGym1FWarpEffect_5(struct Task *task, struct ObjectEvent *objectEvent, struct Sprite *sprite)
{
if (!gPaletteFade.active && BGMusicStopped() == TRUE)
{
WarpIntoMap();
- gFieldCallback = sub_80B6B68;
+ gFieldCallback = FieldCB_FallWarpExit;
SetMainCallback2(CB2_LoadMap);
- DestroyTask(FindTaskIdByFunc(sub_80B7A8C));
+ DestroyTask(FindTaskIdByFunc(Task_LavaridgeGym1FWarp));
}
return FALSE;
}
@@ -2273,7 +2273,7 @@ u8 FldEff_PopOutOfAsh(void)
return spriteId;
}
-void sub_80B7CAC(struct Sprite *sprite)
+void SpriteCB_PopOutOfAsh(struct Sprite *sprite)
{
if (sprite->animEnded)
{
@@ -2307,7 +2307,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task)
if (task->data[14] != 0 && (--task->data[14]) == 0)
{
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
if (!ObjectEventIsMovementOverridden(objectEvent) || ObjectEventClearHeldMovementIfFinished(objectEvent))
@@ -2340,7 +2340,7 @@ void (*const gUnknown_0855C484[])(struct Task *) = {
static void mapldr_080859D4(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeObjectEvents();
gFieldCallback = NULL;
@@ -2460,7 +2460,7 @@ static void TeleportFieldEffectTask3(struct Task *task)
{
task->data[0]++;
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
}
}
@@ -2488,7 +2488,7 @@ static void TeleportFieldEffectTask4(struct Task *task)
static void mapldr_08085D88(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
ScriptContext2_Enable();
FreezeObjectEvents();
gFieldCallback = NULL;
@@ -3268,7 +3268,7 @@ static void sub_80B9474(struct Task *task)
{
if (sub_80B9508(task->data[1]))
{
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
}
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index ac05bb2fd..ebab51ed8 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -1396,11 +1396,11 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender)
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_5 | PLAYER_AVATAR_FLAG_ON_FOOT);
}
-void sub_808C0A8(u8 a)
+void SetPlayerInvisibility(bool8 invisible)
{
- gObjectEvents[gPlayerAvatar.objectEventId].invisible = a;
+ gObjectEvents[gPlayerAvatar.objectEventId].invisible = invisible;
if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING))
- gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = a;
+ gSprites[gObjectEvents[gPlayerAvatar.objectEventId].fieldEffectSpriteId].invisible = invisible;
}
void sub_808C114(void)
diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c
index 77d9f2a91..ea9429ce8 100644
--- a/src/field_screen_effect.c
+++ b/src/field_screen_effect.c
@@ -28,6 +28,7 @@
#include "task.h"
#include "text.h"
#include "constants/event_object_movement.h"
+#include "constants/event_objects.h"
#include "constants/songs.h"
#include "constants/rgb.h"
#include "trainer_hill.h"
@@ -37,21 +38,21 @@ extern const u16 gOrbEffectBackgroundLayerFlags[];
// This file's functions.
static void sub_8080B9C(u8);
-static void task_map_chg_seq_0807E20C(u8);
-static void task_map_chg_seq_0807E2CC(u8);
+static void Task_ExitNonAnimDoor(u8);
+static void Task_ExitNonDoor(u8);
static void task0A_fade_n_map_maybe(u8);
static void sub_808115C(u8);
-static void palette_bg_faded_fill_white(void);
-static void sub_80AF438(u8);
+static void FillPalBufferWhite(void);
+static void Task_ExitDoor(u8);
static bool32 WaitForWeatherFadeIn(void);
static void task0A_mpl_807E31C(u8 taskId);
-static void sub_80AFA0C(u8 taskId);
-static void sub_80AFA88(u8 taskId);
+static void Task_WarpAndLoadMap(u8 taskId);
+static void Task_DoDoorWarp(u8 taskId);
static void Task_EnableScriptAfterMusicFade(u8 taskId);
// const
-const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
-const s32 gMaxFlashLevel = 8;
+static const u16 sFlashLevelPixelRadii[] = { 200, 72, 64, 56, 48, 40, 32, 24, 0 };
+const s32 gMaxFlashLevel = ARRAY_COUNT(sFlashLevelPixelRadii) - 1;
const struct ScanlineEffectParams sFlashEffectParams =
{
@@ -61,44 +62,44 @@ const struct ScanlineEffectParams sFlashEffectParams =
};
// code
-static void palette_bg_faded_fill_white(void)
+static void FillPalBufferWhite(void)
{
CpuFastFill16(RGB_WHITE, gPlttBufferFaded, PLTT_SIZE);
}
-static void palette_bg_faded_fill_black(void)
+static void FillPalBufferBlack(void)
{
CpuFastFill16(RGB_BLACK, gPlttBufferFaded, PLTT_SIZE);
}
-void pal_fill_for_maplights(void)
+void WarpFadeInScreen(void)
{
u8 previousMapType = GetLastUsedWarpMapType();
switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType()))
{
case 0:
- palette_bg_faded_fill_black();
+ FillPalBufferBlack();
FadeScreen(FADE_FROM_BLACK, 0);
break;
case 1:
- palette_bg_faded_fill_white();
+ FillPalBufferWhite();
FadeScreen(FADE_FROM_WHITE, 0);
}
}
-static void sub_80AF08C(void)
+void FadeInFromWhite(void)
{
- palette_bg_faded_fill_white();
+ FillPalBufferWhite();
FadeScreen(FADE_FROM_WHITE, 8);
}
-void pal_fill_black(void)
+void FadeInFromBlack(void)
{
- palette_bg_faded_fill_black();
+ FillPalBufferBlack();
FadeScreen(FADE_FROM_BLACK, 0);
}
-void WarpFadeScreen(void)
+void WarpFadeOutScreen(void)
{
u8 currentMapType = GetCurrentMapType();
switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType))
@@ -111,26 +112,26 @@ void WarpFadeScreen(void)
}
}
-static void sub_80AF0F4(u8 arg)
+static void SetPlayerVisibility(bool8 visible)
{
- sub_808C0A8(!arg);
+ SetPlayerInvisibility(!visible);
}
-static void task0A_nop_for_a_while(u8 taskId)
+static void Task_WaitForUnionRoomFade(u8 taskId)
{
if (WaitForWeatherFadeIn() == TRUE)
DestroyTask(taskId);
}
-void sub_80AF128(void)
+void FieldCB_ContinueScriptUnionRoom(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- CreateTask(task0A_nop_for_a_while, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForUnionRoomFade, 10);
}
-static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
+static void Task_WaitForFadeAndEnableScriptCtx(u8 taskID)
{
if (WaitForWeatherFadeIn() == TRUE)
{
@@ -139,22 +140,22 @@ static void task0A_asap_script_env_2_enable_and_set_ctx_running(u8 taskID)
}
}
-void FieldCallback_ReturnToEventScript2(void)
+void FieldCB_ContinueScriptHandleMusic(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10);
}
-void sub_80AF188(void)
+void FieldCB_ContinueScript(void)
{
ScriptContext2_Enable();
- pal_fill_black();
- CreateTask(task0A_asap_script_env_2_enable_and_set_ctx_running, 10);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeAndEnableScriptCtx, 10);
}
-static void task_mpl_807DD60(u8 taskId)
+static void Task_ReturnToFieldCableLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -167,7 +168,7 @@ static void task_mpl_807DD60(u8 taskId)
case 1:
if (gTasks[task->data[1]].isActive != TRUE)
{
- pal_fill_for_maplights();
+ WarpFadeInScreen();
task->data[0]++;
}
break;
@@ -181,15 +182,15 @@ static void task_mpl_807DD60(u8 taskId)
}
}
-void sub_80AF214(void)
+void FieldCB_ReturnToFieldCableLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- palette_bg_faded_fill_black();
- CreateTask(task_mpl_807DD60, 10);
+ FillPalBufferBlack();
+ CreateTask(Task_ReturnToFieldCableLink, 10);
}
-static void sub_80AF234(u8 taskId)
+static void Task_ReturnToFieldWirelessLink(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -207,7 +208,7 @@ static void sub_80AF234(u8 taskId)
}
else
{
- pal_fill_for_maplights();
+ WarpFadeInScreen();
task->data[0]++;
}
break;
@@ -222,7 +223,7 @@ static void sub_80AF234(u8 taskId)
}
}
-void sub_80AF2B4(u8 taskId)
+void Task_ReturnToFieldRecordMixing(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -247,15 +248,15 @@ void sub_80AF2B4(u8 taskId)
}
}
-void sub_80AF314(void)
+void FieldCB_ReturnToFieldWirelessLink(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- palette_bg_faded_fill_black();
- CreateTask(sub_80AF234, 10);
+ FillPalBufferBlack();
+ CreateTask(Task_ReturnToFieldWirelessLink, 10);
}
-static void sub_80AF334(void)
+static void SetUpWarpExitTask(void)
{
s16 x, y;
u8 behavior;
@@ -264,59 +265,59 @@ static void sub_80AF334(void)
PlayerGetDestCoords(&x, &y);
behavior = MapGridGetMetatileBehaviorAt(x, y);
if (MetatileBehavior_IsDoor(behavior) == TRUE)
- func = sub_80AF438;
+ func = Task_ExitDoor;
else if (MetatileBehavior_IsNonAnimDoor(behavior) == TRUE)
- func = task_map_chg_seq_0807E20C;
+ func = Task_ExitNonAnimDoor;
else
- func = task_map_chg_seq_0807E2CC;
+ func = Task_ExitNonDoor;
CreateTask(func, 10);
}
-void mapldr_default(void)
+void FieldCB_DefaultWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
- sub_80AF334();
+ WarpFadeInScreen();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3B0(void)
+void FieldCB_WarpExitFadeFromWhite(void)
{
Overworld_PlaySpecialMapMusic();
- sub_80AF08C();
- sub_80AF334();
+ FadeInFromWhite();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3C8(void)
+void FieldCB_WarpExitFadeFromBlack(void)
{
- if (!sub_81D6534())
+ if (!sub_81D6534()) // sub_81D6534 always returns false
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
- sub_80AF334();
+ FadeInFromBlack();
+ SetUpWarpExitTask();
ScriptContext2_Enable();
}
-void sub_80AF3E8(void)
+static void FieldCB_TeleportWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
PlaySE(SE_TK_WARPOUT);
CreateTask(task0A_mpl_807E31C, 10);
ScriptContext2_Enable();
}
-void sub_80AF40C(void)
+static void FieldCB_MossdeepGymWarpExit(void)
{
Overworld_PlaySpecialMapMusic();
- pal_fill_for_maplights();
+ WarpFadeInScreen();
PlaySE(SE_TK_WARPOUT);
- CreateTask(task_map_chg_seq_0807E2CC, 10);
+ CreateTask(Task_ExitNonDoor, 10);
ScriptContext2_Enable();
sub_8085540(0xE);
}
-static void sub_80AF438(u8 taskId)
+static void Task_ExitDoor(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -325,7 +326,7 @@ static void sub_80AF438(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
FieldSetDoorOpened(*x, *y);
@@ -335,18 +336,18 @@ static void sub_80AF438(u8 taskId)
if (WaitForWeatherFadeIn())
{
u8 objEventId;
- sub_80AF0F4(1);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ SetPlayerVisibility(TRUE);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_DOWN);
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
u8 objEventId;
task->data[1] = FieldAnimateDoorClose(*x, *y);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
task->data[0] = 3;
}
@@ -365,7 +366,7 @@ static void sub_80AF438(u8 taskId)
}
}
-static void task_map_chg_seq_0807E20C(u8 taskId)
+static void Task_ExitNonAnimDoor(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -374,7 +375,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
switch (task->data[0])
{
case 0:
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
FreezeObjectEvents();
PlayerGetDestCoords(x, y);
task->data[0] = 1;
@@ -383,14 +384,14 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
if (WaitForWeatherFadeIn())
{
u8 objEventId;
- sub_80AF0F4(1);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ SetPlayerVisibility(TRUE);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], GetWalkNormalMovementAction(GetPlayerFacingDirection()));
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
UnfreezeObjectEvents();
task->data[0] = 3;
@@ -403,7 +404,7 @@ static void task_map_chg_seq_0807E20C(u8 taskId)
}
}
-static void task_map_chg_seq_0807E2CC(u8 taskId)
+static void Task_ExitNonDoor(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -423,7 +424,7 @@ static void task_map_chg_seq_0807E2CC(u8 taskId)
}
}
-static void sub_80AF660(u8 taskId)
+static void Task_WaitForFadeShowStartMenu(u8 taskId)
{
if (WaitForWeatherFadeIn() == TRUE)
{
@@ -432,16 +433,16 @@ static void sub_80AF660(u8 taskId)
}
}
-void sub_80AF688(void)
+void ReturnToFieldOpenStartMenu(void)
{
- pal_fill_black();
- CreateTask(sub_80AF660, 0x50);
+ FadeInFromBlack();
+ CreateTask(Task_WaitForFadeShowStartMenu, 0x50);
ScriptContext2_Enable();
}
-bool8 sub_80AF6A4(void)
+bool8 FieldCB_ReturnToFieldOpenStartMenu(void)
{
- sub_809FA18();
+ ShowReturnToFieldStartMenu();
return FALSE;
}
@@ -458,7 +459,7 @@ static void task_mpl_807E3C8(u8 taskId)
void sub_80AF6D4(void)
{
ScriptContext2_Enable();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task_mpl_807E3C8, 10);
}
@@ -466,7 +467,7 @@ void sub_80AF6F0(void)
{
ScriptContext2_Enable();
Overworld_PlaySpecialMapMusic();
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(task_mpl_807E3C8, 10);
}
@@ -487,72 +488,72 @@ void DoWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
void DoDiveWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
-void sub_80AF79C(void)
+void DoSootopolisLegendWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
FadeScreen(FADE_TO_WHITE, 8);
PlayRainStoppingSoundEffect();
- gFieldCallback = sub_80AF3B0;
- CreateTask(sub_80AFA0C, 10);
+ gFieldCallback = FieldCB_WarpExitFadeFromWhite;
+ CreateTask(Task_WarpAndLoadMap, 10);
}
void DoDoorWarp(void)
{
ScriptContext2_Enable();
- gFieldCallback = mapldr_default;
- CreateTask(sub_80AFA88, 10);
+ gFieldCallback = FieldCB_DefaultWarpExit;
+ CreateTask(Task_DoDoorWarp, 10);
}
void DoFallWarp(void)
{
DoDiveWarp();
- gFieldCallback = sub_80B6B68;
+ gFieldCallback = FieldCB_FallWarpExit;
}
-void sub_80AF80C(u8 metatileBehavior)
+void DoEscalatorWarp(u8 metatileBehavior)
{
ScriptContext2_Enable();
- sub_80B6E4C(metatileBehavior, 10);
+ StartEscalatorWarp(metatileBehavior, 10);
}
-void sub_80AF828(void)
+void DoLavaridgeGymB1FWarp(void)
{
ScriptContext2_Enable();
- sub_80B75D8(10);
+ StartLavaridgeGymB1FWarp(10);
}
-void sub_80AF838(void)
+void DoLavaridgeGym1FWarp(void)
{
ScriptContext2_Enable();
- sub_80B7A74(10);
+ StartLavaridgeGym1FWarp(10);
}
-void sub_80AF848(void)
+void DoTeleportWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_TK_WARPIN);
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF3E8;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_TeleportWarpExit;
}
void DoMossdeepGymWarp(void)
@@ -561,18 +562,18 @@ void DoMossdeepGymWarp(void)
ScriptContext2_Enable();
SaveObjectEvents();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_TK_WARPIN);
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF40C;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_MossdeepGymWarpExit;
}
-void sub_80AF8B8(void)
+void DoPortholeWarp(void)
{
ScriptContext2_Enable();
- WarpFadeScreen();
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80FB768;
+ WarpFadeOutScreen();
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_ShowPortholeView;
}
static void sub_80AF8E0(u8 taskId)
@@ -591,17 +592,17 @@ static void sub_80AF8E0(u8 taskId)
break;
case 2:
WarpIntoMap();
- SetMainCallback2(sub_8086074);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
DestroyTask(taskId);
break;
}
}
-void sub_80AF948(void)
+void DoCableClubWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlaySE(SE_KAIDAN);
CreateTask(sub_80AF8E0, 10);
}
@@ -642,7 +643,7 @@ void ReturnFromLinkRoom(void)
CreateTask(Task_ReturnToWorldFromLinkRoom, 10);
}
-static void sub_80AFA0C(u8 taskId)
+static void Task_WarpAndLoadMap(u8 taskId)
{
struct Task *task = &gTasks[taskId];
@@ -673,7 +674,7 @@ static void sub_80AFA0C(u8 taskId)
}
}
-static void sub_80AFA88(u8 taskId)
+static void Task_DoDoorWarp(u8 taskId)
{
struct Task *task = &gTasks[taskId];
s16 *x = &task->data[2];
@@ -692,21 +693,21 @@ static void sub_80AFA88(u8 taskId)
if (task->data[1] < 0 || gTasks[task->data[1]].isActive != TRUE)
{
u8 objEventId;
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfActive(&gObjectEvents[objEventId]);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventSetHeldMovement(&gObjectEvents[objEventId], MOVEMENT_ACTION_WALK_NORMAL_UP);
task->data[0] = 2;
}
break;
case 2:
- if (walkrun_is_standing_still())
+ if (IsPlayerStandingStill())
{
u8 objEventId;
task->data[1] = FieldAnimateDoorClose(*x, *y - 1);
- objEventId = GetObjectEventIdByLocalIdAndMap(0xFF, 0, 0);
+ objEventId = GetObjectEventIdByLocalIdAndMap(OBJ_EVENT_ID_PLAYER, 0, 0);
ObjectEventClearHeldMovementIfFinished(&gObjectEvents[objEventId]);
- sub_80AF0F4(0);
+ SetPlayerVisibility(FALSE);
task->data[0] = 3;
}
break;
@@ -718,10 +719,10 @@ static void sub_80AFA88(u8 taskId)
break;
case 4:
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
task->data[0] = 0;
- task->func = sub_80AFA0C;
+ task->func = Task_WarpAndLoadMap;
break;
}
}
@@ -755,10 +756,10 @@ void DoContestHallWarp(void)
{
ScriptContext2_Enable();
TryFadeOutOldMapMusic();
- WarpFadeScreen();
+ WarpFadeOutScreen();
PlayRainStoppingSoundEffect();
PlaySE(SE_KAIDAN);
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
CreateTask(task0A_fade_n_map_maybe, 10);
}
@@ -1032,7 +1033,7 @@ static void sub_80B01BC(u8 taskId)
case 1:
if (!sub_808D1E8())
{
- WarpFadeScreen();
+ WarpFadeOutScreen();
task->data[0]++;
}
break;
@@ -1051,14 +1052,14 @@ static void sub_80B01BC(u8 taskId)
void sub_80B0244(void)
{
ScriptContext2_Enable();
- CreateTask(sub_80AFA0C, 10);
- gFieldCallback = sub_80AF3E8;
+ CreateTask(Task_WarpAndLoadMap, 10);
+ gFieldCallback = FieldCB_TeleportWarpExit;
}
void sub_80B0268(void)
{
ScriptContext2_Enable();
- gFieldCallback = mapldr_default;
+ gFieldCallback = FieldCB_DefaultWarpExit;
CreateTask(sub_80B01BC, 10);
}
diff --git a/src/field_special_scene.c b/src/field_special_scene.c
index f5d3abce6..540bcd1d4 100644
--- a/src/field_special_scene.c
+++ b/src/field_special_scene.c
@@ -179,7 +179,7 @@ void Task_HandleTruckSequence(u8 taskId)
data[1]++;
if (data[1] == SECONDS(2.5))
{
- pal_fill_black();
+ FadeInFromBlack();
data[1] = 0;
data[0] = 2;
}
@@ -249,12 +249,12 @@ void EndTruckSequence(u8 taskId)
}
}
-bool8 sub_80FB59C(void)
+bool8 TrySetPortholeWarpDestination(void)
{
s8 mapGroup, mapNum;
s16 x, y;
- if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y))
+ if (GetSSTidalLocation(&mapGroup, &mapNum, &x, &y) != SS_TIDAL_LOCATION_CURRENTS)
{
return FALSE;
}
@@ -336,11 +336,11 @@ static void ShowSSTidalWhileSailing(void)
StartSpriteAnim(&gSprites[spriteId], GetFaceDirectionAnimNum(DIR_WEST));
}
-void sub_80FB768(void)
+void FieldCB_ShowPortholeView(void)
{
ShowSSTidalWhileSailing();
gObjectEvents[gPlayerAvatar.objectEventId].invisible = TRUE;
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_HandlePorthole, 80);
ScriptContext2_Enable();
}
@@ -351,6 +351,6 @@ void LookThroughPorthole(void)
FlagSet(FLAG_DONT_TRANSITION_MUSIC);
FlagSet(FLAG_HIDE_MAP_NAME_POPUP);
SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1);
- sub_80FB59C();
- sub_80AF8B8();
+ TrySetPortholeWarpDestination();
+ DoPortholeWarp();
}
diff --git a/src/field_specials.c b/src/field_specials.c
index 143e61477..0e7637e6d 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -366,7 +366,7 @@ u8 GetSSTidalLocation(s8 *mapGroup, s8 *mapNum, s16 *x, s16 *y)
}
*mapGroup = MAP_GROUP(ROUTE132);
*y = 20;
- return SS_TIDAL_LOCATION_OTHER;
+ return SS_TIDAL_LOCATION_CURRENTS;
}
bool32 ShouldDoWallyCall(void)
diff --git a/src/item_use.c b/src/item_use.c
index 2a614243b..82ffd7170 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -138,7 +138,7 @@ void SetUpItemUseOnFieldCallback(u8 taskId)
void MapPostLoadHook_UseItem(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_CallItemUseOnFieldCallback, 8);
}
diff --git a/src/move_relearner.c b/src/move_relearner.c
index 6d9b5865b..e88008689 100644
--- a/src/move_relearner.c
+++ b/src/move_relearner.c
@@ -376,7 +376,7 @@ static void Task_WaitForFadeOut(u8 taskId)
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_InitLearnMove);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskId);
}
}
diff --git a/src/overworld.c b/src/overworld.c
index 2d3125fc4..47bb278bf 100644
--- a/src/overworld.c
+++ b/src/overworld.c
@@ -1526,7 +1526,7 @@ static bool8 map_post_load_hook_exec(void)
if (gFieldCallback)
gFieldCallback();
else
- mapldr_default();
+ FieldCB_DefaultWarpExit();
gFieldCallback = NULL;
}
@@ -1565,7 +1565,7 @@ void CB2_WhiteOut(void)
ResetInitialPlayerAvatarState();
ScriptContext1_Init();
ScriptContext2_Disable();
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
val = 0;
do_load_map_stuff_loop(&val);
SetFieldVBlankCallback();
@@ -1609,10 +1609,10 @@ void sub_8086024(void)
}
}
-void sub_8086074(void)
+void CB2_ReturnToFieldCableClub(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF314;
+ gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
SetMainCallback2(c2_80567AC);
}
@@ -1663,9 +1663,9 @@ void CB2_ReturnToFieldFromMultiplayer(void)
ResetAllMultiplayerState();
if (gWirelessCommType != 0)
- gFieldCallback = sub_80AF314;
+ gFieldCallback = FieldCB_ReturnToFieldWirelessLink;
else
- gFieldCallback = sub_80AF214;
+ gFieldCallback = FieldCB_ReturnToFieldCableLink;
ScriptContext1_Init();
ScriptContext2_Disable();
@@ -1675,28 +1675,28 @@ void CB2_ReturnToFieldFromMultiplayer(void)
void CB2_ReturnToFieldWithOpenMenu(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback2 = sub_80AF6A4;
+ gFieldCallback2 = FieldCB_ReturnToFieldOpenStartMenu;
CB2_ReturnToField();
}
void CB2_ReturnToFieldContinueScript(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF188;
+ gFieldCallback = FieldCB_ContinueScript;
CB2_ReturnToField();
}
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
CB2_ReturnToField();
}
void sub_80861E8(void)
{
FieldClearVBlankHBlankCallbacks();
- gFieldCallback = sub_80AF3C8;
+ gFieldCallback = FieldCB_WarpExitFadeFromBlack;
CB2_ReturnToField();
}
@@ -1704,7 +1704,7 @@ static void sub_8086204(void)
{
if ((gMapHeader.flags & 0xF8) == 8 && SecretBaseMapPopupEnabled() == TRUE)
ShowMapNamePopup();
- sub_80AF3C8();
+ FieldCB_WarpExitFadeFromBlack();
}
void CB2_ContinueSavedGame(void)
diff --git a/src/party_menu.c b/src/party_menu.c
index e8a019d66..367e84295 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -3745,7 +3745,7 @@ static void Task_HandleFieldMoveExitAreaYesNoInput(u8 taskId)
bool8 FieldCallback_PrepareFadeInFromMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_FieldMoveWaitForFade, 8);
return TRUE;
}
@@ -6143,7 +6143,7 @@ static void BufferMonSelection(void)
bool8 CB2_FadeFromPartyMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_PartyMenuWaitForFade, 10);
return TRUE;
}
@@ -6268,7 +6268,7 @@ static void Task_BattlePyramidChooseMonHeldItems(u8 taskId)
void MoveDeleterChooseMoveToForget(void)
{
ShowPokemonSummaryScreen(PSS_MODE_SELECT_MOVE, gPlayerParty, gSpecialVar_0x8004, gPlayerPartyCount - 1, CB2_ReturnToField);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
}
void GetNumMovesSelectedMonHas(void)
diff --git a/src/player_pc.c b/src/player_pc.c
index e10af43b8..bf3a5b01d 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -508,7 +508,7 @@ void Mailbox_DoRedrawMailboxMenuAfterReturn(void)
sub_81973A4();
DrawDialogueFrame(0, 1);
InitItemStorageMenu(CreateTask(ItemStorage_HandleReturnToProcessInput, 0), 1);
- pal_fill_black();
+ FadeInFromBlack();
}
static void ItemStorage_HandleReturnToProcessInput(u8 taskId)
@@ -745,7 +745,7 @@ static void pal_fill_for_maplights_or_black(void)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
- pal_fill_black();
+ FadeInFromBlack();
}
static void Mailbox_HandleReturnToProcessInput(u8 taskId)
@@ -852,7 +852,7 @@ static void Mailbox_UpdateMailListAfterDeposit(void)
Mailbox_DrawMailboxMenu(taskId);
else
DestroyTask(taskId);
- pal_fill_black();
+ FadeInFromBlack();
}
static void Mailbox_NoPokemonForMail(u8 taskId)
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 03d5f4da4..342221880 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -960,7 +960,7 @@ static void Task_FreeDataAndExitPokeblockCase(u8 taskId)
if (!gPaletteFade.active)
{
if (sPokeblockMenu->caseId == PBLOCK_CASE_FEEDER || sPokeblockMenu->caseId == PBLOCK_CASE_GIVE)
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyListMenuTask(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
sub_8136418();
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 3118f66cd..4ccb39ce2 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1855,7 +1855,7 @@ static void FieldCb_ReturnToPcMenu(void)
gTasks[taskId].data[1] = sPreviousBoxOption;
Task_PokemonStorageSystemPC(taskId);
SetVBlankCallback(vblankCb);
- pal_fill_black();
+ FadeInFromBlack();
}
static void CreatePCMenu(u8 whichMenu, s16 *windowIdPtr)
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 00b2cb076..f290c8554 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -369,7 +369,7 @@ static void Task_RecordMixing_Main(u8 taskId)
sub_808729C();
if (gWirelessCommType != 0)
{
- CreateTask(sub_80AF2B4, 10);
+ CreateTask(Task_ReturnToFieldRecordMixing, 10);
}
ClearDialogWindowAndFrame(0, 1);
DestroyTask(taskId);
diff --git a/src/region_map.c b/src/region_map.c
index b1ba2795c..75ce60056 100644
--- a/src/region_map.c
+++ b/src/region_map.c
@@ -1158,7 +1158,7 @@ static void RegionMap_InitializeStateBasedOnSSTidalLocation(void)
gRegionMap->mapSecId = MAPSEC_ROUTE_131;
break;
default:
- case SS_TIDAL_LOCATION_OTHER:
+ case SS_TIDAL_LOCATION_CURRENTS:
mapHeader = Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum);
gRegionMap->mapSecId = mapHeader->regionMapSectionId;
diff --git a/src/roulette.c b/src/roulette.c
index fb0677cbf..e38da31d0 100644
--- a/src/roulette.c
+++ b/src/roulette.c
@@ -1727,7 +1727,7 @@ static void sub_8141E7C(u8 taskId) // end roulette ?
ResetPaletteFade();
ResetSpriteData();
sub_8140418();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_ReturnToField);
DestroyTask(taskId);
}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index 82da62b27..e53b20b6b 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -810,7 +810,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF848();
+ DoTeleportWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
@@ -2286,7 +2286,7 @@ void SetMovingNpcId(u16 npcId)
sMovingNpcId = npcId;
}
-bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
+bool8 ScrCmd_warpsootopolislegend(struct ScriptContext *ctx)
{
u8 mapGroup = ScriptReadByte(ctx);
u8 mapNum = ScriptReadByte(ctx);
@@ -2295,7 +2295,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx)
u16 y = VarGet(ScriptReadHalfword(ctx));
SetWarpDestination(mapGroup, mapNum, warpId, x, y);
- sub_80AF79C();
+ DoSootopolisLegendWarp();
ResetInitialPlayerAvatarState();
return TRUE;
}
diff --git a/src/secret_base.c b/src/secret_base.c
index fe941008c..0c67c9596 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -413,7 +413,7 @@ static void Task_EnterSecretBase(u8 taskId)
SetSecretBaseWarpDestination();
WarpIntoMap();
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_LoadMap);
DestroyTask(taskId);
break;
@@ -456,7 +456,7 @@ static void EnterNewlyCreatedSecretBase_StartFadeIn(void)
y += 7;
MapGridSetMetatileIdAt(x, y, 0x220 | METATILE_COLLISION_MASK);
CurrentMapDrawMetatileAt(x, y);
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(EnterNewlyCreatedSecretBase_WaitFadeIn, 0);
}
@@ -678,7 +678,7 @@ static void Task_WarpOutOfSecretBase(u8 taskId)
case 2:
SetWarpDestinationToDynamicWarp(0x7e);
WarpIntoMap();
- gFieldCallback = mapldr_default;
+ gFieldCallback = FieldCB_DefaultWarpExit;
SetMainCallback2(CB2_LoadMap);
ScriptContext2_Disable();
DestroyTask(taskId);
diff --git a/src/shop.c b/src/shop.c
index 5b83ca2a9..0bb527f81 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -390,7 +390,7 @@ static void Task_GoToBuyOrSellMenu(u8 taskId)
static void MapPostLoadHook_ReturnToShopMenu(void)
{
- pal_fill_black();
+ FadeInFromBlack();
CreateTask(Task_ReturnToShopMenu, 8);
}
diff --git a/src/start_menu.c b/src/start_menu.c
index 99f474a90..e13fc4b26 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -83,7 +83,7 @@ EWRAM_DATA static u8 sBattlePyramidFloorWindowId = 0;
EWRAM_DATA static u8 sStartMenuCursorPos = 0;
EWRAM_DATA static u8 sNumStartMenuActions = 0;
EWRAM_DATA static u8 sCurrentStartMenuActions[9] = {0};
-EWRAM_DATA static u8 sUnknown_02037619[2] = {0};
+EWRAM_DATA static u8 sInitStartMenuData[2] = {0};
EWRAM_DATA static u8 (*sSaveDialogCallback)(void) = NULL;
EWRAM_DATA static u8 sSaveDialogTimer = 0;
@@ -135,9 +135,7 @@ static void StartMenuTask(u8 taskId);
static void SaveGameTask(u8 taskId);
static void sub_80A0550(u8 taskId);
static void sub_80A08A4(u8 taskId);
-
-// Some other callback
-static bool8 sub_809FA00(void);
+static bool8 FieldCB_ReturnToFieldStartMenu(void);
static const struct WindowTemplate sSafariBallsWindowTemplate = {0, 1, 1, 9, 4, 0xF, 8};
@@ -440,33 +438,33 @@ static bool32 PrintStartMenuActions(s8 *pIndex, u32 count)
static bool32 InitStartMenuStep(void)
{
- s8 value = sUnknown_02037619[0];
+ s8 state = sInitStartMenuData[0];
- switch (value)
+ switch (state)
{
case 0:
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 1:
BuildStartMenuActions();
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 2:
sub_81973A4();
DrawStdWindowFrame(sub_81979C4(sNumStartMenuActions), FALSE);
- sUnknown_02037619[1] = 0;
- sUnknown_02037619[0]++;
+ sInitStartMenuData[1] = 0;
+ sInitStartMenuData[0]++;
break;
case 3:
if (GetSafariZoneFlag())
ShowSafariBallsWindow();
if (InBattlePyramid())
ShowPyramidFloorWindow();
- sUnknown_02037619[0]++;
+ sInitStartMenuData[0]++;
break;
case 4:
- if (PrintStartMenuActions(&sUnknown_02037619[1], 2))
- sUnknown_02037619[0]++;
+ if (PrintStartMenuActions(&sInitStartMenuData[1], 2))
+ sInitStartMenuData[0]++;
break;
case 5:
sStartMenuCursorPos = sub_81983AC(GetStartMenuWindowId(), 1, 0, 9, 16, sNumStartMenuActions, sStartMenuCursorPos);
@@ -479,8 +477,8 @@ static bool32 InitStartMenuStep(void)
static void InitStartMenu(void)
{
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
while (!InitStartMenuStep())
;
}
@@ -495,28 +493,28 @@ static void CreateStartMenuTask(TaskFunc followupFunc)
{
u8 taskId;
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
taskId = CreateTask(StartMenuTask, 0x50);
SetTaskFuncWithFollowupFunc(taskId, StartMenuTask, followupFunc);
}
-static bool8 sub_809FA00(void)
+static bool8 FieldCB_ReturnToFieldStartMenu(void)
{
if (InitStartMenuStep() == FALSE)
{
return FALSE;
}
- sub_80AF688();
+ ReturnToFieldOpenStartMenu();
return TRUE;
}
-void sub_809FA18(void)
+void ShowReturnToFieldStartMenu(void)
{
- sUnknown_02037619[0] = 0;
- sUnknown_02037619[1] = 0;
- gFieldCallback2 = sub_809FA00;
+ sInitStartMenuData[0] = 0;
+ sInitStartMenuData[1] = 0;
+ gFieldCallback2 = FieldCB_ReturnToFieldStartMenu;
}
void Task_ShowStartMenu(u8 taskId)
diff --git a/src/trade.c b/src/trade.c
index 91b514067..af60d64c9 100644
--- a/src/trade.c
+++ b/src/trade.c
@@ -1988,73 +1988,28 @@ static void DrawTradeMenuPartyMonInfo(u8 whichParty, u8 monIdx, u8 x, u8 y, u8 w
sTradeMenuData->tilemapBuffer[(y - 1) * 32 + x + 1] = symbolTile;
}
-// Very close but loop preamble not working.
-#ifdef NONMATCHING
static void DrawTradeMenuPartyInfo(u8 whichParty)
{
- int i;
-
+ s32 i;
for (i = 0; i < sTradeMenuData->partyCounts[whichParty]; i++)
{
- DrawTradeMenuPartyMonInfo(whichParty, i,
- sTradeMonLevelCoords[whichParty][i][0],
- sTradeMonLevelCoords[whichParty][i][1],
- sTradeMonBoxCoords[whichParty][i][0],
- sTradeMonBoxCoords[whichParty][i][1]);
+ const u8 (*r5)[2];
+ const u8 (*r4)[2];
+ u32 r0 = 3 * whichParty;
+ const u8 (*r1)[2][2] = sTradeMonLevelCoords;
+
+ r5 = r1[r0];
+ r4 = sTradeMonBoxCoords[r0];
+ DrawTradeMenuPartyMonInfo(
+ whichParty,
+ i,
+ r5[i][0],
+ r5[i][1],
+ r4[i][0],
+ r4[i][1]
+ );
}
}
-#else
-NAKED
-static void DrawTradeMenuPartyInfo(u8 whichParty)
-{
- asm_unified("push {r4-r7,lr}\n\
- sub sp, 0x8\n\
- lsls r0, 24\n\
- lsrs r6, r0, 24\n\
- movs r7, 0\n\
- ldr r0, =sTradeMenuData\n\
- ldr r0, [r0]\n\
- adds r0, 0x36\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- bge _08079E94\n\
- lsls r0, r6, 1\n\
- adds r0, r6\n\
- ldr r1, =sTradeMonLevelCoords\n\
- lsls r0, 2\n\
- adds r5, r0, r1\n\
- ldr r1, =sTradeMonBoxCoords\n\
- adds r4, r0, r1\n\
-_08079E6A:\n\
- lsls r1, r7, 24\n\
- lsrs r1, 24\n\
- ldrb r2, [r5]\n\
- ldrb r3, [r5, 0x1]\n\
- ldrb r0, [r4]\n\
- str r0, [sp]\n\
- ldrb r0, [r4, 0x1]\n\
- str r0, [sp, 0x4]\n\
- adds r0, r6, 0\n\
- bl DrawTradeMenuPartyMonInfo\n\
- adds r5, 0x2\n\
- adds r4, 0x2\n\
- adds r7, 0x1\n\
- ldr r0, =sTradeMenuData\n\
- ldr r0, [r0]\n\
- adds r0, 0x36\n\
- adds r0, r6\n\
- ldrb r0, [r0]\n\
- cmp r7, r0\n\
- blt _08079E6A\n\
-_08079E94:\n\
- add sp, 0x8\n\
- pop {r4-r7}\n\
- pop {r0}\n\
- bx r0\n\
- .pool");
-}
-#endif // NONMATCHING
static void ResetTradeMenuPartyPositions(u8 whichParty)
{
@@ -2541,10 +2496,8 @@ int CanRegisterMonForTradingBoard(struct UnkLinkRfuStruct_02022B14Substruct rfuP
return CANT_REGISTER_MON;
}
-// r6/r7 flip. Ugh.
// Spin Trade wasnt fully implemented, but this checks if a mon would be valid to Spin Trade
// Unlike later generations, this version of Spin Trade isnt only for Eggs
-#ifdef NONMATCHING
int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
{
int i, version, versions, canTradeAnyMon, numMonsLeft;
@@ -2560,8 +2513,8 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
}
}
- canTradeAnyMon = TRUE;
versions = 0;
+ canTradeAnyMon = TRUE;
for (i = 0; i < GetLinkPlayerCount(); i++)
{
version = gLinkPlayers[i].version & 0xFF;
@@ -2581,11 +2534,14 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
struct LinkPlayer *player = &gLinkPlayers[i];
// Does player not have National Dex
- if (!(player->progressFlags & 0xF))
- canTradeAnyMon = FALSE;
+ do
+ {
+ if (!(player->progressFlags & 0xF))
+ canTradeAnyMon = FALSE;
- if (versions && (player->progressFlags / 16))
- canTradeAnyMon = FALSE;
+ if (versions && (player->progressFlags / 16))
+ canTradeAnyMon = FALSE;
+ } while (0);
}
if (canTradeAnyMon == FALSE)
@@ -2611,154 +2567,6 @@ int CanSpinTradeMon(struct Pokemon *mon, u16 monIdx)
else
return CAN_TRADE_MON;
}
-#else
-NAKED
-int CanSpinTradeMon(struct Pokemon *mon, u16 a1)
-{
- asm_unified("push {r4-r7,lr}\n\
- mov r7, r8\n\
- push {r7}\n\
- sub sp, 0x18\n\
- adds r6, r0, 0\n\
- lsls r1, 16\n\
- lsrs r1, 16\n\
- mov r8, r1\n\
- movs r5, 0\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- bge _0807A95A\n\
- mov r4, sp\n\
-_0807A934:\n\
- movs r0, 0x64\n\
- muls r0, r5\n\
- adds r0, r6, r0\n\
- movs r1, 0x41\n\
- bl GetMonData\n\
- str r0, [r4]\n\
- movs r1, 0xCE\n\
- lsls r1, 1\n\
- cmp r0, r1\n\
- bne _0807A94E\n\
- movs r0, 0\n\
- str r0, [r4]\n\
-_0807A94E:\n\
- adds r4, 0x4\n\
- adds r5, 0x1\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r5, r0\n\
- blt _0807A934\n\
-_0807A95A:\n\
- movs r7, 0\n\
- movs r6, 0x1\n\
- movs r5, 0\n\
- ldr r4, =gLinkPlayers\n\
- b _0807A980\n\
- .pool\n\
-_0807A96C:\n\
- ldrb r0, [r4]\n\
- subs r0, 0x4\n\
- cmp r0, 0x1\n\
- bhi _0807A978\n\
- movs r7, 0\n\
- b _0807A97C\n\
-_0807A978:\n\
- movs r0, 0x1\n\
- orrs r7, r0\n\
-_0807A97C:\n\
- adds r4, 0x1C\n\
- adds r5, 0x1\n\
-_0807A980:\n\
- bl GetLinkPlayerCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r5, r0\n\
- blt _0807A96C\n\
- movs r5, 0\n\
- movs r4, 0\n\
- b _0807A9B4\n\
-_0807A992:\n\
- ldr r0, =gLinkPlayers\n\
- adds r2, r4, r0\n\
- ldrb r1, [r2, 0x10]\n\
- movs r0, 0xF\n\
- ands r0, r1\n\
- cmp r0, 0\n\
- bne _0807A9A2\n\
- movs r6, 0\n\
-_0807A9A2:\n\
- cmp r7, 0\n\
- beq _0807A9B0\n\
- ldrb r0, [r2, 0x10]\n\
- lsrs r0, 4\n\
- cmp r0, 0\n\
- beq _0807A9B0\n\
- movs r6, 0\n\
-_0807A9B0:\n\
- adds r4, 0x1C\n\
- adds r5, 0x1\n\
-_0807A9B4:\n\
- bl GetLinkPlayerCount\n\
- lsls r0, 24\n\
- lsrs r0, 24\n\
- cmp r5, r0\n\
- blt _0807A992\n\
- cmp r6, 0\n\
- bne _0807A9EA\n\
- mov r1, r8\n\
- lsls r0, r1, 2\n\
- mov r1, sp\n\
- adds r4, r1, r0\n\
- ldrh r0, [r4]\n\
- bl IsSpeciesInHoennDex\n\
- cmp r0, 0\n\
- bne _0807A9E0\n\
- movs r0, 0x2\n\
- b _0807AA1A\n\
- .pool\n\
-_0807A9E0:\n\
- ldr r0, [r4]\n\
- cmp r0, 0\n\
- bne _0807A9EA\n\
- movs r0, 0x3\n\
- b _0807AA1A\n\
-_0807A9EA:\n\
- movs r2, 0\n\
- movs r5, 0\n\
- ldr r0, =gPlayerPartyCount\n\
- ldrb r0, [r0]\n\
- cmp r2, r0\n\
- bge _0807AA0A\n\
- adds r3, r0, 0\n\
- mov r1, sp\n\
-_0807A9FA:\n\
- cmp r8, r5\n\
- beq _0807AA02\n\
- ldr r0, [r1]\n\
- adds r2, r0\n\
-_0807AA02:\n\
- adds r1, 0x4\n\
- adds r5, 0x1\n\
- cmp r5, r3\n\
- blt _0807A9FA\n\
-_0807AA0A:\n\
- cmp r2, 0\n\
- beq _0807AA18\n\
- movs r0, 0\n\
- b _0807AA1A\n\
- .pool\n\
-_0807AA18:\n\
- movs r0, 0x1\n\
-_0807AA1A:\n\
- add sp, 0x18\n\
- pop {r3}\n\
- mov r8, r3\n\
- pop {r4-r7}\n\
- pop {r1}\n\
- bx r1");
-}
-#endif // NONMATCHING
static void sub_807AA28(struct Sprite *sprite)
{
@@ -4942,7 +4750,7 @@ static void Task_InGameTrade(u8 taskId)
if (!gPaletteFade.active)
{
SetMainCallback2(CB2_InGameTrade);
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
DestroyTask(taskId);
}
}
diff --git a/src/union_room.c b/src/union_room.c
index 3880d85be..08e177bac 100644
--- a/src/union_room.c
+++ b/src/union_room.c
@@ -1424,7 +1424,7 @@ void sub_8014384(void)
break;
case 1:
if (!FuncIsActiveTask(sub_80140E0))
- SetMainCallback2(sub_8086074);
+ SetMainCallback2(CB2_ReturnToFieldCableClub);
break;
}
@@ -2880,7 +2880,7 @@ void sub_80156E0(u8 taskId)
if (!gPaletteFade.active)
{
sUnionRoomTrade.field_0 = 1;
- gFieldCallback = sub_80AF128;
+ gFieldCallback = FieldCB_ContinueScriptUnionRoom;
ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_REGISTER, CB2_ReturnToField);
}
break;
@@ -2992,7 +2992,7 @@ void sub_80156E0(u8 taskId)
memcpy(&gUnknown_02022C38, &data->field_0->arr[taskData[1]].unk.field_0.unk_00, sizeof(gUnknown_02022C38));
gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.field_0.type;
gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.field_0.species;
- gFieldCallback = sub_80AF128;
+ gFieldCallback = FieldCB_ContinueScriptUnionRoom;
ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField);
sub_80156B0(data);
sUnionRoomTrade.field_8 = taskData[1];
diff --git a/src/walda_phrase.c b/src/walda_phrase.c
index e8c1e4aed..4b617e3b8 100644
--- a/src/walda_phrase.c
+++ b/src/walda_phrase.c
@@ -70,7 +70,7 @@ static void CB2_HandleGivenWaldaPhrase(void)
}
StringCopy(gStringVar1, GetWaldaPhrasePtr());
- gFieldCallback = FieldCallback_ReturnToEventScript2;
+ gFieldCallback = FieldCB_ContinueScriptHandleMusic;
SetMainCallback2(CB2_ReturnToField);
}