summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile3
-rw-r--r--asm/contest.s8290
-rw-r--r--asm/m4a_3.s574
-rw-r--r--asm/rom_8011DC0.s4
-rw-r--r--common_syms/contest_painting.txt4
-rw-r--r--common_syms/contest_painting_effects.txt10
-rw-r--r--common_syms/evolution_scene.txt1
-rw-r--r--common_syms/m4a.txt (renamed from common_syms/m4a_2.txt)0
-rw-r--r--common_syms/party_menu.txt1
-rw-r--r--common_syms/pokedex_cry_screen.txt1
-rw-r--r--data/battle_anim_80A9C70.s89
-rw-r--r--data/contest.s2
-rw-r--r--data/event_scripts.s15
-rw-r--r--data/fanfares.s26
-rw-r--r--data/field_weather.s103
-rw-r--r--data/layouts/RustboroCity_House/layout.inc2
-rw-r--r--data/layouts_table.inc2
-rw-r--r--data/map_events.s10
-rw-r--r--data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc2
-rw-r--r--data/maps/LavaridgeTown/scripts.inc2
-rw-r--r--data/maps/LavaridgeTown_Gym_1F/scripts.inc8
-rw-r--r--data/maps/LavaridgeTown_Gym_B1F/scripts.inc8
-rw-r--r--data/maps/LinkContestRoom1/events.inc1
-rw-r--r--data/maps/LinkContestRoom1/scripts.inc457
-rw-r--r--data/maps/LinkContestRoom2/events.inc2
-rw-r--r--data/maps/LinkContestRoom2/header.inc4
-rw-r--r--data/maps/LinkContestRoom2/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom3/events.inc2
-rw-r--r--data/maps/LinkContestRoom3/header.inc4
-rw-r--r--data/maps/LinkContestRoom3/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom4/events.inc2
-rw-r--r--data/maps/LinkContestRoom4/header.inc4
-rw-r--r--data/maps/LinkContestRoom4/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom5/events.inc2
-rw-r--r--data/maps/LinkContestRoom5/header.inc4
-rw-r--r--data/maps/LinkContestRoom5/scripts.inc2
-rw-r--r--data/maps/LinkContestRoom6/events.inc2
-rw-r--r--data/maps/LinkContestRoom6/header.inc4
-rw-r--r--data/maps/LinkContestRoom6/scripts.inc2
-rw-r--r--data/maps/LittlerootTown/scripts.inc6
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc6
-rw-r--r--data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc2
-rw-r--r--data/maps/LittlerootTown_MaysHouse_1F/scripts.inc6
-rw-r--r--data/maps/LittlerootTown_MaysHouse_2F/scripts.inc2
-rw-r--r--data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc4
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc10
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc8
-rw-r--r--data/maps/MossdeepCity_StevensHouse/scripts.inc2
-rw-r--r--data/maps/MtChimney_CableCarStation/scripts.inc4
-rw-r--r--data/maps/OldaleTown/scripts.inc4
-rw-r--r--data/maps/PetalburgCity/header.inc2
-rw-r--r--data/maps/PetalburgCity/scripts.inc5
-rw-r--r--data/maps/Route104_MrBrineysHouse/scripts.inc4
-rw-r--r--data/maps/Route110/scripts.inc4
-rw-r--r--data/maps/Route112_CableCarStation/scripts.inc4
-rw-r--r--data/maps/Route114_FossilManiacsTunnel/scripts.inc2
-rw-r--r--data/maps/Route119_WeatherInstitute_1F/scripts.inc2
-rw-r--r--data/maps/Route119_WeatherInstitute_2F/scripts.inc6
-rw-r--r--data/maps/Route120/scripts.inc2
-rw-r--r--data/maps/RustboroCity/scripts.inc10
-rw-r--r--data/maps/RustboroCity_DevonCorp_1F/scripts.inc2
-rw-r--r--data/maps/RustboroCity_DevonCorp_3F/scripts.inc2
-rw-r--r--data/maps/RustboroCity_House2/header.inc2
-rw-r--r--data/maps/RustboroCity_House3/header.inc2
-rw-r--r--data/maps/SkyPillar_Top/scripts.inc2
-rw-r--r--data/maps/SlateportCity/scripts.inc20
-rw-r--r--data/maps/SlateportCity_Harbor/scripts.inc4
-rw-r--r--data/maps/SootopolisCity/scripts.inc14
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc4
-rw-r--r--data/maps/UnknownMap_25_29/events.inc2
-rw-r--r--data/maps/UnknownMap_25_29/header.inc4
-rw-r--r--data/maps/UnknownMap_25_29/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_30/events.inc2
-rw-r--r--data/maps/UnknownMap_25_30/header.inc4
-rw-r--r--data/maps/UnknownMap_25_30/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_31/events.inc2
-rw-r--r--data/maps/UnknownMap_25_31/header.inc4
-rw-r--r--data/maps/UnknownMap_25_31/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_32/events.inc2
-rw-r--r--data/maps/UnknownMap_25_32/header.inc4
-rw-r--r--data/maps/UnknownMap_25_32/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_33/events.inc2
-rw-r--r--data/maps/UnknownMap_25_33/header.inc4
-rw-r--r--data/maps/UnknownMap_25_33/scripts.inc2
-rw-r--r--data/maps/UnknownMap_25_34/events.inc2
-rw-r--r--data/maps/UnknownMap_25_34/header.inc4
-rw-r--r--data/maps/UnknownMap_25_34/scripts.inc457
-rw-r--r--data/maps/VictoryRoad_1F/scripts.inc4
-rw-r--r--data/text/contest_strings.inc10
-rw-r--r--graphics/misc/sunny_day/0.pal259
-rw-r--r--graphics/misc/sunny_day/1.pal259
-rw-r--r--graphics/misc/sunny_day/10.pal259
-rw-r--r--graphics/misc/sunny_day/11.pal259
-rw-r--r--graphics/misc/sunny_day/12.pal259
-rw-r--r--graphics/misc/sunny_day/13.pal259
-rw-r--r--graphics/misc/sunny_day/14.pal259
-rw-r--r--graphics/misc/sunny_day/15.pal259
-rw-r--r--graphics/misc/sunny_day/16.pal259
-rw-r--r--graphics/misc/sunny_day/17.pal259
-rw-r--r--graphics/misc/sunny_day/18.pal259
-rw-r--r--graphics/misc/sunny_day/19.pal259
-rw-r--r--graphics/misc/sunny_day/2.pal259
-rw-r--r--graphics/misc/sunny_day/20.pal259
-rw-r--r--graphics/misc/sunny_day/21.pal259
-rw-r--r--graphics/misc/sunny_day/22.pal259
-rw-r--r--graphics/misc/sunny_day/23.pal259
-rw-r--r--graphics/misc/sunny_day/24.pal259
-rw-r--r--graphics/misc/sunny_day/25.pal259
-rw-r--r--graphics/misc/sunny_day/26.pal259
-rw-r--r--graphics/misc/sunny_day/27.pal259
-rw-r--r--graphics/misc/sunny_day/28.pal259
-rw-r--r--graphics/misc/sunny_day/29.pal259
-rw-r--r--graphics/misc/sunny_day/3.pal259
-rw-r--r--graphics/misc/sunny_day/30.pal259
-rw-r--r--graphics/misc/sunny_day/31.pal259
-rw-r--r--graphics/misc/sunny_day/32.pal259
-rw-r--r--graphics/misc/sunny_day/33.pal259
-rw-r--r--graphics/misc/sunny_day/34.pal259
-rw-r--r--graphics/misc/sunny_day/35.pal259
-rw-r--r--graphics/misc/sunny_day/36.pal259
-rw-r--r--graphics/misc/sunny_day/37.pal259
-rw-r--r--graphics/misc/sunny_day/38.pal259
-rw-r--r--graphics/misc/sunny_day/39.pal259
-rw-r--r--graphics/misc/sunny_day/4.pal259
-rw-r--r--graphics/misc/sunny_day/40.pal259
-rw-r--r--graphics/misc/sunny_day/41.pal259
-rw-r--r--graphics/misc/sunny_day/42.pal259
-rw-r--r--graphics/misc/sunny_day/43.pal259
-rw-r--r--graphics/misc/sunny_day/44.pal259
-rw-r--r--graphics/misc/sunny_day/45.pal259
-rw-r--r--graphics/misc/sunny_day/46.pal259
-rw-r--r--graphics/misc/sunny_day/47.pal259
-rw-r--r--graphics/misc/sunny_day/48.pal259
-rw-r--r--graphics/misc/sunny_day/49.pal259
-rw-r--r--graphics/misc/sunny_day/5.pal259
-rw-r--r--graphics/misc/sunny_day/50.pal259
-rw-r--r--graphics/misc/sunny_day/51.pal259
-rw-r--r--graphics/misc/sunny_day/52.pal259
-rw-r--r--graphics/misc/sunny_day/53.pal259
-rw-r--r--graphics/misc/sunny_day/54.pal259
-rw-r--r--graphics/misc/sunny_day/55.pal259
-rw-r--r--graphics/misc/sunny_day/56.pal259
-rw-r--r--graphics/misc/sunny_day/57.pal259
-rw-r--r--graphics/misc/sunny_day/58.pal259
-rw-r--r--graphics/misc/sunny_day/59.pal259
-rw-r--r--graphics/misc/sunny_day/6.pal259
-rw-r--r--graphics/misc/sunny_day/60.pal259
-rw-r--r--graphics/misc/sunny_day/61.pal259
-rw-r--r--graphics/misc/sunny_day/62.pal259
-rw-r--r--graphics/misc/sunny_day/63.pal259
-rw-r--r--graphics/misc/sunny_day/64.pal259
-rw-r--r--graphics/misc/sunny_day/65.pal259
-rw-r--r--graphics/misc/sunny_day/66.pal259
-rw-r--r--graphics/misc/sunny_day/67.pal259
-rw-r--r--graphics/misc/sunny_day/68.pal259
-rw-r--r--graphics/misc/sunny_day/69.pal259
-rw-r--r--graphics/misc/sunny_day/7.pal259
-rw-r--r--graphics/misc/sunny_day/70.pal259
-rw-r--r--graphics/misc/sunny_day/71.pal259
-rw-r--r--graphics/misc/sunny_day/72.pal259
-rw-r--r--graphics/misc/sunny_day/73.pal259
-rw-r--r--graphics/misc/sunny_day/74.pal259
-rw-r--r--graphics/misc/sunny_day/75.pal259
-rw-r--r--graphics/misc/sunny_day/76.pal259
-rw-r--r--graphics/misc/sunny_day/77.pal259
-rw-r--r--graphics/misc/sunny_day/78.pal259
-rw-r--r--graphics/misc/sunny_day/79.pal259
-rw-r--r--graphics/misc/sunny_day/8.pal259
-rw-r--r--graphics/misc/sunny_day/80.pal259
-rw-r--r--graphics/misc/sunny_day/81.pal259
-rw-r--r--graphics/misc/sunny_day/82.pal259
-rw-r--r--graphics/misc/sunny_day/83.pal259
-rw-r--r--graphics/misc/sunny_day/84.pal259
-rw-r--r--graphics/misc/sunny_day/85.pal259
-rw-r--r--graphics/misc/sunny_day/86.pal259
-rw-r--r--graphics/misc/sunny_day/87.pal259
-rw-r--r--graphics/misc/sunny_day/88.pal259
-rw-r--r--graphics/misc/sunny_day/89.pal259
-rw-r--r--graphics/misc/sunny_day/9.pal259
-rw-r--r--graphics/misc/sunny_day/90.pal259
-rw-r--r--graphics/misc/sunny_day/91.pal259
-rw-r--r--graphics/misc/sunny_day/92.pal259
-rw-r--r--graphics/misc/sunny_day/93.pal259
-rw-r--r--graphics/misc/sunny_day/94.pal259
-rw-r--r--graphics/misc/sunny_day/95.pal259
-rw-r--r--graphics/weather/drought/colors_0.binbin0 -> 8192 bytes
-rw-r--r--graphics/weather/drought/colors_1.binbin0 -> 8192 bytes
-rw-r--r--graphics/weather/drought/colors_2.binbin0 -> 8192 bytes
-rw-r--r--graphics/weather/drought/colors_3.binbin0 -> 8192 bytes
-rw-r--r--graphics/weather/drought/colors_4.binbin0 -> 8192 bytes
-rw-r--r--graphics/weather/drought/colors_5.binbin0 -> 8192 bytes
-rw-r--r--include/battle.h81
-rw-r--r--include/battle_anim.h4
-rw-r--r--include/battle_util.h6
-rw-r--r--include/contest.h118
-rw-r--r--include/contest_painting.h3
-rw-r--r--include/gba/m4a_internal.h65
-rw-r--r--include/global.tv.h4
-rw-r--r--include/graphics.h4
-rw-r--r--include/list_menu.h2
-rw-r--r--include/party_menu.h2
-rwxr-xr-xinclude/pokedex_cry_screen.h2
-rw-r--r--include/text.h5
-rw-r--r--include/trade.h3
-rw-r--r--include/tv.h5
-rw-r--r--include/util.h2
-rw-r--r--ld_script.txt11
-rw-r--r--src/battle_anim_80A9C70.c176
-rw-r--r--src/battle_bg.c26
-rw-r--r--src/battle_controller_player.c6
-rw-r--r--src/battle_gfx_sfx_util.c4
-rw-r--r--src/battle_intro.c8
-rw-r--r--src/battle_main.c10
-rw-r--r--src/battle_message.c2
-rw-r--r--src/battle_pyramid_bag.c8
-rw-r--r--src/battle_script_commands.c32
-rw-r--r--src/battle_util.c50
-rw-r--r--src/cable_club.c4
-rw-r--r--src/contest.c4920
-rw-r--r--src/contest_link_80F57C4.c16
-rw-r--r--src/contest_painting.c13
-rw-r--r--src/contest_painting_effects.c19
-rw-r--r--src/daycare.c6
-rw-r--r--src/decoration.c14
-rw-r--r--src/dragon.c4
-rw-r--r--src/evolution_scene.c15
-rw-r--r--src/field_player_avatar.c20
-rw-r--r--src/field_specials.c8
-rw-r--r--src/field_weather.c20
-rw-r--r--src/graphics.c4
-rw-r--r--src/ice.c305
-rwxr-xr-xsrc/item_menu.c16
-rwxr-xr-xsrc/item_use.c5
-rw-r--r--src/learn_move.c2
-rw-r--r--src/list_menu.c4
-rw-r--r--src/m4a.c1779
-rw-r--r--src/m4a_2.c912
-rw-r--r--src/m4a_4.c545
-rw-r--r--src/mauville_old_man.c20
-rw-r--r--src/palette.c6
-rwxr-xr-xsrc/party_menu.c225
-rw-r--r--src/player_pc.c34
-rw-r--r--src/pokeblock.c4
-rw-r--r--src/pokedex.c2
-rwxr-xr-xsrc/pokedex_cry_screen.c5
-rw-r--r--src/pokemon.c16
-rw-r--r--src/pokemon_icon.c6
-rw-r--r--src/pokemon_storage_system.c4
-rw-r--r--src/recorded_battle.c6
-rw-r--r--src/rom_8011DC0.c8
-rw-r--r--src/script_menu.c4
-rw-r--r--src/secret_base.c10
-rwxr-xr-xsrc/shop.c6
-rw-r--r--src/sound.c22
-rw-r--r--src/trader.c4
-rwxr-xr-xsrc/trainer_card.c1
-rw-r--r--src/trainer_see.c89
-rw-r--r--src/tv.c16
-rw-r--r--sym_common.txt63
-rw-r--r--sym_ewram.txt36
260 files changed, 6989 insertions, 38051 deletions
diff --git a/Makefile b/Makefile
index 32cc9df73..091cba61f 100644
--- a/Makefile
+++ b/Makefile
@@ -130,8 +130,7 @@ $(C_BUILDDIR)/agb_flash.o: CFLAGS := -O -mthumb-interwork
$(C_BUILDDIR)/agb_flash_1m.o: CFLAGS := -O -mthumb-interwork
$(C_BUILDDIR)/agb_flash_mx.o: CFLAGS := -O -mthumb-interwork
-$(C_BUILDDIR)/m4a_2.o: CC1 := tools/agbcc/bin/old_agbcc
-$(C_BUILDDIR)/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
+$(C_BUILDDIR)/m4a.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/record_mixing.o: CFLAGS += -ffreestanding
diff --git a/asm/contest.s b/asm/contest.s
deleted file mode 100644
index a9abd9430..000000000
--- a/asm/contest.s
+++ /dev/null
@@ -1,8290 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80DB884
-sub_80DB884: @ 80DB884
- push {r4,lr}
- movs r4, 0
-_080DB888:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80DB798
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DB888
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DB884
-
- thumb_func_start sub_80DB89C
-sub_80DB89C: @ 80DB89C
- push {lr}
- movs r0, 0x4
- movs r1, 0
- bl FillWindowPixelBuffer
- movs r0, 0x4
- movs r1, 0x2
- bl CopyWindowToVram
- movs r0, 0
- bl Contest_SetBgCopyFlags
- pop {r0}
- bx r0
- thumb_func_end sub_80DB89C
-
- thumb_func_start sub_80DB8B8
-sub_80DB8B8: @ 80DB8B8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl Contest_IsMonsTurnDisabled
- lsls r0, 24
- cmp r0, 0
- beq _080DB8D0
- movs r0, 0
- b _080DB90A
-_080DB8D0:
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- cmp r4, r0
- beq _080DB8F4
- adds r0, r4, 0
- bl ContestAI_ResetAI
- bl ContestAI_GetActionToUse
- lsls r0, 24
- ldr r2, =gContestMons
- lsrs r0, 23
- lsls r1, r4, 6
- b _080DB902
- .pool
-_080DB8F4:
- ldr r2, =gContestMons
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 1
- lsls r1, r5, 6
-_080DB902:
- adds r0, r1
- adds r2, 0x1E
- adds r0, r2
- ldrh r0, [r0]
-_080DB90A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DB8B8
-
- thumb_func_start sub_80DB918
-sub_80DB918: @ 80DB918
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_080DB91E:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80DB8B8
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- adds r1, r5, r1
- strh r0, [r1, 0x6]
- adds r5, 0x1C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DB91E
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DB918
-
- thumb_func_start sub_80DB944
-sub_80DB944: @ 80DB944
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r5, =gContestResources
- mov r4, sp
- movs r3, 0
- movs r6, 0x3
-_080DB956:
- ldr r2, [r5]
- ldr r1, [r2, 0x4]
- adds r1, r3, r1
- ldrh r0, [r1, 0x2]
- ldrh r7, [r1, 0x4]
- adds r0, r7
- strh r0, [r1, 0x4]
- ldr r0, [r2, 0x4]
- adds r0, r3, r0
- ldrh r0, [r0, 0x4]
- strh r0, [r4]
- adds r4, 0x2
- adds r3, 0x1C
- subs r6, 0x1
- cmp r6, 0
- bge _080DB956
- movs r6, 0
-_080DB978:
- movs r4, 0x3
- cmp r4, r6
- ble _080DB9A4
-_080DB97E:
- subs r5, r4, 0x1
- lsls r0, r5, 1
- mov r1, sp
- adds r3, r1, r0
- lsls r0, r4, 1
- adds r2, r1, r0
- ldrh r4, [r3]
- movs r7, 0
- ldrsh r1, [r3, r7]
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080DB99E
- ldrh r0, [r2]
- strh r4, [r2]
- strh r0, [r3]
-_080DB99E:
- adds r4, r5, 0
- cmp r4, r6
- bgt _080DB97E
-_080DB9A4:
- adds r6, 0x1
- cmp r6, 0x2
- ble _080DB978
- movs r6, 0
- movs r0, 0x4
- negs r0, r0
- mov r9, r0
- ldr r1, =gContestResources
- mov r8, r1
- movs r7, 0x3
- mov r12, r7
-_080DB9BA:
- movs r4, 0
- lsls r0, r6, 3
- adds r7, r6, 0x1
- subs r0, r6
- lsls r5, r0, 2
- mov r3, sp
-_080DB9C6:
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r2, r5, r0
- movs r6, 0x4
- ldrsh r1, [r2, r6]
- movs r6, 0
- ldrsh r0, [r3, r6]
- cmp r1, r0
- bne _080DB9F0
- mov r0, r12
- ands r4, r0
- ldrb r1, [r2, 0xB]
- mov r0, r9
- ands r0, r1
- orrs r0, r4
- strb r0, [r2, 0xB]
- b _080DB9F8
- .pool
-_080DB9F0:
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DB9C6
-_080DB9F8:
- adds r6, r7, 0
- cmp r6, 0x3
- ble _080DB9BA
- movs r0, 0x1
- bl sub_80DCE58
- bl sub_80DD590
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DB944
-
- thumb_func_start sub_80DBA18
-sub_80DBA18: @ 80DBA18
- push {r4,r5,lr}
- ldr r4, =gContestResources
- movs r2, 0
- movs r3, 0x3
-_080DBA20:
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- adds r1, r2, r0
- ldrh r0, [r1, 0x6]
- cmp r0, 0
- bne _080DBA34
- movs r1, 0x5
- b _080DBA52
- .pool
-_080DBA34:
- movs r5, 0x2
- ldrsh r0, [r1, r5]
- movs r1, 0
- cmp r0, 0
- ble _080DBA52
- movs r1, 0x1
- cmp r0, 0x1D
- ble _080DBA52
- movs r1, 0x2
- cmp r0, 0x3B
- ble _080DBA52
- movs r1, 0x4
- cmp r0, 0x4F
- bgt _080DBA52
- movs r1, 0x3
-_080DBA52:
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- adds r0, r2, r0
- strb r1, [r0, 0x1A]
- adds r2, 0x1C
- subs r3, 0x1
- cmp r3, 0
- bge _080DBA20
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBA18
-
- thumb_func_start sub_80DBA68
-sub_80DBA68: @ 80DBA68
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080DBA90
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080DBA98
-_080DBA90:
- movs r0, 0
- b _080DBA9A
- .pool
-_080DBA98:
- movs r0, 0x1
-_080DBA9A:
- pop {r1}
- bx r1
- thumb_func_end sub_80DBA68
-
- thumb_func_start sub_80DBAA0
-sub_80DBAA0: @ 80DBAA0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r5, =gContestResources
- movs r0, 0
- mov r8, r0
- movs r1, 0x7
- negs r1, r1
- mov r10, r1
- movs r0, 0x2
- negs r0, r0
- mov r9, r0
- movs r4, 0
- movs r6, 0x3
-_080DBAC0:
- ldr r1, [r5]
- ldr r0, [r1, 0x4]
- adds r0, r4, r0
- movs r2, 0
- strh r2, [r0, 0x2]
- ldr r0, [r1, 0x4]
- adds r0, r4, r0
- strh r2, [r0]
- ldr r0, [r1, 0x4]
- adds r0, r4, r0
- mov r1, r8
- strb r1, [r0, 0x12]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r3, r4, r0
- ldrb r2, [r3, 0xC]
- movs r0, 0x6
- ands r0, r2
- cmp r0, 0
- beq _080DBAFC
- lsls r0, r2, 29
- lsrs r0, 30
- subs r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 1
- mov r1, r10
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
-_080DBAFC:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- mov r1, r8
- strb r1, [r0, 0xE]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x10]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- mov r1, r8
- strb r1, [r0, 0xF]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x10]
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x10]
- movs r7, 0x5
- negs r7, r7
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x10]
- movs r0, 0x9
- negs r0, r0
- mov r12, r0
- ands r0, r2
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0xC]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0xC]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- movs r1, 0xFF
- strb r1, [r0, 0x13]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- movs r1, 0x1
- negs r1, r1
- strb r1, [r0, 0x14]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x10]
- movs r0, 0x31
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- ldr r2, [r0, 0x4]
- adds r2, r4, r2
- ldrb r3, [r2, 0x15]
- lsls r1, r3, 31
- lsrs r1, 31
- lsls r1, 2
- adds r0, r7, 0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x15]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x15]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x15]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x11]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x11]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x11]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x11]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r2, r4, r0
- ldrb r1, [r2, 0x11]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080DBBF4
- ldrb r1, [r2, 0xC]
- mov r0, r10
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x11]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1, 0x11]
-_080DBBF4:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r2, r4, r0
- ldrb r1, [r2, 0x11]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080DBC1A
- ldrb r0, [r2, 0xB]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0xB]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x11]
- mov r0, r12
- ands r0, r2
- strb r0, [r1, 0x11]
-_080DBC1A:
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x11]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x11]
- adds r4, 0x1C
- subs r6, 0x1
- cmp r6, 0
- blt _080DBC34
- b _080DBAC0
-_080DBC34:
- movs r6, 0
- ldr r5, =gContestResources
- movs r7, 0
- movs r4, 0
-_080DBC3C:
- ldr r3, [r5]
- ldr r0, [r3, 0x4]
- adds r0, r4, r0
- ldrh r1, [r0, 0x6]
- strh r1, [r0, 0x8]
- ldr r2, [r3]
- lsls r1, r6, 1
- ldrb r0, [r2, 0x1]
- lsls r0, 3
- adds r1, r0
- adds r2, 0x1C
- adds r2, r1
- ldr r0, [r3, 0x4]
- adds r0, r4, r0
- ldrh r0, [r0, 0x6]
- strh r0, [r2]
- ldr r0, [r3, 0x4]
- adds r0, r4, r0
- ldrh r0, [r0, 0x6]
- bl Contest_GetMoveExcitement
- ldr r1, [r5]
- ldr r2, [r1]
- ldrb r1, [r2, 0x1]
- lsls r1, 2
- adds r1, r6, r1
- adds r2, 0x44
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- strh r7, [r0, 0x6]
- adds r4, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _080DBC3C
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0, 0x10]
- ldrb r1, [r2, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DBAA0
-
- thumb_func_start Contest_IsMonsTurnDisabled
-Contest_IsMonsTurnDisabled: @ 80DBCA8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080DBCD0
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080DBCD8
-_080DBCD0:
- movs r0, 0x1
- b _080DBCDA
- .pool
-_080DBCD8:
- movs r0, 0
-_080DBCDA:
- pop {r1}
- bx r1
- thumb_func_end Contest_IsMonsTurnDisabled
-
- thumb_func_start sub_80DBCE0
-sub_80DBCE0: @ 80DBCE0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80DBD34
- ldr r1, =gUnknown_02039F18
- lsls r4, 1
- adds r1, r4, r1
- strh r0, [r1]
- ldr r2, =gUnknown_02039F08
- adds r2, r4, r2
- ldr r1, =gContestMonConditions
- adds r4, r1
- ldrh r4, [r4]
- adds r0, r4
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DBCE0
-
- thumb_func_start sub_80DBD18
-sub_80DBD18: @ 80DBD18
- push {r4,lr}
- movs r4, 0
-_080DBD1C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80DBCE0
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DBD1C
- bl sub_80DBD4C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBD18
-
- thumb_func_start sub_80DBD34
-sub_80DBD34: @ 80DBD34
- lsls r0, 24
- ldr r1, =gUnknown_02039F10
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 17
- asrs r0, 16
- bx lr
- .pool
- thumb_func_end sub_80DBD34
-
- thumb_func_start sub_80DBD4C
-sub_80DBD4C: @ 80DBD4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x8
- str r1, [sp, 0x64]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x68]
- mov r6, sp
- adds r6, 0x14
- str r6, [sp, 0x6C]
- mov r4, sp
-_080DBD7A:
- bl Random
- strh r0, [r4]
- movs r2, 0
- cmp r2, r9
- bge _080DBDB8
- mov r1, sp
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bne _080DBD9C
- subs r4, 0x2
- movs r7, 0x1
- negs r7, r7
- add r9, r7
- b _080DBDB8
-_080DBD9C:
- adds r2, 0x1
- cmp r2, r9
- bge _080DBDB8
- lsls r0, r2, 1
- mov r3, sp
- adds r1, r3, r0
- ldrh r0, [r4]
- ldrh r1, [r1]
- cmp r0, r1
- bne _080DBD9C
- subs r4, 0x2
- movs r6, 0x1
- negs r6, r6
- add r9, r6
-_080DBDB8:
- adds r4, 0x2
- movs r7, 0x1
- add r9, r7
- mov r0, r9
- cmp r0, 0x3
- ble _080DBD7A
- movs r1, 0
- mov r9, r1
- mov r4, sp
- ldr r6, =gUnknown_02039F08
- ldr r2, [sp, 0x64]
- ldr r5, =gContestMonConditions
- ldr r3, [sp, 0x68]
-_080DBDD2:
- mov r7, r9
- lsls r1, r7, 4
- movs r7, 0
- ldrsh r0, [r6, r7]
- str r0, [r2]
- movs r7, 0
- ldrsh r0, [r5, r7]
- str r0, [r3]
- ldrh r0, [r4]
- str r0, [r2, 0x8]
- ldr r0, [sp, 0x6C]
- adds r1, r0, r1
- mov r7, r9
- str r7, [r1]
- adds r4, 0x2
- adds r6, 0x2
- adds r2, 0x10
- adds r5, 0x2
- adds r3, 0x10
- movs r0, 0x1
- add r9, r0
- mov r1, r9
- cmp r1, 0x3
- ble _080DBDD2
- movs r3, 0
- mov r9, r3
-_080DBE06:
- movs r4, 0x3
- cmp r4, r9
- ble _080DBE90
- add r7, sp, 0x48
- ldr r6, [sp, 0x68]
- str r6, [sp, 0x58]
- ldr r0, [sp, 0x64]
- adds r0, 0x8
- str r0, [sp, 0x5C]
- ldr r1, [sp, 0x6C]
- str r1, [sp, 0x60]
-_080DBE1C:
- subs r3, r4, 0x1
- mov r10, r3
- mov r0, r10
- adds r1, r4, 0
- ldr r2, [sp, 0x64]
- bl sub_80DBF30
- lsls r0, 24
- cmp r0, 0
- beq _080DBE8A
- mov r6, r10
- lsls r2, r6, 4
- ldr r0, [sp, 0x64]
- adds r3, r0, r2
- ldr r0, [r3]
- str r0, [sp, 0x48]
- ldr r1, [sp, 0x58]
- adds r6, r1, r2
- ldr r0, [r6]
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x5C]
- adds r0, r2
- mov r8, r0
- ldr r0, [r0]
- str r0, [r7, 0x8]
- ldr r1, [sp, 0x60]
- adds r2, r1, r2
- ldr r0, [r2]
- str r0, [r7, 0xC]
- lsls r1, r4, 4
- ldr r0, [sp, 0x64]
- adds r5, r0, r1
- ldr r0, [r5]
- str r0, [r3]
- ldr r3, [sp, 0x58]
- adds r4, r3, r1
- ldr r0, [r4]
- str r0, [r6]
- ldr r6, [sp, 0x5C]
- adds r3, r6, r1
- ldr r0, [r3]
- mov r6, r8
- str r0, [r6]
- ldr r0, [sp, 0x60]
- adds r1, r0, r1
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [sp, 0x48]
- str r0, [r5]
- ldr r0, [r7, 0x4]
- str r0, [r4]
- ldr r0, [r7, 0x8]
- str r0, [r3]
- ldr r0, [r7, 0xC]
- str r0, [r1]
-_080DBE8A:
- mov r4, r10
- cmp r4, r9
- bgt _080DBE1C
-_080DBE90:
- movs r1, 0x1
- add r9, r1
- mov r3, r9
- cmp r3, 0x2
- ble _080DBE06
- movs r6, 0
- mov r9, r6
- ldr r2, =gContestFinalStandings
- ldr r1, [sp, 0x6C]
-_080DBEA2:
- ldr r0, [r1]
- adds r0, r2
- mov r7, r9
- strb r7, [r0]
- adds r1, 0x10
- movs r0, 0x1
- add r9, r0
- mov r3, r9
- cmp r3, 0x3
- ble _080DBEA2
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DBD4C
-
- thumb_func_start sub_80DBED4
-sub_80DBED4: @ 80DBED4
- push {lr}
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DBF0E
- ldr r0, =gSaveBlock2Ptr
- ldr r2, [r0]
- ldr r1, =gContestFinalStandings
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 1
- ldr r0, =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- lsls r0, 3
- adds r1, r0
- ldr r0, =0x00000624
- adds r2, r0
- adds r2, r1
- ldrh r0, [r2]
- adds r0, 0x1
- ldr r1, =0x0000270f
- cmp r0, r1
- ble _080DBF0C
- adds r0, r1, 0
-_080DBF0C:
- strh r0, [r2]
-_080DBF0E:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DBED4
-
- thumb_func_start sub_80DBF30
-sub_80DBF30: @ 80DBF30
- push {lr}
- lsls r0, 4
- adds r0, r2
- lsls r1, 4
- adds r3, r1, r2
- ldr r2, [r0]
- ldr r1, [r3]
- cmp r2, r1
- blt _080DBF60
- cmp r2, r1
- bgt _080DBF52
- ldr r2, [r0, 0x4]
- ldr r1, [r3, 0x4]
- cmp r2, r1
- blt _080DBF60
- cmp r2, r1
- ble _080DBF56
-_080DBF52:
- movs r2, 0
- b _080DBF62
-_080DBF56:
- ldr r1, [r0, 0x8]
- ldr r0, [r3, 0x8]
- movs r2, 0
- cmp r1, r0
- bge _080DBF62
-_080DBF60:
- movs r2, 0x1
-_080DBF62:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80DBF30
-
- thumb_func_start sub_80DBF68
-sub_80DBF68: @ 80DBF68
- push {lr}
- ldr r0, =gBattle_BG0_Y
- movs r1, 0
- strh r1, [r0]
- ldr r0, =gBattle_BG2_Y
- strh r1, [r0]
- bl sub_80DB89C
- ldr r0, =gUnknown_0827E8DA
- movs r1, 0
- bl Contest_StartTextPrinter
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DBF68
-
- thumb_func_start sub_80DBF90
-sub_80DBF90: @ 80DBF90
- push {r4,r5,lr}
- sub sp, 0xC
- movs r5, 0x80
- lsls r5, 18
- movs r4, 0x3
-_080DBF9A:
- lsrs r3, r5, 24
- movs r0, 0x8
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0x16
- bl ContestBG_FillBoxWithTile
- movs r0, 0xA0
- lsls r0, 19
- adds r5, r0
- subs r4, 0x1
- cmp r4, 0
- bge _080DBF9A
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBF90
-
- thumb_func_start sub_80DBFC8
-sub_80DBFC8: @ 80DBFC8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =0x00005011
- cmp r0, 0
- beq _080DBFE2
- ldr r1, =0x00006011
- cmp r0, 0x1
- beq _080DBFE2
- ldr r1, =0x00008011
- cmp r0, 0x2
- bne _080DBFE2
- ldr r1, =0x00007011
-_080DBFE2:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DBFC8
-
- thumb_func_start sub_80DBFFC
-sub_80DBFFC: @ 80DBFFC
- push {lr}
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r2, r0, 24
- cmp r2, 0x10
- ble _080DC016
- movs r1, 0x10
- b _080DC020
-_080DC016:
- movs r0, 0x10
- negs r0, r0
- cmp r2, r0
- bge _080DC020
- movs r1, 0xF0
-_080DC020:
- lsls r0, r1, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80DBFFC
-
- thumb_func_start sub_80DC028
-sub_80DC028: @ 80DC028
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x2]
- ldr r0, =sub_80DC0F4
- movs r1, 0x14
- bl CreateTask
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80DBFFC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 16
- asrs r6, 16
- adds r5, r6
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80DBFFC
- lsls r4, 24
- asrs r4, 24
- subs r0, r4
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, r8
- bl sub_80DBFC8
- ldr r2, =gTasks
- lsls r3, r7, 2
- adds r0, r3, r7
- lsls r0, 3
- adds r1, r0, r2
- adds r0, r4, 0
- cmp r4, 0
- bge _080DC0A0
- negs r0, r4
-_080DC0A0:
- strh r0, [r1, 0x8]
- lsls r0, r5, 24
- asrs r0, 24
- strh r0, [r1, 0xA]
- cmp r4, 0
- bgt _080DC0B4
- cmp r4, 0
- bne _080DC0C8
- cmp r0, 0
- ble _080DC0C8
-_080DC0B4:
- movs r0, 0x1
- strh r0, [r1, 0xC]
- b _080DC0D6
- .pool
-_080DC0C8:
- ldr r2, =gTasks
- lsls r3, r7, 2
- adds r0, r3, r7
- lsls r0, 3
- adds r0, r2
- ldr r1, =0x0000ffff
- strh r1, [r0, 0xC]
-_080DC0D6:
- adds r0, r3, r7
- lsls r0, 3
- adds r0, r2
- mov r1, r8
- strh r1, [r0, 0xE]
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DC028
-
- thumb_func_start sub_80DC0F4
-sub_80DC0F4: @ 80DC0F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r1
- ldrb r0, [r4, 0xE]
- mov r9, r0
- ldrh r3, [r4, 0x8]
- ldrh r1, [r4, 0xA]
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bgt _080DC126
- b _080DC2A8
-_080DC126:
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r2, [r4, 0xA]
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- cmp r0, 0
- bne _080DC15C
- adds r0, r7, 0
- bl DestroyTask
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- mov r2, r9
- lsls r1, r2, 2
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- b _080DC2A8
- .pool
-_080DC15C:
- cmp r3, 0
- bne _080DC1A4
- lsls r0, r1, 16
- mov r8, r0
- cmp r0, 0
- bge _080DC17A
- mov r0, r9
- bl sub_80DBFC8
- adds r0, 0x2
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- b _080DC188
-_080DC17A:
- mov r0, r9
- bl sub_80DBFC8
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
-_080DC188:
- strh r0, [r4, 0xA]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r2, r1, 0x1
- strh r2, [r0, 0x8]
- lsls r1, 24
- lsrs r5, r1, 24
- b _080DC210
- .pool
-_080DC1A4:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _080DC1DE
- lsls r0, r1, 16
- mov r8, r0
- cmp r0, 0
- bge _080DC1CC
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- mov r0, r9
- bl sub_80DBFC8
- adds r0, 0x2
- b _080DC20C
-_080DC1CC:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
- b _080DC210
-_080DC1DE:
- lsls r0, r1, 16
- mov r8, r0
- cmp r0, 0
- bge _080DC1F8
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- b _080DC210
-_080DC1F8:
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
- mov r0, r9
- bl sub_80DBFC8
-_080DC20C:
- lsls r0, 16
- lsrs r6, r0, 16
-_080DC210:
- str r5, [sp, 0xC]
- movs r0, 0
- mov r10, r0
- cmp r5, 0x7
- bls _080DC226
- movs r2, 0x1
- mov r10, r2
- adds r0, r5, 0
- subs r0, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
-_080DC226:
- adds r2, r5, 0
- adds r2, 0x16
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gUnknown_02039F26
- add r0, r9
- ldrb r0, [r0]
- lsls r3, r0, 2
- adds r3, r0
- adds r3, 0x2
- add r3, r10
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x11
- str r0, [sp, 0x8]
- movs r0, 0
- adds r1, r6, 0
- bl ContestBG_FillBoxWithTile
- mov r3, r8
- cmp r3, 0
- ble _080DC284
- movs r0, 0x60
- bl PlaySE
- ldr r4, =gMPlayInfo_SE1
- adds r0, r4, 0
- bl m4aMPlayImmInit
- ldr r1, =0x0000ffff
- ldr r0, [sp, 0xC]
- lsls r2, r0, 24
- asrs r2, 16
- adds r0, r4, 0
- bl m4aMPlayPitchControl
- b _080DC28A
- .pool
-_080DC284:
- movs r0, 0x16
- bl PlaySE
-_080DC28A:
- mov r2, r10
- cmp r2, 0
- bne _080DC2A8
- cmp r5, 0
- bne _080DC2A8
- cmp r6, 0
- bne _080DC2A8
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- negs r0, r0
- strh r0, [r1, 0xC]
-_080DC2A8:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC0F4
-
- thumb_func_start sub_80DC2BC
-sub_80DC2BC: @ 80DC2BC
- push {r4,r5,lr}
- ldr r0, =gUnknown_08587A74
- bl LoadSpriteSheet
- movs r4, 0
- ldr r5, =gUnknown_08587A6C
-_080DC2C8:
- ldr r0, =gUnknown_02039F26
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r0, r5
- ldrb r2, [r0]
- ldr r0, =gSpriteTemplate_8587AD0
- movs r1, 0xB4
- movs r3, 0x1
- bl CreateSprite
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r2, [r1, 0x14]
- lsls r1, r4, 2
- adds r1, r2
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DC2C8
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC2BC
-
- thumb_func_start sub_80DC308
-sub_80DC308: @ 80DC308
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gContestResources
- ldr r0, [r4]
- ldr r2, [r0, 0x14]
- lsls r3, r6, 2
- adds r2, r3, r2
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- ldr r0, [r1, 0x14]
- adds r3, r0
- ldrb r7, [r3]
- ldr r1, [r1, 0x4]
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r1
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 17
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x38
- ble _080DC350
- movs r5, 0x38
- b _080DC356
- .pool
-_080DC350:
- cmp r0, 0
- bge _080DC356
- movs r5, 0
-_080DC356:
- ldr r2, =gSprites
- lsls r3, r7, 4
- adds r0, r3, r7
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x3E
- adds r0, r4
- mov r12, r0
- ldrb r1, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- strh r6, [r4, 0x2E]
- strh r5, [r4, 0x30]
- lsls r0, r5, 16
- asrs r0, 16
- movs r5, 0x24
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080DC38C
- movs r0, 0x1
- b _080DC38E
- .pool
-_080DC38C:
- ldr r0, =0x0000ffff
-_080DC38E:
- strh r0, [r4, 0x32]
- adds r0, r3, r7
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, =sub_80DC408
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC308
-
- thumb_func_start sub_80DC3AC
-sub_80DC3AC: @ 80DC3AC
- push {r4,lr}
- movs r4, 0
-_080DC3B0:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80DC308
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DC3B0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC3AC
-
- thumb_func_start sub_80DC3C4
-sub_80DC3C4: @ 80DC3C4
- push {r4,lr}
- movs r2, 0
- ldr r3, =gContestResources
- ldr r0, [r3]
- ldr r0, [r0, 0x14]
- ldrb r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080DC3F2
- movs r4, 0x1
-_080DC3DA:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080DC3F2
- ldr r0, [r3]
- ldr r1, [r0, 0x14]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r1, [r0, 0x2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080DC3DA
-_080DC3F2:
- cmp r2, 0x4
- beq _080DC400
- movs r0, 0
- b _080DC402
- .pool
-_080DC400:
- movs r0, 0x1
-_080DC402:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80DC3C4
-
- thumb_func_start sub_80DC408
-sub_80DC408: @ 80DC408
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x24]
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- movs r4, 0x30
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bne _080DC440
- ldr r0, =gContestResources
- ldr r0, [r0]
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- ldr r0, [r0, 0x14]
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r0, =SpriteCallbackDummy
- str r0, [r3, 0x1C]
- b _080DC446
- .pool
-_080DC440:
- ldrh r0, [r3, 0x32]
- adds r0, r2, r0
- strh r0, [r3, 0x24]
-_080DC446:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC408
-
- thumb_func_start sub_80DC44C
-sub_80DC44C: @ 80DC44C
- push {r4-r6,lr}
- movs r2, 0
- ldr r6, =gSprites
- ldr r5, =gContestResources
- ldr r4, =gUnknown_08587A6C
- ldr r3, =gUnknown_02039F26
-_080DC458:
- ldr r0, [r5]
- ldr r1, [r0, 0x14]
- lsls r0, r2, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r2, r3
- ldrb r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r1, 0x22]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080DC458
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC44C
-
- thumb_func_start sub_80DC490
-sub_80DC490: @ 80DC490
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r3, 0
- ldr r7, =gUnknown_02039F26
- ldr r5, =gSprites
- ldr r4, =gContestResources
- movs r2, 0
-_080DC4A0:
- adds r0, r3, r7
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080DC4E2
- cmp r6, 0
- bne _080DC4CC
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0xB4
- b _080DC4E0
- .pool
-_080DC4CC:
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- adds r0, r2, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x80
- lsls r1, 1
-_080DC4E0:
- strh r1, [r0, 0x20]
-_080DC4E2:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x3
- ble _080DC4A0
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC490
-
- thumb_func_start sub_80DC4F0
-sub_80DC4F0: @ 80DC4F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gUnknown_08587B08
- bl LoadSpritePalette
- movs r5, 0
- ldr r7, =gContestResources
- ldr r0, =gSprites
- mov r8, r0
- movs r6, 0
-_080DC506:
- lsls r0, r5, 3
- ldr r1, =gUnknown_08587AE8
- adds r0, r1
- bl LoadCompressedSpriteSheet
- ldr r0, =gSpriteTemplate_8587B18
- adds r0, r6, r0
- ldr r2, =gUnknown_08587A70
- ldr r1, =gUnknown_02039F26
- adds r1, r5, r1
- ldrb r1, [r1]
- adds r1, r2
- ldrb r2, [r1]
- movs r1, 0xCC
- movs r3, 0
- bl CreateSprite
- ldr r1, [r7]
- ldr r1, [r1, 0x14]
- lsls r4, r5, 2
- adds r1, r4, r1
- strb r0, [r1, 0x1]
- ldr r0, [r7]
- ldr r0, [r0, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldr r1, =gSubspriteTables_8587B80
- bl SetSubspriteTables
- ldr r0, [r7]
- ldr r0, [r0, 0x14]
- adds r4, r0
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r6, 0x18
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DC506
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC4F0
-
- thumb_func_start sub_80DC594
-sub_80DC594: @ 80DC594
- push {lr}
- ldr r0, =gUnknown_08587BB0
- bl LoadCompressedSpriteSheet
- ldr r0, =gUnknown_08587BB8
- bl LoadSpritePalette
- ldr r0, =gSpriteTemplate_8587BC8
- movs r1, 0x1E
- movs r2, 0x2C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gSprites
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r1]
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r1, [r1]
- adds r1, 0x58
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC594
-
- thumb_func_start sub_80DC5E8
-sub_80DC5E8: @ 80DC5E8
- push {r4,lr}
- ldr r0, =sub_80DC728
- movs r1, 0x1E
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r1, [r1]
- strb r0, [r1, 0xD]
- movs r2, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r4, =gTasks + 0x8
- movs r3, 0xFF
-_080DC60A:
- lsls r0, r2, 3
- adds r0, r1
- adds r0, r4
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080DC60A
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC5E8
-
- thumb_func_start sub_80DC630
-sub_80DC630: @ 80DC630
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- ldr r1, =gContestResources
- ldr r5, [r1]
- ldr r1, [r5]
- ldrb r2, [r1, 0xD]
- lsls r1, r2, 2
- adds r1, r2
- adds r1, r0
- lsls r1, 3
- adds r3, 0x8
- adds r1, r3
- movs r4, 0
- strh r4, [r1]
- lsls r0, 2
- adds r0, 0x1
- lsls r0, 1
- ldr r1, [r5]
- ldrb r2, [r1, 0xD]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- strh r4, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC630
-
- thumb_func_start sub_80DC674
-sub_80DC674: @ 80DC674
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80DC6A4
- movs r1, 0x1F
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC674
-
- thumb_func_start sub_80DC6A4
-sub_80DC6A4: @ 80DC6A4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r2, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x8]
- adds r5, r0, 0
- ldr r0, =gContestResources
- ldr r4, [r0]
- ldr r0, [r4]
- ldrb r1, [r0, 0xD]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r5
- lsls r0, 3
- adds r7, r2, 0
- adds r7, 0x8
- adds r1, r0, r7
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080DC6DC
- cmp r0, 0xFF
- bne _080DC716
-_080DC6DC:
- movs r3, 0
- movs r0, 0xFF
- strh r0, [r1]
- lsls r1, r5, 2
- adds r1, 0x1
- lsls r1, 1
- ldr r0, [r4]
- ldrb r2, [r0, 0xD]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r7
- strh r3, [r1]
- ldr r0, [r4]
- adds r0, 0x14
- adds r0, r5
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 4
- adds r0, 0x6
- ldr r3, =0x00004bff
- movs r1, 0x2
- movs r2, 0
- bl BlendPalette
- adds r0, r6, 0
- bl DestroyTask
-_080DC716:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC6A4
-
- thumb_func_start sub_80DC728
-sub_80DC728: @ 80DC728
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- lsls r1, r0, 2
- adds r1, r0
- mov r9, r1
- lsls r7, r1, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- movs r1, 0x8
- negs r1, r1
- add r1, r8
- mov r10, r1
-_080DC74C:
- lsls r0, r6, 26
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r7
- mov r4, r8
- adds r2, r0, r4
- ldrh r4, [r2]
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0xFF
- beq _080DC7CA
- adds r0, r3, 0x1
- lsls r1, r0, 1
- adds r1, r7
- add r1, r8
- movs r5, 0
- ldrsh r1, [r1, r5]
- adds r5, r0, 0
- cmp r1, 0
- bne _080DC77C
- adds r0, r4, 0x1
- b _080DC77E
- .pool
-_080DC77C:
- subs r0, r4, 0x1
-_080DC77E:
- strh r0, [r2]
- lsls r1, r3, 1
- mov r0, r9
- lsls r2, r0, 3
- adds r0, r1, r2
- mov r3, r10
- adds r3, 0x8
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0x10
- beq _080DC79C
- cmp r0, 0
- bne _080DC7AA
-_080DC79C:
- lsls r0, r5, 1
- adds r0, r2
- adds r0, r3
- ldrh r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0]
-_080DC7AA:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x14
- adds r0, r6
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 4
- adds r0, 0x6
- adds r1, r4, r7
- add r1, r8
- ldrb r2, [r1]
- movs r1, 0x2
- ldr r3, =0x00004bff
- bl BlendPalette
-_080DC7CA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080DC74C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC728
-
- thumb_func_start sub_80DC7EC
-sub_80DC7EC: @ 80DC7EC
- push {r4,lr}
- ldr r0, =sub_80DC8D0
- movs r1, 0x1E
- bl CreateTask
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r1, [r1]
- strb r0, [r1, 0xE]
- movs r4, 0
-_080DC800:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80DC81C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DC800
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC7EC
-
- thumb_func_start sub_80DC81C
-sub_80DC81C: @ 80DC81C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, =gTasks
- ldr r1, =gContestResources
- ldr r4, [r1]
- ldr r1, [r4]
- ldrb r2, [r1, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- adds r1, r0
- lsls r1, 3
- adds r3, 0x8
- adds r1, r3
- movs r5, 0
- movs r2, 0xFF
- strh r2, [r1]
- lsls r0, 2
- adds r0, 0x1
- lsls r0, 1
- ldr r1, [r4]
- ldrb r2, [r1, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- strh r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC81C
-
- thumb_func_start sub_80DC864
-sub_80DC864: @ 80DC864
- push {r4,lr}
- movs r4, 0
-_080DC868:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80DC87C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DC868
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC864
-
- thumb_func_start sub_80DC87C
-sub_80DC87C: @ 80DC87C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80DC81C
- adds r0, r4, 0x5
- lsls r2, r0, 5
- ldr r3, =gPlttBufferUnfaded + 0x14
- adds r6, r2, r3
- ldr r5, =gPlttBufferFaded + 0x14
- adds r2, r5
- ldr r1, =0x040000d4
- str r6, [r1]
- str r2, [r1, 0x4]
- ldr r2, =0x80000001
- str r2, [r1, 0x8]
- ldr r6, [r1, 0x8]
- lsls r0, 4
- adds r4, 0xC
- adds r0, r4
- lsls r0, 1
- subs r3, 0x14
- adds r3, r0, r3
- subs r5, 0x14
- adds r0, r5
- str r3, [r1]
- str r0, [r1, 0x4]
- str r2, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC87C
-
- thumb_func_start sub_80DC8D0
-sub_80DC8D0: @ 80DC8D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r7, 0
- lsls r1, r0, 2
- adds r1, r0
- mov r9, r1
- lsls r6, r1, 3
- ldr r0, =gTasks + 0x8
- mov r8, r0
- ldr r1, =0x00004bff
- mov r10, r1
-_080DC8F0:
- lsls r0, r7, 26
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r6
- mov r4, r8
- adds r2, r0, r4
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0xFF
- beq _080DC996
- adds r0, r3, 0x2
- lsls r0, 1
- adds r0, r6
- adds r1, r0, r4
- ldrh r0, [r1]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080DC996
- strh r4, [r1]
- adds r0, r3, 0x1
- lsls r1, r0, 1
- adds r1, r6
- add r1, r8
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r4, r0, 0
- cmp r1, 0
- bne _080DC940
- ldrh r0, [r2]
- adds r0, 0x1
- b _080DC944
- .pool
-_080DC940:
- ldrh r0, [r2]
- subs r0, 0x1
-_080DC944:
- strh r0, [r2]
- lsls r1, r3, 1
- mov r5, r9
- lsls r2, r5, 3
- adds r0, r1, r2
- ldr r3, =gTasks
- adds r3, 0x8
- adds r0, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- adds r5, r1, 0
- cmp r0, 0x10
- beq _080DC962
- cmp r0, 0
- bne _080DC970
-_080DC962:
- lsls r0, r4, 1
- adds r0, r2
- adds r0, r3
- ldrh r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0]
-_080DC970:
- adds r4, r7, 0x5
- lsls r4, 4
- adds r0, r4, 0
- adds r0, 0xA
- adds r5, r6
- add r5, r8
- ldrb r2, [r5]
- movs r1, 0x1
- mov r3, r10
- bl BlendPalette
- adds r4, 0xC
- adds r4, r7
- ldrb r2, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- mov r3, r10
- bl BlendPalette
-_080DC996:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080DC8F0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DC8D0
-
- thumb_func_start sub_80DC9B4
-sub_80DC9B4: @ 80DC9B4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DC9E0
- adds r0, r2, 0
- bl sub_80DC630
- b _080DC9E6
- .pool
-_080DC9E0:
- adds r0, r2, 0
- bl sub_80DC674
-_080DC9E6:
- pop {r0}
- bx r0
- thumb_func_end sub_80DC9B4
-
- thumb_func_start sub_80DC9EC
-sub_80DC9EC: @ 80DC9EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- ldr r6, =gUnknown_02039F26
- adds r6, r0, r6
- ldrb r0, [r6]
- lsls r5, r0, 2
- adds r5, r0
- lsls r5, 27
- movs r0, 0x80
- lsls r0, 22
- adds r5, r0
- lsrs r5, 24
- ldr r1, [sp, 0xC]
- lsls r4, r1, 3
- ldr r0, =gUnknown_08589904
- adds r0, r4, r0
- bl LoadCompressedSpriteSheet
- ldr r0, =gUnknown_08589924
- adds r4, r0
- adds r0, r4, 0
- bl LoadSpritePalette
- ldr r2, [sp, 0xC]
- lsls r4, r2, 1
- adds r4, r2
- lsls r4, 3
- ldr r0, =gSpriteTemplate_858998C
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB8
- adds r2, r5, 0
- movs r3, 0x1D
- bl CreateSprite
- mov r9, r0
- mov r3, r9
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- adds r0, r4, 0
- movs r1, 0xF8
- adds r2, r5, 0
- movs r3, 0x1D
- bl CreateSprite
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r1, =gSprites
- adds r5, r1
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r1, r0
- ldr r0, =0xfffffc00
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r4, 0xC0
- lsls r4, 19
- ldrb r0, [r6]
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 6
- ldr r0, =0x0600e026
- adds r3, r0
- ldr r7, =gContestResources
- ldr r0, [r7]
- ldr r0, [r0, 0x34]
- str r0, [sp]
- movs r0, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl CopySpriteTiles
- ldrb r0, [r6]
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 6
- ldr r1, =0x0600e036
- adds r3, r1
- ldr r0, [r7]
- ldr r0, [r0, 0x38]
- str r0, [sp]
- movs r0, 0
- movs r1, 0x3
- adds r2, r4, 0
- bl CopySpriteTiles
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r0, [r7]
- ldr r1, [r0, 0x34]
- movs r6, 0xA0
- lsls r6, 3
- adds r1, r6
- ldr r2, =0x050000c0
- mov r10, r2
- add r0, sp, 0x4
- bl CpuSet
- str r4, [sp, 0x8]
- add r0, sp, 0x8
- ldr r1, [r7]
- ldr r1, [r1, 0x38]
- adds r1, r6
- mov r2, r10
- bl CpuSet
- ldr r0, [r7]
- ldr r0, [r0, 0x34]
- mov r3, r9
- lsls r4, r3, 4
- add r4, r9
- lsls r4, 2
- ldr r1, =gSprites
- adds r4, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r6, =0x06010000
- adds r1, r6
- movs r2, 0x80
- lsls r2, 4
- mov r10, r2
- movs r3, 0x1
- bl RequestDma3Copy
- ldr r0, [r7]
- ldr r0, [r0, 0x38]
- ldrh r1, [r5, 0x4]
- lsls r1, 22
- lsrs r1, 17
- adds r1, r6
- mov r2, r10
- movs r3, 0x1
- bl RequestDma3Copy
- mov r3, r8
- strh r3, [r4, 0x2E]
- mov r0, r9
- strh r0, [r5, 0x2E]
- mov r1, sp
- ldrh r1, [r1, 0xC]
- strh r1, [r4, 0x30]
- mov r2, sp
- ldrh r2, [r2, 0xC]
- strh r2, [r5, 0x30]
- mov r0, r9
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DC9EC
-
- thumb_func_start sub_80DCB78
-sub_80DCB78: @ 80DCB78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gSprites
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- adds r5, r1
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- adds r0, r5, 0
- bl DestroySpriteAndFreeResources
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DCB78
-
- thumb_func_start sub_80DCBB4
-sub_80DCBB4: @ 80DCBB4
- push {lr}
- movs r1, 0xFD
- lsls r1, 6
- movs r0, 0x50
- bl SetGpuReg
- ldr r1, =0x00000907
- movs r0, 0x52
- bl SetGpuReg
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DCBB4
-
- thumb_func_start sub_80DCBD0
-sub_80DCBD0: @ 80DCBD0
- push {lr}
- movs r0, 0x50
- movs r1, 0
- bl SetGpuReg
- movs r0, 0x52
- movs r1, 0
- bl SetGpuReg
- pop {r0}
- bx r0
- thumb_func_end sub_80DCBD0
-
- thumb_func_start sub_80DCBE8
-sub_80DCBE8: @ 80DCBE8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_80DCBB4
- ldr r0, =gContestResources
- ldr r1, [r0]
- ldr r2, =gSprites
- mov r8, r2
- lsls r6, r4, 4
- adds r6, r4
- lsls r6, 2
- adds r0, r6, r2
- movs r3, 0x30
- ldrsh r2, [r0, r3]
- ldr r1, [r1, 0x14]
- lsls r2, 2
- adds r2, r1
- ldrb r1, [r2, 0x2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2, 0x2]
- ldrh r5, [r0, 0x2E]
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x1
- bl StartSpriteAffineAnim
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- mov r1, r8
- adds r0, r4, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r2, 0x1C
- add r8, r2
- add r6, r8
- ldr r0, =sub_80DCC84
- str r0, [r6]
- add r4, r8
- ldr r0, =SpriteCallbackDummy
- str r0, [r4]
- mov r3, r9
- cmp r3, 0
- bne _080DCC70
- movs r0, 0x65
- bl PlaySE
- b _080DCC76
- .pool
-_080DCC70:
- movs r0, 0x2
- bl PlaySE
-_080DCC76:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DCBE8
-
- thumb_func_start sub_80DCC84
-sub_80DCC84: @ 80DCC84
- push {lr}
- mov r12, r0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DCCCC
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, =gSprites
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080DCCCC
- mov r3, r12
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- ldr r0, =sub_80DCCD8
- mov r1, r12
- str r0, [r1, 0x1C]
-_080DCCCC:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DCC84
-
- thumb_func_start sub_80DCCD8
-sub_80DCCD8: @ 80DCCD8
- push {lr}
- ldr r1, =gContestResources
- ldr r1, [r1]
- movs r3, 0x30
- ldrsh r2, [r0, r3]
- ldr r1, [r1, 0x14]
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x2]
- movs r1, 0x3
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x2]
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80DCB78
- bl sub_80DCBD0
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DCCD8
-
- thumb_func_start sub_80DCD08
-sub_80DCD08: @ 80DCD08
- push {lr}
- ldr r0, =gHeap
- movs r1, 0xD0
- lsls r1, 9
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _080DCD24
- movs r0, 0
- b _080DCD26
- .pool
-_080DCD24:
- movs r0, 0x1
-_080DCD26:
- strb r0, [r2]
- movs r1, 0xD0
- lsls r1, 9
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DCD3E
- bl sub_80DAEA4
- bl sub_80DB2BC
- b _080DCD42
-_080DCD3E:
- bl sub_80DCD48
-_080DCD42:
- pop {r0}
- bx r0
- thumb_func_end sub_80DCD08
-
- thumb_func_start sub_80DCD48
-sub_80DCD48: @ 80DCD48
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, =gUnknown_020322D5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DCE44
- ldr r0, =gHeap
- movs r1, 0xD0
- lsls r1, 9
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DCE44
- cmp r0, 0
- blt _080DCD7C
- cmp r0, 0x3
- bgt _080DCD7C
- cmp r0, 0x2
- blt _080DCD7C
- bl sub_80DF750
- b _080DCE44
- .pool
-_080DCD7C:
- movs r5, 0
-_080DCD7E:
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080DCD7E
- movs r5, 0
-_080DCD92:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r1
- add r2, sp, 0x4
- ldrh r4, [r0, 0x4]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080DCDBC
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r2, 0
- ldr r1, =gText_OneDash
- bl StringCopy
- adds r2, r0, 0
-_080DCDBC:
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_02039F26
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x7
- str r1, [sp]
- add r1, sp, 0x4
- movs r2, 0x37
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080DCD92
- movs r5, 0
-_080DCDEA:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- adds r0, r1
- add r2, sp, 0x4
- ldrh r4, [r0, 0x2]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080DCE14
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r2, 0
- ldr r1, =gText_OneDash
- bl StringCopy
- adds r2, r0, 0
-_080DCE14:
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, =gUnknown_02039F26
- adds r0, r5, r0
- ldrb r0, [r0]
- movs r1, 0x7
- str r1, [sp]
- add r1, sp, 0x4
- movs r2, 0x5
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080DCDEA
- bl sub_80DB2BC
-_080DCE44:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DCD48
-
- thumb_func_start sub_80DCE58
-sub_80DCE58: @ 80DCE58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r5, 0
- add r4, sp, 0x4
- adds r6, r4, 0
- movs r7, 0
-_080DCE7E:
- bl Random
- adds r1, r0, 0
- mov r0, sp
- adds r0, r7
- adds r0, 0x4
- strh r1, [r0]
- movs r2, 0
- cmp r2, r5
- bge _080DCEB6
- lsls r0, r1, 16
- lsrs r0, 16
- mov r1, sp
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- beq _080DCEB0
-_080DCE9E:
- adds r2, 0x1
- cmp r2, r5
- bge _080DCEB6
- lsls r0, r2, 1
- adds r0, r4, r0
- ldrh r1, [r6]
- ldrh r0, [r0]
- cmp r1, r0
- bne _080DCE9E
-_080DCEB0:
- subs r6, 0x2
- subs r7, 0x2
- subs r5, 0x1
-_080DCEB6:
- adds r6, 0x2
- adds r7, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DCE7E
- mov r2, r8
- cmp r2, 0
- bne _080DCF80
- movs r5, 0
- ldr r3, =gUnknown_02039F26
- mov r8, r3
-_080DCECC:
- mov r6, r8
- strb r5, [r6]
- movs r4, 0
- cmp r4, r5
- bge _080DCF48
- ldr r7, =gContestMonConditions
- mov r9, r7
- lsls r0, r5, 1
- adds r1, r0, 0
- add r1, r9
- mov r12, r1
- mov r2, sp
- adds r2, 0x4
- str r2, [sp, 0xC]
- add r0, sp
- adds r0, 0x4
- str r0, [sp, 0x10]
- ldr r3, =gUnknown_02039F26
- adds r6, r3, 0
- mov r10, r6
-_080DCEF4:
- ldrb r0, [r3]
- lsls r2, r0, 1
- mov r7, r9
- adds r0, r2, r7
- movs r6, 0
- ldrsh r1, [r0, r6]
- mov r7, r12
- movs r6, 0
- ldrsh r0, [r7, r6]
- cmp r1, r0
- blt _080DCF1C
- cmp r1, r0
- bne _080DCF40
- ldr r7, [sp, 0xC]
- adds r0, r7, r2
- ldrh r0, [r0]
- ldr r1, [sp, 0x10]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080DCF40
-_080DCF1C:
- adds r2, r5, 0
- cmp r5, r4
- ble _080DCF34
- subs r0, r5, 0x1
- mov r6, r10
- adds r1, r0, r6
-_080DCF28:
- ldrb r0, [r1]
- strb r0, [r1, 0x1]
- subs r1, 0x1
- subs r2, 0x1
- cmp r2, r4
- bgt _080DCF28
-_080DCF34:
- strb r5, [r3]
- b _080DCF48
- .pool
-_080DCF40:
- adds r3, 0x1
- adds r4, 0x1
- cmp r4, r5
- blt _080DCEF4
-_080DCF48:
- cmp r4, r5
- bne _080DCF50
- mov r7, r8
- strb r5, [r7]
-_080DCF50:
- movs r0, 0x1
- add r8, r0
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DCECC
- ldr r4, =gUnknown_02039F26
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- movs r5, 0
-_080DCF68:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, r4
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DCF68
- b _080DD034
- .pool
-_080DCF80:
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0x4
- bl memset
- movs r5, 0
- ldr r3, =gUnknown_02039F26
- movs r6, 0
-_080DCF90:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- adds r0, r6, r0
- ldrb r0, [r0, 0xB]
- lsls r0, 30
- lsrs r2, r0, 30
- mov r7, sp
- adds r1, r7, r2
- b _080DCFB6
- .pool
-_080DCFAC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, sp
- adds r1, r0, r2
-_080DCFB6:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080DCFAC
- strb r5, [r1]
- strb r2, [r3]
- adds r3, 0x1
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DCF90
- movs r5, 0
-_080DCFCC:
- movs r4, 0x3
- adds r1, r5, 0x1
- mov r10, r1
- cmp r4, r5
- ble _080DD02E
- mov r9, r4
- ldr r2, =gUnknown_02039F26
- mov r8, r2
- add r3, sp, 0x4
- mov r12, r3
-_080DCFE0:
- ldr r6, =gContestResources
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- adds r1, r0, 0
- subs r1, 0x1C
- ldrb r2, [r1, 0xB]
- ldrb r3, [r0, 0xB]
- mov r1, r9
- ands r1, r2
- mov r0, r9
- ands r0, r3
- subs r3, r4, 0x1
- cmp r1, r0
- bne _080DD028
- mov r0, r8
- adds r7, r3, r0
- adds r2, r4, r0
- ldrb r6, [r7]
- ldrb r1, [r2]
- cmp r6, r1
- bcs _080DD028
- lsls r0, r3, 1
- add r0, r12
- lsls r1, r4, 1
- add r1, r12
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080DD028
- ldrb r0, [r2]
- strb r6, [r2]
- strb r0, [r7]
-_080DD028:
- adds r4, r3, 0
- cmp r4, r5
- bgt _080DCFE0
-_080DD02E:
- mov r5, r10
- cmp r5, 0x2
- ble _080DCFCC
-_080DD034:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DCE58
-
- thumb_func_start sub_80DD04C
-sub_80DD04C: @ 80DD04C
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0xA0
-_080DD052:
- ldr r0, =gHeap+0x1A004
- adds r0, r5, r0
- ldr r1, =gUnknown_02039F26
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, 0x5
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- adds r5, 0x20
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DD052
- bl sub_80DAEA4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD04C
-
- thumb_func_start sub_80DD080
-sub_80DD080: @ 80DD080
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, =gContestResources
- ldr r3, [r4]
- ldr r1, [r3, 0x4]
- lsls r7, r6, 3
- subs r0, r7, r6
- lsls r5, r0, 2
- adds r1, r5, r1
- movs r2, 0
- strh r2, [r1, 0x2]
- ldr r0, [r3, 0x4]
- adds r0, r5, r0
- strh r2, [r0]
- adds r0, r6, 0
- bl sub_80DBA68
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- bne _080DD0B4
- b _080DD3C4
-_080DD0B4:
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- adds r1, r5, r1
- ldrh r0, [r1, 0x6]
- ldr r2, =gContestMoves
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0]
- mov r9, r2
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- strb r0, [r1, 0xA]
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- adds r2, r5, r0
- ldrh r0, [r2, 0x6]
- ldrh r1, [r2, 0x8]
- cmp r0, r1
- bne _080DD110
- cmp r0, 0
- beq _080DD110
- ldrb r0, [r2, 0x15]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x15]
- ldr r0, [r4]
- ldr r2, [r0, 0x4]
- adds r2, r5, r2
- ldrb r3, [r2, 0xB]
- lsls r1, r3, 25
- lsrs r1, 29
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- movs r0, 0x71
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0xB]
- b _080DD12C
- .pool
-_080DD110:
- ldr r4, =gContestResources
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- lsls r3, r6, 3
- subs r1, r3, r6
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0xB]
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xB]
- mov r8, r4
- adds r7, r3, 0
-_080DD12C:
- mov r2, r8
- ldr r4, [r2]
- ldr r2, [r4, 0x4]
- subs r0, r7, r6
- lsls r0, 2
- adds r2, r0, r2
- ldr r3, =gContestEffects
- mov r1, r9
- lsls r5, r1, 2
- adds r3, r5, r3
- ldrb r1, [r3, 0x1]
- strh r1, [r2]
- ldr r1, [r4, 0x4]
- adds r0, r1
- ldrh r1, [r0]
- strh r1, [r0, 0x2]
- ldr r1, [r4, 0x8]
- ldrb r0, [r3, 0x2]
- strh r0, [r1, 0x4]
- ldr r1, [r4, 0x8]
- ldrh r0, [r1, 0x4]
- strh r0, [r1, 0x6]
- ldr r0, [r4, 0x8]
- strb r6, [r0, 0x11]
- movs r2, 0
- mov r9, r5
- mov r4, r8
- movs r3, 0
- movs r1, 0
-_080DD166:
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- adds r0, r1, r0
- strb r3, [r0, 0xE]
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- adds r0, 0xD
- adds r0, r2
- strb r3, [r0]
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080DD166
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- subs r0, r7, r6
- lsls r4, r0, 2
- adds r2, r4, r1
- ldrb r1, [r2, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DD1B4
- ldrh r0, [r2, 0x8]
- ldrh r1, [r2, 0x6]
- bl AreMovesContestCombo
- lsls r0, 24
- cmp r0, 0
- bne _080DD1B4
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x15]
-_080DD1B4:
- ldr r0, =gContestEffectFuncs
- add r0, r9
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r7, r6
- lsls r0, 2
- adds r2, r0, r1
- ldrb r1, [r2, 0x10]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x10
- bne _080DD1EC
- ldrh r1, [r2, 0x2]
- subs r1, 0xA
- movs r0, 0xD
- ldrsb r0, [r2, r0]
- b _080DD206
- .pool
-_080DD1EC:
- ldrb r1, [r2, 0x11]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DD200
- movs r1, 0xD
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- b _080DD204
-_080DD200:
- movs r0, 0xD
- ldrsb r0, [r2, r0]
-_080DD204:
- ldrh r1, [r2, 0x2]
-_080DD206:
- adds r0, r1
- strh r0, [r2, 0x2]
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- subs r0, r7, r6
- lsls r4, r0, 2
- adds r1, r4, r1
- movs r0, 0
- strb r0, [r1, 0x16]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x15]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x15]
- adds r0, r6, 0
- bl sub_80DE1E8
- lsls r0, 24
- cmp r0, 0
- beq _080DD2E2
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrh r0, [r1, 0x8]
- ldrh r1, [r1, 0x6]
- bl AreMovesContestCombo
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080DD29C
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r2, r4, r0
- ldrb r1, [r2, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DD29C
- strb r3, [r2, 0x16]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r1, 0x15]
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x15]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r2, [r1, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x15]
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- movs r1, 0
- ldrsh r2, [r0, r1]
- ldrb r1, [r0, 0x16]
- muls r1, r2
- strb r1, [r0, 0x17]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r1, 0x15]
- movs r2, 0x8
- b _080DD2C8
- .pool
-_080DD29C:
- ldr r2, =gContestMoves
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- subs r0, r7, r6
- lsls r4, r0, 2
- adds r3, r4, r1
- ldrh r0, [r3, 0x6]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080DD2D8
- ldrb r0, [r3, 0x15]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r3, 0x15]
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- adds r1, r4, r1
- ldrb r0, [r1, 0x15]
- movs r2, 0x40
-_080DD2C8:
- orrs r0, r2
- strb r0, [r1, 0x15]
- b _080DD2E2
- .pool
-_080DD2D8:
- ldrb r1, [r3, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r3, 0x15]
-_080DD2E2:
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r1, [r0, 0x4]
- subs r0, r7, r6
- lsls r4, r0, 2
- adds r2, r4, r1
- ldrb r1, [r2, 0x15]
- movs r0, 0x1
- mov r8, r0
- ands r0, r1
- cmp r0, 0
- beq _080DD30A
- ldrb r0, [r2, 0xB]
- lsls r0, 25
- lsrs r0, 29
- adds r0, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- strb r1, [r2, 0x18]
-_080DD30A:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r2, r4, r0
- ldrb r1, [r2, 0xC]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _080DD334
- ldrb r1, [r2, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x15]
- ldr r2, [r5]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- movs r1, 0
- strh r1, [r0, 0x2]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- strh r1, [r0]
-_080DD334:
- ldr r0, [r5]
- ldr r0, [r0, 0x4]
- adds r0, r4, r0
- ldrh r0, [r0, 0x6]
- bl Contest_GetMoveExcitement
- ldr r1, [r5]
- ldr r1, [r1, 0x10]
- strb r0, [r1]
- ldr r2, [r5]
- ldr r0, [r2, 0x4]
- adds r0, r4, r0
- ldrb r1, [r0, 0x11]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DD35C
- ldr r0, [r2, 0x10]
- mov r1, r8
- strb r1, [r0]
-_080DD35C:
- ldr r1, [r5]
- ldr r3, [r1, 0x10]
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r0, 0
- ble _080DD388
- ldr r0, [r1]
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r3, r1]
- adds r0, r1
- cmp r0, 0x4
- ble _080DD384
- movs r0, 0x3C
- b _080DD38A
- .pool
-_080DD384:
- movs r0, 0xA
- b _080DD38A
-_080DD388:
- movs r0, 0
-_080DD38A:
- strb r0, [r3, 0x2]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- b _080DD3AE
-_080DD3A2:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_080DD3A8:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080DD3B6
-_080DD3AE:
- cmp r2, r6
- beq _080DD3A8
- cmp r0, 0
- bne _080DD3A2
-_080DD3B6:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- subs r0, r7, r6
- lsls r0, 2
- adds r0, r1
- strb r2, [r0, 0x1B]
-_080DD3C4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD080
-
- thumb_func_start SetContestantEffectStringID
-SetContestantEffectStringID: @ 80DD3D4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gContestResources
- ldr r2, [r2]
- ldr r3, [r2, 0x4]
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- adds r2, r3
- strb r1, [r2, 0x13]
- bx lr
- .pool
- thumb_func_end SetContestantEffectStringID
-
- thumb_func_start SetContestantEffectStringID2
-SetContestantEffectStringID2: @ 80DD3F0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gContestResources
- ldr r2, [r2]
- ldr r3, [r2, 0x4]
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- adds r2, r3
- strb r1, [r2, 0x14]
- bx lr
- .pool
- thumb_func_end SetContestantEffectStringID2
-
- thumb_func_start SetStartledString
-SetStartledString: @ 80DD40C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x3B
- bls _080DD426
- movs r1, 0x35
- bl SetContestantEffectStringID
- b _080DD456
-_080DD426:
- cmp r1, 0x27
- bls _080DD432
- movs r1, 0x34
- bl SetContestantEffectStringID
- b _080DD456
-_080DD432:
- cmp r1, 0x1D
- bls _080DD43E
- movs r1, 0x33
- bl SetContestantEffectStringID
- b _080DD456
-_080DD43E:
- cmp r1, 0x13
- bls _080DD44A
- movs r1, 0x32
- bl SetContestantEffectStringID
- b _080DD456
-_080DD44A:
- cmp r2, 0x9
- bls _080DD456
- adds r0, r3, 0
- movs r1, 0x31
- bl SetContestantEffectStringID
-_080DD456:
- pop {r0}
- bx r0
- thumb_func_end SetStartledString
-
- thumb_func_start sub_80DD45C
-sub_80DD45C: @ 80DD45C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, =gStringVar1
- lsls r1, r4, 6
- ldr r2, =gContestMons + 2
- adds r1, r2
- bl StringCopy
- ldr r0, =gStringVar2
- ldr r5, =gContestResources
- ldr r1, [r5]
- ldr r2, [r1, 0x4]
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, =gMoveNames
- adds r1, r2
- bl StringCopy
- ldr r3, =gContestMoves
- ldr r1, [r5]
- ldr r0, [r1, 0x8]
- ldrb r2, [r0, 0x11]
- ldr r1, [r1, 0x4]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x6]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 29
- cmp r1, 0
- bne _080DD4DC
- ldr r0, =gStringVar3
- ldr r1, =gText_0827E837
- bl StringCopy
- b _080DD52C
- .pool
-_080DD4DC:
- lsrs r0, r1, 29
- cmp r0, 0x1
- bne _080DD4F4
- ldr r0, =gStringVar3
- ldr r1, =gText_0827E83F
- bl StringCopy
- b _080DD52C
- .pool
-_080DD4F4:
- lsrs r0, r1, 29
- cmp r0, 0x2
- bne _080DD50C
- ldr r0, =gStringVar3
- ldr r1, =gText_0827E847
- bl StringCopy
- b _080DD52C
- .pool
-_080DD50C:
- lsrs r0, r1, 29
- cmp r0, 0x3
- bne _080DD524
- ldr r0, =gStringVar3
- ldr r1, =gText_0827E850
- bl StringCopy
- b _080DD52C
- .pool
-_080DD524:
- ldr r0, =gStringVar3
- ldr r1, =gText_0827E85A
- bl StringCopy
-_080DD52C:
- ldr r4, =gStringVar4
- ldr r1, =gUnknown_08587E10
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80DB89C
- adds r0, r4, 0
- movs r1, 0x1
- bl Contest_StartTextPrinter
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD45C
-
- thumb_func_start MakeContestantNervous
-MakeContestantNervous: @ 80DD560
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, =gContestResources
- ldr r1, [r4]
- ldr r3, [r1, 0x4]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r3, r1, r3
- ldrb r0, [r3, 0xC]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r3, 0xC]
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end MakeContestantNervous
-
- thumb_func_start sub_80DD590
-sub_80DD590: @ 80DD590
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r0, 0
- mov r12, r0
- movs r4, 0
- ldr r1, =gUnknown_02039F26
- mov r9, r1
- add r2, sp, 0x4
- mov r6, r9
- movs r5, 0
- adds r3, r2, 0
-_080DD5AC:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, r4
- strb r5, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DD5AC
- movs r4, 0
- ldr r7, =gContestResources
- ldr r1, [r7]
- mov r8, r1
- adds r5, r2, 0
-_080DD5CA:
- movs r2, 0
- mov r0, r8
- ldr r1, [r0, 0x4]
-_080DD5D0:
- ldrb r0, [r1, 0x19]
- cmp r0, r4
- beq _080DD604
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080DD5D0
-_080DD5DE:
- cmp r2, 0x4
- bne _080DD684
- movs r2, 0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080DD612
- ldr r0, [r7]
- ldr r0, [r0, 0x4]
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080DD612
- mov r12, r2
- movs r2, 0x1
- b _080DD63A
- .pool
-_080DD604:
- mov r1, sp
- adds r0, r1, r2
- strb r4, [r0]
- adds r1, r5, r2
- movs r0, 0x1
- strb r0, [r1]
- b _080DD5DE
-_080DD612:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080DD676
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DD612
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080DD612
- lsls r0, r2, 24
- lsrs r0, 24
- mov r12, r0
- adds r2, 0x1
-_080DD63A:
- cmp r2, 0x3
- bgt _080DD676
- ldr r6, =gUnknown_02039F26
- lsls r0, r2, 3
- subs r0, r2
- lsls r3, r0, 2
-_080DD646:
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DD66E
- ldr r0, [r7]
- ldr r0, [r0, 0x4]
- adds r0, r3, r0
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080DD66E
- mov r1, r12
- adds r0, r1, r6
- adds r1, r2, r6
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080DD66E
- lsls r0, r2, 24
- lsrs r0, 24
- mov r12, r0
-_080DD66E:
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080DD646
-_080DD676:
- mov r0, sp
- add r0, r12
- strb r4, [r0]
- mov r0, r12
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080DD684:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DD5CA
- movs r4, 0
- ldr r6, =gContestResources
- movs r5, 0
-_080DD690:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- adds r1, r4
- mov r0, sp
- adds r3, r0, r4
- ldrb r0, [r3]
- strb r0, [r1]
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, r5, r0
- movs r1, 0xFF
- strb r1, [r0, 0x19]
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- adds r1, r5, r1
- ldrb r2, [r1, 0x10]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1, 0x10]
- mov r0, r9
- adds r1, r4, r0
- ldrb r0, [r3]
- strb r0, [r1]
- adds r5, 0x1C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DD690
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD590
-
- thumb_func_start sub_80DD6DC
-sub_80DD6DC: @ 80DD6DC
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0x1
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x54
- ble _080DD712
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r0, =SpriteCallbackDummy
- str r0, [r2, 0x1C]
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
-_080DD712:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD6DC
-
- thumb_func_start sub_80DD720
-sub_80DD720: @ 80DD720
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r5, [r0, 0x12]
- cmp r1, 0x8
- bls _080DD734
- b _080DD8D4
-_080DD734:
- lsls r0, r1, 2
- ldr r1, =_080DD748
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080DD748:
- .4byte _080DD76C
- .4byte _080DD76C
- .4byte _080DD79C
- .4byte _080DD7D0
- .4byte _080DD804
- .4byte _080DD838
- .4byte _080DD86C
- .4byte _080DD8D4
- .4byte _080DD8A0
-_080DD76C:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2E]
- ldr r2, =0x000003ff
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x20
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD79C:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x4
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x1F
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD7D0:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x8
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x1F
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD804:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0xC
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD838:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0xC
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD86C:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x10
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD8A0:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x18
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0xC3
- bl PlaySE
- b _080DD8F8
- .pool
-_080DD8D4:
- ldr r0, =gSprites
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x14
- ldr r3, =0x000003ff
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, =0xfffffc00
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
-_080DD8F8:
- adds r2, r4, 0
- ldr r4, =gSprites
- adds r2, r5
- lsls r2, 2
- adds r1, r2, r4
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r1, 0x3E
- ldrb r3, [r1]
- subs r0, 0x5
- ands r0, r3
- strb r0, [r1]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, =sub_80DD6DC
- str r0, [r2]
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r0, [r2, 0x6]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD720
-
- thumb_func_start sub_80DD940
-sub_80DD940: @ 80DD940
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
- ldr r6, =gContestResources
- ldr r0, =gSprites
- mov r9, r0
- ldr r0, =0x06010000
- mov r8, r0
- ldr r7, =0x04000008
-_080DD956:
- ldr r0, [r6]
- ldr r1, [r0]
- movs r0, 0x13
- ldrsb r0, [r1, r0]
- ldr r4, =gContestApplauseMeterGfx
- cmp r5, r0
- bge _080DD966
- adds r4, 0x40
-_080DD966:
- adds r0, r1, 0
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r0, r5, 0
- adds r0, 0x11
- adds r1, r0
- lsls r1, 5
- add r1, r8
- adds r0, r4, 0
- adds r2, r7, 0
- bl CpuSet
- adds r0, r4, 0
- adds r0, 0x20
- ldr r1, [r6]
- ldr r1, [r1]
- adds r1, 0x58
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r9
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0
- adds r2, 0x19
- adds r1, r2
- lsls r1, 5
- add r1, r8
- adds r2, r7, 0
- bl CpuSet
- ldr r0, [r6]
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080DD9C8
- bl sub_80DDA20
-_080DD9C8:
- adds r5, 0x1
- cmp r5, 0x4
- ble _080DD956
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DD940
-
- thumb_func_start Contest_GetMoveExcitement
-Contest_GetMoveExcitement: @ 80DD9F0
- lsls r0, 16
- ldr r3, =gUnknown_085899EC
- ldr r1, =gContestMoves
- lsrs r0, 13
- adds r0, r1
- ldrb r1, [r0, 0x1]
- lsls r1, 29
- lsrs r1, 29
- ldr r0, =gSpecialVar_ContestCategory
- ldrh r2, [r0]
- lsls r0, r2, 2
- adds r0, r2
- adds r1, r0
- adds r1, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- bx lr
- .pool
- thumb_func_end Contest_GetMoveExcitement
-
- thumb_func_start sub_80DDA20
-sub_80DDA20: @ 80DDA20
- push {r4,r5,lr}
- ldr r0, =c3_08130B10
- movs r1, 0xA
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0x1
- strh r0, [r4, 0xA]
- ldr r0, =0x0000abe2
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DDA20
-
- thumb_func_start c3_08130B10
-c3_08130B10: @ 80DDA60
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080DDAFE
- movs r0, 0
- strh r0, [r2, 0x8]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080DDA94
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- b _080DDA98
- .pool
-_080DDA94:
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
-_080DDA98:
- strh r0, [r2, 0x10]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- lsls r0, 4
- movs r3, 0x84
- lsls r3, 1
- adds r6, r3, 0
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r4, 0x10]
- ldr r3, =0x00007fff
- movs r1, 0x1
- bl BlendPalette
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DDACA
- cmp r0, 0x10
- bne _080DDAFE
-_080DDACA:
- ldrh r0, [r4, 0xE]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0xE]
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bgt _080DDAFE
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 4
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1F
- bl BlendPalette
- adds r0, r5, 0
- bl DestroyTask
-_080DDAFE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end c3_08130B10
-
- thumb_func_start sub_80DDB0C
-sub_80DDB0C: @ 80DDB0C
- push {r4,lr}
- ldr r0, =sub_80DDB6C
- movs r1, 0xA
- bl CreateTask
- ldr r3, =gSprites
- ldr r4, =gContestResources
- ldr r2, [r4]
- ldr r0, [r2]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, =0x0000ffba
- strh r1, [r0, 0x24]
- ldr r0, [r2]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r2, [r0]
- ldrb r0, [r2, 0x6]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDB0C
-
- thumb_func_start sub_80DDB6C
-sub_80DDB6C: @ 80DDB6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- ldr r4, =gContestResources
- ldr r0, [r4]
- ldr r0, [r0]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r2, r0, r1
- ldr r0, =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r5, 0xD0
- lsls r5, 3
- adds r0, r5, 0
- ldrh r5, [r1, 0x1C]
- adds r0, r5
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 24
- ldrh r5, [r2, 0x24]
- adds r0, r5
- strh r0, [r2, 0x24]
- ldrb r0, [r1, 0x1C]
- strh r0, [r1, 0x1C]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _080DDBB8
- movs r0, 0
- strh r0, [r2, 0x24]
-_080DDBB8:
- movs r5, 0x24
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _080DDBD4
- ldr r0, [r4]
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r3, 0
- bl DestroyTask
-_080DDBD4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDB6C
-
- thumb_func_start sub_80DDBE8
-sub_80DDBE8: @ 80DDBE8
- push {r4,r5,lr}
- ldr r5, =gSprites
- ldr r4, =gContestResources
- ldr r0, [r4]
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _080DDC1C
- ldrb r1, [r2, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- b _080DDC40
- .pool
-_080DDC1C:
- ldr r0, =task08_080CD1CC
- movs r1, 0xA
- bl CreateTask
- ldr r2, [r4]
- ldr r0, [r2]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x24]
- ldr r2, [r2]
- ldrb r0, [r2, 0x6]
- movs r1, 0x40
- orrs r0, r1
-_080DDC40:
- strb r0, [r2, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDBE8
-
- thumb_func_start task08_080CD1CC
-task08_080CD1CC: @ 80DDC4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r3, r0, r1
- ldr r0, =gTasks
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 3
- adds r2, r0
- movs r1, 0xD0
- lsls r1, 3
- adds r0, r1, 0
- ldrh r1, [r2, 0x1C]
- adds r0, r1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r3, 0x24]
- subs r1, r0
- strh r1, [r3, 0x24]
- ldrb r0, [r2, 0x1C]
- strh r0, [r2, 0x1C]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- movs r1, 0x46
- negs r1, r1
- cmp r0, r1
- bge _080DDC9C
- ldr r0, =0x0000ffba
- strh r0, [r3, 0x24]
-_080DDC9C:
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- cmp r0, r1
- bne _080DDCC4
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r5]
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r4, 0
- bl DestroyTask
-_080DDCC4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task08_080CD1CC
-
- thumb_func_start sub_80DDCDC
-sub_80DDCDC: @ 80DDCDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =sub_80DDD20
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0x8]
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r0, [r2, 0x6]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDCDC
-
- thumb_func_start sub_80DDD20
-sub_80DDD20: @ 80DDD20
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DDD54
- cmp r0, 0x1
- bgt _080DDD48
- cmp r0, 0
- beq _080DDD4E
- b _080DDD9C
- .pool
-_080DDD48:
- cmp r0, 0x2
- beq _080DDD70
- b _080DDD9C
-_080DDD4E:
- bl sub_80DDB0C
- b _080DDD64
-_080DDD54:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080DDD9C
-_080DDD64:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- b _080DDD9C
- .pool
-_080DDD70:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080DDD9C
- movs r0, 0
- strh r0, [r4, 0x1E]
- bl sub_80DD940
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r5, 0
- bl DestroyTask
-_080DDD9C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDD20
-
- thumb_func_start sub_80DDDA8
-sub_80DDDA8: @ 80DDDA8
- ldr r3, =gSprites
- ldr r0, =gContestResources
- ldr r2, [r0]
- ldr r0, [r2]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x24]
- ldr r0, [r2]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80DDDA8
-
- thumb_func_start sub_80DDDE4
-sub_80DDDE4: @ 80DDDE4
- ldr r2, =gSprites
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end sub_80DDDE4
-
- thumb_func_start sub_80DDE0C
-sub_80DDE0C: @ 80DDE0C
- push {lr}
- ldr r0, =sub_80DDE30
- movs r1, 0xF
- bl CreateTask
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r0, [r2, 0x6]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDE0C
-
- thumb_func_start sub_80DDE30
-sub_80DDE30: @ 80DDE30
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080DDEBA
- movs r0, 0
- strh r0, [r4, 0x1C]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DDE78
- ldr r0, =gHeap+0x19000
- ldr r1, =0x06002000
- movs r2, 0x80
- lsls r2, 5
- movs r3, 0x1
- bl RequestDma3Copy
- b _080DDE8C
- .pool
-_080DDE78:
- ldr r0, =gHeap+0x18000
- ldr r1, =0x06002000
- movs r2, 0x80
- lsls r2, 5
- movs r3, 0x1
- bl RequestDma3Copy
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
-_080DDE8C:
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x1E]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x1E]
- movs r1, 0x20
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bne _080DDEBA
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r5, 0
- bl DestroyTask
-_080DDEBA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDE30
-
- thumb_func_start sub_80DDED0
-sub_80DDED0: @ 80DDED0
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, =sub_80DDF80
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- cmp r4, 0
- ble _080DDF38
- ldr r7, =0x0000237e
- lsls r0, r5, 24
- adds r4, r0, 0
- cmp r4, 0
- ble _080DDF1C
- movs r5, 0
- ldr r2, =gContestResources
- ldr r0, [r2]
- ldr r0, [r0]
- movs r1, 0x13
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080DDF4E
- .pool
-_080DDF1C:
- ldr r2, =gContestResources
- ldr r0, [r2]
- ldr r0, [r0]
- movs r1, 0x13
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- b _080DDF4E
- .pool
-_080DDF38:
- movs r7, 0
- lsls r0, r5, 24
- adds r4, r0, 0
- cmp r4, 0
- ble _080DDF48
- movs r5, 0
- movs r3, 0xC
- b _080DDF4C
-_080DDF48:
- movs r5, 0xC
- movs r3, 0
-_080DDF4C:
- ldr r2, =gContestResources
-_080DDF4E:
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0x8]
- strh r5, [r0, 0xA]
- asrs r1, r4, 24
- strh r1, [r0, 0xC]
- strh r3, [r0, 0xE]
- ldr r0, [r2]
- ldr r2, [r0]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDED0
-
- thumb_func_start sub_80DDF80
-sub_80DDF80: @ 80DDF80
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- cmp r0, 0
- blt _080DDFFC
- movs r0, 0
- strh r0, [r3, 0x1C]
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0
- ble _080DDFB4
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- b _080DDFB8
- .pool
-_080DDFB4:
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
-_080DDFB8:
- strh r0, [r3, 0xA]
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r2
- ldrb r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- movs r0, 0x11
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- movs r0, 0x1A
- movs r1, 0x1
- bl BlendPalette
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080DDFFC
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
-_080DDFFC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DDF80
-
- thumb_func_start sub_80DE008
-sub_80DE008: @ 80DE008
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r5, 0
- ldr r0, =gContestResources
- mov r9, r0
- mov r8, r9
- ldr r6, =gSprites
- movs r4, 0
- movs r7, 0
-_080DE026:
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r0, r7, r0
- ldrb r1, [r0, 0x10]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080DE0BC
- mov r2, r10
- cmp r2, 0
- beq _080DE0BC
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80DE0F0
- mov r3, r8
- ldr r1, [r3]
- ldr r1, [r1, 0x14]
- adds r1, r4, r1
- ldrb r2, [r1, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, =0x060100c0
- adds r1, r2
- ldr r2, =0x04000008
- bl CpuSet
- mov r0, r8
- ldr r3, [r0]
- ldr r0, [r3, 0x14]
- adds r0, r4, r0
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldr r2, =gUnknown_08587A70
- ldr r0, =gUnknown_02039F26
- adds r0, r5, r0
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x22]
- ldr r0, [r3, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x5
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- b _080DE0D6
- .pool
-_080DE0BC:
- mov r1, r9
- ldr r0, [r1]
- ldr r0, [r0, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_080DE0D6:
- strb r1, [r0]
- adds r4, 0x4
- adds r7, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DE026
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DE008
-
- thumb_func_start sub_80DE0F0
-sub_80DE0F0: @ 80DE0F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r1, [r2, 0x10]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _080DE120
- ldrb r0, [r2, 0x19]
- lsls r0, 5
- ldr r1, =gUnknown_08D8E9B4
- adds r0, r1
- b _080DE122
- .pool
-_080DE120:
- ldr r0, =gUnknown_08D8EA34
-_080DE122:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DE0F0
-
- thumb_func_start sub_80DE12C
-sub_80DE12C: @ 80DE12C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r7, 0
- movs r0, 0x2
- mov r10, r0
- movs r0, 0x1
- mov r8, r0
- movs r0, 0x11
- mov r9, r0
-_080DE146:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- adds r0, 0xD
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DE1CA
- lsls r0, r7, 24
- lsrs r0, 24
- bl Contest_IsMonsTurnDisabled
- lsls r0, 24
- cmp r0, 0
- bne _080DE1CA
- ldr r0, =gUnknown_02039F26
- adds r0, r7, r0
- ldrb r0, [r0]
- lsls r5, r0, 2
- adds r5, r0
- adds r6, r5, 0x2
- movs r0, 0x3
- bl sub_80DB748
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 24
- lsrs r6, 24
- mov r0, r10
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- mov r0, r8
- str r0, [sp, 0xC]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x14
- adds r3, r6, 0
- bl ContestBG_FillBoxWithIncrementingTile
- adds r4, 0x10
- lsls r4, 16
- lsrs r4, 16
- adds r5, 0x3
- lsls r5, 24
- lsrs r5, 24
- mov r0, r10
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- mov r0, r8
- str r0, [sp, 0xC]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x14
- adds r3, r5, 0
- bl ContestBG_FillBoxWithIncrementingTile
- movs r0, 0x63
- bl PlaySE
-_080DE1CA:
- adds r7, 0x1
- cmp r7, 0x3
- ble _080DE146
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE12C
-
- thumb_func_start sub_80DE1E8
-sub_80DE1E8: @ 80DE1E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r2, [r1, 0x4]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r2, r1, r2
- ldrb r1, [r2, 0x15]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080DE212
- ldrb r1, [r2, 0xC]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080DE21C
-_080DE212:
- movs r0, 0
- b _080DE21E
- .pool
-_080DE21C:
- movs r0, 0x1
-_080DE21E:
- pop {r1}
- bx r1
- thumb_func_end sub_80DE1E8
-
- thumb_func_start sub_80DE224
-sub_80DE224: @ 80DE224
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- movs r0, 0xA
- bl GetGpuReg
- mov r1, sp
- strh r0, [r1]
- mov r2, sp
- ldrb r1, [r2]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- mov r8, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, sp
- ldrh r1, [r0]
- movs r0, 0xA
- bl SetGpuReg
- movs r0, 0x8
- bl GetGpuReg
- mov r6, sp
- adds r6, 0x2
- strh r0, [r6]
- movs r0, 0xC
- bl GetGpuReg
- add r5, sp, 0x4
- strh r0, [r5]
- ldrb r1, [r6]
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- ands r4, r0
- orrs r4, r1
- strb r4, [r5]
- ldrh r1, [r6]
- movs r0, 0x8
- bl SetGpuReg
- ldrh r1, [r5]
- movs r0, 0xC
- bl SetGpuReg
- ldr r1, =gBattle_BG1_X
- movs r0, 0xF0
- strh r0, [r1]
- ldr r4, =gBattle_BG1_Y
- movs r0, 0xA0
- strh r0, [r4]
- movs r0, 0x14
- movs r1, 0xF0
- bl SetGpuReg
- ldrh r1, [r4]
- movs r0, 0x16
- bl SetGpuReg
- movs r0, 0
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- ldr r4, =gContestResources
- ldr r1, [r4]
- ldr r1, [r1, 0x28]
- ldr r2, =0x05000400
- bl CpuSet
- ldr r1, =gUnknown_08C17980
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl CopyToBgTilemapBuffer
- movs r0, 0x1
- bl Contest_SetBgCopyFlags
- movs r5, 0
- ldr r7, =gSprites
- movs r6, 0x4
-_080DE2F0:
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- lsls r3, r5, 2
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- mov r0, r8
- ands r0, r2
- orrs r0, r6
- strb r0, [r1, 0x5]
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- adds r3, r0
- ldrb r0, [r3, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- mov r0, r8
- ands r0, r2
- orrs r0, r6
- strb r0, [r1, 0x5]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DE2F0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE224
-
- thumb_func_start sub_80DE350
-sub_80DE350: @ 80DE350
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, =0x06008000
- movs r2, 0x80
- lsls r2, 6
- movs r0, 0
- movs r3, 0x1
- bl RequestDma3Fill
- movs r5, 0
- str r5, [sp]
- ldr r6, =gContestResources
- ldr r0, [r6]
- ldr r1, [r0, 0x28]
- ldr r2, =0x05000400
- mov r0, sp
- bl CpuSet
- movs r0, 0x1
- bl Contest_SetBgCopyFlags
- movs r0, 0xA
- bl GetGpuReg
- add r3, sp, 0x4
- strh r0, [r3]
- ldrb r1, [r3]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r3]
- mov r1, sp
- adds r1, 0x5
- ldrb r2, [r1]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1]
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r1, [r3]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r3]
- ldrh r1, [r3]
- movs r0, 0xA
- bl SetGpuReg
- ldr r0, =gBattle_BG1_X
- strh r5, [r0]
- ldr r0, =gBattle_BG1_Y
- strh r5, [r0]
- ldr r7, =gSprites
-_080DE3CA:
- ldr r0, [r6]
- ldr r0, [r0, 0x14]
- lsls r3, r5, 2
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldr r0, [r6]
- ldr r0, [r0, 0x14]
- adds r3, r0
- ldrb r0, [r3, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r2, [r1, 0x5]
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1, 0x5]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DE3CA
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE350
-
- thumb_func_start sub_80DE424
-sub_80DE424: @ 80DE424
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, =gBattle_BG1_X
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gBattle_BG1_Y
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0x62
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80DE464
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE424
-
- thumb_func_start sub_80DE464
-sub_80DE464: @ 80DE464
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, =gBattle_BG1_Y
- ldrh r0, [r1]
- subs r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080DE47C
- movs r0, 0
- strh r0, [r1]
-_080DE47C:
- ldrh r2, [r1]
- cmp r2, 0
- bne _080DE496
- ldr r0, =gTasks
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldr r0, =sub_80DE4A8
- str r0, [r1]
-_080DE496:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE464
-
- thumb_func_start sub_80DE4A8
-sub_80DE4A8: @ 80DE4A8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r3, r4, 2
- adds r0, r3, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0x1
- beq _080DE52C
- cmp r1, 0x1
- bgt _080DE4D0
- cmp r1, 0
- beq _080DE4DA
- b _080DE5B4
- .pool
-_080DE4D0:
- cmp r1, 0x2
- beq _080DE58A
- cmp r1, 0x3
- beq _080DE5A4
- b _080DE5B4
-_080DE4DA:
- movs r2, 0
- adds r6, r3, 0
- ldr r5, =gContestResources
- ldr r3, =gUnknown_02039F26
-_080DE4E2:
- ldr r0, [r5]
- ldr r1, [r0]
- adds r1, 0x14
- adds r1, r2
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080DE4E2
- bl sub_80DBF90
- bl sub_80DC864
- bl sub_80DB69C
- bl sub_80DD04C
- movs r0, 0x1
- bl sub_80DE008
- bl sub_80DC44C
- ldr r0, =gTasks
- adds r1, r6, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _080DE5B4
- .pool
-_080DE52C:
- ldr r0, =gIsLinkContest
- ldrb r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080DE584
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r0, [r2, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x7]
- bl sub_80DA8A4
- lsls r0, 24
- cmp r0, 0
- beq _080DE552
- bl sub_80DBAA0
-_080DE552:
- ldr r4, =sub_80FCC88
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =sub_80DA110
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80DBF68
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080DE5B4
- .pool
-_080DE584:
- bl sub_80DBAA0
- b _080DE59A
-_080DE58A:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- ldrb r1, [r0, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080DE5B4
-_080DE59A:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080DE5B4
- .pool
-_080DE5A4:
- bl sub_80DB884
- bl sub_80DB2BC
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, =sub_80DE5F4
- str r0, [r5]
-_080DE5B4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE4A8
-
- thumb_func_start sub_80DE5C0
-sub_80DE5C0: @ 80DE5C0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gBattle_BG1_Y
- ldrh r0, [r1]
- adds r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA0
- ble _080DE5E4
- ldr r0, =gTasks
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80DA4F4
- str r0, [r1]
-_080DE5E4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE5C0
-
- thumb_func_start sub_80DE5F4
-sub_80DE5F4: @ 80DE5F4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x9
- bgt _080DE618
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080DE654
- .pool
-_080DE618:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080DE636
- ldrh r2, [r1, 0x8]
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x10
- bne _080DE632
- adds r0, r3, 0x1
- strh r0, [r1, 0xA]
- b _080DE654
-_080DE632:
- adds r0, r2, 0x1
- b _080DE652
-_080DE636:
- ldrh r0, [r1, 0x8]
- movs r3, 0x8
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080DE650
- strh r2, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldr r0, =sub_80DE65C
- str r0, [r1]
- b _080DE654
- .pool
-_080DE650:
- subs r0, 0x1
-_080DE652:
- strh r0, [r1, 0x8]
-_080DE654:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DE5F4
-
- thumb_func_start sub_80DE65C
-sub_80DE65C: @ 80DE65C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080DE680
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- b _080DE690
- .pool
-_080DE680:
- movs r0, 0
- strh r0, [r4, 0xC]
- movs r0, 0x61
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r0, =sub_80DE5C0
- str r0, [r4]
-_080DE690:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE65C
-
- thumb_func_start sub_80DE69C
-sub_80DE69C: @ 80DE69C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- ldr r6, =gSprites
- ldr r5, =gContestResources
-_080DE6AE:
- bl AllocOamMatrix
- ldr r1, [r5]
- ldr r1, [r1, 0x14]
- lsls r4, r7, 2
- adds r1, r4, r1
- ldrb r1, [r1]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r6
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1F
- ands r0, r1
- lsls r0, 1
- ldrb r1, [r3, 0x3]
- movs r2, 0x3F
- negs r2, r2
- mov r12, r2
- mov r2, r12
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x3]
- ldr r0, [r5]
- ldr r0, [r0, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0, 0x1]
- movs r3, 0x4
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strb r2, [r0, 0x1]
- ldr r0, [r5]
- ldr r0, [r0, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r8
- bl StartSpriteAffineAnim
- mov r0, r8
- cmp r0, 0x2
- bne _080DE74C
- ldr r0, [r5]
- ldr r0, [r0, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl AnimateSprite
- ldr r0, [r5]
- ldr r0, [r0, 0x14]
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x5
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- strb r1, [r0]
-_080DE74C:
- adds r7, 0x1
- cmp r7, 0x3
- ble _080DE6AE
- ldr r0, =sub_80DE794
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, r8
- strh r0, [r1, 0x8]
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r2, [r0]
- ldrb r0, [r2, 0x7]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x7]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE69C
-
- thumb_func_start sub_80DE794
-sub_80DE794: @ 80DE794
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, =gSprites
- ldr r3, =gContestResources
- ldr r0, [r3]
- ldr r0, [r0, 0x14]
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080DE822
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bne _080DE7EC
- movs r4, 0
- adds r5, r2, 0
- movs r2, 0x4
-_080DE7CC:
- ldr r0, [r3]
- ldr r1, [r0, 0x14]
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DE7CC
-_080DE7EC:
- movs r4, 0
-_080DE7EE:
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r1, [r0, 0x14]
- lsls r0, r4, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl FreeSpriteOamMatrix
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DE7EE
- ldr r0, [r5]
- ldr r2, [r0]
- ldrb r1, [r2, 0x7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- adds r0, r6, 0
- bl DestroyTask
-_080DE822:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE794
-
- thumb_func_start sub_80DE834
-sub_80DE834: @ 80DE834
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _080DE844
- movs r1, 0x1
-_080DE844:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80DE834
-
- thumb_func_start sub_80DE84C
-sub_80DE84C: @ 80DE84C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, =0x0000019b
- cmp r1, r0
- bls _080DE85A
- movs r1, 0
-_080DE85A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DE84C
-
- thumb_func_start sub_80DE864
-sub_80DE864: @ 80DE864
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, =gContestResources
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl sub_80DE834
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, =gContestMons
- lsls r0, r7, 6
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80DE84C
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- movs r1, 0
- movs r2, 0x14
- bl memset
- bl ClearBattleAnimationVars
- ldr r1, =gBattleMonForms
- movs r2, 0
- adds r0, r1, 0x3
-_080DE8A8:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080DE8A8
- cmp r5, 0x90
- beq _080DE920
- cmp r5, 0x90
- bgt _080DE8DE
- cmp r5, 0x4C
- beq _080DE978
- cmp r5, 0x4C
- bgt _080DE8D4
- cmp r5, 0xD
- beq _080DE978
- b _080DE9A2
- .pool
-_080DE8D4:
- cmp r5, 0x82
- beq _080DE978
- cmp r5, 0x8F
- beq _080DE978
- b _080DE9A2
-_080DE8DE:
- cmp r5, 0xD8
- beq _080DE960
- cmp r5, 0xD8
- bgt _080DE8EC
- cmp r5, 0xAE
- beq _080DE8FA
- b _080DE9A2
-_080DE8EC:
- cmp r5, 0xDA
- beq _080DE96C
- movs r0, 0x88
- lsls r0, 1
- cmp r5, r0
- beq _080DE920
- b _080DE9A2
-_080DE8FA:
- ldr r0, =gBaseStats
- lsls r1, r6, 3
- subs r1, r6
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0x7
- beq _080DE910
- ldrb r0, [r1, 0x7]
- cmp r0, 0x7
- bne _080DE99C
-_080DE910:
- ldr r1, =gAnimMoveTurn
- movs r0, 0
- b _080DE9A0
- .pool
-_080DE920:
- ldr r6, =gContestResources
- ldr r0, [r6]
- ldr r1, [r0, 0x4]
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1B]
- ldr r5, =gContestMons
- lsls r4, 6
- adds r0, r4, r5
- ldrh r0, [r0]
- bl sub_80DE84C
- ldr r2, [r6]
- ldr r1, [r2, 0x18]
- strh r0, [r1, 0x2]
- ldr r2, [r2, 0x18]
- adds r5, 0x38
- adds r4, r5
- ldr r0, [r4]
- str r0, [r2, 0x10]
- ldrb r0, [r2, 0x4]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x4]
- b _080DE9A2
- .pool
-_080DE960:
- ldr r1, =gAnimFriendship
- movs r0, 0xFF
- b _080DE9A0
- .pool
-_080DE96C:
- ldr r1, =gAnimFriendship
- movs r0, 0
- b _080DE9A0
- .pool
-_080DE978:
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0x5A
- ldrb r1, [r2]
- cmp r1, 0
- bne _080DE99C
- movs r0, 0x2
- strb r0, [r2]
- ldr r0, =gAnimMoveTurn
- strb r1, [r0]
- b _080DE9A2
- .pool
-_080DE99C:
- ldr r1, =gAnimMoveTurn
- movs r0, 0x1
-_080DE9A0:
- strb r0, [r1]
-_080DE9A2:
- bl sub_80DEA5C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE864
-
- thumb_func_start sub_80DE9B0
-sub_80DE9B0: @ 80DE9B0
- push {r4,lr}
- ldr r4, =gContestResources
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- movs r1, 0
- movs r2, 0x14
- bl memset
- ldr r0, [r4]
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0x5A
- ldrb r0, [r1]
- cmp r0, 0
- beq _080DE9D2
- subs r0, 0x1
- strb r0, [r1]
-_080DE9D2:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE9B0
-
- thumb_func_start sub_80DE9DC
-sub_80DE9DC: @ 80DE9DC
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, =gContestResources
- ldr r0, [r6]
- ldr r0, [r0, 0x18]
- strb r4, [r0, 0x5]
- ldr r5, =gContestMons
- lsls r4, 6
- adds r0, r4, r5
- ldrh r0, [r0]
- bl sub_80DE84C
- ldr r2, [r6]
- ldr r1, [r2, 0x18]
- strh r0, [r1]
- ldr r1, [r2, 0x18]
- adds r0, r5, 0
- adds r0, 0x38
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r1, 0x8]
- adds r5, 0x3C
- adds r4, r5
- ldr r0, [r4]
- str r0, [r1, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DE9DC
-
- thumb_func_start sub_80DEA20
-sub_80DEA20: @ 80DEA20
- push {lr}
- ldr r0, =SpriteCallbackDummy
- bl CreateInvisibleSpriteWithCallback
- ldr r1, =gBattlerSpriteIds
- strb r0, [r1, 0x3]
- ldr r0, =gBattlerTarget
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, =gSprites
- adds r0, r1
- bl InitSpriteAffineAnim
- bl sub_80DEA5C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DEA20
-
- thumb_func_start sub_80DEA5C
-sub_80DEA5C: @ 80DEA5C
- push {r4,lr}
- ldr r0, =gBattlerSpriteIds
- ldrb r0, [r0, 0x3]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, =gSprites
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0x3
- movs r1, 0
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- movs r0, 0x3
- movs r1, 0x1
- bl GetBattlerSpriteCoord
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DEA5C
-
- thumb_func_start sub_80DEAA8
-sub_80DEAA8: @ 80DEAA8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, =gBattleMoves
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x6]
- cmp r0, 0x20
- bhi _080DEB60
- lsls r0, 2
- ldr r1, =_080DEAD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080DEAD0:
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB54
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB54
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
- .4byte _080DEB60
-_080DEB54:
- ldr r1, =gBattlerTarget
- movs r0, 0x2
- b _080DEB64
- .pool
-_080DEB60:
- ldr r1, =gBattlerTarget
- movs r0, 0x3
-_080DEB64:
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DEAA8
-
- thumb_func_start Contest_PrintTextToBg0WindowStd
-Contest_PrintTextToBg0WindowStd: @ 80DEB70
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- strb r4, [r0, 0x4]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r1, [r0, 0x7]
- strb r2, [r0, 0x8]
- strb r1, [r0, 0x9]
- strb r2, [r0, 0xA]
- strb r2, [r0, 0xB]
- mov r3, sp
- ldrb r2, [r3, 0xC]
- subs r1, 0x11
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- mov r2, sp
- movs r0, 0xF0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- mov r1, sp
- movs r0, 0x80
- strb r0, [r1, 0xD]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl PutWindowTilemap
- movs r0, 0
- bl Contest_SetBgCopyFlags
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end Contest_PrintTextToBg0WindowStd
-
- thumb_func_start Contest_PrintTextToBg0WindowAt
-Contest_PrintTextToBg0WindowAt: @ 80DEBD0
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r4, [sp, 0x1C]
- str r1, [sp]
- mov r0, sp
- movs r1, 0
- strb r5, [r0, 0x4]
- strb r4, [r0, 0x5]
- strb r2, [r0, 0x6]
- strb r3, [r0, 0x7]
- strb r2, [r0, 0x8]
- strb r3, [r0, 0x9]
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- mov r3, sp
- ldrb r2, [r3, 0xC]
- subs r1, 0x10
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0xC]
- mov r2, sp
- movs r0, 0xF0
- strb r0, [r2, 0xC]
- ldrb r0, [r2, 0xD]
- ands r1, r0
- strb r1, [r2, 0xD]
- mov r1, sp
- movs r0, 0x80
- strb r0, [r1, 0xD]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl PutWindowTilemap
- movs r0, 0
- bl Contest_SetBgCopyFlags
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Contest_PrintTextToBg0WindowAt
-
- thumb_func_start Contest_StartTextPrinter
-Contest_StartTextPrinter: @ 80DEC30
- push {r4,r5,lr}
- sub sp, 0x10
- str r0, [sp]
- mov r2, sp
- movs r3, 0
- movs r0, 0x4
- strb r0, [r2, 0x4]
- mov r0, sp
- movs r5, 0x1
- strb r5, [r0, 0x5]
- strb r3, [r0, 0x6]
- strb r5, [r0, 0x7]
- strb r3, [r0, 0x8]
- strb r5, [r0, 0x9]
- strb r3, [r0, 0xA]
- strb r3, [r0, 0xB]
- mov r4, sp
- ldrb r3, [r4, 0xC]
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r4, 0xC]
- mov r3, sp
- movs r0, 0x10
- strb r0, [r3, 0xC]
- ldrb r0, [r3, 0xD]
- ands r2, r0
- strb r2, [r3, 0xD]
- mov r2, sp
- movs r0, 0x80
- strb r0, [r2, 0xD]
- cmp r1, 0
- bne _080DEC80
- mov r0, sp
- movs r1, 0
- movs r2, 0
- bl AddTextPrinter
- b _080DECA4
-_080DEC80:
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080DEC94
- movs r1, 0x4
- b _080DEC9C
- .pool
-_080DEC94:
- bl GetPlayerTextSpeedDelay
- lsls r0, 24
- lsrs r1, r0, 24
-_080DEC9C:
- mov r0, sp
- movs r2, 0
- bl AddTextPrinter
-_080DECA4:
- movs r0, 0x4
- bl PutWindowTilemap
- movs r0, 0
- bl Contest_SetBgCopyFlags
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Contest_StartTextPrinter
-
- thumb_func_start ContestBG_FillBoxWithIncrementingTile
-ContestBG_FillBoxWithIncrementingTile: @ 80DECB8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r8, r0
- ldr r0, [sp, 0x28]
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x30]
- ldr r6, [sp, 0x34]
- mov r7, r8
- lsls r7, 24
- lsrs r7, 24
- mov r8, r7
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r0, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- lsls r6, 16
- asrs r6, 16
- str r6, [sp, 0xC]
- mov r0, r8
- bl WriteSequenceToBgTilemapBuffer
- mov r0, r8
- bl Contest_SetBgCopyFlags
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestBG_FillBoxWithIncrementingTile
-
- thumb_func_start ContestBG_FillBoxWithTile
-ContestBG_FillBoxWithTile: @ 80DED10
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r4, [sp, 0x20]
- ldr r5, [sp, 0x24]
- ldr r6, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r4, 0
- str r4, [sp, 0xC]
- bl ContestBG_FillBoxWithIncrementingTile
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ContestBG_FillBoxWithTile
-
- thumb_func_start Contest_RunTextPrinters
-Contest_RunTextPrinters: @ 80DED4C
- push {lr}
- bl RunTextPrinters
- movs r0, 0x4
- bl IsTextPrinterActive
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end Contest_RunTextPrinters
-
- thumb_func_start Contest_SetBgCopyFlags
-Contest_SetBgCopyFlags: @ 80DED60
- ldr r2, =sContestBgCopyFlags
- movs r1, 0x1
- lsls r1, r0
- ldrb r0, [r2]
- orrs r1, r0
- strb r1, [r2]
- bx lr
- .pool
- thumb_func_end Contest_SetBgCopyFlags
-
- thumb_func_start ResetContestLinkResults
-ResetContestLinkResults: @ 80DED74
- push {r4-r6,lr}
- movs r0, 0
- ldr r6, =gSaveBlock2Ptr
- ldr r5, =0x00000624
- movs r4, 0
-_080DED7E:
- adds r3, r0, 0x1
- lsls r1, r0, 3
- movs r2, 0x3
-_080DED84:
- ldr r0, [r6]
- adds r0, r5
- adds r0, r1
- strh r4, [r0]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080DED84
- adds r0, r3, 0
- cmp r0, 0x4
- ble _080DED7E
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ResetContestLinkResults
-
- thumb_func_start sub_80DEDA8
-sub_80DEDA8: @ 80DEDA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r1, =gContestFinalStandings
- ldrb r0, [r1]
- cmp r0, 0
- beq _080DEDE6
-_080DEDD8:
- adds r5, 0x1
- cmp r5, 0x2
- bgt _080DEDE6
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DEDD8
-_080DEDE6:
- ldr r0, [sp]
- cmp r0, 0xFF
- bne _080DEE00
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- cmp r5, r0
- beq _080DEE00
- movs r0, 0
- b _080DEF90
- .pool
-_080DEE00:
- ldr r0, =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080DEE4C
- lsls r0, 2
- ldr r1, =_080DEE1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080DEE1C:
- .4byte _080DEE4C
- .4byte _080DEE30
- .4byte _080DEE36
- .4byte _080DEE3C
- .4byte _080DEE42
-_080DEE30:
- mov r0, r8
- adds r0, 0x3
- b _080DEE46
-_080DEE36:
- mov r0, r8
- adds r0, 0x6
- b _080DEE46
-_080DEE3C:
- mov r0, r8
- adds r0, 0x9
- b _080DEE46
-_080DEE42:
- mov r0, r8
- adds r0, 0xC
-_080DEE46:
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080DEE4C:
- ldr r1, [sp]
- cmp r1, 0xFE
- bne _080DEE54
- b _080DEF50
-_080DEE54:
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_80DEFA8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r2, =gSaveBlock1Ptr
- mov r10, r2
- ldr r0, [r2]
- mov r3, r9
- lsls r7, r3, 5
- ldr r6, =0x00002e90
- adds r2, r0, r6
- adds r2, r7
- ldr r4, =gContestMons
- lsls r5, 6
- adds r1, r4, 0
- adds r1, 0x38
- adds r1, r5, r1
- ldr r1, [r1]
- str r1, [r2]
- adds r1, r0, r7
- adds r2, r5, r4
- ldrh r2, [r2]
- ldr r3, =0x00002e98
- adds r1, r3
- strh r2, [r1]
- ldr r1, =0x00002e94
- adds r2, r0, r1
- adds r2, r7
- adds r1, r4, 0
- adds r1, 0x3C
- adds r1, r5, r1
- ldr r1, [r1]
- str r1, [r2]
- adds r6, r7, r6
- adds r0, r6
- adds r0, 0xB
- adds r1, r4, 0x2
- adds r1, r5, r1
- bl StringCopy
- mov r2, r10
- ldr r0, [r2]
- adds r0, r6
- adds r0, 0x16
- adds r4, 0xD
- adds r5, r4
- adds r1, r5, 0
- bl StringCopy
- ldr r0, =gIsLinkContest
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DEEF4
- mov r3, r10
- ldr r0, [r3]
- adds r0, r7
- ldr r1, =0x00002eae
- adds r0, r1
- movs r1, 0x4
- b _080DEF02
- .pool
-_080DEEF4:
- mov r2, r10
- ldr r0, [r2]
- adds r0, r7
- ldr r1, =gSpecialVar_ContestRank
- ldrh r1, [r1]
- ldr r3, =0x00002eae
- adds r0, r3
-_080DEF02:
- strb r1, [r0]
- ldr r0, [sp]
- cmp r0, 0xFF
- beq _080DEF34
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- mov r2, r9
- lsls r1, r2, 5
- adds r0, r1
- ldr r1, =gSpecialVar_ContestCategory
- ldrh r1, [r1]
- ldr r3, =0x00002e9a
- adds r0, r3
- strb r1, [r0]
- b _080DEF8E
- .pool
-_080DEF34:
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- mov r2, r9
- lsls r1, r2, 5
- adds r0, r1
- ldr r3, =0x00002e9a
- adds r0, r3
- mov r1, r8
- strb r1, [r0]
- b _080DEF8E
- .pool
-_080DEF50:
- ldr r6, =gUnknown_02039F3C
- ldr r4, =gContestMons
- lsls r5, 6
- adds r0, r4, 0
- adds r0, 0x38
- adds r0, r5, r0
- ldr r0, [r0]
- str r0, [r6]
- adds r0, r4, 0
- adds r0, 0x3C
- adds r0, r5, r0
- ldr r0, [r0]
- str r0, [r6, 0x4]
- adds r0, r5, r4
- ldrh r0, [r0]
- strh r0, [r6, 0x8]
- adds r0, r6, 0
- adds r0, 0xB
- adds r1, r4, 0x2
- adds r1, r5, r1
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0x16
- adds r4, 0xD
- adds r5, r4
- adds r1, r5, 0
- bl StringCopy
- mov r2, r8
- strb r2, [r6, 0xA]
-_080DEF8E:
- movs r0, 0x1
-_080DEF90:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80DEDA8
-
- thumb_func_start sub_80DEFA8
-sub_80DEFA8: @ 80DEFA8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x3
- bgt _080DEFF8
- cmp r0, 0
- blt _080DEFF8
- cmp r1, 0
- beq _080DEFE6
- movs r2, 0x5
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- ldr r4, =0x00002e90
- ldr r3, =0x00002e70
-_080DEFC8:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r2, 5
- adds r1, r0
- adds r0, r1, r4
- adds r1, r3
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5,r6}
- stm r0!, {r5,r6}
- subs r2, 0x1
- cmp r2, 0
- bgt _080DEFC8
-_080DEFE6:
- movs r0, 0
- b _080DF03A
- .pool
-_080DEFF8:
- ldr r0, =gSpecialVar_ContestCategory
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080DF038
- lsls r0, 2
- ldr r1, =_080DF014
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080DF014:
- .4byte _080DF028
- .4byte _080DF02C
- .4byte _080DF030
- .4byte _080DF034
- .4byte _080DF038
-_080DF028:
- movs r0, 0x8
- b _080DF03A
-_080DF02C:
- movs r0, 0x9
- b _080DF03A
-_080DF030:
- movs r0, 0xA
- b _080DF03A
-_080DF034:
- movs r0, 0xB
- b _080DF03A
-_080DF038:
- movs r0, 0xC
-_080DF03A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80DEFA8
-
- thumb_func_start ClearContestWinnerPicsInContestHall
-ClearContestWinnerPicsInContestHall: @ 80DF040
- push {r4-r7,lr}
- movs r2, 0
- ldr r0, =gSaveBlock1Ptr
- mov r12, r0
- ldr r4, =0x00002e90
- ldr r3, =gUnknown_08587FA4
-_080DF04C:
- mov r1, r12
- ldr r0, [r1]
- lsls r1, r2, 5
- adds r0, r1
- adds r0, r4
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5,r6}
- stm r0!, {r5,r6}
- adds r3, 0x20
- adds r2, 0x1
- cmp r2, 0x7
- ble _080DF04C
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end ClearContestWinnerPicsInContestHall
-
- thumb_func_start sub_80DF080
-sub_80DF080: @ 80DF080
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gContestResources
- ldr r3, [r2]
- ldr r5, [r3, 0x10]
- ldrb r1, [r5, 0x1]
- movs r7, 0x1
- adds r0, r7, 0
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- bne _080DF0D2
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- ble _080DF0D2
- ldr r1, [r3, 0x4]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x15]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080DF0D2
- ldr r1, [r3, 0x1C]
- lsls r2, r4, 4
- adds r1, r2, r1
- ldrb r3, [r1, 0xC]
- movs r0, 0x1
- orrs r0, r3
- strb r0, [r1, 0xC]
- ldr r0, [r6]
- ldr r0, [r0, 0x1C]
- adds r2, r0
- ldrb r0, [r2, 0xE]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0xE]
-_080DF0D2:
- ldr r3, [r6]
- ldr r1, [r3, 0x4]
- lsls r2, r4, 3
- subs r0, r2, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0xC]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- adds r7, r2, 0
- cmp r0, 0
- beq _080DF0FA
- ldr r0, [r3, 0x1C]
- lsls r1, r4, 4
- adds r1, r0
- ldrb r2, [r1, 0xC]
- movs r0, 0x2
- orrs r0, r2
- strb r0, [r1, 0xC]
-_080DF0FA:
- ldr r3, [r6]
- ldr r2, [r3, 0x10]
- ldrb r1, [r2, 0x1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080DF126
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080DF126
- movs r0, 0x2
- ldrsb r0, [r2, r0]
- cmp r0, 0x3C
- bne _080DF126
- ldr r0, [r3, 0x1C]
- lsls r1, r4, 4
- adds r1, r0
- ldrb r2, [r1, 0xC]
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r1, 0xC]
-_080DF126:
- ldr r3, [r6]
- ldr r1, [r3, 0x4]
- subs r0, r7, r4
- lsls r0, 2
- adds r2, r0, r1
- ldrb r1, [r2, 0x15]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080DF14E
- ldrb r0, [r2, 0x16]
- cmp r0, 0
- beq _080DF14E
- ldr r0, [r3, 0x1C]
- lsls r1, r4, 4
- adds r1, r0
- ldrb r2, [r1, 0xC]
- movs r0, 0x8
- orrs r0, r2
- strb r0, [r1, 0xC]
-_080DF14E:
- movs r3, 0
- movs r5, 0
-_080DF152:
- cmp r3, r4
- beq _080DF180
- ldr r1, [r6]
- ldr r0, [r1, 0x4]
- adds r0, r5, r0
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- beq _080DF180
- ldr r0, [r1, 0x1C]
- lsls r2, r4, 4
- adds r2, r0
- ldrb r0, [r2, 0xC]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldr r0, [r6]
- ldr r0, [r0, 0x1C]
- lsls r2, r3, 4
- adds r2, r0
- ldrb r0, [r2, 0xC]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0xC]
-_080DF180:
- adds r5, 0x1C
- adds r3, 0x1
- cmp r3, 0x3
- ble _080DF152
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- subs r0, r7, r4
- lsls r5, r0, 2
- adds r1, r5, r1
- ldrb r3, [r1, 0xC]
- movs r0, 0x6
- ands r0, r3
- cmp r0, 0
- bne _080DF1A6
- ldrb r1, [r1, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080DF1BC
-_080DF1A6:
- ldr r0, [r2, 0x1C]
- lsls r1, r4, 4
- adds r1, r0
- ldrb r2, [r1, 0xC]
- movs r0, 0x20
- orrs r0, r2
- strb r0, [r1, 0xC]
- b _080DF1F6
- .pool
-_080DF1BC:
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- bne _080DF1F6
- ldr r2, [r2, 0x1C]
- lsls r3, r4, 4
- adds r2, r3, r2
- ldrb r0, [r2, 0xC]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0xC]
- ldr r0, [r6]
- ldr r1, [r0, 0x1C]
- adds r1, r3, r1
- ldrb r0, [r1, 0xE]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1, 0xE]
- ldr r1, [r6]
- ldr r0, [r1, 0x1C]
- adds r3, r0
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- lsls r0, 1
- adds r3, r0
- ldr r0, [r1, 0x4]
- adds r0, r5, r0
- ldrh r0, [r0, 0x6]
- strh r0, [r3]
-_080DF1F6:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- subs r0, r7, r4
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080DF21A
- ldr r0, [r2, 0x1C]
- lsls r1, r4, 4
- adds r1, r0
- ldrb r2, [r1, 0xD]
- movs r0, 0x2
- orrs r0, r2
- strb r0, [r1, 0xD]
-_080DF21A:
- ldr r2, [r6]
- ldr r0, [r2]
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bne _080DF24A
- ldr r3, [r2, 0x10]
- ldrb r1, [r3, 0x1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080DF24A
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r0, 0
- bge _080DF24A
- ldr r0, [r2, 0x1C]
- lsls r1, r4, 4
- adds r1, r0
- ldrb r2, [r1, 0xD]
- movs r0, 0x20
- orrs r0, r2
- strb r0, [r1, 0xD]
-_080DF24A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DF080
-
- thumb_func_start sub_80DF250
-sub_80DF250: @ 80DF250
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- movs r1, 0
- movs r0, 0
- str r0, [sp, 0x20]
- movs r4, 0
- ldr r6, =gContestResources
- mov r2, sp
- adds r2, 0xC
- str r2, [sp, 0x28]
- mov r3, sp
- adds r3, 0x14
- str r3, [sp, 0x2C]
- mov r7, sp
- adds r7, 0x2
- str r7, [sp, 0x24]
- ldr r5, =gContestFinalStandings
- movs r2, 0
- movs r3, 0x80
- lsls r3, 17
-_080DF280:
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DF298
- lsrs r0, r2, 24
- str r0, [sp, 0x20]
- b _080DF29E
- .pool
-_080DF298:
- cmp r0, 0x3
- bne _080DF29E
- lsrs r1, r2, 24
-_080DF29E:
- adds r2, r3
- adds r4, 0x1
- cmp r4, 0x3
- ble _080DF280
- ldr r0, [r6]
- ldr r0, [r0, 0x1C]
- lsls r1, 4
- adds r1, r0
- ldrb r2, [r1, 0xD]
- movs r0, 0x1
- orrs r0, r2
- strb r0, [r1, 0xD]
- movs r4, 0
- ldr r1, [sp, 0x20]
- lsls r1, 4
- str r1, [sp, 0x30]
- mov r9, r4
- mov r10, r4
-_080DF2C2:
- ldr r2, [sp, 0x20]
- cmp r4, r2
- beq _080DF2EE
- ldr r1, =gUnknown_02039F08
- lsls r0, r2, 1
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- add r1, r10
- movs r6, 0
- ldrsh r0, [r1, r6]
- subs r2, r0
- cmp r2, 0x32
- bgt _080DF2EE
- ldr r7, =gContestResources
- ldr r0, [r7]
- ldr r2, [r0, 0x1C]
- add r2, r9
- ldrb r0, [r2, 0xD]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0xD]
-_080DF2EE:
- ldr r1, =gContestResources
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- mov r3, r9
- adds r2, r3, r0
- ldrb r1, [r2, 0xE]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080DF30A
- ldrb r0, [r2, 0xD]
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0xD]
-_080DF30A:
- movs r5, 0
- ldr r2, =gContestMonConditions
- add r2, r10
- movs r6, 0
- ldrsh r1, [r2, r6]
- ldr r7, =gContestMonConditions
- movs r3, 0
- ldrsh r0, [r7, r3]
- cmp r1, r0
- blt _080DF336
- adds r3, r2, 0
- adds r2, r7, 0
-_080DF322:
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- bgt _080DF336
- movs r6, 0
- ldrsh r1, [r3, r6]
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080DF322
-_080DF336:
- cmp r5, 0x4
- bne _080DF354
- ldr r1, =gContestFinalStandings
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DF354
- ldr r2, =gContestResources
- ldr r0, [r2]
- ldr r2, [r0, 0x1C]
- add r2, r9
- ldrb r0, [r2, 0xD]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0xD]
-_080DF354:
- movs r3, 0
- mov r12, r3
- mov r8, r3
- movs r5, 0
- ldr r0, =gContestMonConditions
- add r0, r10
- movs r7, 0
- ldrsh r6, [r0, r7]
- str r6, [sp, 0x34]
- ldr r2, =gContestMonConditions
- ldr r0, =gUnknown_02039F18
- mov r1, r10
- adds r6, r1, r0
- adds r3, r0, 0
-_080DF370:
- movs r7, 0
- ldrsh r0, [r2, r7]
- ldr r1, [sp, 0x34]
- cmp r1, r0
- ble _080DF37E
- movs r7, 0x1
- mov r12, r7
-_080DF37E:
- movs r0, 0
- ldrsh r1, [r6, r0]
- movs r7, 0
- ldrsh r0, [r3, r7]
- cmp r1, r0
- ble _080DF38E
- movs r0, 0x1
- mov r8, r0
-_080DF38E:
- adds r2, 0x2
- adds r3, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080DF370
- mov r1, r12
- cmp r1, 0
- bne _080DF3B4
- mov r2, r8
- cmp r2, 0
- bne _080DF3B4
- ldr r3, =gContestResources
- ldr r0, [r3]
- ldr r2, [r0, 0x1C]
- add r2, r9
- ldrb r0, [r2, 0xD]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0xD]
-_080DF3B4:
- ldr r6, =gContestResources
- ldr r0, [r6]
- ldr r0, [r0, 0x1C]
- mov r7, r9
- adds r2, r7, r0
- ldrb r1, [r2, 0xE]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080DF3D0
- ldrb r0, [r2, 0xD]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0xD]
-_080DF3D0:
- movs r0, 0x10
- add r9, r0
- movs r1, 0x2
- add r10, r1
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080DF3E0
- b _080DF2C2
-_080DF3E0:
- movs r4, 0
- movs r5, 0
- movs r3, 0
- ldr r2, [sp, 0x28]
- mov r1, sp
-_080DF3EA:
- strh r3, [r1]
- adds r0, r2, r4
- strb r5, [r0]
- adds r1, 0x2
- adds r4, 0x1
- cmp r4, 0x4
- ble _080DF3EA
- mov r1, sp
- ldr r0, =0x0000ffff
- strh r0, [r1, 0xA]
- movs r0, 0
- ldr r2, [sp, 0x28]
- strb r0, [r2, 0x5]
- movs r4, 0
- ldr r0, =gContestResources
- ldr r0, [r0]
- mov r8, r0
- ldr r7, [sp, 0x30]
-_080DF40E:
- mov r3, r8
- ldr r0, [r3, 0x1C]
- adds r0, r7, r0
- lsls r1, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r4, 0x1
- mov r12, r4
- cmp r0, 0
- beq _080DF450
- ldr r0, =gContestResources
- ldr r6, [r0]
- ldr r3, [sp, 0x28]
- mov r4, sp
- movs r5, 0x4
-_080DF42C:
- ldr r0, [r6, 0x1C]
- adds r0, r7, r0
- adds r0, r1
- ldrh r0, [r0]
- ldrh r2, [r4]
- cmp r0, r2
- beq _080DF440
- cmp r2, 0
- bne _080DF446
- strh r0, [r4]
-_080DF440:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_080DF446:
- adds r3, 0x1
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _080DF42C
-_080DF450:
- mov r4, r12
- cmp r4, 0x4
- ble _080DF40E
- mov r0, sp
- ldrh r0, [r0]
- ldr r6, [sp, 0x2C]
- strh r0, [r6]
- ldr r7, [sp, 0x28]
- ldrb r3, [r7]
- movs r6, 0
- movs r4, 0x1
- ldr r1, [sp, 0x24]
- ldrh r0, [r1]
- ldr r1, =0x0000ffff
- cmp r0, r1
- beq _080DF4C0
- ldr r5, [sp, 0x2C]
- adds r7, r1, 0
- mov r2, sp
- adds r2, 0x2
-_080DF478:
- ldr r0, [sp, 0x28]
- adds r1, r0, r4
- ldrb r0, [r1]
- cmp r3, r0
- bcs _080DF4A4
- ldrh r0, [r2]
- strh r0, [r5]
- ldrb r3, [r1]
- movs r6, 0x1
- b _080DF4B6
- .pool
-_080DF4A4:
- cmp r3, r0
- bne _080DF4B6
- lsls r0, r6, 1
- adds r0, r5, r0
- ldrh r1, [r2]
- strh r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080DF4B6:
- adds r2, 0x2
- adds r4, 0x1
- ldrh r0, [r2]
- cmp r0, r7
- bne _080DF478
-_080DF4C0:
- bl Random
- ldr r1, =gContestResources
- ldr r1, [r1]
- ldr r4, [r1, 0x1C]
- ldr r1, [sp, 0x30]
- adds r4, r1, r4
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- lsls r0, 1
- ldr r2, [sp, 0x2C]
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r4, 0xA]
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DF250
-
- thumb_func_start sub_80DF4F8
-sub_80DF4F8: @ 80DF4F8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r1, =gContestFinalStandings
- ldr r0, =gContestPlayerMonIndex
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DF514
- b _080DF6EE
-_080DF514:
- movs r7, 0
- movs r3, 0
- ldr r0, =gContestResources
- mov r12, r0
-_080DF51C:
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DF528
- lsls r0, r3, 24
- lsrs r7, r0, 24
-_080DF528:
- adds r3, 0x1
- cmp r3, 0x3
- ble _080DF51C
- movs r1, 0
- mov r9, r1
- mov r10, r1
- movs r3, 0
- lsls r2, r7, 1
- lsls r4, r7, 4
- mov r8, r4
- ldr r1, =gContestMonConditions
- adds r0, r2, r1
- movs r6, 0
- ldrsh r5, [r0, r6]
- str r5, [sp, 0x8]
- adds r5, r1, 0
- ldr r0, =gUnknown_02039F18
- adds r2, r0
- adds r4, r0, 0
-_080DF54E:
- movs r1, 0
- ldrsh r0, [r5, r1]
- ldr r6, [sp, 0x8]
- cmp r6, r0
- bge _080DF562
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080DF562:
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r6, 0
- ldrsh r0, [r4, r6]
- cmp r1, r0
- bge _080DF578
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080DF578:
- adds r5, 0x2
- adds r4, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080DF54E
- mov r1, r12
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- add r0, r8
- ldrb r1, [r0, 0xC]
- movs r4, 0
- movs r2, 0x1
- movs r3, 0x7
-_080DF592:
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080DF5A0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080DF5A0:
- lsrs r1, 1
- subs r3, 0x1
- cmp r3, 0
- bge _080DF592
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x1C]
- add r0, r8
- ldrb r1, [r0, 0xC]
- movs r4, 0
- movs r2, 0
- movs r3, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DF5DC
- cmp r5, 0
- beq _080DF5F6
-_080DF5D6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080DF5DC:
- lsrs r1, 1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, 0x1
- cmp r3, 0x7
- bgt _080DF5F6
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DF5DC
- cmp r5, r4
- bne _080DF5D6
-_080DF5F6:
- movs r1, 0x1
- adds r0, r1, 0
- lsls r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r7, 0
- bne _080DF628
- mov r0, sp
- strb r1, [r0]
- ldr r1, =gContestResources
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- ldrb r4, [r0, 0x1D]
- movs r3, 0x2
- b _080DF638
- .pool
-_080DF628:
- mov r1, sp
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gContestResources
- ldr r0, [r1]
- ldr r0, [r0, 0x1C]
- ldrb r4, [r0, 0xD]
- movs r3, 0x1
-_080DF638:
- mov r12, r1
- movs r5, 0x1
- lsls r2, 24
- str r2, [sp, 0x4]
- cmp r3, 0x3
- bgt _080DF682
-_080DF644:
- cmp r3, r7
- beq _080DF67C
- mov r6, r12
- ldr r2, [r6]
- ldr r0, [r2, 0x1C]
- lsls r1, r3, 4
- adds r0, r1, r0
- ldrb r0, [r0, 0xD]
- cmp r4, r0
- bcs _080DF66C
- mov r0, sp
- strb r3, [r0]
- ldr r0, [r2, 0x1C]
- adds r0, r1, r0
- ldrb r4, [r0, 0xD]
- movs r5, 0x1
- b _080DF67C
- .pool
-_080DF66C:
- cmp r4, r0
- bne _080DF67C
- mov r1, sp
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080DF67C:
- adds r3, 0x1
- cmp r3, 0x3
- ble _080DF644
-_080DF682:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- add r0, sp
- ldrb r6, [r0]
- movs r2, 0x80
- movs r3, 0
- ldr r5, =gContestResources
- ldr r0, [r5]
- ldr r0, [r0, 0x1C]
- lsls r1, r6, 4
- adds r0, r1, r0
- ldrb r0, [r0, 0xD]
- ands r0, r2
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080DF6C4
-_080DF6AE:
- lsrs r2, 1
- adds r3, 0x1
- cmp r3, 0x7
- bgt _080DF6C4
- ldr r0, [r5]
- ldr r0, [r0, 0x1C]
- adds r0, r1, r0
- ldrb r4, [r0, 0xD]
- ands r4, r2
- cmp r4, 0
- beq _080DF6AE
-_080DF6C4:
- mov r0, r9
- bl ContestLiveUpdates_BeforeInterview_1
- mov r0, r10
- bl ContestLiveUpdates_BeforeInterview_2
- ldr r5, [sp, 0x4]
- lsrs r0, r5, 24
- bl ContestLiveUpdates_BeforeInterview_3
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r0, [r0, 0x1C]
- add r0, r8
- ldrh r0, [r0, 0xA]
- bl ContestLiveUpdates_BeforeInterview_4
- adds r0, r4, 0
- adds r1, r6, 0
- bl ContestLiveUpdates_BeforeInterview_5
-_080DF6EE:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DF4F8
-
- thumb_func_start sub_80DF704
-sub_80DF704: @ 80DF704
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, =gHeap
- movs r1, 0xD0
- lsls r1, 9
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r4, r0, 0
- cmp r1, 0
- bne _080DF72C
- cmp r3, 0
- bne _080DF728
- movs r0, 0x2
- b _080DF72E
- .pool
-_080DF728:
- movs r0, 0x3
- b _080DF72E
-_080DF72C:
- movs r0, 0
-_080DF72E:
- strb r0, [r2]
- movs r1, 0xD0
- lsls r1, 9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DF746
- bl sub_80DAEA4
- bl sub_80DB2BC
- b _080DF74A
-_080DF746:
- bl sub_80DF750
-_080DF74A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DF704
-
- thumb_func_start sub_80DF750
-sub_80DF750: @ 80DF750
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r0, =gUnknown_020322D5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080DF766
- b _080DF924
-_080DF766:
- ldr r0, =gHeap
- movs r1, 0xD0
- lsls r1, 9
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080DF77C
- b _080DF924
-_080DF77C:
- movs r7, 0
- mov r2, sp
- adds r2, 0x18
- str r2, [sp, 0x30]
-_080DF784:
- adds r0, r7, 0
- movs r1, 0
- bl FillWindowPixelBuffer
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080DF784
- ldr r0, =gHeap
- movs r1, 0xD0
- lsls r1, 9
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080DF874
- movs r7, 0
- movs r2, 0x7
- mov r10, r2
- ldr r0, [sp, 0x30]
- mov r9, r0
-_080DF7AE:
- add r0, sp, 0x4
- ldr r1, =gText_CDot
- bl StringCopy
- adds r5, r0, 0
- ldr r0, =gUnknown_02039F26
- adds r0, r7, r0
- ldrb r0, [r0]
- mov r1, r10
- str r1, [sp]
- add r1, sp, 0x4
- movs r2, 0x5
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- lsls r0, r7, 4
- adds r0, r1
- ldrb r4, [r0, 0xC]
- movs r6, 0x7
- adds r2, r7, 0x1
- mov r8, r2
-_080DF7DE:
- movs r1, 0x1
- ands r1, r4
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- lsrs r4, 1
- lsls r0, r6, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r6, r0, 24
- asrs r0, 24
- movs r2, 0x1
- negs r2, r2
- cmp r0, r2
- bgt _080DF7DE
- movs r6, 0
- ldr r4, =gUnknown_02039F26
- ldr r3, [sp, 0x30]
-_080DF80A:
- lsls r0, r6, 24
- asrs r0, 24
- adds r2, r3, r0
- mov r1, sp
- adds r1, r0
- adds r1, 0x4
- ldrb r1, [r1]
- strb r1, [r2]
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- asrs r5, r0, 24
- cmp r5, 0x4
- ble _080DF80A
- mov r0, r9
- adds r1, r0, r5
- movs r0, 0xFF
- strb r0, [r1]
- adds r4, r7, r4
- ldrb r0, [r4]
- mov r1, r10
- str r1, [sp]
- mov r1, r9
- movs r2, 0x5
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- ldrb r0, [r4]
- mov r1, sp
- adds r1, r5
- adds r1, 0x4
- mov r2, r10
- str r2, [sp]
- movs r2, 0x37
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080DF7AE
- b _080DF920
- .pool
-_080DF874:
- movs r7, 0
- mov r2, sp
- adds r2, 0x6
- str r2, [sp, 0x2C]
- ldr r0, [sp, 0x30]
- mov r9, r0
- movs r1, 0x7
- mov r10, r1
-_080DF884:
- add r0, sp, 0x4
- ldr r1, =gText_BDot
- bl StringCopy
- ldr r0, =gContestResources
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- lsls r0, r7, 4
- adds r0, r1
- ldrb r4, [r0, 0xD]
- ldr r5, [sp, 0x2C]
- movs r6, 0x7
- adds r2, r7, 0x1
- mov r8, r2
-_080DF8A0:
- movs r1, 0x1
- ands r1, r4
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- adds r5, r0, 0
- lsrs r4, 1
- lsls r0, r6, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r6, r0, 24
- asrs r0, 24
- movs r2, 0x1
- negs r2, r2
- cmp r0, r2
- bgt _080DF8A0
- movs r6, 0
- ldr r4, =gUnknown_02039F26
- ldr r3, [sp, 0x30]
-_080DF8CC:
- lsls r0, r6, 24
- asrs r0, 24
- adds r2, r3, r0
- mov r1, sp
- adds r1, r0
- adds r1, 0x4
- ldrb r1, [r1]
- strb r1, [r2]
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- asrs r5, r0, 24
- cmp r5, 0x4
- ble _080DF8CC
- mov r0, r9
- adds r1, r0, r5
- movs r0, 0xFF
- strb r0, [r1]
- adds r4, r7, r4
- ldrb r0, [r4]
- mov r1, r10
- str r1, [sp]
- mov r1, r9
- movs r2, 0x5
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- ldrb r0, [r4]
- mov r1, sp
- adds r1, r5
- adds r1, 0x4
- mov r2, r10
- str r2, [sp]
- movs r2, 0x37
- movs r3, 0x1
- bl Contest_PrintTextToBg0WindowAt
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080DF884
-_080DF920:
- bl sub_80DB2BC
-_080DF924:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80DF750
-
- thumb_func_start sub_80DF940
-sub_80DF940: @ 80DF940
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x2
- ldrb r0, [r4]
- cmp r0, 0xFC
- bne _080DF956
- ldrb r0, [r4, 0x1]
- cmp r0, 0x15
- bne _080DF956
- movs r0, 0x2
- b _080DF9CC
-_080DF956:
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _080DF9CA
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080DF9CA
-_080DF96A:
- ldrb r1, [r4]
- adds r0, r1, 0
- adds r0, 0x45
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- bls _080DF9BE
- adds r0, r1, 0
- adds r0, 0x5F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _080DF9BE
- adds r0, r1, 0
- cmp r0, 0
- beq _080DF9BE
- cmp r0, 0xAD
- beq _080DF9BE
- cmp r0, 0xB8
- beq _080DF9BE
- cmp r0, 0xAB
- beq _080DF9BE
- cmp r0, 0xAC
- beq _080DF9BE
- cmp r0, 0xB5
- beq _080DF9BE
- cmp r0, 0xB6
- beq _080DF9BE
- cmp r0, 0xBA
- beq _080DF9BE
- cmp r0, 0xAE
- beq _080DF9BE
- cmp r0, 0xB0
- beq _080DF9BE
- cmp r0, 0xB1
- beq _080DF9BE
- cmp r0, 0xB2
- beq _080DF9BE
- cmp r0, 0xB3
- beq _080DF9BE
- cmp r0, 0xB1
- bne _080DF9C8
-_080DF9BE:
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080DF96A
- b _080DF9CA
-_080DF9C8:
- movs r5, 0x1
-_080DF9CA:
- adds r0, r5, 0
-_080DF9CC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80DF940
-
- thumb_func_start sub_80DF9D4
-sub_80DF9D4: @ 80DF9D4
- ldrb r2, [r0, 0x5]
- movs r1, 0xFF
- strb r1, [r0, 0x5]
- strb r2, [r0, 0x7]
- bx lr
- thumb_func_end sub_80DF9D4
-
- thumb_func_start sub_80DF9E0
-sub_80DF9E0: @ 80DF9E0
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl StripExtCtrlCodes
- cmp r4, 0x1
- bne _080DF9F8
- movs r0, 0xFF
- strb r0, [r5, 0x5]
- movs r0, 0xFC
- strb r0, [r5, 0xA]
- b _080DFA00
-_080DF9F8:
- ldrb r1, [r5, 0x5]
- movs r0, 0xFF
- strb r0, [r5, 0x5]
- strb r1, [r5, 0xA]
-_080DFA00:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DF9E0
-
- thumb_func_start sub_80DFA08
-sub_80DFA08: @ 80DFA08
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r5, 0x2
- cmp r6, 0x1
- bne _080DFA28
- adds r0, r4, 0
- bl sub_80DF940
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ConvertInternationalString
- b _080DFA3E
-_080DFA28:
- ldrb r0, [r4, 0xA]
- cmp r0, 0xFC
- bne _080DFA38
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _080DFA3E
-_080DFA38:
- strb r0, [r4, 0x5]
- movs r0, 0xFF
- strb r0, [r4, 0xA]
-_080DFA3E:
- adds r4, r5, 0
- adds r4, 0xD
- cmp r6, 0x1
- bne _080DFA68
- movs r0, 0xFF
- strb r0, [r4, 0x7]
- ldrb r0, [r4, 0x4]
- strb r0, [r4, 0x6]
- ldrb r0, [r4, 0x3]
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0x2]
- strb r0, [r4, 0x4]
- ldrb r0, [r4, 0x1]
- strb r0, [r4, 0x3]
- ldrb r0, [r5, 0xD]
- strb r0, [r4, 0x2]
- movs r0, 0x15
- strb r0, [r4, 0x1]
- movs r0, 0xFC
- strb r0, [r5, 0xD]
- b _080DFA70
-_080DFA68:
- ldrb r0, [r4, 0x7]
- strb r0, [r4, 0x5]
- movs r0, 0xFF
- strb r0, [r4, 0x7]
-_080DFA70:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DFA08
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/m4a_3.s b/asm/m4a_3.s
deleted file mode 100644
index a842ae925..000000000
--- a/asm/m4a_3.s
+++ /dev/null
@@ -1,574 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/gba_constants.inc"
- .include "constants/m4a_constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start CgbSound
-CgbSound: @ 81DEA70
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, =SOUND_INFO_PTR
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _081DEA94
- subs r0, 0x1
- ldr r1, [sp, 0x4]
- strb r0, [r1, 0xA]
- b _081DEA9A
- .pool
-_081DEA94:
- movs r0, 0xE
- ldr r2, [sp, 0x4]
- strb r0, [r2, 0xA]
-_081DEA9A:
- movs r6, 0x1
- ldr r0, [sp, 0x4]
- ldr r4, [r0, 0x1C]
-_081DEAA0:
- ldrb r1, [r4]
- movs r0, 0xC7
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- bne _081DEAB6
- b _081DEEA0
-_081DEAB6:
- cmp r6, 0x2
- beq _081DEAE8
- cmp r6, 0x2
- bgt _081DEAC4
- cmp r6, 0x1
- beq _081DEACA
- b _081DEB20
-_081DEAC4:
- cmp r6, 0x3
- beq _081DEB00
- b _081DEB20
-_081DEACA:
- ldr r0, =REG_NR10
- str r0, [sp, 0x8]
- ldr r7, =REG_NR11
- ldr r2, =REG_NR12
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _081DEB30
- .pool
-_081DEAE8:
- ldr r0, =REG_NR10 + 1
- str r0, [sp, 0x8]
- ldr r7, =REG_NR21
- ldr r2, =REG_NR22
- b _081DEB28
- .pool
-_081DEB00:
- ldr r0, =REG_NR30
- str r0, [sp, 0x8]
- ldr r7, =REG_NR31
- ldr r2, =REG_NR32
- str r2, [sp, 0xC]
- adds r0, 0x4
- str r0, [sp, 0x10]
- adds r2, 0x2
- b _081DEB30
- .pool
-_081DEB20:
- ldr r0, =REG_NR30 + 1
- str r0, [sp, 0x8]
- ldr r7, =REG_NR41
- ldr r2, =REG_NR42
-_081DEB28:
- str r2, [sp, 0xC]
- adds r0, 0xB
- str r0, [sp, 0x10]
- adds r2, 0x4
-_081DEB30:
- str r2, [sp, 0x14]
- ldr r0, [sp, 0x4]
- ldrb r0, [r0, 0xA]
- str r0, [sp]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- mov r8, r0
- adds r2, r1, 0
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _081DEC26
- movs r3, 0x40
- adds r0, r3, 0
- ands r0, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- mov r10, r0
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r5, 0
- bne _081DEC4A
- movs r0, 0x3
- strb r0, [r4]
- strb r0, [r4, 0x1D]
- adds r0, r4, 0
- str r3, [sp, 0x18]
- bl CgbModVol
- ldr r3, [sp, 0x18]
- cmp r6, 0x2
- beq _081DEB98
- cmp r6, 0x2
- bgt _081DEB8C
- cmp r6, 0x1
- beq _081DEB92
- b _081DEBEC
- .pool
-_081DEB8C:
- cmp r6, 0x3
- beq _081DEBA4
- b _081DEBEC
-_081DEB92:
- ldrb r0, [r4, 0x1F]
- ldr r2, [sp, 0x8]
- strb r0, [r2]
-_081DEB98:
- ldr r0, [r4, 0x24]
- lsls r0, 6
- ldrb r1, [r4, 0x1E]
- adds r0, r1, r0
- strb r0, [r7]
- b _081DEBF8
-_081DEBA4:
- ldr r1, [r4, 0x24]
- ldr r0, [r4, 0x28]
- cmp r1, r0
- beq _081DEBCC
- ldr r2, [sp, 0x8]
- strb r3, [r2]
- ldr r1, =REG_WAVE_RAM
- ldr r2, [r4, 0x24]
- ldr r0, [r2]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x8]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0xC]
- str r0, [r1]
- str r2, [r4, 0x28]
-_081DEBCC:
- ldr r0, [sp, 0x8]
- strb r5, [r0]
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _081DEBE4
- movs r0, 0xC0
- b _081DEC06
- .pool
-_081DEBE4:
- movs r1, 0x80
- negs r1, r1
- strb r1, [r4, 0x1A]
- b _081DEC08
-_081DEBEC:
- ldrb r0, [r4, 0x1E]
- strb r0, [r7]
- ldr r0, [r4, 0x24]
- lsls r0, 3
- ldr r2, [sp, 0x10]
- strb r0, [r2]
-_081DEBF8:
- ldrb r0, [r4, 0x4]
- adds r0, 0x8
- mov r8, r0
- ldrb r0, [r4, 0x1E]
- cmp r0, 0
- beq _081DEC06
- movs r0, 0x40
-_081DEC06:
- strb r0, [r4, 0x1A]
-_081DEC08:
- ldrb r1, [r4, 0x4]
- movs r2, 0
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- adds r1, r6, 0x1
- mov r10, r1
- movs r1, 0x40
- adds r1, r4
- mov r9, r1
- cmp r0, 0
- bne _081DEC22
- b _081DED5E
-_081DEC22:
- strb r2, [r4, 0x9]
- b _081DED8C
-_081DEC26:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _081DEC58
- ldrb r0, [r4, 0xD]
- subs r0, 0x1
- strb r0, [r4, 0xD]
- movs r2, 0xFF
- ands r0, r2
- lsls r0, 24
- adds r1, r6, 0x1
- mov r10, r1
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- ble _081DEC4A
- b _081DED9E
-_081DEC4A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl CgbOscOff
- movs r0, 0
- strb r0, [r4]
- b _081DEE9C
-_081DEC58:
- movs r0, 0x40
- ands r0, r1
- adds r2, r6, 0x1
- mov r10, r2
- movs r2, 0x40
- adds r2, r4
- mov r9, r2
- cmp r0, 0
- beq _081DEC98
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081DEC98
- movs r0, 0xFC
- ands r0, r1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x7]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _081DECCA
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED8C
- ldrb r2, [r4, 0x7]
- mov r8, r2
- b _081DED8C
-_081DEC98:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _081DED8C
- cmp r6, 0x3
- bne _081DECAA
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
-_081DECAA:
- adds r0, r4, 0
- bl CgbModVol
- movs r0, 0x3
- ldrb r2, [r4]
- ands r0, r2
- cmp r0, 0
- bne _081DECFE
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- cmp r0, 0
- bgt _081DECFA
-_081DECCA:
- ldrb r2, [r4, 0xC]
- ldrb r1, [r4, 0xA]
- adds r0, r2, 0
- muls r0, r1
- adds r0, 0xFF
- asrs r0, 8
- movs r1, 0
- strb r0, [r4, 0x9]
- lsls r0, 24
- cmp r0, 0
- beq _081DEC4A
- movs r0, 0x4
- ldrb r2, [r4]
- orrs r0, r2
- strb r0, [r4]
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED9E
- movs r2, 0x8
- mov r8, r2
- b _081DED9E
-_081DECFA:
- ldrb r0, [r4, 0x7]
- b _081DED8A
-_081DECFE:
- cmp r0, 0x1
- bne _081DED0A
-_081DED02:
- ldrb r0, [r4, 0x19]
- strb r0, [r4, 0x9]
- movs r0, 0x7
- b _081DED8A
-_081DED0A:
- cmp r0, 0x2
- bne _081DED4E
- ldrb r0, [r4, 0x9]
- subs r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- lsls r0, 24
- ldrb r2, [r4, 0x19]
- lsls r1, r2, 24
- cmp r0, r1
- bgt _081DED4A
-_081DED22:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _081DED32
- movs r0, 0xFC
- ldrb r1, [r4]
- ands r0, r1
- strb r0, [r4]
- b _081DECCA
-_081DED32:
- ldrb r0, [r4]
- subs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- orrs r0, r2
- strb r0, [r4, 0x1D]
- cmp r6, 0x3
- beq _081DED02
- movs r0, 0x8
- mov r8, r0
- b _081DED02
-_081DED4A:
- ldrb r0, [r4, 0x5]
- b _081DED8A
-_081DED4E:
- ldrb r0, [r4, 0x9]
- adds r0, 0x1
- strb r0, [r4, 0x9]
- movs r1, 0xFF
- ands r0, r1
- ldrb r2, [r4, 0xA]
- cmp r0, r2
- bcc _081DED88
-_081DED5E:
- ldrb r0, [r4]
- subs r0, 0x1
- movs r2, 0
- strb r0, [r4]
- ldrb r1, [r4, 0x5]
- strb r1, [r4, 0xB]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- beq _081DED22
- movs r0, 0x1
- ldrb r1, [r4, 0x1D]
- orrs r0, r1
- strb r0, [r4, 0x1D]
- ldrb r0, [r4, 0xA]
- strb r0, [r4, 0x9]
- cmp r6, 0x3
- beq _081DED8C
- ldrb r2, [r4, 0x5]
- mov r8, r2
- b _081DED8C
-_081DED88:
- ldrb r0, [r4, 0x4]
-_081DED8A:
- strb r0, [r4, 0xB]
-_081DED8C:
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- ldr r0, [sp]
- cmp r0, 0
- bne _081DED9E
- subs r0, 0x1
- str r0, [sp]
- b _081DEC98
-_081DED9E:
- movs r0, 0x2
- ldrb r1, [r4, 0x1D]
- ands r0, r1
- cmp r0, 0
- beq _081DEE16
- cmp r6, 0x3
- bgt _081DEDDE
- movs r0, 0x8
- ldrb r2, [r4, 0x1]
- ands r0, r2
- cmp r0, 0
- beq _081DEDDE
- ldr r0, =REG_SOUNDBIAS + 1
- ldrb r0, [r0]
- cmp r0, 0x3F
- bgt _081DEDD0
- ldr r0, [r4, 0x20]
- adds r0, 0x2
- ldr r1, =0x000007fc
- b _081DEDDA
- .pool
-_081DEDD0:
- cmp r0, 0x7F
- bgt _081DEDDE
- ldr r0, [r4, 0x20]
- adds r0, 0x1
- ldr r1, =0x000007fe
-_081DEDDA:
- ands r0, r1
- str r0, [r4, 0x20]
-_081DEDDE:
- cmp r6, 0x4
- beq _081DEDF0
- ldr r0, [r4, 0x20]
- ldr r1, [sp, 0x10]
- strb r0, [r1]
- b _081DEDFE
- .pool
-_081DEDF0:
- ldr r2, [sp, 0x10]
- ldrb r0, [r2]
- movs r1, 0x8
- ands r1, r0
- ldr r0, [r4, 0x20]
- orrs r0, r1
- strb r0, [r2]
-_081DEDFE:
- movs r0, 0xC0
- ldrb r1, [r4, 0x1A]
- ands r0, r1
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- adds r0, r1, r0
- strb r0, [r4, 0x1A]
- movs r2, 0xFF
- ands r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_081DEE16:
- movs r0, 0x1
- ldrb r2, [r4, 0x1D]
- ands r0, r2
- cmp r0, 0
- beq _081DEE9C
- ldr r1, =REG_NR51
- ldrb r0, [r1]
- ldrb r2, [r4, 0x1C]
- bics r0, r2
- ldrb r2, [r4, 0x1B]
- orrs r0, r2
- strb r0, [r1]
- cmp r6, 0x3
- bne _081DEE68
- ldr r0, =gCgb3Vol
- ldrb r1, [r4, 0x9]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, [sp, 0xC]
- strb r0, [r2]
- movs r1, 0x80
- adds r0, r1, 0
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- cmp r0, 0
- beq _081DEE9C
- ldr r0, [sp, 0x8]
- strb r1, [r0]
- ldrb r0, [r4, 0x1A]
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- movs r0, 0x7F
- ldrb r2, [r4, 0x1A]
- ands r0, r2
- strb r0, [r4, 0x1A]
- b _081DEE9C
- .pool
-_081DEE68:
- movs r0, 0xF
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldrb r2, [r4, 0x9]
- lsls r0, r2, 4
- add r0, r8
- ldr r1, [sp, 0xC]
- strb r0, [r1]
- movs r2, 0x80
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- cmp r6, 0x1
- bne _081DEE9C
- ldr r0, [sp, 0x8]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _081DEE9C
- ldrb r0, [r4, 0x1A]
- orrs r0, r2
- ldr r1, [sp, 0x14]
- strb r0, [r1]
-_081DEE9C:
- movs r0, 0
- strb r0, [r4, 0x1D]
-_081DEEA0:
- mov r6, r10
- mov r4, r9
- cmp r6, 0x4
- bgt _081DEEAA
- b _081DEAA0
-_081DEEAA:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end CgbSound
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s
index 64c021001..af7fdbf3d 100644
--- a/asm/rom_8011DC0.s
+++ b/asm/rom_8011DC0.s
@@ -731,7 +731,7 @@ _080171DC:
_08017228:
mov r3, r9
ldrb r0, [r3]
- bl ListMenuHandleInputGetItemId
+ bl ListMenu_ProcessInput
mov r8, r0
ldr r0, =gMain
ldrh r1, [r0, 0x2E]
@@ -847,7 +847,7 @@ _08017314:
_0801731C:
mov r3, r10
ldrb r0, [r3]
- bl ListMenuHandleInputGetItemId
+ bl ListMenu_ProcessInput
adds r1, r0, 0
ldr r0, =gMain
ldrh r2, [r0, 0x2E]
diff --git a/common_syms/contest_painting.txt b/common_syms/contest_painting.txt
new file mode 100644
index 000000000..1fba37a59
--- /dev/null
+++ b/common_syms/contest_painting.txt
@@ -0,0 +1,4 @@
+gUnknown_03006190
+gUnknown_030061A0
+gUnknown_030061C0
+gContestPaintingMonPalette
diff --git a/common_syms/contest_painting_effects.txt b/common_syms/contest_painting_effects.txt
new file mode 100644
index 000000000..2f3d79219
--- /dev/null
+++ b/common_syms/contest_painting_effects.txt
@@ -0,0 +1,10 @@
+gUnknown_03006164
+gUnknown_03006168
+gUnknown_0300616C
+gUnknown_03006170
+gUnknown_03006174
+gUnknown_03006178
+gUnknown_0300617C
+gUnknown_03006180
+gUnknown_03006184
+gUnknown_03006188
diff --git a/common_syms/evolution_scene.txt b/common_syms/evolution_scene.txt
new file mode 100644
index 000000000..137cd3e05
--- /dev/null
+++ b/common_syms/evolution_scene.txt
@@ -0,0 +1 @@
+gCB2_AfterEvolution
diff --git a/common_syms/m4a_2.txt b/common_syms/m4a.txt
index 0d6b13a79..0d6b13a79 100644
--- a/common_syms/m4a_2.txt
+++ b/common_syms/m4a.txt
diff --git a/common_syms/party_menu.txt b/common_syms/party_menu.txt
new file mode 100644
index 000000000..53e72fa53
--- /dev/null
+++ b/common_syms/party_menu.txt
@@ -0,0 +1 @@
+gUnknown_03006328
diff --git a/common_syms/pokedex_cry_screen.txt b/common_syms/pokedex_cry_screen.txt
new file mode 100644
index 000000000..d16ec36d6
--- /dev/null
+++ b/common_syms/pokedex_cry_screen.txt
@@ -0,0 +1 @@
+gDexCryScreenState
diff --git a/data/battle_anim_80A9C70.s b/data/battle_anim_80A9C70.s
deleted file mode 100644
index f82a657b9..000000000
--- a/data/battle_anim_80A9C70.s
+++ /dev/null
@@ -1,89 +0,0 @@
-#include "constants/battle_anim.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_0853EDE4:: @ 853EDE4
- .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EDF8:: @ 853EDF8
- .4byte gUnknown_0853EDE4
-
- .align 2
-gUnknown_0853EDFC:: @ 853EDFC
- spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
- spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_0852490C, gUnknown_0853EDF8, NULL, gDummySpriteAffineAnimTable, sub_80A8A6C
-
- .align 2
-gUnknown_0853EE2C:: @ 853EE2C
- .2byte 0x0000, 0x0003, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EE34:: @ 853EE34
- .4byte gUnknown_0853EE2C
-
- .align 2
-gUnknown_0853EE38:: @ 853EE38
- spr_template ANIM_TAG_WEATHER_BALL, ANIM_TAG_WEATHER_BALL, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8E30
-
- .align 2
-gUnknown_0853EE50:: @ 853EE50
- spr_template ANIM_TAG_WEATHER_BALL, ANIM_TAG_WEATHER_BALL, gUnknown_08524914, gUnknown_0853EE34, NULL, gDummySpriteAffineAnimTable, sub_80A8EE4
-
- .align 2
-gUnknown_0853EE68:: @ 853EE68
- .2byte 0x0000, 0x0003, 0x0010, 0x0003, 0x0020, 0x0003, 0x0030, 0x0003, 0x0040, 0x0003, 0xffff, 0x0000
-
- .align 2
-gUnknown_0853EE80:: @ 853EE80
- .4byte gUnknown_0853EE68
-
- .align 2
-gUnknown_0853EE84:: @ 853EE84
- spr_template ANIM_TAG_SPARKLE_4, ANIM_TAG_SPARKLE_4, gUnknown_08524914, gUnknown_0853EE80, NULL, gDummySpriteAffineAnimTable, sub_80A8B64
- spr_template ANIM_TAG_UNUSED_MONSTER_FOOT, ANIM_TAG_UNUSED_MONSTER_FOOT, gUnknown_08524914, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
-
- .align 2
-gUnknown_0853EEB4:: @ 853EEB4
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EEBC:: @ 853EEBC
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EEC4:: @ 853EEC4
- .2byte 0x0000, 0x0005, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EECC:: @ 853EECC
- .4byte gUnknown_0853EEB4
- .4byte gUnknown_0853EEBC
- .4byte gUnknown_0853EEC4
-
- .align 2
-gUnknown_0853EED8:: @ 853EED8
- spr_template ANIM_TAG_IMPACT, ANIM_TAG_IMPACT, gUnknown_08524914, gUnknown_0853EECC, NULL, gDummySpriteAffineAnimTable, sub_80A8AEC
-
- .align 2
-gUnknown_0853EEF0:: @ 853EEF0
- .2byte 0x0000, 0x000f, 0xfffe, 0x0000
-
- .align 2
-gUnknown_0853EEF8:: @ 853EEF8
- .4byte gUnknown_0853EEF0
-
- .align 2
-gUnknown_0853EEFC:: @ 853EEFC
- .2byte 0x0060, 0x0060, 0x0000, 0x0000, 0x0002, 0x0002, 0x0100, 0x0000, 0x7ffe, 0x0001, 0x0000, 0x0000
-
- .align 2
-gUnknown_0853EF14:: @ 853EF14
- .4byte gUnknown_0853EEFC
-
- .align 2
-gUnknown_0853EF18:: @ 853EF18
- spr_template ANIM_TAG_UNUSED_ORB, ANIM_TAG_UNUSED_ORB, gUnknown_085249CC, gUnknown_0853EEF8, NULL, gUnknown_0853EF14, sub_80A8A6C
diff --git a/data/contest.s b/data/contest.s
index eaf3f8c95..48bfa1080 100644
--- a/data/contest.s
+++ b/data/contest.s
@@ -406,7 +406,7 @@ gSpriteTemplate_858998C:: @ 858998C
spr_template 0x80eb, 0x80eb, gOamData_8589944, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8589984, SpriteCallbackDummy
.align 2
-gUnknown_085899EC:: @ 85899EC
+gContestExcitementTable:: @ 85899EC
.2byte 0x0001, 0xffff, 0x0000, 0x0001, 0xffff, 0x00ff, 0x0001, 0xffff, 0x00ff, 0x0001, 0xff00, 0x00ff, 0x0001, 0x0000
diff --git a/data/event_scripts.s b/data/event_scripts.s
index 1da2a016f..3c3c38eb9 100644
--- a/data/event_scripts.s
+++ b/data/event_scripts.s
@@ -2,6 +2,7 @@
#include "constants/battle_frontier.h"
#include "constants/battle_setup.h"
#include "constants/event_objects.h"
+#include "constants/event_object_movement_constants.h"
#include "constants/field_effects.h"
#include "constants/flags.h"
#include "constants/items.h"
@@ -60,11 +61,7 @@ gStdScripts:: @ 81DC2A0
.4byte Std_RegisteredInMatchCall
.4byte Std_9
.4byte Std_10
-
gStdScripts_End:: @ 81DC2CC
- map_script 3, PetalburgCity_MapScript1_1DC2D7
- map_script 2, PetalburgCity_MapScript2_1DC31C
- .byte 0
.include "data/maps/PetalburgCity/scripts.inc"
.include "data/maps/SlateportCity/scripts.inc"
@@ -638,17 +635,17 @@ SecretBase_RedCave1_Text_23B759: @ 823B759
.include "data/maps/RecordCorner/scripts.inc"
.include "data/maps/DoubleBattleColosseum/scripts.inc"
.include "data/maps/LinkContestRoom1/scripts.inc"
- .include "data/maps/LinkContestRoom2/scripts.inc"
- .include "data/maps/LinkContestRoom3/scripts.inc"
- .include "data/maps/LinkContestRoom4/scripts.inc"
- .include "data/maps/LinkContestRoom5/scripts.inc"
- .include "data/maps/LinkContestRoom6/scripts.inc"
.include "data/maps/UnknownMap_25_29/scripts.inc"
.include "data/maps/UnknownMap_25_30/scripts.inc"
.include "data/maps/UnknownMap_25_31/scripts.inc"
.include "data/maps/UnknownMap_25_32/scripts.inc"
.include "data/maps/UnknownMap_25_33/scripts.inc"
.include "data/maps/UnknownMap_25_34/scripts.inc"
+ .include "data/maps/LinkContestRoom2/scripts.inc"
+ .include "data/maps/LinkContestRoom3/scripts.inc"
+ .include "data/maps/LinkContestRoom4/scripts.inc"
+ .include "data/maps/LinkContestRoom5/scripts.inc"
+ .include "data/maps/LinkContestRoom6/scripts.inc"
.include "data/maps/InsideOfTruck/scripts.inc"
.include "data/maps/SSTidalCorridor/scripts.inc"
.include "data/maps/SSTidalLowerDeck/scripts.inc"
diff --git a/data/fanfares.s b/data/fanfares.s
deleted file mode 100644
index 2a0c2576a..000000000
--- a/data/fanfares.s
+++ /dev/null
@@ -1,26 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
-sFanfares:: @ 85248BC
-@ song number, duration
- .2byte 0x016f, 0x0050
- .2byte 0x0172, 0x00a0
- .2byte 0x0173, 0x00dc
- .2byte 0x0174, 0x00dc
- .2byte 0x0170, 0x00a0
- .2byte 0x0171, 0x0154
- .2byte 0x017a, 0x00b4
- .2byte 0x0183, 0x0078
- .2byte 0x0184, 0x02c6
- .2byte 0x0185, 0x00fa
- .2byte 0x0186, 0x0096
- .2byte 0x0187, 0x00a0
- .2byte 0x0226, 0x01c2
- .2byte 0x0212, 0x00aa
- .2byte 0x0211, 0x00c4
- .2byte 0x01cb, 0x0139
- .2byte 0x01d2, 0x013e
- .2byte 0x01cc, 0x0087
diff --git a/data/field_weather.s b/data/field_weather.s
deleted file mode 100644
index 2121ecf23..000000000
--- a/data/field_weather.s
+++ /dev/null
@@ -1,103 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_0854014C:: @ 854014C
- .incbin "graphics/misc/sunny_day/0.gbapal"
- .incbin "graphics/misc/sunny_day/1.gbapal"
- .incbin "graphics/misc/sunny_day/2.gbapal"
- .incbin "graphics/misc/sunny_day/3.gbapal"
- .incbin "graphics/misc/sunny_day/4.gbapal"
- .incbin "graphics/misc/sunny_day/5.gbapal"
- .incbin "graphics/misc/sunny_day/6.gbapal"
- .incbin "graphics/misc/sunny_day/7.gbapal"
- .incbin "graphics/misc/sunny_day/8.gbapal"
- .incbin "graphics/misc/sunny_day/9.gbapal"
- .incbin "graphics/misc/sunny_day/10.gbapal"
- .incbin "graphics/misc/sunny_day/11.gbapal"
- .incbin "graphics/misc/sunny_day/12.gbapal"
- .incbin "graphics/misc/sunny_day/13.gbapal"
- .incbin "graphics/misc/sunny_day/14.gbapal"
- .incbin "graphics/misc/sunny_day/15.gbapal"
- .incbin "graphics/misc/sunny_day/16.gbapal"
- .incbin "graphics/misc/sunny_day/17.gbapal"
- .incbin "graphics/misc/sunny_day/18.gbapal"
- .incbin "graphics/misc/sunny_day/19.gbapal"
- .incbin "graphics/misc/sunny_day/20.gbapal"
- .incbin "graphics/misc/sunny_day/21.gbapal"
- .incbin "graphics/misc/sunny_day/22.gbapal"
- .incbin "graphics/misc/sunny_day/23.gbapal"
- .incbin "graphics/misc/sunny_day/24.gbapal"
- .incbin "graphics/misc/sunny_day/25.gbapal"
- .incbin "graphics/misc/sunny_day/26.gbapal"
- .incbin "graphics/misc/sunny_day/27.gbapal"
- .incbin "graphics/misc/sunny_day/28.gbapal"
- .incbin "graphics/misc/sunny_day/29.gbapal"
- .incbin "graphics/misc/sunny_day/30.gbapal"
- .incbin "graphics/misc/sunny_day/31.gbapal"
- .incbin "graphics/misc/sunny_day/32.gbapal"
- .incbin "graphics/misc/sunny_day/33.gbapal"
- .incbin "graphics/misc/sunny_day/34.gbapal"
- .incbin "graphics/misc/sunny_day/35.gbapal"
- .incbin "graphics/misc/sunny_day/36.gbapal"
- .incbin "graphics/misc/sunny_day/37.gbapal"
- .incbin "graphics/misc/sunny_day/38.gbapal"
- .incbin "graphics/misc/sunny_day/39.gbapal"
- .incbin "graphics/misc/sunny_day/40.gbapal"
- .incbin "graphics/misc/sunny_day/41.gbapal"
- .incbin "graphics/misc/sunny_day/42.gbapal"
- .incbin "graphics/misc/sunny_day/43.gbapal"
- .incbin "graphics/misc/sunny_day/44.gbapal"
- .incbin "graphics/misc/sunny_day/45.gbapal"
- .incbin "graphics/misc/sunny_day/46.gbapal"
- .incbin "graphics/misc/sunny_day/47.gbapal"
- .incbin "graphics/misc/sunny_day/48.gbapal"
- .incbin "graphics/misc/sunny_day/49.gbapal"
- .incbin "graphics/misc/sunny_day/50.gbapal"
- .incbin "graphics/misc/sunny_day/51.gbapal"
- .incbin "graphics/misc/sunny_day/52.gbapal"
- .incbin "graphics/misc/sunny_day/53.gbapal"
- .incbin "graphics/misc/sunny_day/54.gbapal"
- .incbin "graphics/misc/sunny_day/55.gbapal"
- .incbin "graphics/misc/sunny_day/56.gbapal"
- .incbin "graphics/misc/sunny_day/57.gbapal"
- .incbin "graphics/misc/sunny_day/58.gbapal"
- .incbin "graphics/misc/sunny_day/59.gbapal"
- .incbin "graphics/misc/sunny_day/60.gbapal"
- .incbin "graphics/misc/sunny_day/61.gbapal"
- .incbin "graphics/misc/sunny_day/62.gbapal"
- .incbin "graphics/misc/sunny_day/63.gbapal"
- .incbin "graphics/misc/sunny_day/64.gbapal"
- .incbin "graphics/misc/sunny_day/65.gbapal"
- .incbin "graphics/misc/sunny_day/66.gbapal"
- .incbin "graphics/misc/sunny_day/67.gbapal"
- .incbin "graphics/misc/sunny_day/68.gbapal"
- .incbin "graphics/misc/sunny_day/69.gbapal"
- .incbin "graphics/misc/sunny_day/70.gbapal"
- .incbin "graphics/misc/sunny_day/71.gbapal"
- .incbin "graphics/misc/sunny_day/72.gbapal"
- .incbin "graphics/misc/sunny_day/73.gbapal"
- .incbin "graphics/misc/sunny_day/74.gbapal"
- .incbin "graphics/misc/sunny_day/75.gbapal"
- .incbin "graphics/misc/sunny_day/76.gbapal"
- .incbin "graphics/misc/sunny_day/77.gbapal"
- .incbin "graphics/misc/sunny_day/78.gbapal"
- .incbin "graphics/misc/sunny_day/79.gbapal"
- .incbin "graphics/misc/sunny_day/80.gbapal"
- .incbin "graphics/misc/sunny_day/81.gbapal"
- .incbin "graphics/misc/sunny_day/82.gbapal"
- .incbin "graphics/misc/sunny_day/83.gbapal"
- .incbin "graphics/misc/sunny_day/84.gbapal"
- .incbin "graphics/misc/sunny_day/85.gbapal"
- .incbin "graphics/misc/sunny_day/86.gbapal"
- .incbin "graphics/misc/sunny_day/87.gbapal"
- .incbin "graphics/misc/sunny_day/88.gbapal"
- .incbin "graphics/misc/sunny_day/89.gbapal"
- .incbin "graphics/misc/sunny_day/90.gbapal"
- .incbin "graphics/misc/sunny_day/91.gbapal"
- .incbin "graphics/misc/sunny_day/92.gbapal"
- .incbin "graphics/misc/sunny_day/93.gbapal"
- .incbin "graphics/misc/sunny_day/94.gbapal"
- .incbin "graphics/misc/sunny_day/95.gbapal"
diff --git a/data/layouts/RustboroCity_House/layout.inc b/data/layouts/RustboroCity_House/layout.inc
index b1b90daee..0c8a2075e 100644
--- a/data/layouts/RustboroCity_House/layout.inc
+++ b/data/layouts/RustboroCity_House/layout.inc
@@ -5,7 +5,7 @@ RustboroCity_House_MapBlockdata::
.incbin "data/layouts/RustboroCity_House/map.bin"
.align 2
-RustboroCity_House_Layouts::
+RustboroCity_House_Layout::
.4byte 0xc
.4byte 0x9
.4byte RustboroCity_House_MapBorder
diff --git a/data/layouts_table.inc b/data/layouts_table.inc
index ab5578438..fb1385bdb 100644
--- a/data/layouts_table.inc
+++ b/data/layouts_table.inc
@@ -95,7 +95,7 @@ gMapLayouts::
.4byte RustboroCity_DevonCorp_2F_Layout
.4byte RustboroCity_Gym_Layout
.4byte RustboroCity_PokemonSchool_Layout
- .4byte RustboroCity_House_Layouts
+ .4byte RustboroCity_House_Layout
.4byte RustboroCity_House1_Layout
.4byte RustboroCity_CuttersHouse_Layout
.4byte FortreeCity_House1_Layout
diff --git a/data/map_events.s b/data/map_events.s
index 1d4813b73..6b2062076 100644
--- a/data/map_events.s
+++ b/data/map_events.s
@@ -387,17 +387,17 @@
.include "data/maps/RecordCorner/events.inc"
.include "data/maps/DoubleBattleColosseum/events.inc"
.include "data/maps/LinkContestRoom1/events.inc"
- .include "data/maps/LinkContestRoom2/events.inc"
- .include "data/maps/LinkContestRoom3/events.inc"
- .include "data/maps/LinkContestRoom4/events.inc"
- .include "data/maps/LinkContestRoom5/events.inc"
- .include "data/maps/LinkContestRoom6/events.inc"
.include "data/maps/UnknownMap_25_29/events.inc"
.include "data/maps/UnknownMap_25_30/events.inc"
.include "data/maps/UnknownMap_25_31/events.inc"
.include "data/maps/UnknownMap_25_32/events.inc"
.include "data/maps/UnknownMap_25_33/events.inc"
.include "data/maps/UnknownMap_25_34/events.inc"
+ .include "data/maps/LinkContestRoom2/events.inc"
+ .include "data/maps/LinkContestRoom3/events.inc"
+ .include "data/maps/LinkContestRoom4/events.inc"
+ .include "data/maps/LinkContestRoom5/events.inc"
+ .include "data/maps/LinkContestRoom6/events.inc"
.include "data/maps/InsideOfTruck/events.inc"
.include "data/maps/SSTidalCorridor/events.inc"
.include "data/maps/SSTidalLowerDeck/events.inc"
diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
index d92c6cbf4..7dbeee042 100644
--- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
+++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc
@@ -968,7 +968,7 @@ BattleFrontier_BattleDomeBattleRoom_EventScript_24C919:: @ 824C919
compare VAR_TEMP_D, 0
goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_27374E
setobjectxyperm 6, 2, 0
- setobjectmovementtype 6, 10
+ setobjectmovementtype 6, MOVEMENT_TYPE_FACE_RIGHT
return
BattleFrontier_BattleDomeBattleRoom_EventScript_24C938:: @ 824C938
diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc
index 82a3b8469..899df4d2c 100644
--- a/data/maps/LavaridgeTown/scripts.inc
+++ b/data/maps/LavaridgeTown/scripts.inc
@@ -28,7 +28,7 @@ LavaridgeTown_EventScript_1EA518:: @ 81EA518
LavaridgeTown_EventScript_1EA529:: @ 81EA529
setobjectxyperm 8, 11, 9
setobjectxyperm 7, 9, 8
- setobjectmovementtype 7, 7
+ setobjectmovementtype 7, MOVEMENT_TYPE_FACE_UP
clearflag FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1
return
diff --git a/data/maps/LavaridgeTown_Gym_1F/scripts.inc b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
index 06ea54a98..bf48225ec 100644
--- a/data/maps/LavaridgeTown_Gym_1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_1F/scripts.inc
@@ -38,22 +38,22 @@ LavaridgeTown_Gym_1F_EventScript_1FE756:: @ 81FE756
LavaridgeTown_Gym_1F_EventScript_1FE757:: @ 81FE757
checktrainerflag TRAINER_COLE
goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE764
- setobjectmovementtype 2, 63
+ setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_1F_EventScript_1FE764:: @ 81FE764
checktrainerflag TRAINER_GERALD
goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE771
- setobjectmovementtype 3, 63
+ setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_1F_EventScript_1FE771:: @ 81FE771
checktrainerflag TRAINER_AXLE
goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE77E
- setobjectmovementtype 4, 63
+ setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_1F_EventScript_1FE77E:: @ 81FE77E
checktrainerflag TRAINER_DANIELLE
goto_if_eq LavaridgeTown_Gym_1F_EventScript_1FE78B
- setobjectmovementtype 5, 63
+ setobjectmovementtype 5, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_1F_EventScript_1FE78B:: @ 81FE78B
return
diff --git a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
index 222f36810..a8a6eaa54 100644
--- a/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
+++ b/data/maps/LavaridgeTown_Gym_B1F/scripts.inc
@@ -37,22 +37,22 @@ LavaridgeTown_Gym_B1F_EventScript_1FF8DB:: @ 81FF8DB
LavaridgeTown_Gym_B1F_EventScript_1FF8DC:: @ 81FF8DC
checktrainerflag TRAINER_KEEGAN
goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8E9
- setobjectmovementtype 2, 63
+ setobjectmovementtype 2, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_B1F_EventScript_1FF8E9:: @ 81FF8E9
checktrainerflag TRAINER_JACE
goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF8F6
- setobjectmovementtype 1, 63
+ setobjectmovementtype 1, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_B1F_EventScript_1FF8F6:: @ 81FF8F6
checktrainerflag TRAINER_JEFF
goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF903
- setobjectmovementtype 3, 63
+ setobjectmovementtype 3, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_B1F_EventScript_1FF903:: @ 81FF903
checktrainerflag TRAINER_ELI
goto_if_eq LavaridgeTown_Gym_B1F_EventScript_1FF910
- setobjectmovementtype 4, 63
+ setobjectmovementtype 4, MOVEMENT_TYPE_HIDDEN
LavaridgeTown_Gym_B1F_EventScript_1FF910:: @ 81FF910
return
diff --git a/data/maps/LinkContestRoom1/events.inc b/data/maps/LinkContestRoom1/events.inc
index 5c1a3b9f4..7b6b875c2 100644
--- a/data/maps/LinkContestRoom1/events.inc
+++ b/data/maps/LinkContestRoom1/events.inc
@@ -16,3 +16,4 @@ LinkContestRoom1_EventObjects: @ 8539EFC
object_event 15, EVENT_OBJ_GFX_ARTIST, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0
LinkContestRoom1_MapEvents:: @ 853A064
+ map_events LinkContestRoom1_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/LinkContestRoom1/scripts.inc b/data/maps/LinkContestRoom1/scripts.inc
index 5276adcd8..e756c2bc6 100644
--- a/data/maps/LinkContestRoom1/scripts.inc
+++ b/data/maps/LinkContestRoom1/scripts.inc
@@ -1 +1,458 @@
LinkContestRoom1_MapScripts:: @ 823B781
+ map_script 4, LinkContestRoom1_MapScript2_23B81F
+ map_script 2, LinkContestRoom1_MapScript2_23B815
+ map_script 3, LinkContestRoom1_MapScript1_23B79F
+ map_script 5, LinkContestRoom1_MapScript1_23B803
+ map_script 7, LinkContestRoom1_MapScript1_23B79B
+ .byte 0
+
+LinkContestRoom1_MapScript1_23B79B: @ 823B79B
+ special sub_80F8B94
+ end
+
+LinkContestRoom1_MapScript1_23B79F: @ 823B79F
+ call LinkContestRoom1_EventScript_23B7AF
+ setvar VAR_TEMP_0, 1
+ call LinkContestRoom1_EventScript_23B842
+ end
+
+LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF
+ call LinkContestRoom1_EventScript_27A133
+ special ScriptGetMultiplayerId
+ compare VAR_RESULT, 0
+ call_if_eq LinkContestRoom1_EventScript_23B7EF
+ compare VAR_RESULT, 1
+ call_if_eq LinkContestRoom1_EventScript_23B7F3
+ compare VAR_RESULT, 2
+ call_if_eq LinkContestRoom1_EventScript_23B7F7
+ compare VAR_RESULT, 3
+ call_if_eq LinkContestRoom1_EventScript_23B7FB
+ compare VAR_RESULT, 4
+ call_if_eq LinkContestRoom1_EventScript_23B7FF
+ return
+
+LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF
+ savebgm MUS_TEST1
+ return
+
+LinkContestRoom1_EventScript_23B7F3:: @ 823B7F3
+ savebgm MUS_TEST2
+ return
+
+LinkContestRoom1_EventScript_23B7F7:: @ 823B7F7
+ savebgm MUS_TEST3
+ return
+
+LinkContestRoom1_EventScript_23B7FB:: @ 823B7FB
+ savebgm MUS_TEST4
+ return
+
+LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF
+ savebgm MUS_CONTEST0
+ return
+
+LinkContestRoom1_MapScript1_23B803: @ 823B803
+ compare VAR_TEMP_9, 1
+ call_if_eq LinkContestRoom1_EventScript_23B80F
+ end
+
+LinkContestRoom1_EventScript_23B80F:: @ 823B80F
+ call LinkContestRoom1_EventScript_23BB2B
+ return
+
+LinkContestRoom1_MapScript2_23B815: @ 823B815
+ map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B829
+ .2byte 0
+
+LinkContestRoom1_MapScript2_23B81F: @ 823B81F
+ map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B834
+ .2byte 0
+
+LinkContestRoom1_EventScript_23B829:: @ 823B829
+ call LinkContestRoom1_EventScript_279F97
+ call LinkContestRoom1_EventScript_23BE44
+ end
+
+LinkContestRoom1_EventScript_23B834:: @ 823B834
+ special sub_80F8B94
+ hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
+ call LinkContestRoom1_EventScript_23BB2B
+ end
+
+LinkContestRoom1_EventScript_23B842:: @ 823B842
+ call LinkContestRoom1_EventScript_23B8F8
+ call LinkContestRoom1_EventScript_23B858
+ compare VAR_TEMP_0, 8
+ goto_if_lt LinkContestRoom1_EventScript_23B842
+ return
+
+LinkContestRoom1_EventScript_23B858:: @ 823B858
+ switch VAR_TEMP_0
+ case 1, LinkContestRoom1_EventScript_23B8AB
+ case 2, LinkContestRoom1_EventScript_23B8B6
+ case 3, LinkContestRoom1_EventScript_23B8C1
+ case 4, LinkContestRoom1_EventScript_23B8CC
+ case 5, LinkContestRoom1_EventScript_23B8D7
+ case 6, LinkContestRoom1_EventScript_23B8E2
+ case 7, LinkContestRoom1_EventScript_23B8ED
+ end
+
+LinkContestRoom1_EventScript_23B8AB:: @ 823B8AB
+ copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6
+ copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1
+ copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC
+ copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7
+ copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2
+ copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED
+ copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1
+ addvar VAR_TEMP_0, 1
+ return
+
+LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8
+ setvar VAR_RESULT, 32
+ special ScriptRandom
+ addvar VAR_RESULT, 1
+ switch VAR_RESULT
+ case 1, LinkContestRoom1_EventScript_23BA6B
+ case 2, LinkContestRoom1_EventScript_23BA71
+ case 3, LinkContestRoom1_EventScript_23BA77
+ case 4, LinkContestRoom1_EventScript_23BA7D
+ case 5, LinkContestRoom1_EventScript_23BA83
+ case 6, LinkContestRoom1_EventScript_23BA89
+ case 7, LinkContestRoom1_EventScript_23BA8F
+ case 8, LinkContestRoom1_EventScript_23BA95
+ case 9, LinkContestRoom1_EventScript_23BA9B
+ case 10, LinkContestRoom1_EventScript_23BAA1
+ case 11, LinkContestRoom1_EventScript_23BAA7
+ case 12, LinkContestRoom1_EventScript_23BAAD
+ case 13, LinkContestRoom1_EventScript_23BAB3
+ case 14, LinkContestRoom1_EventScript_23BAB9
+ case 15, LinkContestRoom1_EventScript_23BABF
+ case 16, LinkContestRoom1_EventScript_23BAC5
+ case 17, LinkContestRoom1_EventScript_23BACB
+ case 18, LinkContestRoom1_EventScript_23BAD1
+ case 19, LinkContestRoom1_EventScript_23BAD7
+ case 20, LinkContestRoom1_EventScript_23BADD
+ case 21, LinkContestRoom1_EventScript_23BAE3
+ case 22, LinkContestRoom1_EventScript_23BAE9
+ case 23, LinkContestRoom1_EventScript_23BAEF
+ case 24, LinkContestRoom1_EventScript_23BAF5
+ case 25, LinkContestRoom1_EventScript_23BAFB
+ case 26, LinkContestRoom1_EventScript_23BB01
+ case 27, LinkContestRoom1_EventScript_23BB07
+ case 28, LinkContestRoom1_EventScript_23BB0D
+ case 29, LinkContestRoom1_EventScript_23BB13
+ case 30, LinkContestRoom1_EventScript_23BB19
+ case 31, LinkContestRoom1_EventScript_23BB1F
+ case 32, LinkContestRoom1_EventScript_23BB25
+ end
+
+LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B
+ setvar VAR_TEMP_1, 5
+ return
+
+LinkContestRoom1_EventScript_23BA71:: @ 823BA71
+ setvar VAR_TEMP_1, 6
+ return
+
+LinkContestRoom1_EventScript_23BA77:: @ 823BA77
+ setvar VAR_TEMP_1, 7
+ return
+
+LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D
+ setvar VAR_TEMP_1, 8
+ return
+
+LinkContestRoom1_EventScript_23BA83:: @ 823BA83
+ setvar VAR_TEMP_1, 10
+ return
+
+LinkContestRoom1_EventScript_23BA89:: @ 823BA89
+ setvar VAR_TEMP_1, 11
+ return
+
+LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F
+ setvar VAR_TEMP_1, 12
+ return
+
+LinkContestRoom1_EventScript_23BA95:: @ 823BA95
+ setvar VAR_TEMP_1, 13
+ return
+
+LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B
+ setvar VAR_TEMP_1, 14
+ return
+
+LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1
+ setvar VAR_TEMP_1, 15
+ return
+
+LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7
+ setvar VAR_TEMP_1, 17
+ return
+
+LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD
+ setvar VAR_TEMP_1, 18
+ return
+
+LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3
+ setvar VAR_TEMP_1, 19
+ return
+
+LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9
+ setvar VAR_TEMP_1, 20
+ return
+
+LinkContestRoom1_EventScript_23BABF:: @ 823BABF
+ setvar VAR_TEMP_1, 21
+ return
+
+LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5
+ setvar VAR_TEMP_1, 22
+ return
+
+LinkContestRoom1_EventScript_23BACB:: @ 823BACB
+ setvar VAR_TEMP_1, 25
+ return
+
+LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1
+ setvar VAR_TEMP_1, 26
+ return
+
+LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7
+ setvar VAR_TEMP_1, 27
+ return
+
+LinkContestRoom1_EventScript_23BADD:: @ 823BADD
+ setvar VAR_TEMP_1, 47
+ return
+
+LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3
+ setvar VAR_TEMP_1, 30
+ return
+
+LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9
+ setvar VAR_TEMP_1, 31
+ return
+
+LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF
+ setvar VAR_TEMP_1, 32
+ return
+
+LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5
+ setvar VAR_TEMP_1, 33
+ return
+
+LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB
+ setvar VAR_TEMP_1, 34
+ return
+
+LinkContestRoom1_EventScript_23BB01:: @ 823BB01
+ setvar VAR_TEMP_1, 35
+ return
+
+LinkContestRoom1_EventScript_23BB07:: @ 823BB07
+ setvar VAR_TEMP_1, 36
+ return
+
+LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D
+ setvar VAR_TEMP_1, 37
+ return
+
+LinkContestRoom1_EventScript_23BB13:: @ 823BB13
+ setvar VAR_TEMP_1, 38
+ return
+
+LinkContestRoom1_EventScript_23BB19:: @ 823BB19
+ setvar VAR_TEMP_1, 44
+ return
+
+LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F
+ setvar VAR_TEMP_1, 45
+ return
+
+LinkContestRoom1_EventScript_23BB25:: @ 823BB25
+ setvar VAR_TEMP_1, 46
+ return
+
+LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
+ specialvar VAR_RESULT, sub_80F9160
+ compare VAR_RESULT, 1
+ goto_if_eq LinkContestRoom1_EventScript_23BD86
+ switch VAR_0x4088
+ case 1, LinkContestRoom1_EventScript_23BB78
+ case 2, LinkContestRoom1_EventScript_23BB8B
+ case 3, LinkContestRoom1_EventScript_23BBE6
+ case 4, LinkContestRoom1_EventScript_23BC92
+ case 5, LinkContestRoom1_EventScript_23BC92
+ return
+
+LinkContestRoom1_EventScript_23BB78:: @ 823BB78
+ createvobject 5, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 46, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 12, 13, 12, 8, 3, 3
+ createvobject 47, 20, 3, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 48, 3, 2, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 22, 20, 3, 2, 3, 1
+ createvobject 23, 20, 6, 2, 3, 1
+ createvobject 34, 20, 7, 2, 3, 1
+ createvobject 46, 24, 8, 2, 3, 1
+ createvobject 48, 24, 11, 2, 3, 1
+ createvobject 11, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 17, 27, 5, 9, 3, 2
+ createvobject 40, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
+ return
+
+LinkContestRoom1_EventScript_23BC92:: @ 823BC92
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 12, 3, 2, 8, 3, 4
+ createvobject 39, 4, 1, 3, 3, 4
+ createvobject 34, 6, 1, 5, 3, 4
+ createvobject 26, 7, 1, 6, 3, 4
+ createvobject 48, 9, 1, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 50, 14, 13, 3, 3, 3
+ createvobject 52, 15, 13, 4, 3, 3
+ createvobject 65, 17, 13, 6, 3, 3
+ createvobject 83, 18, 13, 7, 3, 3
+ createvobject 116, 19, 13, 8, 3, 3
+ createvobject 25, 20, 3, 2, 3, 1
+ createvobject 31, 21, 6, 2, 3, 1
+ createvobject 33, 22, 7, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ createvobject 49, 25, 3, 9, 3, 2
+ createvobject 35, 26, 4, 9, 3, 2
+ createvobject 48, 27, 5, 9, 3, 2
+ createvobject 40, 28, 9, 9, 3, 2
+ createvobject 38, 29, 10, 9, 3, 2
+ createvobject 83, 30, 11, 9, 3, 2
+ return
+
+LinkContestRoom1_EventScript_23BD86:: @ 823BD86
+ createvobject 45, 0, 2, 3, 3, 4
+ createvobject 66, 1, 2, 4, 3, 4
+ createvobject 55, 2, 2, 7, 3, 4
+ createvobject 12, 3, 2, 8, 3, 4
+ createvobject 39, 4, 1, 3, 3, 4
+ createvobject 34, 6, 1, 5, 3, 4
+ createvobject 26, 7, 1, 6, 3, 4
+ createvobject 48, 9, 1, 8, 3, 4
+ createvobject 5, 10, 12, 3, 3, 3
+ createvobject 20, 11, 12, 4, 3, 3
+ createvobject 24, 12, 12, 7, 3, 3
+ createvobject 45, 13, 12, 8, 3, 3
+ createvobject 50, 14, 13, 3, 3, 3
+ createvobject 52, 15, 13, 4, 3, 3
+ createvobject 65, 17, 13, 6, 3, 3
+ createvobject 83, 18, 13, 7, 3, 3
+ createvobject 116, 19, 13, 8, 3, 3
+ createvobject 25, 20, 3, 2, 3, 1
+ createvobject 31, 21, 6, 2, 3, 1
+ createvobject 33, 22, 7, 2, 3, 1
+ createvobject 46, 24, 11, 2, 3, 1
+ return
+
+LinkContestRoom1_EventScript_23BE44:: @ 823BE44
+ special sub_80F9154
+ switch VAR_0x4088
+ case 1, LinkContestRoom1_EventScript_23BE84
+ case 2, LinkContestRoom1_EventScript_23BE8E
+ case 3, LinkContestRoom1_EventScript_23BE98
+ case 4, LinkContestRoom1_EventScript_23BEA2
+ case 5, LinkContestRoom1_EventScript_23BEAC
+ return
+
+LinkContestRoom1_EventScript_23BE84:: @ 823BE84
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BE8E:: @ 823BE8E
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BE98:: @ 823BE98
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BEA2:: @ 823BEA2
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
+ waitstate
+ end
+
+LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC
+ warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4
+ waitstate
+ end
+
+LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6
+ checkplayergender
+ compare VAR_RESULT, MALE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE
+ compare VAR_RESULT, FEMALE
+ goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4
+ return
+
+LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
+ return
+
+LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4
+ setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
+ return
+
diff --git a/data/maps/LinkContestRoom2/events.inc b/data/maps/LinkContestRoom2/events.inc
index 89cb251d5..8b1378917 100644
--- a/data/maps/LinkContestRoom2/events.inc
+++ b/data/maps/LinkContestRoom2/events.inc
@@ -1 +1 @@
-LinkContestRoom2_MapEvents:: @ 853A064
+
diff --git a/data/maps/LinkContestRoom2/header.inc b/data/maps/LinkContestRoom2/header.inc
index f9274e58b..e37d65f86 100644
--- a/data/maps/LinkContestRoom2/header.inc
+++ b/data/maps/LinkContestRoom2/header.inc
@@ -1,7 +1,7 @@
LinkContestRoom2: @ 8484E64
.4byte LinkContestRoom2_Layout
- .4byte LinkContestRoom2_MapEvents
- .4byte LinkContestRoom2_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_CONTEST0
.2byte 232
diff --git a/data/maps/LinkContestRoom2/scripts.inc b/data/maps/LinkContestRoom2/scripts.inc
index ff85310f7..8b1378917 100644
--- a/data/maps/LinkContestRoom2/scripts.inc
+++ b/data/maps/LinkContestRoom2/scripts.inc
@@ -1 +1 @@
-LinkContestRoom2_MapScripts:: @ 823B781
+
diff --git a/data/maps/LinkContestRoom3/events.inc b/data/maps/LinkContestRoom3/events.inc
index 1e1b194c6..8b1378917 100644
--- a/data/maps/LinkContestRoom3/events.inc
+++ b/data/maps/LinkContestRoom3/events.inc
@@ -1 +1 @@
-LinkContestRoom3_MapEvents:: @ 853A064
+
diff --git a/data/maps/LinkContestRoom3/header.inc b/data/maps/LinkContestRoom3/header.inc
index 1b445db4b..90333ebd9 100644
--- a/data/maps/LinkContestRoom3/header.inc
+++ b/data/maps/LinkContestRoom3/header.inc
@@ -1,7 +1,7 @@
LinkContestRoom3: @ 8484E80
.4byte LinkContestRoom3_Layout
- .4byte LinkContestRoom3_MapEvents
- .4byte LinkContestRoom3_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_CONTEST0
.2byte 233
diff --git a/data/maps/LinkContestRoom3/scripts.inc b/data/maps/LinkContestRoom3/scripts.inc
index c3a5c95fb..8b1378917 100644
--- a/data/maps/LinkContestRoom3/scripts.inc
+++ b/data/maps/LinkContestRoom3/scripts.inc
@@ -1 +1 @@
-LinkContestRoom3_MapScripts:: @ 823B781
+
diff --git a/data/maps/LinkContestRoom4/events.inc b/data/maps/LinkContestRoom4/events.inc
index 56e608f20..8b1378917 100644
--- a/data/maps/LinkContestRoom4/events.inc
+++ b/data/maps/LinkContestRoom4/events.inc
@@ -1 +1 @@
-LinkContestRoom4_MapEvents:: @ 853A064
+
diff --git a/data/maps/LinkContestRoom4/header.inc b/data/maps/LinkContestRoom4/header.inc
index 20720be06..781ebed0f 100644
--- a/data/maps/LinkContestRoom4/header.inc
+++ b/data/maps/LinkContestRoom4/header.inc
@@ -1,7 +1,7 @@
LinkContestRoom4: @ 8484E9C
.4byte LinkContestRoom4_Layout
- .4byte LinkContestRoom4_MapEvents
- .4byte LinkContestRoom4_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_CONTEST0
.2byte 234
diff --git a/data/maps/LinkContestRoom4/scripts.inc b/data/maps/LinkContestRoom4/scripts.inc
index 9a544e6f3..8b1378917 100644
--- a/data/maps/LinkContestRoom4/scripts.inc
+++ b/data/maps/LinkContestRoom4/scripts.inc
@@ -1 +1 @@
-LinkContestRoom4_MapScripts:: @ 823B781
+
diff --git a/data/maps/LinkContestRoom5/events.inc b/data/maps/LinkContestRoom5/events.inc
index 90644518e..8b1378917 100644
--- a/data/maps/LinkContestRoom5/events.inc
+++ b/data/maps/LinkContestRoom5/events.inc
@@ -1 +1 @@
-LinkContestRoom5_MapEvents:: @ 853A064
+
diff --git a/data/maps/LinkContestRoom5/header.inc b/data/maps/LinkContestRoom5/header.inc
index f2e9c6c55..87253d0d6 100644
--- a/data/maps/LinkContestRoom5/header.inc
+++ b/data/maps/LinkContestRoom5/header.inc
@@ -1,7 +1,7 @@
LinkContestRoom5: @ 8484EB8
.4byte LinkContestRoom5_Layout
- .4byte LinkContestRoom5_MapEvents
- .4byte LinkContestRoom5_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_CONTEST0
.2byte 235
diff --git a/data/maps/LinkContestRoom5/scripts.inc b/data/maps/LinkContestRoom5/scripts.inc
index f7ea72996..8b1378917 100644
--- a/data/maps/LinkContestRoom5/scripts.inc
+++ b/data/maps/LinkContestRoom5/scripts.inc
@@ -1 +1 @@
-LinkContestRoom5_MapScripts:: @ 823B781
+
diff --git a/data/maps/LinkContestRoom6/events.inc b/data/maps/LinkContestRoom6/events.inc
index 802987a1d..8b1378917 100644
--- a/data/maps/LinkContestRoom6/events.inc
+++ b/data/maps/LinkContestRoom6/events.inc
@@ -1 +1 @@
-LinkContestRoom6_MapEvents:: @ 853A064
+
diff --git a/data/maps/LinkContestRoom6/header.inc b/data/maps/LinkContestRoom6/header.inc
index 225a99e46..ade67e7e7 100644
--- a/data/maps/LinkContestRoom6/header.inc
+++ b/data/maps/LinkContestRoom6/header.inc
@@ -1,7 +1,7 @@
LinkContestRoom6: @ 8484ED4
.4byte LinkContestRoom6_Layout
- .4byte LinkContestRoom6_MapEvents
- .4byte LinkContestRoom6_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_CONTEST0
.2byte 236
diff --git a/data/maps/LinkContestRoom6/scripts.inc b/data/maps/LinkContestRoom6/scripts.inc
index bea65ea48..8b1378917 100644
--- a/data/maps/LinkContestRoom6/scripts.inc
+++ b/data/maps/LinkContestRoom6/scripts.inc
@@ -1 +1 @@
-LinkContestRoom6_MapScripts:: @ 823B781
+
diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc
index b7067f451..5d9161cb4 100644
--- a/data/maps/LittlerootTown/scripts.inc
+++ b/data/maps/LittlerootTown/scripts.inc
@@ -56,17 +56,17 @@ LittlerootTown_EventScript_1E7E6F:: @ 81E7E6F
compare VAR_0x4050, 0
goto_if_eq LittlerootTown_EventScript_1E7E86
setobjectxyperm 1, 10, 1
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_EventScript_1E7E86:: @ 81E7E86
setobjectxyperm 1, 7, 2
- setobjectmovementtype 1, 8
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
return
LittlerootTown_EventScript_1E7E92:: @ 81E7E92
clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE
- setobjectmovementtype 4, 8
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN
checkplayergender
compare VAR_RESULT, MALE
call_if_eq LittlerootTown_EventScript_1E7EB1
diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
index 8fa7adbca..42cfe308b 100644
--- a/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_1F/scripts.inc
@@ -36,17 +36,17 @@ LittlerootTown_BrendansHouse_1F_MapScript1_1F77A4: @ 81F77A4
LittlerootTown_BrendansHouse_1F_EventScript_1F77C6:: @ 81F77C6
setobjectxyperm 1, 8, 4
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_BrendansHouse_1F_EventScript_1F77D2:: @ 81F77D2
setobjectxyperm 1, 4, 5
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_BrendansHouse_1F_EventScript_1F77DE:: @ 81F77DE
setobjectxyperm 1, 9, 8
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_BrendansHouse_1F_MapScript2_1F77EA: @ 81F77EA
diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
index 8bd4b43b9..ea00693a8 100644
--- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc
@@ -27,7 +27,7 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F8433:: @ 81F8433
compare VAR_0x40D3, 2
goto_if_ge LittlerootTown_BrendansHouse_2F_EventScript_1F9309
setobjectxyperm 1, 0, 2
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_BrendansHouse_2F_EventScript_1F8456:: @ 81F8456
diff --git a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
index 25ebc1bbd..36bda7e03 100644
--- a/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_1F/scripts.inc
@@ -36,17 +36,17 @@ LittlerootTown_MaysHouse_1F_MapScript1_1F88F4: @ 81F88F4
LittlerootTown_MaysHouse_1F_EventScript_1F8916:: @ 81F8916
setobjectxyperm 1, 2, 4
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_MaysHouse_1F_EventScript_1F8922:: @ 81F8922
setobjectxyperm 1, 6, 5
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_MaysHouse_1F_EventScript_1F892E:: @ 81F892E
setobjectxyperm 1, 1, 8
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_MaysHouse_1F_MapScript2_1F893A: @ 81F893A
diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
index ffc4a6519..353437ad4 100644
--- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
+++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc
@@ -27,7 +27,7 @@ LittlerootTown_MaysHouse_2F_EventScript_1F92E6:: @ 81F92E6
compare VAR_0x40D3, 2
goto_if_ge LittlerootTown_MaysHouse_2F_EventScript_1F9309
setobjectxyperm 1, 8, 2
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
LittlerootTown_BrendansHouse_2F_EventScript_1F9309:: @ 81F9309
diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
index 1f65beda3..ee7e1730b 100644
--- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
+++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc
@@ -19,7 +19,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9CCD:: @ 81F9CCD
specialvar VAR_RESULT, HasAllHoennMons
compare VAR_RESULT, 1
goto_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9CE9
- setobjectmovementtype 3, 3
+ setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN
setobjectxyperm 3, 5, 10
end
@@ -33,7 +33,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF3:: @ 81F9CF3
LittlerootTown_ProfessorBirchsLab_EventScript_1F9CF7:: @ 81F9CF7
setmaplayoutindex 432
- setobjectmovementtype 3, 3
+ setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN
setobjectxyperm 3, 5, 10
end
diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
index 91eda813c..e875be96f 100644
--- a/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_1F/scripts.inc
@@ -10,14 +10,14 @@ MossdeepCity_SpaceCenter_1F_MapScript1_222F4C: @ 8222F4C
MossdeepCity_SpaceCenter_1F_EventScript_222F58:: @ 8222F58
setobjectxyperm 3, 1, 9
- setobjectmovementtype 3, 10
+ setobjectmovementtype 3, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm 5, 0, 8
- setobjectmovementtype 5, 10
+ setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm 4, 1, 6
- setobjectmovementtype 4, 10
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm 1, 3, 4
- setobjectmovementtype 1, 10
- setobjectmovementtype 2, 10
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
+ setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT
compare VAR_0x409E, 1
goto_if_eq MossdeepCity_SpaceCenter_1F_EventScript_222FAA
compare VAR_0x409E, 2
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
index 163f7045f..0602c9dad 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
@@ -13,11 +13,11 @@ MossdeepCity_SpaceCenter_2F_MapScript1_223D63: @ 8223D63
MossdeepCity_SpaceCenter_2F_EventScript_223D7A:: @ 8223D7A
clearflag FLAG_INTERACTED_WITH_STEVEN_SPACE_CENTER
setobjectxyperm 3, 5, 3
- setobjectmovementtype 3, 10
+ setobjectmovementtype 3, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm 1, 3, 2
- setobjectmovementtype 1, 10
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
setobjectxyperm 2, 1, 3
- setobjectmovementtype 2, 10
+ setobjectmovementtype 2, MOVEMENT_TYPE_FACE_RIGHT
return
MossdeepCity_SpaceCenter_2F_EventScript_223D9F:: @ 8223D9F
@@ -319,7 +319,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_224071:: @ 8224071
setflag FLAG_HIDE_MOSSDEEP_CITY_SCOTT
removeobject 3
setobjectxyperm 3, 5, 6
- setobjectmovementtype 3, 2
+ setobjectmovementtype 3, MOVEMENT_TYPE_WANDER_AROUND
addobject 3
fadescreen 0
end
diff --git a/data/maps/MossdeepCity_StevensHouse/scripts.inc b/data/maps/MossdeepCity_StevensHouse/scripts.inc
index d2bd91694..51f1ac16e 100644
--- a/data/maps/MossdeepCity_StevensHouse/scripts.inc
+++ b/data/maps/MossdeepCity_StevensHouse/scripts.inc
@@ -19,7 +19,7 @@ MossdeepCity_StevensHouse_MapScript1_2227A8: @ 82227A8
MossdeepCity_StevensHouse_EventScript_2227B4:: @ 82227B4
setobjectxyperm 1, 6, 5
- setobjectmovementtype 1, 7
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
return
MossdeepCity_StevensHouse_MapScript2_2227C0: @ 82227C0
diff --git a/data/maps/MtChimney_CableCarStation/scripts.inc b/data/maps/MtChimney_CableCarStation/scripts.inc
index 8e52438c9..6c389e2ad 100644
--- a/data/maps/MtChimney_CableCarStation/scripts.inc
+++ b/data/maps/MtChimney_CableCarStation/scripts.inc
@@ -10,7 +10,7 @@ MtChimney_CableCarStation_MapScript1_22AC05: @ 822AC05
MtChimney_CableCarStation_EventScript_22AC11:: @ 822AC11
setobjectxyperm 1, 5, 4
- setobjectmovementtype 1, 10
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
return
MtChimney_CableCarStation_MapScript2_22AC1D: @ 822AC1D
@@ -24,7 +24,7 @@ MtChimney_CableCarStation_EventScript_22AC27:: @ 822AC27
waitmovement 0
setvar VAR_0x40A3, 0
setobjectxyperm 1, 6, 7
- setobjectmovementtype 1, 8
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
releaseall
end
diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc
index c8a598da9..7431cbf2a 100644
--- a/data/maps/OldaleTown/scripts.inc
+++ b/data/maps/OldaleTown/scripts.inc
@@ -16,12 +16,12 @@ OldaleTown_EventScript_1E8ECC:: @ 81E8ECC
OldaleTown_EventScript_1E8ED2:: @ 81E8ED2
setobjectxyperm 3, 1, 11
- setobjectmovementtype 3, 9
+ setobjectmovementtype 3, MOVEMENT_TYPE_FACE_LEFT
return
OldaleTown_EventScript_1E8EDE:: @ 81E8EDE
setobjectxyperm 2, 13, 14
- setobjectmovementtype 2, 8
+ setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN
return
OldaleTown_EventScript_1E8EEA:: @ 81E8EEA
diff --git a/data/maps/PetalburgCity/header.inc b/data/maps/PetalburgCity/header.inc
index 6a4f82bfa..5cf3cc6e1 100644
--- a/data/maps/PetalburgCity/header.inc
+++ b/data/maps/PetalburgCity/header.inc
@@ -1,7 +1,7 @@
PetalburgCity: @ 84824B8
.4byte PetalburgCity_Layout
.4byte PetalburgCity_MapEvents
- .4byte gStdScripts_End
+ .4byte PetalburgCity_MapScripts
.4byte PetalburgCity_MapConnections
.2byte MUS_MACHI_S2
.2byte 1
diff --git a/data/maps/PetalburgCity/scripts.inc b/data/maps/PetalburgCity/scripts.inc
index 137731ae2..f69eb3a3a 100644
--- a/data/maps/PetalburgCity/scripts.inc
+++ b/data/maps/PetalburgCity/scripts.inc
@@ -1,3 +1,8 @@
+PetalburgCity_MapScripts::
+ map_script 3, PetalburgCity_MapScript1_1DC2D7
+ map_script 2, PetalburgCity_MapScript2_1DC31C
+ .byte 0
+
PetalburgCity_MapScript1_1DC2D7: @ 81DC2D7
setflag FLAG_VISITED_PETALBURG_CITY
compare VAR_0x4057, 0
diff --git a/data/maps/Route104_MrBrineysHouse/scripts.inc b/data/maps/Route104_MrBrineysHouse/scripts.inc
index ba1afc428..17ed47206 100644
--- a/data/maps/Route104_MrBrineysHouse/scripts.inc
+++ b/data/maps/Route104_MrBrineysHouse/scripts.inc
@@ -15,9 +15,9 @@ Route104_MrBrineysHouse_EventScript_229D4C:: @ 8229D4C
Route104_MrBrineysHouse_EventScript_229D50:: @ 8229D50
setobjectxyperm 1, 9, 3
- setobjectmovementtype 1, 50
+ setobjectmovementtype 1, MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT
setobjectxyperm 2, 9, 6
- setobjectmovementtype 2, 51
+ setobjectmovementtype 2, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN
return
Route104_MrBrineysHouse_EventScript_229D67:: @ 8229D67
diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc
index 0455ebb1f..7c98cc603 100644
--- a/data/maps/Route110/scripts.inc
+++ b/data/maps/Route110/scripts.inc
@@ -484,8 +484,8 @@ Route110_EventScript_1EF8EC:: @ 81EF8EC
call_if_eq Route110_EventScript_1EF998
compare VAR_0x8008, 3
call_if_eq Route110_EventScript_1EF9A0
- setobjectmovementtype 28, 10
- setobjectmovementtype 29, 10
+ setobjectmovementtype 28, MOVEMENT_TYPE_FACE_RIGHT
+ setobjectmovementtype 29, MOVEMENT_TYPE_FACE_RIGHT
removeobject 28
addobject 29
delay 45
diff --git a/data/maps/Route112_CableCarStation/scripts.inc b/data/maps/Route112_CableCarStation/scripts.inc
index 037d7ca05..a430a497e 100644
--- a/data/maps/Route112_CableCarStation/scripts.inc
+++ b/data/maps/Route112_CableCarStation/scripts.inc
@@ -11,7 +11,7 @@ Route112_CableCarStation_MapScript1_22AAC9: @ 822AAC9
Route112_CableCarStation_EventScript_22AADD:: @ 822AADD
setobjectxyperm 1, 7, 4
- setobjectmovementtype 1, 9
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_LEFT
return
Route112_CableCarStation_MapScript2_22AAE9: @ 822AAE9
@@ -25,7 +25,7 @@ Route112_CableCarStation_EventScript_22AAF3:: @ 822AAF3
waitmovement 0
setvar VAR_0x40A3, 0
setobjectxyperm 1, 6, 7
- setobjectmovementtype 1, 8
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
releaseall
end
diff --git a/data/maps/Route114_FossilManiacsTunnel/scripts.inc b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
index b98fd3321..96d591d2d 100644
--- a/data/maps/Route114_FossilManiacsTunnel/scripts.inc
+++ b/data/maps/Route114_FossilManiacsTunnel/scripts.inc
@@ -9,7 +9,7 @@ Route114_FossilManiacsTunnel_MapScript1_22AF33: @ 822AF33
Route114_FossilManiacsTunnel_EventScript_22AF3D:: @ 822AF3D
setobjectxyperm 1, 6, 5
- setobjectmovementtype 1, 8
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
return
Route114_FossilManiacsTunnel_MapScript1_22AF49: @ 822AF49
diff --git a/data/maps/Route119_WeatherInstitute_1F/scripts.inc b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
index 8dada27e8..ae0fea259 100644
--- a/data/maps/Route119_WeatherInstitute_1F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_1F/scripts.inc
@@ -9,7 +9,7 @@ Route119_WeatherInstitute_1F_MapScript1_26FA8C: @ 826FA8C
Route119_WeatherInstitute_1F_EventScript_26FA98:: @ 826FA98
setobjectxyperm 5, 0, 5
- setobjectmovementtype 5, 10
+ setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
return
Route119_WeatherInstitute_1F_EventScript_26FAA4:: @ 826FAA4
diff --git a/data/maps/Route119_WeatherInstitute_2F/scripts.inc b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
index e7d2cb03d..bbee65df8 100644
--- a/data/maps/Route119_WeatherInstitute_2F/scripts.inc
+++ b/data/maps/Route119_WeatherInstitute_2F/scripts.inc
@@ -12,17 +12,17 @@ Route119_WeatherInstitute_2F_MapScript1_26FF24: @ 826FF24
Route119_WeatherInstitute_2F_EventScript_26FF44:: @ 826FF44
setobjectxyperm 5, 1, 6
- setobjectmovementtype 5, 10
+ setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
return
Route119_WeatherInstitute_2F_EventScript_26FF50:: @ 826FF50
setobjectxyperm 5, 4, 6
- setobjectmovementtype 5, 10
+ setobjectmovementtype 5, MOVEMENT_TYPE_FACE_RIGHT
return
Route119_WeatherInstitute_2F_EventScript_26FF5C:: @ 826FF5C
setobjectxyperm 5, 2, 2
- setobjectmovementtype 5, 7
+ setobjectmovementtype 5, MOVEMENT_TYPE_FACE_UP
return
Route119_WeatherInstitute_2F_EventScript_26FF68:: @ 826FF68
diff --git a/data/maps/Route120/scripts.inc b/data/maps/Route120/scripts.inc
index 5a601678d..cd864e1dc 100644
--- a/data/maps/Route120/scripts.inc
+++ b/data/maps/Route120/scripts.inc
@@ -57,7 +57,7 @@ Route120_EventScript_1F54A3:: @ 81F54A3
return
Route120_EventScript_1F54C8:: @ 81F54C8
- setobjectmovementtype 36, 10
+ setobjectmovementtype 36, MOVEMENT_TYPE_FACE_RIGHT
return
Route120_MapScript1_1F54CD: @ 81F54CD
diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc
index 7c1e14118..8ffbf8373 100644
--- a/data/maps/RustboroCity/scripts.inc
+++ b/data/maps/RustboroCity/scripts.inc
@@ -245,7 +245,7 @@ RustboroCity_EventScript_1E094E:: @ 81E094E
RustboroCity_EventScript_1E095A:: @ 81E095A
lockall
setobjectxyperm 9, 14, 21
- setobjectmovementtype 9, 10
+ setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 0
goto RustboroCity_EventScript_1E09CD
end
@@ -253,7 +253,7 @@ RustboroCity_EventScript_1E095A:: @ 81E095A
RustboroCity_EventScript_1E0971:: @ 81E0971
lockall
setobjectxyperm 9, 14, 21
- setobjectmovementtype 9, 10
+ setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 1
goto RustboroCity_EventScript_1E09CD
end
@@ -261,7 +261,7 @@ RustboroCity_EventScript_1E0971:: @ 81E0971
RustboroCity_EventScript_1E0988:: @ 81E0988
lockall
setobjectxyperm 9, 14, 21
- setobjectmovementtype 9, 10
+ setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 2
goto RustboroCity_EventScript_1E09CD
end
@@ -269,7 +269,7 @@ RustboroCity_EventScript_1E0988:: @ 81E0988
RustboroCity_EventScript_1E099F:: @ 81E099F
lockall
setobjectxyperm 9, 14, 21
- setobjectmovementtype 9, 10
+ setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 3
goto RustboroCity_EventScript_1E09CD
end
@@ -277,7 +277,7 @@ RustboroCity_EventScript_1E099F:: @ 81E099F
RustboroCity_EventScript_1E09B6:: @ 81E09B6
lockall
setobjectxyperm 9, 14, 21
- setobjectmovementtype 9, 10
+ setobjectmovementtype 9, MOVEMENT_TYPE_FACE_RIGHT
setvar VAR_0x8004, 4
goto RustboroCity_EventScript_1E09CD
end
diff --git a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
index 157947c2d..a7a84335b 100644
--- a/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_1F/scripts.inc
@@ -8,7 +8,7 @@ RustboroCity_DevonCorp_1F_MapScript1_21124B: @ 821124B
RustboroCity_DevonCorp_1F_EventScript_211255:: @ 8211255
setobjectxyperm 2, 14, 2
- setobjectmovementtype 2, 8
+ setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN
return
RustboroCity_DevonCorp_1F_EventScript_211261:: @ 8211261
diff --git a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
index da78ccb4b..9d5fbe58b 100644
--- a/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
+++ b/data/maps/RustboroCity_DevonCorp_3F/scripts.inc
@@ -11,7 +11,7 @@ RustboroCity_DevonCorp_3F_MapScript1_21243D: @ 821243D
RustboroCity_DevonCorp_3F_EventScript_212449:: @ 8212449
setobjectxyperm 2, 3, 2
- setobjectmovementtype 2, 9
+ setobjectmovementtype 2, MOVEMENT_TYPE_FACE_LEFT
return
RustboroCity_DevonCorp_3F_MapScript2_212455: @ 8212455
diff --git a/data/maps/RustboroCity_House2/header.inc b/data/maps/RustboroCity_House2/header.inc
index 1de4f0e36..d842f2e79 100644
--- a/data/maps/RustboroCity_House2/header.inc
+++ b/data/maps/RustboroCity_House2/header.inc
@@ -1,5 +1,5 @@
RustboroCity_House2: @ 8483494
- .4byte RustboroCity_House_Layouts
+ .4byte RustboroCity_House_Layout
.4byte RustboroCity_House2_MapEvents
.4byte RustboroCity_House2_MapScripts
.4byte 0x0
diff --git a/data/maps/RustboroCity_House3/header.inc b/data/maps/RustboroCity_House3/header.inc
index c1a0312e3..7f057cf15 100644
--- a/data/maps/RustboroCity_House3/header.inc
+++ b/data/maps/RustboroCity_House3/header.inc
@@ -1,5 +1,5 @@
RustboroCity_House3: @ 8483504
- .4byte RustboroCity_House_Layouts
+ .4byte RustboroCity_House_Layout
.4byte RustboroCity_House3_MapEvents
.4byte RustboroCity_House3_MapScripts
.4byte 0x0
diff --git a/data/maps/SkyPillar_Top/scripts.inc b/data/maps/SkyPillar_Top/scripts.inc
index c0bc2e4c1..c091991a3 100644
--- a/data/maps/SkyPillar_Top/scripts.inc
+++ b/data/maps/SkyPillar_Top/scripts.inc
@@ -24,7 +24,7 @@ SkyPillar_Top_MapScript1_2396E6: @ 82396E6
SkyPillar_Top_EventScript_2396FD:: @ 82396FD
setmaplayoutindex 438
- setobjectmovementtype 1, 8
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
return
SkyPillar_Top_EventScript_239705:: @ 8239705
diff --git a/data/maps/SlateportCity/scripts.inc b/data/maps/SlateportCity/scripts.inc
index 7b19c84b8..2e7859fba 100644
--- a/data/maps/SlateportCity/scripts.inc
+++ b/data/maps/SlateportCity/scripts.inc
@@ -26,13 +26,13 @@ SlateportCity_EventScript_1DCC99:: @ 81DCC99
setobjectxyperm 8, 28, 16
setobjectxyperm 1, 29, 16
setobjectxyperm 2, 31, 14
- setobjectmovementtype 11, 8
- setobjectmovementtype 7, 18
- setobjectmovementtype 3, 16
- setobjectmovementtype 6, 7
- setobjectmovementtype 8, 7
- setobjectmovementtype 1, 7
- setobjectmovementtype 2, 9
+ setobjectmovementtype 11, MOVEMENT_TYPE_FACE_DOWN
+ setobjectmovementtype 7, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT
+ setobjectmovementtype 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT
+ setobjectmovementtype 6, MOVEMENT_TYPE_FACE_UP
+ setobjectmovementtype 8, MOVEMENT_TYPE_FACE_UP
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_UP
+ setobjectmovementtype 2, MOVEMENT_TYPE_FACE_LEFT
return
SlateportCity_EventScript_1DCCE7:: @ 81DCCE7
@@ -41,12 +41,12 @@ SlateportCity_EventScript_1DCCE7:: @ 81DCCE7
compare VAR_0x8004, 30
goto_if_eq SlateportCity_EventScript_1DCD06
setobjectxyperm 35, 23, 27
- setobjectmovementtype 35, 10
+ setobjectmovementtype 35, MOVEMENT_TYPE_FACE_RIGHT
return
SlateportCity_EventScript_1DCD06:: @ 81DCD06
setobjectxyperm 35, 22, 27
- setobjectmovementtype 35, 10
+ setobjectmovementtype 35, MOVEMENT_TYPE_FACE_RIGHT
return
SlateportCity_MapScript2_1DCD12: @ 81DCD12
@@ -82,7 +82,7 @@ SlateportCity_EventScript_1DCD1C:: @ 81DCD1C
waitmovement 0
removeobject 35
setobjectxyperm 35, 10, 12
- setobjectmovementtype 35, 8
+ setobjectmovementtype 35, MOVEMENT_TYPE_FACE_DOWN
clearflag FLAG_SPECIAL_FLAG_0x4000
setvar VAR_0x40D2, 2
addvar VAR_0x40D1, 1
diff --git a/data/maps/SlateportCity_Harbor/scripts.inc b/data/maps/SlateportCity_Harbor/scripts.inc
index 2f71a2dc9..24e139edf 100644
--- a/data/maps/SlateportCity_Harbor/scripts.inc
+++ b/data/maps/SlateportCity_Harbor/scripts.inc
@@ -17,7 +17,7 @@ SlateportCity_Harbor_EventScript_20C9A5:: @ 820C9A5
SlateportCity_Harbor_EventScript_20C9A9:: @ 820C9A9
savebgm MUS_AQA_0
setobjectxyperm 4, 12, 13
- setobjectmovementtype 4, 9
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_LEFT
setflag FLAG_HIDE_SLATEPORT_CITY_HARBOR_PATRONS
return
@@ -78,7 +78,7 @@ SlateportCity_Harbor_EventScript_20C9F5:: @ 820C9F5
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE
setflag FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE
moveobjectoffscreen 4
- setobjectmovementtype 4, 10
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_RIGHT
releaseall
end
diff --git a/data/maps/SootopolisCity/scripts.inc b/data/maps/SootopolisCity/scripts.inc
index da5caab3f..a116aeb56 100644
--- a/data/maps/SootopolisCity/scripts.inc
+++ b/data/maps/SootopolisCity/scripts.inc
@@ -70,10 +70,10 @@ SootopolisCity_EventScript_1E5785:: @ 81E5785
setobjectxyperm 5, 46, 32
setobjectxyperm 4, 48, 41
setobjectxyperm 8, 45, 43
- setobjectmovementtype 3, 7
- setobjectmovementtype 5, 9
- setobjectmovementtype 4, 9
- setobjectmovementtype 8, 9
+ setobjectmovementtype 3, MOVEMENT_TYPE_FACE_UP
+ setobjectmovementtype 5, MOVEMENT_TYPE_FACE_LEFT
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_LEFT
+ setobjectmovementtype 8, MOVEMENT_TYPE_FACE_LEFT
return
SootopolisCity_EventScript_1E57B2:: @ 81E57B2
@@ -150,17 +150,17 @@ SootopolisCity_EventScript_1E5871:: @ 81E5871
SootopolisCity_EventScript_1E58AF:: @ 81E58AF
setobjectxyperm 18, 31, 33
- setobjectmovementtype 18, 8
+ setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN
return
SootopolisCity_EventScript_1E58BB:: @ 81E58BB
setobjectxyperm 18, 32, 33
- setobjectmovementtype 18, 8
+ setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN
return
SootopolisCity_EventScript_1E58C7:: @ 81E58C7
setobjectxyperm 18, 30, 33
- setobjectmovementtype 18, 8
+ setobjectmovementtype 18, MOVEMENT_TYPE_FACE_DOWN
return
SootopolisCity_EventScript_1E58D3:: @ 81E58D3
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
index 18b573fbd..0493cb05f 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
@@ -15,13 +15,13 @@ SootopolisCity_MysteryEventsHouse_1F_MapScript1_22795E: @ 822795E
SootopolisCity_MysteryEventsHouse_1F_EventScript_22797D:: @ 822797D
setvar VAR_TEMP_1, 1
setobjectxyperm 1, 3, 2
- setobjectmovementtype 1, 8
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_DOWN
setmaplayoutindex 441
return
SootopolisCity_MysteryEventsHouse_1F_EventScript_227991:: @ 8227991
setobjectxyperm 1, 2, 2
- setobjectmovementtype 1, 10
+ setobjectmovementtype 1, MOVEMENT_TYPE_FACE_RIGHT
return
SootopolisCity_MysteryEventsHouse_1F_MapScript2_22799D: @ 822799D
diff --git a/data/maps/UnknownMap_25_29/events.inc b/data/maps/UnknownMap_25_29/events.inc
index 13ea1b8b9..8b1378917 100644
--- a/data/maps/UnknownMap_25_29/events.inc
+++ b/data/maps/UnknownMap_25_29/events.inc
@@ -1 +1 @@
-UnknownMap_25_29_MapEvents:: @ 853A064
+
diff --git a/data/maps/UnknownMap_25_29/header.inc b/data/maps/UnknownMap_25_29/header.inc
index a3777fd80..aa4ffc0cd 100644
--- a/data/maps/UnknownMap_25_29/header.inc
+++ b/data/maps/UnknownMap_25_29/header.inc
@@ -1,7 +1,7 @@
UnknownMap_25_29: @ 8484DBC
.4byte UnknownMap_25_29_Layout
- .4byte UnknownMap_25_29_MapEvents
- .4byte UnknownMap_25_29_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_NIBI
.2byte 226
diff --git a/data/maps/UnknownMap_25_29/scripts.inc b/data/maps/UnknownMap_25_29/scripts.inc
index 575e7a898..8b1378917 100644
--- a/data/maps/UnknownMap_25_29/scripts.inc
+++ b/data/maps/UnknownMap_25_29/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_29_MapScripts:: @ 823B781
+
diff --git a/data/maps/UnknownMap_25_30/events.inc b/data/maps/UnknownMap_25_30/events.inc
index 0e221e240..8b1378917 100644
--- a/data/maps/UnknownMap_25_30/events.inc
+++ b/data/maps/UnknownMap_25_30/events.inc
@@ -1 +1 @@
-UnknownMap_25_30_MapEvents:: @ 853A064
+
diff --git a/data/maps/UnknownMap_25_30/header.inc b/data/maps/UnknownMap_25_30/header.inc
index a4184b85d..86e2d4f70 100644
--- a/data/maps/UnknownMap_25_30/header.inc
+++ b/data/maps/UnknownMap_25_30/header.inc
@@ -1,7 +1,7 @@
UnknownMap_25_30: @ 8484DD8
.4byte UnknownMap_25_30_Layout
- .4byte UnknownMap_25_30_MapEvents
- .4byte UnknownMap_25_30_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_NIBI
.2byte 227
diff --git a/data/maps/UnknownMap_25_30/scripts.inc b/data/maps/UnknownMap_25_30/scripts.inc
index dbc73166d..8b1378917 100644
--- a/data/maps/UnknownMap_25_30/scripts.inc
+++ b/data/maps/UnknownMap_25_30/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_30_MapScripts:: @ 823B781
+
diff --git a/data/maps/UnknownMap_25_31/events.inc b/data/maps/UnknownMap_25_31/events.inc
index 99e450de5..8b1378917 100644
--- a/data/maps/UnknownMap_25_31/events.inc
+++ b/data/maps/UnknownMap_25_31/events.inc
@@ -1 +1 @@
-UnknownMap_25_31_MapEvents:: @ 853A064
+
diff --git a/data/maps/UnknownMap_25_31/header.inc b/data/maps/UnknownMap_25_31/header.inc
index ec4838bd5..78ede2d65 100644
--- a/data/maps/UnknownMap_25_31/header.inc
+++ b/data/maps/UnknownMap_25_31/header.inc
@@ -1,7 +1,7 @@
UnknownMap_25_31: @ 8484DF4
.4byte UnknownMap_25_31_Layout
- .4byte UnknownMap_25_31_MapEvents
- .4byte UnknownMap_25_31_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_NIBI
.2byte 228
diff --git a/data/maps/UnknownMap_25_31/scripts.inc b/data/maps/UnknownMap_25_31/scripts.inc
index cacda4d1f..8b1378917 100644
--- a/data/maps/UnknownMap_25_31/scripts.inc
+++ b/data/maps/UnknownMap_25_31/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_31_MapScripts:: @ 823B781
+
diff --git a/data/maps/UnknownMap_25_32/events.inc b/data/maps/UnknownMap_25_32/events.inc
index c48eedb17..8b1378917 100644
--- a/data/maps/UnknownMap_25_32/events.inc
+++ b/data/maps/UnknownMap_25_32/events.inc
@@ -1 +1 @@
-UnknownMap_25_32_MapEvents:: @ 853A064
+
diff --git a/data/maps/UnknownMap_25_32/header.inc b/data/maps/UnknownMap_25_32/header.inc
index 39e982093..826528119 100644
--- a/data/maps/UnknownMap_25_32/header.inc
+++ b/data/maps/UnknownMap_25_32/header.inc
@@ -1,7 +1,7 @@
UnknownMap_25_32: @ 8484E10
.4byte UnknownMap_25_32_Layout
- .4byte UnknownMap_25_32_MapEvents
- .4byte UnknownMap_25_32_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_NIBI
.2byte 229
diff --git a/data/maps/UnknownMap_25_32/scripts.inc b/data/maps/UnknownMap_25_32/scripts.inc
index e34f454e7..8b1378917 100644
--- a/data/maps/UnknownMap_25_32/scripts.inc
+++ b/data/maps/UnknownMap_25_32/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_32_MapScripts:: @ 823B781
+
diff --git a/data/maps/UnknownMap_25_33/events.inc b/data/maps/UnknownMap_25_33/events.inc
index 14f4571d2..8b1378917 100644
--- a/data/maps/UnknownMap_25_33/events.inc
+++ b/data/maps/UnknownMap_25_33/events.inc
@@ -1 +1 @@
-UnknownMap_25_33_MapEvents:: @ 853A064
+
diff --git a/data/maps/UnknownMap_25_33/header.inc b/data/maps/UnknownMap_25_33/header.inc
index 87f8b0c1e..99502bb0f 100644
--- a/data/maps/UnknownMap_25_33/header.inc
+++ b/data/maps/UnknownMap_25_33/header.inc
@@ -1,7 +1,7 @@
UnknownMap_25_33: @ 8484E2C
.4byte UnknownMap_25_33_Layout
- .4byte UnknownMap_25_33_MapEvents
- .4byte UnknownMap_25_33_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_NIBI
.2byte 230
diff --git a/data/maps/UnknownMap_25_33/scripts.inc b/data/maps/UnknownMap_25_33/scripts.inc
index 086d2d32c..8b1378917 100644
--- a/data/maps/UnknownMap_25_33/scripts.inc
+++ b/data/maps/UnknownMap_25_33/scripts.inc
@@ -1 +1 @@
-UnknownMap_25_33_MapScripts:: @ 823B781
+
diff --git a/data/maps/UnknownMap_25_34/events.inc b/data/maps/UnknownMap_25_34/events.inc
index 975f08470..8b1378917 100644
--- a/data/maps/UnknownMap_25_34/events.inc
+++ b/data/maps/UnknownMap_25_34/events.inc
@@ -1,3 +1 @@
-UnknownMap_25_34_MapEvents:: @ 853A064
- map_events LinkContestRoom1_EventObjects, 0x0, 0x0, 0x0
diff --git a/data/maps/UnknownMap_25_34/header.inc b/data/maps/UnknownMap_25_34/header.inc
index c053c5e19..6e95a8222 100644
--- a/data/maps/UnknownMap_25_34/header.inc
+++ b/data/maps/UnknownMap_25_34/header.inc
@@ -1,7 +1,7 @@
UnknownMap_25_34: @ 8484E48
.4byte UnknownMap_25_34_Layout
- .4byte UnknownMap_25_34_MapEvents
- .4byte UnknownMap_25_34_MapScripts
+ .4byte LinkContestRoom1_MapEvents
+ .4byte LinkContestRoom1_MapScripts
.4byte 0x0
.2byte MUS_NIBI
.2byte 231
diff --git a/data/maps/UnknownMap_25_34/scripts.inc b/data/maps/UnknownMap_25_34/scripts.inc
index fe88972df..8b1378917 100644
--- a/data/maps/UnknownMap_25_34/scripts.inc
+++ b/data/maps/UnknownMap_25_34/scripts.inc
@@ -1,458 +1 @@
-UnknownMap_25_34_MapScripts:: @ 823B781
- map_script 4, LinkContestRoom1_MapScript2_23B81F
- map_script 2, LinkContestRoom1_MapScript2_23B815
- map_script 3, LinkContestRoom1_MapScript1_23B79F
- map_script 5, LinkContestRoom1_MapScript1_23B803
- map_script 7, LinkContestRoom1_MapScript1_23B79B
- .byte 0
-
-LinkContestRoom1_MapScript1_23B79B: @ 823B79B
- special sub_80F8B94
- end
-
-LinkContestRoom1_MapScript1_23B79F: @ 823B79F
- call LinkContestRoom1_EventScript_23B7AF
- setvar VAR_TEMP_0, 1
- call LinkContestRoom1_EventScript_23B842
- end
-
-LinkContestRoom1_EventScript_23B7AF:: @ 823B7AF
- call LinkContestRoom1_EventScript_27A133
- special ScriptGetMultiplayerId
- compare VAR_RESULT, 0
- call_if_eq LinkContestRoom1_EventScript_23B7EF
- compare VAR_RESULT, 1
- call_if_eq LinkContestRoom1_EventScript_23B7F3
- compare VAR_RESULT, 2
- call_if_eq LinkContestRoom1_EventScript_23B7F7
- compare VAR_RESULT, 3
- call_if_eq LinkContestRoom1_EventScript_23B7FB
- compare VAR_RESULT, 4
- call_if_eq LinkContestRoom1_EventScript_23B7FF
- return
-
-LinkContestRoom1_EventScript_23B7EF:: @ 823B7EF
- savebgm MUS_TEST1
- return
-
-LinkContestRoom1_EventScript_23B7F3:: @ 823B7F3
- savebgm MUS_TEST2
- return
-
-LinkContestRoom1_EventScript_23B7F7:: @ 823B7F7
- savebgm MUS_TEST3
- return
-
-LinkContestRoom1_EventScript_23B7FB:: @ 823B7FB
- savebgm MUS_TEST4
- return
-
-LinkContestRoom1_EventScript_23B7FF:: @ 823B7FF
- savebgm MUS_CONTEST0
- return
-
-LinkContestRoom1_MapScript1_23B803: @ 823B803
- compare VAR_TEMP_9, 1
- call_if_eq LinkContestRoom1_EventScript_23B80F
- end
-
-LinkContestRoom1_EventScript_23B80F:: @ 823B80F
- call LinkContestRoom1_EventScript_23BB2B
- return
-
-LinkContestRoom1_MapScript2_23B815: @ 823B815
- map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B829
- .2byte 0
-
-LinkContestRoom1_MapScript2_23B81F: @ 823B81F
- map_script_2 VAR_0x4086, 1, LinkContestRoom1_EventScript_23B834
- .2byte 0
-
-LinkContestRoom1_EventScript_23B829:: @ 823B829
- call LinkContestRoom1_EventScript_279F97
- call LinkContestRoom1_EventScript_23BE44
- end
-
-LinkContestRoom1_EventScript_23B834:: @ 823B834
- special sub_80F8B94
- hideobjectat EVENT_OBJ_ID_PLAYER, MAP_LITTLEROOT_TOWN
- call LinkContestRoom1_EventScript_23BB2B
- end
-
-LinkContestRoom1_EventScript_23B842:: @ 823B842
- call LinkContestRoom1_EventScript_23B8F8
- call LinkContestRoom1_EventScript_23B858
- compare VAR_TEMP_0, 8
- goto_if_lt LinkContestRoom1_EventScript_23B842
- return
-
-LinkContestRoom1_EventScript_23B858:: @ 823B858
- switch VAR_TEMP_0
- case 1, LinkContestRoom1_EventScript_23B8AB
- case 2, LinkContestRoom1_EventScript_23B8B6
- case 3, LinkContestRoom1_EventScript_23B8C1
- case 4, LinkContestRoom1_EventScript_23B8CC
- case 5, LinkContestRoom1_EventScript_23B8D7
- case 6, LinkContestRoom1_EventScript_23B8E2
- case 7, LinkContestRoom1_EventScript_23B8ED
- end
-
-LinkContestRoom1_EventScript_23B8AB:: @ 823B8AB
- copyvar VAR_OBJ_GFX_ID_4, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8B6:: @ 823B8B6
- copyvar VAR_OBJ_GFX_ID_5, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8C1:: @ 823B8C1
- copyvar VAR_OBJ_GFX_ID_6, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8CC:: @ 823B8CC
- copyvar VAR_OBJ_GFX_ID_7, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8D7:: @ 823B8D7
- copyvar VAR_OBJ_GFX_ID_8, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8E2:: @ 823B8E2
- copyvar VAR_OBJ_GFX_ID_9, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8ED:: @ 823B8ED
- copyvar VAR_OBJ_GFX_ID_A, VAR_TEMP_1
- addvar VAR_TEMP_0, 1
- return
-
-LinkContestRoom1_EventScript_23B8F8:: @ 823B8F8
- setvar VAR_RESULT, 32
- special ScriptRandom
- addvar VAR_RESULT, 1
- switch VAR_RESULT
- case 1, LinkContestRoom1_EventScript_23BA6B
- case 2, LinkContestRoom1_EventScript_23BA71
- case 3, LinkContestRoom1_EventScript_23BA77
- case 4, LinkContestRoom1_EventScript_23BA7D
- case 5, LinkContestRoom1_EventScript_23BA83
- case 6, LinkContestRoom1_EventScript_23BA89
- case 7, LinkContestRoom1_EventScript_23BA8F
- case 8, LinkContestRoom1_EventScript_23BA95
- case 9, LinkContestRoom1_EventScript_23BA9B
- case 10, LinkContestRoom1_EventScript_23BAA1
- case 11, LinkContestRoom1_EventScript_23BAA7
- case 12, LinkContestRoom1_EventScript_23BAAD
- case 13, LinkContestRoom1_EventScript_23BAB3
- case 14, LinkContestRoom1_EventScript_23BAB9
- case 15, LinkContestRoom1_EventScript_23BABF
- case 16, LinkContestRoom1_EventScript_23BAC5
- case 17, LinkContestRoom1_EventScript_23BACB
- case 18, LinkContestRoom1_EventScript_23BAD1
- case 19, LinkContestRoom1_EventScript_23BAD7
- case 20, LinkContestRoom1_EventScript_23BADD
- case 21, LinkContestRoom1_EventScript_23BAE3
- case 22, LinkContestRoom1_EventScript_23BAE9
- case 23, LinkContestRoom1_EventScript_23BAEF
- case 24, LinkContestRoom1_EventScript_23BAF5
- case 25, LinkContestRoom1_EventScript_23BAFB
- case 26, LinkContestRoom1_EventScript_23BB01
- case 27, LinkContestRoom1_EventScript_23BB07
- case 28, LinkContestRoom1_EventScript_23BB0D
- case 29, LinkContestRoom1_EventScript_23BB13
- case 30, LinkContestRoom1_EventScript_23BB19
- case 31, LinkContestRoom1_EventScript_23BB1F
- case 32, LinkContestRoom1_EventScript_23BB25
- end
-
-LinkContestRoom1_EventScript_23BA6B:: @ 823BA6B
- setvar VAR_TEMP_1, 5
- return
-
-LinkContestRoom1_EventScript_23BA71:: @ 823BA71
- setvar VAR_TEMP_1, 6
- return
-
-LinkContestRoom1_EventScript_23BA77:: @ 823BA77
- setvar VAR_TEMP_1, 7
- return
-
-LinkContestRoom1_EventScript_23BA7D:: @ 823BA7D
- setvar VAR_TEMP_1, 8
- return
-
-LinkContestRoom1_EventScript_23BA83:: @ 823BA83
- setvar VAR_TEMP_1, 10
- return
-
-LinkContestRoom1_EventScript_23BA89:: @ 823BA89
- setvar VAR_TEMP_1, 11
- return
-
-LinkContestRoom1_EventScript_23BA8F:: @ 823BA8F
- setvar VAR_TEMP_1, 12
- return
-
-LinkContestRoom1_EventScript_23BA95:: @ 823BA95
- setvar VAR_TEMP_1, 13
- return
-
-LinkContestRoom1_EventScript_23BA9B:: @ 823BA9B
- setvar VAR_TEMP_1, 14
- return
-
-LinkContestRoom1_EventScript_23BAA1:: @ 823BAA1
- setvar VAR_TEMP_1, 15
- return
-
-LinkContestRoom1_EventScript_23BAA7:: @ 823BAA7
- setvar VAR_TEMP_1, 17
- return
-
-LinkContestRoom1_EventScript_23BAAD:: @ 823BAAD
- setvar VAR_TEMP_1, 18
- return
-
-LinkContestRoom1_EventScript_23BAB3:: @ 823BAB3
- setvar VAR_TEMP_1, 19
- return
-
-LinkContestRoom1_EventScript_23BAB9:: @ 823BAB9
- setvar VAR_TEMP_1, 20
- return
-
-LinkContestRoom1_EventScript_23BABF:: @ 823BABF
- setvar VAR_TEMP_1, 21
- return
-
-LinkContestRoom1_EventScript_23BAC5:: @ 823BAC5
- setvar VAR_TEMP_1, 22
- return
-
-LinkContestRoom1_EventScript_23BACB:: @ 823BACB
- setvar VAR_TEMP_1, 25
- return
-
-LinkContestRoom1_EventScript_23BAD1:: @ 823BAD1
- setvar VAR_TEMP_1, 26
- return
-
-LinkContestRoom1_EventScript_23BAD7:: @ 823BAD7
- setvar VAR_TEMP_1, 27
- return
-
-LinkContestRoom1_EventScript_23BADD:: @ 823BADD
- setvar VAR_TEMP_1, 47
- return
-
-LinkContestRoom1_EventScript_23BAE3:: @ 823BAE3
- setvar VAR_TEMP_1, 30
- return
-
-LinkContestRoom1_EventScript_23BAE9:: @ 823BAE9
- setvar VAR_TEMP_1, 31
- return
-
-LinkContestRoom1_EventScript_23BAEF:: @ 823BAEF
- setvar VAR_TEMP_1, 32
- return
-
-LinkContestRoom1_EventScript_23BAF5:: @ 823BAF5
- setvar VAR_TEMP_1, 33
- return
-
-LinkContestRoom1_EventScript_23BAFB:: @ 823BAFB
- setvar VAR_TEMP_1, 34
- return
-
-LinkContestRoom1_EventScript_23BB01:: @ 823BB01
- setvar VAR_TEMP_1, 35
- return
-
-LinkContestRoom1_EventScript_23BB07:: @ 823BB07
- setvar VAR_TEMP_1, 36
- return
-
-LinkContestRoom1_EventScript_23BB0D:: @ 823BB0D
- setvar VAR_TEMP_1, 37
- return
-
-LinkContestRoom1_EventScript_23BB13:: @ 823BB13
- setvar VAR_TEMP_1, 38
- return
-
-LinkContestRoom1_EventScript_23BB19:: @ 823BB19
- setvar VAR_TEMP_1, 44
- return
-
-LinkContestRoom1_EventScript_23BB1F:: @ 823BB1F
- setvar VAR_TEMP_1, 45
- return
-
-LinkContestRoom1_EventScript_23BB25:: @ 823BB25
- setvar VAR_TEMP_1, 46
- return
-
-LinkContestRoom1_EventScript_23BB2B:: @ 823BB2B
- specialvar VAR_RESULT, sub_80F9160
- compare VAR_RESULT, 1
- goto_if_eq LinkContestRoom1_EventScript_23BD86
- switch VAR_0x4088
- case 1, LinkContestRoom1_EventScript_23BB78
- case 2, LinkContestRoom1_EventScript_23BB8B
- case 3, LinkContestRoom1_EventScript_23BBE6
- case 4, LinkContestRoom1_EventScript_23BC92
- case 5, LinkContestRoom1_EventScript_23BC92
- return
-
-LinkContestRoom1_EventScript_23BB78:: @ 823BB78
- createvobject 5, 20, 3, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- return
-
-LinkContestRoom1_EventScript_23BB8B:: @ 823BB8B
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 46, 3, 2, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 12, 13, 12, 8, 3, 3
- createvobject 47, 20, 3, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- return
-
-LinkContestRoom1_EventScript_23BBE6:: @ 823BBE6
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 48, 3, 2, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 45, 13, 12, 8, 3, 3
- createvobject 22, 20, 3, 2, 3, 1
- createvobject 23, 20, 6, 2, 3, 1
- createvobject 34, 20, 7, 2, 3, 1
- createvobject 46, 24, 8, 2, 3, 1
- createvobject 48, 24, 11, 2, 3, 1
- createvobject 11, 25, 3, 9, 3, 2
- createvobject 35, 26, 4, 9, 3, 2
- createvobject 17, 27, 5, 9, 3, 2
- createvobject 40, 28, 9, 9, 3, 2
- createvobject 38, 29, 10, 9, 3, 2
- createvobject 83, 30, 11, 9, 3, 2
- return
-
-LinkContestRoom1_EventScript_23BC92:: @ 823BC92
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 12, 3, 2, 8, 3, 4
- createvobject 39, 4, 1, 3, 3, 4
- createvobject 34, 6, 1, 5, 3, 4
- createvobject 26, 7, 1, 6, 3, 4
- createvobject 48, 9, 1, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 45, 13, 12, 8, 3, 3
- createvobject 50, 14, 13, 3, 3, 3
- createvobject 52, 15, 13, 4, 3, 3
- createvobject 65, 17, 13, 6, 3, 3
- createvobject 83, 18, 13, 7, 3, 3
- createvobject 116, 19, 13, 8, 3, 3
- createvobject 25, 20, 3, 2, 3, 1
- createvobject 31, 21, 6, 2, 3, 1
- createvobject 33, 22, 7, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- createvobject 49, 25, 3, 9, 3, 2
- createvobject 35, 26, 4, 9, 3, 2
- createvobject 48, 27, 5, 9, 3, 2
- createvobject 40, 28, 9, 9, 3, 2
- createvobject 38, 29, 10, 9, 3, 2
- createvobject 83, 30, 11, 9, 3, 2
- return
-
-LinkContestRoom1_EventScript_23BD86:: @ 823BD86
- createvobject 45, 0, 2, 3, 3, 4
- createvobject 66, 1, 2, 4, 3, 4
- createvobject 55, 2, 2, 7, 3, 4
- createvobject 12, 3, 2, 8, 3, 4
- createvobject 39, 4, 1, 3, 3, 4
- createvobject 34, 6, 1, 5, 3, 4
- createvobject 26, 7, 1, 6, 3, 4
- createvobject 48, 9, 1, 8, 3, 4
- createvobject 5, 10, 12, 3, 3, 3
- createvobject 20, 11, 12, 4, 3, 3
- createvobject 24, 12, 12, 7, 3, 3
- createvobject 45, 13, 12, 8, 3, 3
- createvobject 50, 14, 13, 3, 3, 3
- createvobject 52, 15, 13, 4, 3, 3
- createvobject 65, 17, 13, 6, 3, 3
- createvobject 83, 18, 13, 7, 3, 3
- createvobject 116, 19, 13, 8, 3, 3
- createvobject 25, 20, 3, 2, 3, 1
- createvobject 31, 21, 6, 2, 3, 1
- createvobject 33, 22, 7, 2, 3, 1
- createvobject 46, 24, 11, 2, 3, 1
- return
-
-LinkContestRoom1_EventScript_23BE44:: @ 823BE44
- special sub_80F9154
- switch VAR_0x4088
- case 1, LinkContestRoom1_EventScript_23BE84
- case 2, LinkContestRoom1_EventScript_23BE8E
- case 3, LinkContestRoom1_EventScript_23BE98
- case 4, LinkContestRoom1_EventScript_23BEA2
- case 5, LinkContestRoom1_EventScript_23BEAC
- return
-
-LinkContestRoom1_EventScript_23BE84:: @ 823BE84
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BE8E:: @ 823BE8E
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BE98:: @ 823BE98
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BEA2:: @ 823BEA2
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 14, 4
- waitstate
- end
-
-LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC
- warp MAP_LILYCOVE_CITY_CONTEST_LOBBY, 255, 15, 4
- waitstate
- end
-
-LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6
- checkplayergender
- compare VAR_RESULT, MALE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE
- compare VAR_RESULT, FEMALE
- goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4
- return
-
-LilycoveCity_ContestLobby_EventScript_23BECE:: @ 823BECE
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL
- return
-
-LilycoveCity_ContestLobby_EventScript_23BED4:: @ 823BED4
- setvar VAR_OBJ_GFX_ID_3, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL
- return
diff --git a/data/maps/VictoryRoad_1F/scripts.inc b/data/maps/VictoryRoad_1F/scripts.inc
index 20f36868e..2d1c63027 100644
--- a/data/maps/VictoryRoad_1F/scripts.inc
+++ b/data/maps/VictoryRoad_1F/scripts.inc
@@ -11,12 +11,12 @@ VictoryRoad_1F_MapScript1_235D80: @ 8235D80
VictoryRoad_1F_EventScript_235D97:: @ 8235D97
setobjectxyperm 4, 2, 24
- setobjectmovementtype 4, 8
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN
return
VictoryRoad_1F_EventScript_235DA3:: @ 8235DA3
setobjectxyperm 4, 3, 24
- setobjectmovementtype 4, 8
+ setobjectmovementtype 4, MOVEMENT_TYPE_FACE_DOWN
return
VictoryRoad_1F_EventScript_235DAF:: @ 8235DAF
diff --git a/data/text/contest_strings.inc b/data/text/contest_strings.inc
index 737e4b862..1406ba3cb 100644
--- a/data/text/contest_strings.inc
+++ b/data/text/contest_strings.inc
@@ -665,19 +665,19 @@ gText_0827E817:: @ 827E817
.string "{STR_VAR_1}'s\n"
.string "{STR_VAR_2} is ignored.{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}{PAUSE 0x0F}$"
-gText_0827E837:: @ 827E837
+gText_Contest_Shyness:: @ 827E837
.string "shyness$"
-gText_0827E83F:: @ 827E83F
+gText_Contest_Anxiety:: @ 827E83F
.string "anxiety$"
-gText_0827E847:: @ 827E847
+gText_Contest_Laziness:: @ 827E847
.string "laziness$"
-gText_0827E850:: @ 827E850
+gText_Contest_Hesitancy:: @ 827E850
.string "hesitancy$"
-gText_0827E85A:: @ 827E85A
+gText_Contest_Fear:: @ 827E85A
.string "fear$"
gText_0827E85F:: @ 827E85F
diff --git a/graphics/misc/sunny_day/0.pal b/graphics/misc/sunny_day/0.pal
deleted file mode 100644
index 54f6a9ac0..000000000
--- a/graphics/misc/sunny_day/0.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 8
-24 8 8
-41 8 8
-57 8 8
-74 8 8
-90 8 8
-106 8 8
-139 0 0
-156 0 0
-172 0 0
-189 0 0
-205 0 0
-222 0 0
-238 0 0
-255 0 0
-255 24 24
-8 24 8
-24 24 8
-41 24 8
-57 24 8
-74 24 8
-90 24 8
-106 24 8
-139 16 0
-156 16 0
-172 16 0
-189 16 0
-205 16 0
-222 16 0
-238 16 0
-255 16 0
-255 32 24
-8 41 8
-24 41 8
-41 41 8
-57 41 8
-74 41 8
-90 41 8
-106 41 8
-139 41 0
-156 41 0
-172 32 0
-189 32 0
-205 32 0
-222 32 0
-238 32 0
-255 32 0
-255 49 24
-8 57 8
-24 57 8
-41 57 8
-57 57 8
-74 57 8
-90 57 8
-106 57 8
-139 57 0
-156 57 0
-172 57 0
-189 49 0
-205 57 0
-222 57 0
-238 49 0
-255 49 0
-255 65 24
-8 74 8
-24 74 8
-41 74 8
-57 74 8
-74 74 8
-90 74 8
-106 74 8
-139 74 0
-156 74 0
-172 74 0
-189 74 0
-205 74 0
-222 65 0
-238 74 0
-255 74 0
-255 82 24
-8 90 8
-24 90 8
-41 90 8
-57 90 8
-74 90 8
-90 90 8
-106 90 8
-139 98 0
-156 98 0
-172 90 0
-189 90 0
-205 90 0
-222 90 0
-238 90 0
-255 90 0
-255 98 24
-8 106 8
-24 106 8
-41 106 8
-57 106 8
-74 106 8
-90 106 8
-106 106 8
-139 115 0
-156 115 0
-172 115 0
-189 106 0
-205 106 0
-222 115 0
-238 106 0
-255 106 0
-255 115 24
-0 139 0
-24 139 0
-41 139 0
-57 139 0
-82 139 0
-98 139 0
-115 139 0
-139 139 0
-156 131 0
-172 131 0
-189 131 0
-205 123 0
-222 123 0
-238 131 0
-255 131 0
-255 131 24
-0 156 0
-24 156 0
-41 156 0
-57 156 0
-74 156 0
-98 156 0
-115 156 0
-139 156 0
-156 156 0
-172 148 0
-189 148 0
-205 148 0
-222 148 0
-238 148 0
-255 148 0
-255 148 24
-0 172 0
-16 172 0
-41 172 0
-57 172 0
-74 172 0
-98 172 0
-115 172 0
-131 172 0
-156 172 0
-172 172 0
-189 164 0
-205 164 0
-222 164 0
-238 164 0
-255 164 0
-255 164 24
-0 189 0
-16 189 0
-41 189 0
-57 189 0
-74 189 0
-90 189 0
-115 189 0
-131 189 0
-148 189 0
-172 189 0
-189 189 0
-205 189 0
-222 180 0
-238 180 0
-255 180 0
-255 180 24
-0 205 0
-16 205 0
-32 205 0
-57 205 0
-74 205 0
-98 205 0
-115 205 0
-131 205 0
-148 205 0
-172 205 0
-189 205 0
-205 205 0
-222 205 0
-238 197 0
-255 205 0
-255 189 24
-0 222 0
-16 222 0
-32 222 0
-57 222 0
-74 222 0
-90 222 0
-115 222 0
-131 222 0
-148 222 0
-164 222 0
-189 222 0
-205 222 0
-222 222 0
-238 222 0
-255 222 0
-255 205 24
-0 238 0
-16 238 0
-41 238 0
-57 238 0
-74 238 0
-90 238 0
-115 238 0
-131 238 0
-148 238 0
-172 238 0
-189 238 0
-205 238 0
-222 238 0
-238 238 0
-255 238 0
-255 222 24
-0 255 0
-16 255 0
-41 255 0
-57 255 0
-74 255 0
-90 255 0
-106 255 0
-131 255 0
-148 255 0
-164 255 0
-180 255 0
-205 255 0
-222 255 0
-238 255 0
-255 255 0
-255 238 24
-24 255 24
-41 255 24
-57 255 24
-74 255 24
-90 255 24
-106 255 24
-115 255 24
-131 255 24
-148 255 24
-164 255 24
-180 255 24
-197 255 24
-213 255 24
-230 255 24
-246 255 24
-255 255 24
diff --git a/graphics/misc/sunny_day/1.pal b/graphics/misc/sunny_day/1.pal
deleted file mode 100644
index 23fd665ef..000000000
--- a/graphics/misc/sunny_day/1.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 24
-24 8 24
-41 8 24
-57 8 24
-74 8 24
-90 8 24
-106 8 24
-139 0 24
-156 0 24
-172 0 16
-189 0 16
-205 0 16
-222 0 16
-238 0 16
-255 0 16
-255 24 41
-8 24 24
-24 24 24
-41 24 24
-57 24 24
-74 24 24
-90 24 24
-115 16 16
-131 16 16
-156 16 16
-172 16 16
-189 16 16
-205 16 16
-222 16 16
-238 16 16
-246 32 32
-255 41 41
-8 41 24
-24 41 24
-41 41 24
-57 41 24
-74 41 24
-90 41 24
-115 41 16
-131 41 16
-156 41 16
-172 32 16
-189 32 16
-205 32 16
-222 32 16
-238 32 16
-246 49 32
-255 57 41
-8 57 24
-24 57 24
-41 57 24
-57 57 24
-74 57 24
-90 57 24
-115 57 16
-131 57 16
-156 57 16
-172 57 16
-189 57 16
-205 49 16
-222 49 16
-238 49 16
-246 65 32
-255 74 41
-8 74 24
-24 74 24
-41 74 24
-57 74 24
-74 74 24
-90 74 24
-115 74 16
-131 74 16
-156 74 16
-172 74 16
-189 74 16
-205 65 16
-222 74 16
-238 74 16
-246 82 32
-255 82 41
-8 90 24
-24 90 24
-41 90 24
-57 90 24
-74 90 24
-90 90 24
-115 98 16
-131 98 16
-156 98 16
-172 90 16
-189 90 16
-205 90 16
-222 90 16
-238 90 16
-246 98 32
-255 106 41
-8 106 24
-16 115 16
-41 115 16
-57 115 16
-82 115 16
-98 115 16
-115 115 16
-131 115 16
-156 115 16
-172 115 16
-189 115 16
-205 115 16
-222 106 16
-238 106 16
-246 115 32
-255 115 41
-0 139 16
-16 131 16
-41 131 16
-57 131 16
-74 131 16
-98 131 16
-115 131 16
-131 131 16
-156 131 16
-172 131 16
-189 131 16
-205 123 16
-222 123 16
-238 131 16
-246 131 32
-255 131 41
-0 156 16
-16 156 16
-41 156 16
-57 156 16
-74 156 16
-98 156 16
-115 156 16
-131 156 16
-156 156 16
-172 148 16
-189 148 16
-205 148 16
-222 148 16
-238 139 16
-246 148 32
-255 148 41
-0 172 16
-16 172 16
-41 172 16
-57 172 16
-74 172 16
-90 172 16
-115 172 16
-131 172 16
-156 172 16
-172 172 16
-189 172 16
-205 164 16
-222 164 16
-238 164 16
-246 164 32
-255 164 41
-0 189 16
-16 189 16
-32 189 16
-57 189 16
-74 189 16
-90 189 16
-115 189 16
-131 189 16
-148 189 16
-172 189 16
-189 189 16
-205 180 16
-222 180 16
-238 180 16
-246 180 32
-255 180 41
-0 205 16
-16 205 16
-32 205 16
-57 205 16
-74 205 16
-90 205 16
-115 205 16
-131 205 16
-148 205 16
-172 205 16
-189 205 16
-205 205 16
-222 205 16
-238 197 16
-246 197 32
-255 197 41
-0 222 16
-16 222 16
-32 222 16
-57 222 16
-74 222 16
-90 222 16
-115 222 16
-131 222 16
-148 222 16
-172 222 16
-189 222 16
-205 222 16
-222 222 16
-238 222 16
-246 213 32
-255 213 41
-0 238 16
-16 238 16
-32 238 16
-57 238 16
-74 238 16
-90 238 16
-106 238 16
-131 238 16
-148 238 16
-164 238 16
-180 238 16
-205 238 16
-222 238 16
-238 238 16
-246 230 32
-255 230 41
-0 255 16
-32 246 32
-49 246 32
-65 246 32
-82 246 32
-98 246 32
-115 246 32
-131 246 32
-156 246 32
-164 246 32
-189 246 32
-197 246 32
-213 246 32
-238 246 32
-246 246 32
-255 238 41
-24 255 32
-41 255 41
-57 255 41
-74 255 41
-90 255 41
-106 255 41
-123 255 41
-139 255 41
-148 255 41
-164 255 41
-180 255 41
-197 255 41
-213 255 41
-230 255 41
-246 255 41
-255 255 41
diff --git a/graphics/misc/sunny_day/10.pal b/graphics/misc/sunny_day/10.pal
deleted file mode 100644
index cf290d63b..000000000
--- a/graphics/misc/sunny_day/10.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 189
-16 0 189
-32 0 189
-49 0 189
-74 0 189
-90 0 189
-106 0 189
-131 0 189
-148 0 189
-164 0 189
-189 0 189
-205 0 189
-222 0 189
-238 0 189
-255 0 180
-255 24 180
-0 16 189
-16 16 189
-32 16 189
-57 16 189
-74 16 189
-90 16 189
-115 16 189
-131 16 189
-148 16 189
-172 16 189
-189 16 189
-205 16 189
-222 16 189
-238 16 180
-246 32 189
-255 41 180
-0 41 189
-16 32 189
-32 32 189
-49 32 189
-74 32 189
-90 32 189
-115 32 189
-131 32 189
-148 32 189
-164 32 189
-189 32 189
-205 32 189
-222 32 180
-230 49 180
-246 49 180
-255 57 180
-0 57 189
-16 57 189
-32 57 189
-49 49 189
-74 49 189
-90 49 189
-106 49 189
-131 49 189
-148 49 189
-164 49 189
-189 49 189
-205 57 189
-213 65 180
-230 65 180
-246 65 180
-255 74 180
-0 74 189
-16 74 189
-32 74 189
-49 74 189
-74 74 180
-90 74 180
-106 74 180
-131 74 180
-148 74 180
-164 74 180
-180 74 180
-197 82 180
-213 82 180
-230 82 180
-246 82 180
-255 90 180
-0 90 189
-16 90 189
-32 90 189
-49 90 189
-74 90 180
-98 98 180
-115 98 180
-131 98 180
-148 98 180
-164 98 180
-180 98 180
-197 98 180
-213 98 180
-230 98 180
-246 106 189
-255 106 180
-0 115 189
-16 115 189
-32 115 189
-49 106 189
-74 106 180
-98 115 180
-115 115 180
-131 115 180
-148 115 180
-164 115 180
-180 115 180
-197 115 180
-213 115 180
-230 123 189
-246 123 180
-255 123 189
-0 131 189
-16 131 189
-32 131 189
-49 131 189
-74 131 180
-98 131 180
-115 131 180
-139 139 180
-148 139 180
-164 139 180
-180 139 180
-197 131 180
-213 139 180
-230 139 180
-246 139 189
-255 139 189
-0 148 189
-16 148 189
-32 148 189
-49 148 189
-74 148 180
-98 148 180
-115 148 180
-139 148 180
-156 156 180
-164 156 180
-180 156 180
-197 148 180
-213 156 180
-230 156 180
-246 156 189
-255 172 197
-0 172 189
-16 172 189
-32 172 189
-49 172 189
-74 164 180
-98 164 180
-115 164 180
-139 164 180
-156 164 180
-164 164 180
-180 164 180
-197 172 180
-213 172 189
-230 172 189
-246 180 197
-255 189 197
-0 189 189
-16 189 189
-32 189 189
-49 189 189
-74 180 180
-98 180 180
-115 180 180
-139 180 180
-156 180 180
-164 180 180
-180 180 180
-197 189 189
-213 189 189
-238 197 197
-246 197 197
-255 205 205
-0 205 189
-16 205 180
-32 205 180
-57 205 180
-82 197 180
-98 197 180
-115 197 180
-131 197 180
-148 197 180
-172 197 180
-189 197 189
-197 197 189
-213 197 189
-238 205 197
-246 213 197
-255 213 205
-0 222 180
-16 222 180
-32 222 180
-65 213 180
-82 213 180
-98 213 180
-115 213 180
-139 213 180
-156 213 180
-172 213 180
-189 213 189
-197 213 189
-213 213 189
-238 222 197
-246 222 197
-255 222 205
-0 238 180
-16 238 180
-49 230 180
-65 230 180
-82 230 180
-98 230 180
-123 230 180
-139 230 180
-156 230 180
-172 230 189
-197 238 197
-205 238 197
-222 238 197
-238 238 197
-246 238 197
-255 238 205
-0 255 180
-32 246 180
-49 246 180
-65 246 180
-82 246 180
-106 246 180
-123 246 180
-139 246 180
-156 246 180
-180 246 197
-197 246 197
-213 246 197
-222 246 197
-238 246 197
-246 246 197
-255 246 205
-24 255 180
-41 255 180
-57 255 180
-74 255 180
-90 255 180
-106 255 180
-123 255 180
-139 255 189
-172 255 197
-189 255 197
-205 255 205
-213 255 205
-230 255 205
-238 255 205
-246 255 205
-255 255 205
diff --git a/graphics/misc/sunny_day/11.pal b/graphics/misc/sunny_day/11.pal
deleted file mode 100644
index 2536a3423..000000000
--- a/graphics/misc/sunny_day/11.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 205
-16 0 205
-32 0 205
-57 0 205
-74 0 205
-90 0 205
-106 0 205
-123 0 205
-148 0 205
-164 0 205
-189 0 205
-205 0 205
-222 0 205
-238 0 205
-255 0 205
-255 24 197
-0 16 205
-16 16 205
-32 16 205
-49 16 205
-65 16 205
-90 16 205
-115 16 205
-123 16 205
-148 16 205
-164 16 205
-180 16 205
-205 16 205
-222 16 205
-238 16 205
-246 32 197
-255 41 197
-0 32 205
-16 32 205
-32 32 205
-49 32 205
-74 32 205
-90 32 205
-106 32 205
-131 32 205
-148 32 205
-164 32 205
-180 32 205
-205 32 205
-222 32 205
-230 49 197
-246 49 197
-255 57 197
-0 57 205
-16 57 205
-32 57 205
-57 57 205
-74 57 205
-90 57 205
-106 57 205
-131 57 205
-148 57 205
-164 57 205
-180 57 205
-205 57 205
-213 65 205
-230 65 197
-246 65 197
-255 74 197
-0 74 205
-16 74 205
-32 74 205
-57 74 205
-82 82 197
-98 82 197
-115 82 197
-131 82 197
-148 82 197
-164 82 197
-180 82 197
-197 82 197
-213 82 197
-230 82 197
-246 82 197
-255 90 197
-0 98 205
-16 90 205
-32 90 205
-57 90 205
-82 98 197
-98 98 197
-115 98 197
-131 98 197
-148 98 197
-164 98 197
-180 98 197
-197 98 197
-213 98 197
-230 98 197
-246 106 197
-255 106 197
-0 115 205
-16 115 205
-32 115 205
-57 106 205
-82 115 197
-98 115 197
-115 115 197
-131 115 197
-148 115 197
-164 115 197
-180 115 197
-197 115 197
-213 115 197
-230 123 197
-246 123 197
-255 123 205
-0 131 205
-16 131 205
-32 131 205
-57 131 205
-82 131 197
-98 131 197
-115 131 197
-131 131 197
-148 131 197
-164 131 197
-180 131 197
-197 131 197
-213 139 197
-230 139 197
-246 139 205
-255 139 197
-0 148 205
-16 148 205
-32 148 205
-57 148 205
-82 148 197
-98 148 197
-115 148 197
-131 148 197
-148 148 197
-164 148 197
-180 148 197
-197 148 197
-213 156 197
-230 156 197
-246 156 197
-255 172 205
-0 172 205
-16 172 205
-32 164 205
-57 164 205
-82 164 197
-98 164 197
-115 164 197
-131 164 197
-148 164 197
-172 172 197
-180 172 197
-197 172 197
-213 172 197
-230 172 197
-246 180 205
-255 189 213
-0 189 205
-16 189 205
-32 189 205
-57 189 205
-82 180 197
-98 180 197
-115 180 197
-131 180 197
-148 180 197
-172 180 197
-189 189 197
-197 189 197
-213 189 197
-238 197 205
-246 197 213
-255 205 213
-0 205 205
-16 205 205
-32 205 205
-57 205 205
-82 197 197
-98 197 197
-115 197 197
-131 197 197
-148 197 197
-172 197 197
-189 197 197
-197 197 197
-222 205 205
-238 213 213
-246 213 213
-255 222 222
-0 222 205
-16 222 205
-32 222 197
-65 213 197
-82 213 197
-98 213 197
-115 213 197
-139 213 197
-156 213 197
-172 213 197
-189 213 197
-205 222 205
-222 222 205
-238 222 213
-246 222 213
-255 230 222
-0 238 197
-16 238 197
-49 230 197
-65 230 197
-82 230 197
-98 230 197
-123 230 197
-139 230 197
-156 230 197
-172 230 197
-197 238 205
-213 238 213
-222 238 213
-238 238 213
-246 238 213
-255 238 222
-0 255 205
-32 246 197
-49 246 197
-65 246 197
-82 246 197
-106 246 197
-123 246 197
-139 246 197
-156 246 197
-180 246 205
-197 246 213
-213 246 213
-230 246 213
-238 246 213
-246 246 213
-255 246 222
-24 255 189
-41 255 197
-57 255 197
-74 255 197
-90 255 197
-106 255 197
-123 255 197
-139 255 197
-172 255 205
-189 255 213
-205 255 213
-222 255 222
-230 255 222
-238 255 222
-246 255 222
-255 255 222
diff --git a/graphics/misc/sunny_day/12.pal b/graphics/misc/sunny_day/12.pal
deleted file mode 100644
index 2b54d05cb..000000000
--- a/graphics/misc/sunny_day/12.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 222
-16 0 222
-32 0 222
-57 0 222
-65 0 222
-90 0 222
-115 0 222
-123 0 222
-148 0 222
-164 0 222
-180 0 222
-205 0 222
-222 0 222
-238 0 222
-255 0 222
-255 24 213
-0 16 222
-16 16 222
-32 16 222
-49 16 222
-74 16 222
-90 16 222
-106 16 222
-123 16 222
-148 16 222
-164 16 222
-180 16 222
-205 16 222
-222 16 222
-238 16 222
-246 32 213
-255 41 213
-0 32 222
-16 32 222
-32 32 222
-49 32 222
-65 32 222
-90 32 222
-106 32 222
-131 32 222
-139 32 222
-164 32 222
-180 32 222
-197 32 222
-222 32 222
-230 49 213
-246 49 213
-255 57 213
-0 57 222
-16 57 222
-32 57 222
-65 65 213
-82 65 213
-98 65 213
-115 65 213
-131 65 213
-148 65 213
-164 65 213
-180 65 213
-197 65 213
-213 65 213
-230 65 213
-246 65 213
-255 74 213
-0 74 222
-16 74 222
-32 74 222
-65 82 213
-82 82 213
-98 82 213
-115 82 213
-131 82 213
-148 82 213
-164 82 213
-180 82 213
-197 82 213
-213 82 213
-230 82 213
-246 82 213
-255 90 213
-0 90 222
-16 90 222
-32 90 222
-65 98 213
-82 98 213
-98 98 213
-115 98 213
-131 98 213
-148 98 213
-164 98 213
-180 98 213
-197 98 213
-213 98 213
-230 98 213
-246 106 213
-255 106 213
-0 115 222
-16 115 222
-32 106 222
-65 115 213
-82 115 213
-98 115 213
-115 115 213
-131 115 213
-148 115 213
-164 115 213
-180 115 213
-197 115 213
-213 115 213
-230 123 213
-246 123 213
-255 123 213
-0 131 222
-16 131 222
-32 131 222
-65 131 213
-82 131 213
-98 139 213
-115 131 213
-139 139 213
-148 139 213
-164 139 213
-180 139 213
-197 139 213
-213 139 213
-230 139 213
-246 139 213
-255 139 213
-0 148 222
-16 148 222
-32 148 222
-65 148 213
-82 148 213
-98 148 213
-115 148 213
-139 156 213
-156 156 213
-172 156 213
-180 156 213
-197 156 213
-213 156 213
-230 156 213
-246 156 213
-255 172 222
-0 164 222
-16 172 222
-32 164 222
-65 164 213
-82 164 213
-98 164 213
-115 164 213
-139 164 213
-156 172 213
-172 172 213
-180 172 213
-197 172 213
-213 172 213
-230 172 213
-246 180 222
-255 189 222
-0 189 222
-16 189 222
-32 180 222
-65 180 213
-82 180 213
-98 180 213
-115 180 213
-139 180 213
-156 180 213
-172 189 213
-189 189 213
-197 189 213
-213 189 213
-238 197 222
-246 197 222
-255 205 230
-0 205 222
-16 205 222
-32 205 222
-65 205 213
-82 197 213
-98 197 213
-115 197 213
-139 197 213
-156 197 213
-172 197 213
-189 197 213
-205 205 222
-222 205 222
-238 213 222
-246 213 230
-255 222 230
-0 222 222
-16 222 222
-32 222 222
-65 213 213
-82 213 213
-98 213 213
-115 213 213
-139 213 213
-156 213 213
-172 213 213
-189 213 213
-205 222 222
-222 222 222
-238 230 230
-246 230 230
-255 238 238
-0 238 222
-16 238 222
-49 230 213
-65 230 213
-82 230 213
-98 230 213
-123 230 213
-139 230 213
-156 230 213
-172 230 213
-197 238 222
-213 238 222
-230 238 230
-238 238 230
-246 238 230
-255 246 238
-0 255 222
-32 246 213
-49 246 213
-65 246 213
-82 246 213
-106 246 213
-123 246 213
-139 246 213
-156 246 213
-180 246 222
-197 246 222
-213 246 222
-230 246 230
-238 246 230
-246 246 230
-255 255 238
-24 255 205
-41 255 213
-57 255 205
-74 255 213
-90 255 213
-106 255 213
-123 255 213
-139 255 213
-172 255 222
-189 255 222
-205 255 222
-222 255 230
-238 255 238
-246 255 238
-255 255 238
-255 255 238
diff --git a/graphics/misc/sunny_day/13.pal b/graphics/misc/sunny_day/13.pal
deleted file mode 100644
index caf0a7545..000000000
--- a/graphics/misc/sunny_day/13.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 238
-16 0 238
-32 0 238
-49 0 238
-74 0 238
-90 0 238
-106 0 238
-131 0 238
-148 0 238
-164 0 238
-180 0 238
-197 0 238
-222 0 238
-238 0 238
-255 0 238
-255 24 230
-0 16 238
-16 16 238
-32 16 238
-49 16 238
-74 16 238
-90 16 238
-106 16 238
-131 16 238
-139 16 238
-164 16 238
-180 16 238
-197 16 238
-222 16 238
-238 16 238
-246 32 238
-255 41 230
-0 41 238
-16 32 238
-49 49 230
-65 49 230
-82 49 230
-98 49 230
-115 49 230
-131 49 230
-148 49 230
-164 49 230
-180 49 230
-197 49 230
-213 49 230
-230 49 230
-246 49 230
-255 57 230
-0 57 238
-16 57 238
-49 65 230
-65 65 230
-82 65 230
-98 65 230
-115 65 230
-131 65 230
-148 65 230
-164 65 230
-180 65 230
-197 65 230
-213 65 230
-230 65 230
-246 65 238
-255 74 230
-0 74 238
-16 74 238
-49 82 230
-65 82 230
-82 82 230
-98 82 230
-115 82 230
-131 82 230
-148 82 230
-164 82 230
-180 82 230
-197 82 230
-213 82 230
-230 82 230
-246 82 230
-255 90 230
-0 90 238
-16 90 238
-49 106 230
-65 98 230
-82 98 230
-98 98 230
-115 98 230
-131 98 230
-148 98 230
-164 98 230
-180 98 230
-197 98 230
-213 98 230
-230 98 230
-246 106 230
-255 106 230
-0 115 238
-16 106 238
-49 115 230
-65 115 230
-82 123 230
-98 123 230
-123 123 230
-131 123 230
-148 123 230
-164 123 230
-180 123 230
-197 123 230
-213 123 230
-230 123 230
-246 123 230
-255 123 230
-0 131 238
-16 131 238
-49 139 230
-65 131 230
-82 131 230
-98 131 230
-123 139 230
-139 139 230
-148 139 230
-164 139 230
-180 139 230
-197 139 230
-213 139 230
-230 139 230
-246 139 230
-255 139 230
-0 148 238
-16 148 238
-49 148 230
-65 148 230
-82 148 230
-98 156 230
-123 156 230
-139 156 230
-156 156 230
-164 156 230
-180 156 230
-197 156 230
-213 156 230
-230 156 230
-246 156 230
-255 172 230
-0 172 238
-16 164 238
-49 164 230
-65 164 230
-82 172 230
-98 164 230
-123 164 230
-139 164 230
-156 172 230
-172 172 230
-189 172 230
-197 172 230
-213 172 230
-230 172 230
-246 180 238
-255 189 238
-0 189 238
-16 180 238
-49 180 230
-65 180 230
-82 180 230
-98 180 230
-123 189 230
-139 180 230
-156 180 230
-172 189 230
-197 197 238
-205 197 238
-222 197 238
-238 197 238
-246 197 238
-255 205 238
-0 205 238
-16 205 238
-49 197 230
-65 197 230
-82 197 230
-98 197 230
-123 197 230
-139 197 230
-156 197 230
-172 197 230
-197 205 238
-213 213 238
-222 213 238
-238 213 238
-246 213 238
-255 222 238
-0 222 238
-16 222 238
-49 213 230
-65 213 230
-82 213 230
-98 213 230
-123 213 230
-139 213 230
-156 213 230
-172 213 230
-197 222 238
-213 222 238
-230 230 238
-238 230 238
-246 230 238
-255 238 246
-0 238 238
-16 238 238
-49 230 230
-65 230 230
-82 230 230
-98 230 230
-123 230 230
-139 230 230
-156 230 230
-172 230 230
-197 238 238
-213 238 238
-230 238 238
-238 238 238
-255 246 246
-255 255 255
-0 255 238
-32 246 230
-49 246 230
-65 246 230
-82 246 230
-106 246 230
-123 246 230
-139 246 230
-156 246 230
-180 246 230
-197 246 238
-213 246 238
-230 246 238
-246 255 246
-255 255 246
-255 255 255
-24 255 222
-41 255 230
-57 255 222
-74 255 222
-90 255 222
-106 255 230
-123 255 230
-139 255 230
-172 255 230
-189 255 230
-205 255 238
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/14.pal b/graphics/misc/sunny_day/14.pal
deleted file mode 100644
index c8d66ade5..000000000
--- a/graphics/misc/sunny_day/14.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 255
-16 0 255
-32 0 255
-49 0 255
-74 0 255
-90 0 255
-106 0 255
-131 0 255
-148 0 255
-164 0 255
-180 0 255
-205 0 255
-222 0 255
-238 0 255
-255 0 255
-255 24 246
-0 16 255
-32 32 246
-49 32 246
-65 32 246
-82 32 246
-98 32 246
-115 32 246
-131 32 246
-148 32 246
-164 32 246
-180 32 246
-197 32 246
-213 32 246
-230 32 246
-246 32 246
-255 41 246
-0 41 255
-32 49 246
-49 49 246
-65 49 246
-82 49 246
-98 49 246
-115 49 246
-131 49 246
-148 49 246
-164 49 246
-180 49 246
-197 49 246
-213 49 246
-230 49 246
-246 49 246
-255 57 246
-0 57 255
-32 65 246
-49 65 246
-65 65 246
-82 65 246
-98 65 246
-115 65 246
-131 65 246
-148 65 246
-164 65 246
-180 65 246
-197 65 246
-213 65 246
-230 65 246
-246 65 246
-255 74 246
-0 74 255
-32 82 246
-49 82 246
-65 90 246
-82 82 246
-98 82 246
-115 82 246
-131 82 246
-148 82 246
-164 82 246
-180 82 246
-197 82 246
-213 82 246
-230 82 246
-246 82 246
-255 90 246
-0 90 255
-32 98 246
-49 98 246
-65 98 246
-82 98 246
-106 106 246
-115 106 246
-131 106 246
-148 106 246
-164 106 246
-180 106 246
-197 106 246
-213 106 246
-230 106 246
-246 106 246
-255 106 246
-0 106 255
-32 115 246
-49 115 246
-65 123 246
-82 115 246
-106 123 246
-123 123 246
-131 123 246
-156 123 246
-164 123 246
-180 123 246
-197 123 246
-213 123 246
-230 123 246
-246 123 246
-255 123 246
-0 131 255
-32 131 246
-49 131 246
-65 131 246
-82 131 246
-106 139 246
-123 139 246
-139 139 246
-156 139 246
-172 139 246
-180 139 246
-197 139 246
-213 139 246
-230 139 246
-246 139 246
-255 139 246
-0 148 255
-32 156 246
-49 148 246
-65 156 246
-82 148 246
-106 148 246
-123 156 246
-139 156 246
-156 156 246
-172 156 246
-180 156 246
-197 156 246
-213 156 246
-230 156 246
-246 156 246
-255 172 246
-0 164 255
-32 164 246
-49 164 246
-65 164 246
-82 164 246
-106 172 246
-123 172 246
-139 172 246
-156 172 246
-180 180 246
-197 180 246
-205 180 246
-222 180 246
-230 180 246
-246 180 246
-255 189 246
-0 180 255
-32 189 246
-49 180 246
-65 180 246
-82 180 246
-106 189 246
-123 180 246
-139 189 246
-156 189 246
-180 197 246
-197 197 246
-213 197 246
-222 197 246
-238 197 246
-246 197 246
-255 205 246
-0 205 255
-32 197 246
-49 197 246
-65 197 246
-82 197 246
-106 197 246
-123 197 246
-139 205 246
-156 197 246
-180 205 246
-197 213 246
-213 213 246
-222 213 246
-238 213 246
-246 213 246
-255 222 246
-0 222 255
-32 213 246
-49 213 246
-65 213 246
-82 213 246
-106 213 246
-123 213 246
-139 213 246
-156 213 246
-180 222 246
-197 222 246
-213 230 246
-230 230 246
-238 230 246
-246 230 246
-255 238 255
-0 238 255
-32 238 246
-49 230 246
-65 238 246
-82 230 246
-106 230 246
-123 230 246
-139 230 246
-156 230 246
-180 238 246
-197 238 246
-213 238 246
-230 238 246
-246 246 255
-255 246 255
-255 255 255
-0 255 255
-32 246 246
-49 246 246
-65 246 246
-82 246 246
-106 246 246
-123 246 246
-139 246 246
-156 246 246
-180 246 246
-197 246 246
-213 246 246
-230 246 246
-246 255 255
-255 255 255
-255 255 255
-24 255 238
-41 255 238
-57 255 238
-74 255 238
-90 255 238
-106 255 238
-123 255 246
-139 255 246
-172 255 246
-189 255 246
-205 255 246
-222 255 246
-238 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/15.pal b/graphics/misc/sunny_day/15.pal
deleted file mode 100644
index c14fb84de..000000000
--- a/graphics/misc/sunny_day/15.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-24 24 255
-32 24 255
-49 24 255
-65 24 255
-82 24 255
-98 24 255
-115 24 255
-131 24 255
-148 24 255
-164 24 255
-180 24 255
-189 24 255
-205 24 255
-222 24 255
-238 24 255
-255 24 255
-24 41 255
-41 41 255
-57 41 255
-74 41 255
-82 41 255
-106 41 255
-115 41 255
-131 41 255
-148 41 255
-164 41 255
-180 41 255
-197 41 255
-213 41 255
-230 41 255
-238 41 255
-255 41 255
-24 57 255
-41 57 255
-57 57 255
-74 57 255
-90 57 255
-98 57 255
-115 57 255
-131 57 255
-148 57 255
-164 57 255
-180 57 255
-197 57 255
-205 57 255
-222 57 255
-238 57 255
-255 57 255
-24 74 255
-41 74 255
-57 74 255
-74 74 255
-90 74 255
-106 74 255
-123 74 255
-131 74 255
-148 74 255
-164 74 255
-180 74 255
-197 74 255
-213 74 255
-222 74 255
-238 74 255
-255 74 255
-24 90 255
-41 90 255
-57 90 255
-74 90 255
-90 90 255
-106 90 255
-123 90 255
-139 90 255
-148 90 255
-164 90 255
-180 90 255
-197 90 255
-213 90 255
-222 90 255
-238 90 255
-255 90 255
-24 106 255
-41 106 255
-57 106 255
-74 106 255
-90 106 255
-106 106 255
-123 106 255
-139 106 255
-148 106 255
-164 106 255
-180 106 255
-197 106 255
-213 106 255
-230 106 255
-238 106 255
-255 106 255
-24 115 255
-41 123 255
-57 123 255
-74 123 255
-90 123 255
-106 123 255
-123 123 255
-139 123 255
-156 123 255
-172 123 255
-180 123 255
-197 123 255
-213 123 255
-230 123 255
-246 123 255
-255 123 255
-24 131 255
-41 139 255
-57 131 255
-74 139 255
-90 139 255
-106 139 255
-123 139 255
-139 139 255
-156 139 255
-172 139 255
-189 139 255
-197 139 255
-213 139 255
-230 139 255
-246 139 255
-255 139 255
-24 148 255
-41 148 255
-57 156 255
-74 156 255
-90 156 255
-106 156 255
-123 156 255
-139 156 255
-172 172 255
-180 172 255
-197 172 255
-205 172 255
-222 172 255
-230 172 255
-246 172 255
-255 172 255
-24 164 255
-41 164 255
-57 172 255
-74 164 255
-90 172 255
-106 172 255
-123 172 255
-139 172 255
-172 180 255
-189 189 255
-197 189 255
-213 189 255
-222 189 255
-230 189 255
-246 189 255
-255 189 255
-24 180 255
-41 180 255
-57 180 255
-74 180 255
-90 180 255
-106 180 255
-123 189 255
-139 189 255
-172 197 255
-189 197 255
-205 205 255
-213 205 255
-222 205 255
-238 205 255
-246 205 255
-255 205 255
-24 197 255
-41 197 255
-57 197 255
-74 197 255
-90 197 255
-106 197 255
-123 205 255
-139 197 255
-172 205 255
-189 213 255
-205 213 255
-222 222 255
-230 222 255
-238 222 255
-246 222 255
-255 222 255
-24 213 255
-41 213 255
-57 213 255
-74 213 255
-90 213 255
-106 213 255
-123 213 255
-139 213 255
-172 222 255
-189 222 255
-205 230 255
-222 230 255
-238 238 255
-246 238 255
-255 238 255
-255 238 255
-24 230 255
-41 230 255
-57 230 255
-74 230 255
-90 230 255
-106 230 255
-123 230 255
-139 230 255
-172 230 255
-189 238 255
-205 238 255
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-24 246 255
-41 246 255
-57 246 255
-74 246 255
-90 246 255
-106 246 255
-123 246 255
-139 246 255
-172 246 255
-189 246 255
-205 246 255
-222 246 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-24 255 255
-41 255 255
-57 255 255
-74 255 255
-90 255 255
-106 255 255
-123 255 255
-139 255 255
-172 255 255
-189 255 255
-205 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/16.pal b/graphics/misc/sunny_day/16.pal
deleted file mode 100644
index 6807ab175..000000000
--- a/graphics/misc/sunny_day/16.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 8
-24 8 8
-41 8 8
-57 8 8
-74 8 8
-90 8 8
-106 8 8
-148 0 0
-164 0 0
-180 0 0
-205 0 0
-222 0 0
-238 0 0
-255 0 0
-255 8 8
-255 32 32
-8 24 8
-24 24 8
-41 24 8
-57 24 8
-74 24 8
-90 24 8
-106 24 8
-148 16 0
-164 16 0
-180 16 0
-205 16 0
-222 16 0
-238 8 0
-255 16 0
-255 24 8
-255 49 32
-8 41 8
-24 41 8
-41 41 8
-57 41 8
-74 41 8
-90 41 8
-106 41 8
-148 41 0
-164 41 0
-180 41 0
-205 32 0
-222 32 0
-238 32 0
-255 32 0
-255 41 8
-255 57 32
-8 57 8
-24 57 8
-41 57 8
-57 57 8
-74 57 8
-90 57 8
-106 57 8
-148 57 0
-164 57 0
-180 57 0
-205 57 0
-222 57 0
-238 57 0
-255 49 0
-255 57 8
-255 74 32
-8 74 8
-24 74 8
-41 74 8
-57 74 8
-74 74 8
-90 74 8
-106 74 8
-148 82 0
-164 82 0
-180 82 0
-205 74 0
-222 74 0
-238 74 0
-255 74 0
-255 82 8
-255 90 32
-8 90 8
-24 90 8
-41 90 8
-57 90 8
-74 90 8
-90 90 8
-106 90 8
-148 106 0
-164 98 0
-180 98 0
-205 98 0
-222 98 0
-238 90 0
-255 90 0
-255 98 8
-255 106 32
-8 106 8
-24 106 8
-41 106 8
-57 106 8
-74 106 8
-90 106 8
-106 106 8
-148 123 0
-164 123 0
-180 115 0
-205 115 0
-222 115 0
-238 115 0
-255 115 0
-255 115 8
-255 123 32
-0 148 0
-24 148 0
-41 148 0
-65 148 0
-90 148 0
-106 148 0
-131 148 0
-148 148 0
-164 148 0
-180 139 0
-205 139 0
-222 131 0
-238 131 0
-255 131 0
-255 131 8
-255 139 32
-0 164 0
-24 164 0
-41 164 0
-65 164 0
-82 164 0
-106 164 0
-123 164 0
-148 164 0
-164 164 0
-180 164 0
-205 156 0
-222 156 0
-238 156 0
-255 148 0
-255 148 8
-255 148 32
-0 180 0
-16 180 0
-41 180 0
-57 180 0
-82 180 0
-106 180 0
-123 180 0
-139 180 0
-164 180 0
-180 180 0
-205 180 0
-222 172 0
-238 172 0
-255 172 0
-255 164 8
-255 164 32
-0 205 0
-16 205 0
-41 205 0
-57 205 0
-82 205 0
-98 205 0
-123 205 0
-139 205 0
-164 205 0
-180 205 0
-205 205 0
-222 197 0
-238 189 0
-255 189 0
-255 180 8
-255 180 32
-0 222 0
-16 222 0
-41 222 0
-57 222 0
-82 222 0
-98 222 0
-115 222 0
-139 222 0
-156 222 0
-180 222 0
-197 222 0
-222 222 0
-238 213 0
-255 213 0
-255 205 8
-255 197 32
-0 238 0
-16 238 0
-32 238 0
-57 238 0
-74 238 0
-98 238 0
-115 238 0
-139 238 0
-156 238 0
-172 238 0
-197 238 0
-213 238 0
-238 238 0
-255 230 0
-255 222 8
-255 213 32
-0 255 0
-16 255 0
-41 255 0
-57 255 0
-74 255 0
-98 255 0
-115 255 0
-139 255 0
-156 255 0
-172 255 0
-197 255 0
-213 255 0
-238 255 0
-255 255 0
-255 238 8
-255 222 32
-8 255 8
-24 255 8
-49 255 8
-65 255 8
-82 255 8
-98 255 8
-115 255 8
-131 255 8
-156 255 8
-172 255 8
-189 255 8
-205 255 8
-222 255 8
-238 255 8
-255 255 8
-255 238 32
-32 255 32
-49 255 32
-65 255 32
-82 255 32
-98 255 32
-106 255 32
-123 255 32
-139 255 32
-156 255 32
-172 255 32
-180 255 32
-197 255 32
-213 255 32
-230 255 32
-246 255 32
-255 255 32
diff --git a/graphics/misc/sunny_day/17.pal b/graphics/misc/sunny_day/17.pal
deleted file mode 100644
index da3846209..000000000
--- a/graphics/misc/sunny_day/17.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 24
-24 8 24
-41 8 24
-57 8 24
-74 8 24
-90 8 24
-106 8 24
-148 0 24
-164 0 24
-180 0 16
-205 0 16
-222 0 16
-238 0 16
-255 0 16
-255 8 24
-255 32 49
-8 24 24
-24 24 24
-41 24 24
-57 24 24
-74 24 24
-90 24 24
-131 24 24
-148 16 16
-164 16 16
-180 16 16
-197 16 16
-222 16 16
-238 16 16
-246 24 24
-255 41 41
-255 49 49
-8 41 24
-24 41 24
-41 41 24
-57 41 24
-74 41 24
-90 41 24
-131 41 24
-148 41 16
-164 41 16
-180 41 16
-197 32 16
-222 32 16
-238 32 16
-246 41 24
-255 57 41
-255 65 49
-8 57 24
-24 57 24
-41 57 24
-57 57 24
-74 57 24
-90 57 24
-131 57 24
-148 57 16
-164 57 16
-180 57 16
-197 57 16
-222 49 16
-238 49 16
-246 57 24
-255 74 41
-255 82 49
-8 74 24
-24 74 24
-41 74 24
-57 74 24
-74 74 24
-90 74 24
-131 82 24
-148 82 16
-164 82 16
-180 74 16
-197 74 16
-222 74 16
-238 74 16
-246 82 24
-255 90 41
-255 90 49
-8 90 24
-24 90 24
-41 90 24
-57 90 24
-74 90 24
-90 90 24
-131 106 24
-148 98 16
-164 98 16
-180 98 16
-197 98 16
-222 90 16
-238 90 16
-246 90 24
-255 106 41
-255 106 49
-8 106 24
-24 131 24
-41 131 24
-65 131 24
-82 131 24
-106 131 24
-131 131 24
-148 123 16
-164 123 16
-180 115 16
-197 115 16
-222 115 16
-238 115 16
-246 115 24
-255 115 41
-255 123 49
-0 148 16
-16 148 16
-41 148 16
-57 148 16
-82 148 16
-106 148 16
-123 148 16
-148 148 16
-164 139 16
-180 139 16
-197 139 16
-222 131 16
-238 131 16
-246 131 24
-255 139 41
-255 139 49
-0 164 16
-16 164 16
-41 164 16
-65 164 16
-82 164 16
-106 164 16
-123 164 16
-148 164 16
-164 164 16
-180 156 16
-197 156 16
-222 156 16
-238 148 16
-246 148 24
-255 156 41
-255 156 49
-0 180 16
-16 180 16
-41 180 16
-57 180 16
-82 180 16
-98 180 16
-123 180 16
-139 180 16
-164 180 16
-180 180 16
-197 180 16
-222 172 16
-238 172 16
-246 164 24
-255 164 41
-255 172 49
-0 205 16
-16 197 16
-32 197 16
-57 197 16
-74 197 16
-98 197 16
-123 197 16
-139 197 16
-164 197 16
-180 197 16
-197 197 16
-222 197 16
-238 189 16
-246 189 24
-255 189 41
-255 180 49
-0 222 16
-16 222 16
-32 222 16
-57 222 16
-74 222 16
-98 222 16
-115 222 16
-139 222 16
-156 222 16
-180 222 16
-197 222 16
-222 222 16
-238 213 16
-246 205 24
-255 197 41
-255 197 49
-0 238 8
-16 238 16
-32 238 16
-57 238 16
-74 238 16
-98 238 16
-115 238 16
-139 238 16
-156 238 16
-180 238 16
-197 238 16
-213 238 16
-238 238 16
-246 222 24
-255 213 41
-255 213 49
-0 255 16
-24 246 24
-41 246 24
-57 246 24
-82 246 24
-98 246 24
-115 246 24
-131 246 24
-148 246 24
-172 246 24
-189 246 24
-205 246 24
-222 246 24
-246 246 24
-255 238 41
-255 230 49
-8 255 24
-41 255 41
-57 255 41
-74 255 41
-90 255 41
-106 255 41
-123 255 41
-139 255 41
-156 255 41
-172 255 41
-189 255 41
-205 255 41
-222 255 41
-238 255 41
-255 255 41
-255 238 49
-32 255 49
-49 255 49
-65 255 49
-82 255 49
-98 255 49
-115 255 49
-131 255 49
-139 255 49
-156 255 49
-172 255 49
-189 255 49
-197 255 49
-213 255 49
-230 255 49
-246 255 49
-255 255 49
diff --git a/graphics/misc/sunny_day/18.pal b/graphics/misc/sunny_day/18.pal
deleted file mode 100644
index 6e6b05b99..000000000
--- a/graphics/misc/sunny_day/18.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 41
-24 8 41
-41 8 41
-57 8 41
-74 8 41
-90 8 41
-106 8 41
-148 0 41
-164 0 41
-180 0 41
-205 0 41
-222 0 41
-238 0 32
-255 0 41
-255 8 49
-255 32 65
-8 24 41
-24 24 41
-41 24 41
-57 24 41
-74 24 41
-90 24 41
-131 24 41
-148 16 41
-164 16 41
-180 16 41
-197 16 32
-222 16 32
-238 16 32
-246 24 41
-255 41 57
-255 49 65
-8 41 41
-24 41 41
-41 41 41
-57 41 41
-74 41 41
-106 41 41
-123 41 41
-148 41 41
-164 32 32
-180 32 32
-197 32 32
-213 32 32
-222 41 41
-238 57 57
-255 57 57
-255 65 65
-8 57 41
-24 57 41
-41 57 41
-57 57 41
-74 57 41
-106 65 41
-123 57 41
-148 57 41
-164 57 32
-180 57 32
-197 57 32
-213 49 32
-222 57 41
-238 74 57
-255 74 57
-255 82 65
-8 74 41
-24 74 41
-41 74 41
-57 74 41
-74 74 41
-106 82 41
-123 82 41
-148 82 41
-164 74 32
-180 74 32
-197 74 32
-213 74 32
-222 74 41
-238 90 57
-255 90 57
-255 98 65
-8 90 41
-24 90 41
-41 106 41
-65 106 41
-82 106 41
-106 106 41
-123 106 41
-148 98 41
-164 98 32
-180 98 32
-197 98 32
-213 90 32
-222 90 41
-238 106 57
-255 106 57
-255 106 65
-8 106 41
-24 131 41
-41 123 41
-57 123 41
-82 123 41
-106 123 41
-123 123 41
-148 123 41
-164 115 32
-180 115 32
-197 115 32
-213 115 32
-222 115 41
-238 123 57
-255 123 57
-255 123 65
-0 148 41
-16 148 41
-41 148 41
-57 148 41
-82 148 41
-98 148 41
-123 148 41
-148 148 41
-164 139 32
-180 139 32
-197 131 32
-213 131 32
-222 131 41
-238 139 57
-255 139 57
-255 139 65
-0 164 41
-16 164 41
-32 164 32
-57 164 32
-82 164 32
-98 164 32
-123 164 32
-139 164 32
-164 164 32
-180 156 32
-197 156 32
-213 148 32
-222 148 41
-238 156 57
-255 156 57
-255 156 65
-0 180 41
-16 180 41
-32 180 32
-57 180 32
-82 180 32
-98 180 32
-123 180 32
-139 180 32
-164 180 32
-180 180 32
-197 172 32
-213 172 32
-222 164 41
-238 164 57
-255 164 57
-255 172 65
-0 205 32
-16 197 32
-32 197 32
-57 197 32
-74 197 32
-98 197 32
-115 197 32
-139 197 32
-156 197 32
-180 197 32
-197 197 32
-213 197 32
-222 180 41
-238 189 57
-255 180 57
-255 180 65
-0 222 32
-16 222 32
-32 213 32
-57 213 32
-74 213 32
-98 213 32
-115 213 32
-139 213 32
-156 213 32
-172 213 32
-197 213 32
-213 213 32
-222 205 41
-238 197 57
-255 205 57
-255 197 65
-0 238 32
-16 238 32
-41 222 41
-57 222 41
-82 222 41
-98 222 41
-115 222 41
-131 222 41
-148 222 41
-172 222 41
-189 222 41
-205 222 41
-222 222 41
-238 222 57
-255 213 57
-255 213 65
-0 255 32
-24 246 41
-57 238 57
-74 238 57
-90 238 57
-106 238 57
-123 238 57
-139 238 57
-156 238 57
-172 238 57
-189 238 57
-205 238 57
-222 238 57
-238 238 57
-255 230 57
-255 230 65
-8 255 41
-41 255 57
-57 255 57
-74 255 57
-90 255 57
-106 255 57
-123 255 57
-139 255 57
-156 255 57
-172 255 57
-189 255 57
-205 255 57
-222 255 57
-238 255 57
-255 255 57
-255 246 65
-32 255 57
-49 255 65
-65 255 65
-82 255 65
-98 255 65
-115 255 65
-131 255 65
-139 255 65
-156 255 65
-172 255 65
-189 255 65
-205 255 65
-213 255 65
-230 255 65
-246 255 65
-255 255 65
diff --git a/graphics/misc/sunny_day/19.pal b/graphics/misc/sunny_day/19.pal
deleted file mode 100644
index e03cc0253..000000000
--- a/graphics/misc/sunny_day/19.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 57
-24 8 57
-41 8 57
-57 8 57
-74 8 57
-90 8 57
-106 8 57
-148 0 65
-164 0 65
-180 0 57
-205 0 57
-222 0 57
-238 0 57
-255 0 57
-255 8 65
-255 32 82
-8 24 57
-24 24 57
-41 24 57
-57 24 57
-74 24 57
-90 24 57
-131 24 65
-148 16 57
-164 16 65
-180 16 57
-197 16 57
-222 16 57
-238 16 57
-246 24 57
-255 41 74
-255 49 82
-8 41 57
-24 41 57
-41 41 57
-57 41 57
-74 41 57
-106 41 65
-123 41 57
-148 41 57
-164 32 57
-180 32 57
-197 32 57
-213 32 57
-222 41 57
-238 57 74
-255 57 74
-255 65 82
-8 57 57
-24 57 57
-41 57 57
-57 57 57
-82 65 65
-106 57 57
-123 57 57
-139 57 57
-156 57 57
-180 57 57
-197 49 49
-205 57 57
-222 74 74
-238 74 74
-255 74 74
-255 82 82
-8 74 57
-24 74 57
-41 74 57
-65 82 65
-82 82 65
-106 82 57
-123 82 57
-139 82 57
-156 74 57
-180 74 57
-197 74 49
-205 74 57
-222 90 74
-238 90 74
-255 90 74
-255 98 82
-8 90 57
-24 90 57
-41 106 65
-57 106 57
-82 106 57
-106 106 57
-123 98 57
-139 98 57
-156 98 57
-180 90 57
-197 90 49
-205 98 57
-222 106 74
-238 106 74
-255 106 74
-255 115 82
-8 106 57
-24 131 57
-41 123 57
-57 123 57
-82 123 57
-98 123 57
-123 123 57
-139 123 57
-156 115 57
-180 115 57
-197 115 49
-205 115 57
-222 123 74
-238 123 74
-255 123 74
-255 131 82
-0 148 57
-16 148 57
-41 148 57
-57 139 57
-82 139 57
-98 139 57
-123 139 57
-139 139 57
-156 139 57
-180 131 57
-197 131 49
-205 131 57
-222 139 74
-238 139 74
-255 139 74
-255 139 82
-0 164 57
-16 164 57
-32 164 57
-57 156 57
-74 156 57
-98 156 57
-115 156 57
-139 156 57
-156 156 57
-180 156 57
-197 156 49
-205 148 57
-222 156 74
-238 156 74
-255 156 74
-255 156 82
-0 180 57
-16 180 57
-32 180 57
-57 180 57
-74 180 57
-98 180 57
-115 180 57
-139 180 57
-156 180 57
-180 180 57
-197 172 49
-205 172 57
-222 172 74
-238 172 74
-255 172 74
-255 172 82
-0 205 57
-16 197 57
-32 197 57
-49 197 49
-74 197 49
-98 197 49
-115 197 49
-139 197 49
-156 197 49
-180 197 49
-197 197 49
-205 189 57
-222 189 74
-238 180 74
-255 180 74
-255 180 82
-0 222 57
-16 222 49
-32 213 49
-57 205 57
-82 205 57
-98 205 57
-115 205 57
-131 205 57
-156 205 57
-172 205 57
-189 205 57
-205 205 57
-222 205 74
-238 197 74
-255 205 74
-255 197 82
-0 238 57
-16 238 49
-41 222 57
-74 222 74
-90 222 74
-106 222 74
-123 222 74
-139 222 74
-156 222 74
-172 222 74
-189 222 74
-205 222 74
-222 222 74
-238 213 74
-255 213 74
-255 213 82
-0 255 49
-24 246 57
-57 238 74
-74 238 74
-90 238 74
-106 238 74
-123 238 74
-139 238 74
-156 238 74
-172 238 74
-189 238 74
-205 238 74
-222 238 74
-238 238 74
-255 230 74
-255 230 82
-8 255 57
-41 255 74
-57 255 74
-74 255 74
-90 255 74
-106 255 74
-123 255 74
-139 255 74
-156 255 74
-172 255 74
-189 255 74
-205 255 74
-222 255 74
-238 255 74
-255 255 74
-255 238 82
-32 255 74
-49 255 82
-65 255 82
-82 255 82
-98 255 82
-115 255 82
-131 255 82
-139 255 82
-156 255 82
-172 255 82
-189 255 82
-197 255 82
-213 255 82
-230 255 82
-246 255 82
-255 255 82
diff --git a/graphics/misc/sunny_day/2.pal b/graphics/misc/sunny_day/2.pal
deleted file mode 100644
index 7a8075799..000000000
--- a/graphics/misc/sunny_day/2.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 41
-24 8 41
-41 8 41
-57 8 41
-74 8 41
-90 8 41
-106 8 41
-139 0 41
-156 0 41
-172 0 41
-189 0 41
-205 0 32
-222 0 32
-238 0 41
-255 0 41
-255 24 57
-8 24 41
-24 24 41
-41 24 41
-57 24 41
-74 24 41
-90 24 41
-115 16 41
-131 16 41
-156 16 41
-172 16 41
-189 16 32
-205 16 32
-222 16 32
-238 16 32
-246 32 49
-255 41 57
-8 41 41
-24 41 41
-41 41 41
-57 41 41
-74 41 41
-98 41 41
-115 41 41
-131 41 41
-148 32 32
-172 32 32
-189 32 32
-205 32 32
-222 32 32
-230 49 49
-246 49 49
-255 57 57
-8 57 41
-24 57 41
-41 57 41
-57 57 41
-74 57 41
-98 57 41
-115 57 41
-131 57 41
-148 57 32
-172 57 32
-189 49 32
-205 49 32
-222 49 32
-230 65 49
-246 65 49
-255 74 57
-8 74 41
-24 74 41
-41 74 41
-57 74 41
-74 74 41
-98 74 41
-115 74 41
-131 74 41
-148 74 32
-172 74 32
-189 74 32
-205 74 32
-222 65 32
-230 82 49
-246 82 49
-255 90 57
-8 90 41
-24 90 41
-41 98 41
-57 98 41
-82 98 41
-98 98 41
-115 98 41
-131 90 41
-148 90 32
-172 90 32
-189 90 32
-205 90 32
-222 90 32
-230 98 49
-246 98 49
-255 98 57
-8 106 41
-16 115 41
-41 115 41
-57 115 41
-74 115 41
-98 115 41
-115 115 41
-131 115 41
-148 115 32
-172 115 32
-189 115 32
-205 106 32
-222 106 32
-230 115 49
-246 115 49
-255 115 57
-0 139 41
-16 131 41
-41 131 41
-57 131 41
-74 131 41
-98 131 41
-115 131 41
-131 131 41
-148 131 32
-172 131 32
-189 131 32
-205 131 32
-222 131 32
-230 131 49
-246 131 49
-255 131 57
-0 156 41
-16 156 41
-32 148 32
-57 148 32
-74 148 32
-90 148 32
-115 148 32
-131 148 32
-148 148 32
-172 148 32
-189 148 32
-205 148 32
-222 139 32
-230 148 49
-246 148 49
-255 148 57
-0 172 32
-16 172 32
-32 172 32
-57 172 32
-74 172 32
-90 172 32
-115 172 32
-131 172 32
-148 172 32
-172 172 32
-189 164 32
-205 164 32
-222 164 32
-230 164 49
-246 164 49
-255 164 57
-0 189 32
-16 189 32
-32 189 32
-57 189 32
-74 189 32
-90 189 32
-115 189 32
-131 189 32
-148 189 32
-172 189 32
-189 189 32
-205 180 32
-222 180 32
-230 180 49
-246 180 49
-255 180 57
-0 205 32
-16 205 32
-32 205 32
-57 205 32
-74 205 32
-90 205 32
-115 205 32
-131 205 32
-148 205 32
-164 205 32
-189 205 32
-205 205 32
-222 197 32
-230 197 49
-246 197 49
-255 197 57
-0 222 32
-16 222 32
-32 222 32
-57 222 32
-74 222 32
-90 222 32
-106 222 32
-131 222 32
-148 222 32
-164 222 32
-180 222 32
-205 222 32
-222 222 32
-230 213 49
-246 213 49
-255 205 57
-0 238 32
-16 238 32
-49 230 49
-65 230 49
-82 230 49
-106 230 49
-115 230 49
-139 230 49
-148 230 49
-164 230 49
-180 230 49
-197 230 49
-213 230 49
-230 230 49
-246 230 49
-255 222 57
-0 255 32
-32 246 49
-49 246 49
-65 246 49
-82 246 49
-98 246 49
-115 246 49
-131 246 49
-148 246 49
-164 246 49
-180 246 49
-197 246 49
-213 246 49
-230 246 49
-246 246 49
-255 238 57
-24 255 49
-41 255 57
-57 255 57
-74 255 57
-90 255 57
-106 255 57
-123 255 57
-131 255 57
-156 255 57
-172 255 57
-180 255 57
-197 255 57
-213 255 57
-230 255 57
-246 255 57
-255 255 57
diff --git a/graphics/misc/sunny_day/20.pal b/graphics/misc/sunny_day/20.pal
deleted file mode 100644
index bf140d072..000000000
--- a/graphics/misc/sunny_day/20.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 74
-24 8 74
-41 8 74
-57 8 74
-74 8 74
-90 8 74
-106 8 74
-148 0 90
-164 0 82
-180 0 82
-205 0 82
-222 0 82
-238 0 74
-255 0 74
-255 8 82
-255 32 98
-8 24 74
-24 24 74
-41 24 74
-57 24 74
-74 24 74
-90 24 74
-131 24 82
-148 16 82
-164 16 82
-180 16 82
-197 16 74
-222 16 74
-238 16 74
-246 24 82
-255 41 90
-255 49 98
-8 41 74
-24 41 74
-41 41 74
-57 41 74
-74 41 74
-106 41 82
-123 41 82
-148 41 82
-164 32 82
-180 32 82
-197 32 74
-213 32 74
-222 41 82
-238 57 90
-255 57 90
-255 65 98
-8 57 74
-24 57 74
-41 57 74
-65 65 82
-82 65 82
-106 57 82
-123 57 82
-139 57 82
-156 57 74
-180 57 74
-197 49 74
-205 57 82
-222 74 90
-238 74 90
-255 74 90
-255 82 98
-8 74 74
-24 74 74
-41 74 74
-65 82 82
-82 82 82
-98 82 82
-123 82 82
-139 74 74
-156 74 74
-172 74 74
-189 82 82
-205 90 90
-222 90 90
-238 90 90
-255 90 90
-255 106 106
-8 90 74
-24 90 74
-41 106 82
-57 106 82
-82 98 82
-98 98 82
-123 98 82
-139 98 74
-156 98 74
-172 90 74
-189 98 82
-205 106 90
-222 106 90
-238 106 90
-255 106 90
-255 115 106
-8 106 74
-24 131 82
-41 123 82
-57 123 82
-82 123 82
-98 123 82
-123 123 82
-139 115 74
-156 115 74
-172 115 74
-189 115 82
-205 123 90
-222 123 90
-238 123 90
-255 123 90
-255 131 106
-0 148 82
-16 148 82
-41 148 82
-57 139 82
-74 139 74
-98 139 74
-115 139 74
-139 139 74
-156 139 74
-172 131 74
-189 131 82
-205 139 90
-222 139 90
-238 139 90
-255 139 90
-255 148 106
-0 164 82
-16 164 82
-32 164 74
-57 156 74
-74 156 74
-98 156 74
-115 156 74
-139 156 74
-156 156 74
-172 156 74
-189 148 82
-205 156 90
-222 156 90
-238 156 90
-255 156 90
-255 156 106
-0 180 82
-16 180 74
-32 180 74
-57 180 74
-74 172 74
-90 172 74
-115 172 74
-131 172 74
-156 172 74
-172 172 74
-189 164 82
-205 172 90
-222 172 90
-238 172 90
-255 172 90
-255 172 106
-0 205 74
-16 197 74
-32 197 74
-49 197 74
-82 189 82
-98 189 82
-115 189 82
-131 189 82
-148 189 82
-172 189 82
-189 189 82
-205 189 90
-222 189 90
-238 189 90
-255 189 90
-255 189 106
-0 222 74
-16 222 74
-32 213 74
-57 205 74
-90 205 90
-106 205 90
-123 205 90
-139 205 90
-156 205 90
-172 205 90
-189 205 90
-205 205 90
-222 205 90
-238 205 90
-255 197 90
-255 197 106
-0 238 74
-16 238 74
-41 222 74
-74 222 90
-90 222 90
-106 222 90
-123 222 90
-139 222 90
-156 222 90
-172 222 90
-189 222 90
-205 222 90
-222 222 90
-238 222 90
-255 213 90
-255 213 106
-0 255 74
-24 246 82
-57 238 90
-74 238 90
-90 238 90
-106 238 90
-123 238 90
-139 238 90
-156 238 90
-172 238 90
-189 238 90
-205 238 90
-222 238 90
-238 238 90
-255 230 90
-255 230 106
-8 255 82
-41 255 90
-57 255 90
-74 255 90
-90 255 90
-106 255 90
-123 255 90
-139 255 90
-156 255 90
-172 255 90
-189 255 90
-205 255 90
-222 255 90
-238 255 90
-255 255 90
-255 246 106
-32 255 90
-49 255 90
-65 255 98
-82 255 98
-106 255 106
-115 255 106
-131 255 106
-148 255 106
-156 255 106
-172 255 106
-189 255 106
-205 255 106
-213 255 106
-230 255 106
-246 255 106
-255 255 106
diff --git a/graphics/misc/sunny_day/21.pal b/graphics/misc/sunny_day/21.pal
deleted file mode 100644
index 9a48b9028..000000000
--- a/graphics/misc/sunny_day/21.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 90
-24 8 90
-41 8 90
-57 8 90
-74 8 90
-90 8 90
-106 8 90
-148 0 106
-164 0 106
-180 0 106
-205 0 98
-222 0 98
-238 0 98
-255 0 98
-255 8 98
-255 32 106
-8 24 90
-24 24 90
-41 24 90
-57 24 90
-74 24 90
-90 24 90
-131 24 106
-148 16 106
-164 16 106
-180 16 98
-197 16 98
-222 16 98
-238 16 98
-246 24 98
-255 41 106
-255 49 115
-8 41 90
-24 41 90
-41 41 106
-65 41 106
-82 41 106
-106 41 106
-123 41 106
-148 41 98
-164 32 98
-180 32 98
-197 32 98
-213 32 98
-222 41 98
-238 57 106
-255 57 106
-255 65 115
-8 57 90
-24 57 90
-41 65 106
-57 57 106
-82 57 106
-106 57 106
-123 57 98
-139 57 98
-156 57 98
-180 57 98
-197 49 98
-205 57 98
-222 74 106
-238 74 106
-255 74 106
-255 82 115
-8 74 90
-24 74 90
-41 82 106
-57 82 106
-82 82 98
-98 82 98
-123 82 98
-139 74 98
-156 74 98
-172 74 90
-189 82 98
-205 90 106
-222 90 106
-238 90 106
-255 90 106
-255 106 115
-8 90 90
-24 90 90
-41 106 106
-57 106 106
-82 98 98
-98 98 98
-123 98 98
-139 98 98
-156 98 98
-172 98 98
-189 106 106
-205 106 106
-222 106 106
-238 106 106
-255 115 115
-255 123 123
-8 106 90
-24 131 106
-41 123 106
-57 123 98
-82 123 98
-98 123 98
-123 123 98
-139 115 98
-156 115 98
-172 115 98
-189 123 106
-205 123 106
-222 123 106
-238 123 106
-255 123 115
-255 131 123
-0 148 106
-16 148 98
-41 148 98
-57 139 98
-74 139 98
-98 139 98
-115 139 98
-139 139 98
-156 131 98
-172 131 98
-189 139 106
-205 139 106
-222 139 106
-238 139 106
-255 139 115
-255 148 123
-0 164 98
-16 164 98
-32 164 98
-57 156 98
-74 156 98
-98 156 98
-115 156 98
-131 156 98
-156 156 98
-172 156 98
-189 156 106
-205 156 106
-222 156 106
-238 156 106
-255 156 115
-255 156 123
-0 180 98
-16 180 98
-32 180 98
-57 180 90
-74 172 90
-98 172 98
-115 172 98
-131 172 98
-156 172 98
-172 172 98
-189 172 106
-205 172 106
-222 172 106
-238 172 106
-255 172 115
-255 172 123
-0 205 98
-16 197 98
-32 197 98
-49 197 90
-82 189 98
-106 189 106
-123 189 106
-139 189 106
-156 189 106
-172 189 106
-189 189 106
-205 189 106
-222 189 106
-238 189 106
-255 189 115
-255 189 123
-0 222 98
-16 222 90
-32 213 90
-57 205 98
-90 205 106
-106 205 106
-123 205 106
-139 205 106
-156 205 106
-172 205 106
-189 205 106
-205 205 106
-222 205 106
-238 205 106
-255 205 115
-255 197 123
-0 238 90
-16 238 90
-41 222 90
-74 222 106
-90 222 106
-106 222 106
-123 222 106
-139 222 106
-156 222 106
-172 222 106
-189 222 106
-205 222 106
-222 222 106
-238 222 106
-255 222 115
-255 213 123
-0 255 90
-24 246 90
-57 238 106
-74 238 106
-90 238 106
-106 238 106
-123 238 106
-139 238 106
-156 238 106
-172 238 106
-189 238 106
-205 238 106
-222 238 106
-238 238 106
-255 238 115
-255 230 123
-8 255 98
-41 255 106
-57 255 106
-74 255 106
-90 255 106
-115 255 115
-123 255 115
-139 255 115
-156 255 115
-172 255 115
-189 255 115
-205 255 115
-222 255 115
-238 255 115
-255 255 115
-255 246 123
-32 255 106
-49 255 106
-65 255 106
-82 255 115
-106 255 115
-123 255 123
-131 255 123
-148 255 123
-164 255 123
-172 255 123
-189 255 123
-205 255 123
-213 255 123
-230 255 123
-246 255 123
-255 255 123
diff --git a/graphics/misc/sunny_day/22.pal b/graphics/misc/sunny_day/22.pal
deleted file mode 100644
index 25d9bc513..000000000
--- a/graphics/misc/sunny_day/22.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 106
-24 8 106
-41 8 106
-57 8 106
-74 8 106
-90 8 106
-106 8 106
-148 0 131
-164 0 123
-180 0 123
-205 0 123
-222 0 115
-238 0 115
-255 0 115
-255 8 115
-255 32 123
-8 24 106
-24 24 131
-41 24 131
-57 24 131
-82 24 131
-106 24 131
-131 24 131
-148 16 123
-164 16 123
-180 16 123
-197 16 123
-222 16 115
-238 16 115
-246 24 115
-255 41 123
-255 49 131
-8 41 106
-24 41 131
-41 41 123
-57 41 123
-82 41 123
-106 41 123
-123 41 123
-148 41 123
-164 32 123
-180 32 123
-197 32 115
-213 32 115
-222 41 115
-238 57 123
-255 57 123
-255 65 131
-8 57 106
-24 65 131
-41 57 123
-57 57 123
-82 57 123
-98 57 123
-123 57 123
-139 57 123
-156 57 115
-180 57 115
-197 49 115
-205 57 115
-222 74 123
-238 74 123
-255 74 123
-255 82 131
-8 74 106
-24 82 131
-41 82 123
-57 82 123
-82 82 123
-98 82 123
-123 82 123
-139 74 115
-156 74 115
-172 74 115
-189 82 115
-205 90 123
-222 90 123
-238 90 123
-255 90 123
-255 106 131
-8 90 106
-24 106 131
-41 106 123
-57 98 123
-82 98 123
-98 98 123
-123 98 123
-139 98 115
-156 98 115
-172 98 115
-189 106 123
-205 106 123
-222 106 123
-238 106 123
-255 115 123
-255 123 131
-8 106 106
-24 131 131
-41 123 123
-57 123 123
-82 123 123
-98 123 123
-115 115 115
-139 115 115
-156 115 115
-172 123 123
-189 123 123
-205 123 123
-222 123 123
-238 123 123
-246 131 131
-255 139 139
-0 148 123
-16 148 123
-41 148 123
-57 139 123
-74 139 115
-98 139 115
-115 139 115
-139 139 115
-156 131 115
-172 139 123
-189 139 123
-205 139 123
-222 139 123
-238 139 123
-246 139 131
-255 148 139
-0 164 123
-16 164 123
-32 164 115
-57 156 115
-74 156 115
-98 156 115
-115 156 115
-131 156 115
-156 156 115
-172 156 123
-189 156 123
-205 156 123
-222 156 123
-238 156 123
-246 156 131
-255 164 139
-0 180 115
-16 180 115
-32 180 115
-57 180 115
-74 172 115
-98 172 115
-123 172 123
-139 172 123
-156 172 123
-172 172 123
-189 172 123
-205 172 123
-222 172 123
-238 172 123
-246 172 131
-255 172 139
-0 205 115
-16 197 115
-32 197 115
-49 197 115
-82 189 115
-106 189 123
-123 189 123
-139 189 123
-156 189 123
-172 189 123
-189 189 123
-205 189 123
-222 189 123
-238 189 123
-246 189 131
-255 189 139
-0 222 115
-16 222 115
-32 213 115
-57 205 115
-90 205 123
-106 205 123
-123 205 123
-139 205 123
-156 205 123
-172 205 123
-189 205 123
-205 205 123
-222 205 123
-238 205 123
-246 205 131
-255 205 139
-0 238 115
-16 238 115
-41 222 115
-74 222 123
-90 222 123
-106 222 123
-123 222 123
-139 222 123
-156 222 123
-172 222 123
-189 222 123
-205 222 123
-222 222 123
-238 222 123
-246 222 131
-255 213 139
-0 255 115
-24 246 115
-57 238 123
-74 238 123
-90 238 123
-106 238 123
-123 238 123
-139 238 123
-156 238 123
-172 238 123
-189 238 123
-205 238 123
-222 238 123
-238 238 123
-246 230 131
-255 230 139
-8 255 115
-41 255 115
-57 255 123
-74 255 123
-90 255 123
-115 255 123
-131 246 131
-148 246 131
-156 246 131
-172 246 131
-189 246 131
-205 246 131
-222 246 131
-238 246 131
-246 246 131
-255 246 139
-32 255 123
-49 255 123
-65 255 123
-82 255 131
-106 255 131
-123 255 131
-139 255 139
-148 255 139
-164 255 139
-180 255 139
-189 255 139
-205 255 139
-222 255 139
-230 255 139
-246 255 139
-255 255 139
diff --git a/graphics/misc/sunny_day/23.pal b/graphics/misc/sunny_day/23.pal
deleted file mode 100644
index 478a765f6..000000000
--- a/graphics/misc/sunny_day/23.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 148
-16 0 148
-41 0 148
-57 0 148
-82 0 148
-106 0 148
-123 0 148
-148 0 148
-164 0 148
-180 0 139
-205 0 139
-222 0 139
-238 0 139
-255 0 139
-255 8 131
-255 32 139
-0 24 148
-16 16 148
-41 16 148
-57 16 148
-82 16 148
-98 16 148
-123 16 148
-148 16 148
-164 16 148
-180 16 139
-197 16 139
-222 16 139
-238 16 139
-246 24 131
-255 41 139
-255 49 139
-0 41 148
-16 41 148
-41 41 148
-57 41 148
-82 41 148
-98 41 148
-123 41 148
-148 41 148
-164 32 139
-180 32 139
-197 32 139
-213 32 139
-222 41 131
-238 57 139
-255 57 139
-255 65 139
-0 65 148
-16 57 148
-41 57 148
-57 57 139
-82 57 139
-98 57 139
-123 57 139
-139 57 139
-156 57 139
-180 57 139
-197 49 139
-205 57 131
-222 74 139
-238 74 139
-255 74 139
-255 82 139
-0 90 148
-16 82 148
-41 82 148
-57 82 139
-74 74 139
-98 74 139
-115 74 139
-139 74 139
-156 74 139
-172 74 131
-189 82 131
-205 90 139
-222 90 139
-238 90 139
-255 90 139
-255 106 148
-0 106 148
-16 106 148
-41 98 148
-57 98 139
-74 98 139
-98 98 139
-115 98 139
-139 98 139
-156 98 131
-172 98 131
-189 106 139
-205 106 139
-222 106 139
-238 106 139
-255 115 139
-255 123 148
-0 131 148
-16 123 148
-41 123 148
-57 123 139
-74 115 139
-98 115 139
-115 115 139
-139 115 139
-156 115 131
-172 123 139
-189 123 139
-205 123 139
-222 123 139
-238 123 139
-246 131 148
-255 139 148
-0 148 148
-16 148 148
-41 148 148
-57 139 139
-74 139 139
-98 139 139
-115 139 139
-139 131 131
-156 139 139
-172 139 139
-189 139 139
-205 139 139
-222 139 139
-238 139 139
-246 148 148
-255 156 156
-0 164 148
-16 164 139
-32 164 139
-57 156 139
-74 156 139
-98 156 131
-115 156 131
-139 156 139
-156 156 139
-172 156 139
-189 156 139
-205 156 139
-222 156 139
-238 156 139
-246 156 148
-255 164 156
-0 180 139
-16 180 139
-32 180 139
-57 180 131
-74 172 131
-98 172 131
-123 172 139
-139 172 139
-156 172 139
-172 172 139
-189 172 139
-205 172 139
-222 172 139
-238 172 139
-246 172 148
-255 180 156
-0 205 139
-16 197 139
-32 197 131
-49 197 131
-82 189 131
-106 189 139
-123 189 139
-139 189 139
-156 189 139
-172 189 139
-189 189 139
-205 189 139
-222 189 139
-238 189 139
-246 189 148
-255 189 156
-0 222 131
-16 222 131
-32 213 131
-57 205 131
-90 205 139
-106 205 139
-123 205 139
-139 205 139
-156 205 139
-172 205 139
-189 205 139
-205 205 139
-222 205 139
-238 205 139
-246 205 148
-255 205 156
-0 238 131
-16 238 131
-41 222 131
-74 222 139
-90 222 139
-106 222 139
-123 222 139
-139 222 139
-156 222 139
-172 222 139
-189 222 139
-205 222 139
-222 222 139
-238 222 139
-246 222 148
-255 222 156
-0 255 131
-24 246 131
-57 238 139
-74 238 139
-90 238 139
-106 238 139
-123 238 139
-139 238 139
-156 238 139
-172 238 139
-189 238 139
-205 238 139
-222 238 139
-238 238 139
-246 238 148
-255 230 156
-8 255 131
-41 255 139
-57 255 139
-74 255 139
-90 255 139
-115 255 139
-131 246 139
-148 246 148
-164 246 148
-180 246 148
-189 246 148
-205 246 148
-222 246 148
-238 246 148
-246 246 148
-255 246 156
-32 255 139
-49 255 139
-65 255 139
-82 255 139
-106 255 148
-123 255 148
-139 255 148
-156 255 156
-164 255 156
-180 255 156
-197 255 156
-205 255 156
-222 255 156
-230 255 156
-246 255 156
-255 255 156
diff --git a/graphics/misc/sunny_day/24.pal b/graphics/misc/sunny_day/24.pal
deleted file mode 100644
index 5da491fd2..000000000
--- a/graphics/misc/sunny_day/24.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 164
-16 0 164
-41 0 164
-57 0 164
-82 0 164
-98 0 164
-123 0 164
-148 0 164
-164 0 164
-180 0 164
-205 0 164
-222 0 156
-238 0 156
-255 0 156
-255 8 156
-255 32 156
-0 24 164
-16 16 164
-41 16 164
-57 16 164
-82 16 164
-98 16 164
-123 16 164
-139 16 164
-164 16 164
-180 16 164
-197 16 164
-222 16 156
-238 16 156
-246 24 148
-255 41 156
-255 49 156
-0 41 164
-16 41 164
-32 32 164
-57 32 164
-74 32 164
-98 32 164
-115 32 164
-139 32 164
-164 32 164
-180 32 164
-197 32 156
-213 32 156
-222 41 148
-238 57 156
-255 57 156
-255 65 156
-0 65 164
-16 65 164
-32 57 164
-57 57 156
-74 57 156
-98 57 156
-115 57 156
-139 57 156
-156 57 156
-180 57 156
-197 49 156
-205 57 156
-222 74 156
-238 74 156
-255 74 156
-255 82 156
-0 82 164
-16 82 164
-32 82 164
-57 74 156
-74 74 156
-98 74 156
-115 74 156
-139 74 156
-156 74 156
-172 74 156
-189 82 148
-205 90 156
-222 90 156
-238 90 156
-255 90 156
-255 106 156
-0 106 164
-16 106 164
-32 98 164
-57 98 156
-74 98 156
-98 98 156
-115 98 156
-131 98 156
-156 98 156
-172 98 156
-189 106 156
-205 106 156
-222 106 156
-238 106 156
-255 115 156
-255 123 164
-0 123 164
-16 123 164
-32 123 164
-57 115 156
-74 115 156
-98 115 156
-115 115 156
-131 115 156
-156 115 156
-172 123 156
-189 123 156
-205 123 156
-222 123 156
-238 123 156
-246 131 156
-255 139 164
-0 148 164
-16 148 164
-32 139 164
-57 139 156
-74 139 156
-98 131 156
-115 131 156
-139 139 156
-156 139 156
-172 139 156
-189 139 156
-205 139 156
-222 139 156
-238 139 156
-246 148 164
-255 156 164
-0 164 164
-16 164 164
-32 164 164
-57 156 156
-74 156 156
-98 156 156
-115 156 156
-139 156 156
-156 156 156
-172 156 156
-189 156 156
-205 156 156
-222 156 156
-238 164 164
-246 164 164
-255 180 180
-0 180 164
-16 180 156
-32 180 156
-57 180 156
-74 172 156
-98 172 156
-123 172 156
-139 172 156
-156 172 156
-172 172 156
-189 172 156
-205 172 156
-222 172 156
-238 172 164
-246 172 164
-255 189 180
-0 205 156
-16 197 156
-32 197 156
-49 197 156
-82 189 148
-106 189 156
-123 189 156
-139 189 156
-156 189 156
-172 189 156
-189 189 156
-205 189 156
-222 189 156
-238 189 164
-246 189 164
-255 205 180
-0 222 156
-16 222 156
-32 213 148
-57 205 148
-90 205 156
-106 205 156
-123 205 156
-139 205 156
-156 205 156
-172 205 156
-189 205 156
-205 205 156
-222 205 156
-238 205 164
-246 205 164
-255 213 180
-0 238 156
-16 238 148
-41 222 148
-74 222 156
-90 222 156
-106 222 156
-123 222 156
-139 222 156
-156 222 156
-172 222 156
-189 222 156
-205 222 156
-222 222 156
-238 222 164
-246 222 164
-255 222 180
-0 255 148
-24 246 148
-57 238 156
-74 238 156
-90 238 156
-106 238 156
-123 238 156
-139 238 156
-164 238 164
-172 238 164
-189 238 164
-205 238 164
-222 238 164
-238 238 164
-246 230 164
-255 238 180
-8 255 148
-41 255 156
-57 255 156
-74 255 156
-90 255 156
-115 255 156
-131 246 156
-148 246 156
-164 246 164
-180 246 164
-189 246 164
-205 246 164
-222 246 164
-238 246 164
-246 246 164
-255 246 180
-32 255 148
-49 255 156
-65 255 156
-82 255 156
-106 255 156
-123 255 156
-139 255 164
-156 255 164
-180 255 180
-189 255 180
-205 255 180
-213 255 180
-230 255 180
-238 255 180
-246 255 180
-255 255 180
diff --git a/graphics/misc/sunny_day/25.pal b/graphics/misc/sunny_day/25.pal
deleted file mode 100644
index dce1c86a1..000000000
--- a/graphics/misc/sunny_day/25.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 180
-16 0 180
-41 0 180
-57 0 180
-82 0 180
-98 0 180
-115 0 180
-139 0 180
-164 0 180
-180 0 180
-205 0 180
-222 0 180
-238 0 172
-255 0 172
-255 8 172
-255 32 172
-0 16 180
-16 16 180
-41 16 180
-57 16 180
-74 16 180
-98 16 180
-115 16 180
-139 16 180
-156 16 180
-180 16 180
-197 16 180
-222 16 180
-238 16 180
-246 24 172
-255 41 172
-255 49 172
-0 41 180
-16 41 180
-32 32 180
-57 32 180
-74 32 180
-98 32 180
-115 32 180
-139 32 180
-156 32 180
-180 32 180
-197 32 180
-213 32 172
-222 41 172
-238 57 172
-255 57 172
-255 65 172
-0 57 180
-16 57 180
-32 57 180
-57 57 180
-74 57 180
-90 57 180
-115 57 180
-131 57 180
-156 57 180
-180 57 180
-197 49 180
-205 57 172
-222 74 172
-238 74 172
-255 74 172
-255 82 172
-0 82 180
-16 82 180
-32 82 180
-57 74 180
-74 74 172
-90 74 172
-115 74 172
-131 74 172
-156 74 172
-172 74 172
-189 82 172
-205 90 172
-222 90 172
-238 90 172
-255 90 172
-255 106 172
-0 106 180
-16 98 180
-32 98 180
-57 98 180
-74 90 172
-98 98 172
-115 98 172
-131 98 172
-156 98 172
-172 98 172
-189 106 172
-205 106 172
-222 106 172
-238 106 172
-255 115 172
-255 123 172
-0 123 180
-16 123 180
-32 123 180
-57 115 180
-74 115 172
-98 115 172
-123 123 172
-139 123 172
-156 123 172
-172 123 172
-189 123 172
-205 123 172
-222 123 172
-238 123 172
-246 131 172
-255 139 180
-0 139 180
-16 139 180
-32 139 180
-57 139 180
-74 131 172
-98 131 172
-123 139 172
-139 139 172
-156 139 172
-172 139 172
-189 139 172
-205 139 172
-222 139 172
-238 139 172
-246 148 180
-255 156 180
-0 164 180
-16 164 180
-32 164 180
-57 156 180
-74 156 172
-98 156 172
-123 156 172
-139 156 172
-156 156 172
-172 156 172
-189 156 172
-205 156 172
-222 156 172
-238 164 172
-246 164 180
-255 180 189
-0 180 180
-16 180 180
-32 180 180
-57 180 180
-74 172 172
-98 172 172
-123 172 172
-139 172 172
-156 172 172
-172 172 172
-189 172 172
-205 172 172
-222 172 172
-238 180 180
-246 189 189
-255 197 197
-0 205 180
-16 197 180
-32 197 172
-49 197 172
-82 189 164
-106 189 172
-123 189 172
-139 189 172
-156 189 172
-172 189 172
-189 189 172
-205 189 172
-222 189 172
-238 189 180
-246 197 189
-255 205 197
-0 222 172
-16 222 172
-32 213 172
-57 205 172
-90 205 172
-106 205 172
-123 205 172
-139 205 172
-156 205 172
-172 205 172
-189 205 172
-205 205 172
-222 205 172
-238 205 180
-246 213 189
-255 213 197
-0 238 172
-16 238 172
-41 222 164
-74 222 172
-90 222 172
-106 222 172
-123 222 172
-139 222 172
-156 222 172
-172 222 172
-189 222 172
-205 222 172
-222 222 172
-238 222 180
-246 222 189
-255 230 197
-0 255 172
-24 246 164
-57 238 164
-74 238 172
-90 238 172
-106 238 172
-123 238 172
-139 238 172
-164 238 172
-180 238 180
-189 238 180
-205 238 180
-222 238 180
-238 238 180
-246 238 189
-255 238 197
-8 255 164
-41 255 164
-57 255 164
-74 255 172
-90 255 172
-115 255 172
-131 246 172
-148 246 172
-164 246 172
-189 246 189
-205 246 189
-213 246 189
-230 246 189
-238 246 189
-246 246 189
-255 246 197
-32 255 164
-49 255 172
-65 255 172
-82 255 172
-106 255 172
-123 255 172
-139 255 172
-156 255 180
-180 255 189
-197 255 197
-205 255 197
-222 255 197
-230 255 197
-238 255 197
-246 255 197
-255 255 197
diff --git a/graphics/misc/sunny_day/26.pal b/graphics/misc/sunny_day/26.pal
deleted file mode 100644
index 2ddab2f0b..000000000
--- a/graphics/misc/sunny_day/26.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 205
-16 0 205
-32 0 205
-57 0 205
-74 0 205
-98 0 205
-115 0 205
-139 0 205
-156 0 205
-180 0 205
-205 0 205
-222 0 197
-238 0 197
-255 0 197
-255 8 189
-255 32 180
-0 16 205
-16 16 197
-32 16 197
-57 16 197
-74 16 197
-98 16 197
-115 16 197
-139 16 197
-156 16 197
-180 16 197
-197 16 197
-222 16 197
-238 16 197
-246 24 189
-255 41 189
-255 49 189
-0 41 205
-16 32 197
-32 32 197
-57 32 197
-74 32 197
-98 32 197
-115 32 197
-131 32 197
-156 32 197
-172 32 197
-197 32 197
-213 32 197
-222 41 189
-238 57 189
-255 57 189
-255 65 189
-0 57 205
-16 57 197
-32 57 197
-49 49 197
-74 49 197
-90 49 197
-115 49 197
-131 49 197
-156 49 197
-172 49 197
-197 49 197
-205 57 189
-222 74 189
-238 74 189
-255 74 189
-255 82 189
-0 82 205
-16 74 197
-32 74 197
-49 74 197
-82 82 189
-98 82 189
-115 82 189
-131 82 189
-148 82 189
-164 82 189
-189 82 189
-205 90 189
-222 90 189
-238 90 189
-255 90 189
-255 106 189
-0 98 205
-16 98 197
-32 98 197
-49 98 197
-82 98 189
-106 106 189
-123 106 189
-139 106 189
-156 106 189
-172 106 189
-189 106 189
-205 106 189
-222 106 189
-238 106 189
-255 115 189
-255 123 189
-0 123 205
-16 123 197
-32 115 197
-49 115 197
-82 115 189
-106 123 189
-123 123 189
-139 123 189
-156 123 189
-172 123 189
-189 123 189
-205 123 189
-222 123 189
-238 123 189
-246 131 189
-255 139 189
-0 139 205
-16 139 197
-32 139 197
-49 139 197
-82 131 189
-106 139 189
-123 139 189
-139 139 189
-156 139 189
-172 139 189
-189 139 189
-205 139 189
-222 139 189
-238 139 189
-246 148 189
-255 156 197
-0 164 205
-16 164 197
-32 156 197
-49 156 197
-82 148 189
-106 156 189
-123 156 189
-139 156 189
-156 156 189
-172 156 189
-189 156 189
-205 156 189
-222 156 189
-238 164 189
-246 164 189
-255 180 205
-0 180 205
-16 180 197
-32 180 197
-49 180 197
-82 172 189
-106 172 189
-123 172 189
-139 172 189
-156 172 189
-172 172 189
-189 172 189
-205 172 189
-222 172 189
-238 180 189
-246 189 205
-255 197 205
-0 205 205
-16 197 197
-32 197 197
-49 197 197
-82 189 189
-106 189 189
-123 189 189
-139 189 189
-156 189 189
-172 189 189
-189 189 189
-205 189 189
-222 189 189
-238 205 205
-246 205 205
-255 213 213
-0 222 197
-16 222 197
-32 213 197
-57 205 189
-90 205 189
-106 205 189
-123 205 189
-139 205 189
-156 205 189
-172 205 189
-189 205 189
-205 205 189
-222 205 189
-238 213 205
-246 213 205
-255 222 213
-0 238 189
-16 238 189
-41 222 180
-74 222 189
-90 222 189
-106 222 189
-123 222 189
-139 222 189
-156 222 189
-172 222 189
-189 222 189
-205 222 189
-222 222 189
-238 222 205
-246 230 205
-255 230 213
-0 255 189
-24 246 189
-57 238 189
-74 238 180
-90 238 189
-106 238 189
-123 238 189
-139 238 189
-164 238 189
-180 238 189
-205 238 205
-213 238 205
-230 238 205
-238 238 205
-246 238 205
-255 238 213
-8 255 180
-41 255 189
-57 255 180
-74 255 180
-90 255 189
-115 255 189
-131 246 189
-148 246 189
-164 246 189
-189 246 197
-205 246 205
-213 246 205
-230 246 205
-238 246 205
-246 246 205
-255 246 213
-32 255 180
-49 255 180
-65 255 180
-82 255 180
-106 255 189
-123 255 189
-139 255 189
-156 255 189
-180 255 205
-197 255 205
-213 255 213
-222 255 213
-230 255 213
-238 255 213
-246 255 213
-255 255 213
diff --git a/graphics/misc/sunny_day/27.pal b/graphics/misc/sunny_day/27.pal
deleted file mode 100644
index a0af5ad23..000000000
--- a/graphics/misc/sunny_day/27.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 222
-16 0 222
-32 0 222
-57 0 222
-74 0 222
-98 0 222
-115 0 222
-131 0 222
-156 0 222
-172 0 222
-197 0 222
-222 0 222
-238 0 213
-255 0 213
-255 8 205
-255 32 197
-0 16 222
-16 16 222
-32 16 222
-49 16 222
-74 16 222
-90 16 222
-115 16 222
-131 16 222
-156 16 222
-172 16 222
-197 16 222
-222 16 222
-238 16 213
-246 24 205
-255 41 205
-255 49 197
-0 41 222
-16 32 222
-32 32 213
-49 32 213
-74 32 213
-90 32 213
-115 32 213
-131 32 213
-148 32 213
-172 32 213
-197 32 213
-213 32 213
-222 41 205
-238 57 205
-255 57 205
-255 65 205
-0 57 222
-16 57 222
-32 57 213
-57 57 205
-74 57 205
-98 57 205
-115 57 205
-131 57 205
-148 57 205
-172 57 205
-189 57 205
-205 57 205
-222 74 205
-238 74 205
-255 74 205
-255 82 197
-0 82 222
-16 74 222
-32 74 213
-57 82 205
-90 90 205
-106 90 205
-123 90 205
-139 90 205
-156 90 205
-172 90 205
-189 90 205
-205 90 205
-222 90 205
-238 90 205
-255 90 205
-255 106 205
-0 98 222
-16 98 222
-32 98 213
-57 98 205
-90 106 205
-106 106 205
-123 106 205
-139 106 205
-156 106 205
-172 106 205
-189 106 205
-205 106 205
-222 106 205
-238 106 205
-255 115 205
-255 123 205
-0 115 222
-16 115 222
-32 115 213
-57 115 205
-90 123 205
-106 123 205
-123 123 205
-139 123 205
-156 123 205
-172 123 205
-189 123 205
-205 123 205
-222 123 205
-238 123 205
-246 131 205
-255 139 205
-0 139 222
-16 139 222
-32 139 213
-57 131 205
-90 139 205
-106 139 205
-123 139 205
-139 139 205
-156 139 205
-172 139 205
-189 139 205
-205 139 205
-222 139 205
-238 139 205
-246 148 205
-255 156 205
-0 156 222
-16 156 222
-32 156 213
-57 156 205
-90 156 205
-106 156 205
-123 156 205
-139 156 205
-156 156 205
-172 156 205
-189 156 205
-205 156 205
-222 156 205
-238 164 205
-246 164 205
-255 180 213
-0 180 222
-16 180 222
-32 172 213
-57 172 205
-90 172 205
-106 172 205
-123 172 205
-139 172 205
-156 172 205
-172 172 205
-189 172 205
-205 172 205
-222 172 205
-238 180 205
-246 189 213
-255 197 222
-0 197 222
-16 197 222
-32 197 213
-57 189 205
-90 189 205
-106 189 205
-123 189 205
-139 189 205
-156 189 205
-172 189 205
-189 189 205
-205 189 205
-222 189 205
-238 205 213
-246 205 213
-255 213 222
-0 222 222
-16 222 222
-32 213 213
-57 205 205
-90 205 205
-106 205 205
-123 205 205
-139 205 205
-156 205 205
-172 205 205
-189 205 205
-205 205 205
-230 213 213
-238 213 213
-255 222 222
-255 230 230
-0 238 213
-16 238 213
-41 222 205
-74 222 205
-90 222 205
-106 222 205
-123 222 205
-139 222 205
-156 222 205
-172 222 205
-189 222 205
-213 230 213
-230 230 213
-238 230 213
-255 230 222
-255 238 230
-0 255 213
-24 246 205
-57 238 197
-74 238 197
-90 238 205
-106 238 205
-123 238 205
-139 238 205
-164 238 205
-180 238 205
-205 238 213
-213 238 213
-230 238 213
-238 238 213
-255 238 222
-255 246 230
-8 255 205
-41 255 197
-57 255 205
-74 255 205
-90 255 197
-115 255 205
-131 246 205
-148 246 205
-164 246 205
-189 246 213
-205 246 213
-222 255 222
-230 255 222
-238 255 222
-255 255 222
-255 255 230
-32 255 197
-49 255 197
-65 255 197
-82 255 197
-106 255 197
-123 255 197
-139 255 205
-156 255 205
-180 255 213
-197 255 213
-213 255 222
-230 255 230
-238 255 230
-246 255 230
-255 255 230
-255 255 230
diff --git a/graphics/misc/sunny_day/28.pal b/graphics/misc/sunny_day/28.pal
deleted file mode 100644
index fbc88233a..000000000
--- a/graphics/misc/sunny_day/28.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 238
-8 0 238
-32 0 238
-57 0 238
-74 0 238
-90 0 238
-115 0 238
-131 0 238
-156 0 238
-172 0 238
-189 0 238
-213 0 238
-238 0 238
-255 0 238
-255 8 222
-255 32 213
-0 16 238
-16 16 238
-32 16 238
-49 16 238
-74 16 238
-90 16 238
-115 16 238
-131 16 238
-148 16 238
-172 16 238
-189 16 238
-213 16 238
-238 16 238
-246 24 222
-255 41 222
-255 49 213
-0 32 238
-16 32 238
-41 41 222
-57 41 222
-74 41 222
-90 41 222
-115 41 222
-131 41 222
-148 41 222
-164 41 222
-180 41 222
-205 41 222
-222 41 222
-238 57 222
-255 57 222
-255 65 213
-0 57 238
-16 57 238
-41 57 222
-74 74 222
-90 74 222
-106 74 222
-123 74 222
-139 74 222
-156 74 222
-172 74 222
-189 74 222
-205 74 222
-222 74 222
-238 74 222
-255 74 222
-255 82 213
-0 74 238
-16 74 238
-41 82 222
-74 90 222
-90 90 222
-106 90 222
-123 90 222
-139 90 222
-156 90 222
-172 90 222
-189 90 222
-205 90 222
-222 90 222
-238 90 222
-255 90 222
-255 106 213
-0 98 238
-16 98 238
-41 98 222
-74 106 222
-90 106 222
-106 106 222
-123 106 222
-139 106 222
-156 106 222
-172 106 222
-189 106 222
-205 106 222
-222 106 222
-238 106 222
-255 115 222
-255 123 213
-0 115 238
-16 115 238
-41 115 222
-74 123 222
-90 123 222
-106 123 222
-123 123 222
-139 123 222
-156 123 222
-172 123 222
-189 123 222
-205 123 222
-222 123 222
-238 123 222
-246 131 222
-255 139 222
-0 139 238
-16 139 238
-41 131 222
-74 139 222
-90 139 222
-106 139 222
-123 139 222
-139 139 222
-156 139 222
-172 139 222
-189 139 222
-205 139 222
-222 139 222
-238 139 222
-246 148 222
-255 156 222
-0 156 238
-16 156 238
-41 148 222
-74 156 222
-90 156 222
-106 156 222
-123 156 222
-139 156 222
-156 156 222
-172 156 222
-189 156 222
-205 156 222
-222 156 222
-238 164 222
-246 164 222
-255 180 230
-0 172 238
-16 180 238
-41 172 222
-74 172 222
-90 172 222
-106 172 222
-123 172 222
-139 172 222
-156 172 222
-172 172 222
-189 172 222
-205 172 222
-222 172 222
-238 180 222
-246 189 230
-255 197 230
-0 197 238
-16 197 238
-41 189 222
-74 189 222
-90 189 222
-106 189 222
-123 189 222
-139 189 222
-156 189 222
-172 189 222
-189 189 222
-205 189 222
-222 189 222
-238 205 230
-246 205 230
-255 213 230
-0 213 238
-16 213 238
-41 205 222
-74 205 222
-90 205 222
-106 205 222
-123 205 222
-139 205 222
-156 205 222
-172 205 222
-189 205 222
-213 213 230
-230 213 230
-238 213 230
-255 222 230
-255 230 238
-0 238 238
-16 238 238
-41 222 222
-74 222 222
-90 222 222
-106 222 222
-123 222 222
-139 222 222
-156 222 222
-172 222 222
-189 222 222
-213 230 230
-230 230 230
-238 230 230
-255 238 238
-255 246 246
-0 255 230
-24 246 222
-57 238 222
-74 238 213
-90 238 222
-106 238 222
-123 238 222
-139 238 222
-164 238 222
-180 238 222
-205 238 222
-213 238 230
-230 238 230
-238 238 230
-255 246 238
-255 255 246
-8 255 222
-41 255 213
-57 255 213
-74 255 213
-90 255 213
-115 255 222
-131 246 222
-148 246 222
-164 246 222
-189 246 222
-205 246 230
-222 255 230
-238 255 238
-246 255 238
-255 255 238
-255 255 246
-32 255 213
-49 255 213
-65 255 213
-82 255 213
-106 255 213
-123 255 213
-139 255 213
-156 255 222
-180 255 222
-197 255 230
-213 255 230
-230 255 238
-246 255 246
-255 255 246
-255 255 246
-255 255 246
diff --git a/graphics/misc/sunny_day/29.pal b/graphics/misc/sunny_day/29.pal
deleted file mode 100644
index 4786c3922..000000000
--- a/graphics/misc/sunny_day/29.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 255
-16 0 255
-32 0 255
-49 0 255
-74 0 255
-90 0 255
-115 0 255
-131 0 255
-148 0 255
-172 0 255
-189 0 255
-213 0 255
-230 0 255
-255 0 255
-255 8 238
-255 32 230
-0 16 255
-24 24 246
-41 24 246
-57 24 246
-82 24 246
-90 24 246
-115 24 246
-131 24 246
-148 24 246
-164 24 246
-189 24 246
-205 24 246
-222 24 246
-246 24 246
-255 41 238
-255 49 230
-0 41 255
-24 41 246
-57 57 238
-74 57 238
-90 57 238
-106 57 238
-123 57 238
-139 57 238
-156 57 238
-164 57 238
-189 57 238
-197 57 238
-222 57 238
-238 57 238
-255 57 238
-255 65 230
-0 57 255
-24 57 246
-57 74 238
-74 74 238
-90 74 238
-106 74 238
-123 74 238
-139 74 238
-156 74 238
-172 74 238
-180 74 238
-197 74 238
-213 74 238
-238 74 238
-255 74 238
-255 82 230
-0 74 255
-24 82 246
-57 90 238
-74 90 238
-90 90 238
-106 90 238
-123 90 238
-139 90 238
-156 90 238
-172 90 238
-189 90 238
-205 90 238
-222 90 238
-238 90 238
-255 90 238
-255 106 230
-0 98 255
-24 98 246
-57 106 238
-74 106 238
-90 106 238
-106 106 238
-123 106 238
-139 106 238
-156 106 238
-172 106 238
-189 106 238
-205 106 238
-222 106 238
-238 106 238
-255 115 238
-255 123 230
-0 115 255
-24 115 246
-57 123 238
-74 123 238
-90 123 238
-106 123 238
-123 123 238
-139 123 238
-156 123 238
-172 123 238
-189 123 238
-205 123 238
-222 123 238
-238 123 238
-246 131 238
-255 139 230
-0 139 255
-24 131 246
-57 139 238
-74 139 238
-90 139 238
-106 139 238
-123 139 238
-139 139 238
-156 139 238
-172 139 238
-189 139 238
-205 139 238
-222 139 238
-238 139 238
-246 148 238
-255 156 230
-0 156 255
-24 148 246
-57 156 238
-74 156 238
-90 156 238
-106 156 238
-123 156 238
-139 156 238
-164 164 238
-172 164 238
-189 164 238
-205 164 238
-222 164 238
-238 164 238
-246 164 238
-255 180 238
-0 172 255
-24 172 246
-57 172 238
-74 172 238
-90 172 238
-106 172 238
-123 172 238
-139 172 238
-164 172 238
-180 180 238
-189 180 238
-205 180 238
-222 180 238
-238 180 238
-246 189 238
-255 197 238
-0 197 255
-24 189 246
-57 189 238
-74 189 238
-90 189 238
-106 189 238
-123 189 238
-139 189 238
-164 189 238
-180 189 238
-205 205 238
-213 205 238
-222 205 238
-238 205 238
-246 205 238
-255 213 238
-0 213 255
-24 205 246
-57 205 238
-74 205 238
-90 205 238
-106 205 238
-123 205 238
-139 205 238
-164 205 238
-180 205 238
-205 213 238
-213 213 238
-230 213 238
-238 213 238
-255 222 238
-255 230 246
-0 238 255
-24 222 246
-57 222 238
-74 222 238
-90 222 238
-106 222 238
-123 222 238
-139 222 238
-164 222 238
-180 222 238
-205 230 238
-213 230 238
-230 230 238
-238 230 238
-255 238 246
-255 246 255
-0 255 255
-24 246 246
-57 238 238
-74 238 238
-90 238 238
-106 238 238
-123 238 238
-139 238 238
-164 238 238
-180 238 238
-205 238 238
-213 238 238
-230 238 238
-246 246 246
-255 255 255
-255 255 255
-8 255 238
-41 255 238
-57 255 230
-74 255 230
-90 255 230
-115 255 238
-131 246 230
-148 246 238
-164 246 230
-189 246 238
-205 246 238
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-32 255 222
-49 255 230
-65 255 230
-82 255 230
-106 255 230
-123 255 230
-139 255 230
-156 255 230
-180 255 238
-197 255 238
-213 255 238
-230 255 246
-246 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/3.pal b/graphics/misc/sunny_day/3.pal
deleted file mode 100644
index fc463f301..000000000
--- a/graphics/misc/sunny_day/3.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 57
-24 8 57
-41 8 57
-57 8 57
-74 8 57
-90 8 57
-106 8 57
-139 0 57
-156 0 57
-172 0 57
-189 0 57
-205 0 57
-222 0 57
-238 0 57
-255 0 57
-255 24 74
-8 24 57
-24 24 57
-41 24 57
-57 24 57
-74 24 57
-90 24 57
-115 16 57
-131 16 57
-156 16 57
-172 16 57
-189 16 57
-205 16 57
-222 16 57
-238 16 57
-246 32 65
-255 41 74
-8 41 57
-24 41 57
-41 41 57
-57 41 57
-74 41 57
-98 41 57
-115 41 57
-131 41 57
-148 32 57
-172 32 57
-189 32 57
-205 32 57
-222 32 57
-230 49 65
-246 49 65
-255 57 74
-8 57 57
-24 57 57
-41 57 57
-57 57 57
-74 57 57
-98 57 57
-115 57 57
-131 57 57
-148 57 57
-164 57 57
-189 49 49
-205 57 57
-213 65 65
-230 65 65
-246 65 65
-255 74 74
-8 74 57
-24 74 57
-41 74 57
-57 74 57
-74 74 57
-98 74 57
-115 74 57
-131 74 57
-148 74 57
-164 74 57
-189 74 49
-205 74 57
-213 82 65
-230 82 65
-246 82 65
-255 90 74
-8 90 57
-24 90 57
-41 98 57
-57 98 57
-74 98 57
-98 98 57
-115 90 57
-131 90 57
-148 90 57
-164 90 57
-189 90 49
-205 90 57
-213 98 65
-230 98 65
-246 98 65
-255 106 74
-8 106 57
-16 115 57
-41 115 57
-57 115 57
-74 115 57
-98 115 57
-115 115 57
-131 115 57
-148 106 57
-164 115 57
-189 106 49
-205 106 57
-213 115 65
-230 115 65
-246 115 65
-255 123 74
-0 139 57
-16 131 57
-41 131 57
-57 131 57
-74 131 57
-90 131 57
-115 131 57
-131 131 57
-148 131 57
-164 131 57
-189 131 49
-205 131 57
-213 131 65
-230 131 65
-246 131 65
-255 131 74
-0 156 57
-16 156 57
-32 148 57
-57 148 57
-74 148 57
-90 148 57
-115 148 57
-131 148 57
-148 148 57
-164 148 57
-189 148 49
-205 148 57
-213 148 65
-230 148 65
-246 148 65
-255 148 74
-0 172 57
-16 172 57
-32 172 57
-57 164 57
-74 164 57
-90 164 57
-115 164 57
-131 164 57
-148 164 57
-164 164 57
-189 164 49
-205 164 57
-213 164 65
-230 164 65
-246 164 65
-255 164 74
-0 189 49
-16 189 57
-32 189 49
-49 189 49
-74 189 49
-90 189 49
-106 189 49
-131 189 49
-148 189 49
-172 189 49
-189 189 49
-205 180 57
-213 180 65
-230 180 65
-246 180 65
-255 180 74
-0 205 57
-16 205 49
-32 205 49
-57 205 57
-74 205 57
-90 205 57
-106 205 57
-131 205 57
-148 205 57
-164 205 57
-189 205 57
-205 205 57
-213 197 65
-230 197 65
-246 197 65
-255 197 74
-0 222 57
-16 222 49
-32 222 49
-65 213 65
-82 213 65
-98 213 65
-115 213 65
-131 213 65
-148 213 65
-164 213 65
-180 213 65
-205 213 65
-213 213 65
-230 213 65
-246 213 65
-255 213 74
-0 238 49
-16 238 49
-49 230 65
-65 230 65
-82 230 65
-98 230 65
-115 230 65
-131 230 65
-148 230 65
-164 230 65
-180 230 65
-197 230 65
-213 230 65
-230 230 65
-246 230 65
-255 222 74
-0 255 49
-32 246 65
-49 246 65
-65 246 65
-90 246 65
-98 246 65
-123 246 65
-131 246 65
-156 246 65
-164 246 65
-180 246 65
-197 246 65
-213 246 65
-238 246 65
-246 246 65
-255 238 74
-24 255 65
-41 255 74
-57 255 74
-74 255 74
-90 255 74
-106 255 74
-123 255 74
-139 255 74
-156 255 74
-164 255 74
-180 255 74
-197 255 74
-213 255 74
-230 255 74
-246 255 74
-255 255 74
diff --git a/graphics/misc/sunny_day/30.pal b/graphics/misc/sunny_day/30.pal
deleted file mode 100644
index de1492a5a..000000000
--- a/graphics/misc/sunny_day/30.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 255
-24 8 255
-41 8 255
-57 8 255
-82 8 255
-98 8 255
-115 8 255
-131 8 255
-148 8 255
-164 8 255
-180 8 255
-205 8 255
-222 8 255
-238 8 255
-255 8 255
-255 32 246
-8 24 255
-41 41 255
-57 41 255
-74 41 255
-90 41 255
-106 41 255
-115 41 255
-139 41 255
-156 41 255
-164 41 255
-189 41 255
-197 41 255
-213 41 255
-238 41 255
-255 41 255
-255 49 246
-8 49 255
-41 57 255
-57 57 255
-74 57 255
-90 57 255
-106 57 255
-123 57 255
-139 57 255
-156 57 255
-164 57 255
-180 57 255
-205 57 255
-213 57 255
-230 57 255
-255 57 255
-255 65 246
-8 65 255
-41 74 255
-57 74 255
-74 74 255
-90 74 255
-106 74 255
-123 74 255
-139 74 255
-156 74 255
-172 74 255
-180 74 255
-205 74 255
-213 74 255
-230 74 255
-255 74 255
-255 82 246
-8 82 255
-41 90 255
-57 90 255
-74 90 255
-90 90 255
-106 90 255
-123 90 255
-139 90 255
-156 90 255
-172 90 255
-189 90 255
-197 90 255
-213 90 255
-230 90 255
-255 90 255
-255 106 246
-8 98 255
-41 106 255
-57 106 255
-74 106 255
-90 106 255
-115 115 255
-123 115 255
-139 115 255
-156 115 255
-172 115 255
-189 115 255
-205 115 255
-222 115 255
-238 115 255
-255 115 255
-255 123 246
-8 115 255
-41 123 255
-57 123 255
-74 123 255
-90 123 255
-115 123 255
-131 131 246
-139 131 246
-156 131 246
-172 131 246
-189 131 246
-205 131 246
-222 131 246
-230 131 246
-246 131 246
-255 139 246
-8 131 255
-41 139 255
-57 139 255
-74 139 255
-90 139 255
-115 139 255
-131 148 246
-148 148 246
-156 148 246
-172 148 246
-189 148 246
-205 148 246
-222 148 246
-238 148 246
-246 148 246
-255 156 246
-8 156 255
-41 156 255
-57 156 255
-74 156 255
-90 156 255
-115 156 255
-131 156 246
-148 164 246
-164 164 246
-172 164 246
-189 164 246
-205 164 246
-222 164 246
-230 164 246
-246 164 246
-255 180 246
-8 172 255
-41 172 255
-57 172 255
-74 172 255
-90 172 255
-115 172 255
-131 172 246
-148 180 246
-164 180 246
-189 189 246
-197 189 246
-213 189 246
-222 189 246
-238 189 246
-246 189 246
-255 197 246
-8 189 255
-41 189 255
-57 189 255
-74 189 255
-90 189 255
-115 189 255
-131 189 246
-148 189 246
-164 189 246
-189 205 246
-205 205 246
-213 205 246
-230 205 246
-238 205 246
-246 205 246
-255 213 246
-8 205 255
-41 205 255
-57 205 255
-74 205 255
-90 205 255
-115 205 255
-131 205 246
-148 205 246
-164 205 246
-189 213 246
-205 213 246
-222 222 255
-230 222 255
-238 222 255
-255 222 255
-255 230 255
-8 222 255
-41 222 255
-57 222 255
-74 222 255
-90 222 255
-115 222 255
-131 222 246
-148 222 246
-164 222 246
-189 230 246
-205 230 246
-222 230 255
-238 238 255
-246 238 255
-255 238 255
-255 246 255
-8 238 255
-41 238 255
-57 238 255
-74 238 255
-90 238 255
-115 238 255
-131 238 246
-148 238 246
-164 238 246
-189 238 246
-205 238 246
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-8 255 255
-41 255 255
-57 255 255
-74 255 255
-90 255 255
-115 255 255
-131 246 246
-148 246 246
-164 246 246
-189 246 246
-205 246 246
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-32 255 238
-49 255 238
-65 255 246
-82 255 238
-106 255 246
-123 255 246
-139 255 246
-156 255 246
-180 255 246
-197 255 246
-213 255 246
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/31.pal b/graphics/misc/sunny_day/31.pal
deleted file mode 100644
index c48c846ad..000000000
--- a/graphics/misc/sunny_day/31.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-32 32 255
-49 32 255
-57 32 255
-74 32 255
-90 32 255
-106 32 255
-123 32 255
-139 32 255
-148 32 255
-164 32 255
-180 32 255
-197 32 255
-213 32 255
-222 32 255
-238 32 255
-255 32 255
-32 49 255
-49 49 255
-65 49 255
-82 49 255
-90 49 255
-106 49 255
-123 49 255
-139 49 255
-156 49 255
-172 49 255
-180 49 255
-197 49 255
-213 49 255
-230 49 255
-238 49 255
-255 49 255
-32 65 255
-49 65 255
-65 65 255
-82 65 255
-98 65 255
-106 65 255
-123 65 255
-139 65 255
-156 65 255
-172 65 255
-180 65 255
-197 65 255
-213 65 255
-230 65 255
-246 65 255
-255 65 255
-32 82 255
-49 82 255
-65 82 255
-82 82 255
-98 82 255
-115 82 255
-131 82 255
-139 82 255
-156 82 255
-172 82 255
-180 82 255
-197 82 255
-213 82 255
-230 82 255
-238 82 255
-255 82 255
-32 98 255
-49 98 255
-65 98 255
-82 98 255
-106 106 255
-115 106 255
-131 106 255
-148 106 255
-156 106 255
-172 106 255
-189 106 255
-197 106 255
-213 106 255
-230 106 255
-246 106 255
-255 106 255
-32 106 255
-49 115 255
-65 115 255
-82 115 255
-106 115 255
-123 123 255
-131 123 255
-148 123 255
-156 123 255
-172 123 255
-189 123 255
-197 123 255
-213 123 255
-230 123 255
-246 123 255
-255 123 255
-32 123 255
-49 131 255
-65 131 255
-82 131 255
-106 131 255
-123 131 255
-139 139 255
-148 139 255
-164 139 255
-172 139 255
-189 139 255
-205 139 255
-213 139 255
-230 139 255
-246 139 255
-255 139 255
-32 139 255
-49 139 255
-65 139 255
-82 139 255
-106 148 255
-123 148 255
-139 148 255
-156 156 255
-164 156 255
-180 156 255
-189 156 255
-205 156 255
-222 156 255
-230 156 255
-246 156 255
-255 156 255
-32 156 255
-49 156 255
-65 156 255
-82 156 255
-106 156 255
-123 164 255
-139 164 255
-156 164 255
-180 180 255
-189 180 255
-205 180 255
-213 180 255
-222 180 255
-238 180 255
-246 180 255
-255 180 255
-32 172 255
-49 172 255
-65 172 255
-82 172 255
-106 172 255
-123 172 255
-139 180 255
-156 180 255
-180 189 255
-197 197 255
-205 197 255
-213 197 255
-230 197 255
-238 197 255
-246 197 255
-255 197 255
-32 180 255
-49 189 255
-65 189 255
-82 189 255
-106 189 255
-123 189 255
-139 189 255
-156 197 255
-180 205 255
-197 205 255
-213 213 255
-222 213 255
-230 213 255
-238 213 255
-246 213 255
-255 213 255
-32 197 255
-49 197 255
-65 205 255
-82 197 255
-106 205 255
-123 205 255
-139 205 255
-156 205 255
-180 213 255
-197 222 255
-213 222 255
-230 230 255
-238 230 255
-246 230 255
-255 230 255
-255 230 255
-32 213 255
-49 213 255
-65 213 255
-82 213 255
-106 213 255
-123 213 255
-139 222 255
-156 222 255
-180 230 255
-197 230 255
-213 230 255
-230 238 255
-246 246 255
-255 246 255
-255 246 255
-255 246 255
-32 230 255
-49 230 255
-65 230 255
-82 230 255
-106 230 255
-123 230 255
-139 230 255
-156 230 255
-180 238 255
-197 238 255
-213 238 255
-230 246 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-32 246 255
-49 246 255
-65 246 255
-82 246 255
-106 246 255
-123 246 255
-139 246 255
-156 246 255
-180 246 255
-197 246 255
-213 246 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-32 255 255
-49 255 255
-65 255 255
-82 255 255
-106 255 255
-123 255 255
-139 255 255
-156 255 255
-180 255 255
-197 255 255
-213 255 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/32.pal b/graphics/misc/sunny_day/32.pal
deleted file mode 100644
index 238ca8950..000000000
--- a/graphics/misc/sunny_day/32.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 8
-24 8 8
-41 8 8
-57 8 8
-74 8 8
-90 8 8
-106 8 8
-156 0 0
-180 0 0
-197 0 0
-213 0 0
-230 0 0
-246 0 0
-255 0 0
-255 16 16
-255 49 49
-8 24 8
-24 24 8
-41 24 8
-57 24 8
-74 24 8
-90 24 8
-106 24 8
-156 16 0
-180 16 0
-197 16 0
-213 16 0
-230 16 0
-246 16 0
-255 16 0
-255 32 16
-255 57 49
-8 41 8
-24 41 8
-41 41 8
-57 41 8
-74 41 8
-90 41 8
-106 41 8
-156 41 0
-180 41 0
-197 41 0
-213 32 0
-230 32 0
-246 32 0
-255 41 0
-255 49 16
-255 74 49
-8 57 8
-24 57 8
-41 57 8
-57 57 8
-74 57 8
-90 57 8
-106 57 8
-156 65 0
-180 65 0
-197 57 0
-213 57 0
-230 57 0
-246 57 0
-255 57 0
-255 65 16
-255 82 49
-8 74 8
-24 74 8
-41 74 8
-57 74 8
-74 74 8
-90 74 8
-106 74 8
-156 90 0
-180 90 0
-197 82 0
-213 82 0
-230 74 0
-246 74 0
-255 82 0
-255 90 16
-255 98 49
-8 90 8
-24 90 8
-41 90 8
-57 90 8
-74 90 8
-90 90 8
-106 90 8
-156 115 0
-180 106 0
-197 106 0
-213 106 0
-230 98 0
-246 98 0
-255 98 0
-255 98 16
-255 115 49
-8 106 8
-24 106 8
-41 106 8
-57 106 8
-74 106 8
-90 106 8
-106 106 8
-156 139 0
-180 131 0
-197 123 0
-213 123 0
-230 123 0
-246 123 0
-255 115 0
-255 115 16
-255 123 49
-0 156 0
-24 156 0
-49 156 0
-65 156 0
-90 156 0
-115 156 0
-139 156 0
-156 156 0
-180 156 0
-197 148 0
-213 148 0
-230 139 0
-246 139 0
-255 139 0
-255 139 16
-255 139 49
-0 180 0
-24 180 0
-41 180 0
-65 180 0
-90 180 0
-115 180 0
-131 180 0
-156 180 0
-180 180 0
-197 172 0
-213 164 0
-230 164 0
-246 156 0
-255 156 0
-255 156 16
-255 156 49
-0 197 0
-16 197 0
-41 197 0
-65 197 0
-82 197 0
-106 197 0
-131 197 0
-156 197 0
-172 197 0
-197 197 0
-213 189 0
-230 180 0
-246 180 0
-255 180 0
-255 172 16
-255 172 49
-0 213 0
-16 213 0
-41 213 0
-57 213 0
-82 213 0
-106 213 0
-123 213 0
-148 213 0
-172 213 0
-189 213 0
-213 213 0
-230 205 0
-246 197 0
-255 197 0
-255 189 16
-255 180 49
-0 230 0
-16 230 0
-41 230 0
-65 230 0
-82 230 0
-106 230 0
-123 230 0
-148 230 0
-164 230 0
-189 230 0
-213 230 0
-230 230 0
-246 222 0
-255 213 0
-255 205 16
-255 197 49
-0 246 0
-16 246 0
-41 246 0
-57 246 0
-82 246 0
-98 246 0
-123 246 0
-139 246 0
-164 246 0
-180 246 0
-205 246 0
-230 246 0
-246 246 0
-255 238 0
-255 222 16
-255 213 49
-0 255 0
-24 255 0
-41 255 0
-57 255 0
-82 255 0
-98 255 0
-123 255 0
-139 255 0
-156 255 0
-180 255 0
-197 255 0
-222 255 0
-238 255 0
-255 255 0
-255 238 16
-255 230 49
-16 255 16
-41 255 16
-57 255 16
-74 255 16
-90 255 16
-106 255 16
-123 255 16
-139 255 16
-156 255 16
-172 255 16
-189 255 16
-213 255 16
-230 255 16
-246 255 16
-255 255 16
-255 238 49
-49 255 49
-57 255 49
-74 255 49
-90 255 49
-98 255 49
-115 255 49
-131 255 49
-148 255 49
-156 255 49
-172 255 49
-189 255 49
-205 255 49
-213 255 49
-230 255 49
-246 255 49
-255 255 49
diff --git a/graphics/misc/sunny_day/33.pal b/graphics/misc/sunny_day/33.pal
deleted file mode 100644
index e616bd849..000000000
--- a/graphics/misc/sunny_day/33.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 24
-24 8 24
-41 8 24
-57 8 24
-74 8 24
-90 8 24
-106 8 24
-156 0 24
-180 0 24
-197 0 16
-213 0 16
-230 0 16
-246 0 16
-255 0 24
-255 16 41
-255 49 57
-8 24 24
-24 24 24
-41 24 24
-57 24 24
-74 24 24
-90 24 24
-139 24 24
-156 16 16
-172 16 16
-189 16 16
-213 16 16
-230 16 16
-246 16 16
-246 32 32
-255 49 49
-255 65 65
-8 41 24
-24 41 24
-41 41 24
-57 41 24
-74 41 24
-90 41 24
-139 41 24
-156 41 16
-172 41 16
-189 41 16
-213 32 16
-230 32 16
-246 32 16
-246 41 32
-255 65 49
-255 74 65
-8 57 24
-24 57 24
-41 57 24
-57 57 24
-74 57 24
-90 57 24
-139 65 24
-156 65 16
-172 65 16
-189 57 16
-213 57 16
-230 49 16
-246 57 16
-246 65 32
-255 82 49
-255 90 65
-8 74 24
-24 74 24
-41 74 24
-57 74 24
-74 74 24
-90 74 24
-139 90 24
-156 90 16
-172 82 16
-189 82 16
-213 74 16
-230 74 16
-246 74 16
-246 82 32
-255 90 49
-255 98 65
-8 90 24
-24 90 24
-41 90 24
-57 90 24
-74 90 24
-90 90 24
-139 115 24
-156 106 16
-172 106 16
-189 106 16
-213 98 16
-230 98 16
-246 98 16
-246 98 32
-255 115 49
-255 115 65
-8 106 24
-24 139 24
-41 139 24
-65 139 24
-90 139 24
-115 139 24
-139 139 24
-156 131 16
-172 123 16
-189 123 16
-213 123 16
-230 123 16
-246 115 16
-246 115 32
-255 123 49
-255 131 65
-0 156 16
-16 156 16
-41 156 16
-65 156 16
-90 156 16
-106 156 16
-131 156 16
-156 156 16
-172 148 16
-189 148 16
-213 139 16
-230 139 16
-246 139 16
-246 139 32
-255 139 49
-255 148 65
-0 180 16
-16 172 16
-41 172 16
-65 172 16
-82 172 16
-106 172 16
-131 172 16
-156 172 16
-172 172 16
-189 172 16
-213 164 16
-230 164 16
-246 156 16
-246 156 32
-255 156 49
-255 164 65
-0 197 16
-16 189 16
-41 189 16
-57 189 16
-82 189 16
-106 189 16
-131 189 16
-148 189 16
-172 189 16
-189 189 16
-213 189 16
-230 180 16
-246 180 16
-246 172 32
-255 172 49
-255 172 65
-0 213 16
-16 213 16
-32 213 16
-57 213 16
-82 213 16
-106 213 16
-123 213 16
-148 213 16
-172 213 16
-189 213 16
-213 213 16
-230 205 16
-246 197 16
-246 189 32
-255 189 49
-255 189 65
-0 230 16
-16 230 16
-32 230 16
-57 230 16
-74 230 16
-98 230 16
-123 230 16
-139 230 16
-164 230 16
-189 230 16
-205 230 16
-230 230 16
-246 222 16
-246 205 32
-255 205 49
-255 197 65
-0 246 16
-16 246 16
-41 246 16
-57 246 16
-82 246 16
-98 246 16
-123 246 16
-139 246 16
-164 246 16
-180 246 16
-205 246 16
-222 246 16
-246 246 16
-246 222 32
-255 222 49
-255 213 65
-0 255 16
-32 246 32
-49 246 32
-65 246 32
-82 246 32
-98 246 32
-123 246 32
-139 246 32
-156 246 32
-172 246 32
-189 246 32
-213 246 32
-230 246 32
-246 246 32
-255 238 49
-255 230 65
-16 255 32
-49 255 49
-65 255 49
-82 255 49
-98 255 49
-115 255 49
-131 255 49
-148 255 49
-164 255 49
-172 255 49
-197 255 49
-205 255 49
-222 255 49
-238 255 49
-255 255 49
-255 246 65
-49 255 57
-65 255 65
-82 255 65
-90 255 65
-106 255 65
-123 255 65
-131 255 65
-148 255 65
-164 255 65
-180 255 65
-189 255 65
-205 255 65
-222 255 65
-230 255 65
-246 255 65
-255 255 65
diff --git a/graphics/misc/sunny_day/34.pal b/graphics/misc/sunny_day/34.pal
deleted file mode 100644
index 0ddddc444..000000000
--- a/graphics/misc/sunny_day/34.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 41
-24 8 41
-41 8 41
-57 8 41
-74 8 41
-90 8 41
-106 8 41
-156 0 49
-180 0 41
-197 0 41
-213 0 41
-230 0 41
-246 0 41
-255 0 41
-255 16 57
-255 49 74
-8 24 41
-24 24 41
-41 24 41
-57 24 41
-74 24 41
-90 24 41
-139 24 41
-156 16 41
-172 16 41
-189 16 41
-213 16 32
-230 16 32
-246 16 41
-246 32 49
-255 49 65
-255 65 82
-8 41 41
-24 41 41
-41 41 41
-57 41 41
-74 41 41
-115 41 41
-131 41 41
-156 41 41
-172 32 32
-189 32 32
-205 32 32
-222 41 41
-230 49 49
-238 65 65
-255 65 65
-255 82 82
-8 57 41
-24 57 41
-41 57 41
-57 57 41
-74 57 41
-115 65 41
-131 65 41
-156 57 41
-172 57 32
-189 57 32
-205 57 32
-222 57 41
-230 65 49
-238 82 65
-255 82 65
-255 90 82
-8 74 41
-24 74 41
-41 74 41
-57 74 41
-74 74 41
-115 90 41
-131 90 41
-156 82 41
-172 82 32
-189 82 32
-205 74 32
-222 74 41
-230 82 49
-238 90 65
-255 98 65
-255 106 82
-8 90 41
-24 90 41
-41 115 41
-65 115 41
-90 115 41
-115 115 41
-131 106 41
-156 106 41
-172 106 32
-189 98 32
-205 98 32
-222 98 41
-230 98 49
-238 115 65
-255 115 65
-255 115 82
-8 106 41
-24 139 41
-41 131 41
-65 131 41
-90 131 41
-106 131 41
-131 131 41
-156 131 41
-172 123 32
-189 123 32
-205 123 32
-222 115 41
-230 115 49
-238 123 65
-255 123 65
-255 131 82
-0 156 41
-16 156 41
-41 156 41
-57 156 41
-82 156 41
-106 156 41
-131 156 41
-156 156 41
-172 148 32
-189 148 32
-205 139 32
-222 139 41
-230 139 49
-238 139 65
-255 139 65
-255 148 82
-0 180 41
-16 172 41
-32 172 32
-57 172 32
-82 172 32
-106 172 32
-123 172 32
-148 172 32
-172 172 32
-189 164 32
-205 164 32
-222 156 41
-230 156 49
-238 156 65
-255 164 65
-255 156 82
-0 197 41
-16 189 41
-32 189 32
-57 189 32
-82 189 32
-98 189 32
-123 189 32
-148 189 32
-172 189 32
-189 189 32
-205 189 32
-222 180 41
-230 172 49
-238 172 65
-255 172 65
-255 172 82
-0 213 32
-16 213 32
-32 205 32
-57 205 32
-74 205 32
-98 205 32
-123 205 32
-148 205 32
-164 205 32
-189 205 32
-205 205 32
-222 197 41
-230 189 49
-238 189 65
-255 189 65
-255 189 82
-0 230 32
-16 230 32
-41 222 41
-57 222 41
-82 222 41
-98 222 41
-123 222 41
-139 222 41
-164 222 41
-180 222 41
-205 222 41
-222 222 41
-230 205 49
-238 205 65
-255 205 65
-255 205 82
-0 246 32
-16 246 32
-49 230 49
-65 230 49
-82 230 49
-98 230 49
-123 230 49
-139 230 49
-156 230 49
-172 230 49
-189 230 49
-213 230 49
-230 230 49
-238 222 65
-255 222 65
-255 213 82
-0 255 41
-32 246 41
-65 238 65
-82 238 65
-98 238 65
-115 238 65
-131 238 65
-148 238 65
-164 238 65
-172 238 65
-189 238 65
-205 238 65
-222 238 65
-238 238 65
-255 238 65
-255 230 82
-16 255 49
-49 255 65
-65 255 65
-82 255 65
-98 255 65
-115 255 65
-131 255 65
-148 255 65
-164 255 65
-172 255 65
-189 255 65
-205 255 65
-222 255 65
-238 255 65
-255 255 65
-255 246 82
-49 255 74
-65 255 74
-82 255 82
-90 255 82
-106 255 82
-123 255 82
-139 255 82
-148 255 82
-164 255 82
-180 255 82
-189 255 82
-205 255 82
-213 255 82
-230 255 82
-246 255 82
-255 255 82
diff --git a/graphics/misc/sunny_day/35.pal b/graphics/misc/sunny_day/35.pal
deleted file mode 100644
index 8f81dda6d..000000000
--- a/graphics/misc/sunny_day/35.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 57
-24 8 57
-41 8 57
-57 8 57
-74 8 57
-90 8 57
-106 8 57
-156 0 65
-180 0 65
-197 0 65
-213 0 57
-230 0 65
-246 0 57
-255 0 57
-255 16 74
-255 49 90
-8 24 57
-24 24 57
-41 24 57
-57 24 57
-74 24 57
-90 24 57
-139 24 65
-156 16 65
-172 16 65
-189 16 57
-213 16 57
-230 16 57
-246 16 57
-246 32 65
-255 49 82
-255 65 90
-8 41 57
-24 41 57
-41 41 57
-57 41 57
-74 41 57
-115 41 65
-131 41 65
-156 41 57
-172 32 57
-189 32 57
-205 32 57
-222 41 57
-230 49 65
-238 65 82
-255 65 82
-255 82 90
-8 57 57
-24 57 57
-41 57 57
-57 57 57
-90 65 65
-115 65 65
-131 57 57
-148 57 57
-172 57 57
-189 57 57
-205 57 57
-213 65 65
-222 82 82
-238 82 82
-255 82 82
-255 98 98
-8 74 57
-24 74 57
-41 74 57
-65 90 65
-90 90 65
-115 90 65
-131 82 57
-148 82 57
-172 74 57
-189 74 57
-205 74 57
-213 82 65
-222 90 82
-238 98 82
-255 98 82
-255 106 98
-8 90 57
-24 90 57
-41 115 65
-65 115 65
-90 115 65
-115 115 65
-131 106 57
-148 106 57
-172 98 57
-189 98 57
-205 98 57
-213 98 65
-222 115 82
-238 115 82
-255 115 82
-255 123 98
-8 106 57
-24 139 65
-41 131 65
-57 131 57
-82 131 57
-106 131 57
-131 131 57
-148 131 57
-172 123 57
-189 123 57
-205 115 57
-213 115 65
-222 123 82
-238 123 82
-255 131 82
-255 139 98
-0 156 65
-16 156 65
-41 156 57
-57 148 57
-82 148 57
-106 148 57
-131 148 57
-148 148 57
-172 148 57
-189 139 57
-205 139 57
-213 139 65
-222 139 82
-238 139 82
-255 139 82
-255 148 98
-0 180 65
-16 172 65
-32 172 57
-57 172 57
-82 172 57
-98 172 57
-123 172 57
-148 172 57
-172 172 57
-189 164 57
-205 156 57
-213 156 65
-222 156 82
-238 164 82
-255 164 82
-255 164 98
-0 197 57
-16 189 57
-32 189 57
-57 189 57
-74 189 57
-98 189 57
-123 189 57
-139 189 57
-164 189 57
-189 189 57
-205 180 57
-213 172 65
-222 172 82
-238 172 82
-255 172 82
-255 180 98
-0 213 57
-16 213 57
-32 205 57
-57 205 57
-74 205 57
-98 205 57
-123 205 57
-139 205 57
-164 205 57
-180 205 57
-205 205 57
-213 189 65
-222 189 82
-238 189 82
-255 189 82
-255 189 98
-0 230 57
-16 230 49
-41 222 57
-65 213 65
-82 213 65
-98 213 65
-123 213 65
-139 213 65
-156 213 65
-172 213 65
-197 213 65
-213 213 65
-222 205 82
-238 205 82
-255 205 82
-255 205 98
-0 246 57
-16 246 57
-49 230 65
-82 222 82
-98 222 82
-115 222 82
-131 222 82
-148 222 82
-164 222 82
-172 222 82
-189 222 82
-213 222 82
-222 222 82
-238 222 82
-255 222 82
-255 222 98
-0 255 57
-32 246 65
-65 238 82
-82 238 82
-98 238 82
-115 238 82
-131 238 82
-148 238 82
-164 238 82
-172 238 82
-189 238 82
-205 238 82
-222 238 82
-238 238 82
-255 238 82
-255 230 98
-16 255 65
-49 255 82
-65 255 82
-82 255 82
-98 255 82
-115 255 82
-131 255 82
-148 255 82
-164 255 82
-180 255 82
-189 255 82
-205 255 82
-222 255 82
-238 255 82
-255 255 82
-255 246 98
-49 255 82
-65 255 90
-82 255 90
-98 255 98
-106 255 98
-123 255 98
-139 255 98
-148 255 98
-164 255 98
-180 255 98
-189 255 98
-205 255 98
-222 255 98
-230 255 98
-246 255 98
-255 255 98
diff --git a/graphics/misc/sunny_day/36.pal b/graphics/misc/sunny_day/36.pal
deleted file mode 100644
index 4797f3887..000000000
--- a/graphics/misc/sunny_day/36.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 74
-24 8 74
-41 8 74
-57 8 74
-74 8 74
-90 8 74
-106 8 74
-156 0 90
-180 0 90
-197 0 82
-213 0 82
-230 0 82
-246 0 82
-255 0 82
-255 16 90
-255 49 98
-8 24 74
-24 24 74
-41 24 74
-57 24 74
-74 24 74
-90 24 74
-139 24 90
-156 16 90
-172 16 82
-189 16 82
-213 16 82
-230 16 74
-246 16 82
-246 32 82
-255 49 98
-255 65 106
-8 41 74
-24 41 74
-41 41 74
-57 41 74
-74 41 74
-115 41 90
-131 41 90
-156 41 82
-172 32 82
-189 32 82
-205 32 74
-222 41 82
-230 49 82
-238 65 98
-255 65 98
-255 82 106
-8 57 74
-24 57 74
-41 57 74
-65 65 90
-90 65 90
-115 65 90
-131 57 82
-148 57 82
-172 57 82
-189 57 74
-205 57 74
-213 65 82
-222 82 98
-238 82 98
-255 82 98
-255 98 106
-8 74 74
-24 74 74
-41 74 74
-65 90 90
-90 82 82
-106 82 82
-131 82 82
-148 74 74
-164 74 74
-180 74 74
-197 82 82
-205 98 98
-222 98 98
-238 98 98
-255 98 98
-255 115 115
-8 90 74
-24 90 74
-41 115 90
-65 115 90
-82 106 82
-106 106 82
-131 106 82
-148 98 74
-164 98 74
-180 98 74
-197 98 82
-205 115 98
-222 115 98
-238 115 98
-255 115 98
-255 123 115
-8 106 74
-24 139 90
-41 131 90
-57 131 82
-82 131 82
-106 131 82
-131 131 82
-148 123 74
-164 123 74
-180 115 74
-197 115 82
-205 131 98
-222 131 98
-238 131 98
-255 131 98
-255 139 115
-0 156 90
-16 156 90
-41 156 82
-57 148 82
-74 148 74
-98 148 74
-123 148 74
-148 148 74
-164 148 74
-180 139 74
-197 139 82
-205 139 98
-222 139 98
-238 139 98
-255 148 98
-255 156 115
-0 180 90
-16 172 82
-32 172 82
-57 172 74
-74 164 74
-98 164 74
-123 164 74
-148 164 74
-164 164 74
-180 164 74
-197 156 82
-205 156 98
-222 164 98
-238 156 98
-255 156 98
-255 164 115
-0 197 82
-16 189 82
-32 189 82
-57 189 74
-74 180 74
-98 180 74
-123 180 74
-139 180 74
-164 180 74
-180 180 74
-197 172 82
-205 172 98
-222 172 98
-238 172 98
-255 180 98
-255 180 115
-0 213 82
-16 213 74
-32 205 74
-57 205 74
-82 197 82
-98 197 82
-123 197 82
-139 197 82
-156 197 82
-172 197 82
-197 197 82
-205 189 98
-222 189 98
-238 189 98
-255 189 98
-255 189 115
-0 230 74
-16 230 74
-41 222 74
-65 213 82
-98 205 98
-115 205 98
-131 205 98
-148 205 98
-164 205 98
-172 205 98
-197 205 98
-205 205 98
-222 205 98
-238 205 98
-255 205 98
-255 205 115
-0 246 74
-16 246 74
-49 230 82
-82 222 90
-98 222 98
-115 222 98
-131 222 98
-148 222 98
-164 222 98
-180 222 98
-189 222 98
-205 222 98
-222 222 98
-238 222 98
-255 222 98
-255 213 115
-0 255 82
-32 246 82
-65 238 90
-82 238 98
-98 238 98
-115 238 98
-131 238 98
-148 238 98
-164 238 98
-180 238 98
-189 238 98
-205 238 98
-222 238 98
-238 238 98
-255 238 98
-255 230 115
-16 255 90
-49 255 90
-65 255 98
-82 255 98
-98 255 98
-115 255 98
-131 255 98
-148 255 98
-164 255 98
-180 255 98
-189 255 98
-205 255 98
-222 255 98
-238 255 98
-255 255 98
-255 246 115
-49 255 98
-65 255 98
-82 255 106
-98 255 106
-115 255 115
-131 255 115
-139 255 115
-156 255 115
-164 255 115
-180 255 115
-197 255 115
-205 255 115
-222 255 115
-230 255 115
-246 255 115
-255 255 115
diff --git a/graphics/misc/sunny_day/37.pal b/graphics/misc/sunny_day/37.pal
deleted file mode 100644
index f65232b01..000000000
--- a/graphics/misc/sunny_day/37.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 90
-24 8 90
-41 8 90
-57 8 90
-74 8 90
-90 8 90
-106 8 90
-156 0 115
-180 0 115
-197 0 106
-213 0 106
-230 0 106
-246 0 98
-255 0 98
-255 16 106
-255 49 115
-8 24 90
-24 24 90
-41 24 90
-57 24 90
-74 24 90
-90 24 90
-139 24 115
-156 16 106
-172 16 106
-189 16 106
-213 16 106
-230 16 98
-246 16 98
-246 32 98
-255 49 115
-255 65 123
-8 41 90
-24 41 90
-41 41 115
-65 41 115
-90 41 115
-115 41 115
-131 41 106
-156 41 106
-172 32 106
-189 32 98
-205 32 98
-222 41 98
-230 49 98
-238 65 115
-255 65 115
-255 82 123
-8 57 90
-24 57 90
-41 65 115
-65 65 115
-90 65 115
-115 65 115
-131 57 106
-148 57 106
-172 57 98
-189 57 98
-205 57 98
-213 65 98
-222 82 115
-238 82 115
-255 82 115
-255 98 123
-8 74 90
-24 74 90
-41 90 115
-65 90 115
-82 82 106
-106 82 106
-131 82 106
-148 74 98
-164 74 98
-180 74 98
-197 82 98
-205 98 115
-222 98 115
-238 98 115
-255 98 115
-255 115 131
-8 90 90
-24 90 90
-41 115 115
-65 115 115
-82 106 106
-106 98 98
-131 98 98
-148 98 98
-164 98 98
-180 98 98
-197 106 106
-205 115 115
-222 115 115
-238 115 115
-255 123 123
-255 131 131
-8 106 90
-24 139 115
-41 131 106
-57 131 106
-82 131 106
-98 131 98
-131 131 98
-148 123 98
-164 115 98
-180 115 98
-197 123 106
-205 123 115
-222 131 115
-238 131 115
-255 131 123
-255 139 131
-0 156 115
-16 156 106
-41 156 106
-57 148 106
-74 148 98
-98 148 98
-123 148 98
-148 148 98
-164 139 98
-180 139 98
-197 139 106
-205 139 115
-222 148 115
-238 148 115
-255 148 123
-255 156 131
-0 180 106
-16 172 106
-32 172 106
-57 172 98
-74 164 98
-98 164 98
-115 164 98
-139 164 98
-164 164 98
-180 156 98
-197 156 106
-205 164 115
-222 156 115
-238 164 115
-255 164 123
-255 164 131
-0 197 106
-16 189 106
-32 189 98
-57 189 98
-74 180 98
-98 180 98
-115 180 98
-139 180 98
-156 180 98
-180 180 98
-197 172 106
-205 172 115
-222 172 115
-238 180 115
-255 180 123
-255 180 131
-0 213 106
-16 213 98
-32 205 98
-57 205 98
-82 197 98
-106 197 106
-123 197 106
-139 197 106
-164 197 106
-180 197 106
-197 197 106
-205 189 115
-222 189 115
-238 189 115
-255 189 123
-255 197 131
-0 230 98
-16 230 98
-41 222 98
-65 213 98
-98 205 115
-115 205 115
-131 205 115
-148 205 115
-164 205 115
-172 205 115
-189 205 115
-205 205 115
-222 205 115
-238 205 115
-255 205 123
-255 205 131
-0 246 98
-16 246 98
-49 230 98
-82 222 115
-98 222 115
-115 222 115
-131 222 115
-148 222 115
-164 222 115
-180 222 115
-189 222 115
-213 222 115
-222 222 115
-238 222 115
-255 222 123
-255 222 131
-0 255 98
-32 246 98
-65 238 115
-82 238 115
-98 238 115
-115 238 115
-131 238 115
-148 238 115
-164 238 115
-180 238 115
-197 238 115
-205 238 115
-222 238 115
-238 238 115
-255 238 123
-255 230 131
-16 255 98
-49 255 115
-65 255 115
-82 255 115
-98 255 115
-123 255 123
-131 255 123
-148 255 123
-164 255 123
-180 255 123
-197 255 123
-205 255 123
-222 255 123
-238 255 123
-255 255 123
-255 246 131
-49 255 115
-65 255 115
-82 255 115
-98 255 123
-115 255 123
-131 255 131
-139 255 131
-156 255 131
-172 255 131
-180 255 131
-197 255 131
-205 255 131
-222 255 131
-230 255 131
-246 255 131
-255 255 131
diff --git a/graphics/misc/sunny_day/38.pal b/graphics/misc/sunny_day/38.pal
deleted file mode 100644
index ddb2442fb..000000000
--- a/graphics/misc/sunny_day/38.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 106
-24 8 106
-41 8 106
-57 8 106
-74 8 106
-90 8 106
-106 8 106
-156 0 139
-180 0 131
-197 0 131
-213 0 123
-230 0 123
-246 0 123
-255 0 123
-255 16 123
-255 49 131
-8 24 106
-24 24 139
-41 24 139
-65 24 139
-90 24 139
-115 24 139
-139 24 139
-156 16 131
-172 16 131
-189 16 131
-213 16 123
-230 16 123
-246 16 123
-246 32 123
-255 49 131
-255 65 131
-8 41 106
-24 41 139
-41 41 131
-65 41 131
-90 41 131
-106 41 131
-131 41 131
-156 41 131
-172 32 123
-189 32 123
-205 32 123
-222 41 123
-230 49 123
-238 65 131
-255 65 131
-255 82 139
-8 57 106
-24 65 139
-41 65 131
-57 57 131
-82 57 131
-106 57 131
-131 57 131
-148 57 131
-172 57 123
-189 57 123
-205 57 123
-213 65 123
-222 82 131
-238 82 131
-255 82 131
-255 98 139
-8 74 106
-24 90 139
-41 90 131
-57 82 131
-82 82 131
-106 82 131
-131 82 131
-148 74 123
-164 74 123
-180 74 123
-197 82 123
-205 98 131
-222 98 131
-238 98 131
-255 98 131
-255 115 139
-8 90 106
-24 115 139
-41 106 131
-57 106 131
-82 106 131
-98 98 131
-131 98 131
-148 98 123
-164 98 115
-180 98 115
-197 106 123
-205 115 131
-222 115 131
-238 115 131
-255 123 131
-255 131 139
-8 106 106
-24 139 139
-41 131 131
-57 131 131
-82 131 131
-98 131 131
-123 115 115
-148 115 115
-156 115 115
-180 123 123
-197 123 123
-205 131 131
-222 131 131
-238 131 131
-255 139 139
-255 148 148
-0 156 139
-16 156 131
-41 156 131
-57 148 131
-74 148 123
-98 148 123
-115 148 115
-148 148 115
-156 139 115
-180 139 123
-197 139 123
-205 148 131
-222 148 131
-238 148 131
-255 148 139
-255 156 148
-0 180 131
-16 172 123
-32 172 123
-57 172 123
-74 164 123
-98 164 115
-115 156 115
-139 156 115
-156 156 115
-180 156 123
-197 164 123
-205 156 131
-222 164 131
-238 164 131
-255 164 139
-255 172 148
-0 197 123
-16 189 123
-32 189 123
-57 189 123
-74 180 115
-98 180 115
-123 180 123
-139 180 123
-164 180 123
-180 180 123
-197 180 123
-205 172 131
-222 180 131
-238 180 131
-255 180 139
-255 180 148
-0 213 123
-16 213 123
-32 205 123
-57 205 115
-82 197 115
-106 197 123
-123 197 123
-139 197 123
-164 197 123
-180 197 123
-197 197 123
-205 189 131
-222 189 131
-238 189 131
-255 197 139
-255 197 148
-0 230 123
-16 230 123
-41 222 115
-65 213 115
-98 205 131
-115 205 123
-131 205 131
-148 205 131
-164 205 131
-180 205 131
-189 205 131
-205 205 131
-222 205 131
-238 205 131
-255 205 139
-255 205 148
-0 246 123
-16 246 115
-49 230 115
-82 222 123
-98 222 131
-115 222 131
-131 222 131
-148 222 131
-164 222 131
-180 222 131
-197 222 131
-205 222 131
-222 222 131
-238 222 131
-255 222 139
-255 222 148
-0 255 115
-32 246 115
-65 238 123
-82 238 123
-98 238 131
-115 238 131
-131 238 131
-148 238 131
-164 238 131
-180 238 131
-197 238 131
-205 238 131
-222 238 131
-238 238 131
-255 238 139
-255 230 148
-16 255 115
-49 255 123
-65 255 123
-82 255 131
-98 255 131
-123 255 131
-139 255 139
-156 255 139
-164 255 139
-180 255 139
-197 255 139
-213 255 139
-222 255 139
-238 255 139
-255 255 139
-255 246 148
-49 255 123
-65 255 131
-82 255 131
-98 255 139
-115 255 139
-131 255 139
-148 255 148
-156 255 148
-172 255 148
-180 255 148
-197 255 148
-213 255 148
-222 255 148
-238 255 148
-246 255 148
-255 255 148
diff --git a/graphics/misc/sunny_day/39.pal b/graphics/misc/sunny_day/39.pal
deleted file mode 100644
index b98692692..000000000
--- a/graphics/misc/sunny_day/39.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 156
-16 0 156
-41 0 156
-65 0 156
-90 0 156
-115 0 156
-139 0 156
-156 0 156
-180 0 156
-197 0 156
-213 0 148
-230 0 148
-246 0 139
-255 0 139
-255 16 139
-255 49 148
-0 24 156
-16 16 156
-41 16 156
-65 16 156
-90 16 156
-106 16 156
-131 16 156
-156 16 156
-172 16 156
-189 16 148
-213 16 148
-230 16 139
-246 16 139
-246 32 139
-255 49 148
-255 65 148
-0 49 156
-16 41 156
-41 41 156
-57 41 156
-82 41 156
-106 41 156
-131 41 156
-156 41 156
-172 32 148
-189 32 148
-205 32 148
-222 41 139
-230 49 139
-238 65 148
-255 65 148
-255 82 148
-0 65 156
-16 65 156
-41 57 156
-57 57 148
-82 57 148
-106 57 148
-131 57 148
-148 57 148
-172 57 148
-189 57 139
-205 57 139
-213 65 139
-222 82 148
-238 82 148
-255 82 148
-255 98 148
-0 90 156
-16 90 156
-41 82 156
-57 82 148
-74 74 148
-98 74 148
-123 74 148
-148 74 148
-164 74 148
-180 74 139
-197 82 139
-205 98 148
-222 98 148
-238 98 148
-255 98 148
-255 115 156
-0 115 156
-16 106 156
-41 106 156
-57 106 148
-74 98 148
-98 98 148
-123 98 148
-148 98 148
-164 98 139
-180 98 139
-197 106 139
-205 115 148
-222 115 148
-238 115 148
-255 123 148
-255 131 156
-0 139 156
-16 131 156
-41 131 156
-57 131 148
-74 123 148
-98 123 148
-115 115 148
-148 115 148
-156 115 139
-180 123 139
-197 123 139
-205 131 148
-222 131 148
-238 131 148
-255 139 156
-255 148 156
-0 156 156
-16 156 156
-41 156 156
-57 148 148
-74 148 148
-98 148 148
-115 148 148
-139 131 131
-164 139 139
-180 139 139
-197 148 148
-205 148 148
-222 148 148
-238 148 148
-255 156 156
-255 164 164
-0 180 156
-16 172 148
-32 172 148
-57 172 148
-74 164 148
-98 164 139
-115 156 139
-139 164 139
-164 164 139
-180 164 139
-197 156 148
-205 164 148
-222 164 148
-238 164 148
-255 164 156
-255 172 164
-0 197 148
-16 189 148
-32 189 148
-57 189 139
-74 180 139
-98 180 139
-123 180 139
-139 180 139
-164 180 139
-180 180 139
-197 172 148
-205 180 148
-222 180 148
-238 180 148
-255 180 156
-255 189 164
-0 213 148
-16 213 139
-32 205 139
-57 205 139
-82 197 139
-106 197 139
-123 197 139
-148 197 148
-164 197 148
-180 197 148
-197 197 148
-205 197 148
-222 189 148
-238 197 148
-255 197 156
-255 197 164
-0 230 139
-16 230 139
-41 222 139
-65 213 139
-98 205 139
-115 205 139
-131 205 148
-148 205 148
-164 205 148
-180 205 148
-197 205 148
-205 205 148
-222 205 148
-238 205 148
-255 205 156
-255 213 164
-0 246 139
-16 246 139
-49 230 139
-82 222 139
-98 222 139
-115 222 148
-131 222 148
-148 222 148
-164 222 148
-180 222 148
-197 222 148
-205 222 148
-222 222 148
-238 222 148
-255 222 156
-255 222 164
-0 255 139
-32 246 139
-65 238 139
-82 238 139
-98 238 139
-115 238 148
-131 238 148
-148 238 148
-164 238 148
-180 238 148
-197 238 148
-205 238 148
-222 238 148
-238 238 148
-255 238 156
-255 238 164
-16 255 139
-49 255 139
-65 255 139
-82 255 139
-98 255 148
-123 255 148
-139 255 148
-156 255 156
-172 255 156
-180 255 156
-197 255 156
-213 255 156
-222 255 156
-238 255 156
-255 255 156
-255 246 164
-49 255 139
-65 255 148
-82 255 148
-98 255 148
-115 255 156
-131 255 156
-148 255 156
-164 255 164
-180 255 164
-189 255 164
-197 255 164
-213 255 164
-222 255 164
-238 255 164
-246 255 164
-255 255 164
diff --git a/graphics/misc/sunny_day/4.pal b/graphics/misc/sunny_day/4.pal
deleted file mode 100644
index 2c72d05af..000000000
--- a/graphics/misc/sunny_day/4.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 74
-24 8 74
-41 8 74
-57 8 74
-74 8 74
-90 8 74
-106 8 74
-139 0 82
-156 0 74
-172 0 74
-189 0 74
-205 0 74
-222 0 74
-238 0 74
-255 0 74
-255 24 90
-8 24 74
-24 24 74
-41 24 74
-57 24 74
-74 24 74
-90 24 74
-115 16 82
-131 16 74
-156 16 74
-172 16 74
-189 16 74
-205 16 74
-222 16 74
-238 16 74
-246 32 82
-255 41 90
-8 41 74
-24 41 74
-41 41 74
-57 41 74
-74 41 74
-98 41 82
-115 41 74
-131 41 74
-148 32 74
-172 32 74
-189 32 74
-205 32 74
-222 32 74
-230 49 82
-246 49 82
-255 57 90
-8 57 74
-24 57 74
-41 57 74
-57 57 74
-74 57 74
-98 57 74
-115 57 74
-131 57 74
-148 57 74
-164 57 74
-189 49 74
-205 57 74
-213 65 82
-230 65 82
-246 65 90
-255 74 90
-8 74 74
-24 74 74
-41 74 74
-57 74 74
-74 74 74
-98 74 74
-115 74 74
-131 74 74
-148 74 74
-164 74 74
-180 74 74
-197 82 82
-213 82 82
-230 82 82
-246 82 82
-255 90 90
-8 90 74
-24 90 74
-41 98 74
-57 98 74
-74 98 74
-98 98 74
-115 90 74
-131 90 74
-148 90 74
-164 90 74
-180 90 74
-197 98 82
-213 98 82
-230 98 82
-246 98 82
-255 106 90
-8 106 74
-16 115 74
-41 115 74
-57 115 74
-74 115 74
-90 115 74
-115 115 74
-131 115 74
-148 115 74
-164 106 74
-180 106 74
-197 115 82
-213 115 82
-230 115 82
-246 115 82
-255 123 90
-0 139 74
-16 131 74
-41 131 74
-57 131 74
-74 131 74
-90 131 74
-115 131 74
-131 131 74
-148 131 74
-164 131 74
-180 131 74
-197 131 82
-213 131 82
-230 131 82
-246 131 82
-255 139 90
-0 156 74
-16 156 74
-32 148 74
-57 148 74
-74 148 74
-90 148 74
-115 148 74
-131 148 74
-148 148 74
-164 148 74
-180 148 74
-197 148 82
-213 148 82
-230 148 82
-246 148 82
-255 148 90
-0 172 74
-16 172 74
-32 172 74
-57 164 74
-74 164 74
-90 164 74
-106 164 74
-131 164 74
-148 164 74
-164 164 74
-180 164 74
-197 164 82
-213 164 82
-230 164 82
-246 164 82
-255 164 90
-0 189 74
-16 189 74
-32 189 74
-49 189 74
-74 180 74
-90 180 74
-106 180 74
-131 180 74
-148 180 74
-164 180 74
-180 180 74
-197 180 82
-213 180 82
-230 180 82
-246 180 82
-255 180 90
-0 205 74
-16 205 65
-32 205 74
-57 205 74
-82 197 82
-98 197 82
-115 197 82
-131 197 82
-148 197 82
-164 197 82
-180 197 82
-197 197 82
-213 197 82
-230 197 82
-246 197 82
-255 197 90
-0 222 65
-16 222 74
-32 222 65
-65 213 82
-82 213 82
-98 213 82
-115 213 82
-131 213 82
-148 213 82
-164 213 82
-180 213 82
-197 213 82
-213 213 82
-230 213 82
-246 213 82
-255 213 90
-0 238 74
-16 238 74
-49 230 82
-65 230 82
-82 230 82
-98 230 82
-123 230 82
-131 230 82
-148 230 82
-172 230 82
-180 230 82
-197 230 82
-213 230 82
-230 230 82
-246 230 82
-255 222 90
-0 255 74
-32 246 82
-49 246 82
-65 246 82
-82 246 82
-98 246 82
-115 246 82
-131 246 82
-148 246 82
-164 246 82
-180 246 82
-197 246 82
-213 246 82
-230 246 82
-246 246 82
-255 238 90
-24 255 82
-41 255 82
-57 255 90
-74 255 90
-90 255 90
-106 255 90
-123 255 90
-139 255 90
-156 255 90
-172 255 90
-180 255 90
-197 255 90
-213 255 90
-230 255 90
-246 255 90
-255 255 90
diff --git a/graphics/misc/sunny_day/40.pal b/graphics/misc/sunny_day/40.pal
deleted file mode 100644
index 68c85cefd..000000000
--- a/graphics/misc/sunny_day/40.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 180
-16 0 180
-41 0 180
-65 0 180
-90 0 180
-106 0 180
-131 0 180
-156 0 180
-180 0 180
-197 0 172
-213 0 172
-230 0 164
-246 0 164
-255 0 156
-255 16 156
-255 49 156
-0 24 180
-16 16 172
-41 16 172
-65 16 172
-82 16 172
-106 16 172
-123 16 172
-148 16 172
-172 16 172
-189 16 172
-213 16 172
-230 16 164
-246 16 164
-246 32 156
-255 49 164
-255 65 164
-0 41 180
-16 41 172
-32 32 172
-57 32 172
-82 32 172
-106 32 172
-123 32 172
-148 32 172
-172 32 172
-189 32 172
-205 32 164
-222 41 164
-230 49 156
-238 65 164
-255 65 164
-255 82 164
-0 65 180
-16 65 172
-32 57 172
-57 57 172
-74 57 172
-98 57 172
-123 57 172
-148 57 172
-172 57 172
-189 57 164
-205 57 164
-213 65 156
-222 82 164
-238 82 164
-255 82 164
-255 98 164
-0 90 180
-16 82 172
-32 82 172
-57 82 172
-74 74 164
-98 74 164
-123 74 164
-148 74 164
-164 74 164
-180 74 164
-197 82 156
-205 98 164
-222 98 164
-238 98 164
-255 98 164
-255 115 164
-0 115 180
-16 106 172
-32 106 172
-57 98 172
-74 98 164
-98 98 164
-115 98 164
-139 98 164
-164 98 164
-180 98 156
-197 106 164
-205 115 164
-222 115 164
-238 115 164
-255 123 164
-255 131 172
-0 131 180
-16 131 172
-32 123 172
-57 123 172
-74 123 164
-98 115 164
-115 115 156
-139 115 156
-156 115 156
-180 123 164
-197 123 164
-205 131 164
-222 131 164
-238 131 164
-255 139 164
-255 148 172
-0 156 180
-16 156 172
-32 148 172
-57 148 172
-74 148 164
-98 139 164
-115 139 156
-139 139 164
-164 139 164
-180 139 164
-197 148 164
-205 148 164
-222 148 164
-238 148 164
-255 156 172
-255 164 180
-0 180 180
-16 172 172
-32 172 172
-57 172 172
-74 164 164
-98 164 164
-115 156 156
-139 164 164
-164 156 156
-180 156 156
-197 164 164
-213 164 164
-222 164 164
-238 164 164
-255 172 172
-255 189 189
-0 197 172
-16 189 172
-32 189 164
-57 189 164
-74 180 164
-98 180 156
-123 180 156
-139 180 164
-156 180 156
-180 180 156
-197 180 164
-213 180 164
-222 180 164
-238 180 164
-255 180 172
-255 197 189
-0 213 164
-16 213 164
-32 205 164
-57 205 156
-82 197 156
-106 197 156
-123 197 164
-148 197 156
-164 197 164
-180 197 164
-197 197 164
-213 197 164
-222 197 164
-238 197 164
-255 197 172
-255 213 189
-0 230 164
-16 230 164
-41 222 156
-65 213 156
-98 205 156
-115 205 164
-131 205 156
-148 205 164
-164 213 164
-180 213 164
-197 213 164
-213 213 164
-222 205 164
-238 205 164
-255 213 172
-255 222 189
-0 246 156
-16 246 156
-49 230 156
-82 222 156
-98 222 164
-115 222 156
-131 222 164
-148 222 164
-164 222 164
-180 222 164
-197 222 164
-205 222 164
-222 222 164
-238 222 164
-255 222 172
-255 230 189
-0 255 156
-32 246 156
-65 238 156
-82 238 164
-98 238 156
-115 238 164
-131 238 164
-148 238 164
-164 238 164
-180 238 164
-197 238 164
-213 238 164
-222 238 164
-238 238 164
-255 238 172
-255 238 189
-16 255 156
-49 255 156
-65 255 164
-82 255 164
-98 255 156
-123 255 164
-139 255 164
-156 255 164
-172 255 172
-180 255 172
-197 255 172
-213 255 172
-222 255 172
-238 255 172
-255 255 172
-255 246 189
-49 255 156
-65 255 164
-82 255 156
-98 255 164
-115 255 164
-131 255 164
-148 255 172
-164 255 172
-189 255 189
-205 255 189
-213 255 189
-222 255 189
-230 255 189
-238 255 189
-246 255 189
-255 255 189
diff --git a/graphics/misc/sunny_day/41.pal b/graphics/misc/sunny_day/41.pal
deleted file mode 100644
index 121a39ad3..000000000
--- a/graphics/misc/sunny_day/41.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 197
-16 0 197
-41 0 197
-57 0 197
-82 0 197
-106 0 197
-123 0 197
-148 0 197
-172 0 197
-197 0 197
-213 0 189
-230 0 189
-246 0 180
-255 0 180
-255 16 172
-255 49 172
-0 16 197
-16 16 189
-41 16 189
-57 16 189
-82 16 189
-106 16 189
-123 16 189
-148 16 189
-172 16 189
-189 16 189
-213 16 189
-230 16 189
-246 16 180
-246 32 172
-255 49 172
-255 65 180
-0 41 197
-16 41 189
-32 32 189
-57 32 189
-82 32 189
-98 32 189
-123 32 189
-148 32 189
-164 32 189
-189 32 189
-205 32 189
-222 41 180
-230 49 172
-238 65 172
-255 65 172
-255 82 180
-0 65 197
-16 57 189
-32 57 189
-57 57 189
-74 57 189
-98 57 189
-123 57 189
-139 57 189
-164 57 189
-189 57 189
-205 57 180
-213 65 172
-222 82 172
-238 82 172
-255 82 180
-255 98 180
-0 82 197
-16 82 189
-32 82 189
-57 74 189
-74 74 180
-98 74 180
-115 74 180
-139 74 180
-164 74 180
-180 74 180
-197 82 172
-205 98 172
-222 98 180
-238 98 180
-255 98 180
-255 115 180
-0 106 197
-16 106 189
-32 98 189
-57 98 189
-74 98 180
-98 98 180
-115 98 180
-139 98 180
-156 98 180
-180 98 180
-197 106 180
-205 115 172
-222 115 180
-238 115 180
-255 123 180
-255 131 180
-0 131 197
-16 131 189
-32 123 189
-57 123 189
-74 123 180
-98 115 180
-123 123 180
-139 123 180
-156 123 180
-180 123 180
-197 123 180
-205 131 180
-222 131 180
-238 131 180
-255 139 180
-255 148 180
-0 156 197
-16 148 189
-32 148 189
-57 139 189
-74 139 180
-98 139 180
-123 139 180
-139 139 180
-164 139 180
-180 139 180
-197 148 180
-205 148 180
-222 148 180
-238 148 180
-255 156 180
-255 164 189
-0 172 197
-16 172 189
-32 172 189
-57 164 189
-74 164 180
-98 156 180
-123 164 180
-139 164 180
-156 156 180
-180 156 180
-197 164 180
-213 164 180
-222 164 180
-238 164 180
-255 172 180
-255 189 205
-0 197 197
-16 189 189
-32 189 189
-57 189 189
-74 180 180
-98 180 180
-123 180 180
-139 180 180
-156 180 180
-180 172 172
-197 172 172
-213 180 180
-222 180 180
-238 180 180
-255 197 197
-255 205 205
-0 213 189
-16 213 189
-32 205 189
-57 205 180
-82 197 172
-106 197 172
-123 197 180
-148 197 172
-164 197 180
-172 197 172
-197 197 172
-213 197 180
-222 197 180
-238 197 180
-255 205 197
-255 213 205
-0 230 180
-16 230 180
-41 222 180
-65 213 172
-98 205 172
-115 205 172
-131 205 172
-148 205 180
-164 213 180
-180 213 180
-197 213 180
-213 213 180
-222 205 180
-238 213 180
-255 222 197
-255 222 205
-0 246 180
-16 246 180
-49 230 172
-82 222 172
-98 222 172
-115 222 172
-131 222 180
-148 222 180
-164 222 180
-180 222 180
-197 222 180
-213 222 180
-222 222 180
-238 222 180
-255 230 197
-255 230 205
-0 255 180
-32 246 172
-65 238 172
-82 238 172
-98 238 172
-115 238 180
-131 238 180
-148 238 180
-164 238 180
-180 238 180
-197 238 180
-213 238 180
-222 238 180
-238 238 180
-255 238 197
-255 238 205
-16 255 172
-49 255 172
-65 255 172
-82 255 172
-98 255 180
-123 255 180
-139 255 180
-156 255 180
-172 255 180
-197 255 197
-205 255 197
-222 255 197
-230 255 197
-238 255 197
-255 255 197
-255 246 205
-49 255 172
-65 255 172
-82 255 172
-98 255 180
-115 255 180
-131 255 180
-148 255 180
-164 255 189
-189 255 197
-205 255 205
-213 255 205
-222 255 205
-230 255 205
-238 255 205
-246 255 205
-255 255 205
diff --git a/graphics/misc/sunny_day/42.pal b/graphics/misc/sunny_day/42.pal
deleted file mode 100644
index 534316abf..000000000
--- a/graphics/misc/sunny_day/42.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 213
-16 0 213
-32 0 213
-57 0 213
-82 0 213
-106 0 213
-123 0 213
-148 0 213
-164 0 213
-189 0 213
-213 0 213
-230 0 213
-246 0 205
-255 0 197
-255 16 189
-255 49 189
-0 16 213
-16 16 213
-32 16 213
-57 16 213
-74 16 213
-98 16 213
-123 16 213
-139 16 213
-164 16 213
-189 16 213
-213 16 213
-230 16 205
-246 16 205
-246 32 189
-255 49 197
-255 65 189
-0 41 213
-16 32 213
-32 32 205
-57 32 205
-74 32 205
-98 32 205
-123 32 205
-139 32 205
-164 32 205
-189 32 205
-205 32 205
-222 41 205
-230 49 189
-238 65 189
-255 65 189
-255 82 189
-0 57 213
-16 57 213
-32 57 205
-57 57 205
-74 57 205
-98 57 205
-115 57 205
-139 57 205
-156 57 205
-180 57 205
-205 57 205
-213 65 197
-222 82 189
-238 82 189
-255 82 189
-255 98 189
-0 82 213
-16 82 213
-32 74 205
-57 74 205
-82 82 197
-98 82 197
-115 82 197
-139 82 197
-156 82 197
-172 82 197
-197 82 197
-205 98 197
-222 98 189
-238 98 189
-255 98 189
-255 115 197
-0 106 213
-16 106 213
-32 98 205
-57 98 205
-82 98 197
-106 106 197
-123 106 197
-139 106 197
-156 106 197
-172 106 197
-197 106 197
-205 115 189
-222 115 189
-238 115 197
-255 123 197
-255 131 197
-0 123 213
-16 123 213
-32 123 205
-57 123 205
-82 123 197
-106 123 197
-123 123 197
-139 123 197
-164 123 197
-180 123 197
-197 123 197
-205 131 189
-222 131 197
-238 131 197
-255 139 197
-255 148 197
-0 148 213
-16 148 213
-32 148 205
-57 139 205
-82 139 197
-106 139 197
-123 139 197
-148 148 197
-156 148 197
-172 148 197
-197 148 197
-205 148 197
-222 148 197
-238 148 197
-255 156 197
-255 164 197
-0 172 213
-16 172 213
-32 164 205
-57 164 205
-82 156 197
-106 164 197
-123 164 197
-148 164 197
-164 164 197
-180 164 197
-197 164 197
-213 164 197
-222 164 197
-238 164 197
-255 172 197
-255 189 213
-0 189 213
-16 189 213
-32 189 205
-57 180 205
-82 172 197
-106 180 197
-123 180 197
-148 180 197
-164 180 197
-172 172 197
-197 172 197
-213 180 197
-222 180 197
-238 180 197
-255 197 205
-255 205 213
-0 213 213
-16 213 213
-32 205 205
-57 205 205
-82 197 197
-106 197 197
-123 197 197
-148 197 197
-164 197 197
-172 197 197
-197 189 189
-213 197 197
-230 197 197
-238 205 205
-255 213 213
-255 222 222
-0 230 205
-16 230 205
-41 222 197
-65 213 189
-98 205 189
-115 205 189
-131 205 189
-148 205 197
-164 213 197
-180 213 197
-197 213 197
-213 213 197
-230 213 197
-238 222 205
-255 222 213
-255 230 222
-0 246 197
-16 246 197
-49 230 189
-82 222 189
-98 222 189
-115 222 189
-131 222 189
-148 222 189
-164 222 197
-180 222 197
-197 230 197
-213 230 197
-230 230 197
-238 230 205
-255 230 213
-255 238 222
-0 255 197
-32 246 189
-65 238 189
-82 238 189
-98 238 189
-115 238 189
-131 238 189
-148 238 197
-164 238 197
-180 238 197
-205 238 205
-222 238 205
-230 238 205
-238 238 205
-255 246 213
-255 246 222
-16 255 189
-49 255 189
-65 255 189
-82 255 189
-98 255 189
-123 255 189
-139 255 197
-156 255 197
-172 255 197
-197 255 205
-213 255 213
-222 255 213
-230 255 213
-246 255 213
-255 255 213
-255 255 222
-49 255 180
-65 255 189
-82 255 189
-98 255 189
-115 255 189
-131 255 197
-148 255 197
-164 255 197
-189 255 213
-205 255 213
-222 255 222
-230 255 222
-238 255 222
-246 255 222
-255 255 222
-255 255 222
diff --git a/graphics/misc/sunny_day/43.pal b/graphics/misc/sunny_day/43.pal
deleted file mode 100644
index 8fc1e0fb4..000000000
--- a/graphics/misc/sunny_day/43.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 230
-16 0 230
-32 0 230
-57 0 230
-74 0 230
-98 0 230
-123 0 230
-139 0 230
-164 0 230
-180 0 230
-205 0 230
-230 0 230
-246 0 230
-255 0 222
-255 16 213
-255 49 205
-0 16 230
-16 16 230
-32 16 230
-49 16 230
-74 16 230
-98 16 230
-123 16 230
-139 16 230
-164 16 230
-180 16 230
-205 16 230
-230 16 230
-246 16 222
-246 32 213
-255 49 205
-255 65 205
-0 41 230
-16 32 230
-41 41 222
-57 41 222
-74 41 222
-98 41 222
-115 41 222
-139 41 222
-156 41 222
-180 41 222
-197 41 222
-222 41 222
-230 49 213
-238 65 205
-255 65 205
-255 82 205
-0 65 230
-16 57 230
-41 57 222
-65 65 213
-82 65 213
-98 65 213
-115 65 213
-139 65 213
-156 65 213
-172 65 213
-189 65 213
-213 65 213
-222 82 213
-238 82 205
-255 82 205
-255 98 205
-0 82 230
-16 74 230
-41 82 222
-65 82 213
-98 98 205
-115 98 205
-131 98 205
-139 98 205
-156 98 205
-172 98 205
-189 98 205
-205 98 205
-222 98 205
-238 98 205
-255 98 205
-255 115 205
-0 106 230
-16 98 230
-41 98 222
-65 98 213
-98 115 205
-115 115 205
-123 115 205
-139 115 205
-164 115 205
-172 115 205
-189 115 205
-205 115 205
-222 115 213
-238 115 205
-255 123 205
-255 131 205
-0 123 230
-16 123 230
-41 123 222
-65 123 213
-98 131 205
-115 131 205
-131 131 205
-148 131 205
-156 131 205
-172 131 205
-189 131 205
-205 131 205
-222 131 205
-238 131 205
-255 139 213
-255 148 213
-0 148 230
-16 139 230
-41 139 222
-65 139 213
-98 148 205
-115 148 205
-131 148 205
-148 148 205
-164 148 205
-180 148 205
-197 148 205
-205 148 205
-222 148 205
-238 148 205
-255 156 213
-255 164 213
-0 164 230
-16 164 230
-41 164 222
-65 156 213
-98 164 205
-115 164 205
-131 164 205
-148 164 205
-164 164 213
-180 164 213
-197 164 213
-213 164 213
-222 164 205
-238 164 213
-255 172 213
-255 189 222
-0 189 230
-16 189 230
-41 180 222
-65 172 213
-98 172 205
-115 172 205
-131 180 205
-148 180 205
-164 180 213
-180 180 213
-197 180 213
-213 180 213
-222 180 213
-238 180 213
-255 197 222
-255 205 222
-0 213 230
-16 205 230
-41 205 222
-65 197 213
-98 197 205
-115 189 205
-131 189 205
-148 197 205
-164 197 213
-180 197 213
-197 197 213
-213 197 213
-230 197 213
-238 205 222
-255 213 222
-255 222 230
-0 230 230
-16 230 230
-41 222 222
-65 213 213
-98 205 205
-115 205 205
-131 205 205
-148 205 205
-164 213 213
-180 213 213
-197 213 213
-213 213 213
-230 222 222
-246 222 222
-255 230 230
-255 238 238
-0 246 222
-16 246 222
-49 230 205
-82 222 205
-98 222 205
-115 222 205
-131 222 205
-148 222 205
-164 222 205
-180 222 205
-197 230 213
-222 230 222
-230 230 222
-246 230 222
-255 238 230
-255 246 238
-0 255 213
-32 246 205
-65 238 205
-82 238 205
-98 238 205
-115 238 205
-131 238 205
-148 238 205
-164 238 205
-180 238 213
-205 238 222
-222 246 222
-230 246 222
-246 246 222
-255 246 230
-255 246 238
-16 255 205
-49 255 205
-65 255 205
-82 255 205
-98 255 205
-123 255 205
-139 255 205
-156 255 205
-172 255 213
-197 255 222
-213 255 222
-230 255 230
-238 255 230
-246 255 230
-255 255 230
-255 255 238
-49 255 197
-65 255 197
-82 255 205
-98 255 205
-115 255 205
-131 255 205
-148 255 205
-164 255 213
-189 255 222
-205 255 222
-222 255 230
-238 255 238
-246 255 238
-246 255 238
-255 255 238
-255 255 238
diff --git a/graphics/misc/sunny_day/44.pal b/graphics/misc/sunny_day/44.pal
deleted file mode 100644
index 3ee3d9970..000000000
--- a/graphics/misc/sunny_day/44.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 246
-16 0 246
-32 0 246
-57 0 246
-74 0 246
-98 0 246
-123 0 246
-139 0 246
-156 0 246
-180 0 246
-197 0 246
-222 0 246
-246 0 246
-255 0 238
-255 16 230
-255 49 213
-0 16 246
-16 16 246
-32 16 246
-57 16 246
-74 16 246
-98 16 246
-115 16 246
-139 16 246
-156 16 246
-180 16 246
-197 16 246
-222 16 246
-246 16 246
-246 32 230
-255 49 222
-255 65 222
-0 41 246
-16 41 246
-49 49 230
-65 49 230
-82 49 230
-98 49 230
-115 49 230
-139 49 230
-156 49 230
-172 49 230
-189 49 230
-205 49 230
-230 49 230
-238 65 222
-255 65 222
-255 82 213
-0 57 246
-16 57 246
-49 65 230
-82 82 222
-90 82 222
-115 82 222
-123 82 222
-139 82 222
-156 82 222
-172 82 222
-189 82 222
-205 82 222
-222 82 222
-238 82 222
-255 82 222
-255 98 222
-0 82 246
-16 82 246
-49 82 230
-82 98 222
-98 98 222
-115 98 222
-131 98 222
-139 98 222
-164 98 222
-172 98 222
-189 98 222
-205 98 222
-222 98 222
-238 98 222
-255 98 222
-255 115 222
-0 98 246
-16 98 246
-49 98 230
-82 115 222
-98 115 222
-115 115 222
-131 115 222
-148 115 222
-156 115 222
-172 115 222
-189 115 222
-205 115 222
-222 115 222
-238 115 222
-255 123 222
-255 131 222
-0 123 246
-16 123 246
-49 123 230
-82 131 222
-98 131 222
-115 131 222
-131 131 222
-148 131 222
-164 131 222
-180 131 222
-189 131 222
-205 131 222
-222 131 222
-238 131 222
-255 139 222
-255 148 222
-0 139 246
-16 139 246
-49 139 230
-82 148 222
-98 148 222
-115 148 222
-131 148 222
-148 148 222
-164 148 222
-180 148 222
-189 148 222
-205 148 222
-222 148 222
-238 148 222
-255 156 222
-255 164 222
-0 164 246
-16 164 246
-49 156 230
-82 164 222
-98 164 222
-115 164 222
-131 164 222
-148 164 222
-164 164 222
-180 164 222
-197 164 222
-205 164 222
-222 164 222
-238 164 222
-255 172 222
-255 189 230
-0 180 246
-16 180 246
-49 172 230
-82 172 222
-98 180 222
-115 180 222
-131 180 222
-148 180 222
-164 180 222
-180 180 222
-197 180 222
-205 180 222
-222 180 222
-238 180 222
-255 197 230
-255 205 230
-0 205 246
-16 205 246
-49 189 230
-82 189 222
-98 189 222
-115 189 222
-131 197 222
-148 197 222
-164 197 222
-180 197 222
-197 197 230
-213 197 230
-230 197 230
-238 205 230
-255 213 230
-255 222 238
-0 230 246
-16 222 246
-49 213 230
-82 213 222
-98 205 222
-115 213 222
-131 205 222
-148 205 222
-164 205 222
-180 213 222
-197 213 230
-222 222 230
-230 222 230
-246 222 230
-255 230 238
-255 238 246
-0 246 246
-16 246 246
-49 230 230
-82 222 222
-98 222 222
-115 222 222
-131 222 222
-148 222 222
-164 222 222
-180 222 222
-197 230 230
-222 230 230
-238 230 230
-246 238 238
-255 246 246
-255 255 255
-0 255 238
-32 246 222
-65 238 222
-82 238 222
-98 238 222
-115 238 222
-131 238 222
-148 238 222
-164 238 222
-180 238 222
-205 238 230
-222 246 230
-238 246 238
-246 246 238
-255 246 246
-255 255 255
-16 255 222
-49 255 222
-65 255 222
-82 255 222
-98 255 222
-123 255 222
-139 255 222
-156 255 222
-172 255 222
-197 255 230
-213 255 230
-230 255 238
-246 255 246
-246 255 246
-255 255 246
-255 255 255
-49 255 213
-65 255 213
-82 255 213
-98 255 222
-115 255 213
-131 255 222
-148 255 222
-164 255 222
-189 255 230
-205 255 230
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/45.pal b/graphics/misc/sunny_day/45.pal
deleted file mode 100644
index f63f8a7b4..000000000
--- a/graphics/misc/sunny_day/45.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 255
-16 0 255
-41 0 255
-57 0 255
-82 0 255
-98 0 255
-115 0 255
-139 0 255
-156 0 255
-180 0 255
-197 0 255
-213 0 255
-238 0 255
-255 0 255
-255 16 246
-255 49 230
-0 24 255
-32 32 246
-41 32 246
-65 32 246
-82 32 246
-98 32 246
-115 32 246
-139 32 246
-156 32 246
-172 32 246
-189 32 246
-205 32 246
-222 32 246
-246 32 246
-255 49 238
-255 65 230
-0 41 255
-32 49 246
-65 65 238
-82 65 238
-90 65 238
-115 65 238
-123 65 238
-139 65 238
-156 65 238
-172 65 238
-189 65 238
-205 65 238
-222 65 238
-238 65 238
-255 65 238
-255 82 230
-0 57 255
-32 65 246
-65 82 238
-82 82 238
-98 82 238
-115 82 238
-123 82 238
-139 82 238
-164 82 238
-172 82 238
-189 82 238
-205 82 238
-222 82 238
-238 82 238
-255 82 238
-255 98 230
-0 82 255
-32 82 246
-65 98 238
-82 98 238
-98 98 238
-115 98 238
-131 98 238
-139 98 238
-156 98 238
-172 98 238
-189 98 238
-205 98 238
-222 98 238
-238 98 238
-255 98 238
-255 115 230
-0 98 255
-32 98 246
-65 115 238
-82 115 238
-98 115 238
-115 115 238
-131 115 238
-148 115 238
-164 115 238
-180 115 238
-189 115 238
-205 115 238
-222 115 238
-238 115 238
-255 123 238
-255 131 230
-0 123 255
-32 123 246
-65 131 238
-82 131 238
-98 131 238
-115 131 238
-131 131 238
-148 131 238
-164 131 238
-180 131 238
-189 131 238
-205 131 238
-222 131 238
-238 131 238
-255 139 238
-255 148 238
-0 139 255
-32 139 246
-65 148 238
-82 148 238
-98 148 238
-115 148 238
-131 148 238
-148 148 238
-164 148 238
-180 148 238
-197 148 238
-205 148 238
-222 148 238
-238 148 238
-255 156 238
-255 164 238
-0 156 255
-32 156 246
-65 164 238
-82 164 238
-98 164 238
-115 164 238
-131 164 238
-148 164 238
-164 164 238
-180 164 238
-197 164 238
-205 164 238
-222 164 238
-238 164 238
-255 172 238
-255 189 238
-0 180 255
-32 172 246
-65 172 238
-82 172 238
-98 180 238
-115 180 238
-131 180 238
-148 180 238
-164 180 238
-180 180 238
-197 180 238
-213 180 238
-222 180 238
-238 180 238
-255 197 238
-255 205 238
-0 197 255
-32 189 246
-65 189 238
-82 189 238
-98 189 238
-115 197 238
-131 197 238
-148 197 238
-164 197 238
-180 197 238
-205 205 238
-222 205 238
-230 205 238
-238 205 238
-255 213 246
-255 222 246
-0 222 255
-32 213 246
-65 205 238
-82 205 238
-98 205 238
-115 205 238
-131 205 238
-148 205 238
-164 213 238
-180 213 238
-205 222 238
-222 222 246
-230 222 246
-246 222 246
-255 230 246
-255 238 246
-0 238 255
-32 230 246
-65 222 238
-82 222 238
-98 222 238
-115 222 238
-131 222 238
-148 222 238
-164 222 238
-180 222 238
-205 230 238
-222 230 246
-238 238 246
-246 238 246
-255 246 246
-255 255 255
-0 255 255
-32 246 246
-65 238 238
-82 238 238
-98 238 238
-115 238 238
-131 238 238
-148 238 238
-164 238 238
-180 238 238
-205 238 238
-222 246 246
-238 246 246
-255 246 246
-255 255 255
-255 255 255
-16 255 238
-49 255 238
-65 255 238
-82 255 238
-98 255 238
-123 255 238
-139 255 238
-156 255 238
-172 255 238
-197 255 238
-213 255 246
-230 255 246
-246 255 246
-255 255 255
-255 255 255
-255 255 255
-49 255 230
-65 255 230
-82 255 230
-98 255 230
-115 255 230
-131 255 230
-148 255 230
-164 255 238
-189 255 238
-205 255 238
-222 255 246
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/46.pal b/graphics/misc/sunny_day/46.pal
deleted file mode 100644
index 856a0743a..000000000
--- a/graphics/misc/sunny_day/46.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-16 16 255
-32 16 255
-49 16 255
-65 16 255
-90 16 255
-98 16 255
-115 16 255
-139 16 255
-156 16 255
-172 16 255
-189 16 255
-205 16 255
-222 16 255
-238 16 255
-255 16 255
-255 49 246
-16 41 255
-49 49 255
-65 49 255
-82 49 255
-90 49 255
-115 49 255
-123 49 255
-139 49 255
-156 49 255
-172 49 255
-189 49 255
-205 49 255
-222 49 255
-238 49 255
-255 49 255
-255 65 246
-16 57 255
-49 65 255
-65 65 255
-82 65 255
-98 65 255
-115 65 255
-123 65 255
-139 65 255
-164 65 255
-172 65 255
-189 65 255
-205 65 255
-222 65 255
-238 65 255
-255 65 255
-255 82 246
-16 74 255
-49 82 255
-65 82 255
-82 82 255
-98 82 255
-115 82 255
-131 82 255
-139 82 255
-164 82 255
-172 82 255
-189 82 255
-205 82 255
-222 82 255
-238 82 255
-255 82 255
-255 98 246
-16 90 255
-49 98 255
-65 98 255
-82 98 255
-98 98 255
-115 98 255
-131 98 255
-148 98 255
-156 98 255
-180 98 255
-189 98 255
-205 98 255
-222 98 255
-238 98 255
-255 98 255
-255 115 246
-16 106 255
-49 115 255
-65 115 255
-82 115 255
-98 115 255
-123 123 255
-131 123 255
-148 123 255
-164 123 255
-180 123 255
-189 123 255
-205 123 255
-222 123 255
-238 123 255
-255 123 255
-255 131 246
-16 123 255
-49 131 255
-65 131 255
-82 131 255
-98 131 255
-123 131 255
-139 139 255
-148 139 255
-164 139 255
-180 139 255
-197 139 255
-205 139 255
-222 139 255
-238 139 255
-255 139 255
-255 148 246
-16 139 255
-49 148 255
-65 148 255
-82 148 255
-98 148 255
-123 148 255
-139 156 255
-156 156 255
-164 156 255
-180 156 255
-197 156 255
-205 156 255
-222 156 255
-238 156 255
-255 156 255
-255 164 246
-16 156 255
-49 164 255
-65 164 255
-82 164 255
-98 164 255
-123 164 255
-139 164 255
-156 172 255
-172 172 255
-180 172 255
-197 172 255
-213 172 255
-222 172 255
-238 172 255
-255 172 255
-255 189 246
-16 172 255
-49 172 255
-65 172 255
-82 180 255
-98 180 255
-123 180 255
-139 180 255
-156 180 255
-172 180 255
-197 197 255
-205 197 255
-222 197 255
-230 197 255
-238 197 255
-255 197 255
-255 205 246
-16 189 255
-49 197 255
-65 189 255
-82 189 255
-98 189 255
-123 197 255
-139 197 255
-156 197 255
-172 197 255
-197 205 255
-213 213 255
-222 213 255
-230 213 255
-246 213 255
-255 213 255
-255 222 255
-16 213 255
-49 205 255
-65 205 255
-82 205 255
-98 205 255
-123 205 255
-139 213 255
-156 213 255
-172 213 255
-197 222 255
-213 222 255
-230 230 255
-238 230 255
-246 230 255
-255 230 255
-255 238 255
-16 230 255
-49 222 255
-65 222 255
-82 222 255
-98 222 255
-123 222 255
-139 222 255
-156 222 255
-172 222 255
-197 230 255
-213 230 255
-230 238 255
-246 246 255
-246 246 255
-255 246 255
-255 255 255
-16 246 255
-49 238 255
-65 238 255
-82 238 255
-98 238 255
-123 238 255
-139 238 255
-156 238 255
-172 238 255
-197 238 255
-213 246 255
-230 246 255
-246 246 255
-255 255 255
-255 255 255
-255 255 255
-16 255 255
-49 255 255
-65 255 255
-82 255 255
-98 255 255
-123 255 255
-139 255 255
-156 255 255
-172 255 255
-197 255 255
-213 255 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-49 255 238
-65 255 246
-82 255 246
-98 255 246
-115 255 246
-131 255 246
-148 255 246
-164 255 246
-189 255 246
-205 255 246
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/47.pal b/graphics/misc/sunny_day/47.pal
deleted file mode 100644
index 1dfa69803..000000000
--- a/graphics/misc/sunny_day/47.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-49 49 255
-57 49 255
-74 49 255
-82 49 255
-98 49 255
-115 49 255
-123 49 255
-139 49 255
-156 49 255
-172 49 255
-180 49 255
-197 49 255
-213 49 255
-230 49 255
-238 49 255
-255 49 255
-49 57 255
-65 65 255
-74 65 255
-90 65 255
-98 65 255
-115 65 255
-131 65 255
-148 65 255
-164 65 255
-172 65 255
-189 65 255
-197 65 255
-213 65 255
-230 65 255
-246 65 255
-255 65 255
-49 74 255
-65 82 255
-82 82 255
-90 82 255
-106 82 255
-115 82 255
-131 82 255
-148 82 255
-156 82 255
-172 82 255
-189 82 255
-205 82 255
-213 82 255
-230 82 255
-246 82 255
-255 82 255
-49 90 255
-65 90 255
-82 90 255
-98 98 255
-106 98 255
-123 98 255
-139 98 255
-148 98 255
-164 98 255
-180 98 255
-189 98 255
-205 98 255
-222 98 255
-230 98 255
-246 98 255
-255 98 255
-49 98 255
-65 106 255
-82 106 255
-98 106 255
-115 115 255
-123 115 255
-139 115 255
-156 115 255
-164 115 255
-180 115 255
-189 115 255
-205 115 255
-213 115 255
-230 115 255
-246 115 255
-255 115 255
-49 115 255
-65 123 255
-82 123 255
-98 123 255
-115 131 255
-131 131 255
-139 131 255
-156 131 255
-164 131 255
-180 131 255
-197 131 255
-205 131 255
-222 131 255
-230 131 255
-246 131 255
-255 131 255
-49 131 255
-65 131 255
-82 139 255
-98 139 255
-115 139 255
-131 139 255
-148 148 255
-156 148 255
-172 148 255
-180 148 255
-197 148 255
-205 148 255
-222 148 255
-230 148 255
-246 148 255
-255 148 255
-49 148 255
-65 148 255
-82 148 255
-98 148 255
-115 156 255
-131 156 255
-148 156 255
-164 164 255
-172 164 255
-189 164 255
-197 164 255
-213 164 255
-222 164 255
-238 164 255
-246 164 255
-255 164 255
-49 156 255
-65 164 255
-82 164 255
-98 164 255
-115 164 255
-131 172 255
-148 172 255
-164 180 255
-189 189 255
-197 189 255
-213 189 255
-222 189 255
-230 189 255
-238 189 255
-246 189 255
-255 189 255
-49 172 255
-65 180 255
-82 180 255
-98 180 255
-115 180 255
-131 180 255
-148 180 255
-164 189 255
-189 205 255
-205 205 255
-213 205 255
-222 205 255
-230 205 255
-238 205 255
-246 205 255
-255 205 255
-49 189 255
-65 189 255
-82 189 255
-98 189 255
-115 197 255
-131 197 255
-148 197 255
-164 197 255
-189 213 255
-205 213 255
-222 222 255
-230 222 255
-238 222 255
-246 222 255
-255 222 255
-255 222 255
-49 205 255
-65 205 255
-82 205 255
-98 205 255
-115 205 255
-131 205 255
-148 213 255
-164 213 255
-189 222 255
-205 222 255
-222 230 255
-238 238 255
-246 238 255
-246 238 255
-255 238 255
-255 238 255
-49 213 255
-65 222 255
-82 213 255
-98 222 255
-115 222 255
-131 222 255
-148 222 255
-164 222 255
-189 230 255
-205 230 255
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 230 255
-65 230 255
-82 230 255
-98 230 255
-115 230 255
-131 230 255
-148 238 255
-164 238 255
-189 238 255
-205 238 255
-222 246 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 246 255
-65 246 255
-82 246 255
-98 246 255
-115 246 255
-131 246 255
-148 246 255
-164 246 255
-189 246 255
-205 246 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 255 255
-65 255 255
-82 255 255
-98 255 255
-115 255 255
-131 255 255
-148 255 255
-164 255 255
-189 255 255
-205 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/48.pal b/graphics/misc/sunny_day/48.pal
deleted file mode 100644
index 06eb9906f..000000000
--- a/graphics/misc/sunny_day/48.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 8
-24 8 8
-41 8 8
-57 8 8
-74 8 8
-90 8 8
-106 8 8
-172 0 0
-189 0 0
-205 0 0
-222 0 0
-238 0 0
-255 0 0
-255 8 8
-255 24 24
-255 57 57
-8 24 8
-24 24 8
-41 24 8
-57 24 8
-74 24 8
-90 24 8
-106 24 8
-172 16 0
-189 16 0
-205 16 0
-222 16 0
-238 16 0
-255 16 0
-255 24 8
-255 41 24
-255 65 57
-8 41 8
-24 41 8
-41 41 8
-57 41 8
-74 41 8
-90 41 8
-106 41 8
-172 49 0
-189 41 0
-205 41 0
-222 41 0
-238 32 0
-255 32 0
-255 49 8
-255 57 24
-255 82 57
-8 57 8
-24 57 8
-41 57 8
-57 57 8
-74 57 8
-90 57 8
-106 57 8
-172 65 0
-189 65 0
-205 65 0
-222 57 0
-238 57 0
-255 57 0
-255 65 8
-255 74 24
-255 90 57
-8 74 8
-24 74 8
-41 74 8
-57 74 8
-74 74 8
-90 74 8
-106 74 8
-172 98 0
-189 90 0
-205 90 0
-222 82 0
-238 82 0
-255 82 0
-255 82 8
-255 90 24
-255 106 57
-8 90 8
-24 90 8
-41 90 8
-57 90 8
-74 90 8
-90 90 8
-106 90 8
-172 123 0
-189 115 0
-205 115 0
-222 106 0
-238 106 0
-255 98 0
-255 98 8
-255 106 24
-255 123 57
-8 106 8
-24 106 8
-41 106 8
-57 106 8
-74 106 8
-90 106 8
-106 106 8
-172 148 0
-189 139 0
-205 131 0
-222 131 0
-238 123 0
-255 123 0
-255 123 8
-255 123 24
-255 131 57
-0 172 0
-24 172 0
-49 172 0
-74 172 0
-98 172 0
-123 172 0
-148 172 0
-172 172 0
-189 164 0
-205 156 0
-222 148 0
-238 148 0
-255 148 0
-255 139 8
-255 139 24
-255 148 57
-0 189 0
-24 189 0
-41 189 0
-74 189 0
-90 189 0
-115 189 0
-139 189 0
-164 189 0
-189 189 0
-205 180 0
-222 172 0
-238 172 0
-255 164 0
-255 156 8
-255 156 24
-255 164 57
-0 205 0
-16 205 0
-41 205 0
-65 205 0
-90 205 0
-115 205 0
-139 205 0
-164 205 0
-189 205 0
-205 205 0
-222 197 0
-238 189 0
-255 189 0
-255 180 8
-255 172 24
-255 172 57
-0 222 0
-16 222 0
-41 222 0
-65 222 0
-90 222 0
-106 222 0
-131 222 0
-156 222 0
-180 222 0
-197 222 0
-222 222 0
-238 213 0
-255 205 0
-255 197 8
-255 189 24
-255 189 57
-0 238 0
-16 238 0
-41 238 0
-65 238 0
-82 238 0
-106 238 0
-131 238 0
-148 238 0
-172 238 0
-197 238 0
-222 238 0
-238 238 0
-255 230 0
-255 213 8
-255 205 24
-255 197 57
-0 255 0
-16 255 0
-41 255 0
-57 255 0
-82 255 0
-106 255 0
-123 255 0
-148 255 0
-172 255 0
-189 255 0
-213 255 0
-238 255 0
-255 255 0
-255 238 8
-255 222 24
-255 213 57
-8 255 8
-32 255 8
-49 255 8
-65 255 8
-90 255 8
-106 255 8
-123 255 8
-148 255 8
-164 255 8
-180 255 8
-197 255 8
-222 255 8
-238 255 8
-255 255 8
-255 238 24
-255 230 57
-24 255 24
-49 255 24
-65 255 24
-82 255 24
-98 255 24
-115 255 24
-131 255 24
-139 255 24
-164 255 24
-180 255 24
-197 255 24
-213 255 24
-230 255 24
-246 255 24
-255 255 24
-255 238 57
-57 255 57
-65 255 57
-82 255 57
-98 255 57
-106 255 57
-123 255 57
-139 255 57
-148 255 57
-164 255 57
-180 255 57
-189 255 57
-205 255 57
-222 255 57
-230 255 57
-246 255 57
-255 255 57
diff --git a/graphics/misc/sunny_day/49.pal b/graphics/misc/sunny_day/49.pal
deleted file mode 100644
index 0f477a389..000000000
--- a/graphics/misc/sunny_day/49.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 24
-24 8 24
-41 8 24
-57 8 24
-74 8 24
-90 8 24
-106 8 24
-172 0 24
-189 0 24
-205 0 16
-222 0 16
-238 0 16
-255 0 16
-255 8 32
-255 24 49
-255 57 65
-8 24 24
-24 24 24
-41 24 24
-57 24 24
-74 24 24
-90 24 24
-148 16 16
-164 16 16
-189 16 16
-205 16 16
-222 8 8
-246 8 8
-246 24 24
-246 41 41
-255 57 57
-255 74 74
-8 41 24
-24 41 24
-41 41 24
-57 41 24
-74 41 24
-90 41 24
-148 41 16
-164 41 16
-189 41 16
-205 41 16
-222 32 8
-246 32 8
-246 41 24
-246 49 41
-255 74 57
-255 82 74
-8 57 24
-24 57 24
-41 57 24
-57 57 24
-74 57 24
-90 57 24
-148 65 16
-164 65 16
-189 65 16
-205 65 16
-222 57 8
-246 49 8
-246 57 24
-246 65 41
-255 90 57
-255 98 74
-8 74 24
-24 74 24
-41 74 24
-57 74 24
-74 74 24
-90 74 24
-148 98 16
-164 90 16
-189 90 16
-205 82 16
-222 82 8
-246 74 8
-246 82 24
-246 90 41
-255 98 57
-255 106 74
-8 90 24
-24 90 24
-41 90 24
-57 90 24
-74 90 24
-90 90 24
-148 123 16
-164 115 16
-189 115 16
-205 106 16
-222 106 8
-246 98 8
-246 98 24
-246 106 41
-255 115 57
-255 123 74
-8 106 24
-16 148 16
-49 148 16
-74 148 16
-98 148 16
-123 148 16
-148 148 16
-164 139 16
-189 131 16
-205 131 16
-222 131 8
-246 123 8
-246 123 24
-246 123 41
-255 131 57
-255 139 74
-0 172 16
-16 164 16
-41 164 16
-65 164 16
-90 164 16
-115 164 16
-139 164 16
-164 164 16
-189 156 16
-205 156 16
-222 148 8
-246 148 8
-246 139 24
-246 139 41
-255 148 57
-255 148 74
-0 189 16
-16 189 16
-41 189 16
-65 189 16
-90 189 16
-115 189 16
-139 189 16
-164 189 16
-189 189 16
-205 180 16
-222 172 8
-246 172 8
-246 164 24
-246 156 41
-255 164 57
-255 164 74
-0 205 16
-16 205 16
-41 205 16
-65 205 16
-90 205 16
-106 205 16
-131 205 16
-156 205 16
-180 205 16
-205 205 16
-222 197 8
-246 189 8
-246 180 24
-246 172 41
-255 180 57
-255 180 74
-0 222 16
-8 222 8
-32 222 8
-57 222 8
-82 222 8
-106 222 8
-131 222 8
-156 222 8
-180 222 8
-205 222 8
-222 222 8
-246 213 8
-246 205 24
-246 197 41
-255 197 57
-255 189 74
-0 238 16
-8 246 8
-32 246 8
-57 246 8
-82 246 8
-106 246 8
-123 246 8
-148 246 8
-172 246 8
-197 246 8
-222 246 8
-246 246 8
-246 222 24
-246 213 41
-255 205 57
-255 205 74
-0 255 16
-24 246 24
-49 246 24
-65 246 24
-90 246 24
-106 246 24
-131 246 24
-148 246 24
-164 246 24
-189 246 24
-205 246 24
-230 246 24
-246 246 24
-246 230 41
-255 222 57
-255 222 74
-8 255 24
-41 246 41
-57 246 41
-74 246 41
-90 246 41
-106 246 41
-123 246 41
-139 246 41
-164 246 41
-180 246 41
-197 246 41
-213 246 41
-230 246 41
-246 246 41
-255 238 57
-255 230 74
-24 255 41
-57 255 57
-74 255 57
-90 255 57
-106 255 57
-123 255 57
-131 255 57
-148 255 57
-164 255 57
-180 255 57
-197 255 57
-213 255 57
-230 255 57
-246 255 57
-255 255 57
-255 246 74
-57 255 65
-74 255 74
-90 255 74
-98 255 74
-115 255 74
-131 255 74
-139 255 74
-156 255 74
-164 255 74
-180 255 74
-197 255 74
-205 255 74
-222 255 74
-230 255 74
-246 255 74
-255 255 74
diff --git a/graphics/misc/sunny_day/5.pal b/graphics/misc/sunny_day/5.pal
deleted file mode 100644
index c275f5dc9..000000000
--- a/graphics/misc/sunny_day/5.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 90
-24 8 90
-41 8 90
-57 8 90
-74 8 90
-90 8 90
-106 8 90
-139 0 98
-156 0 98
-172 0 98
-189 0 90
-205 0 98
-222 0 90
-238 0 90
-255 0 90
-255 24 106
-8 24 90
-24 24 90
-41 24 90
-57 24 90
-74 24 90
-90 24 90
-115 16 98
-131 16 98
-156 16 98
-172 16 90
-189 16 90
-205 16 90
-222 16 90
-238 16 90
-246 32 98
-255 41 106
-8 41 90
-24 41 90
-41 41 98
-57 41 98
-74 41 98
-98 41 98
-115 41 98
-131 41 98
-148 32 90
-172 32 90
-189 32 90
-205 32 90
-222 32 90
-230 49 106
-246 49 98
-255 57 106
-8 57 90
-24 57 90
-41 57 98
-57 57 98
-74 57 98
-98 57 98
-115 57 98
-131 57 90
-148 57 90
-164 57 90
-189 49 90
-205 57 90
-213 65 98
-230 65 98
-246 65 98
-255 74 106
-8 74 90
-24 74 90
-41 82 98
-57 74 98
-74 74 98
-98 74 98
-115 74 90
-131 74 90
-148 74 90
-164 74 90
-180 74 90
-197 82 98
-213 82 98
-230 82 98
-246 82 98
-255 90 106
-8 90 90
-24 90 90
-41 98 98
-57 98 98
-74 98 98
-90 90 90
-115 90 90
-131 90 90
-148 90 90
-164 90 90
-180 98 98
-197 98 98
-213 98 98
-230 98 98
-246 106 106
-255 106 106
-8 106 90
-16 115 98
-41 115 98
-57 115 90
-74 115 90
-90 115 90
-115 115 90
-131 115 90
-148 106 90
-164 106 90
-180 115 98
-197 115 98
-213 115 98
-230 115 98
-246 115 106
-255 123 106
-0 139 98
-16 131 98
-41 131 90
-57 131 90
-74 131 90
-90 131 90
-115 131 90
-131 131 90
-148 131 90
-164 131 90
-180 131 98
-197 131 98
-213 131 98
-230 131 98
-246 131 106
-255 139 106
-0 156 98
-16 156 98
-32 148 90
-57 148 90
-74 148 90
-90 148 90
-106 148 90
-131 148 90
-148 148 90
-164 148 90
-180 148 98
-197 148 98
-213 148 98
-230 148 98
-246 148 106
-255 148 106
-0 172 90
-16 172 90
-32 172 90
-57 164 90
-74 164 90
-90 164 90
-106 164 90
-131 164 90
-148 164 90
-164 164 90
-180 164 98
-197 164 98
-213 164 98
-230 164 98
-246 164 106
-255 164 106
-0 189 90
-16 189 90
-32 189 90
-49 189 90
-74 180 90
-98 180 98
-115 180 98
-131 180 98
-148 180 98
-164 180 98
-180 180 98
-197 180 98
-213 180 98
-230 180 98
-246 180 106
-255 180 106
-0 205 90
-16 205 90
-32 205 90
-57 205 90
-82 197 98
-98 197 98
-115 197 98
-131 197 98
-148 197 98
-164 197 98
-180 197 98
-197 197 98
-213 197 98
-230 197 98
-246 197 106
-255 197 106
-0 222 90
-16 222 90
-32 222 90
-65 213 98
-82 213 98
-98 213 98
-115 213 98
-139 213 98
-148 213 98
-164 213 98
-180 213 98
-197 213 98
-213 213 98
-230 213 98
-246 213 106
-255 213 106
-0 238 90
-16 238 90
-49 230 98
-65 230 98
-82 230 98
-98 230 98
-123 230 98
-131 230 98
-156 230 98
-164 230 98
-180 230 98
-197 230 98
-213 230 98
-230 230 98
-246 230 106
-255 230 106
-0 255 90
-32 246 98
-49 246 98
-65 246 98
-82 246 98
-106 246 106
-123 246 106
-139 246 106
-148 246 106
-172 246 106
-189 246 106
-197 246 106
-213 246 106
-230 246 106
-246 246 106
-255 238 106
-24 255 98
-41 255 106
-57 255 98
-74 255 106
-90 255 106
-106 255 106
-123 255 106
-139 255 106
-156 255 106
-172 255 106
-180 255 106
-197 255 106
-213 255 106
-230 255 106
-246 255 106
-255 255 106
diff --git a/graphics/misc/sunny_day/50.pal b/graphics/misc/sunny_day/50.pal
deleted file mode 100644
index e162a20fa..000000000
--- a/graphics/misc/sunny_day/50.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 41
-24 8 41
-41 8 41
-57 8 41
-74 8 41
-90 8 41
-106 8 41
-172 0 49
-189 0 41
-205 0 41
-222 0 41
-238 0 41
-255 0 41
-255 8 49
-255 24 65
-255 57 82
-8 24 41
-24 24 41
-41 24 41
-57 24 41
-74 24 41
-90 24 41
-148 16 49
-164 16 41
-189 16 41
-205 16 41
-222 8 32
-246 8 32
-246 24 49
-246 41 57
-255 57 74
-255 74 90
-8 41 41
-24 41 41
-41 41 41
-57 41 41
-74 41 41
-123 41 41
-139 41 41
-164 41 41
-180 32 32
-205 32 32
-222 32 32
-230 41 41
-230 57 57
-238 74 74
-255 74 74
-255 90 90
-8 57 41
-24 57 41
-41 57 41
-57 57 41
-74 57 41
-123 65 41
-139 65 41
-164 57 41
-180 57 32
-205 57 32
-222 57 32
-230 65 41
-230 74 57
-238 90 74
-255 90 74
-255 98 90
-8 74 41
-24 74 41
-41 74 41
-57 74 41
-74 74 41
-123 98 41
-139 90 41
-164 90 41
-180 82 32
-205 82 32
-222 82 32
-230 82 41
-230 90 57
-238 98 74
-255 98 74
-255 115 90
-8 90 41
-24 90 41
-41 123 41
-74 123 41
-98 123 41
-123 123 41
-139 115 41
-164 115 41
-180 106 32
-205 106 32
-222 98 32
-230 98 41
-230 106 57
-238 115 74
-255 123 74
-255 123 90
-8 106 41
-16 148 41
-41 139 41
-65 139 41
-90 139 41
-115 139 41
-139 139 41
-164 139 41
-180 131 32
-205 131 32
-222 123 32
-230 123 41
-230 123 57
-238 131 74
-255 131 74
-255 139 90
-0 172 49
-16 164 41
-41 164 41
-65 164 41
-90 164 41
-115 164 41
-139 164 41
-164 164 41
-180 156 32
-205 148 32
-222 148 32
-230 148 41
-230 139 57
-238 148 74
-255 148 74
-255 148 90
-0 189 41
-16 189 41
-32 180 32
-57 180 32
-82 180 32
-106 180 32
-131 180 32
-156 180 32
-180 180 32
-205 172 32
-222 172 32
-230 164 41
-230 156 57
-238 164 74
-255 164 74
-255 164 90
-0 205 41
-16 205 41
-32 205 32
-57 205 32
-82 205 32
-106 205 32
-131 205 32
-156 205 32
-180 205 32
-205 205 32
-222 197 32
-230 180 41
-230 172 57
-238 180 74
-255 180 74
-255 180 90
-0 222 41
-8 222 32
-32 222 32
-57 222 32
-82 222 32
-106 222 32
-123 222 32
-148 222 32
-172 222 32
-197 222 32
-222 222 32
-230 205 41
-230 197 57
-238 197 74
-255 189 74
-255 189 90
-0 238 32
-8 246 32
-41 230 41
-65 230 41
-82 230 41
-106 230 41
-123 230 41
-148 230 41
-164 230 41
-189 230 41
-205 230 41
-230 230 41
-230 213 57
-238 205 74
-255 213 74
-255 205 90
-0 255 32
-24 246 41
-57 230 57
-74 230 57
-90 230 57
-106 230 57
-123 230 57
-139 230 57
-164 230 57
-180 230 57
-197 230 57
-213 230 57
-230 230 57
-238 222 74
-255 222 74
-255 213 90
-8 255 49
-41 246 49
-74 238 74
-90 238 74
-106 238 74
-123 238 74
-131 238 74
-148 238 74
-164 238 74
-180 238 74
-197 238 74
-213 238 74
-230 238 74
-238 238 74
-255 238 74
-255 230 90
-24 255 57
-57 255 74
-74 255 74
-90 255 74
-106 255 74
-123 255 74
-131 255 74
-148 255 74
-164 255 74
-180 255 74
-197 255 74
-213 255 74
-230 255 74
-238 255 74
-255 255 74
-255 246 90
-57 255 82
-74 255 82
-90 255 90
-106 255 90
-115 255 90
-131 255 90
-139 255 90
-156 255 90
-172 255 90
-180 255 90
-197 255 90
-205 255 90
-222 255 90
-230 255 90
-246 255 90
-255 255 90
diff --git a/graphics/misc/sunny_day/51.pal b/graphics/misc/sunny_day/51.pal
deleted file mode 100644
index c168d1896..000000000
--- a/graphics/misc/sunny_day/51.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 57
-24 8 57
-41 8 57
-57 8 57
-74 8 57
-90 8 57
-106 8 57
-172 0 74
-189 0 74
-205 0 65
-222 0 65
-238 0 65
-255 0 57
-255 8 65
-255 24 82
-255 57 98
-8 24 57
-24 24 57
-41 24 57
-57 24 57
-74 24 57
-90 24 57
-148 16 74
-164 16 65
-189 16 65
-205 16 65
-222 8 57
-246 8 57
-246 24 65
-246 41 74
-255 57 90
-255 74 98
-8 41 57
-24 41 57
-41 41 57
-57 41 57
-74 41 57
-123 41 74
-139 41 65
-164 41 65
-180 32 57
-205 32 57
-222 32 57
-230 41 65
-230 57 74
-238 74 90
-255 74 90
-255 90 106
-8 57 57
-24 57 57
-41 57 57
-57 57 57
-98 65 65
-123 65 65
-139 57 57
-156 57 57
-180 57 57
-197 57 57
-205 57 57
-213 74 74
-230 90 90
-238 90 90
-255 90 90
-255 106 106
-8 74 57
-24 74 57
-41 74 57
-65 98 65
-98 98 65
-123 90 65
-139 90 57
-156 82 57
-180 82 57
-197 74 57
-205 82 57
-213 90 74
-230 98 90
-238 106 90
-255 106 90
-255 115 106
-8 90 57
-24 90 57
-41 123 65
-65 123 65
-90 123 65
-123 123 65
-139 115 57
-156 106 57
-180 106 57
-197 98 57
-205 106 57
-213 106 74
-230 115 90
-238 115 90
-255 123 90
-255 131 106
-8 106 57
-16 148 65
-41 139 65
-57 139 57
-90 139 57
-115 139 57
-139 139 57
-156 131 57
-180 131 57
-197 123 57
-205 123 57
-213 123 74
-230 131 90
-238 131 90
-255 139 90
-255 148 106
-0 172 65
-16 164 65
-41 164 57
-57 156 57
-82 156 57
-106 156 57
-131 156 57
-156 156 57
-180 156 57
-197 148 57
-205 148 57
-213 139 74
-230 148 90
-238 148 90
-255 148 90
-255 156 106
-0 189 65
-16 189 65
-32 180 57
-57 180 57
-82 180 57
-106 180 57
-131 180 57
-156 180 57
-180 180 57
-197 172 57
-205 164 57
-213 164 74
-230 164 90
-238 164 90
-255 164 90
-255 164 106
-0 205 65
-16 205 65
-32 205 57
-57 197 57
-82 197 57
-106 197 57
-123 197 57
-148 197 57
-172 197 57
-197 197 57
-205 189 57
-213 180 74
-230 180 90
-238 180 90
-255 180 90
-255 180 106
-0 222 57
-8 222 57
-32 222 57
-57 205 57
-82 205 57
-106 205 57
-123 205 57
-148 205 57
-164 205 57
-189 205 57
-205 205 57
-213 197 74
-230 197 90
-238 197 90
-255 197 90
-255 189 106
-0 238 57
-8 246 49
-41 230 65
-74 213 74
-90 213 74
-106 213 74
-123 213 74
-139 213 74
-164 213 74
-180 213 74
-197 213 74
-213 213 74
-230 213 90
-238 205 90
-255 205 90
-255 205 106
-0 255 57
-24 246 57
-57 230 74
-90 230 90
-106 230 90
-123 230 90
-131 230 90
-148 230 90
-164 230 90
-180 230 90
-197 230 90
-213 230 90
-230 230 90
-238 222 90
-255 222 90
-255 222 106
-8 255 65
-41 246 65
-74 238 90
-90 238 90
-106 238 90
-123 238 90
-131 238 90
-148 238 90
-164 238 90
-180 238 90
-197 238 90
-213 238 90
-230 238 90
-238 238 90
-255 238 90
-255 230 106
-24 255 74
-57 255 90
-74 255 90
-90 255 90
-106 255 90
-123 255 90
-139 255 90
-156 255 90
-172 255 90
-180 255 90
-197 255 90
-213 255 90
-222 255 90
-238 255 90
-255 255 90
-255 246 106
-57 255 90
-74 255 98
-90 255 98
-106 255 106
-123 255 106
-131 255 106
-148 255 106
-156 255 106
-172 255 106
-180 255 106
-197 255 106
-205 255 106
-222 255 106
-230 255 106
-246 255 106
-255 255 106
diff --git a/graphics/misc/sunny_day/52.pal b/graphics/misc/sunny_day/52.pal
deleted file mode 100644
index 4589fe0fc..000000000
--- a/graphics/misc/sunny_day/52.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 74
-24 8 74
-41 8 74
-57 8 74
-74 8 74
-90 8 74
-106 8 74
-172 0 98
-189 0 90
-205 0 90
-222 0 90
-238 0 82
-255 0 82
-255 8 90
-255 24 98
-255 57 106
-8 24 74
-24 24 74
-41 24 74
-57 24 74
-74 24 74
-90 24 74
-148 16 98
-164 16 90
-189 16 90
-205 16 90
-222 8 82
-246 8 82
-246 24 90
-246 41 90
-255 57 106
-255 74 115
-8 41 74
-24 41 74
-41 41 74
-57 41 74
-74 41 74
-123 41 98
-139 41 90
-164 41 90
-180 32 82
-205 32 82
-222 32 82
-230 41 82
-230 57 90
-238 74 106
-255 74 106
-255 90 115
-8 57 74
-24 57 74
-41 57 74
-65 65 98
-98 65 98
-123 65 90
-139 57 90
-156 57 82
-180 57 82
-197 57 82
-205 57 82
-213 74 90
-230 90 106
-238 90 106
-255 90 106
-255 106 123
-8 74 74
-24 74 74
-41 74 74
-65 98 98
-98 90 90
-115 82 82
-139 82 82
-156 74 74
-180 74 74
-189 82 82
-197 90 90
-213 98 98
-230 106 106
-238 106 106
-255 106 106
-255 123 123
-8 90 74
-24 90 74
-41 123 98
-65 123 90
-82 115 82
-115 115 82
-139 106 82
-156 106 74
-180 98 74
-189 98 82
-197 106 90
-213 115 98
-230 115 106
-238 123 106
-255 123 106
-255 131 123
-8 106 74
-16 148 98
-41 139 90
-57 139 90
-82 139 82
-106 139 82
-139 139 82
-156 131 74
-180 123 74
-189 123 82
-197 123 90
-213 131 98
-230 131 106
-238 139 106
-255 139 106
-255 148 123
-0 172 98
-16 164 90
-41 164 90
-57 156 82
-74 156 74
-106 156 74
-131 156 74
-156 156 74
-180 148 74
-189 148 82
-197 139 90
-213 148 98
-230 148 106
-238 148 106
-255 148 106
-255 156 123
-0 189 90
-16 189 90
-32 180 82
-57 180 82
-74 180 74
-98 180 74
-123 180 74
-148 180 74
-180 180 74
-189 164 82
-197 156 90
-213 164 98
-230 164 106
-238 164 106
-255 164 106
-255 172 123
-0 205 90
-16 205 82
-32 205 82
-57 197 74
-82 189 82
-106 189 82
-123 189 82
-148 189 82
-164 189 82
-189 189 82
-197 180 90
-213 180 98
-230 180 106
-238 180 106
-255 180 106
-255 180 123
-0 222 82
-8 222 82
-32 222 82
-57 205 82
-90 197 90
-106 197 90
-123 197 90
-139 197 90
-164 197 90
-180 197 90
-197 197 90
-213 197 98
-230 197 106
-238 197 106
-255 197 106
-255 197 123
-0 238 82
-8 246 74
-41 230 82
-74 213 90
-98 213 98
-115 213 98
-131 213 98
-148 213 98
-164 213 98
-180 213 98
-197 213 98
-213 213 98
-230 213 106
-238 213 106
-255 205 106
-255 205 123
-0 255 82
-24 246 82
-57 230 90
-90 230 98
-106 230 106
-123 230 106
-131 230 106
-148 230 106
-164 230 106
-180 230 106
-197 230 106
-213 230 106
-230 230 106
-238 222 106
-255 222 106
-255 222 123
-8 255 82
-41 246 90
-74 238 98
-90 238 106
-106 238 106
-123 238 106
-139 238 106
-148 238 106
-164 238 106
-180 238 106
-197 238 106
-213 238 106
-230 238 106
-238 238 106
-255 238 106
-255 230 123
-24 255 90
-57 255 98
-74 255 98
-90 255 106
-106 255 106
-123 255 106
-139 255 106
-156 255 106
-164 255 106
-180 255 106
-197 255 106
-213 255 106
-230 255 106
-238 255 106
-255 255 106
-255 246 123
-57 255 106
-74 255 106
-90 255 115
-106 255 115
-123 255 123
-139 255 123
-148 255 123
-164 255 123
-172 255 123
-189 255 123
-197 255 123
-205 255 123
-222 255 123
-230 255 123
-246 255 123
-255 255 123
diff --git a/graphics/misc/sunny_day/53.pal b/graphics/misc/sunny_day/53.pal
deleted file mode 100644
index 833a15511..000000000
--- a/graphics/misc/sunny_day/53.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 90
-24 8 90
-41 8 90
-57 8 90
-74 8 90
-90 8 90
-106 8 90
-172 0 123
-189 0 115
-205 0 115
-222 0 106
-238 0 106
-255 0 106
-255 8 106
-255 24 115
-255 57 123
-8 24 90
-24 24 90
-41 24 90
-57 24 90
-74 24 90
-90 24 90
-148 16 123
-164 16 115
-189 16 115
-205 16 106
-222 8 106
-246 8 106
-246 24 106
-246 41 106
-255 57 123
-255 74 131
-8 41 90
-24 41 90
-41 41 123
-65 41 123
-98 41 123
-123 41 123
-139 41 115
-164 41 115
-180 32 106
-205 32 106
-222 32 106
-230 41 106
-230 57 106
-238 74 123
-255 74 123
-255 90 131
-8 57 90
-24 57 90
-41 74 123
-65 65 123
-90 65 123
-123 65 123
-139 57 115
-156 57 106
-180 57 106
-197 57 106
-205 57 106
-213 74 106
-230 90 123
-238 90 123
-255 90 123
-255 106 131
-8 74 90
-24 74 90
-41 98 123
-65 90 123
-82 82 115
-115 82 115
-139 82 106
-156 74 106
-180 74 98
-189 82 106
-197 90 106
-213 98 115
-230 106 123
-238 106 123
-255 106 123
-255 123 139
-8 90 90
-24 90 90
-41 123 123
-65 123 123
-82 115 115
-115 106 106
-131 98 98
-156 98 98
-172 98 98
-180 106 106
-197 115 115
-213 115 115
-230 123 123
-238 123 123
-255 131 131
-255 139 139
-8 106 90
-16 148 123
-41 139 115
-57 139 115
-82 139 106
-98 131 98
-131 131 98
-156 123 98
-172 123 98
-180 123 106
-197 131 115
-213 131 115
-230 131 123
-238 139 123
-255 139 131
-255 148 139
-0 172 123
-16 164 115
-41 164 115
-57 156 106
-74 156 106
-98 156 98
-123 156 98
-156 156 98
-172 148 98
-180 139 106
-197 148 115
-213 148 115
-230 148 123
-238 156 123
-255 156 131
-255 164 139
-0 189 115
-16 189 115
-32 180 106
-57 180 106
-74 180 98
-98 172 98
-123 172 98
-148 172 98
-172 172 98
-180 164 106
-197 164 115
-213 164 115
-230 164 123
-238 164 123
-255 164 131
-255 172 139
-0 205 115
-16 205 106
-32 205 106
-57 197 98
-82 189 98
-106 180 106
-123 180 106
-139 180 106
-164 180 106
-180 180 106
-197 180 115
-213 180 115
-230 180 123
-238 180 123
-255 180 131
-255 189 139
-0 222 106
-8 222 106
-32 222 98
-57 205 106
-90 197 106
-115 197 115
-131 197 115
-148 197 115
-164 197 115
-180 197 115
-197 197 115
-213 197 115
-230 197 123
-238 197 123
-255 197 131
-255 197 139
-0 238 106
-8 246 98
-41 230 98
-74 213 106
-98 213 115
-115 213 115
-131 213 115
-148 213 115
-164 213 115
-180 213 115
-197 213 115
-213 213 115
-230 213 123
-238 213 123
-255 213 131
-255 205 139
-0 255 98
-24 246 98
-57 230 106
-90 230 115
-106 230 115
-123 230 123
-139 230 123
-156 230 123
-164 230 123
-180 230 123
-197 230 123
-213 230 123
-230 230 123
-238 222 123
-255 222 131
-255 222 139
-8 255 98
-41 246 106
-74 238 115
-90 238 115
-106 238 123
-123 238 123
-139 238 123
-156 238 123
-172 238 123
-180 238 123
-197 238 123
-213 238 123
-230 238 123
-238 238 123
-255 238 131
-255 230 139
-24 255 106
-57 255 115
-74 255 123
-90 255 123
-106 255 123
-131 255 131
-139 255 131
-156 255 131
-172 255 131
-180 255 131
-197 255 131
-213 255 131
-230 255 131
-238 255 131
-255 255 131
-255 246 139
-57 255 123
-74 255 123
-90 255 123
-106 255 131
-123 255 131
-139 255 139
-156 255 139
-164 255 139
-172 255 139
-189 255 139
-197 255 139
-213 255 139
-222 255 139
-238 255 139
-246 255 139
-255 255 139
diff --git a/graphics/misc/sunny_day/54.pal b/graphics/misc/sunny_day/54.pal
deleted file mode 100644
index cfe2f15c7..000000000
--- a/graphics/misc/sunny_day/54.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 106
-24 8 106
-41 8 106
-57 8 106
-74 8 106
-90 8 106
-106 8 106
-172 0 148
-189 0 139
-205 0 139
-222 0 131
-238 0 131
-255 0 123
-255 8 123
-255 24 131
-255 57 139
-8 24 106
-16 16 148
-41 16 148
-65 16 148
-98 16 148
-123 16 148
-148 16 148
-164 16 139
-189 16 139
-205 16 131
-222 8 131
-246 8 123
-246 24 131
-246 41 123
-255 57 131
-255 74 139
-8 41 106
-16 49 148
-41 41 139
-65 41 139
-90 41 139
-115 41 139
-139 41 139
-164 41 139
-180 32 131
-205 32 131
-222 32 123
-230 41 123
-230 57 123
-238 74 131
-255 74 131
-255 90 139
-8 57 106
-16 74 148
-41 65 139
-57 57 139
-90 57 139
-115 57 139
-139 57 139
-156 57 131
-180 57 131
-197 57 123
-205 57 123
-213 74 123
-230 90 131
-238 90 131
-255 90 139
-255 106 148
-8 74 106
-16 98 148
-41 90 139
-57 90 139
-82 82 139
-106 82 139
-139 82 139
-156 74 131
-180 74 123
-189 82 123
-197 90 123
-213 98 131
-230 106 131
-238 106 139
-255 106 139
-255 123 148
-8 90 106
-16 123 148
-41 115 139
-57 115 139
-82 106 139
-98 98 131
-131 98 131
-156 98 123
-172 98 123
-180 106 123
-197 115 131
-213 115 131
-230 123 139
-238 123 139
-255 131 139
-255 139 156
-8 106 106
-16 148 148
-41 139 139
-57 139 139
-82 139 139
-98 131 131
-131 115 115
-148 115 115
-164 123 123
-180 131 131
-197 131 131
-213 131 131
-230 139 139
-238 139 139
-255 148 148
-255 156 156
-0 172 148
-16 164 139
-41 164 139
-57 156 131
-74 156 131
-98 156 123
-115 148 115
-148 148 115
-164 139 123
-180 148 131
-197 148 131
-213 148 131
-230 148 139
-238 156 139
-255 156 148
-255 164 156
-0 189 139
-16 189 131
-32 180 131
-57 180 131
-74 180 123
-98 172 123
-123 164 123
-139 164 123
-164 164 123
-180 164 131
-197 164 131
-213 164 131
-230 164 139
-238 172 139
-255 172 148
-255 180 156
-0 205 131
-16 205 131
-32 205 131
-57 197 123
-82 189 123
-106 180 123
-131 180 131
-148 180 131
-164 180 131
-180 180 131
-197 180 131
-213 180 131
-230 180 139
-238 180 139
-255 189 148
-255 189 156
-0 222 131
-8 222 131
-32 222 123
-57 205 123
-90 197 123
-115 197 131
-131 197 131
-148 197 131
-164 197 131
-180 197 131
-197 197 131
-213 197 131
-230 197 139
-238 197 139
-255 197 148
-255 205 156
-0 238 123
-8 246 123
-41 230 123
-74 213 123
-98 213 131
-115 213 131
-131 213 131
-148 213 131
-164 213 131
-180 213 131
-197 213 131
-213 213 131
-230 213 139
-238 213 139
-255 213 148
-255 213 156
-0 255 123
-24 246 123
-57 230 123
-90 230 131
-106 230 131
-123 230 131
-139 230 139
-156 230 139
-164 230 139
-180 230 139
-197 230 139
-213 230 139
-230 230 139
-238 222 139
-255 230 148
-255 222 156
-8 255 123
-41 246 123
-74 238 131
-90 238 131
-106 238 139
-123 238 139
-139 238 139
-156 238 139
-172 238 139
-180 238 139
-197 238 139
-213 238 139
-230 238 139
-238 238 139
-255 238 148
-255 238 156
-24 255 123
-57 255 131
-74 255 131
-90 255 139
-106 255 139
-131 255 139
-148 255 148
-156 255 148
-172 255 148
-189 255 148
-197 255 148
-213 255 148
-230 255 148
-238 255 148
-255 255 148
-255 246 156
-57 255 131
-74 255 139
-90 255 139
-106 255 148
-123 255 148
-139 255 148
-156 255 156
-172 255 156
-180 255 156
-189 255 156
-205 255 156
-213 255 156
-222 255 156
-238 255 156
-246 255 156
-255 255 156
diff --git a/graphics/misc/sunny_day/55.pal b/graphics/misc/sunny_day/55.pal
deleted file mode 100644
index c1b30ed9e..000000000
--- a/graphics/misc/sunny_day/55.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 172
-16 0 172
-49 0 172
-65 0 172
-98 0 172
-123 0 172
-148 0 172
-172 0 172
-189 0 164
-205 0 164
-222 0 156
-238 0 148
-255 0 148
-255 8 148
-255 24 139
-255 57 148
-0 24 172
-16 16 164
-41 16 164
-65 16 164
-90 16 164
-115 16 164
-139 16 164
-164 16 164
-189 16 164
-205 16 156
-222 8 156
-246 8 148
-246 24 148
-246 41 139
-255 57 148
-255 74 156
-0 49 172
-16 41 164
-41 41 164
-57 41 164
-90 41 164
-115 41 164
-139 41 164
-164 41 164
-180 32 156
-205 32 156
-222 32 148
-230 41 148
-230 57 139
-238 74 148
-255 74 148
-255 90 156
-0 74 172
-16 65 164
-41 65 164
-57 57 156
-82 57 156
-106 57 156
-131 57 156
-156 57 156
-180 57 156
-197 57 148
-205 57 148
-213 74 139
-230 90 148
-238 90 148
-255 90 156
-255 106 156
-0 98 172
-16 90 164
-41 90 164
-57 82 156
-74 74 156
-106 74 156
-131 74 156
-156 74 156
-180 74 148
-189 82 148
-197 90 139
-213 98 148
-230 106 148
-238 106 148
-255 106 156
-255 123 164
-0 123 172
-16 115 164
-41 115 164
-57 106 156
-74 106 156
-98 98 156
-123 98 156
-156 98 156
-172 98 148
-180 106 139
-197 115 148
-213 115 148
-230 123 156
-238 123 156
-255 131 156
-255 139 164
-0 148 172
-16 139 164
-41 139 164
-57 131 156
-74 131 156
-98 123 156
-115 115 148
-148 115 148
-164 123 139
-180 131 148
-197 131 148
-213 131 148
-230 139 156
-238 139 156
-255 148 156
-255 156 172
-0 172 172
-16 164 164
-41 164 164
-57 156 156
-74 156 156
-98 156 156
-115 148 148
-148 139 139
-172 148 148
-180 148 148
-197 148 148
-213 148 148
-230 156 156
-238 156 156
-255 164 164
-255 172 172
-0 189 164
-16 189 156
-32 180 156
-57 180 156
-74 180 148
-98 172 148
-123 164 139
-148 172 148
-172 172 148
-180 164 148
-197 164 148
-213 164 148
-230 164 156
-238 172 156
-255 172 164
-255 180 172
-0 205 156
-16 205 156
-32 205 148
-57 197 148
-82 189 148
-106 180 139
-131 180 148
-148 180 148
-164 180 148
-180 180 148
-197 180 148
-213 180 148
-230 180 156
-238 180 156
-255 189 164
-255 197 172
-0 222 148
-8 222 148
-32 222 148
-57 205 148
-90 197 139
-115 197 148
-131 197 148
-148 197 148
-164 197 148
-180 197 148
-197 197 148
-213 197 148
-230 197 156
-238 197 156
-255 197 164
-255 205 172
-0 238 148
-8 246 148
-41 230 148
-74 213 139
-98 213 148
-115 213 148
-131 213 148
-148 213 148
-164 213 148
-180 213 148
-197 213 148
-213 213 148
-230 213 156
-238 213 156
-255 213 164
-255 213 172
-0 255 148
-24 246 139
-57 230 139
-90 230 148
-106 230 148
-123 230 148
-139 230 148
-156 230 156
-172 230 156
-180 230 156
-197 230 156
-213 230 156
-230 230 156
-238 222 156
-255 230 164
-255 230 172
-8 255 139
-41 246 139
-74 238 148
-90 238 148
-106 238 148
-123 238 156
-139 238 156
-156 238 156
-172 238 156
-189 238 156
-197 238 156
-213 238 156
-230 238 156
-238 238 156
-255 238 164
-255 238 172
-24 255 139
-57 255 148
-74 255 148
-90 255 148
-106 255 148
-131 255 156
-148 255 156
-164 255 164
-172 255 164
-189 255 164
-205 255 164
-213 255 164
-230 255 164
-238 255 164
-255 255 164
-255 246 172
-57 255 148
-74 255 148
-90 255 148
-106 255 156
-123 255 156
-139 255 164
-156 255 164
-172 255 172
-189 255 172
-197 255 172
-205 255 172
-213 255 172
-230 255 172
-238 255 172
-246 255 172
-255 255 172
diff --git a/graphics/misc/sunny_day/56.pal b/graphics/misc/sunny_day/56.pal
deleted file mode 100644
index eb5b90f0c..000000000
--- a/graphics/misc/sunny_day/56.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 189
-16 0 189
-41 0 189
-65 0 189
-90 0 189
-115 0 189
-139 0 189
-164 0 189
-189 0 189
-205 0 189
-222 0 180
-238 0 172
-255 0 172
-255 8 164
-255 24 164
-255 57 164
-0 24 189
-16 16 189
-41 16 189
-65 16 189
-90 16 189
-115 16 189
-131 16 189
-156 16 189
-189 16 189
-205 16 180
-222 8 180
-246 8 172
-246 24 164
-246 41 164
-255 57 164
-255 74 164
-0 41 189
-16 41 189
-32 32 180
-57 32 180
-82 32 180
-106 32 180
-131 32 180
-156 32 180
-180 32 180
-205 32 180
-222 32 172
-230 41 164
-230 57 164
-238 74 164
-255 74 164
-255 90 172
-0 74 189
-16 65 189
-32 57 180
-57 57 180
-82 57 180
-106 57 180
-131 57 180
-156 57 180
-180 57 180
-197 57 172
-205 57 164
-213 74 164
-230 90 164
-238 90 164
-255 90 172
-255 106 172
-0 90 189
-16 90 189
-32 82 180
-57 82 180
-74 74 180
-98 74 180
-123 74 180
-148 74 180
-180 74 180
-189 82 164
-197 90 164
-213 98 164
-230 106 164
-238 106 164
-255 106 164
-255 123 172
-0 115 189
-16 115 189
-32 106 180
-57 106 180
-74 98 180
-98 98 172
-123 98 172
-148 98 172
-172 98 172
-180 106 164
-197 115 164
-213 115 164
-230 123 164
-238 123 172
-255 131 172
-255 139 172
-0 139 189
-16 139 189
-32 131 180
-57 131 180
-74 123 180
-98 123 172
-123 123 164
-139 123 164
-164 123 164
-180 131 164
-197 131 164
-213 131 164
-230 139 164
-238 139 172
-255 148 172
-255 156 180
-0 164 189
-16 164 189
-32 156 180
-57 156 180
-74 148 180
-98 148 172
-123 139 164
-148 148 172
-172 148 172
-180 148 164
-197 148 164
-213 148 164
-230 156 172
-238 156 172
-255 164 172
-255 172 189
-0 189 189
-16 189 189
-32 180 180
-57 180 180
-74 180 180
-98 172 172
-123 164 164
-148 172 172
-172 164 164
-189 164 164
-197 164 164
-213 164 164
-230 172 172
-238 172 172
-255 180 180
-255 205 205
-0 205 180
-16 205 180
-32 205 172
-57 197 172
-82 189 164
-106 180 164
-131 180 164
-148 180 164
-164 189 164
-189 189 164
-197 180 164
-213 180 164
-230 189 172
-238 189 172
-255 189 180
-255 205 205
-0 222 172
-8 222 172
-32 222 172
-57 205 164
-90 197 156
-115 197 164
-131 197 164
-148 197 164
-164 197 164
-180 197 164
-197 197 164
-213 197 164
-230 197 172
-238 197 172
-255 205 180
-255 222 205
-0 238 172
-8 246 172
-41 230 164
-74 213 164
-98 213 164
-115 213 164
-131 213 164
-148 213 164
-164 213 164
-180 213 164
-197 213 164
-213 213 164
-230 213 172
-238 213 172
-255 213 180
-255 222 205
-0 255 164
-24 246 164
-57 230 156
-90 230 164
-106 230 164
-123 230 164
-139 230 164
-156 230 164
-172 230 172
-189 230 172
-197 230 172
-213 230 172
-230 230 172
-238 230 172
-255 230 180
-255 230 205
-8 255 156
-41 246 156
-74 238 164
-90 238 164
-106 238 164
-123 238 164
-139 238 172
-156 238 172
-172 238 172
-189 238 172
-205 238 172
-213 238 172
-230 238 172
-238 238 172
-255 238 180
-255 238 205
-24 255 156
-57 255 164
-74 255 164
-90 255 164
-106 255 164
-131 255 164
-148 255 172
-164 255 172
-180 255 180
-189 255 180
-205 255 180
-213 255 180
-230 255 180
-238 255 180
-255 255 180
-255 246 205
-57 255 164
-74 255 164
-90 255 164
-106 255 164
-123 255 172
-139 255 172
-156 255 180
-172 255 180
-205 255 205
-213 255 205
-222 255 205
-230 255 205
-238 255 205
-246 255 205
-255 255 205
-255 255 205
diff --git a/graphics/misc/sunny_day/57.pal b/graphics/misc/sunny_day/57.pal
deleted file mode 100644
index 90584e92e..000000000
--- a/graphics/misc/sunny_day/57.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 205
-16 0 205
-41 0 205
-65 0 205
-90 0 205
-115 0 205
-131 0 205
-156 0 205
-180 0 205
-205 0 205
-222 0 197
-238 0 197
-255 0 189
-255 8 180
-255 24 180
-255 57 180
-0 16 205
-16 16 205
-41 16 205
-65 16 205
-82 16 205
-106 16 205
-131 16 205
-156 16 205
-180 16 205
-205 16 205
-222 8 205
-246 8 197
-246 24 189
-246 41 180
-255 57 180
-255 74 180
-0 41 205
-16 41 205
-32 32 205
-57 32 205
-82 32 205
-106 32 205
-131 32 205
-148 32 205
-172 32 205
-205 32 205
-222 32 197
-230 41 189
-230 57 180
-238 74 180
-255 74 180
-255 90 180
-0 65 205
-16 65 205
-32 57 205
-57 57 197
-74 57 197
-98 57 197
-123 57 197
-148 57 197
-172 57 197
-197 57 197
-205 57 189
-213 74 180
-230 90 180
-238 90 180
-255 90 180
-255 106 180
-0 90 205
-16 90 205
-32 82 205
-57 82 197
-82 82 189
-98 82 189
-123 82 189
-148 82 189
-164 82 189
-189 82 189
-197 90 180
-213 98 180
-230 106 180
-238 106 180
-255 106 180
-255 123 189
-0 115 205
-16 106 205
-32 106 205
-57 106 197
-82 106 189
-106 106 180
-123 106 180
-139 106 180
-164 106 180
-180 106 180
-197 115 180
-213 115 180
-230 123 180
-238 123 180
-255 131 180
-255 139 189
-0 139 205
-16 131 205
-32 131 205
-57 123 197
-82 123 189
-106 123 180
-131 131 180
-148 131 180
-164 131 180
-180 131 180
-197 131 180
-213 131 180
-230 139 180
-238 139 180
-255 148 189
-255 156 189
-0 164 205
-16 156 205
-32 156 205
-57 148 197
-82 148 189
-106 139 180
-131 148 180
-148 148 180
-164 148 180
-180 148 180
-197 148 180
-213 148 180
-230 156 180
-238 156 189
-255 164 189
-255 172 197
-0 189 205
-16 180 205
-32 180 205
-57 172 197
-82 164 189
-106 164 180
-131 164 180
-148 164 180
-164 164 189
-189 164 189
-197 164 180
-213 164 180
-230 172 189
-238 172 189
-255 180 189
-255 205 213
-0 205 205
-16 205 205
-32 205 205
-57 197 197
-82 189 189
-106 180 180
-131 180 180
-148 180 180
-164 189 189
-189 180 180
-197 180 180
-213 180 180
-230 189 189
-238 189 189
-255 205 205
-255 222 222
-0 222 197
-8 222 197
-32 222 197
-57 205 189
-90 197 180
-115 197 180
-131 197 180
-148 197 180
-164 197 180
-180 197 180
-197 197 180
-213 197 180
-230 197 189
-238 205 189
-255 213 205
-255 222 222
-0 238 189
-8 246 189
-41 230 180
-74 213 180
-98 213 180
-115 213 180
-131 213 180
-148 213 180
-164 213 180
-180 213 180
-197 213 180
-213 213 180
-230 213 189
-238 213 189
-255 222 205
-255 230 222
-0 255 189
-24 246 180
-57 230 172
-90 230 180
-106 230 180
-123 230 180
-139 230 180
-156 230 180
-172 230 189
-189 230 189
-197 230 189
-213 230 189
-230 230 189
-238 230 189
-255 230 205
-255 238 222
-8 255 180
-41 246 172
-74 238 180
-90 238 180
-106 238 180
-123 238 180
-139 238 180
-156 238 180
-172 238 189
-189 238 189
-205 238 189
-213 238 189
-230 238 189
-238 238 189
-255 246 205
-255 246 222
-24 255 172
-57 255 180
-74 255 180
-90 255 180
-106 255 180
-131 255 180
-148 255 189
-164 255 189
-180 255 189
-205 255 205
-213 255 205
-222 255 205
-238 255 205
-246 255 205
-255 255 205
-255 255 222
-57 255 172
-74 255 180
-90 255 180
-106 255 180
-123 255 180
-139 255 189
-156 255 189
-172 255 197
-205 255 205
-222 255 222
-222 255 222
-230 255 222
-238 255 222
-246 255 222
-255 255 222
-255 255 222
diff --git a/graphics/misc/sunny_day/58.pal b/graphics/misc/sunny_day/58.pal
deleted file mode 100644
index 6c208a4aa..000000000
--- a/graphics/misc/sunny_day/58.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 222
-16 0 222
-41 0 222
-57 0 222
-82 0 222
-106 0 222
-131 0 222
-148 0 222
-172 0 222
-197 0 222
-222 0 222
-238 0 222
-255 0 213
-255 8 197
-255 24 197
-255 57 189
-0 16 222
-8 8 222
-32 8 222
-57 8 222
-82 8 222
-106 8 222
-131 8 222
-148 8 222
-172 8 222
-197 8 222
-222 8 222
-246 8 222
-246 24 205
-246 41 197
-255 57 197
-255 74 197
-0 41 222
-8 32 222
-32 32 222
-57 32 222
-82 32 222
-98 32 222
-123 32 222
-148 32 222
-172 32 222
-197 32 222
-222 32 222
-230 41 205
-230 57 197
-238 74 197
-255 74 197
-255 90 197
-0 65 222
-8 57 222
-32 57 222
-57 57 205
-82 57 205
-106 57 205
-123 57 205
-148 57 205
-164 57 205
-189 57 205
-205 57 205
-213 74 197
-230 90 197
-238 90 197
-255 90 197
-255 106 197
-0 90 222
-8 82 222
-32 82 222
-57 82 205
-90 90 197
-106 90 197
-123 90 197
-139 90 197
-156 90 197
-180 90 197
-197 90 197
-213 98 197
-230 106 197
-238 106 197
-255 106 197
-255 123 197
-0 106 222
-8 106 222
-32 106 222
-57 106 205
-90 106 197
-115 115 197
-131 115 197
-148 115 197
-164 115 197
-180 115 197
-197 115 197
-213 115 197
-230 123 197
-238 123 197
-255 131 197
-255 139 197
-0 131 222
-8 131 222
-32 123 222
-57 123 205
-90 123 197
-115 131 197
-131 131 197
-148 131 197
-164 131 197
-180 131 197
-197 131 197
-213 131 197
-230 139 197
-238 139 197
-255 148 197
-255 156 205
-0 156 222
-8 156 222
-32 148 222
-57 148 205
-90 139 197
-115 148 197
-131 148 197
-148 148 197
-164 148 197
-180 148 197
-197 148 197
-213 148 197
-230 156 197
-238 156 197
-255 164 205
-255 172 205
-0 180 222
-8 180 222
-32 172 222
-57 164 205
-90 164 197
-115 164 197
-131 164 197
-148 164 197
-164 164 197
-180 164 197
-197 164 197
-213 164 197
-230 172 197
-238 172 205
-255 180 205
-255 205 222
-0 197 222
-8 205 222
-32 197 222
-57 189 205
-90 180 197
-115 180 197
-131 180 197
-148 180 197
-164 180 197
-180 180 197
-197 180 197
-213 180 197
-230 189 197
-238 189 205
-255 205 213
-255 222 222
-0 222 222
-8 222 222
-32 222 222
-57 205 205
-90 197 197
-115 197 197
-131 197 197
-148 197 197
-164 197 197
-180 197 197
-205 197 197
-213 197 197
-230 205 205
-246 213 213
-255 222 222
-255 238 238
-0 238 213
-8 246 213
-41 230 205
-74 213 197
-98 213 197
-115 213 197
-131 213 197
-148 213 197
-164 213 197
-180 213 197
-197 213 197
-213 213 197
-230 213 205
-246 222 213
-255 230 222
-255 238 238
-0 255 205
-24 246 205
-57 230 197
-90 230 197
-106 230 197
-123 230 197
-139 230 197
-156 230 197
-172 230 197
-189 230 197
-205 230 205
-213 230 205
-230 230 205
-246 238 213
-255 238 222
-255 246 238
-8 255 197
-41 246 197
-74 238 197
-90 238 197
-106 238 197
-123 238 197
-139 238 197
-156 238 197
-172 238 197
-189 238 205
-213 246 213
-222 246 213
-238 246 213
-246 246 213
-255 246 222
-255 246 238
-24 255 189
-57 255 197
-74 255 189
-90 255 197
-106 255 197
-131 255 197
-148 255 197
-164 255 197
-180 255 205
-205 255 213
-222 255 222
-230 255 222
-238 255 222
-246 255 222
-255 255 222
-255 255 238
-57 255 189
-74 255 189
-90 255 189
-106 255 189
-123 255 197
-139 255 197
-156 255 205
-172 255 205
-205 255 222
-222 255 222
-238 255 238
-238 255 238
-246 255 238
-246 255 238
-255 255 238
-255 255 238
diff --git a/graphics/misc/sunny_day/59.pal b/graphics/misc/sunny_day/59.pal
deleted file mode 100644
index fc5d96b1f..000000000
--- a/graphics/misc/sunny_day/59.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 238
-16 0 238
-32 0 238
-57 0 238
-82 0 238
-106 0 238
-123 0 238
-148 0 238
-172 0 238
-189 0 238
-213 0 238
-238 0 238
-255 0 238
-255 8 222
-255 24 213
-255 57 205
-0 16 238
-8 8 246
-32 8 246
-49 8 246
-74 8 246
-98 8 246
-123 8 246
-148 8 246
-172 8 246
-189 8 246
-213 8 246
-246 8 246
-246 24 230
-246 41 213
-255 57 213
-255 74 205
-0 41 238
-8 32 246
-41 41 230
-65 41 230
-82 41 230
-98 41 230
-123 41 230
-148 41 230
-164 41 230
-180 41 230
-205 41 230
-230 41 230
-230 57 213
-238 74 213
-255 74 213
-255 90 205
-0 65 238
-8 57 246
-41 65 230
-74 74 213
-90 74 213
-106 74 213
-123 74 213
-139 74 213
-164 74 213
-180 74 213
-197 74 213
-213 74 213
-230 90 213
-238 90 213
-255 90 213
-255 106 205
-0 82 238
-8 82 246
-41 82 230
-74 90 213
-98 98 213
-115 98 213
-131 98 213
-148 98 213
-164 98 213
-180 98 213
-197 98 213
-213 98 213
-230 106 213
-238 106 213
-255 106 213
-255 123 205
-0 106 238
-8 106 246
-41 106 230
-74 106 213
-98 115 213
-115 115 213
-131 115 213
-148 115 213
-164 115 213
-180 115 213
-197 115 213
-213 115 213
-230 123 213
-238 123 213
-255 131 213
-255 139 213
-0 131 238
-8 123 246
-41 123 230
-74 123 213
-98 131 213
-115 131 213
-131 131 213
-148 131 213
-164 131 213
-180 131 213
-197 131 213
-213 131 213
-230 139 213
-238 139 213
-255 148 213
-255 156 213
-0 148 238
-8 148 246
-41 148 230
-74 139 213
-98 148 213
-115 148 213
-131 148 213
-148 148 213
-164 148 213
-180 148 213
-197 148 213
-213 148 213
-230 156 213
-238 156 213
-255 164 213
-255 172 213
-0 172 238
-8 172 246
-41 164 230
-74 164 213
-98 164 213
-115 164 213
-131 164 213
-148 164 213
-164 164 213
-180 164 213
-197 164 213
-213 164 213
-230 172 213
-238 172 213
-255 180 213
-255 205 230
-0 197 238
-8 197 246
-41 189 230
-74 180 213
-98 180 213
-115 180 213
-131 180 213
-148 180 213
-164 180 213
-180 180 213
-197 180 213
-213 180 213
-230 189 213
-238 189 213
-255 205 222
-255 222 230
-0 222 238
-8 222 246
-41 205 230
-74 197 213
-98 197 213
-115 197 213
-131 197 213
-148 197 213
-164 197 213
-180 197 213
-197 197 213
-213 197 213
-230 205 213
-246 213 222
-255 222 230
-255 238 238
-0 238 238
-8 246 246
-41 230 230
-74 213 213
-98 213 213
-115 213 213
-131 213 213
-148 213 213
-164 213 213
-180 213 213
-197 213 213
-222 213 213
-238 222 222
-246 230 230
-255 238 238
-255 255 255
-0 255 230
-24 246 222
-57 230 213
-90 230 213
-106 230 213
-123 230 213
-139 230 213
-156 230 213
-172 230 213
-189 230 213
-205 230 213
-222 238 222
-238 238 222
-246 238 230
-255 246 238
-255 255 255
-8 255 213
-41 246 213
-74 238 205
-90 238 205
-106 238 213
-123 238 213
-139 238 213
-156 238 213
-172 238 213
-189 238 213
-213 246 222
-230 246 230
-238 246 230
-246 246 230
-255 246 238
-255 255 255
-24 255 205
-57 255 205
-74 255 213
-90 255 205
-106 255 205
-131 255 213
-148 255 213
-164 255 213
-180 255 213
-205 255 222
-222 255 230
-238 255 238
-246 255 238
-246 255 238
-255 255 238
-255 255 255
-57 255 197
-74 255 205
-90 255 205
-106 255 205
-123 255 205
-139 255 205
-156 255 213
-172 255 213
-205 255 222
-222 255 230
-238 255 238
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/6.pal b/graphics/misc/sunny_day/6.pal
deleted file mode 100644
index b11f0695d..000000000
--- a/graphics/misc/sunny_day/6.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 106
-24 8 106
-41 8 106
-57 8 106
-74 8 106
-90 8 106
-106 8 106
-139 0 115
-156 0 115
-172 0 115
-189 0 115
-205 0 115
-222 0 115
-238 0 115
-255 0 106
-255 24 115
-8 24 106
-16 16 115
-41 16 115
-57 16 115
-74 16 115
-98 16 115
-115 16 115
-131 16 115
-156 16 115
-172 16 115
-189 16 115
-205 16 115
-222 16 115
-238 16 106
-246 32 115
-255 41 123
-8 41 106
-16 41 115
-41 41 115
-57 41 115
-74 41 115
-98 41 115
-115 41 115
-131 41 115
-148 32 115
-172 32 115
-189 32 115
-205 32 115
-222 32 106
-230 49 115
-246 49 115
-255 57 123
-8 57 106
-16 57 115
-41 57 115
-57 57 115
-74 57 115
-90 57 115
-115 57 115
-131 57 115
-148 57 115
-164 57 115
-189 49 106
-205 57 106
-213 65 115
-230 65 115
-246 65 123
-255 74 123
-8 74 106
-16 82 115
-41 74 115
-57 74 115
-74 74 115
-90 74 115
-115 74 115
-131 74 115
-148 74 115
-164 74 106
-180 74 106
-197 82 115
-213 82 115
-230 82 123
-246 82 115
-255 90 123
-8 90 106
-16 98 115
-41 98 115
-57 98 115
-74 90 115
-90 90 115
-115 90 115
-131 90 115
-148 90 106
-164 90 106
-180 98 115
-197 98 115
-213 98 115
-230 98 123
-246 106 123
-255 106 123
-8 106 106
-16 115 115
-41 115 115
-57 115 115
-74 115 115
-90 115 115
-115 115 115
-131 106 106
-148 106 106
-164 115 115
-180 115 115
-197 115 115
-213 115 115
-230 123 123
-246 123 123
-255 123 123
-0 139 115
-16 131 115
-41 131 115
-57 131 115
-74 131 115
-90 131 115
-106 131 106
-131 131 106
-148 131 106
-164 131 115
-180 131 115
-197 131 115
-213 131 115
-230 131 123
-246 131 123
-255 139 123
-0 156 115
-16 156 115
-32 148 115
-57 148 106
-74 148 115
-90 148 106
-106 148 106
-131 148 106
-148 148 106
-164 148 115
-180 148 115
-197 148 115
-213 148 115
-230 148 123
-246 156 123
-255 156 123
-0 172 115
-16 172 115
-32 172 115
-57 164 115
-74 164 106
-90 164 106
-115 164 115
-131 164 115
-148 164 115
-164 164 115
-180 164 115
-197 164 115
-213 164 115
-230 164 123
-246 164 123
-255 172 123
-0 189 106
-16 189 115
-32 189 115
-49 189 106
-74 180 106
-98 180 115
-115 180 115
-131 180 115
-148 180 115
-164 180 115
-180 180 115
-197 180 115
-213 180 115
-230 180 123
-246 180 123
-255 180 123
-0 205 106
-16 205 115
-32 205 106
-57 205 106
-82 197 115
-98 197 115
-115 197 115
-131 197 115
-148 197 115
-164 197 115
-180 197 115
-197 197 115
-213 197 115
-230 197 123
-246 197 123
-255 197 123
-0 222 115
-16 222 106
-32 222 106
-65 213 115
-82 213 115
-98 213 115
-115 213 115
-131 213 115
-148 213 115
-164 213 115
-180 213 115
-197 213 115
-213 213 115
-230 213 123
-246 213 123
-255 213 123
-0 238 106
-16 238 106
-49 230 115
-65 230 115
-82 230 115
-98 230 115
-123 230 123
-139 230 123
-156 230 123
-164 230 123
-189 230 123
-197 230 123
-213 230 123
-230 230 123
-246 230 123
-255 230 123
-0 255 106
-32 246 115
-49 246 115
-65 246 115
-82 246 115
-106 246 115
-123 246 123
-139 246 123
-156 246 123
-172 246 123
-180 246 123
-197 246 123
-213 246 123
-230 246 123
-246 246 123
-255 246 123
-24 255 115
-41 255 115
-57 255 115
-74 255 123
-90 255 123
-106 255 123
-123 255 123
-139 255 123
-156 255 123
-172 255 123
-189 255 123
-205 255 123
-213 255 123
-230 255 123
-246 255 123
-255 255 123
diff --git a/graphics/misc/sunny_day/60.pal b/graphics/misc/sunny_day/60.pal
deleted file mode 100644
index ebb714dd4..000000000
--- a/graphics/misc/sunny_day/60.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 255
-16 0 255
-32 0 255
-57 0 255
-82 0 255
-98 0 255
-123 0 255
-148 0 255
-164 0 255
-189 0 255
-205 0 255
-230 0 255
-255 0 255
-255 8 238
-255 24 230
-255 57 222
-0 16 255
-24 24 246
-41 24 246
-57 24 246
-82 24 246
-98 24 246
-123 24 246
-139 24 246
-164 24 246
-180 24 246
-205 24 246
-222 24 246
-246 24 246
-246 41 230
-255 57 230
-255 74 222
-0 41 255
-24 49 246
-57 57 230
-74 57 230
-90 57 230
-106 57 230
-123 57 230
-139 57 230
-156 57 230
-172 57 230
-197 57 230
-213 57 230
-230 57 230
-238 74 230
-255 74 230
-255 90 222
-0 57 255
-24 65 246
-57 74 230
-90 90 230
-98 90 230
-115 90 230
-131 90 230
-148 90 230
-164 90 230
-180 90 230
-197 90 230
-213 90 230
-230 90 230
-238 90 230
-255 90 222
-255 106 222
-0 82 255
-24 90 246
-57 90 230
-90 106 230
-106 106 230
-115 106 230
-131 106 230
-148 106 230
-164 106 230
-180 106 230
-197 106 230
-213 106 230
-230 106 230
-238 106 230
-255 106 230
-255 123 222
-0 106 255
-24 106 246
-57 106 230
-90 123 230
-106 123 230
-123 123 230
-131 123 230
-148 123 230
-164 123 230
-180 123 230
-197 123 230
-213 123 230
-230 123 230
-238 123 230
-255 131 230
-255 139 222
-0 123 255
-24 131 246
-57 123 230
-90 131 230
-106 131 230
-123 139 230
-139 139 230
-148 139 230
-164 139 230
-180 139 230
-197 139 230
-213 139 230
-230 139 230
-238 139 230
-255 148 230
-255 156 222
-0 148 255
-24 148 246
-57 139 230
-90 148 230
-106 148 230
-123 156 230
-139 156 230
-156 156 230
-164 156 230
-180 156 230
-197 156 230
-213 156 230
-230 156 230
-238 156 230
-255 164 230
-255 172 230
-0 172 255
-24 164 246
-57 164 230
-90 164 230
-106 164 230
-123 164 230
-139 164 230
-156 172 230
-172 172 230
-189 172 230
-197 172 230
-213 172 230
-230 172 230
-238 172 230
-255 180 230
-255 205 238
-0 189 255
-24 189 246
-57 180 230
-90 180 230
-106 180 230
-123 180 230
-139 180 230
-156 180 230
-172 189 230
-189 189 230
-197 189 230
-213 189 230
-230 189 230
-238 189 230
-255 205 238
-255 222 238
-0 213 255
-24 205 246
-57 197 230
-90 197 230
-106 197 230
-123 197 230
-139 197 230
-156 197 230
-172 197 230
-189 197 230
-205 205 230
-213 205 230
-230 205 230
-246 213 238
-255 222 238
-255 238 246
-0 238 255
-24 230 246
-57 213 230
-90 213 230
-106 213 230
-123 213 230
-139 213 230
-156 213 230
-172 213 230
-189 213 230
-205 213 230
-222 222 238
-238 222 238
-246 230 238
-255 238 246
-255 255 255
-0 255 255
-24 246 246
-57 230 230
-90 230 230
-106 230 230
-123 230 230
-139 230 230
-156 230 230
-172 230 230
-189 230 230
-205 230 230
-222 238 238
-238 238 238
-246 246 246
-255 255 255
-255 255 255
-8 255 238
-41 246 230
-74 238 222
-90 238 222
-106 238 222
-123 238 222
-139 238 222
-156 238 222
-172 238 230
-189 238 230
-213 246 238
-230 246 238
-246 246 246
-246 246 246
-255 255 255
-255 255 255
-24 255 222
-57 255 222
-74 255 222
-90 255 222
-106 255 222
-131 255 222
-148 255 230
-164 255 230
-180 255 230
-205 255 230
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 255 213
-74 255 222
-90 255 213
-106 255 222
-123 255 222
-139 255 222
-156 255 222
-172 255 230
-205 255 230
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/61.pal b/graphics/misc/sunny_day/61.pal
deleted file mode 100644
index 7ceed14e1..000000000
--- a/graphics/misc/sunny_day/61.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 255
-24 8 255
-49 8 255
-65 8 255
-82 8 255
-98 8 255
-123 8 255
-139 8 255
-156 8 255
-180 8 255
-197 8 255
-213 8 255
-238 8 255
-255 8 255
-255 24 246
-255 57 230
-8 32 255
-41 41 246
-49 41 246
-65 41 246
-90 41 246
-106 41 246
-123 41 246
-139 41 246
-156 41 246
-172 41 246
-197 41 246
-213 41 246
-230 41 246
-246 41 246
-255 57 246
-255 74 230
-8 49 255
-41 57 246
-74 74 238
-90 74 238
-98 74 238
-115 74 238
-131 74 238
-148 74 238
-164 74 238
-180 74 238
-197 74 238
-205 74 238
-222 74 238
-238 74 238
-255 74 238
-255 90 230
-8 65 255
-41 74 246
-74 90 238
-90 90 238
-106 90 238
-115 90 238
-131 90 238
-148 90 238
-164 90 238
-180 90 238
-197 90 238
-205 90 238
-222 90 238
-238 90 238
-255 90 238
-255 106 230
-8 90 255
-41 90 246
-74 106 238
-90 106 238
-106 106 238
-123 106 238
-139 106 238
-148 106 238
-164 106 238
-180 106 238
-197 106 238
-213 106 238
-222 106 238
-238 106 238
-255 106 238
-255 123 230
-8 106 255
-41 106 246
-74 123 238
-90 123 238
-106 123 238
-123 123 238
-139 123 238
-156 123 238
-164 123 238
-180 123 238
-197 123 238
-213 123 238
-222 123 238
-238 123 238
-255 131 238
-255 139 238
-8 123 255
-41 123 246
-74 131 238
-90 131 238
-106 139 238
-123 139 238
-139 139 238
-156 139 238
-172 139 238
-180 139 238
-197 139 238
-213 139 238
-222 139 238
-238 139 238
-255 148 238
-255 156 238
-8 148 255
-41 139 246
-74 148 238
-90 148 238
-106 148 238
-123 156 238
-139 156 238
-156 156 238
-172 156 238
-180 156 238
-197 156 238
-213 156 238
-222 156 238
-238 156 238
-255 164 238
-255 172 238
-8 164 255
-41 164 246
-74 164 238
-90 164 238
-106 164 238
-123 172 238
-139 172 238
-156 172 238
-172 172 238
-189 172 238
-197 172 238
-213 172 238
-230 172 238
-238 172 238
-255 180 238
-255 205 246
-8 180 255
-41 180 246
-74 180 238
-90 180 238
-106 180 238
-123 180 238
-139 180 238
-156 189 238
-172 189 238
-189 189 238
-205 189 238
-213 189 238
-230 189 238
-238 189 238
-255 205 246
-255 222 246
-8 197 255
-41 197 246
-74 197 238
-90 197 238
-106 197 238
-123 197 238
-139 197 238
-156 197 238
-172 205 238
-189 205 238
-213 213 246
-222 213 246
-238 213 246
-246 213 246
-255 222 246
-255 238 246
-8 222 255
-41 213 246
-74 213 238
-90 213 238
-106 213 238
-123 213 238
-139 213 238
-156 213 238
-172 213 238
-189 213 238
-213 222 246
-230 230 246
-238 230 246
-246 230 246
-255 238 246
-255 255 255
-8 238 255
-41 230 246
-74 230 238
-90 230 238
-106 230 238
-123 230 238
-139 230 238
-156 230 238
-172 230 238
-189 230 238
-213 238 246
-230 238 246
-246 246 246
-246 246 246
-255 255 255
-255 255 255
-8 255 255
-41 246 246
-74 238 238
-90 238 238
-106 238 238
-123 238 238
-139 238 238
-156 238 238
-172 238 238
-189 238 238
-213 246 246
-230 246 246
-246 246 246
-255 255 255
-255 255 255
-255 255 255
-24 255 238
-57 255 238
-74 255 238
-90 255 238
-106 255 238
-131 255 238
-148 255 238
-164 255 238
-180 255 238
-205 255 246
-222 255 246
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 255 230
-74 255 230
-90 255 230
-106 255 230
-123 255 230
-139 255 230
-156 255 238
-172 255 238
-205 255 238
-222 255 246
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/62.pal b/graphics/misc/sunny_day/62.pal
deleted file mode 100644
index 6bd460ecd..000000000
--- a/graphics/misc/sunny_day/62.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-24 24 255
-41 24 255
-57 24 255
-74 24 255
-90 24 255
-106 24 255
-123 24 255
-139 24 255
-156 24 255
-172 24 255
-189 24 255
-205 24 255
-222 24 255
-238 24 255
-255 24 255
-255 57 246
-24 49 255
-57 57 255
-74 57 255
-90 57 255
-98 57 255
-115 57 255
-131 57 255
-148 57 255
-164 57 255
-180 57 255
-197 57 255
-205 57 255
-222 57 255
-238 57 255
-255 57 255
-255 74 246
-24 65 255
-57 74 255
-74 74 255
-90 74 255
-98 74 255
-123 74 255
-131 74 255
-148 74 255
-164 74 255
-180 74 255
-189 74 255
-213 74 255
-222 74 255
-238 74 255
-255 74 255
-255 90 246
-24 82 255
-57 90 255
-74 90 255
-90 90 255
-106 90 255
-123 90 255
-139 90 255
-148 90 255
-164 90 255
-180 90 255
-197 90 255
-205 90 255
-222 90 255
-238 90 255
-255 90 255
-255 106 246
-24 98 255
-57 106 255
-74 106 255
-90 106 255
-106 106 255
-123 106 255
-139 106 255
-148 106 255
-164 106 255
-180 106 255
-197 106 255
-205 106 255
-222 106 255
-238 106 255
-255 106 255
-255 123 246
-24 115 255
-57 123 255
-74 123 255
-90 123 255
-106 123 255
-131 131 255
-139 131 255
-156 131 255
-164 131 255
-180 131 255
-197 131 255
-213 131 255
-222 131 255
-238 131 255
-255 131 255
-255 139 246
-24 131 255
-57 131 255
-74 131 255
-90 139 255
-106 139 255
-131 139 255
-148 148 255
-156 148 255
-172 148 255
-189 148 255
-197 148 255
-213 148 255
-230 148 255
-238 148 255
-255 148 255
-255 156 246
-24 139 255
-57 148 255
-74 148 255
-90 156 255
-106 156 255
-131 156 255
-148 156 255
-164 164 255
-172 164 255
-189 164 255
-197 164 255
-213 164 255
-230 164 255
-238 164 255
-255 164 255
-255 172 246
-24 164 255
-57 164 255
-74 164 255
-90 172 255
-106 164 255
-131 172 255
-148 172 255
-164 172 255
-180 180 255
-189 180 255
-205 180 255
-213 180 255
-230 180 255
-238 180 255
-255 180 255
-255 205 255
-24 180 255
-57 180 255
-74 180 255
-90 180 255
-106 180 255
-131 180 255
-148 189 255
-164 189 255
-180 189 255
-205 205 255
-213 205 255
-222 205 255
-230 205 255
-246 205 255
-255 205 255
-255 222 255
-24 197 255
-57 197 255
-74 197 255
-90 197 255
-106 197 255
-131 197 255
-148 197 255
-164 205 255
-180 205 255
-205 213 255
-222 222 255
-230 222 255
-238 222 255
-246 222 255
-255 222 255
-255 238 255
-24 213 255
-57 213 255
-74 213 255
-90 213 255
-106 213 255
-131 213 255
-148 213 255
-164 213 255
-180 213 255
-205 222 255
-222 230 255
-238 238 255
-246 238 255
-246 238 255
-255 238 255
-255 255 255
-24 230 255
-57 230 255
-74 230 255
-90 222 255
-106 230 255
-131 230 255
-148 230 255
-164 230 255
-180 230 255
-205 238 255
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-24 246 255
-57 246 255
-74 238 255
-90 238 255
-106 238 255
-131 238 255
-148 238 255
-164 238 255
-180 238 255
-205 246 255
-222 246 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-24 255 255
-57 255 255
-74 255 255
-90 255 255
-106 255 255
-131 255 255
-148 255 255
-164 255 255
-180 255 255
-205 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 255 238
-74 255 246
-90 255 246
-106 255 246
-123 255 246
-139 255 246
-156 255 246
-172 255 246
-205 255 246
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/63.pal b/graphics/misc/sunny_day/63.pal
deleted file mode 100644
index 8cf52aa11..000000000
--- a/graphics/misc/sunny_day/63.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-57 57 255
-65 57 255
-82 57 255
-90 57 255
-106 57 255
-123 57 255
-131 57 255
-148 57 255
-164 57 255
-172 57 255
-189 57 255
-197 57 255
-213 57 255
-230 57 255
-238 57 255
-255 57 255
-57 65 255
-74 74 255
-82 74 255
-98 74 255
-106 74 255
-123 74 255
-139 74 255
-148 74 255
-164 74 255
-180 74 255
-189 74 255
-205 74 255
-222 74 255
-230 74 255
-246 74 255
-255 74 255
-57 82 255
-74 90 255
-90 90 255
-98 90 255
-115 90 255
-123 90 255
-139 90 255
-148 90 255
-164 90 255
-180 90 255
-189 90 255
-205 90 255
-213 90 255
-230 90 255
-246 90 255
-255 90 255
-57 98 255
-74 98 255
-90 106 255
-106 106 255
-115 106 255
-131 106 255
-148 106 255
-156 106 255
-164 106 255
-180 106 255
-189 106 255
-205 106 255
-222 106 255
-230 106 255
-246 106 255
-255 106 255
-57 106 255
-74 115 255
-90 115 255
-106 123 255
-123 123 255
-131 123 255
-148 123 255
-156 123 255
-172 123 255
-180 123 255
-197 123 255
-205 123 255
-222 123 255
-230 123 255
-246 123 255
-255 123 255
-57 123 255
-74 131 255
-90 131 255
-106 131 255
-123 139 255
-139 139 255
-148 139 255
-164 139 255
-172 139 255
-189 139 255
-197 139 255
-205 139 255
-222 139 255
-230 139 255
-246 139 255
-255 139 255
-57 139 255
-74 139 255
-90 139 255
-106 148 255
-123 148 255
-139 156 255
-156 156 255
-164 156 255
-180 156 255
-189 156 255
-205 156 255
-213 156 255
-222 156 255
-238 156 255
-246 156 255
-255 156 255
-57 148 255
-74 156 255
-90 156 255
-106 156 255
-123 164 255
-139 164 255
-156 172 255
-172 172 255
-180 172 255
-197 172 255
-205 172 255
-213 172 255
-230 172 255
-238 172 255
-246 172 255
-255 172 255
-57 164 255
-74 164 255
-90 172 255
-106 172 255
-123 172 255
-139 172 255
-156 180 255
-172 189 255
-205 205 255
-205 205 255
-222 205 255
-222 205 255
-230 205 255
-238 205 255
-246 205 255
-255 205 255
-57 180 255
-74 180 255
-90 180 255
-106 180 255
-123 189 255
-139 189 255
-156 189 255
-172 197 255
-205 213 255
-222 222 255
-222 222 255
-230 222 255
-238 222 255
-246 222 255
-255 222 255
-255 222 255
-57 189 255
-74 197 255
-90 197 255
-106 197 255
-123 197 255
-139 197 255
-156 205 255
-172 205 255
-205 222 255
-222 222 255
-238 238 255
-238 238 255
-246 238 255
-246 238 255
-255 238 255
-255 238 255
-57 205 255
-74 205 255
-90 205 255
-106 205 255
-123 205 255
-139 213 255
-156 213 255
-172 213 255
-205 230 255
-222 230 255
-238 238 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 222 255
-74 222 255
-90 222 255
-106 222 255
-123 222 255
-139 222 255
-156 222 255
-172 230 255
-205 238 255
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 230 255
-74 230 255
-90 230 255
-106 230 255
-123 230 255
-139 238 255
-156 238 255
-172 238 255
-205 246 255
-222 246 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 246 255
-74 246 255
-90 246 255
-106 246 255
-123 246 255
-139 246 255
-156 246 255
-172 246 255
-205 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-57 255 255
-74 255 255
-90 255 255
-106 255 255
-123 255 255
-139 255 255
-156 255 255
-172 255 255
-205 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/64.pal b/graphics/misc/sunny_day/64.pal
deleted file mode 100644
index f516a8fee..000000000
--- a/graphics/misc/sunny_day/64.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 8
-24 8 8
-41 8 8
-57 8 8
-74 8 8
-90 8 8
-106 8 8
-180 0 0
-197 0 0
-213 0 0
-230 0 0
-255 0 0
-255 8 8
-255 24 24
-255 41 41
-255 65 65
-8 24 8
-24 24 8
-41 24 8
-57 24 8
-74 24 8
-90 24 8
-106 24 8
-180 24 0
-197 16 0
-213 16 0
-230 16 0
-255 16 0
-255 24 8
-255 41 24
-255 49 41
-255 74 65
-8 41 8
-24 41 8
-41 41 8
-57 41 8
-74 41 8
-90 41 8
-106 41 8
-180 49 0
-197 49 0
-213 41 0
-230 41 0
-255 41 0
-255 41 8
-255 57 24
-255 65 41
-255 90 65
-8 57 8
-24 57 8
-41 57 8
-57 57 8
-74 57 8
-90 57 8
-106 57 8
-180 74 0
-197 74 0
-213 65 0
-230 65 0
-255 65 0
-255 65 8
-255 74 24
-255 82 41
-255 98 65
-8 74 8
-24 74 8
-41 74 8
-57 74 8
-74 74 8
-90 74 8
-106 74 8
-180 98 0
-197 98 0
-213 90 0
-230 90 0
-255 82 0
-255 82 8
-255 90 24
-255 98 41
-255 115 65
-8 90 8
-24 90 8
-41 90 8
-57 90 8
-74 90 8
-90 90 8
-106 90 8
-180 123 0
-197 123 0
-213 115 0
-230 115 0
-255 106 0
-255 106 8
-255 106 24
-255 115 41
-255 123 65
-8 106 8
-24 106 8
-41 106 8
-57 106 8
-74 106 8
-90 106 8
-106 106 8
-180 156 0
-197 148 0
-213 139 0
-230 131 0
-255 131 0
-255 131 8
-255 131 24
-255 131 41
-255 139 65
-0 180 0
-24 180 0
-49 180 0
-74 180 0
-106 180 0
-131 180 0
-156 180 0
-180 180 0
-197 172 0
-213 164 0
-230 156 0
-255 156 0
-255 148 8
-255 148 24
-255 148 41
-255 156 65
-0 197 0
-24 197 0
-49 197 0
-74 197 0
-98 197 0
-123 197 0
-148 197 0
-172 197 0
-197 197 0
-213 189 0
-230 180 0
-255 180 0
-255 172 8
-255 164 24
-255 164 41
-255 164 65
-0 213 0
-24 213 0
-49 213 0
-65 213 0
-98 213 0
-123 213 0
-139 213 0
-172 213 0
-197 213 0
-213 213 0
-230 205 0
-255 197 0
-255 197 8
-255 180 24
-255 180 41
-255 180 65
-0 230 0
-16 230 0
-41 230 0
-65 230 0
-90 230 0
-115 230 0
-139 230 0
-164 230 0
-189 230 0
-213 230 0
-230 230 0
-255 222 0
-255 213 8
-255 197 24
-255 189 41
-255 189 65
-0 255 0
-24 255 0
-41 255 0
-65 255 0
-90 255 0
-115 255 0
-139 255 0
-156 255 0
-180 255 0
-205 255 0
-230 255 0
-255 255 0
-255 230 8
-255 222 24
-255 213 41
-255 205 65
-8 255 8
-24 255 8
-49 255 8
-65 255 8
-90 255 8
-106 255 8
-131 255 8
-156 255 8
-172 255 8
-197 255 8
-213 255 8
-238 255 8
-255 255 8
-255 238 24
-255 222 41
-255 213 65
-24 255 24
-41 255 24
-57 255 24
-74 255 24
-98 255 24
-115 255 24
-131 255 24
-156 255 24
-164 255 24
-189 255 24
-205 255 24
-222 255 24
-246 255 24
-255 255 24
-255 238 41
-255 230 65
-41 255 41
-57 255 41
-74 255 41
-90 255 41
-106 255 41
-123 255 41
-131 255 41
-148 255 41
-164 255 41
-180 255 41
-197 255 41
-213 255 41
-230 255 41
-246 255 41
-255 255 41
-255 246 65
-65 255 65
-82 255 65
-90 255 65
-106 255 65
-115 255 65
-131 255 65
-139 255 65
-156 255 65
-172 255 65
-180 255 65
-197 255 65
-205 255 65
-222 255 65
-230 255 65
-246 255 65
-255 255 65
diff --git a/graphics/misc/sunny_day/65.pal b/graphics/misc/sunny_day/65.pal
deleted file mode 100644
index 23c42e13f..000000000
--- a/graphics/misc/sunny_day/65.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 24
-24 8 24
-41 8 24
-57 8 24
-74 8 24
-90 8 24
-106 8 24
-180 0 24
-197 0 24
-213 0 24
-230 0 16
-255 0 24
-255 8 24
-255 24 41
-255 41 57
-255 65 82
-8 24 24
-24 24 24
-41 24 24
-57 24 24
-74 24 24
-90 24 24
-156 16 16
-180 16 16
-197 16 16
-213 16 16
-238 8 8
-246 16 16
-246 32 32
-255 49 49
-255 65 65
-255 82 82
-8 41 24
-24 41 24
-41 41 24
-57 41 24
-74 41 24
-90 41 24
-156 49 16
-180 41 16
-197 41 16
-213 41 16
-238 32 8
-246 32 16
-246 49 32
-255 57 49
-255 82 65
-255 98 82
-8 57 24
-24 57 24
-41 57 24
-57 57 24
-74 57 24
-90 57 24
-156 74 16
-180 65 16
-197 65 16
-213 65 16
-238 57 8
-246 57 16
-246 65 32
-255 74 49
-255 98 65
-255 106 82
-8 74 24
-24 74 24
-41 74 24
-57 74 24
-74 74 24
-90 74 24
-156 98 16
-180 98 16
-197 90 16
-213 90 16
-238 82 8
-246 82 16
-246 90 32
-255 98 49
-255 106 65
-255 115 82
-8 90 24
-24 90 24
-41 90 24
-57 90 24
-74 90 24
-90 90 24
-156 131 16
-180 123 16
-197 115 16
-213 115 16
-238 106 8
-246 106 16
-246 106 32
-255 106 49
-255 123 65
-255 131 82
-8 106 24
-16 156 16
-49 156 16
-74 156 16
-106 156 16
-131 156 16
-156 156 16
-180 148 16
-197 139 16
-213 139 16
-238 131 8
-246 131 16
-246 131 32
-255 131 49
-255 139 65
-255 148 82
-0 180 24
-16 180 16
-41 180 16
-74 180 16
-98 180 16
-123 180 16
-148 180 16
-180 180 16
-197 172 16
-213 164 16
-238 156 8
-246 148 16
-246 148 32
-255 148 49
-255 156 65
-255 156 82
-0 197 16
-16 197 16
-41 197 16
-74 197 16
-90 197 16
-123 197 16
-148 197 16
-172 197 16
-197 197 16
-213 189 16
-238 180 8
-246 172 16
-246 164 32
-255 164 49
-255 172 65
-255 172 82
-0 213 16
-16 213 16
-41 213 16
-65 213 16
-90 213 16
-115 213 16
-139 213 16
-164 213 16
-189 213 16
-213 213 16
-238 213 8
-246 197 16
-246 189 32
-255 180 49
-255 180 65
-255 180 82
-0 230 16
-8 238 8
-32 238 8
-65 238 8
-82 238 8
-115 238 8
-139 238 8
-164 238 8
-189 238 8
-213 238 8
-238 238 8
-246 222 16
-246 205 32
-255 197 49
-255 197 65
-255 197 82
-0 255 16
-16 246 16
-41 246 16
-65 246 16
-82 246 16
-106 246 16
-131 246 16
-156 246 16
-180 246 16
-197 246 16
-222 246 16
-246 246 16
-246 230 32
-255 213 49
-255 213 65
-255 205 82
-8 255 24
-32 246 32
-49 246 32
-74 246 32
-90 246 32
-115 246 32
-131 246 32
-148 246 32
-172 246 32
-189 246 32
-205 246 32
-230 246 32
-246 246 32
-255 230 49
-255 230 65
-255 222 82
-24 255 41
-49 255 49
-65 255 49
-82 255 49
-98 255 49
-115 255 49
-131 255 49
-148 255 49
-164 255 49
-180 255 49
-197 255 49
-213 255 49
-238 255 49
-255 255 49
-255 246 65
-255 230 82
-41 255 49
-65 255 65
-82 255 65
-98 255 65
-115 255 65
-123 255 65
-139 255 65
-156 255 65
-172 255 65
-189 255 65
-197 255 65
-213 255 65
-230 255 65
-246 255 65
-255 255 65
-255 246 82
-65 255 74
-82 255 82
-98 255 82
-106 255 82
-123 255 82
-139 255 82
-148 255 82
-156 255 82
-172 255 82
-189 255 82
-197 255 82
-205 255 82
-222 255 82
-238 255 82
-246 255 82
-255 255 82
diff --git a/graphics/misc/sunny_day/66.pal b/graphics/misc/sunny_day/66.pal
deleted file mode 100644
index 1a76a24d1..000000000
--- a/graphics/misc/sunny_day/66.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 41
-24 8 41
-41 8 41
-57 8 41
-74 8 41
-90 8 41
-106 8 41
-180 0 49
-197 0 49
-213 0 49
-230 0 41
-255 0 41
-255 8 49
-255 24 57
-255 41 74
-255 65 90
-8 24 41
-24 24 41
-41 24 41
-57 24 41
-74 24 41
-90 24 41
-156 16 49
-180 16 41
-197 16 41
-213 16 41
-238 8 32
-246 16 41
-246 32 49
-255 49 65
-255 65 82
-255 82 98
-8 41 41
-24 41 41
-41 41 41
-57 41 41
-74 41 41
-131 49 49
-156 41 41
-172 41 41
-197 32 32
-213 32 32
-222 41 41
-230 49 49
-238 65 65
-246 82 82
-255 82 82
-255 98 98
-8 57 41
-24 57 41
-41 57 41
-57 57 41
-74 57 41
-131 74 49
-156 74 41
-172 65 41
-197 57 32
-213 57 32
-222 57 41
-230 65 49
-238 74 65
-246 90 82
-255 98 82
-255 106 98
-8 74 41
-24 74 41
-41 74 41
-57 74 41
-74 74 41
-131 98 49
-156 98 41
-172 90 41
-197 82 32
-213 82 32
-222 82 41
-230 90 49
-238 90 65
-246 106 82
-255 106 82
-255 123 98
-8 90 41
-24 90 41
-49 131 49
-74 131 49
-106 131 49
-131 131 49
-156 123 41
-172 115 41
-197 115 32
-213 106 32
-222 106 41
-230 106 49
-238 115 65
-246 123 82
-255 123 82
-255 131 98
-8 106 41
-16 156 49
-41 156 41
-74 156 41
-98 156 41
-123 156 41
-156 156 41
-172 148 41
-197 139 32
-213 131 32
-222 131 41
-230 131 49
-238 131 65
-246 139 82
-255 139 82
-255 148 98
-0 180 49
-16 180 41
-41 172 41
-65 172 41
-90 172 41
-123 172 41
-148 172 41
-172 172 41
-197 164 32
-213 156 32
-222 156 41
-230 148 49
-238 148 65
-246 156 82
-255 156 82
-255 156 98
-0 197 49
-16 197 41
-32 197 32
-65 197 32
-90 197 32
-115 197 32
-139 197 32
-164 197 32
-197 197 32
-213 189 32
-222 180 41
-230 164 49
-238 164 65
-246 164 82
-255 172 82
-255 172 98
-0 213 41
-16 213 41
-32 213 32
-57 213 32
-90 213 32
-115 213 32
-139 213 32
-164 213 32
-189 213 32
-213 213 32
-222 197 41
-230 189 49
-238 180 65
-246 180 82
-255 180 82
-255 180 98
-0 230 41
-8 238 32
-41 222 41
-65 222 41
-82 222 41
-106 222 41
-131 222 41
-156 222 41
-180 222 41
-205 222 41
-222 222 41
-230 205 49
-238 197 65
-246 197 82
-255 197 82
-255 197 98
-0 255 41
-16 246 32
-49 230 49
-74 230 49
-90 230 49
-106 230 49
-131 230 49
-156 230 49
-172 230 49
-189 230 49
-213 230 49
-230 230 49
-238 213 65
-246 213 82
-255 213 82
-255 205 98
-8 255 41
-32 246 49
-65 238 65
-82 238 65
-98 238 65
-115 238 65
-131 238 65
-148 238 65
-164 238 65
-180 238 65
-197 238 65
-222 238 65
-238 238 65
-246 230 82
-255 230 82
-255 222 98
-24 255 57
-49 255 57
-82 246 82
-98 246 82
-106 246 82
-123 246 82
-139 246 82
-156 246 82
-172 246 82
-180 246 82
-197 246 82
-213 246 82
-230 246 82
-246 246 82
-255 238 82
-255 230 98
-41 255 65
-65 255 82
-82 255 82
-98 255 82
-115 255 82
-123 255 82
-139 255 82
-156 255 82
-172 255 82
-189 255 82
-197 255 82
-213 255 82
-230 255 82
-246 255 82
-255 255 82
-255 246 98
-65 255 90
-82 255 98
-98 255 98
-115 255 98
-123 255 98
-139 255 98
-148 255 98
-164 255 98
-172 255 98
-189 255 98
-197 255 98
-213 255 98
-222 255 98
-238 255 98
-246 255 98
-255 255 98
diff --git a/graphics/misc/sunny_day/67.pal b/graphics/misc/sunny_day/67.pal
deleted file mode 100644
index d7eb5fe5f..000000000
--- a/graphics/misc/sunny_day/67.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 57
-24 8 57
-41 8 57
-57 8 57
-74 8 57
-90 8 57
-106 8 57
-180 0 74
-197 0 74
-213 0 65
-230 0 65
-255 0 65
-255 8 65
-255 24 74
-255 41 90
-255 65 106
-8 24 57
-24 24 57
-41 24 57
-57 24 57
-74 24 57
-90 24 57
-156 16 74
-180 16 74
-197 16 74
-213 16 65
-238 8 65
-246 16 65
-246 32 74
-255 49 82
-255 65 98
-255 82 106
-8 41 57
-24 41 57
-41 41 57
-57 41 57
-74 41 57
-131 49 74
-156 41 74
-172 41 65
-197 32 65
-213 32 57
-222 41 65
-230 49 74
-238 65 82
-246 82 98
-255 82 98
-255 98 115
-8 57 57
-24 57 57
-41 57 57
-57 57 57
-106 74 74
-131 65 65
-148 65 65
-172 57 57
-189 57 57
-205 57 57
-213 65 65
-222 74 74
-230 90 90
-246 98 98
-255 98 98
-255 115 115
-8 74 57
-24 74 57
-41 74 57
-74 106 74
-106 106 74
-131 98 65
-148 90 65
-172 90 57
-189 82 57
-205 82 57
-213 90 65
-222 90 74
-230 106 90
-246 106 98
-255 115 98
-255 123 115
-8 90 57
-24 90 57
-49 131 74
-65 131 65
-98 131 65
-131 131 65
-148 123 65
-172 115 57
-189 106 57
-205 106 57
-213 106 65
-222 115 74
-230 123 90
-246 123 98
-255 123 98
-255 139 115
-8 106 57
-16 156 74
-41 156 74
-65 148 65
-90 148 65
-123 148 65
-148 148 65
-172 139 57
-189 131 57
-205 131 57
-213 131 65
-222 131 74
-230 139 90
-246 139 98
-255 139 98
-255 156 115
-0 180 74
-16 180 65
-41 172 65
-57 172 57
-90 172 57
-115 172 57
-139 172 57
-172 172 57
-189 164 57
-205 156 57
-213 148 65
-222 148 74
-230 156 90
-246 156 98
-255 156 98
-255 164 115
-0 197 74
-16 197 65
-32 197 57
-57 189 57
-82 189 57
-106 189 57
-139 189 57
-164 189 57
-189 189 57
-205 180 57
-213 172 65
-222 164 74
-230 172 90
-246 172 98
-255 172 98
-255 172 115
-0 213 65
-16 213 65
-32 213 57
-57 205 57
-82 205 57
-106 205 57
-131 205 57
-156 205 57
-180 205 57
-205 205 57
-213 189 65
-222 180 74
-230 180 90
-246 180 98
-255 180 98
-255 189 115
-0 230 65
-8 238 57
-41 222 57
-65 213 65
-90 213 65
-115 213 65
-131 213 65
-156 213 65
-172 213 65
-197 213 65
-213 213 65
-222 197 74
-230 197 90
-246 197 98
-255 197 98
-255 197 115
-0 255 65
-16 246 57
-49 230 65
-74 222 74
-98 222 74
-115 222 74
-131 222 74
-148 222 74
-164 222 74
-180 222 74
-205 222 74
-222 222 74
-230 213 90
-246 213 98
-255 213 98
-255 205 115
-8 255 65
-32 246 65
-65 238 74
-90 230 90
-106 230 90
-123 230 90
-139 230 90
-156 230 90
-172 230 90
-189 230 90
-205 230 90
-213 230 90
-230 230 90
-246 230 98
-255 230 98
-255 222 115
-24 255 74
-49 255 74
-82 246 90
-98 246 98
-115 246 98
-123 246 98
-139 246 98
-156 246 98
-172 246 98
-189 246 98
-197 246 98
-213 246 98
-230 246 98
-246 246 98
-255 238 98
-255 230 115
-41 255 82
-65 255 98
-82 255 98
-98 255 98
-115 255 98
-131 255 98
-148 255 98
-156 255 98
-172 255 98
-189 255 98
-197 255 98
-213 255 98
-230 255 98
-246 255 98
-255 255 98
-255 246 115
-65 255 98
-82 255 106
-98 255 106
-115 255 115
-131 255 115
-139 255 115
-156 255 115
-164 255 115
-172 255 115
-189 255 115
-197 255 115
-213 255 115
-222 255 115
-238 255 115
-246 255 115
-255 255 115
diff --git a/graphics/misc/sunny_day/68.pal b/graphics/misc/sunny_day/68.pal
deleted file mode 100644
index b325c14ad..000000000
--- a/graphics/misc/sunny_day/68.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 74
-24 8 74
-41 8 74
-57 8 74
-74 8 74
-90 8 74
-106 8 74
-180 0 106
-197 0 98
-213 0 98
-230 0 90
-255 0 90
-255 8 90
-255 24 98
-255 41 106
-255 65 115
-8 24 74
-24 24 74
-41 24 74
-57 24 74
-74 24 74
-90 24 74
-156 16 106
-180 16 98
-197 16 90
-213 16 90
-238 8 82
-246 16 82
-246 32 90
-255 49 98
-255 65 115
-255 82 123
-8 41 74
-24 41 74
-41 41 74
-57 41 74
-74 41 74
-131 49 106
-156 41 98
-172 41 90
-197 32 90
-213 32 90
-222 41 82
-230 49 90
-238 65 98
-246 82 106
-255 82 115
-255 98 123
-8 57 74
-24 57 74
-41 57 74
-74 74 106
-106 74 106
-131 65 98
-148 65 90
-172 57 90
-189 57 82
-205 57 82
-213 65 90
-222 74 98
-230 90 106
-246 98 115
-255 98 115
-255 115 131
-8 74 74
-24 74 74
-41 74 74
-74 106 106
-106 90 90
-123 90 90
-148 82 82
-164 82 82
-180 82 82
-197 90 90
-205 90 90
-213 106 106
-230 106 106
-246 115 115
-255 115 115
-255 131 131
-8 90 74
-24 90 74
-49 131 98
-65 131 98
-90 123 90
-123 123 90
-148 115 82
-164 106 82
-180 106 82
-197 106 90
-205 106 90
-213 123 106
-230 123 106
-246 131 115
-255 131 115
-255 148 131
-8 106 74
-16 156 98
-41 156 98
-65 148 90
-82 148 82
-115 148 82
-148 148 82
-164 139 82
-180 131 82
-197 131 90
-205 131 90
-213 139 106
-230 139 106
-246 139 115
-255 148 115
-255 156 131
-0 180 98
-16 180 98
-41 172 90
-57 172 90
-82 164 82
-106 164 82
-139 164 82
-164 164 82
-180 156 82
-197 148 90
-205 148 90
-213 156 106
-230 156 106
-246 156 115
-255 156 115
-255 164 131
-0 197 98
-16 197 90
-32 197 82
-57 189 82
-82 180 82
-106 180 82
-131 180 82
-156 180 82
-180 180 82
-197 172 90
-205 164 90
-213 172 106
-230 172 106
-246 172 115
-255 172 115
-255 180 131
-0 213 90
-16 213 90
-32 213 82
-57 205 82
-90 197 90
-106 197 90
-131 197 90
-148 197 90
-172 197 90
-197 197 90
-205 180 90
-213 180 106
-230 189 106
-246 189 115
-255 189 115
-255 189 131
-0 230 90
-8 238 82
-41 222 82
-65 213 90
-90 205 90
-115 205 90
-131 205 90
-148 205 90
-164 205 90
-189 205 90
-205 205 90
-213 197 106
-230 197 106
-246 197 115
-255 197 115
-255 197 131
-0 255 82
-16 246 82
-49 230 90
-74 222 90
-106 213 106
-123 213 106
-139 213 106
-156 213 106
-172 213 106
-189 213 106
-205 213 106
-213 213 106
-230 213 106
-246 213 115
-255 213 115
-255 213 131
-8 255 82
-32 246 90
-65 238 90
-90 230 106
-106 230 106
-123 230 106
-139 230 106
-156 230 106
-172 230 106
-189 230 106
-197 230 106
-213 230 106
-230 230 106
-246 230 115
-255 230 115
-255 222 131
-24 255 90
-49 255 98
-82 246 106
-98 246 106
-115 246 115
-131 246 115
-148 246 115
-156 246 115
-172 246 115
-189 246 115
-197 246 115
-213 246 115
-230 246 115
-246 246 115
-255 238 115
-255 230 131
-41 255 98
-65 255 106
-82 255 106
-98 255 115
-115 255 115
-131 255 115
-148 255 115
-164 255 115
-172 255 115
-189 255 115
-205 255 115
-213 255 115
-230 255 115
-246 255 115
-255 255 115
-255 246 131
-65 255 115
-82 255 115
-98 255 123
-115 255 123
-131 255 131
-148 255 131
-156 255 131
-172 255 131
-180 255 131
-189 255 131
-205 255 131
-213 255 131
-222 255 131
-238 255 131
-246 255 131
-255 255 131
diff --git a/graphics/misc/sunny_day/69.pal b/graphics/misc/sunny_day/69.pal
deleted file mode 100644
index 0612a7182..000000000
--- a/graphics/misc/sunny_day/69.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 90
-24 8 90
-41 8 90
-57 8 90
-74 8 90
-90 8 90
-106 8 90
-180 0 131
-197 0 123
-213 0 123
-230 0 115
-255 0 115
-255 8 106
-255 24 115
-255 41 123
-255 65 131
-8 24 90
-24 24 90
-41 24 90
-57 24 90
-74 24 90
-90 24 90
-156 16 131
-180 16 123
-197 16 123
-213 16 115
-238 8 115
-246 16 106
-246 32 115
-255 49 115
-255 65 123
-255 82 139
-8 41 90
-24 41 90
-49 49 131
-74 49 131
-98 49 131
-131 49 131
-156 41 123
-172 41 123
-197 32 115
-213 32 115
-222 41 106
-230 49 106
-238 65 115
-246 82 123
-255 82 123
-255 98 139
-8 57 90
-24 57 90
-49 74 131
-65 65 131
-98 65 131
-131 65 131
-148 65 123
-172 57 115
-189 57 106
-205 57 106
-213 65 115
-222 74 115
-230 90 123
-246 98 123
-255 98 131
-255 115 139
-8 74 90
-24 74 90
-49 106 131
-65 98 131
-90 90 123
-123 90 123
-148 82 115
-164 82 106
-180 82 106
-197 90 106
-205 90 115
-213 106 123
-230 106 123
-246 115 131
-255 115 131
-255 131 148
-8 90 90
-24 90 90
-49 131 131
-65 131 131
-90 123 123
-123 106 106
-148 106 106
-164 98 98
-172 106 106
-189 106 106
-205 123 123
-213 123 123
-230 123 123
-246 131 131
-255 139 139
-255 148 148
-8 106 90
-16 156 131
-41 156 123
-65 148 123
-82 148 115
-106 148 106
-148 148 106
-164 131 98
-172 131 106
-189 131 106
-205 139 123
-213 139 123
-230 139 123
-246 148 131
-255 148 139
-255 156 148
-0 180 123
-16 180 123
-41 172 115
-57 172 115
-82 164 106
-98 164 98
-131 164 98
-164 164 98
-172 148 106
-189 148 106
-205 156 123
-213 156 123
-230 156 123
-246 156 131
-255 164 139
-255 172 148
-0 197 123
-16 197 115
-32 197 115
-57 189 106
-82 180 106
-106 172 106
-131 172 106
-148 172 106
-172 172 106
-189 172 106
-205 172 123
-213 172 123
-230 172 123
-246 172 131
-255 172 139
-255 180 148
-0 213 115
-16 213 115
-32 213 106
-57 205 106
-90 197 106
-106 189 106
-131 189 106
-148 189 106
-172 189 106
-189 189 106
-205 189 123
-213 180 123
-230 189 123
-246 189 131
-255 189 139
-255 189 148
-0 230 115
-8 238 106
-41 222 106
-65 213 106
-90 205 106
-123 205 123
-139 205 123
-156 205 123
-172 205 123
-189 205 123
-205 205 123
-213 197 123
-230 197 123
-246 197 131
-255 205 139
-255 205 148
-0 255 106
-16 246 106
-49 230 106
-74 222 115
-106 213 123
-123 213 123
-139 213 123
-156 213 123
-172 213 123
-189 213 123
-205 213 123
-213 213 123
-230 213 123
-246 213 131
-255 213 139
-255 213 148
-8 255 106
-32 246 106
-65 238 115
-90 230 123
-106 230 123
-123 230 123
-139 230 123
-156 230 123
-172 230 123
-189 230 123
-205 230 123
-213 230 123
-230 230 123
-246 230 131
-255 230 139
-255 222 148
-24 255 106
-49 255 106
-82 246 123
-98 246 123
-115 246 131
-131 246 131
-148 246 131
-156 246 131
-172 246 131
-189 246 131
-205 246 131
-213 246 131
-230 246 131
-246 246 131
-255 238 139
-255 238 148
-41 255 115
-65 255 123
-82 255 123
-98 255 123
-115 255 131
-139 255 139
-148 255 139
-164 255 139
-172 255 139
-189 255 139
-205 255 139
-213 255 139
-230 255 139
-246 255 139
-255 255 139
-255 246 148
-65 255 123
-82 255 131
-98 255 131
-115 255 139
-131 255 148
-148 255 148
-164 255 148
-172 255 148
-180 255 148
-197 255 148
-205 255 148
-213 255 148
-230 255 148
-238 255 148
-246 255 148
-255 255 148
diff --git a/graphics/misc/sunny_day/7.pal b/graphics/misc/sunny_day/7.pal
deleted file mode 100644
index 0aa339668..000000000
--- a/graphics/misc/sunny_day/7.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 139
-16 0 139
-41 0 139
-57 0 139
-74 0 139
-98 0 139
-115 0 139
-139 0 139
-156 0 139
-172 0 131
-189 0 131
-205 0 131
-222 0 131
-238 0 131
-255 0 131
-255 24 131
-0 24 139
-16 16 131
-41 16 131
-57 16 131
-74 16 131
-98 16 131
-115 16 131
-131 16 131
-156 16 131
-172 16 131
-189 16 131
-205 16 131
-222 16 131
-238 16 131
-246 32 131
-255 41 139
-0 41 139
-16 41 131
-41 41 131
-57 41 131
-74 41 131
-90 41 131
-115 41 131
-131 41 131
-148 32 131
-172 32 131
-189 32 131
-205 32 131
-222 32 131
-230 49 139
-246 49 131
-255 57 131
-0 57 139
-16 57 131
-41 57 131
-57 57 131
-74 57 131
-90 57 131
-115 57 131
-131 57 131
-148 57 131
-164 57 131
-189 49 131
-205 57 131
-213 65 131
-230 65 131
-246 65 131
-255 74 139
-0 82 139
-16 74 131
-41 74 131
-57 74 131
-74 74 131
-90 74 131
-115 74 131
-131 74 131
-148 74 131
-164 74 131
-180 74 131
-197 82 131
-213 82 131
-230 82 131
-246 82 131
-255 90 139
-0 98 139
-16 98 131
-41 98 131
-57 90 131
-74 90 131
-90 90 131
-115 90 131
-131 90 131
-148 90 131
-164 90 131
-180 98 131
-197 98 131
-213 98 139
-230 98 131
-246 106 139
-255 106 139
-0 115 139
-16 115 131
-41 115 131
-57 115 131
-74 115 131
-90 115 131
-106 106 131
-131 106 131
-148 106 131
-164 115 131
-180 115 131
-197 115 131
-213 115 131
-230 123 139
-246 123 139
-255 123 139
-0 139 139
-16 131 131
-41 131 131
-57 131 131
-74 131 131
-90 131 131
-106 131 131
-131 131 131
-148 131 131
-164 131 131
-180 139 139
-197 131 131
-213 139 139
-230 139 139
-246 139 139
-255 139 139
-0 156 131
-16 156 131
-32 148 131
-57 148 131
-74 148 131
-90 148 131
-106 148 131
-131 148 131
-148 148 131
-164 148 131
-180 148 139
-197 148 131
-213 148 139
-230 148 139
-246 156 139
-255 156 139
-0 172 131
-16 172 131
-32 172 131
-57 164 131
-74 164 131
-90 164 131
-115 164 131
-131 164 131
-148 164 131
-164 164 131
-180 164 139
-197 164 131
-213 164 139
-230 164 139
-246 172 139
-255 172 139
-0 189 131
-16 189 131
-32 189 131
-49 189 131
-74 180 131
-98 180 131
-115 180 131
-139 180 139
-148 180 139
-164 180 139
-180 180 139
-197 180 131
-213 180 139
-230 180 139
-246 180 139
-255 189 139
-0 205 123
-16 205 123
-32 205 131
-57 205 131
-82 197 131
-98 197 131
-115 197 131
-131 197 131
-148 197 131
-164 197 131
-180 197 131
-197 197 131
-213 197 139
-230 197 139
-246 197 139
-255 197 139
-0 222 123
-16 222 123
-32 222 131
-65 213 131
-82 213 131
-98 213 131
-115 213 131
-139 213 139
-156 213 139
-164 213 139
-180 213 139
-197 213 139
-213 213 139
-230 213 139
-246 213 139
-255 213 139
-0 238 131
-16 238 131
-49 230 131
-65 230 131
-82 230 131
-98 230 131
-123 230 131
-139 230 139
-156 230 139
-164 230 139
-180 230 139
-197 230 139
-213 230 139
-230 230 139
-246 230 139
-255 230 139
-0 255 131
-32 246 131
-49 246 131
-65 246 131
-82 246 131
-106 246 131
-123 246 131
-139 246 139
-156 246 139
-172 246 139
-189 246 139
-205 246 139
-213 246 139
-230 246 139
-246 246 139
-255 246 139
-24 255 131
-41 255 131
-57 255 131
-74 255 131
-90 255 139
-106 255 139
-123 255 139
-139 255 139
-156 255 139
-172 255 139
-189 255 139
-197 255 139
-213 255 139
-230 255 139
-246 255 139
-255 255 139
diff --git a/graphics/misc/sunny_day/70.pal b/graphics/misc/sunny_day/70.pal
deleted file mode 100644
index 7c949a9ec..000000000
--- a/graphics/misc/sunny_day/70.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 106
-24 8 106
-41 8 106
-57 8 106
-74 8 106
-90 8 106
-106 8 106
-180 0 156
-197 0 148
-213 0 139
-230 0 139
-255 0 139
-255 8 131
-255 24 131
-255 41 131
-255 65 139
-8 24 106
-16 16 156
-49 16 156
-74 16 156
-98 16 156
-131 16 156
-156 16 156
-180 16 148
-197 16 148
-213 16 139
-238 8 139
-246 16 131
-246 32 131
-255 49 131
-255 65 139
-255 82 148
-8 41 106
-16 49 156
-41 41 156
-74 41 156
-98 41 156
-123 41 156
-156 41 156
-172 41 148
-197 32 139
-213 32 139
-222 41 131
-230 49 131
-238 65 131
-246 82 139
-255 82 139
-255 98 148
-8 57 106
-16 74 156
-41 74 156
-65 65 148
-90 65 148
-123 65 148
-148 65 148
-172 57 139
-189 57 139
-205 57 131
-213 65 131
-222 74 131
-230 90 139
-246 98 139
-255 98 148
-255 115 156
-8 74 106
-16 106 156
-41 98 156
-65 90 148
-82 82 148
-115 82 148
-148 82 148
-164 82 139
-180 82 131
-197 90 131
-205 90 131
-213 106 139
-230 106 139
-246 115 148
-255 115 148
-255 131 156
-8 90 106
-16 131 156
-41 123 156
-65 123 148
-82 115 148
-106 106 148
-148 106 148
-164 98 131
-172 106 131
-189 106 131
-205 123 139
-213 123 139
-230 123 139
-246 131 148
-255 139 148
-255 148 164
-8 106 106
-16 156 156
-41 156 156
-65 148 148
-82 148 148
-106 148 148
-139 123 123
-156 123 123
-172 123 123
-189 139 139
-205 139 139
-213 139 139
-230 148 148
-246 148 148
-255 156 156
-255 164 164
-0 180 156
-16 180 148
-41 172 148
-57 172 139
-82 164 139
-98 164 131
-123 156 123
-156 156 123
-172 148 123
-189 156 139
-205 156 139
-213 156 139
-230 156 148
-246 164 148
-255 164 156
-255 180 164
-0 197 148
-16 197 139
-32 197 139
-57 189 131
-82 180 131
-106 172 131
-123 172 123
-148 172 123
-172 172 123
-189 172 139
-205 172 139
-213 172 139
-230 172 148
-246 172 148
-255 180 156
-255 189 164
-0 213 139
-16 213 139
-32 213 131
-57 205 131
-90 197 131
-106 189 131
-139 189 139
-156 189 139
-172 189 139
-189 189 139
-205 189 139
-213 189 139
-230 189 148
-246 189 148
-255 189 156
-255 197 164
-0 230 131
-8 238 131
-41 222 131
-65 213 131
-90 205 131
-123 205 139
-139 205 139
-156 205 139
-172 205 139
-189 205 139
-205 205 139
-213 197 139
-230 197 148
-246 205 148
-255 205 156
-255 205 164
-0 255 131
-16 246 131
-49 230 131
-74 222 131
-106 213 139
-123 213 139
-139 213 139
-156 213 139
-172 213 139
-189 213 139
-205 213 139
-213 213 139
-230 213 148
-246 213 148
-255 213 156
-255 222 164
-8 255 131
-32 246 131
-65 238 131
-90 230 139
-106 230 139
-123 230 139
-148 230 148
-156 230 148
-172 230 148
-189 230 148
-205 230 148
-213 230 148
-230 230 148
-246 230 148
-255 230 156
-255 230 164
-24 255 131
-49 255 131
-82 246 139
-98 246 139
-115 246 139
-131 246 148
-148 246 148
-164 246 148
-180 246 148
-189 246 148
-205 246 148
-213 246 148
-230 246 148
-246 246 148
-255 238 156
-255 238 164
-41 255 131
-65 255 139
-82 255 139
-98 255 139
-115 255 148
-139 255 148
-156 255 156
-164 255 156
-180 255 156
-189 255 156
-205 255 156
-222 255 156
-230 255 156
-246 255 156
-255 255 156
-255 246 164
-65 255 139
-82 255 148
-98 255 148
-115 255 156
-131 255 156
-148 255 156
-164 255 164
-180 255 164
-189 255 164
-197 255 164
-205 255 164
-222 255 164
-230 255 164
-238 255 164
-246 255 164
-255 255 164
diff --git a/graphics/misc/sunny_day/71.pal b/graphics/misc/sunny_day/71.pal
deleted file mode 100644
index 3e7ca2368..000000000
--- a/graphics/misc/sunny_day/71.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 180
-24 0 180
-49 0 180
-74 0 180
-98 0 180
-123 0 180
-156 0 180
-180 0 180
-197 0 172
-213 0 172
-230 0 164
-255 0 156
-255 8 156
-255 24 156
-255 41 148
-255 65 156
-0 24 180
-16 16 180
-41 16 180
-65 16 180
-98 16 180
-123 16 180
-148 16 180
-180 16 180
-197 16 172
-213 16 164
-238 8 164
-246 16 156
-246 32 148
-255 49 148
-255 65 156
-255 82 156
-0 49 180
-16 41 180
-41 41 172
-65 41 172
-90 41 172
-115 41 172
-148 41 172
-172 41 172
-197 32 164
-213 32 164
-222 41 156
-230 49 156
-238 65 148
-246 82 156
-255 82 156
-255 98 164
-0 74 180
-16 74 180
-41 65 172
-57 57 172
-90 57 172
-115 57 172
-139 57 172
-172 57 172
-189 57 164
-205 57 156
-213 65 156
-222 74 148
-230 90 156
-246 98 156
-255 98 156
-255 115 164
-0 106 180
-16 98 180
-41 90 172
-57 90 172
-82 82 164
-106 82 164
-139 82 164
-164 82 164
-180 82 156
-197 90 148
-205 90 148
-213 106 156
-230 106 156
-246 115 156
-255 115 164
-255 131 172
-0 131 180
-16 123 180
-41 123 172
-57 115 172
-82 106 164
-98 98 164
-131 98 164
-164 98 164
-172 106 148
-189 106 148
-205 123 156
-213 123 156
-230 123 156
-246 131 156
-255 139 164
-255 148 172
-0 156 180
-16 148 180
-41 148 172
-57 139 172
-82 139 164
-98 131 164
-123 123 156
-156 123 156
-172 123 148
-189 139 156
-205 139 156
-213 139 156
-230 148 156
-246 148 164
-255 156 164
-255 164 180
-0 180 180
-16 180 180
-41 172 172
-57 172 172
-82 164 164
-98 164 164
-123 156 156
-156 139 139
-172 148 148
-189 148 148
-205 156 156
-222 156 156
-230 164 164
-246 164 164
-255 172 172
-255 180 180
-0 197 172
-16 197 172
-32 197 164
-57 189 164
-82 180 156
-106 172 148
-123 172 148
-148 172 148
-172 172 148
-189 172 148
-205 172 156
-222 172 156
-230 172 164
-246 180 164
-255 180 172
-255 197 180
-0 213 164
-16 213 164
-32 213 156
-57 205 156
-90 197 148
-106 189 148
-139 189 156
-148 189 148
-172 189 148
-189 189 148
-205 189 156
-222 189 156
-230 189 164
-246 189 164
-255 197 172
-255 205 180
-0 230 156
-8 238 156
-41 222 156
-65 213 148
-90 205 148
-123 205 156
-139 205 156
-156 205 156
-172 205 156
-189 205 156
-205 205 156
-222 205 156
-230 205 164
-246 205 164
-255 205 172
-255 213 180
-0 255 156
-16 246 148
-49 230 148
-74 222 148
-106 213 156
-123 213 156
-139 213 156
-156 222 156
-172 222 156
-189 222 156
-205 222 156
-222 222 156
-230 213 164
-246 213 164
-255 222 172
-255 222 180
-8 255 148
-32 246 148
-65 238 148
-90 230 156
-106 230 156
-123 230 156
-148 230 156
-164 230 164
-172 230 164
-189 230 164
-205 230 164
-213 230 164
-230 230 164
-246 230 164
-255 230 172
-255 230 180
-24 255 148
-49 255 148
-82 246 156
-98 246 156
-115 246 156
-131 246 156
-148 246 164
-164 246 164
-180 246 164
-189 246 164
-205 246 164
-213 246 164
-230 246 164
-246 246 164
-255 246 172
-255 238 180
-41 255 148
-65 255 156
-82 255 156
-98 255 156
-115 255 156
-139 255 164
-156 255 164
-172 255 172
-180 255 172
-197 255 172
-205 255 172
-222 255 172
-230 255 172
-246 255 172
-255 255 172
-255 246 180
-65 255 156
-82 255 156
-98 255 156
-115 255 164
-131 255 164
-148 255 172
-164 255 180
-180 255 180
-197 255 180
-205 255 180
-213 255 180
-222 255 180
-230 255 180
-238 255 180
-246 255 180
-255 255 180
diff --git a/graphics/misc/sunny_day/72.pal b/graphics/misc/sunny_day/72.pal
deleted file mode 100644
index e5109a114..000000000
--- a/graphics/misc/sunny_day/72.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 197
-16 0 197
-49 0 197
-74 0 197
-98 0 197
-123 0 197
-148 0 197
-172 0 197
-197 0 197
-213 0 197
-230 0 189
-255 0 180
-255 8 172
-255 24 164
-255 41 164
-255 65 172
-0 24 197
-16 16 197
-41 16 197
-65 16 197
-90 16 197
-115 16 197
-139 16 197
-172 16 197
-197 16 197
-213 16 189
-238 8 189
-246 16 180
-246 32 172
-255 49 164
-255 65 172
-255 82 172
-0 49 197
-16 41 197
-32 32 197
-57 32 197
-82 32 197
-115 32 197
-139 32 197
-164 32 197
-197 32 197
-213 32 189
-222 41 180
-230 49 172
-238 65 164
-246 82 172
-255 82 172
-255 98 172
-0 74 197
-16 74 197
-32 65 197
-57 57 189
-82 57 189
-106 57 189
-131 57 189
-164 57 189
-189 57 189
-205 57 180
-213 65 172
-222 74 164
-230 90 172
-246 98 172
-255 98 172
-255 115 172
-0 98 197
-16 90 197
-32 90 197
-57 82 189
-82 82 180
-106 82 180
-131 82 180
-156 82 180
-180 82 180
-197 90 172
-205 90 164
-213 106 172
-230 106 172
-246 115 172
-255 115 172
-255 131 180
-0 123 197
-16 123 197
-32 115 197
-57 106 189
-82 106 180
-106 106 172
-131 106 172
-148 106 172
-172 106 172
-189 106 172
-205 123 172
-213 123 172
-230 123 172
-246 131 172
-255 139 172
-255 148 180
-0 148 197
-16 148 197
-32 139 197
-57 139 189
-82 131 180
-106 131 172
-123 123 172
-148 123 172
-172 123 172
-189 139 172
-205 139 172
-213 139 172
-230 148 172
-246 148 180
-255 156 180
-255 164 189
-0 172 197
-16 172 197
-32 164 197
-57 164 189
-82 156 180
-106 148 172
-123 148 172
-148 148 172
-172 148 172
-189 148 172
-205 156 172
-222 156 172
-230 164 172
-246 164 180
-255 172 180
-255 180 197
-0 197 197
-16 197 197
-32 197 197
-57 189 189
-82 180 180
-106 172 172
-123 172 172
-148 172 172
-180 164 164
-189 164 164
-205 172 172
-222 172 172
-230 180 180
-246 180 180
-255 189 189
-255 213 213
-0 213 189
-16 213 189
-32 213 189
-57 205 180
-90 197 172
-106 189 172
-139 189 172
-148 189 172
-164 189 164
-189 189 164
-205 189 172
-222 189 172
-230 189 180
-246 197 180
-255 197 189
-255 222 213
-0 230 180
-8 238 180
-41 222 180
-65 213 172
-90 205 164
-123 205 172
-139 205 172
-156 205 172
-172 205 172
-189 205 172
-205 205 172
-222 205 172
-230 205 180
-246 205 180
-255 213 189
-255 222 213
-0 255 180
-16 246 172
-49 230 164
-74 222 164
-106 213 172
-123 213 172
-139 213 172
-156 222 172
-172 222 172
-189 222 172
-205 222 172
-222 222 172
-230 222 180
-246 222 180
-255 222 189
-255 230 213
-8 255 172
-32 246 164
-65 238 164
-90 230 172
-106 230 172
-123 230 172
-148 230 172
-164 230 172
-180 230 180
-189 230 180
-205 230 180
-222 230 180
-230 230 180
-246 230 180
-255 230 189
-255 238 213
-24 255 164
-49 255 164
-82 246 164
-98 246 172
-115 246 172
-131 246 172
-148 246 172
-164 246 180
-180 246 180
-197 246 180
-205 246 180
-222 246 180
-230 246 180
-246 246 180
-255 246 189
-255 246 213
-41 255 164
-65 255 172
-82 255 172
-98 255 172
-115 255 172
-139 255 172
-156 255 180
-172 255 180
-189 255 189
-197 255 189
-213 255 189
-222 255 189
-230 255 189
-246 255 189
-255 255 189
-255 255 213
-65 255 164
-82 255 172
-98 255 172
-115 255 172
-131 255 180
-148 255 180
-164 255 189
-180 255 197
-213 255 213
-222 255 213
-230 255 213
-230 255 213
-238 255 213
-246 255 213
-255 255 213
-255 255 213
diff --git a/graphics/misc/sunny_day/73.pal b/graphics/misc/sunny_day/73.pal
deleted file mode 100644
index 07b6ba465..000000000
--- a/graphics/misc/sunny_day/73.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 213
-16 0 213
-41 0 213
-65 0 213
-90 0 213
-115 0 213
-139 0 213
-164 0 213
-189 0 213
-213 0 213
-230 0 213
-255 0 205
-255 8 197
-255 24 189
-255 41 180
-255 65 180
-0 24 213
-16 16 213
-41 16 213
-65 16 213
-90 16 213
-115 16 213
-139 16 213
-164 16 213
-189 16 213
-213 16 213
-238 8 213
-246 16 197
-246 32 189
-255 49 180
-255 65 189
-255 82 189
-0 49 213
-16 41 213
-32 32 213
-57 32 213
-82 32 213
-106 32 213
-131 32 213
-156 32 213
-189 32 213
-213 32 213
-222 41 205
-230 49 189
-238 65 180
-246 82 180
-255 82 189
-255 98 189
-0 65 213
-16 65 213
-32 57 213
-57 57 205
-82 57 205
-106 57 205
-131 57 205
-156 57 205
-180 57 205
-205 57 205
-213 65 197
-222 74 180
-230 90 189
-246 98 189
-255 98 189
-255 115 189
-0 98 213
-16 90 213
-32 90 213
-57 82 205
-90 90 197
-106 90 197
-131 90 197
-148 90 197
-172 90 197
-197 90 197
-205 90 189
-213 106 189
-230 106 189
-246 115 189
-255 115 189
-255 131 189
-0 123 213
-16 115 213
-32 115 213
-57 106 205
-90 106 197
-106 106 189
-131 106 189
-148 106 189
-172 106 189
-189 106 189
-205 123 189
-213 123 189
-230 123 189
-246 131 189
-255 139 189
-255 148 197
-0 139 213
-16 139 213
-32 139 213
-57 131 205
-90 131 197
-106 131 189
-139 139 189
-156 139 189
-172 139 189
-189 139 189
-205 139 189
-213 139 189
-230 148 189
-246 148 189
-255 156 189
-255 164 197
-0 172 213
-16 164 213
-32 164 213
-57 156 205
-90 148 197
-106 148 189
-139 156 189
-148 148 189
-172 148 189
-189 148 189
-205 156 189
-222 156 189
-230 164 189
-246 164 189
-255 172 197
-255 180 205
-0 197 213
-16 189 213
-32 189 213
-57 180 205
-90 172 197
-106 172 189
-139 172 189
-148 172 189
-164 164 189
-189 164 189
-205 172 189
-222 172 189
-230 180 189
-246 180 197
-255 189 197
-255 213 222
-0 213 213
-16 213 213
-32 213 213
-57 205 205
-90 197 197
-106 189 189
-139 189 189
-148 189 189
-164 189 189
-197 180 180
-205 189 189
-222 189 189
-230 197 197
-246 197 197
-255 213 213
-255 230 230
-0 230 205
-8 238 213
-41 222 197
-65 213 189
-90 205 180
-123 205 189
-139 205 189
-156 205 189
-172 205 189
-189 205 189
-205 205 189
-222 205 189
-230 205 197
-246 213 197
-255 222 213
-255 230 230
-0 255 197
-16 246 197
-49 230 189
-74 222 180
-106 213 180
-123 213 180
-139 213 189
-156 222 189
-172 222 189
-189 222 189
-205 222 189
-222 222 189
-230 222 197
-246 222 197
-255 230 213
-255 238 230
-8 255 197
-32 246 189
-65 238 180
-90 230 180
-106 230 189
-123 230 189
-148 230 189
-164 230 189
-180 230 189
-197 230 197
-205 230 197
-222 230 197
-230 230 197
-246 230 197
-255 238 213
-255 246 230
-24 255 180
-49 255 180
-82 246 180
-98 246 180
-115 246 189
-131 246 189
-148 246 189
-164 246 189
-180 246 197
-197 246 197
-213 246 197
-222 246 197
-230 246 197
-246 246 197
-255 246 213
-255 246 230
-41 255 180
-65 255 180
-82 255 180
-98 255 180
-115 255 189
-139 255 189
-156 255 189
-172 255 197
-189 255 197
-213 255 213
-222 255 213
-230 255 213
-238 255 213
-246 255 213
-255 255 213
-255 255 230
-65 255 180
-82 255 180
-98 255 180
-115 255 189
-131 255 189
-148 255 189
-164 255 197
-180 255 205
-213 255 222
-230 255 230
-230 255 230
-238 255 230
-246 255 230
-246 255 230
-255 255 230
-255 255 230
diff --git a/graphics/misc/sunny_day/74.pal b/graphics/misc/sunny_day/74.pal
deleted file mode 100644
index f77fe0534..000000000
--- a/graphics/misc/sunny_day/74.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 230
-16 0 230
-41 0 230
-65 0 230
-90 0 230
-115 0 230
-131 0 230
-156 0 230
-180 0 230
-205 0 230
-230 0 230
-255 0 230
-255 8 213
-255 24 205
-255 41 197
-255 65 197
-0 16 230
-8 8 238
-32 8 238
-57 8 238
-82 8 238
-106 8 238
-131 8 238
-156 8 238
-180 8 238
-213 8 238
-238 8 238
-246 16 222
-246 32 205
-255 49 197
-255 65 197
-255 82 197
-0 41 230
-8 32 238
-41 41 222
-57 41 222
-82 41 222
-106 41 222
-131 41 222
-156 41 222
-180 41 222
-197 41 222
-222 41 222
-230 49 213
-238 65 197
-246 82 197
-255 82 197
-255 98 197
-0 65 230
-8 65 238
-41 65 222
-65 65 213
-90 65 213
-106 65 213
-131 65 213
-148 65 213
-172 65 213
-189 65 213
-213 65 213
-222 74 205
-230 90 205
-246 98 197
-255 98 197
-255 115 197
-0 90 230
-8 82 238
-41 82 222
-65 90 213
-90 90 205
-106 90 205
-131 90 205
-148 90 205
-164 90 205
-180 90 205
-205 90 205
-213 106 205
-230 106 197
-246 115 197
-255 115 205
-255 131 205
-0 115 230
-8 115 238
-41 106 222
-65 115 213
-90 115 205
-123 123 205
-139 123 205
-156 123 205
-172 123 205
-189 123 205
-205 123 205
-213 123 205
-230 123 205
-246 131 205
-255 139 205
-255 148 205
-0 139 230
-8 139 238
-41 131 222
-65 131 213
-90 131 205
-123 139 205
-139 139 205
-156 139 205
-172 139 205
-189 139 205
-205 139 205
-213 139 205
-230 148 205
-246 148 205
-255 156 205
-255 164 205
-0 164 230
-8 164 238
-41 156 222
-65 156 213
-90 148 205
-123 156 205
-139 156 205
-156 156 205
-172 156 205
-189 156 205
-205 156 205
-222 156 205
-230 164 205
-246 164 205
-255 172 205
-255 180 213
-0 189 230
-8 189 238
-41 180 222
-65 172 213
-90 164 205
-123 172 205
-139 172 205
-156 172 205
-172 172 205
-189 172 205
-205 172 205
-222 172 205
-230 180 205
-246 180 205
-255 189 213
-255 213 230
-0 213 230
-8 213 238
-41 205 222
-65 197 213
-90 189 205
-123 189 205
-139 189 205
-156 189 205
-172 189 205
-189 189 205
-205 189 205
-222 189 205
-230 197 205
-246 197 213
-255 213 222
-255 230 230
-0 230 230
-8 238 238
-41 222 222
-65 213 213
-90 205 205
-123 205 205
-139 205 205
-156 205 205
-172 205 205
-189 205 205
-205 197 197
-222 205 205
-238 205 205
-246 222 222
-255 230 230
-255 246 246
-0 255 222
-16 246 222
-49 230 205
-74 222 197
-106 213 197
-123 213 197
-139 213 197
-156 222 205
-172 222 205
-189 222 205
-205 222 205
-222 222 205
-238 222 205
-246 230 222
-255 238 230
-255 246 246
-8 255 213
-32 246 205
-65 238 197
-90 230 197
-106 230 197
-123 230 197
-148 230 197
-164 230 205
-180 230 205
-197 230 205
-205 238 205
-222 238 205
-238 238 205
-246 238 222
-255 246 230
-255 255 246
-24 255 197
-49 255 197
-82 246 197
-98 246 197
-115 246 197
-131 246 197
-148 246 205
-164 246 205
-180 246 205
-197 246 213
-222 246 222
-230 246 222
-238 246 222
-246 246 222
-255 246 230
-255 255 246
-41 255 189
-65 255 197
-82 255 197
-98 255 197
-115 255 197
-139 255 205
-156 255 205
-172 255 205
-189 255 213
-213 255 222
-230 255 230
-238 255 230
-246 255 230
-246 255 230
-255 255 230
-255 255 246
-65 255 189
-82 255 197
-98 255 197
-115 255 197
-131 255 197
-148 255 205
-164 255 205
-180 255 213
-213 255 222
-230 255 230
-246 255 246
-246 255 246
-255 255 246
-255 255 246
-255 255 246
-255 255 246
diff --git a/graphics/misc/sunny_day/75.pal b/graphics/misc/sunny_day/75.pal
deleted file mode 100644
index 98e07acb6..000000000
--- a/graphics/misc/sunny_day/75.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 255
-16 0 255
-41 0 255
-65 0 255
-82 0 255
-106 0 255
-131 0 255
-156 0 255
-180 0 255
-197 0 255
-222 0 255
-255 0 255
-255 8 238
-255 24 222
-255 41 213
-255 65 205
-0 24 255
-16 16 246
-32 16 246
-57 16 246
-82 16 246
-106 16 246
-131 16 246
-148 16 246
-172 16 246
-197 16 246
-222 16 246
-246 16 246
-246 32 230
-255 49 213
-255 65 213
-255 82 205
-0 41 255
-16 41 246
-49 49 230
-65 49 230
-90 49 230
-106 49 230
-131 49 230
-148 49 230
-164 49 230
-189 49 230
-205 49 230
-230 49 230
-238 65 222
-246 82 213
-255 82 213
-255 98 213
-0 65 255
-16 65 246
-49 74 230
-74 74 222
-90 74 222
-115 74 222
-131 74 222
-148 74 222
-164 74 222
-180 74 222
-197 74 222
-222 74 222
-230 90 213
-246 98 213
-255 98 213
-255 115 213
-0 90 255
-16 82 246
-49 90 230
-74 98 222
-106 106 213
-123 106 213
-139 106 213
-156 106 213
-172 106 213
-180 106 213
-197 106 213
-213 106 213
-230 106 213
-246 115 213
-255 115 213
-255 131 213
-0 115 255
-16 106 246
-49 106 230
-74 115 222
-106 123 213
-123 123 213
-139 123 213
-156 123 213
-172 123 213
-180 123 213
-197 123 213
-213 123 213
-230 123 213
-246 131 213
-255 139 213
-255 148 213
-0 139 255
-16 131 246
-49 131 230
-74 131 222
-106 139 213
-123 139 213
-139 139 213
-156 139 213
-172 139 213
-189 139 213
-197 139 213
-213 139 213
-230 148 213
-246 148 213
-255 156 222
-255 164 222
-0 156 255
-16 156 246
-49 156 230
-74 148 222
-106 156 213
-123 156 213
-139 156 213
-156 156 222
-172 156 222
-189 156 222
-205 156 222
-222 156 222
-230 164 213
-246 164 213
-255 172 222
-255 180 222
-0 180 255
-16 180 246
-49 172 230
-74 164 222
-106 172 213
-123 172 213
-139 172 213
-156 172 222
-172 172 222
-189 172 222
-205 172 222
-222 172 222
-230 180 222
-246 180 222
-255 189 222
-255 213 230
-0 205 255
-16 197 246
-49 189 230
-74 180 222
-106 189 213
-123 189 213
-139 189 213
-156 189 222
-172 189 222
-189 189 222
-205 189 222
-222 189 222
-230 197 222
-246 197 222
-255 213 230
-255 230 238
-0 230 255
-16 222 246
-49 213 230
-74 205 222
-106 205 213
-123 205 213
-139 205 213
-156 205 222
-172 205 222
-189 205 222
-205 205 222
-222 205 222
-238 205 222
-246 222 230
-255 230 238
-255 246 246
-0 255 255
-16 246 246
-49 230 230
-74 222 222
-106 213 213
-123 213 213
-139 213 213
-156 222 222
-172 222 222
-189 222 222
-205 222 222
-222 222 222
-238 230 230
-246 238 238
-255 246 246
-255 255 255
-8 255 230
-32 246 230
-65 238 213
-90 230 213
-106 230 213
-123 230 213
-148 230 213
-164 230 213
-180 230 222
-197 230 222
-205 238 222
-230 238 230
-238 238 230
-246 246 238
-255 246 246
-255 255 255
-24 255 222
-49 255 213
-82 246 213
-98 246 213
-115 246 213
-131 246 213
-148 246 213
-164 246 213
-180 246 222
-197 246 222
-222 246 230
-238 246 238
-246 246 238
-246 246 238
-255 255 246
-255 255 255
-41 255 213
-65 255 213
-82 255 213
-98 255 213
-115 255 213
-139 255 213
-156 255 213
-172 255 222
-189 255 222
-213 255 230
-230 255 238
-246 255 246
-255 255 246
-255 255 246
-255 255 246
-255 255 255
-65 255 205
-82 255 205
-98 255 205
-115 255 205
-131 255 213
-148 255 213
-164 255 222
-180 255 222
-213 255 230
-230 255 238
-246 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/76.pal b/graphics/misc/sunny_day/76.pal
deleted file mode 100644
index 4c9939c5e..000000000
--- a/graphics/misc/sunny_day/76.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 255
-24 8 255
-41 8 255
-65 8 255
-82 8 255
-106 8 255
-131 8 255
-148 8 255
-172 8 255
-197 8 255
-213 8 255
-230 8 255
-255 8 255
-255 24 246
-255 41 230
-255 65 222
-8 24 255
-32 32 246
-49 32 246
-65 32 246
-90 32 246
-106 32 246
-131 32 246
-148 32 246
-164 32 246
-189 32 246
-205 32 246
-230 32 246
-246 32 246
-255 49 238
-255 65 230
-255 82 222
-8 49 255
-32 49 246
-65 65 238
-74 65 238
-90 65 238
-115 65 238
-131 65 238
-148 65 238
-164 65 238
-180 65 238
-197 65 238
-213 65 238
-238 65 238
-246 82 230
-255 82 230
-255 98 222
-8 65 255
-32 74 246
-65 82 238
-90 90 230
-106 90 230
-123 90 230
-139 90 230
-156 90 230
-172 90 230
-180 90 230
-197 90 230
-213 90 230
-230 90 230
-246 98 230
-255 98 230
-255 115 222
-8 90 255
-32 90 246
-65 98 238
-90 106 230
-106 106 230
-123 106 230
-139 106 230
-156 106 230
-172 106 230
-189 106 230
-197 106 230
-213 106 230
-230 106 230
-246 115 230
-255 115 230
-255 131 222
-8 106 255
-32 115 246
-65 115 238
-90 123 230
-106 123 230
-123 123 230
-139 123 230
-156 123 230
-172 123 230
-189 123 230
-197 123 230
-213 123 230
-230 123 230
-246 131 230
-255 139 230
-255 148 230
-8 131 255
-32 131 246
-65 131 238
-90 139 230
-106 139 230
-123 139 230
-148 148 230
-156 148 230
-172 148 230
-189 148 230
-197 148 230
-213 148 230
-230 148 230
-246 148 230
-255 156 230
-255 164 230
-8 156 255
-32 148 246
-65 148 238
-90 156 230
-106 156 230
-123 156 230
-148 156 230
-164 164 230
-172 164 230
-189 164 230
-205 164 230
-213 164 230
-230 164 230
-246 164 230
-255 172 230
-255 180 230
-8 172 255
-32 172 246
-65 164 238
-90 172 230
-106 172 230
-123 172 230
-148 172 230
-164 172 230
-180 180 230
-189 180 230
-205 180 230
-222 180 230
-230 180 230
-246 180 230
-255 189 230
-255 213 238
-8 197 255
-32 189 246
-65 180 238
-90 189 230
-106 189 230
-123 189 230
-148 189 230
-164 189 230
-180 189 230
-197 197 230
-205 197 230
-222 197 230
-230 197 230
-246 197 230
-255 213 238
-255 230 246
-8 213 255
-32 205 246
-65 197 238
-90 205 230
-106 197 230
-123 205 230
-148 205 230
-164 205 230
-180 205 230
-197 205 230
-205 205 238
-222 205 238
-238 205 238
-246 222 238
-255 230 246
-255 246 255
-8 238 255
-32 230 246
-65 222 238
-90 213 230
-106 213 230
-123 213 230
-148 213 230
-164 213 230
-180 222 230
-197 222 230
-205 222 238
-230 230 238
-238 230 238
-246 238 246
-255 246 255
-255 255 255
-8 255 255
-32 246 246
-65 238 238
-90 230 230
-106 230 230
-123 230 230
-148 230 230
-164 230 230
-180 230 230
-197 230 230
-205 238 238
-230 238 238
-246 246 246
-255 246 246
-255 255 255
-255 255 255
-24 255 238
-49 255 230
-82 246 230
-98 246 230
-115 246 230
-131 246 230
-148 246 230
-164 246 230
-180 246 230
-197 246 230
-222 246 238
-238 246 246
-246 255 246
-255 255 246
-255 255 255
-255 255 255
-41 255 222
-65 255 230
-82 255 230
-98 255 230
-115 255 230
-139 255 230
-156 255 230
-172 255 230
-189 255 230
-213 255 238
-230 255 246
-246 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 255 213
-82 255 222
-98 255 222
-115 255 222
-131 255 222
-148 255 222
-164 255 230
-180 255 230
-213 255 238
-230 255 246
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/77.pal b/graphics/misc/sunny_day/77.pal
deleted file mode 100644
index dbd7b65fd..000000000
--- a/graphics/misc/sunny_day/77.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-24 24 255
-41 24 255
-57 24 255
-74 24 255
-90 24 255
-106 24 255
-131 24 255
-148 24 255
-164 24 255
-180 24 255
-197 24 255
-222 24 255
-238 24 255
-255 24 255
-255 41 246
-255 65 230
-24 41 255
-49 49 255
-57 49 255
-74 49 255
-98 49 255
-106 49 255
-131 49 255
-148 49 255
-164 49 255
-180 49 255
-197 49 255
-213 49 255
-230 49 255
-255 49 255
-255 65 246
-255 82 238
-24 57 255
-49 65 255
-82 82 246
-90 82 246
-106 82 246
-123 82 246
-139 82 246
-156 82 246
-164 82 246
-180 82 246
-197 82 246
-213 82 246
-230 82 246
-246 82 246
-255 82 246
-255 98 238
-24 74 255
-49 82 255
-82 98 246
-98 98 246
-106 98 246
-123 98 246
-139 98 246
-156 98 246
-172 98 246
-180 98 246
-197 98 246
-213 98 246
-230 98 246
-246 98 246
-255 98 246
-255 115 238
-24 98 255
-49 98 255
-82 106 246
-98 115 246
-115 115 246
-131 115 246
-139 115 246
-156 115 246
-172 115 246
-189 115 246
-197 115 246
-213 115 246
-230 115 246
-246 115 246
-255 115 246
-255 131 238
-24 115 255
-49 115 255
-82 123 246
-98 123 246
-115 131 246
-131 131 246
-148 131 246
-156 131 246
-172 131 246
-189 131 246
-197 131 246
-213 131 246
-230 131 246
-246 131 246
-255 139 246
-255 148 238
-24 131 255
-49 131 255
-82 139 246
-98 139 246
-115 148 246
-131 148 246
-148 148 246
-164 148 246
-172 148 246
-189 148 246
-205 148 246
-213 148 246
-230 148 246
-246 148 246
-255 156 246
-255 164 238
-24 156 255
-49 148 255
-82 156 246
-98 156 246
-115 156 246
-131 156 246
-148 164 246
-164 164 246
-180 164 246
-189 164 246
-205 164 246
-213 164 246
-230 164 246
-246 164 246
-255 172 246
-255 180 238
-24 164 255
-49 164 255
-82 172 246
-98 172 246
-115 172 246
-131 172 246
-148 180 246
-164 180 246
-180 180 246
-197 180 246
-205 180 246
-222 180 246
-230 180 246
-246 180 246
-255 189 246
-255 213 246
-24 189 255
-49 180 255
-82 180 246
-98 189 246
-115 189 246
-131 189 246
-148 189 246
-164 189 246
-180 197 246
-197 197 246
-213 197 246
-222 197 246
-230 197 246
-246 197 246
-255 213 246
-255 230 246
-24 205 255
-49 197 255
-82 197 246
-98 197 246
-115 197 246
-131 205 246
-148 205 246
-164 205 246
-180 205 246
-197 213 246
-222 222 246
-230 222 246
-238 222 246
-246 222 246
-255 230 246
-255 246 255
-24 222 255
-49 213 255
-82 213 246
-98 213 246
-115 213 246
-131 213 246
-148 213 246
-164 213 246
-180 222 246
-197 222 246
-222 230 246
-238 238 246
-246 238 246
-246 238 246
-255 246 255
-255 255 255
-24 246 255
-49 238 255
-82 230 246
-98 230 246
-115 230 246
-131 230 246
-148 230 246
-164 230 246
-180 230 246
-197 230 246
-222 238 246
-238 246 246
-246 246 255
-255 246 255
-255 255 255
-255 255 255
-24 255 255
-49 255 255
-82 246 246
-98 246 246
-115 246 246
-131 246 246
-148 246 246
-164 246 246
-180 246 246
-197 246 246
-222 246 246
-238 246 246
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-41 255 238
-65 255 246
-82 255 238
-98 255 238
-115 255 238
-139 255 238
-156 255 238
-172 255 246
-189 255 246
-213 255 246
-230 255 246
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 255 230
-82 255 230
-98 255 230
-115 255 230
-131 255 230
-148 255 238
-164 255 238
-180 255 238
-213 255 246
-230 255 246
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/78.pal b/graphics/misc/sunny_day/78.pal
deleted file mode 100644
index dcee38d72..000000000
--- a/graphics/misc/sunny_day/78.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-41 41 255
-49 41 255
-65 41 255
-82 41 255
-98 41 255
-115 41 255
-131 41 255
-148 41 255
-164 41 255
-180 41 255
-189 41 255
-213 41 255
-222 41 255
-238 41 255
-255 41 255
-255 65 246
-41 57 255
-65 65 255
-82 65 255
-98 65 255
-106 65 255
-123 65 255
-139 65 255
-156 65 255
-172 65 255
-180 65 255
-197 65 255
-213 65 255
-230 65 255
-246 65 255
-255 65 255
-255 82 246
-41 74 255
-65 82 255
-82 82 255
-98 82 255
-106 82 255
-123 82 255
-139 82 255
-156 82 255
-172 82 255
-180 82 255
-197 82 255
-213 82 255
-230 82 255
-238 82 255
-255 82 255
-255 98 246
-41 90 255
-65 98 255
-82 98 255
-98 98 255
-115 98 255
-123 98 255
-139 98 255
-156 98 255
-172 98 255
-180 98 255
-197 98 255
-213 98 255
-230 98 255
-238 98 255
-255 98 255
-255 115 246
-41 106 255
-65 115 255
-82 115 255
-98 115 255
-115 115 255
-131 115 255
-148 115 255
-156 115 255
-172 115 255
-189 115 255
-197 115 255
-213 115 255
-230 115 255
-238 115 255
-255 115 255
-255 131 246
-41 123 255
-65 123 255
-82 123 255
-98 131 255
-115 131 255
-139 139 255
-148 139 255
-164 139 255
-172 139 255
-189 139 255
-205 139 255
-213 139 255
-230 139 255
-238 139 255
-255 139 255
-255 148 246
-41 131 255
-65 139 255
-82 139 255
-98 148 255
-115 148 255
-139 148 255
-156 156 255
-164 156 255
-180 156 255
-189 156 255
-205 156 255
-213 156 255
-230 156 255
-238 156 255
-255 156 255
-255 164 246
-41 148 255
-65 156 255
-82 156 255
-98 156 255
-115 164 255
-139 164 255
-156 164 255
-172 172 255
-180 172 255
-197 172 255
-205 172 255
-222 172 255
-230 172 255
-246 172 255
-255 172 255
-255 180 246
-41 164 255
-65 172 255
-82 172 255
-98 172 255
-115 172 255
-139 172 255
-156 180 255
-172 180 255
-189 189 255
-197 189 255
-213 189 255
-222 189 255
-230 189 255
-246 189 255
-255 189 255
-255 213 255
-41 180 255
-65 189 255
-82 189 255
-98 189 255
-115 189 255
-139 189 255
-156 189 255
-172 197 255
-189 197 255
-213 213 255
-222 213 255
-230 213 255
-238 213 255
-246 213 255
-255 213 255
-255 230 255
-41 197 255
-65 197 255
-82 197 255
-98 197 255
-115 205 255
-139 205 255
-156 205 255
-172 205 255
-189 213 255
-213 222 255
-230 230 255
-238 230 255
-246 230 255
-246 230 255
-255 230 255
-255 246 255
-41 213 255
-65 213 255
-82 213 255
-98 213 255
-115 213 255
-139 213 255
-156 222 255
-172 222 255
-189 222 255
-213 230 255
-230 238 255
-246 246 255
-246 246 255
-255 246 255
-255 246 255
-255 255 255
-41 230 255
-65 230 255
-82 230 255
-98 230 255
-115 230 255
-139 230 255
-156 230 255
-172 230 255
-189 230 255
-213 238 255
-230 246 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-41 246 255
-65 246 255
-82 246 255
-98 246 255
-115 246 255
-139 246 255
-156 246 255
-172 246 255
-189 246 255
-213 246 255
-230 246 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-41 255 255
-65 255 255
-82 255 255
-98 255 255
-115 255 255
-139 255 255
-156 255 255
-172 255 255
-189 255 255
-213 255 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 255 246
-82 255 246
-98 255 246
-115 255 246
-131 255 246
-148 255 246
-164 255 246
-180 255 246
-213 255 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/79.pal b/graphics/misc/sunny_day/79.pal
deleted file mode 100644
index bbcd359c5..000000000
--- a/graphics/misc/sunny_day/79.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-65 65 255
-74 65 255
-90 65 255
-98 65 255
-115 65 255
-123 65 255
-139 65 255
-156 65 255
-164 65 255
-180 65 255
-189 65 255
-205 65 255
-213 65 255
-230 65 255
-246 65 255
-255 65 255
-65 82 255
-82 82 255
-98 82 255
-106 82 255
-115 82 255
-131 82 255
-148 82 255
-156 82 255
-172 82 255
-180 82 255
-197 82 255
-205 82 255
-222 82 255
-230 82 255
-246 82 255
-255 82 255
-65 90 255
-82 98 255
-98 98 255
-106 98 255
-123 98 255
-131 98 255
-148 98 255
-156 98 255
-172 98 255
-180 98 255
-197 98 255
-205 98 255
-222 98 255
-230 98 255
-246 98 255
-255 98 255
-65 106 255
-82 106 255
-98 115 255
-115 115 255
-123 115 255
-139 115 255
-156 115 255
-164 115 255
-172 115 255
-189 115 255
-197 115 255
-205 115 255
-222 115 255
-230 115 255
-246 115 255
-255 115 255
-65 115 255
-82 123 255
-98 123 255
-115 131 255
-131 131 255
-148 131 255
-156 131 255
-164 131 255
-180 131 255
-189 131 255
-197 131 255
-213 131 255
-222 131 255
-230 131 255
-246 131 255
-255 131 255
-65 131 255
-82 139 255
-98 139 255
-115 139 255
-131 148 255
-148 148 255
-156 148 255
-172 148 255
-180 148 255
-189 148 255
-205 148 255
-213 148 255
-222 148 255
-238 148 255
-246 148 255
-255 148 255
-65 139 255
-82 148 255
-98 148 255
-115 156 255
-131 156 255
-148 164 255
-164 164 255
-180 164 255
-189 164 255
-197 164 255
-205 164 255
-222 164 255
-230 164 255
-238 164 255
-246 164 255
-255 164 255
-65 156 255
-82 156 255
-98 164 255
-115 164 255
-131 172 255
-148 172 255
-164 180 255
-180 180 255
-197 180 255
-205 180 255
-213 180 255
-222 180 255
-230 180 255
-238 180 255
-246 180 255
-255 180 255
-65 172 255
-82 172 255
-98 172 255
-115 172 255
-131 180 255
-148 180 255
-164 189 255
-180 197 255
-213 213 255
-222 213 255
-222 213 255
-230 213 255
-238 213 255
-246 213 255
-255 213 255
-255 213 255
-65 180 255
-82 189 255
-98 189 255
-115 189 255
-131 189 255
-148 197 255
-164 197 255
-180 205 255
-213 222 255
-230 230 255
-230 230 255
-238 230 255
-246 230 255
-246 230 255
-255 230 255
-255 230 255
-65 197 255
-82 197 255
-98 197 255
-115 197 255
-131 205 255
-148 205 255
-164 205 255
-180 213 255
-213 230 255
-230 230 255
-246 246 255
-246 246 255
-255 246 255
-255 246 255
-255 246 255
-255 246 255
-65 205 255
-82 205 255
-98 213 255
-115 213 255
-131 213 255
-148 213 255
-164 222 255
-180 222 255
-213 230 255
-230 238 255
-246 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 222 255
-82 222 255
-98 222 255
-115 222 255
-131 222 255
-148 230 255
-164 230 255
-180 230 255
-213 238 255
-230 246 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 230 255
-82 238 255
-98 238 255
-115 238 255
-131 238 255
-148 238 255
-164 238 255
-180 238 255
-213 246 255
-230 246 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 246 255
-82 246 255
-98 246 255
-115 246 255
-131 246 255
-148 246 255
-164 246 255
-180 246 255
-213 255 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-65 255 255
-82 255 255
-98 255 255
-115 255 255
-131 255 255
-148 255 255
-164 255 255
-180 255 255
-213 255 255
-230 255 255
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/8.pal b/graphics/misc/sunny_day/8.pal
deleted file mode 100644
index 1d05da74e..000000000
--- a/graphics/misc/sunny_day/8.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 156
-16 0 156
-41 0 156
-57 0 156
-74 0 156
-98 0 156
-115 0 156
-131 0 156
-156 0 156
-172 0 156
-189 0 148
-205 0 148
-222 0 148
-238 0 148
-255 0 148
-255 24 148
-0 24 156
-16 16 156
-41 16 156
-57 16 156
-74 16 156
-98 16 156
-115 16 156
-131 16 156
-156 16 156
-172 16 156
-189 16 148
-205 16 148
-222 16 148
-238 16 148
-246 32 156
-255 41 148
-0 41 156
-16 41 156
-32 32 148
-57 32 148
-74 32 148
-90 32 148
-115 32 148
-131 32 148
-148 32 148
-172 32 148
-189 32 148
-205 32 148
-222 32 148
-230 49 148
-246 49 148
-255 57 156
-0 57 156
-16 57 156
-32 57 148
-57 57 148
-74 57 148
-90 57 148
-106 57 148
-131 57 148
-148 57 148
-164 57 148
-189 49 148
-205 57 148
-213 65 148
-230 65 148
-246 65 156
-255 74 156
-0 74 156
-16 74 156
-32 74 148
-57 74 148
-74 74 148
-90 74 148
-115 74 148
-131 74 148
-148 74 148
-164 74 148
-180 74 148
-197 82 148
-213 82 148
-230 82 148
-246 82 148
-255 90 156
-0 98 156
-16 98 156
-32 90 148
-57 90 148
-74 90 148
-90 90 148
-106 90 148
-131 90 148
-148 90 148
-164 90 148
-180 98 148
-197 98 148
-213 98 148
-230 98 156
-246 106 148
-255 106 156
-0 115 156
-16 115 156
-32 115 148
-57 115 148
-74 115 148
-90 106 148
-106 106 148
-131 106 148
-148 106 148
-164 115 148
-180 115 148
-197 115 148
-213 115 148
-230 123 156
-246 123 156
-255 123 156
-0 139 156
-16 131 156
-32 131 148
-57 131 148
-74 131 148
-90 131 148
-106 131 148
-131 131 148
-148 131 148
-164 131 148
-180 139 148
-197 131 148
-213 139 156
-230 139 156
-246 139 156
-255 139 156
-0 156 156
-16 156 156
-32 148 148
-57 148 148
-74 148 148
-90 148 148
-106 148 148
-131 148 148
-148 148 148
-164 148 148
-180 156 156
-197 148 148
-213 156 156
-230 156 156
-246 156 156
-255 172 172
-0 172 148
-16 172 148
-32 172 148
-57 164 148
-74 164 148
-90 164 148
-115 164 148
-131 164 148
-148 164 148
-164 164 148
-180 164 156
-197 164 148
-213 172 156
-230 164 156
-246 172 156
-255 180 172
-0 189 148
-16 189 148
-32 189 148
-49 189 148
-74 180 148
-98 180 148
-115 180 148
-139 180 148
-156 180 156
-164 180 156
-180 180 156
-197 180 148
-213 180 156
-230 180 156
-246 180 156
-255 197 172
-0 205 148
-16 205 148
-32 205 148
-57 205 148
-82 197 148
-98 197 148
-115 197 148
-131 197 148
-148 197 148
-164 197 148
-180 197 148
-197 197 148
-213 197 156
-230 197 156
-246 197 156
-255 205 172
-0 222 148
-16 222 148
-32 222 139
-65 213 148
-82 213 148
-98 213 148
-115 213 148
-139 213 148
-156 213 156
-172 213 156
-180 213 156
-197 213 156
-213 213 156
-230 213 156
-246 213 156
-255 222 172
-0 238 148
-16 238 139
-49 230 148
-65 230 148
-82 230 148
-98 230 148
-123 230 148
-139 230 148
-156 230 156
-172 230 156
-180 230 156
-197 230 156
-213 230 156
-230 230 156
-246 230 156
-255 230 172
-0 255 148
-32 246 148
-49 246 148
-65 246 148
-82 246 148
-106 246 148
-123 246 156
-139 246 156
-156 246 156
-172 246 156
-189 246 156
-197 246 156
-213 246 156
-230 246 156
-246 246 156
-255 246 172
-24 255 148
-41 255 148
-57 255 148
-74 255 148
-90 255 148
-106 255 148
-123 255 156
-139 255 156
-172 255 172
-180 255 172
-197 255 172
-205 255 172
-222 255 172
-230 255 172
-246 255 172
-255 255 172
diff --git a/graphics/misc/sunny_day/80.pal b/graphics/misc/sunny_day/80.pal
deleted file mode 100644
index c5cbf6d01..000000000
--- a/graphics/misc/sunny_day/80.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 8
-24 8 8
-41 8 8
-57 8 8
-74 8 8
-90 8 8
-106 8 8
-197 0 0
-213 0 0
-230 0 0
-246 0 0
-255 0 0
-255 16 16
-255 32 32
-255 49 49
-255 74 74
-8 24 8
-24 24 8
-41 24 8
-57 24 8
-74 24 8
-90 24 8
-106 24 8
-197 24 0
-213 24 0
-230 16 0
-246 16 0
-255 16 0
-255 32 16
-255 49 32
-255 65 49
-255 82 74
-8 41 8
-24 41 8
-41 41 8
-57 41 8
-74 41 8
-90 41 8
-106 41 8
-197 49 0
-213 49 0
-230 49 0
-246 41 0
-255 41 0
-255 49 16
-255 65 32
-255 74 49
-255 98 74
-8 57 8
-24 57 8
-41 57 8
-57 57 8
-74 57 8
-90 57 8
-106 57 8
-197 82 0
-213 74 0
-230 65 0
-246 65 0
-255 65 0
-255 74 16
-255 82 32
-255 90 49
-255 106 74
-8 74 8
-24 74 8
-41 74 8
-57 74 8
-74 74 8
-90 74 8
-106 74 8
-197 106 0
-213 106 0
-230 98 0
-246 90 0
-255 90 0
-255 90 16
-255 98 32
-255 106 49
-255 123 74
-8 90 8
-24 90 8
-41 90 8
-57 90 8
-74 90 8
-90 90 8
-106 90 8
-197 131 0
-213 131 0
-230 123 0
-246 123 0
-255 115 0
-255 115 16
-255 115 32
-255 123 49
-255 131 74
-8 106 8
-24 106 8
-41 106 8
-57 106 8
-74 106 8
-90 106 8
-106 106 8
-197 164 0
-213 156 0
-230 148 0
-246 139 0
-255 139 0
-255 139 16
-255 131 32
-255 139 49
-255 148 74
-0 197 0
-24 197 0
-57 197 0
-82 197 0
-115 197 0
-139 197 0
-164 197 0
-197 197 0
-213 180 0
-230 172 0
-246 164 0
-255 156 0
-255 156 16
-255 156 32
-255 156 49
-255 156 74
-0 213 0
-24 213 0
-49 213 0
-74 213 0
-106 213 0
-131 213 0
-156 213 0
-189 213 0
-213 213 0
-230 197 0
-246 189 0
-255 189 0
-255 172 16
-255 164 32
-255 164 49
-255 172 74
-0 230 0
-24 230 0
-49 230 0
-74 230 0
-98 230 0
-123 230 0
-148 230 0
-180 230 0
-205 230 0
-230 230 0
-246 213 0
-255 205 0
-255 197 16
-255 189 32
-255 180 49
-255 180 74
-0 246 0
-24 246 0
-49 246 0
-74 246 0
-98 246 0
-123 246 0
-148 246 0
-172 246 0
-197 246 0
-222 246 0
-246 246 0
-255 230 0
-255 213 16
-255 205 32
-255 197 49
-255 197 74
-0 255 0
-24 255 0
-49 255 0
-74 255 0
-90 255 0
-123 255 0
-139 255 0
-164 255 0
-189 255 0
-213 255 0
-238 255 0
-255 255 0
-255 238 16
-255 222 32
-255 213 49
-255 205 74
-16 255 16
-32 255 16
-57 255 16
-74 255 16
-98 255 16
-115 255 16
-139 255 16
-156 255 16
-180 255 16
-197 255 16
-222 255 16
-238 255 16
-255 255 16
-255 238 32
-255 230 49
-255 222 74
-32 255 32
-49 255 32
-65 255 32
-82 255 32
-106 255 32
-115 255 32
-139 255 32
-156 255 32
-172 255 32
-189 255 32
-205 255 32
-222 255 32
-246 255 32
-255 255 32
-255 238 49
-255 230 74
-49 255 49
-65 255 49
-82 255 49
-90 255 49
-115 255 49
-123 255 49
-139 255 49
-156 255 49
-172 255 49
-189 255 49
-197 255 49
-213 255 49
-230 255 49
-246 255 49
-255 255 49
-255 246 74
-74 255 74
-90 255 74
-98 255 74
-115 255 74
-123 255 74
-139 255 74
-148 255 74
-164 255 74
-172 255 74
-189 255 74
-197 255 74
-213 255 74
-222 255 74
-238 255 74
-246 255 74
-255 255 74
diff --git a/graphics/misc/sunny_day/81.pal b/graphics/misc/sunny_day/81.pal
deleted file mode 100644
index e0f8b8636..000000000
--- a/graphics/misc/sunny_day/81.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 24
-24 8 24
-41 8 24
-57 8 24
-74 8 24
-90 8 24
-106 8 24
-197 0 24
-213 0 24
-230 0 24
-246 0 24
-255 0 24
-255 16 32
-255 32 49
-255 49 65
-255 74 90
-8 24 24
-24 24 24
-41 24 24
-57 24 24
-74 24 24
-90 24 24
-172 16 16
-189 16 16
-205 16 16
-230 16 16
-246 8 8
-246 24 24
-255 41 41
-255 57 57
-255 74 74
-255 90 90
-8 41 24
-24 41 24
-41 41 24
-57 41 24
-74 41 24
-90 41 24
-172 49 16
-189 41 16
-205 41 16
-230 41 16
-246 32 8
-246 41 24
-255 57 41
-255 65 57
-255 90 74
-255 106 90
-8 57 24
-24 57 24
-41 57 24
-57 57 24
-74 57 24
-90 57 24
-172 74 16
-189 74 16
-205 65 16
-230 65 16
-246 57 8
-246 65 24
-255 74 41
-255 82 57
-255 106 74
-255 115 90
-8 74 24
-24 74 24
-41 74 24
-57 74 24
-74 74 24
-90 74 24
-172 106 16
-189 106 16
-205 98 16
-230 90 16
-246 82 8
-246 90 24
-255 98 41
-255 106 57
-255 115 74
-255 123 90
-8 90 24
-24 90 24
-41 90 24
-57 90 24
-74 90 24
-90 90 24
-172 139 16
-189 131 16
-205 123 16
-230 123 16
-246 115 8
-246 106 24
-255 115 41
-255 115 57
-255 131 74
-255 139 90
-8 106 24
-16 172 16
-49 172 16
-82 172 16
-106 172 16
-139 172 16
-172 172 16
-189 156 16
-205 148 16
-230 148 16
-246 139 8
-246 139 24
-255 131 41
-255 131 57
-255 139 74
-255 148 90
-0 197 24
-16 189 16
-49 189 16
-74 189 16
-106 189 16
-131 189 16
-164 189 16
-189 189 16
-205 180 16
-230 172 16
-246 164 8
-246 156 24
-255 156 41
-255 156 57
-255 156 74
-255 164 90
-0 213 24
-16 205 16
-41 205 16
-74 205 16
-98 205 16
-131 205 16
-156 205 16
-180 205 16
-205 205 16
-230 197 16
-246 189 8
-246 180 24
-255 172 41
-255 164 57
-255 172 74
-255 172 90
-0 230 16
-16 230 16
-41 230 16
-65 230 16
-98 230 16
-123 230 16
-148 230 16
-172 230 16
-205 230 16
-230 230 16
-246 222 8
-246 197 24
-255 189 41
-255 180 57
-255 189 74
-255 189 90
-0 246 16
-8 246 8
-41 246 8
-65 246 8
-90 246 8
-115 246 8
-148 246 8
-164 246 8
-197 246 8
-222 246 8
-246 246 8
-246 222 24
-255 205 41
-255 205 57
-255 197 74
-255 197 90
-0 255 16
-24 246 24
-49 246 24
-65 246 24
-90 246 24
-115 246 24
-139 246 24
-156 246 24
-180 246 24
-205 246 24
-230 246 24
-246 246 24
-255 230 41
-255 213 57
-255 213 74
-255 205 90
-16 255 32
-41 255 41
-57 255 41
-74 255 41
-98 255 41
-115 255 41
-139 255 41
-156 255 41
-172 255 41
-197 255 41
-213 255 41
-238 255 41
-255 255 41
-255 230 57
-255 230 74
-255 222 90
-32 255 49
-57 255 57
-74 255 57
-90 255 57
-106 255 57
-123 255 57
-139 255 57
-156 255 57
-172 255 57
-189 255 57
-205 255 57
-222 255 57
-238 255 57
-255 255 57
-255 246 74
-255 230 90
-49 255 65
-74 255 74
-90 255 74
-106 255 74
-115 255 74
-131 255 74
-148 255 74
-164 255 74
-180 255 74
-189 255 74
-205 255 74
-213 255 74
-230 255 74
-246 255 74
-255 255 74
-255 246 90
-74 255 82
-90 255 90
-106 255 90
-115 255 90
-131 255 90
-139 255 90
-156 255 90
-164 255 90
-172 255 90
-189 255 90
-197 255 90
-213 255 90
-222 255 90
-238 255 90
-246 255 90
-255 255 90
diff --git a/graphics/misc/sunny_day/82.pal b/graphics/misc/sunny_day/82.pal
deleted file mode 100644
index 289f94a69..000000000
--- a/graphics/misc/sunny_day/82.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 41
-24 8 41
-41 8 41
-57 8 41
-74 8 41
-90 8 41
-106 8 41
-197 0 57
-213 0 49
-230 0 49
-246 0 49
-255 0 49
-255 16 57
-255 32 65
-255 49 82
-255 74 98
-8 24 41
-24 24 41
-41 24 41
-57 24 41
-74 24 41
-90 24 41
-172 16 49
-189 16 49
-205 16 41
-230 16 41
-246 8 41
-246 24 49
-255 41 57
-255 57 74
-255 74 90
-255 90 106
-8 41 41
-24 41 41
-41 41 41
-57 41 41
-74 41 41
-139 49 49
-164 41 41
-189 41 41
-205 32 32
-222 32 32
-230 49 49
-230 57 57
-238 65 65
-246 90 90
-255 90 90
-255 106 106
-8 57 41
-24 57 41
-41 57 41
-57 57 41
-74 57 41
-139 74 49
-164 74 41
-189 65 41
-205 57 32
-222 57 32
-230 65 49
-230 74 57
-238 82 65
-246 98 90
-255 106 90
-255 123 106
-8 74 41
-24 74 41
-41 74 41
-57 74 41
-74 74 41
-139 106 49
-164 106 41
-189 90 41
-205 90 32
-222 90 32
-230 90 49
-230 98 57
-238 98 65
-246 115 90
-255 115 90
-255 131 106
-8 90 41
-24 90 41
-49 139 49
-82 139 49
-106 139 49
-139 139 49
-164 131 41
-189 123 41
-205 123 32
-222 115 32
-230 115 49
-230 115 57
-238 115 65
-246 131 90
-255 131 90
-255 139 106
-8 106 41
-16 172 49
-41 164 41
-74 164 41
-106 164 41
-131 164 41
-164 164 41
-189 156 41
-205 148 32
-222 139 32
-230 139 49
-230 131 57
-238 131 65
-246 139 90
-255 148 90
-255 156 106
-0 197 49
-16 189 41
-41 189 41
-65 189 41
-98 189 41
-123 189 41
-156 189 41
-189 189 41
-205 172 32
-222 164 32
-230 156 49
-230 156 57
-238 156 65
-246 156 90
-255 156 90
-255 164 106
-0 213 49
-16 205 41
-32 205 32
-65 205 32
-90 205 32
-123 205 32
-148 205 32
-172 205 32
-205 205 32
-222 197 32
-230 180 49
-230 172 57
-238 164 65
-246 172 90
-255 172 90
-255 180 106
-0 230 49
-16 230 41
-32 222 32
-65 222 32
-90 222 32
-115 222 32
-148 222 32
-172 222 32
-197 222 32
-222 222 32
-230 205 49
-230 189 57
-238 180 65
-246 189 90
-255 189 90
-255 189 106
-0 246 41
-8 246 32
-49 230 49
-65 230 49
-90 230 49
-115 230 49
-139 230 49
-164 230 49
-180 230 49
-205 230 49
-230 230 49
-230 213 57
-238 205 65
-246 205 90
-255 197 90
-255 197 106
-0 255 41
-24 246 41
-57 230 57
-74 230 57
-98 230 57
-115 230 57
-139 230 57
-156 230 57
-172 230 57
-197 230 57
-213 230 57
-230 230 57
-238 222 65
-246 213 90
-255 213 90
-255 213 106
-16 255 49
-41 255 57
-65 238 65
-90 238 65
-106 238 65
-123 238 65
-139 238 65
-156 238 65
-172 238 65
-189 238 65
-205 238 65
-222 238 65
-238 238 65
-246 230 90
-255 230 90
-255 222 106
-32 255 65
-57 255 65
-90 246 90
-106 246 90
-115 246 90
-131 246 90
-148 246 90
-164 246 90
-172 246 90
-189 246 90
-205 246 90
-222 246 90
-230 246 90
-246 246 90
-255 238 90
-255 230 106
-49 255 74
-74 255 90
-90 255 90
-106 255 90
-123 255 90
-131 255 90
-148 255 90
-164 255 90
-172 255 90
-189 255 90
-205 255 90
-213 255 90
-230 255 90
-246 255 90
-255 255 90
-255 246 106
-74 255 98
-90 255 106
-106 255 106
-123 255 106
-131 255 106
-148 255 106
-156 255 106
-164 255 106
-180 255 106
-189 255 106
-205 255 106
-213 255 106
-222 255 106
-238 255 106
-246 255 106
-255 255 106
diff --git a/graphics/misc/sunny_day/83.pal b/graphics/misc/sunny_day/83.pal
deleted file mode 100644
index f68c13c65..000000000
--- a/graphics/misc/sunny_day/83.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 57
-24 8 57
-41 8 57
-57 8 57
-74 8 57
-90 8 57
-106 8 57
-197 0 82
-213 0 74
-230 0 74
-246 0 74
-255 0 74
-255 16 74
-255 32 82
-255 49 90
-255 74 115
-8 24 57
-24 24 57
-41 24 57
-57 24 57
-74 24 57
-90 24 57
-172 16 82
-189 16 74
-205 16 74
-230 16 65
-246 8 65
-246 24 65
-255 41 74
-255 57 90
-255 74 106
-255 90 115
-8 41 57
-24 41 57
-41 41 57
-57 41 57
-74 41 57
-139 49 82
-164 41 74
-189 41 65
-205 32 65
-222 32 65
-230 49 65
-230 57 74
-238 65 90
-246 90 106
-255 90 106
-255 106 123
-8 57 57
-24 57 57
-41 57 57
-57 57 57
-115 74 74
-139 65 65
-156 65 65
-180 57 57
-197 57 57
-205 65 65
-213 74 74
-222 82 82
-238 98 98
-246 106 106
-255 106 106
-255 123 123
-8 74 57
-24 74 57
-41 74 57
-74 115 74
-115 115 74
-139 106 65
-156 90 65
-180 90 57
-197 82 57
-205 90 65
-213 90 74
-222 98 82
-238 115 98
-246 115 106
-255 123 106
-255 139 123
-8 90 57
-24 90 57
-49 139 74
-65 139 65
-106 139 65
-139 139 65
-156 123 65
-180 123 57
-197 115 57
-205 115 65
-213 115 74
-222 115 82
-238 131 98
-246 131 106
-255 131 106
-255 148 123
-8 106 57
-16 172 74
-41 164 74
-65 156 65
-98 156 65
-131 156 65
-156 156 65
-180 148 57
-197 139 57
-205 139 65
-213 131 74
-222 131 82
-238 139 98
-246 148 106
-255 148 106
-255 156 123
-0 197 82
-16 189 74
-41 189 65
-57 180 57
-90 180 57
-123 180 57
-148 180 57
-180 180 57
-197 164 57
-205 156 65
-213 156 74
-222 156 82
-238 156 98
-246 156 106
-255 164 106
-255 172 123
-0 213 74
-16 205 65
-32 205 57
-57 197 57
-90 197 57
-115 197 57
-139 197 57
-172 197 57
-197 197 57
-205 180 65
-213 172 74
-222 172 82
-238 172 98
-246 172 106
-255 180 106
-255 180 123
-0 230 65
-16 230 65
-32 222 57
-65 205 65
-90 205 65
-115 205 65
-139 205 65
-164 205 65
-180 205 65
-205 205 65
-213 197 74
-222 189 82
-238 189 98
-246 189 106
-255 189 106
-255 189 123
-0 246 65
-8 246 57
-49 230 65
-74 213 74
-98 213 74
-115 213 74
-139 213 74
-156 213 74
-180 213 74
-197 213 74
-213 213 74
-222 205 82
-238 205 98
-246 205 106
-255 205 106
-255 205 123
-0 255 65
-24 246 65
-57 230 74
-82 222 82
-98 222 82
-115 222 82
-139 222 82
-156 222 82
-172 222 82
-189 222 82
-205 222 82
-222 222 82
-238 222 98
-246 213 106
-255 213 106
-255 213 123
-16 255 74
-41 255 74
-65 238 82
-98 238 98
-115 238 98
-131 238 98
-148 238 98
-164 238 98
-172 238 98
-189 238 98
-205 238 98
-222 238 98
-238 238 98
-246 230 106
-255 230 106
-255 222 123
-32 255 82
-57 255 82
-90 246 98
-106 246 106
-123 246 106
-131 246 106
-148 246 106
-164 246 106
-172 246 106
-189 246 106
-205 246 106
-222 246 106
-230 246 106
-246 246 106
-255 246 106
-255 238 123
-49 255 90
-74 255 106
-90 255 106
-106 255 106
-123 255 106
-139 255 106
-156 255 106
-164 255 106
-180 255 106
-189 255 106
-205 255 106
-222 255 106
-230 255 106
-246 255 106
-255 255 106
-255 246 123
-74 255 106
-90 255 115
-106 255 123
-123 255 123
-139 255 123
-148 255 123
-156 255 123
-172 255 123
-180 255 123
-189 255 123
-205 255 123
-213 255 123
-222 255 123
-238 255 123
-246 255 123
-255 255 123
diff --git a/graphics/misc/sunny_day/84.pal b/graphics/misc/sunny_day/84.pal
deleted file mode 100644
index 635c5f049..000000000
--- a/graphics/misc/sunny_day/84.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 74
-24 8 74
-41 8 74
-57 8 74
-74 8 74
-90 8 74
-106 8 74
-197 0 115
-213 0 106
-230 0 98
-246 0 98
-255 0 90
-255 16 98
-255 32 106
-255 49 115
-255 74 123
-8 24 74
-24 24 74
-41 24 74
-57 24 74
-74 24 74
-90 24 74
-172 16 106
-189 16 106
-205 16 98
-230 16 98
-246 8 90
-246 24 90
-255 41 98
-255 57 106
-255 74 115
-255 90 131
-8 41 74
-24 41 74
-41 41 74
-57 41 74
-74 41 74
-139 49 106
-164 41 106
-189 41 98
-205 32 90
-222 32 90
-230 49 90
-230 57 98
-238 65 106
-246 90 115
-255 90 123
-255 106 131
-8 57 74
-24 57 74
-41 57 74
-74 74 115
-115 74 115
-139 65 106
-156 65 98
-180 57 90
-197 57 90
-205 65 90
-213 74 98
-222 82 98
-238 98 115
-246 106 123
-255 106 123
-255 123 139
-8 74 74
-24 74 74
-41 74 74
-74 115 115
-115 90 90
-131 90 90
-156 82 82
-172 82 82
-189 82 82
-197 90 90
-205 98 98
-222 115 115
-238 115 115
-246 123 123
-255 131 131
-255 148 148
-8 90 74
-24 90 74
-49 139 106
-65 139 106
-90 131 90
-131 131 90
-156 123 82
-172 106 82
-189 115 82
-197 115 90
-205 115 98
-222 131 115
-238 131 115
-246 131 123
-255 139 131
-255 156 148
-8 106 74
-16 172 106
-41 164 106
-65 156 90
-82 156 82
-123 156 82
-156 156 82
-172 139 82
-189 139 82
-197 131 90
-205 131 98
-222 148 115
-238 148 115
-246 148 123
-255 148 131
-255 164 148
-0 197 106
-16 189 106
-41 189 90
-57 180 90
-82 172 82
-115 172 82
-148 172 82
-172 172 82
-189 164 82
-197 156 90
-205 156 98
-222 156 115
-238 164 115
-246 164 123
-255 164 131
-255 172 148
-0 213 106
-16 205 98
-32 205 90
-57 197 82
-82 189 82
-115 189 82
-139 189 82
-164 189 82
-189 189 82
-197 172 90
-205 172 98
-222 172 115
-238 172 115
-246 172 123
-255 180 131
-255 180 148
-0 230 98
-16 230 90
-32 222 90
-65 205 90
-90 197 90
-115 197 90
-131 197 90
-156 197 90
-180 197 90
-197 197 90
-205 189 98
-222 189 115
-238 189 115
-246 189 123
-255 189 131
-255 197 148
-0 246 90
-8 246 82
-49 230 90
-74 213 90
-98 205 98
-115 205 98
-139 205 98
-156 205 98
-172 205 98
-189 205 98
-205 205 98
-222 205 115
-238 205 115
-246 205 123
-255 205 131
-255 205 148
-0 255 90
-24 246 90
-57 230 98
-82 222 98
-115 222 115
-131 222 115
-148 222 115
-164 222 115
-172 222 115
-189 222 115
-205 222 115
-222 222 115
-238 222 115
-246 213 123
-255 213 131
-255 213 148
-16 255 90
-41 255 98
-65 238 98
-98 238 115
-115 238 115
-131 238 115
-148 238 115
-164 238 115
-172 238 115
-189 238 115
-205 238 115
-222 238 115
-238 238 115
-246 230 123
-255 230 131
-255 230 148
-32 255 98
-57 255 106
-90 246 115
-106 246 115
-123 246 123
-139 246 123
-148 246 123
-164 246 123
-180 246 123
-189 246 123
-205 246 123
-222 246 123
-230 246 123
-246 246 123
-255 246 131
-255 238 148
-49 255 106
-74 255 115
-90 255 115
-106 255 123
-131 255 131
-139 255 131
-156 255 131
-164 255 131
-180 255 131
-189 255 131
-205 255 131
-222 255 131
-230 255 131
-246 255 131
-255 255 131
-255 246 148
-74 255 123
-90 255 123
-106 255 131
-123 255 139
-148 255 148
-156 255 148
-164 255 148
-172 255 148
-189 255 148
-197 255 148
-205 255 148
-213 255 148
-230 255 148
-238 255 148
-246 255 148
-255 255 148
diff --git a/graphics/misc/sunny_day/85.pal b/graphics/misc/sunny_day/85.pal
deleted file mode 100644
index 8cdcbdaf8..000000000
--- a/graphics/misc/sunny_day/85.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 90
-24 8 90
-41 8 90
-57 8 90
-74 8 90
-90 8 90
-106 8 90
-197 0 139
-213 0 131
-230 0 123
-246 0 123
-255 0 123
-255 16 115
-255 32 115
-255 49 123
-255 74 139
-8 24 90
-24 24 90
-41 24 90
-57 24 90
-74 24 90
-90 24 90
-172 16 139
-189 16 131
-205 16 131
-230 16 123
-246 8 115
-246 24 115
-255 41 115
-255 57 123
-255 74 131
-255 90 139
-8 41 90
-24 41 90
-49 49 139
-74 49 139
-106 49 139
-139 49 139
-164 41 131
-189 41 123
-205 32 123
-222 32 115
-230 49 115
-230 57 115
-238 65 123
-246 90 131
-255 90 131
-255 106 148
-8 57 90
-24 57 90
-49 82 139
-65 65 139
-106 65 139
-139 65 139
-156 65 131
-180 57 123
-197 57 115
-205 65 115
-213 74 115
-222 82 115
-238 98 131
-246 106 131
-255 106 139
-255 123 148
-8 74 90
-24 74 90
-49 106 139
-65 106 139
-90 90 131
-131 90 131
-156 82 123
-172 82 115
-189 82 115
-197 90 115
-205 98 115
-222 115 131
-238 115 131
-246 123 139
-255 131 139
-255 148 156
-8 90 90
-24 90 90
-49 139 139
-65 139 139
-90 131 131
-131 106 106
-156 106 106
-164 106 106
-180 106 106
-197 115 115
-205 123 123
-222 131 131
-238 131 131
-246 139 139
-255 148 148
-255 164 164
-8 106 90
-16 172 139
-41 164 131
-65 156 123
-82 156 123
-106 156 106
-156 156 106
-164 139 106
-180 131 106
-197 131 115
-205 139 123
-222 148 131
-238 148 131
-246 156 139
-255 156 148
-255 172 164
-0 197 131
-16 189 131
-41 189 123
-57 180 123
-82 172 106
-106 164 106
-139 164 106
-164 164 106
-180 156 106
-197 156 115
-205 156 123
-222 156 131
-238 164 131
-246 164 139
-255 172 148
-255 180 164
-0 213 131
-16 205 123
-32 205 123
-57 197 115
-82 189 115
-106 180 106
-131 180 106
-156 180 106
-180 180 106
-197 172 115
-205 172 123
-222 172 131
-238 172 131
-246 180 139
-255 180 148
-255 189 164
-0 230 123
-16 230 123
-32 222 115
-65 205 115
-90 197 115
-115 197 115
-131 197 115
-156 197 115
-172 197 115
-197 197 115
-205 189 123
-222 189 131
-238 189 131
-246 189 139
-255 197 148
-255 197 164
-0 246 123
-8 246 115
-49 230 115
-74 213 115
-98 205 115
-123 205 123
-139 205 123
-156 205 123
-172 205 123
-189 205 123
-205 205 123
-222 205 131
-238 205 131
-246 205 139
-255 205 148
-255 213 164
-0 255 115
-24 246 106
-57 230 115
-82 222 115
-115 222 131
-131 222 131
-148 222 131
-164 222 131
-172 222 131
-189 222 131
-205 222 131
-222 222 131
-238 222 131
-246 222 139
-255 222 148
-255 222 164
-16 255 115
-41 255 115
-65 238 115
-98 238 131
-115 238 131
-131 238 131
-148 238 131
-164 238 131
-180 238 131
-189 238 131
-205 238 131
-222 238 131
-238 238 131
-246 230 139
-255 230 148
-255 230 164
-32 255 115
-57 255 115
-90 246 131
-106 246 131
-123 246 131
-139 246 139
-156 246 139
-164 246 139
-180 246 139
-189 246 139
-205 246 139
-222 246 139
-230 246 139
-246 246 139
-255 246 148
-255 238 164
-49 255 123
-74 255 131
-90 255 131
-106 255 131
-131 255 139
-148 255 148
-156 255 148
-172 255 148
-180 255 148
-197 255 148
-205 255 148
-222 255 148
-230 255 148
-246 255 148
-255 255 148
-255 246 164
-74 255 131
-90 255 139
-106 255 139
-123 255 148
-148 255 156
-164 255 164
-172 255 164
-180 255 164
-189 255 164
-197 255 164
-213 255 164
-222 255 164
-230 255 164
-238 255 164
-246 255 164
-255 255 164
diff --git a/graphics/misc/sunny_day/86.pal b/graphics/misc/sunny_day/86.pal
deleted file mode 100644
index 33157fd95..000000000
--- a/graphics/misc/sunny_day/86.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-8 8 106
-24 8 106
-41 8 106
-57 8 106
-74 8 106
-90 8 106
-106 8 106
-197 0 164
-213 0 156
-230 0 148
-246 0 148
-255 0 139
-255 16 139
-255 32 139
-255 49 139
-255 74 148
-8 24 106
-16 16 172
-49 16 172
-74 16 172
-106 16 172
-139 16 172
-172 16 172
-189 16 164
-205 16 156
-230 16 148
-246 8 148
-246 24 139
-255 41 139
-255 57 139
-255 74 148
-255 90 156
-8 41 106
-16 49 172
-41 41 164
-74 41 164
-106 41 164
-131 41 164
-164 41 164
-189 41 156
-205 32 148
-222 32 148
-230 49 139
-230 57 139
-238 65 139
-246 90 148
-255 90 148
-255 106 156
-8 57 106
-16 82 172
-41 74 164
-65 65 156
-90 65 156
-123 65 156
-156 65 156
-180 57 148
-197 57 139
-205 65 139
-213 74 139
-222 82 139
-238 98 148
-246 106 148
-255 106 156
-255 123 156
-8 74 106
-16 106 172
-41 106 164
-65 98 156
-82 82 156
-123 82 156
-156 82 156
-172 82 148
-189 82 139
-197 90 131
-205 98 139
-222 115 148
-238 115 148
-246 123 148
-255 131 156
-255 148 164
-8 90 106
-16 139 172
-41 131 164
-65 131 156
-82 123 156
-106 106 156
-156 106 156
-164 106 139
-180 106 131
-197 115 131
-205 123 139
-222 131 148
-238 131 148
-246 139 156
-255 148 156
-255 164 172
-8 106 106
-16 172 172
-41 164 164
-65 156 156
-82 156 156
-106 156 156
-148 123 123
-164 123 123
-180 131 131
-197 139 139
-205 139 139
-222 148 148
-238 148 148
-246 156 156
-255 164 164
-255 180 180
-0 197 164
-16 189 156
-41 189 156
-57 180 148
-82 172 139
-106 164 139
-123 164 123
-164 164 123
-180 156 131
-197 156 139
-205 156 139
-222 164 148
-238 164 148
-246 172 156
-255 172 164
-255 189 180
-0 213 156
-16 205 148
-32 205 148
-57 197 139
-82 189 139
-106 180 131
-131 180 131
-156 180 131
-180 180 131
-197 172 139
-205 172 139
-222 172 148
-238 180 148
-246 180 156
-255 189 164
-255 197 180
-0 230 148
-16 230 148
-32 222 139
-65 205 139
-90 197 131
-115 197 131
-139 197 139
-156 197 139
-172 197 139
-197 197 139
-205 189 139
-222 189 148
-238 189 148
-246 197 156
-255 197 164
-255 205 180
-0 246 139
-8 246 139
-49 230 139
-74 213 131
-98 205 131
-123 205 139
-139 205 139
-156 205 139
-172 205 139
-189 205 139
-205 205 139
-222 205 148
-238 205 148
-246 205 156
-255 213 164
-255 213 180
-0 255 139
-24 246 139
-57 230 131
-82 222 131
-115 222 148
-131 222 148
-148 222 148
-164 222 148
-180 222 148
-189 222 148
-205 222 148
-222 222 148
-238 222 148
-246 222 156
-255 222 164
-255 222 180
-16 255 139
-41 255 131
-65 238 131
-98 238 139
-115 238 148
-131 238 148
-148 238 148
-164 238 148
-180 238 148
-189 238 148
-205 238 148
-222 238 148
-238 238 148
-246 230 156
-255 230 164
-255 230 180
-32 255 131
-57 255 131
-90 246 139
-106 246 148
-123 246 148
-139 246 156
-156 246 156
-172 246 156
-180 246 156
-197 246 156
-205 246 156
-222 246 156
-230 246 156
-246 246 156
-255 246 164
-255 238 180
-49 255 139
-74 255 139
-90 255 148
-106 255 148
-131 255 148
-148 255 156
-164 255 164
-172 255 164
-189 255 164
-197 255 164
-213 255 164
-222 255 164
-230 255 164
-246 255 164
-255 255 164
-255 246 180
-74 255 148
-90 255 148
-106 255 156
-123 255 156
-148 255 164
-164 255 172
-180 255 180
-189 255 180
-197 255 180
-205 255 180
-213 255 180
-222 255 180
-230 255 180
-238 255 180
-255 255 180
-255 255 180
diff --git a/graphics/misc/sunny_day/87.pal b/graphics/misc/sunny_day/87.pal
deleted file mode 100644
index ed7a74501..000000000
--- a/graphics/misc/sunny_day/87.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 197
-24 0 197
-49 0 197
-82 0 197
-106 0 197
-131 0 197
-164 0 197
-197 0 197
-213 0 189
-230 0 180
-246 0 172
-255 0 164
-255 16 156
-255 32 156
-255 49 156
-255 74 164
-0 24 197
-16 16 189
-41 16 189
-74 16 189
-106 16 189
-131 16 189
-156 16 189
-189 16 189
-205 16 180
-230 16 172
-246 8 164
-246 24 156
-255 41 156
-255 57 156
-255 74 164
-255 90 164
-0 57 197
-16 49 189
-41 41 189
-65 41 189
-90 41 189
-123 41 189
-156 41 189
-189 41 189
-205 32 172
-222 32 172
-230 49 164
-230 57 156
-238 65 156
-246 90 164
-255 90 164
-255 106 164
-0 82 197
-16 74 189
-41 65 189
-57 57 180
-90 57 180
-123 57 180
-148 57 180
-180 57 180
-197 57 172
-205 65 164
-213 74 156
-222 82 156
-238 98 164
-246 106 164
-255 106 164
-255 123 172
-0 115 197
-16 106 189
-41 98 189
-57 90 180
-82 82 172
-106 82 172
-139 82 172
-172 82 172
-189 82 164
-197 90 156
-205 98 156
-222 115 164
-238 115 164
-246 123 164
-255 131 164
-255 148 172
-0 139 197
-16 131 189
-41 123 189
-57 123 180
-82 115 172
-106 106 164
-139 106 164
-164 106 164
-180 106 156
-197 115 156
-205 123 156
-222 131 164
-238 131 164
-246 139 164
-255 148 172
-255 164 180
-0 164 197
-16 164 189
-41 156 189
-57 148 180
-82 148 172
-106 139 164
-123 123 164
-164 123 164
-180 131 156
-197 139 156
-205 139 156
-222 148 164
-238 148 164
-246 156 172
-255 164 172
-255 180 189
-0 197 197
-16 189 189
-41 189 189
-57 180 180
-82 172 172
-106 164 164
-123 164 164
-164 139 139
-180 156 156
-197 156 156
-205 156 156
-222 164 164
-238 172 172
-246 172 172
-255 180 180
-255 197 197
-0 213 180
-16 205 180
-32 205 172
-57 197 164
-82 189 164
-106 180 156
-131 180 156
-156 180 156
-180 180 156
-197 172 156
-205 172 156
-222 180 164
-238 180 172
-246 180 172
-255 189 180
-255 205 197
-0 230 172
-16 230 172
-32 222 164
-65 205 156
-90 197 156
-115 197 156
-139 197 156
-156 197 156
-172 197 156
-197 197 156
-205 189 156
-222 189 164
-238 197 172
-246 197 172
-255 205 180
-255 213 197
-0 246 164
-8 246 164
-49 230 156
-74 213 156
-98 205 156
-123 205 156
-139 205 156
-156 205 156
-172 205 156
-189 205 156
-205 205 156
-222 205 164
-238 205 172
-246 213 172
-255 213 180
-255 222 197
-0 255 156
-24 246 156
-57 230 156
-82 222 156
-115 222 156
-131 222 156
-148 222 164
-164 222 164
-180 222 164
-189 222 164
-205 222 164
-222 222 164
-238 222 172
-246 222 172
-255 222 180
-255 230 197
-16 255 156
-41 255 156
-65 238 156
-98 238 156
-115 238 164
-131 238 164
-148 238 164
-172 238 172
-180 238 172
-197 238 172
-205 238 172
-222 238 172
-238 238 172
-246 230 172
-255 230 180
-255 238 197
-32 255 156
-57 255 156
-90 246 156
-106 246 156
-123 246 164
-139 246 164
-156 246 172
-172 246 172
-189 246 172
-197 246 172
-213 246 172
-222 246 172
-230 246 172
-246 246 172
-255 246 180
-255 246 197
-49 255 156
-74 255 156
-90 255 156
-106 255 164
-131 255 164
-148 255 172
-164 255 172
-180 255 180
-189 255 180
-205 255 180
-213 255 180
-222 255 180
-238 255 180
-246 255 180
-255 255 180
-255 246 197
-74 255 156
-90 255 164
-106 255 164
-123 255 172
-148 255 172
-164 255 180
-180 255 189
-197 255 197
-205 255 197
-213 255 197
-222 255 197
-230 255 197
-238 255 197
-246 255 197
-255 255 197
-255 255 197
diff --git a/graphics/misc/sunny_day/88.pal b/graphics/misc/sunny_day/88.pal
deleted file mode 100644
index c01a4c575..000000000
--- a/graphics/misc/sunny_day/88.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 213
-24 0 213
-49 0 213
-74 0 213
-106 0 213
-131 0 213
-156 0 213
-180 0 213
-213 0 213
-230 0 205
-246 0 197
-255 0 189
-255 16 180
-255 32 172
-255 49 172
-255 74 172
-0 24 213
-16 16 205
-41 16 205
-65 16 205
-98 16 205
-123 16 205
-148 16 205
-180 16 205
-205 16 205
-230 16 205
-246 8 197
-246 24 180
-255 41 172
-255 57 172
-255 74 180
-255 90 172
-0 49 213
-16 41 205
-32 32 205
-57 32 205
-90 32 205
-123 32 205
-148 32 205
-172 32 205
-205 32 205
-222 32 197
-230 49 180
-230 57 172
-238 65 172
-246 90 172
-255 90 172
-255 106 180
-0 74 213
-16 74 205
-32 65 205
-57 57 197
-82 57 197
-115 57 197
-139 57 197
-164 57 197
-197 57 197
-205 65 180
-213 74 180
-222 82 172
-238 98 172
-246 106 172
-255 106 180
-255 123 180
-0 106 213
-16 98 205
-32 90 205
-57 90 197
-82 82 189
-115 82 189
-139 82 189
-164 82 189
-189 82 189
-197 90 180
-205 98 172
-222 115 172
-238 115 172
-246 123 180
-255 131 180
-255 148 189
-0 131 213
-16 131 205
-32 123 205
-57 115 197
-82 115 189
-106 106 180
-131 106 180
-156 106 180
-180 106 180
-197 115 172
-205 123 172
-222 131 172
-238 131 180
-246 139 180
-255 148 180
-255 164 189
-0 156 213
-16 156 205
-32 148 205
-57 139 197
-82 139 189
-106 131 180
-131 131 180
-156 131 180
-180 131 180
-197 139 172
-205 139 172
-222 148 180
-238 148 180
-246 156 180
-255 164 189
-255 180 197
-0 189 213
-16 180 205
-32 172 205
-57 172 197
-82 164 189
-106 156 180
-131 156 180
-156 156 180
-180 156 180
-197 156 172
-205 156 172
-222 164 180
-238 172 180
-246 172 189
-255 180 189
-255 197 205
-0 213 213
-16 205 205
-32 205 205
-57 197 197
-82 189 189
-106 180 180
-131 180 180
-156 180 180
-180 164 164
-197 172 172
-213 172 172
-222 180 180
-238 180 180
-246 189 189
-255 197 197
-255 222 222
-0 230 197
-16 230 197
-32 222 197
-65 205 180
-90 197 172
-115 197 172
-139 197 172
-156 197 172
-172 197 172
-197 197 172
-213 189 172
-222 197 180
-238 197 180
-246 197 189
-255 205 197
-255 230 222
-0 246 189
-8 246 189
-49 230 180
-74 213 172
-98 205 172
-123 205 172
-139 205 172
-156 205 172
-172 213 172
-189 213 172
-213 213 172
-222 205 180
-238 213 180
-246 213 189
-255 213 197
-255 230 222
-0 255 189
-24 246 180
-57 230 172
-82 222 172
-115 222 172
-131 222 172
-148 222 172
-164 222 180
-180 222 180
-197 222 180
-205 222 180
-222 222 180
-238 222 180
-246 222 189
-255 230 197
-255 238 222
-16 255 172
-41 255 172
-65 238 164
-98 238 172
-115 238 172
-131 238 172
-148 238 180
-172 238 180
-180 238 180
-197 238 180
-213 238 180
-222 238 180
-238 238 180
-246 238 189
-255 238 197
-255 246 222
-32 255 164
-57 255 164
-90 246 172
-106 246 172
-123 246 172
-139 246 180
-156 246 180
-172 246 180
-189 246 189
-205 246 189
-213 246 189
-222 246 189
-238 246 189
-246 246 189
-255 246 197
-255 246 222
-49 255 164
-74 255 172
-90 255 172
-106 255 180
-131 255 180
-148 255 180
-164 255 189
-180 255 189
-197 255 197
-205 255 197
-213 255 197
-230 255 197
-238 255 197
-246 255 197
-255 255 197
-255 255 222
-74 255 172
-90 255 172
-106 255 180
-123 255 180
-148 255 180
-164 255 189
-180 255 197
-197 255 205
-222 255 222
-230 255 222
-230 255 222
-238 255 222
-246 255 222
-246 255 222
-255 255 222
-255 255 222
diff --git a/graphics/misc/sunny_day/89.pal b/graphics/misc/sunny_day/89.pal
deleted file mode 100644
index 70083e6b3..000000000
--- a/graphics/misc/sunny_day/89.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 230
-16 0 230
-49 0 230
-65 0 230
-98 0 230
-123 0 230
-148 0 230
-172 0 230
-197 0 230
-230 0 230
-246 0 222
-255 0 213
-255 16 197
-255 32 189
-255 49 189
-255 74 189
-0 24 230
-16 16 230
-41 16 230
-65 16 230
-90 16 230
-123 16 230
-148 16 230
-172 16 230
-197 16 230
-230 16 230
-246 8 222
-246 24 205
-255 41 197
-255 57 189
-255 74 189
-255 90 189
-0 49 230
-16 41 230
-32 32 222
-57 32 222
-90 32 222
-115 32 222
-139 32 222
-164 32 222
-197 32 222
-222 32 222
-230 49 205
-230 57 197
-238 65 189
-246 90 189
-255 90 189
-255 106 189
-0 74 230
-16 65 230
-32 65 222
-65 65 205
-90 65 205
-115 65 205
-139 65 205
-156 65 205
-180 65 205
-205 65 205
-213 74 197
-222 82 189
-238 98 189
-246 106 189
-255 106 189
-255 123 189
-0 98 230
-16 98 230
-32 90 222
-65 90 205
-90 90 197
-115 90 197
-131 90 197
-156 90 197
-172 90 197
-197 90 197
-205 98 189
-222 115 189
-238 115 189
-246 123 189
-255 131 189
-255 148 197
-0 123 230
-16 123 230
-32 115 222
-65 115 205
-90 115 197
-115 115 197
-131 115 197
-156 115 197
-172 115 197
-197 115 197
-205 123 189
-222 131 189
-238 131 189
-246 139 189
-255 148 197
-255 164 197
-0 148 230
-16 148 230
-32 148 222
-65 139 205
-90 131 197
-115 131 197
-139 139 197
-156 139 197
-172 139 197
-197 139 197
-205 139 189
-222 148 189
-238 148 189
-246 156 197
-255 164 197
-255 180 205
-0 180 230
-16 172 230
-32 172 222
-65 164 205
-90 156 197
-115 156 197
-139 156 197
-156 156 197
-172 156 197
-197 156 197
-205 156 189
-222 164 189
-238 172 197
-246 172 197
-255 180 205
-255 197 213
-0 205 230
-16 205 230
-32 197 222
-65 180 205
-90 180 197
-115 172 197
-139 172 197
-156 172 197
-172 172 197
-197 172 197
-213 172 189
-222 180 197
-238 180 197
-246 189 205
-255 197 205
-255 222 230
-0 230 230
-16 230 230
-32 222 222
-65 205 205
-90 197 197
-115 197 197
-139 197 197
-156 197 197
-172 197 197
-197 189 189
-213 189 189
-222 197 197
-238 197 197
-246 205 205
-255 222 222
-255 238 238
-0 246 213
-8 246 222
-49 230 205
-74 213 197
-98 205 189
-123 205 189
-139 205 189
-156 205 189
-172 213 189
-189 213 189
-213 213 189
-222 213 197
-238 213 197
-246 213 205
-255 230 222
-255 238 238
-0 255 205
-24 246 197
-57 230 189
-82 222 189
-115 222 189
-131 222 189
-148 222 189
-164 222 189
-180 222 197
-197 222 197
-213 222 197
-222 222 197
-238 222 197
-246 230 205
-255 238 222
-255 246 238
-16 255 197
-41 255 189
-65 238 180
-98 238 189
-115 238 189
-131 238 189
-148 238 189
-172 238 197
-180 238 197
-197 238 197
-213 238 197
-222 238 197
-238 238 197
-246 238 205
-255 246 222
-255 246 238
-32 255 189
-57 255 180
-90 246 189
-106 246 189
-123 246 189
-139 246 189
-156 246 197
-172 246 197
-189 246 197
-205 246 205
-213 246 205
-230 246 205
-238 246 205
-246 246 205
-255 246 222
-255 255 238
-49 255 180
-74 255 189
-90 255 189
-106 255 189
-131 255 189
-148 255 197
-164 255 197
-180 255 205
-197 255 205
-222 255 222
-230 255 222
-238 255 222
-246 255 222
-246 255 222
-255 255 222
-255 255 238
-74 255 180
-90 255 189
-106 255 189
-123 255 189
-148 255 197
-164 255 197
-180 255 205
-197 255 213
-222 255 230
-238 255 238
-246 255 238
-246 255 238
-246 255 238
-255 255 238
-255 255 238
-255 255 238
diff --git a/graphics/misc/sunny_day/9.pal b/graphics/misc/sunny_day/9.pal
deleted file mode 100644
index ee5169a71..000000000
--- a/graphics/misc/sunny_day/9.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 172
-16 0 172
-32 0 172
-57 0 172
-74 0 172
-90 0 172
-115 0 172
-131 0 172
-148 0 172
-172 0 172
-189 0 172
-205 0 172
-222 0 164
-238 0 172
-255 0 164
-255 24 164
-0 16 172
-16 16 172
-32 16 172
-57 16 172
-74 16 172
-90 16 172
-115 16 172
-131 16 172
-148 16 172
-172 16 172
-189 16 172
-205 16 172
-222 16 172
-238 16 164
-246 32 164
-255 41 164
-0 41 172
-16 41 172
-32 32 172
-57 32 172
-74 32 172
-90 32 172
-115 32 172
-131 32 172
-148 32 172
-172 32 172
-189 32 172
-205 32 164
-222 32 164
-230 49 164
-246 49 164
-255 57 172
-0 57 172
-16 57 172
-32 57 172
-57 57 164
-74 57 164
-90 57 164
-115 57 164
-131 57 164
-148 57 164
-164 57 164
-189 49 172
-205 57 164
-213 65 164
-230 65 164
-246 65 164
-255 74 164
-0 74 172
-16 74 172
-32 74 172
-57 74 164
-74 74 164
-90 74 164
-106 74 164
-131 74 164
-148 74 164
-164 74 164
-180 74 164
-197 82 164
-213 82 164
-230 82 172
-246 82 164
-255 90 172
-0 98 172
-16 90 172
-32 90 172
-57 90 164
-74 90 164
-90 90 164
-106 90 164
-131 90 164
-148 90 164
-164 90 164
-180 98 164
-197 98 164
-213 98 164
-230 98 164
-246 106 172
-255 106 172
-0 115 172
-16 115 172
-32 115 172
-57 115 164
-74 106 164
-90 106 164
-115 115 164
-131 115 164
-148 115 164
-164 115 164
-180 115 164
-197 115 164
-213 115 164
-230 123 164
-246 123 172
-255 123 172
-0 131 172
-16 131 172
-32 131 172
-57 131 164
-74 131 164
-90 131 164
-115 131 164
-131 131 164
-148 131 164
-164 131 164
-180 139 164
-197 131 164
-213 139 164
-230 139 164
-246 139 172
-255 139 172
-0 156 172
-16 156 172
-32 148 172
-57 148 164
-74 148 164
-90 148 164
-115 148 164
-131 148 164
-148 148 164
-164 148 164
-180 156 164
-197 148 164
-213 156 172
-230 156 172
-246 156 172
-255 172 180
-0 172 172
-16 172 172
-32 172 172
-57 164 164
-74 164 164
-90 164 164
-115 164 164
-131 164 164
-148 164 164
-164 164 164
-180 164 164
-197 172 172
-213 172 172
-230 172 172
-246 180 180
-255 189 189
-0 189 164
-16 189 172
-32 189 164
-49 189 164
-74 180 164
-98 180 164
-115 180 164
-139 180 164
-156 180 164
-164 180 164
-180 180 164
-197 180 172
-213 180 172
-230 189 172
-246 197 180
-255 197 189
-0 205 164
-16 205 164
-32 205 164
-57 205 164
-82 197 164
-98 197 164
-115 197 164
-131 197 164
-148 197 164
-172 197 172
-180 197 172
-197 197 172
-213 197 172
-230 197 172
-246 205 180
-255 213 189
-0 222 164
-16 222 164
-32 222 164
-65 213 164
-82 213 164
-98 213 164
-115 213 164
-139 213 164
-156 213 172
-172 213 172
-189 213 172
-197 213 172
-213 213 172
-230 213 172
-246 222 180
-255 222 189
-0 238 164
-16 238 164
-49 230 164
-65 230 164
-82 230 164
-98 230 164
-123 230 164
-139 230 164
-156 230 164
-172 230 172
-189 230 172
-197 230 172
-213 230 172
-230 230 172
-246 230 180
-255 230 189
-0 255 164
-32 246 164
-49 246 164
-65 246 164
-82 246 164
-106 246 164
-123 246 164
-139 246 172
-156 246 172
-180 246 180
-197 246 180
-205 246 180
-222 246 180
-238 246 180
-246 246 180
-255 246 189
-24 255 164
-41 255 164
-57 255 164
-74 255 164
-90 255 164
-106 255 164
-123 255 172
-139 255 172
-172 255 180
-189 255 189
-197 255 189
-213 255 189
-222 255 189
-238 255 189
-246 255 189
-255 255 189
diff --git a/graphics/misc/sunny_day/90.pal b/graphics/misc/sunny_day/90.pal
deleted file mode 100644
index 3b9064bc0..000000000
--- a/graphics/misc/sunny_day/90.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 246
-16 0 246
-41 0 246
-65 0 246
-90 0 246
-123 0 246
-139 0 246
-164 0 246
-189 0 246
-213 0 246
-246 0 246
-255 0 238
-255 16 222
-255 32 205
-255 49 197
-255 74 197
-0 24 246
-8 8 246
-32 8 246
-57 8 246
-82 8 246
-115 8 246
-139 8 246
-164 8 246
-189 8 246
-222 8 246
-246 8 246
-246 24 230
-255 41 213
-255 57 205
-255 74 205
-255 90 197
-0 49 246
-8 41 246
-49 49 230
-65 49 230
-90 49 230
-115 49 230
-139 49 230
-156 49 230
-180 49 230
-205 49 230
-230 49 230
-230 57 213
-238 65 205
-246 90 205
-255 90 205
-255 106 205
-0 74 246
-8 65 246
-49 65 230
-74 74 213
-90 74 213
-115 74 213
-131 74 213
-156 74 213
-172 74 213
-197 74 213
-213 74 213
-222 82 205
-238 98 205
-246 106 205
-255 106 205
-255 123 205
-0 98 246
-8 90 246
-49 90 230
-74 98 213
-98 98 205
-115 98 205
-131 98 205
-156 98 205
-172 98 205
-189 98 205
-205 98 205
-222 115 205
-238 115 205
-246 123 205
-255 131 205
-255 148 205
-0 123 246
-8 115 246
-49 115 230
-74 115 213
-98 115 205
-123 123 205
-139 123 205
-156 123 205
-172 123 205
-189 123 205
-205 123 205
-222 131 205
-238 131 205
-246 139 205
-255 148 205
-255 164 213
-0 148 246
-8 148 246
-49 139 230
-74 139 213
-98 139 205
-123 139 205
-139 139 205
-156 139 205
-172 139 205
-189 139 205
-205 139 205
-222 148 205
-238 148 205
-246 156 205
-255 164 213
-255 180 213
-0 172 246
-8 164 246
-49 164 230
-74 156 213
-98 156 205
-123 156 205
-139 156 205
-156 156 205
-172 156 205
-189 156 205
-205 156 205
-222 164 205
-238 172 205
-246 172 213
-255 180 213
-255 197 222
-0 197 246
-8 197 246
-49 180 230
-74 180 213
-98 172 205
-123 172 205
-139 172 205
-156 172 205
-172 172 213
-189 172 213
-213 172 213
-222 180 205
-238 180 213
-246 189 213
-255 197 213
-255 222 230
-0 222 246
-8 222 246
-49 205 230
-74 197 213
-98 189 205
-123 189 205
-139 189 205
-156 189 205
-172 189 213
-189 189 213
-213 189 213
-222 197 213
-238 197 213
-246 205 213
-255 222 230
-255 238 246
-0 246 246
-8 246 246
-49 230 230
-74 213 213
-98 205 205
-123 205 205
-139 205 205
-156 205 205
-172 213 213
-189 213 213
-213 205 205
-230 213 213
-238 213 213
-246 230 230
-255 238 238
-255 255 255
-0 255 230
-24 246 222
-57 230 213
-82 222 205
-115 222 205
-131 222 205
-148 222 205
-164 222 205
-180 222 205
-197 222 213
-213 230 213
-230 230 213
-238 230 213
-246 238 230
-255 246 238
-255 255 255
-16 255 213
-41 255 205
-65 238 205
-98 238 205
-115 238 205
-131 238 205
-148 238 205
-172 238 205
-180 238 213
-197 238 213
-213 238 213
-230 238 213
-238 238 213
-246 246 230
-255 246 238
-255 255 255
-32 255 205
-57 255 205
-90 246 205
-106 246 205
-123 246 205
-139 246 205
-156 246 205
-172 246 213
-189 246 213
-205 246 213
-230 246 230
-238 246 230
-246 246 230
-246 246 230
-255 255 238
-255 255 255
-49 255 197
-74 255 197
-90 255 197
-106 255 205
-131 255 205
-148 255 205
-164 255 213
-180 255 213
-197 255 213
-222 255 230
-238 255 238
-246 255 238
-246 255 238
-255 255 238
-255 255 238
-255 255 255
-74 255 197
-90 255 197
-106 255 197
-123 255 205
-148 255 205
-164 255 213
-180 255 213
-197 255 222
-222 255 230
-238 255 238
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/91.pal b/graphics/misc/sunny_day/91.pal
deleted file mode 100644
index 0cc9cb226..000000000
--- a/graphics/misc/sunny_day/91.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-0 0 255
-16 0 255
-41 0 255
-65 0 255
-90 0 255
-115 0 255
-139 0 255
-156 0 255
-189 0 255
-205 0 255
-230 0 255
-255 0 255
-255 16 238
-255 32 222
-255 49 213
-255 74 213
-0 24 255
-24 24 246
-41 24 246
-65 24 246
-90 24 246
-106 24 246
-139 24 246
-156 24 246
-180 24 246
-197 24 246
-222 24 246
-246 24 246
-255 41 238
-255 57 222
-255 74 213
-255 90 213
-0 49 255
-24 49 246
-57 57 230
-74 57 230
-98 57 230
-115 57 230
-131 57 230
-156 57 230
-172 57 230
-189 57 230
-213 57 230
-230 57 230
-238 65 222
-246 90 222
-255 90 213
-255 106 213
-0 74 255
-24 65 246
-57 74 230
-82 82 222
-98 82 222
-115 82 222
-131 82 222
-156 82 222
-172 82 222
-189 82 222
-205 82 222
-222 82 222
-238 98 222
-246 106 222
-255 106 222
-255 123 213
-0 90 255
-24 90 246
-57 98 230
-82 98 222
-115 115 222
-131 115 222
-148 115 222
-156 115 222
-172 115 222
-189 115 222
-205 115 222
-222 115 222
-238 115 222
-246 123 222
-255 131 222
-255 148 213
-0 123 255
-24 115 246
-57 115 230
-82 115 222
-115 131 222
-131 131 222
-148 131 222
-156 131 222
-172 131 222
-189 131 222
-205 131 222
-222 131 222
-238 131 222
-246 139 222
-255 148 222
-255 164 222
-0 139 255
-24 139 246
-57 139 230
-82 139 222
-115 148 222
-131 148 222
-148 148 222
-164 148 222
-172 148 222
-189 148 222
-205 148 222
-222 148 222
-238 148 222
-246 156 222
-255 164 222
-255 180 222
-0 164 255
-24 156 246
-57 156 230
-82 156 222
-115 164 222
-131 164 222
-148 164 222
-164 164 222
-180 164 222
-189 164 222
-205 164 222
-222 164 222
-238 172 222
-246 172 222
-255 180 222
-255 197 230
-0 189 255
-24 180 246
-57 172 230
-82 172 222
-115 172 222
-131 172 222
-148 180 222
-164 180 222
-180 180 222
-197 180 222
-205 180 222
-222 180 222
-238 180 222
-246 189 222
-255 197 230
-255 222 238
-0 213 255
-24 205 246
-57 197 230
-82 189 222
-115 189 222
-131 189 222
-148 189 222
-164 189 222
-180 197 222
-197 197 222
-213 197 222
-222 197 222
-238 197 222
-246 205 230
-255 222 238
-255 238 246
-0 238 255
-24 230 246
-57 213 230
-82 205 222
-115 205 222
-131 205 222
-148 205 222
-164 205 222
-180 205 222
-197 213 222
-213 213 230
-230 213 230
-238 213 230
-246 230 238
-255 238 246
-255 255 255
-0 255 255
-24 246 246
-57 230 230
-82 222 222
-115 222 222
-131 222 222
-148 222 222
-164 222 222
-180 222 222
-197 222 222
-213 230 230
-230 222 222
-246 238 238
-255 246 246
-255 255 255
-255 255 255
-16 255 238
-41 255 230
-65 238 222
-98 238 222
-115 238 222
-131 238 222
-148 238 222
-172 238 222
-180 238 222
-197 238 222
-213 238 230
-238 246 238
-246 246 238
-255 246 246
-255 255 255
-255 255 255
-32 255 222
-57 255 213
-90 246 213
-106 246 213
-123 246 213
-139 246 222
-156 246 222
-172 246 222
-189 246 222
-205 246 230
-230 246 238
-246 255 246
-246 255 246
-255 255 246
-255 255 255
-255 255 255
-49 255 213
-74 255 213
-90 255 213
-106 255 213
-131 255 213
-148 255 222
-164 255 222
-180 255 222
-197 255 230
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 255 205
-90 255 205
-106 255 213
-123 255 213
-148 255 213
-164 255 222
-180 255 222
-197 255 230
-222 255 238
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/92.pal b/graphics/misc/sunny_day/92.pal
deleted file mode 100644
index 554b2c171..000000000
--- a/graphics/misc/sunny_day/92.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-16 16 255
-32 16 255
-49 16 255
-74 16 255
-90 16 255
-115 16 255
-139 16 255
-156 16 255
-172 16 255
-197 16 255
-213 16 255
-238 16 255
-255 16 255
-255 32 246
-255 49 230
-255 74 222
-16 32 255
-41 41 255
-57 41 255
-74 41 255
-98 41 255
-115 41 255
-131 41 255
-156 41 255
-172 41 255
-189 41 255
-205 41 255
-230 41 255
-255 41 255
-255 57 238
-255 74 230
-255 90 222
-16 57 255
-41 57 255
-65 65 238
-82 65 238
-98 65 238
-115 65 238
-131 65 238
-156 65 238
-164 65 238
-180 65 238
-205 65 238
-222 65 238
-238 65 238
-246 90 230
-255 90 230
-255 106 222
-16 74 255
-41 74 255
-65 90 238
-98 98 238
-115 98 238
-131 98 238
-139 98 238
-156 98 238
-172 98 238
-189 98 238
-205 98 238
-222 98 238
-238 98 238
-246 106 230
-255 106 230
-255 123 222
-16 98 255
-41 98 255
-65 106 238
-98 115 238
-115 115 238
-131 115 238
-148 115 238
-164 115 238
-172 115 238
-189 115 238
-205 115 238
-222 115 238
-238 115 238
-246 123 230
-255 131 230
-255 148 230
-16 115 255
-41 115 255
-65 123 238
-98 131 238
-115 131 238
-131 131 238
-148 131 238
-164 131 238
-172 131 238
-189 131 238
-205 131 238
-222 131 238
-238 131 238
-246 139 230
-255 148 230
-255 164 230
-16 139 255
-41 139 255
-65 139 238
-98 148 238
-115 148 238
-131 148 238
-148 148 238
-164 148 238
-180 148 238
-189 148 238
-205 148 238
-222 148 238
-238 148 238
-246 156 230
-255 164 230
-255 180 230
-16 156 255
-41 156 255
-65 156 238
-98 164 238
-115 164 238
-131 164 238
-148 164 238
-172 172 238
-180 172 238
-197 172 238
-205 172 238
-222 172 238
-238 172 238
-246 172 230
-255 180 238
-255 197 238
-16 180 255
-41 172 255
-65 172 238
-98 172 238
-115 172 238
-131 180 238
-148 180 238
-172 180 238
-180 180 238
-197 180 238
-213 180 238
-222 180 238
-238 180 238
-246 189 238
-255 197 238
-255 222 246
-16 197 255
-41 197 255
-65 189 238
-98 189 238
-115 189 238
-131 189 238
-148 189 238
-172 197 238
-180 197 238
-197 197 238
-213 197 238
-222 197 238
-238 197 238
-246 205 238
-255 222 246
-255 238 246
-16 222 255
-41 213 255
-65 205 238
-98 205 238
-115 205 238
-131 205 238
-148 205 238
-172 205 238
-180 213 238
-197 213 238
-213 213 238
-230 213 238
-238 213 238
-246 230 246
-255 238 246
-255 255 255
-16 238 255
-41 238 255
-65 222 238
-98 222 238
-115 222 238
-131 222 238
-148 222 238
-172 222 238
-180 222 238
-197 222 238
-213 230 238
-238 238 246
-246 238 246
-255 246 246
-255 255 255
-255 255 255
-16 255 255
-41 255 255
-65 238 238
-98 238 238
-115 238 238
-131 238 238
-148 238 238
-172 238 238
-180 238 238
-197 238 238
-213 238 238
-238 246 246
-246 246 246
-255 255 255
-255 255 255
-255 255 255
-32 255 238
-57 255 230
-90 246 230
-106 246 230
-123 246 230
-139 246 230
-156 246 230
-172 246 230
-189 246 238
-205 246 238
-230 246 246
-246 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 255 230
-74 255 230
-90 255 230
-106 255 230
-131 255 230
-148 255 230
-164 255 230
-180 255 230
-197 255 238
-222 255 246
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 255 222
-90 255 222
-106 255 222
-123 255 222
-148 255 230
-164 255 230
-180 255 230
-197 255 238
-222 255 246
-238 255 246
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/93.pal b/graphics/misc/sunny_day/93.pal
deleted file mode 100644
index 15f97e8b5..000000000
--- a/graphics/misc/sunny_day/93.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-32 32 255
-49 32 255
-65 32 255
-82 32 255
-98 32 255
-115 32 255
-131 32 255
-156 32 255
-164 32 255
-189 32 255
-205 32 255
-222 32 255
-238 32 255
-255 32 255
-255 49 246
-255 74 238
-32 49 255
-57 57 255
-65 57 255
-82 57 255
-106 57 255
-115 57 255
-131 57 255
-156 57 255
-164 57 255
-180 57 255
-205 57 255
-213 57 255
-230 57 255
-255 57 255
-255 74 246
-255 90 238
-32 65 255
-57 74 255
-90 90 246
-98 90 246
-115 90 246
-131 90 246
-139 90 246
-156 90 246
-172 90 246
-189 90 246
-205 90 246
-213 90 246
-230 90 246
-246 90 246
-255 90 246
-255 106 238
-32 82 255
-57 90 255
-90 106 246
-106 106 246
-115 106 246
-131 106 246
-148 106 246
-156 106 246
-172 106 246
-189 106 246
-205 106 246
-213 106 246
-230 106 246
-246 106 246
-255 106 246
-255 123 238
-32 106 255
-57 106 255
-90 115 246
-106 123 246
-123 123 246
-131 123 246
-148 123 246
-164 123 246
-172 123 246
-189 123 246
-205 123 246
-213 123 246
-230 123 246
-246 123 246
-255 131 246
-255 148 238
-32 115 255
-57 123 255
-90 131 246
-106 131 246
-123 139 246
-139 139 246
-156 139 246
-164 139 246
-180 139 246
-189 139 246
-205 139 246
-222 139 246
-230 139 246
-246 139 246
-255 148 246
-255 164 238
-32 139 255
-57 139 255
-90 148 246
-106 148 246
-123 148 246
-139 156 246
-156 156 246
-172 156 246
-180 156 246
-197 156 246
-205 156 246
-222 156 246
-230 156 246
-246 156 246
-255 164 246
-255 180 238
-32 156 255
-57 156 255
-90 164 246
-106 164 246
-123 164 246
-139 164 246
-156 172 246
-172 172 246
-180 172 246
-197 172 246
-213 172 246
-222 172 246
-230 172 246
-246 172 246
-255 180 246
-255 197 246
-32 172 255
-57 172 255
-90 172 246
-106 172 246
-123 180 246
-139 180 246
-156 180 246
-172 189 246
-189 189 246
-197 189 246
-213 189 246
-222 189 246
-238 189 246
-246 189 246
-255 197 246
-255 222 246
-32 189 255
-57 189 255
-90 189 246
-106 189 246
-123 189 246
-139 189 246
-156 197 246
-172 197 246
-189 205 246
-205 205 246
-213 205 246
-230 205 246
-238 205 246
-246 205 246
-255 222 246
-255 238 255
-32 205 255
-57 205 255
-90 205 246
-106 205 246
-123 205 246
-139 205 246
-156 205 246
-172 213 246
-189 213 246
-205 213 246
-230 230 246
-238 230 246
-246 230 246
-246 230 246
-255 238 255
-255 255 255
-32 222 255
-57 222 255
-90 222 246
-106 222 246
-123 222 246
-139 222 246
-156 222 246
-172 222 246
-189 222 246
-205 230 246
-230 238 246
-246 246 255
-246 246 255
-255 246 255
-255 255 255
-255 255 255
-32 246 255
-57 238 255
-90 230 246
-106 230 246
-123 230 246
-139 230 246
-156 230 246
-172 230 246
-189 238 246
-205 238 246
-230 246 246
-246 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-32 255 255
-57 255 255
-90 246 246
-106 246 246
-123 246 246
-139 246 246
-156 246 246
-172 246 246
-189 246 246
-205 246 246
-230 246 246
-246 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 255 238
-74 255 246
-90 255 238
-106 255 246
-131 255 246
-148 255 246
-164 255 246
-180 255 246
-197 255 246
-222 255 246
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 255 230
-90 255 230
-106 255 230
-123 255 238
-148 255 238
-164 255 238
-180 255 238
-197 255 246
-222 255 246
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/94.pal b/graphics/misc/sunny_day/94.pal
deleted file mode 100644
index 0036d47e0..000000000
--- a/graphics/misc/sunny_day/94.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-49 49 255
-65 49 255
-74 49 255
-90 49 255
-106 49 255
-123 49 255
-139 49 255
-156 49 255
-164 49 255
-180 49 255
-197 49 255
-213 49 255
-230 49 255
-238 49 255
-255 49 255
-255 74 246
-49 65 255
-74 74 255
-90 74 255
-106 74 255
-115 74 255
-131 74 255
-139 74 255
-156 74 255
-172 74 255
-189 74 255
-197 74 255
-213 74 255
-230 74 255
-246 74 255
-255 74 255
-255 90 246
-49 82 255
-74 90 255
-90 90 255
-106 90 255
-115 90 255
-131 90 255
-148 90 255
-156 90 255
-172 90 255
-189 90 255
-197 90 255
-213 90 255
-230 90 255
-238 90 255
-255 90 255
-255 106 246
-49 90 255
-74 106 255
-90 106 255
-106 106 255
-123 106 255
-131 106 255
-148 106 255
-164 106 255
-180 106 255
-189 106 255
-205 106 255
-213 106 255
-230 106 255
-246 106 255
-255 106 255
-255 123 246
-49 115 255
-74 115 255
-90 123 255
-106 123 255
-131 131 255
-139 131 255
-148 131 255
-164 131 255
-180 131 255
-189 131 255
-205 131 255
-213 131 255
-230 131 255
-246 131 255
-255 131 255
-255 148 246
-49 123 255
-74 131 255
-90 131 255
-106 139 255
-131 139 255
-148 148 255
-156 148 255
-172 148 255
-180 148 255
-197 148 255
-205 148 255
-222 148 255
-230 148 255
-246 148 255
-255 148 255
-255 164 246
-49 139 255
-74 148 255
-90 148 255
-106 156 255
-131 156 255
-148 156 255
-164 164 255
-172 164 255
-189 164 255
-197 164 255
-213 164 255
-222 164 255
-230 164 255
-246 164 255
-255 164 255
-255 180 255
-49 156 255
-74 164 255
-90 164 255
-106 164 255
-131 164 255
-148 172 255
-164 172 255
-180 180 255
-189 180 255
-205 180 255
-213 180 255
-222 180 255
-230 180 255
-246 180 255
-255 180 255
-255 197 255
-49 172 255
-74 180 255
-90 172 255
-106 180 255
-131 180 255
-148 180 255
-164 189 255
-180 189 255
-197 197 255
-205 197 255
-213 197 255
-230 197 255
-238 197 255
-246 197 255
-255 197 255
-255 222 255
-49 189 255
-74 189 255
-90 189 255
-106 189 255
-131 189 255
-148 197 255
-164 197 255
-180 205 255
-197 205 255
-222 222 255
-230 222 255
-238 222 255
-246 222 255
-246 222 255
-255 222 255
-255 238 255
-49 197 255
-74 205 255
-90 205 255
-106 205 255
-131 205 255
-148 205 255
-164 213 255
-180 213 255
-197 213 255
-222 230 255
-238 238 255
-246 238 255
-246 238 255
-255 238 255
-255 238 255
-255 255 255
-49 213 255
-74 213 255
-90 213 255
-106 222 255
-131 222 255
-148 222 255
-164 222 255
-180 222 255
-197 230 255
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 230 255
-74 230 255
-90 230 255
-106 230 255
-131 230 255
-148 230 255
-164 230 255
-180 238 255
-197 238 255
-222 246 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 246 255
-74 246 255
-90 246 255
-106 246 255
-131 246 255
-148 246 255
-164 246 255
-180 246 255
-197 246 255
-222 246 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-49 255 255
-74 255 255
-90 255 255
-106 255 255
-131 255 255
-148 255 255
-164 255 255
-180 255 255
-197 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 255 246
-90 255 246
-106 255 246
-123 255 246
-148 255 246
-164 255 246
-180 255 246
-197 255 246
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/misc/sunny_day/95.pal b/graphics/misc/sunny_day/95.pal
deleted file mode 100644
index 3b8bceb35..000000000
--- a/graphics/misc/sunny_day/95.pal
+++ /dev/null
@@ -1,259 +0,0 @@
-JASC-PAL
-0100
-256
-74 74 255
-82 74 255
-98 74 255
-106 74 255
-123 74 255
-131 74 255
-148 74 255
-156 74 255
-172 74 255
-180 74 255
-197 74 255
-205 74 255
-222 74 255
-230 74 255
-246 74 255
-255 74 255
-74 90 255
-90 90 255
-106 90 255
-115 90 255
-123 90 255
-139 90 255
-148 90 255
-164 90 255
-172 90 255
-189 90 255
-197 90 255
-205 90 255
-222 90 255
-230 90 255
-246 90 255
-255 90 255
-74 98 255
-90 106 255
-106 106 255
-123 106 255
-131 106 255
-139 106 255
-156 106 255
-164 106 255
-180 106 255
-189 106 255
-197 106 255
-213 106 255
-222 106 255
-230 106 255
-246 106 255
-255 106 255
-74 115 255
-90 115 255
-106 123 255
-123 123 255
-139 123 255
-148 123 255
-156 123 255
-172 123 255
-180 123 255
-189 123 255
-205 123 255
-213 123 255
-222 123 255
-238 123 255
-246 123 255
-255 123 255
-74 123 255
-90 131 255
-106 131 255
-123 139 255
-148 148 255
-156 148 255
-164 148 255
-172 148 255
-180 148 255
-197 148 255
-205 148 255
-213 148 255
-230 148 255
-238 148 255
-246 148 255
-255 148 255
-74 139 255
-90 139 255
-106 148 255
-123 148 255
-148 156 255
-164 164 255
-172 164 255
-180 164 255
-189 164 255
-197 164 255
-213 164 255
-222 164 255
-230 164 255
-238 164 255
-246 164 255
-255 164 255
-74 148 255
-90 156 255
-106 156 255
-123 156 255
-148 164 255
-164 172 255
-180 180 255
-189 180 255
-197 180 255
-205 180 255
-213 180 255
-222 180 255
-230 180 255
-238 180 255
-246 180 255
-255 180 255
-74 164 255
-90 164 255
-106 164 255
-123 172 255
-148 172 255
-164 180 255
-180 189 255
-197 197 255
-205 197 255
-213 197 255
-222 197 255
-230 197 255
-238 197 255
-246 197 255
-246 197 255
-255 197 255
-74 172 255
-90 172 255
-106 180 255
-123 180 255
-148 189 255
-164 189 255
-180 197 255
-197 205 255
-222 222 255
-230 222 255
-230 222 255
-238 222 255
-246 222 255
-246 222 255
-255 222 255
-255 222 255
-74 189 255
-90 189 255
-106 189 255
-123 189 255
-148 197 255
-164 197 255
-180 205 255
-197 213 255
-222 230 255
-238 238 255
-238 238 255
-246 238 255
-246 238 255
-255 238 255
-255 238 255
-255 238 255
-74 197 255
-90 197 255
-106 205 255
-123 205 255
-148 205 255
-164 213 255
-180 213 255
-197 222 255
-222 230 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 213 255
-90 213 255
-106 213 255
-123 213 255
-148 213 255
-164 222 255
-180 222 255
-197 230 255
-222 238 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 222 255
-90 222 255
-106 222 255
-123 222 255
-148 230 255
-164 230 255
-180 230 255
-197 238 255
-222 246 255
-238 246 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 238 255
-90 238 255
-106 238 255
-123 238 255
-148 238 255
-164 238 255
-180 238 255
-197 246 255
-222 246 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 246 255
-90 246 255
-106 246 255
-123 246 255
-148 246 255
-164 246 255
-180 255 255
-197 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-74 255 255
-90 255 255
-106 255 255
-123 255 255
-148 255 255
-164 255 255
-180 255 255
-197 255 255
-222 255 255
-238 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
-255 255 255
diff --git a/graphics/weather/drought/colors_0.bin b/graphics/weather/drought/colors_0.bin
new file mode 100644
index 000000000..e8249d55a
--- /dev/null
+++ b/graphics/weather/drought/colors_0.bin
Binary files differ
diff --git a/graphics/weather/drought/colors_1.bin b/graphics/weather/drought/colors_1.bin
new file mode 100644
index 000000000..145423a26
--- /dev/null
+++ b/graphics/weather/drought/colors_1.bin
Binary files differ
diff --git a/graphics/weather/drought/colors_2.bin b/graphics/weather/drought/colors_2.bin
new file mode 100644
index 000000000..4cdaa0103
--- /dev/null
+++ b/graphics/weather/drought/colors_2.bin
Binary files differ
diff --git a/graphics/weather/drought/colors_3.bin b/graphics/weather/drought/colors_3.bin
new file mode 100644
index 000000000..793a8bb86
--- /dev/null
+++ b/graphics/weather/drought/colors_3.bin
Binary files differ
diff --git a/graphics/weather/drought/colors_4.bin b/graphics/weather/drought/colors_4.bin
new file mode 100644
index 000000000..315ec5193
--- /dev/null
+++ b/graphics/weather/drought/colors_4.bin
Binary files differ
diff --git a/graphics/weather/drought/colors_5.bin b/graphics/weather/drought/colors_5.bin
new file mode 100644
index 000000000..a74504f96
--- /dev/null
+++ b/graphics/weather/drought/colors_5.bin
Binary files differ
diff --git a/include/battle.h b/include/battle.h
index 73caed16f..94596c75e 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -28,10 +28,11 @@
#define B_ACTION_SAFARI_GO_NEAR 7
#define B_ACTION_SAFARI_RUN 8
#define B_ACTION_WALLY_THROW 9
-// The exact purposes of these are unclear
-#define B_ACTION_EXEC_SCRIPT 10 // when executing an action
+#define B_ACTION_EXEC_SCRIPT 10
+#define B_ACTION_TRY_FINISH 11
+#define B_ACTION_FINISHED 12
+
#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action
-#define B_ACTION_FINISHED 12 // when executing an action
#define B_ACTION_NOTHING_FAINTED 13 // when choosing an action
#define B_ACTION_NONE 0xFF
@@ -128,36 +129,36 @@ struct UnknownFlags
struct DisableStruct
{
- u32 transformedMonPersonality;
- u16 disabledMove;
- u16 encoredMove;
- u8 protectUses;
- u8 stockpileCounter;
- u8 substituteHP;
- u8 disableTimer:4;
- u8 disableTimerStartValue:4;
- u8 encoredMovePos;
- u8 filler_D; // Unused field.
- u8 encoreTimer:4;
- u8 encoreTimerStartValue:4;
- u8 perishSongTimer:4;
- u8 perishSongTimerStartValue:4;
- u8 furyCutterCounter;
- u8 rolloutTimer:4;
- u8 rolloutTimerStartValue:4;
- u8 chargeTimer:4;
- u8 chargeTimerStartValue:4;
- u8 tauntTimer:4;
- u8 tauntTimer2:4;
- u8 battlerPreventingEscape;
- u8 battlerWithSureHit;
- u8 isFirstTurn;
- u8 unk17;
- u8 truantCounter:1;
- u8 truantUnknownBit:1;
- u8 unk18_a_2:2;
- u8 unk18_b:4;
- u8 rechargeTimer;
+ u32 transformedMonPersonality;
+ u16 disabledMove;
+ u16 encoredMove;
+ u8 protectUses;
+ u8 stockpileCounter;
+ u8 substituteHP;
+ u8 disableTimer:4;
+ u8 disableTimerStartValue:4;
+ u8 encoredMovePos;
+ u8 filler_D; // Unused field.
+ u8 encoreTimer:4;
+ u8 encoreTimerStartValue:4;
+ u8 perishSongTimer:4;
+ u8 perishSongTimerStartValue:4;
+ u8 furyCutterCounter;
+ u8 rolloutTimer:4;
+ u8 rolloutTimerStartValue:4;
+ u8 chargeTimer:4;
+ u8 chargeTimerStartValue:4;
+ u8 tauntTimer:4;
+ u8 tauntTimer2:4;
+ u8 battlerPreventingEscape;
+ u8 battlerWithSureHit;
+ u8 isFirstTurn;
+ u8 filler_17; // Unused field.
+ u8 truantCounter:1;
+ u8 truantSwitchInHack:1;
+ u8 filler_18_2:2; // Unused field.
+ u8 mimickedMoves:4;
+ u8 rechargeTimer;
};
struct ProtectStruct
@@ -168,7 +169,7 @@ struct ProtectStruct
u32 helpingHand:1;
u32 bounceMove:1;
u32 stealMove:1;
- u32 flag0Unknown:1;
+ u32 flag0Unknown:1; // Only set to 0 once.
u32 prlzImmobility:1;
u32 confusionSelfDmg:1;
u32 targetNotAffected:1;
@@ -178,10 +179,10 @@ struct ProtectStruct
u32 loveImmobility:1;
u32 usedDisabledMove:1;
u32 usedTauntedMove:1;
- u32 flag2Unknown:1;
+ u32 flag2Unknown:1; // Only set to 0 once. Checked in 'WasUnableToUseMove' function.
u32 flinchImmobility:1;
u32 notFirstStrike:1;
- u32 flag_x10:1;
+ u32 palaceUnableToUseMove:1;
u32 physicalDmg;
u32 specialDmg;
u8 physicalBattlerId;
@@ -300,8 +301,8 @@ struct BattleResults
u8 playerFaintCounter; // 0x0
u8 opponentFaintCounter; // 0x1
u8 playerSwitchesCounter; // 0x2
- u8 unk3; // 0x3
- u8 unk4; // 0x4
+ u8 numHealingItemsUsed; // 0x3
+ u8 numRevivesUsed; // 0x4
u8 playerMonWasDamaged:1; // 0x5
u8 usedMasterBall:1; // 0x5
u8 caughtMonBall:4; // 0x5
@@ -441,8 +442,8 @@ struct BattleStruct
u8 safariPkblThrowCounter;
u8 safariEscapeFactor;
u8 safariCatchFactor;
- u8 field_7D; // unknown spriteId
- u8 field_7E; // unknown spriteId
+ u8 linkBattleVsSpriteId_V; // The letter "V"
+ u8 linkBattleVsSpriteId_S; // The letter "S"
u8 formToChangeInto;
u8 chosenMovePositions[MAX_BATTLERS_COUNT];
u8 stateIdAfterSelScript[MAX_BATTLERS_COUNT];
diff --git a/include/battle_anim.h b/include/battle_anim.h
index fc0f603eb..8e8a17675 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -75,6 +75,10 @@ int GetAnimBgAttribute(u8 bgId, u8 attributeId);
// battle_anim_80A5C6C.s
void sub_80A6450(struct Sprite *sprite);
+void sub_80A8AEC(struct Sprite *sprite);
+void sub_80A8A6C(struct Sprite *sprite);
+void sub_80A8E30(struct Sprite *sprite);
+void sub_80A8B64(struct Sprite *sprite);
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
void DestroySpriteAndMatrix(struct Sprite *sprite);
void AnimTranslateLinearSimple(struct Sprite *sprite);
diff --git a/include/battle_util.h b/include/battle_util.h
index b3fff196e..71bb22a00 100644
--- a/include/battle_util.h
+++ b/include/battle_util.h
@@ -42,9 +42,9 @@
#define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK)))
u8 GetBattlerForBattleScript(u8 caseId);
-void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move);
-void PressurePPLoseOnUsingPerishSong(u8 bankAtk);
-void PressurePPLoseOnUsingImprision(u8 bankAtk);
+void PressurePPLose(u8 target, u8 attacker, u16 move);
+void PressurePPLoseOnUsingPerishSong(u8 attacker);
+void PressurePPLoseOnUsingImprision(u8 attacker);
void MarkAllBattlersForControllerExec(void); // unused
void MarkBattlerForControllerExec(u8 battlerId);
void sub_803F850(u8 arg0);
diff --git a/include/contest.h b/include/contest.h
index 73ebb79fa..e4391a327 100644
--- a/include/contest.h
+++ b/include/contest.h
@@ -221,22 +221,6 @@ struct ContestPokemon
/*0x3C*/ u32 otId; // otId
}; // wow
-extern struct ContestPokemon gContestMons[4];
-extern u8 gContestMonPartyIndex;
-extern u16 gSpecialVar_ContestCategory;
-extern u16 gSpecialVar_ContestRank;
-extern u8 gUnknown_02039F2B;
-extern u8 gNumLinkContestPlayers;
-extern u8 gHighestRibbonRank;
-extern u8 gContestFinalStandings[4];
-extern u8 gContestPlayerMonIndex;
-extern s16 gUnknown_02039F08[4];
-extern s16 gUnknown_02039F10[4];
-extern s16 gUnknown_02039F18[4];
-extern s16 gContestMonConditions[4];
-extern u8 gIsLinkContest;
-extern struct ContestWinner gUnknown_02039F3C;
-
struct Shared18000
{
/*0x18000*/ u8 unk18000;
@@ -260,10 +244,10 @@ struct ContestStruct_field_18
struct Contest
{
- /*0x19204*/ u8 playerMoveChoice;
- /*0x19205*/ u8 turnNumber;
- /*0x19206*/ u8 unk19206[4]; // seems to only be used by an unref function
- /*0x1920A*/ u16 unk1920A_0:1; // Task active flags?
+ /*0x0*/ u8 playerMoveChoice;
+ /*0x1*/ u8 turnNumber;
+ /*0x2*/ u8 unk19206[4]; // seems to only be used by an unref function
+ /*0x6*/ u16 unk1920A_0:1; // Task active flags?
u16 unk1920A_1:1;
u16 unk1920A_2:1;
u16 unk1920A_3:1;
@@ -271,18 +255,18 @@ struct Contest
u16 unk1920A_5:1;
u16 unk1920A_6:1;
u16 unk1920A_7:1;
- /*0x1920B*/ u16 unk1920B_0:1;
+ /*0x7*/ u16 unk1920B_0:1;
u16 unk1920B_1:1;
u16 unk1920B_2:1;
- /*0x1920C*/ u8 mainTaskId;
- /*0x1920D*/ u8 unk1920D[4];
- /*0x19211*/ u8 unk19211;
- /*0x19212*/ u8 unk19212;
- /*0x19213*/ u8 filler19213;
- /*0x19214*/ u8 unk19214;
- /*0x19215*/ u8 unk19215;
- /*0x19216*/ u8 unk19216; // sprite ID
- /*0x19217*/ s8 applauseLevel;
+ /*0x8*/ u8 mainTaskId;
+ /*0x9*/ u8 unk1920D[4];
+ /*0xD*/ u8 unk19211;
+ /*0xE*/ u8 unk19212;
+ /*0xF*/ u8 filler19213;
+ /*0x10*/ u8 unk19214;
+ /*0x11*/ u8 unk19215;
+ /*0x12*/ u8 unk19216; // sprite ID
+ /*0x13*/ s8 applauseLevel;
/*0x19218*/ u8 unk19218[4];
/*0x1921C*/ u32 unk1921C; // saved RNG value?
u16 unk19220[5][4]; // move history?
@@ -385,9 +369,22 @@ struct UnknownContestStruct4
u8 unk2_2:1;
};
+struct UnknownContestStruct6
+{
+ s32 unk0;
+ s32 unk4;
+ s32 unk8;
+ s32 unkC;
+};
+
struct ContestResourcesField1C
{
- u8 filler_00[0x40];
+ u16 unk0[5];
+ s16 unkA;
+ u8 unkC;
+ u8 unkD;
+ u8 unkE_1:1;
+ u8 unkE_2:1;
};
struct ContestResourcesField20
@@ -412,38 +409,64 @@ struct ContestResources
void * field_3c;
};
-extern struct ContestResources *gContestResources;
-
#define sContest (*gContestResources->field_0)
#define sContestantStatus (gContestResources->field_4)
#define shared192D0 (*gContestResources->field_8)
#define eContestAI (gContestResources->field_C)
#define shared19328 (*gContestResources->field_10)
#define shared19338 (*gContestResources->field_14)
-
#define shared15800 (gHeap + 0x18000)
+#define shared16800 (gHeap + 0x19000)
#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
-extern u32 gContestRngValue;
+extern struct ContestPokemon gContestMons[4];
+extern s16 gContestMonConditions[4];
+extern s16 gUnknown_02039F08[4];
+extern s16 gUnknown_02039F10[4];
+extern s16 gUnknown_02039F18[4];
+extern u8 gContestFinalStandings[4];
+extern u8 gContestMonPartyIndex;
+extern u8 gContestPlayerMonIndex;
extern u8 gUnknown_02039F26[4];
+extern u8 gIsLinkContest;
+extern u8 gUnknown_02039F2B;
+extern u16 gSpecialVar_ContestCategory;
+extern u16 gSpecialVar_ContestRank;
+extern u8 gNumLinkContestPlayers;
+extern u8 gHighestRibbonRank;
+extern struct ContestResources *gContestResources;
+extern u8 sContestBgCopyFlags;
+extern struct ContestWinner gUnknown_02039F3C;
+extern u8 gUnknown_02039F5C;
+extern u8 gUnknown_02039F5D;
-bool8 IsSpeciesNotUnown(u16 species);
+extern u32 gContestRngValue;
+
+// contest.c
+void ResetLinkContestBoolean(void);
void LoadContestBgAfterMoveAnim(void);
+void sub_80D7B24(void);
+void sub_80DA8C8(u8 partyIndex);
+void sub_80DAB8C(u8 contestType, u8 rank);
+void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
+u8 sub_80DAE0C(struct Pokemon *pkmn);
+void sub_80DB09C(u8 contestCategory);
+bool8 IsSpeciesNotUnown(u16 species);
+bool8 Contest_IsMonsTurnDisabled(u8 a);
+void sub_80DBED4(void);
+void sub_80DCE58(u8 a);
void SetContestantEffectStringID(u8 a, u8 b);
void SetContestantEffectStringID2(u8 a, u8 b);
+void SetStartledString(u8 contestant, u8 jam);
void MakeContestantNervous(u8 p);
-bool8 Contest_IsMonsTurnDisabled(u8 a);
+s8 Contest_GetMoveExcitement(u16 move);
bool8 sub_80DE1E8(u8 a);
-void SetStartledString(u8 a, u8 b);
-s8 Contest_GetMoveExcitement(u16);
-u8 sub_80DAE0C(struct Pokemon *);
-void sub_80DEDA8(u8);
-void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame);
-void sub_80DB09C(u8 contestCategory);
-void sub_80DCE58(u8);
-void sub_80DFA08(struct ContestPokemon *mon, int language);
-void sub_80DBED4(void);
-u8 sub_80DEFA8(u8, u8);
+void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId);
+void ResetContestLinkResults(void);
+bool8 sub_80DEDA8(u8 a);
+u8 sub_80DEFA8(u8 a, u8 b);
+void ClearContestWinnerPicsInContestHall(void);
+void sub_80DFA08(struct ContestPokemon *mon, s32 language);
// contest link
void sub_81D9DE4(u8 taskId);
@@ -456,5 +479,4 @@ bool8 sub_80FC55C(void);
bool8 sub_80FC530(u8);
u8 sub_80F86E0(u8 *);
-
#endif //GUARD_CONTEST_H
diff --git a/include/contest_painting.h b/include/contest_painting.h
index ca03a72b5..c633c50cc 100644
--- a/include/contest_painting.h
+++ b/include/contest_painting.h
@@ -13,7 +13,4 @@ enum
void sub_812FDA8(int);
void CB2_ContestPainting(void);
-extern u8 gUnknown_02039F5C;
-extern u8 gUnknown_02039F5D;
-
#endif
diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h
index 339a0774e..e2836c6f6 100644
--- a/include/gba/m4a_internal.h
+++ b/include/gba/m4a_internal.h
@@ -69,38 +69,38 @@ struct ToneData
struct CgbChannel
{
- u8 sf;
- u8 ty;
- u8 rightVolume;
- u8 leftVolume;
- u8 at;
- u8 de;
- u8 su;
- u8 re;
- u8 ky;
- u8 ev;
- u8 eg;
- u8 ec;
- u8 echoVolume;
- u8 echoLength;
- u8 d1;
- u8 d2;
- u8 gt;
- u8 mk;
- u8 ve;
- u8 pr;
- u8 rp;
- u8 d3[3];
- u8 d5;
- u8 sg;
- u8 n4;
- u8 pan;
- u8 panMask;
- u8 mo;
- u8 le;
- u8 sw;
- u32 fr;
- u32 wp;
+ u8 sf; // 0x0
+ u8 ty; // 0x1
+ u8 rightVolume; // 0x2
+ u8 leftVolume; // 0x3
+ u8 at; // 0x4
+ u8 de; // 0x5
+ u8 su; // 0x6
+ u8 re; // 0x7
+ u8 ky; // 0x8
+ u8 ev; // 0x9
+ u8 eg; // 0xA
+ u8 ec; // 0xB
+ u8 echoVolume; // 0xC
+ u8 echoLength; // 0xD
+ u8 d1; // 0xE
+ u8 d2; // 0xF
+ u8 gt; // 0x10
+ u8 mk; // 0x11
+ u8 ve; // 0x12
+ u8 pr; // 0x13
+ u8 rp; // 0x14
+ u8 d3[3]; // 0x15, 0x16, 0x17
+ u8 d5; // 0x18
+ u8 sg; // 0x19
+ u8 n4; // 0x1A
+ u8 pan; // 0x1B
+ u8 panMask; // 0x1C
+ u8 mo; // 0x1D
+ u8 le; // 0x1E
+ u8 sw; // 0x1F
+ u32 fr; // 0x20
+ u32 *wp;
u32 cp;
u32 tp;
u32 pp;
@@ -397,6 +397,7 @@ void m4aSoundMode(u32 mode);
void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track, u8 a3);
void CgbSound(void);
void CgbOscOff(u8);
+void CgbModVol(struct CgbChannel *chan);
u32 MidiKeyToCgbFreq(u8, u8, u8);
void DummyFunc(void);
void MPlayJumpTableCopy(void **mplayJumpTable);
diff --git a/include/global.tv.h b/include/global.tv.h
index 61f014984..aa151a75c 100644
--- a/include/global.tv.h
+++ b/include/global.tv.h
@@ -521,13 +521,13 @@ struct GabbyAndTyData
/*2bad*/ u8 battleNum;
/*2bae*/ u8 battleTookMoreThanOneTurn:1;
/*2bae*/ u8 playerLostAMon:1;
- /*2bae*/ u8 playerUsedAnItem:1;
+ /*2bae*/ u8 playerUsedHealingItem:1;
/*2bae*/ u8 playerThrewABall:1;
/*2bae*/ u8 onAir:1;
/*2bae*/ u8 valA_5:3;
/*2baf*/ u8 battleTookMoreThanOneTurn2:1;
/*2baf*/ u8 playerLostAMon2:1;
- /*2baf*/ u8 playerUsedAnItem2:1;
+ /*2baf*/ u8 playerUsedHealingItem2:1;
/*2baf*/ u8 playerThrewABall2:1;
/*2baf*/ u8 valB_4:4;
};
diff --git a/include/graphics.h b/include/graphics.h
index cfe73c6c3..f7eaa394d 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -4745,9 +4745,13 @@ extern const u32 gBattleStatMask8_Pal[];
extern const u32 gUnknown_08D9A88C[];
extern const u32 gContestMiscGfx[];
extern const u32 gContestAudienceGfx[];
+extern const u8 gContestApplauseMeterGfx[];
+extern const u8 gContestNextTurnNumbersGfx[];
+extern const u8 gContestNextTurnRandomGfx[];
extern const u32 gUnknown_08C16FA8[];
extern const u32 gUnknown_08C16E90[];
extern const u32 gUnknown_08C17170[];
+extern const u32 gUnknown_08C17980[];
extern const u32 gUnknown_08D95E00[];
extern const u32 gUnknown_08D960D0[];
diff --git a/include/list_menu.h b/include/list_menu.h
index 84c38306b..ef23688d8 100644
--- a/include/list_menu.h
+++ b/include/list_menu.h
@@ -101,7 +101,7 @@ extern struct ListMenuTemplate gMultiuseListMenuTemplate;
s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow);
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *arg1, u16 scrollOffset, u16 selectedRow);
-s32 ListMenuHandleInputGetItemId(u8 listTaskId);
+s32 ListMenu_ProcessInput(u8 listTaskId);
void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow);
void RedrawListMenu(u8 listTaskId);
void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShadowPal);
diff --git a/include/party_menu.h b/include/party_menu.h
index ae7c414a8..702b4fde1 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -48,6 +48,8 @@ extern MainCallback gPostMenuFieldCallback;
extern u8 gSelectedOrderFromParty[4];
extern u8 gUnknown_0203CF00[3];
+extern void (*gUnknown_03006328)(u8, TaskFunc);
+
extern const u16 gTutorMoves[];
void sub_81B0FCC(u8 slot, u8 b);
diff --git a/include/pokedex_cry_screen.h b/include/pokedex_cry_screen.h
index 392e80a6d..93f1b02a5 100755
--- a/include/pokedex_cry_screen.h
+++ b/include/pokedex_cry_screen.h
@@ -10,6 +10,8 @@ struct CryRelatedStruct
u8 yPos;
};
+extern u8 gDexCryScreenState;
+
bool8 sub_8145354(struct CryRelatedStruct*, u8);
void sub_814545C(u8);
void sub_8145534(u16);
diff --git a/include/text.h b/include/text.h
index d9c7a9a2e..96c5a4507 100644
--- a/include/text.h
+++ b/include/text.h
@@ -13,10 +13,15 @@
#define CHAR_7 0xA8
#define CHAR_8 0xA9
#define CHAR_9 0xAA
+#define CHAR_EXCL_MARK 0xAB
#define CHAR_QUESTION_MARK 0xAC
#define CHAR_PERIOD 0xAD
#define CHAR_HYPHEN 0xAE
#define CHAR_ELLIPSIS 0xB0
+#define CHAR_DBL_QUOT_LEFT 0xB1
+#define CHAR_DBL_QUOT_RIGHT 0xB2
+#define CHAR_SGL_QUOT_LEFT 0xB3
+#define CHAR_SGL_QUOT_RIGHT 0xB4
#define CHAR_MALE 0xB5
#define CHAR_FEMALE 0xB6
#define CHAR_CURRENCY 0xB7
diff --git a/include/trade.h b/include/trade.h
index 95a10cacf..0c95e1e81 100644
--- a/include/trade.h
+++ b/include/trade.h
@@ -6,8 +6,11 @@
// Exported type declarations
// Exported RAM declarations
+extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
+extern u8 gUnknown_02032298[2];
// Exported ROM declarations
+extern const struct WindowTemplate gUnknown_0833900C;
s32 sub_807A728(void);
void sub_80773AC(void);
diff --git a/include/tv.h b/include/tv.h
index ea0226815..760d87522 100644
--- a/include/tv.h
+++ b/include/tv.h
@@ -56,5 +56,10 @@ void SaveRecordedItemPurchasesForTVShow(void);
bool8 sub_80EE818(void);
void sub_80EE8C8(u16 winStreak, u8 facilityAndMode);
void BravoTrainerPokemonProfile_BeforeInterview2(u8 contestStandingPlace);
+void ContestLiveUpdates_BeforeInterview_1(u8 a0);
+void ContestLiveUpdates_BeforeInterview_2(u8 a0);
+void ContestLiveUpdates_BeforeInterview_3(u8 a0);
+void ContestLiveUpdates_BeforeInterview_4(u16 a0);
+void ContestLiveUpdates_BeforeInterview_5(u8 a0, u8 a1);
#endif //GUARD_TV_H
diff --git a/include/util.h b/include/util.h
index 9d13453c2..56c89359a 100644
--- a/include/util.h
+++ b/include/util.h
@@ -15,5 +15,7 @@ u16 CalcCRC16WithTable(u8 *data, u32 length);
u32 CalcByteArraySum(const u8* data, u32 length);
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha);
+void CopySpriteTiles(u8 shape, u8 size, u8 *tiles, u16 *tilemap, u8 *output);
+
#endif // GUARD_UTIL_H
diff --git a/ld_script.txt b/ld_script.txt
index 844c64fb5..306a1f4b0 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -27,7 +27,7 @@ SECTIONS {
INCLUDE "sym_bss.ld"
/* .bss.code starts at 0x3001AA8 */
- src/m4a_2.o(.bss.code);
+ src/m4a.o(.bss.code);
/* COMMON starts at 0x30022A8 */
INCLUDE "sym_common.ld"
@@ -136,7 +136,6 @@ SECTIONS {
src/battle_anim_80D51AC.o(.text);
src/item.o(.text);
src/contest.o(.text);
- asm/contest.o(.text);
src/shop.o(.text);
src/fldeff_escalator.o(.text);
src/berry.o(.text);
@@ -320,9 +319,7 @@ SECTIONS {
{
asm/libgcnmultiboot.o(.text);
asm/m4a_1.o(.text);
- src/m4a_2.o(.text);
- asm/m4a_3.o(.text);
- src/m4a_4.o(.text);
+ src/m4a.o(.text);
src/agb_flash.o(.text);
src/agb_flash_1m.o(.text);
src/agb_flash_mx.o(.text);
@@ -440,14 +437,12 @@ SECTIONS {
src/start_menu.o(.rodata);
src/tileset_anims.o(.rodata);
src/palette.o(.rodata);
- data/fanfares.o(.rodata);
+ src/sound.o(.rodata);
src/battle_anim.o(.rodata);
src/battle_anim_80A5C6C.o(.rodata);
data/map_events.o(.rodata);
- data/battle_anim_80A9C70.o(.rodata);
src/battle_anim_80A9C70.o(.rodata);
src/title_screen.o(.rodata);
- data/field_weather.o(.rodata);
src/field_weather.o(.rodata);
src/field_weather_effect.o(.rodata);
src/field_screen_effect.o(.rodata);
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c
index 001f99d7f..1271680e0 100644
--- a/src/battle_anim_80A9C70.c
+++ b/src/battle_anim_80A9C70.c
@@ -28,6 +28,182 @@ static void sub_80A9E44(struct Sprite *sprite);
static void sub_80A9E78(struct Sprite *sprite);
// const rom data
+static const union AnimCmd sSpriteAnim_853EDE4[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(4, 3),
+ ANIMCMD_FRAME(8, 3),
+ ANIMCMD_FRAME(12, 3),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EDF8[] =
+{
+ sSpriteAnim_853EDE4
+};
+
+const struct SpriteTemplate gUnknown_0853EDFC =
+{
+ .tileTag = ANIM_TAG_UNUSED_ORB,
+ .paletteTag = ANIM_TAG_UNUSED_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = sSpriteAnimTable_853EDF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+const struct SpriteTemplate gUnknown_0853EE14 =
+{
+ .tileTag = ANIM_TAG_UNUSED_ORB,
+ .paletteTag = ANIM_TAG_UNUSED_ORB,
+ .oam = &gUnknown_0852490C,
+ .anims = sSpriteAnimTable_853EDF8,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8A6C,
+};
+
+static const union AnimCmd sSpriteAnim_853EE2C[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EE34[] =
+{
+ sSpriteAnim_853EE2C
+};
+
+const struct SpriteTemplate gUnknown_0853EE38 =
+{
+ .tileTag = ANIM_TAG_WEATHER_BALL,
+ .paletteTag = ANIM_TAG_WEATHER_BALL,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8E30,
+};
+
+const struct SpriteTemplate gUnknown_0853EE50 =
+{
+ .tileTag = ANIM_TAG_WEATHER_BALL,
+ .paletteTag = ANIM_TAG_WEATHER_BALL,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE34,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8EE4,
+};
+
+static const union AnimCmd sSpriteAnim_853EE68[] =
+{
+ ANIMCMD_FRAME(0, 3),
+ ANIMCMD_FRAME(16, 3),
+ ANIMCMD_FRAME(32, 3),
+ ANIMCMD_FRAME(48, 3),
+ ANIMCMD_FRAME(64, 3),
+ ANIMCMD_END
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EE80[] =
+{
+ sSpriteAnim_853EE68
+};
+
+const struct SpriteTemplate gUnknown_0853EE84 =
+{
+ .tileTag = ANIM_TAG_SPARKLE_4,
+ .paletteTag = ANIM_TAG_SPARKLE_4,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EE80,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8B64,
+};
+
+const struct SpriteTemplate gUnknown_0853EE9C =
+{
+ .tileTag = ANIM_TAG_UNUSED_MONSTER_FOOT,
+ .paletteTag = ANIM_TAG_UNUSED_MONSTER_FOOT,
+ .oam = &gUnknown_08524914,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+static const union AnimCmd sSpriteAnim_853EEB4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_853EEBC[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd sSpriteAnim_853EEC4[] =
+{
+ ANIMCMD_FRAME(0, 5),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EECC[] =
+{
+ sSpriteAnim_853EEB4,
+ sSpriteAnim_853EEBC,
+ sSpriteAnim_853EEC4
+};
+
+const struct SpriteTemplate gUnknown_0853EED8 =
+{
+ .tileTag = ANIM_TAG_IMPACT,
+ .paletteTag = ANIM_TAG_IMPACT,
+ .oam = &gUnknown_08524914,
+ .anims = sSpriteAnimTable_853EECC,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80A8AEC,
+};
+
+static const union AnimCmd sSpriteAnim_853EEF0[] =
+{
+ ANIMCMD_FRAME(0, 15),
+ ANIMCMD_JUMP(0)
+};
+
+static const union AnimCmd *const sSpriteAnimTable_853EEF8[] =
+{
+ sSpriteAnim_853EEF0
+};
+
+static const union AffineAnimCmd sSpriteAffineAnim_853EEFC[] =
+{
+ AFFINEANIMCMD_FRAME(96, 96, 0, 0),
+ AFFINEANIMCMD_FRAME(2, 2, 0, 1),
+ AFFINEANIMCMD_JUMP(1)
+};
+
+static const union AffineAnimCmd *const sSpriteAffineAnimTable_853EEF8[] =
+{
+ sSpriteAffineAnim_853EEFC
+};
+
+const struct SpriteTemplate gUnknown_0853EF18 =
+{
+ .tileTag = ANIM_TAG_UNUSED_ORB,
+ .paletteTag = ANIM_TAG_UNUSED_ORB,
+ .oam = &gUnknown_085249CC,
+ .anims = sSpriteAnimTable_853EEF8,
+ .images = NULL,
+ .affineAnims = sSpriteAffineAnimTable_853EEF8,
+ .callback = sub_80A8A6C,
+};
+
static const struct Subsprite gUnknown_0853EF30[] =
{
{.x = -16, .y = -16, .shape = ST_OAM_SQUARE, .size = 3, .tileOffset = 0, .priority = 2},
diff --git a/src/battle_bg.c b/src/battle_bg.c
index a072a2cda..61a914fc9 100644
--- a/src/battle_bg.c
+++ b/src/battle_bg.c
@@ -1037,10 +1037,10 @@ void sub_8035D74(u8 taskId)
case 1:
palId = AllocSpritePalette(0x2710);
gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF;
- gBattleStruct->field_7D = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0);
- gBattleStruct->field_7E = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0);
- gSprites[gBattleStruct->field_7D].invisible = TRUE;
- gSprites[gBattleStruct->field_7E].invisible = TRUE;
+ gBattleStruct->linkBattleVsSpriteId_V = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0);
+ gBattleStruct->linkBattleVsSpriteId_S = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0);
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = TRUE;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = TRUE;
gTasks[taskId].data[0]++;
break;
case 2:
@@ -1071,15 +1071,15 @@ void sub_8035D74(u8 taskId)
PlaySE(SE_W231);
DestroyTask(taskId);
- gSprites[gBattleStruct->field_7D].invisible = FALSE;
- gSprites[gBattleStruct->field_7E].invisible = FALSE;
- gSprites[gBattleStruct->field_7E].oam.tileNum += 0x40;
- gSprites[gBattleStruct->field_7D].data[0] = 0;
- gSprites[gBattleStruct->field_7E].data[0] = 1;
- gSprites[gBattleStruct->field_7D].data[1] = gSprites[gBattleStruct->field_7D].pos1.x;
- gSprites[gBattleStruct->field_7E].data[1] = gSprites[gBattleStruct->field_7E].pos1.x;
- gSprites[gBattleStruct->field_7D].data[2] = 0;
- gSprites[gBattleStruct->field_7E].data[2] = 0;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].invisible = FALSE;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].invisible = FALSE;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.tileNum += 0x40;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[0] = 0;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[0] = 1;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_V].pos1.x;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[1] = gSprites[gBattleStruct->linkBattleVsSpriteId_S].pos1.x;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].data[2] = 0;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].data[2] = 0;
}
break;
}
diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c
index a6a6ac0f3..70b0a6160 100644
--- a/src/battle_controller_player.c
+++ b/src/battle_controller_player.c
@@ -696,10 +696,10 @@ static void HandleMoveSwitching(void)
moveInfo->maxPp[gMoveSelectionCursor[gActiveBattler]] = moveInfo->maxPp[gMultiUsePlayerCursor];
moveInfo->maxPp[gMultiUsePlayerCursor] = i;
- if (gDisableStructs[gActiveBattler].unk18_b & gBitTable[gMoveSelectionCursor[gActiveBattler]])
+ if (gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[gMoveSelectionCursor[gActiveBattler]])
{
- gDisableStructs[gActiveBattler].unk18_b &= (~gBitTable[gMoveSelectionCursor[gActiveBattler]]);
- gDisableStructs[gActiveBattler].unk18_b |= gBitTable[gMultiUsePlayerCursor];
+ gDisableStructs[gActiveBattler].mimickedMoves &= (~gBitTable[gMoveSelectionCursor[gActiveBattler]]);
+ gDisableStructs[gActiveBattler].mimickedMoves |= gBitTable[gMultiUsePlayerCursor];
}
MoveSelectionDisplayMoveNames();
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 3ceaef983..7c6b74304 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -205,13 +205,13 @@ u16 ChooseMoveAndTargetInBattlePalace(void)
if (Random() % 100 > 49)
{
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
return 0;
}
}
else
{
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
return 0;
}
}
diff --git a/src/battle_intro.c b/src/battle_intro.c
index 21e83ed29..043cf855a 100644
--- a/src/battle_intro.c
+++ b/src/battle_intro.c
@@ -463,10 +463,10 @@ static void BattleIntroSlideLink(u8 taskId)
if (--gTasks[taskId].data[2] == 0)
{
gTasks[taskId].data[0]++;
- gSprites[gBattleStruct->field_7D].oam.objMode = ST_OAM_OBJ_WINDOW;
- gSprites[gBattleStruct->field_7D].callback = sub_8038B74;
- gSprites[gBattleStruct->field_7E].oam.objMode = ST_OAM_OBJ_WINDOW;
- gSprites[gBattleStruct->field_7E].callback = sub_8038B74;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_V].callback = sub_8038B74;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].oam.objMode = ST_OAM_OBJ_WINDOW;
+ gSprites[gBattleStruct->linkBattleVsSpriteId_S].callback = sub_8038B74;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR);
SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR | WINOUT_WIN01_BG1 | WINOUT_WIN01_BG2);
}
diff --git a/src/battle_main.c b/src/battle_main.c
index 1aeaa25ca..043e75808 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -139,7 +139,7 @@ static void HandleAction_ThrowPokeblock(void);
static void HandleAction_GoNear(void);
static void HandleAction_SafariZoneRun(void);
static void HandleAction_WallyBallThrow(void);
-static void HandleAction_Action11(void);
+static void HandleAction_TryFinish(void);
static void HandleAction_NothingIsFainted(void);
static void HandleAction_ActionFinished(void);
@@ -553,7 +553,7 @@ static void (* const sTurnActionsFuncsTable[])(void) =
[B_ACTION_SAFARI_RUN] = HandleAction_SafariZoneRun,
[B_ACTION_WALLY_THROW] = HandleAction_WallyBallThrow,
[B_ACTION_EXEC_SCRIPT] = HandleAction_RunBattleScript,
- [11] = HandleAction_Action11, // not sure about this one
+ [B_ACTION_TRY_FINISH] = HandleAction_TryFinish,
[B_ACTION_FINISHED] = HandleAction_ActionFinished,
[B_ACTION_NOTHING_FAINTED] = HandleAction_NothingIsFainted,
};
@@ -3196,7 +3196,7 @@ void SwitchInClearSetData(void)
gMoveResultFlags = 0;
gDisableStructs[gActiveBattler].isFirstTurn = 2;
- gDisableStructs[gActiveBattler].truantUnknownBit = disableStructCopy.truantUnknownBit;
+ gDisableStructs[gActiveBattler].truantSwitchInHack = disableStructCopy.truantSwitchInHack;
gLastMoves[gActiveBattler] = 0;
gLastLandedMoves[gActiveBattler] = 0;
gLastHitByType[gActiveBattler] = 0;
@@ -5492,7 +5492,7 @@ static void HandleAction_UseMove(void)
// choose battlescript
if (gBattleTypeFlags & BATTLE_TYPE_PALACE
- && gProtectStructs[gBattlerAttacker].flag_x10)
+ && gProtectStructs[gBattlerAttacker].palaceUnableToUseMove)
{
if (gBattleMons[gBattlerAttacker].hp == 0)
{
@@ -5845,7 +5845,7 @@ static void HandleAction_WallyBallThrow(void)
gActionsByTurnOrder[1] = B_ACTION_FINISHED;
}
-static void HandleAction_Action11(void)
+static void HandleAction_TryFinish(void)
{
if (!HandleFaintedMonActions())
{
diff --git a/src/battle_message.c b/src/battle_message.c
index 7b8085219..164108dec 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -37,8 +37,6 @@ struct BattleWindowText
u8 shadowColor;
};
-extern u8 gUnknown_0203C7B4;
-
extern const u8 gTrainerClassNames[][13];
extern const u16 gUnknown_08D85620[];
diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c
index 50baf48fd..9bed2ab43 100644
--- a/src/battle_pyramid_bag.c
+++ b/src/battle_pyramid_bag.c
@@ -853,7 +853,7 @@ static void Task_HandlePyramidBagInput(u8 taskId)
}
else
{
- s32 listId = ListMenuHandleInputGetItemId(data[0]);
+ s32 listId = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition);
switch (listId)
{
@@ -945,9 +945,9 @@ static void HandleFewMenuActionsInput(u8 taskId)
s32 id = Menu_ProcessInputNoWrap();
switch (id)
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
break;
- case -1:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
sMenuActions[ACTION_CANCEL].func.void_u8(taskId);
break;
@@ -1285,7 +1285,7 @@ static void Task_ItemSwapHandleInput(u8 taskId)
}
else
{
- s32 id = ListMenuHandleInputGetItemId(data[0]);
+ s32 id = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &gPyramidBagCursorData.scrollPosition, &gPyramidBagCursorData.cursorPosition);
sub_81C7028(FALSE);
sub_81C704C(gPyramidBagCursorData.cursorPosition);
diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c
index 0995eec45..6023b2c1b 100644
--- a/src/battle_script_commands.c
+++ b/src/battle_script_commands.c
@@ -1243,7 +1243,7 @@ static void atk03_ppreduce(void)
gBattleMons[gBattlerAttacker].pp[gCurrMovePos] = 0;
if (!(gBattleMons[gBattlerAttacker].status2 & STATUS2_TRANSFORMED)
- && !((gDisableStructs[gBattlerAttacker].unk18_b) & gBitTable[gCurrMovePos]))
+ && !((gDisableStructs[gBattlerAttacker].mimickedMoves) & gBitTable[gCurrMovePos]))
{
gActiveBattler = gBattlerAttacker;
BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + gCurrMovePos, 0, 1, &gBattleMons[gBattlerAttacker].pp[gCurrMovePos]);
@@ -4233,13 +4233,13 @@ static void atk3D_end(void)
gMoveResultFlags = 0;
gActiveBattler = 0;
- gCurrentActionFuncId = 0xB;
+ gCurrentActionFuncId = B_ACTION_TRY_FINISH;
}
static void atk3E_end2(void)
{
gActiveBattler = 0;
- gCurrentActionFuncId = 0xB;
+ gCurrentActionFuncId = B_ACTION_TRY_FINISH;
}
static void atk3F_end3(void) // pops the main function stack
@@ -5550,10 +5550,12 @@ static void atk52_switchineffects(void)
}
else
{
- if (gBattleMons[gActiveBattler].ability == ABILITY_TRUANT && !gDisableStructs[gActiveBattler].truantUnknownBit)
+ // There is a hack here to ensure the truant counter will be 0 when the battler's next turn starts.
+ // The truant counter is not updated in the case where a mon switches in after a lost judgement in the battle arena.
+ if (gBattleMons[gActiveBattler].ability == ABILITY_TRUANT && !gDisableStructs[gActiveBattler].truantSwitchInHack)
gDisableStructs[gActiveBattler].truantCounter = 1;
- gDisableStructs[gActiveBattler].truantUnknownBit = 0;
+ gDisableStructs[gActiveBattler].truantSwitchInHack = 0;
if (!AbilityBattleEffects(ABILITYEFFECT_ON_SWITCHIN, gActiveBattler, 0, 0, 0)
&& !ItemBattleEffects(ITEMEFFECT_ON_SWITCH_IN, gActiveBattler, FALSE))
@@ -5774,7 +5776,7 @@ static void atk5A_yesnoboxlearnmove(void)
if (gBattlerPartyIndexes[0] == gBattleStruct->expGetterMonId
&& !(gBattleMons[0].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[0].unk18_b & gBitTable[movePosition]))
+ && !(gDisableStructs[0].mimickedMoves & gBitTable[movePosition]))
{
RemoveBattleMonPPBonus(&gBattleMons[0], movePosition);
SetBattleMonMoveSlot(&gBattleMons[0], gMoveToLearn, movePosition);
@@ -5782,7 +5784,7 @@ static void atk5A_yesnoboxlearnmove(void)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE
&& gBattlerPartyIndexes[2] == gBattleStruct->expGetterMonId
&& !(gBattleMons[2].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[2].unk18_b & gBitTable[movePosition]))
+ && !(gDisableStructs[2].mimickedMoves & gBitTable[movePosition]))
{
RemoveBattleMonPPBonus(&gBattleMons[2], movePosition);
SetBattleMonMoveSlot(&gBattleMons[2], gMoveToLearn, movePosition);
@@ -6694,14 +6696,14 @@ static void atk76_various(void)
gBattleMons[1].hp = 0;
gHitMarker |= HITMARKER_FAINTED(1);
gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
- gDisableStructs[1].truantUnknownBit = 1;
+ gDisableStructs[1].truantSwitchInHack = 1;
break;
case VARIOUS_ARENA_PLAYER_MON_LOST:
gBattleMons[0].hp = 0;
gHitMarker |= HITMARKER_FAINTED(0);
gHitMarker |= HITMARKER_x400000;
gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
- gDisableStructs[0].truantUnknownBit = 1;
+ gDisableStructs[0].truantSwitchInHack = 1;
break;
case VARIOUS_ARENA_BOTH_MONS_LOST:
gBattleMons[0].hp = 0;
@@ -6711,8 +6713,8 @@ static void atk76_various(void)
gHitMarker |= HITMARKER_x400000;
gBattleStruct->arenaLostPlayerMons |= gBitTable[gBattlerPartyIndexes[0]];
gBattleStruct->arenaLostOpponentMons |= gBitTable[gBattlerPartyIndexes[1]];
- gDisableStructs[0].truantUnknownBit = 1;
- gDisableStructs[1].truantUnknownBit = 1;
+ gDisableStructs[0].truantSwitchInHack = 1;
+ gDisableStructs[1].truantSwitchInHack = 1;
break;
case VARIOUS_EMIT_YESNOBOX:
BtlController_EmitUnknownYesNoBox(0);
@@ -8021,7 +8023,7 @@ static void atk9B_transformdataexecution(void)
gDisableStructs[gBattlerAttacker].disabledMove = 0;
gDisableStructs[gBattlerAttacker].disableTimer = 0;
gDisableStructs[gBattlerAttacker].transformedMonPersonality = gBattleMons[gBattlerTarget].personality;
- gDisableStructs[gBattlerAttacker].unk18_b = 0;
+ gDisableStructs[gBattlerAttacker].mimickedMoves = 0;
PREPARE_SPECIES_BUFFER(gBattleTextBuff1, gBattleMons[gBattlerTarget].species)
@@ -8095,7 +8097,7 @@ static void atk9D_mimicattackcopy(void)
}
else
{
- s32 i;
+ int i;
for (i = 0; i < MAX_MON_MOVES; i++)
{
@@ -8114,7 +8116,7 @@ static void atk9D_mimicattackcopy(void)
PREPARE_MOVE_BUFFER(gBattleTextBuff1, gLastMoves[gBattlerTarget])
- gDisableStructs[gBattlerAttacker].unk18_b |= gBitTable[gCurrMovePos];
+ gDisableStructs[gBattlerAttacker].mimickedMoves |= gBitTable[gCurrMovePos];
gBattlescriptCurrInstr += 5;
}
else
@@ -8571,7 +8573,7 @@ static void atkAD_tryspiteppreduce(void)
gBattleMons[gBattlerTarget].pp[i] -= ppToDeduct;
gActiveBattler = gBattlerTarget;
- if (!(gDisableStructs[gActiveBattler].unk18_b & gBitTable[i])
+ if (!(gDisableStructs[gActiveBattler].mimickedMoves & gBitTable[i])
&& !(gBattleMons[gActiveBattler].status2 & STATUS2_TRANSFORMED))
{
BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]);
diff --git a/src/battle_util.c b/src/battle_util.c
index 5d8e42482..2f583a9c7 100644
--- a/src/battle_util.c
+++ b/src/battle_util.c
@@ -78,38 +78,38 @@ u8 GetBattlerForBattleScript(u8 caseId)
return ret;
}
-void PressurePPLose(u8 defender, u8 attacker, u16 move)
+void PressurePPLose(u8 target, u8 attacker, u16 move)
{
- s32 i;
+ int moveIndex;
- if (gBattleMons[defender].ability != ABILITY_PRESSURE)
+ if (gBattleMons[target].ability != ABILITY_PRESSURE)
return;
- for (i = 0; i < MAX_MON_MOVES; i++)
+ for (moveIndex = 0; moveIndex < MAX_MON_MOVES; moveIndex++)
{
- if (gBattleMons[attacker].moves[i] == move)
+ if (gBattleMons[attacker].moves[moveIndex] == move)
break;
}
- if (i == MAX_MON_MOVES) // mons don't share any moves
+ if (moveIndex == MAX_MON_MOVES)
return;
- if (gBattleMons[attacker].pp[i] != 0)
- gBattleMons[attacker].pp[i]--;
+ if (gBattleMons[attacker].pp[moveIndex] != 0)
+ gBattleMons[attacker].pp[moveIndex]--;
if (!(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[attacker].unk18_b & gBitTable[i]))
+ && !(gDisableStructs[attacker].mimickedMoves & gBitTable[moveIndex]))
{
gActiveBattler = attacker;
- BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + i, 0, 1, &gBattleMons[gActiveBattler].pp[i]);
+ BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + moveIndex, 0, 1, &gBattleMons[gActiveBattler].pp[moveIndex]);
MarkBattlerForControllerExec(gActiveBattler);
}
}
void PressurePPLoseOnUsingImprision(u8 attacker)
{
- s32 i, j;
- s32 imprisionPos = 4;
+ int i, j;
+ int imprisionPos = 4;
u8 atkSide = GetBattlerSide(attacker);
for (i = 0; i < gBattlersCount; i++)
@@ -132,7 +132,7 @@ void PressurePPLoseOnUsingImprision(u8 attacker)
if (imprisionPos != 4
&& !(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[attacker].unk18_b & gBitTable[imprisionPos]))
+ && !(gDisableStructs[attacker].mimickedMoves & gBitTable[imprisionPos]))
{
gActiveBattler = attacker;
BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + imprisionPos, 0, 1, &gBattleMons[gActiveBattler].pp[imprisionPos]);
@@ -142,8 +142,8 @@ void PressurePPLoseOnUsingImprision(u8 attacker)
void PressurePPLoseOnUsingPerishSong(u8 attacker)
{
- s32 i, j;
- s32 perishSongPos = 4;
+ int i, j;
+ int perishSongPos = 4;
for (i = 0; i < gBattlersCount; i++)
{
@@ -165,7 +165,7 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker)
if (perishSongPos != MAX_MON_MOVES
&& !(gBattleMons[attacker].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[attacker].unk18_b & gBitTable[perishSongPos]))
+ && !(gDisableStructs[attacker].mimickedMoves & gBitTable[perishSongPos]))
{
gActiveBattler = attacker;
BtlController_EmitSetMonData(0, REQUEST_PPMOVE1_BATTLE + perishSongPos, 0, 1, &gBattleMons[gActiveBattler].pp[perishSongPos]);
@@ -175,7 +175,7 @@ void PressurePPLoseOnUsingPerishSong(u8 attacker)
void MarkAllBattlersForControllerExec(void) // unused
{
- s32 i;
+ int i;
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
@@ -314,14 +314,14 @@ u8 TrySetCantSelectMoveBattleScript(void)
u8 holdEffect;
u16* choicedMove = &gBattleStruct->choicedMove[gActiveBattler];
- if (gDisableStructs[gActiveBattler].disabledMove == move && move != 0)
+ if (gDisableStructs[gActiveBattler].disabledMove == move && move != MOVE_NONE)
{
gBattleScripting.battler = gActiveBattler;
gCurrentMove = move;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingDisabledMoveInPalace;
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
}
else
{
@@ -336,7 +336,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingTormentedMoveInPalace;
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
}
else
{
@@ -351,7 +351,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingNotAllowedMoveTauntInPalace;
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
}
else
{
@@ -366,7 +366,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
gPalaceSelectionBattleScripts[gActiveBattler] = BattleScript_SelectingImprisionedMoveInPalace;
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
}
else
{
@@ -388,7 +388,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
gLastUsedItem = gBattleMons[gActiveBattler].item;
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
}
else
{
@@ -401,7 +401,7 @@ u8 TrySetCantSelectMoveBattleScript(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_PALACE)
{
- gProtectStructs[gActiveBattler].flag_x10 = 1;
+ gProtectStructs[gActiveBattler].palaceUnableToUseMove = 1;
}
else
{
@@ -3035,7 +3035,7 @@ u8 ItemBattleEffects(u8 caseID, u8 battlerId, bool8 moveTurn)
MarkBattlerForControllerExec(gActiveBattler);
break;
case ITEM_PP_CHANGE:
- if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[battlerId].unk18_b & gBitTable[i]))
+ if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED) && !(gDisableStructs[battlerId].mimickedMoves & gBitTable[i]))
gBattleMons[battlerId].pp[i] = changedPP;
break;
}
diff --git a/src/cable_club.c b/src/cable_club.c
index ce9b9db05..303b0d016 100644
--- a/src/cable_club.c
+++ b/src/cable_club.c
@@ -27,12 +27,10 @@
#include "task.h"
#include "trade.h"
#include "trainer_card.h"
+#include "party_menu.h"
#include "window.h"
#include "constants/songs.h"
-extern u8 gUnknown_02032298[2];
-extern u8 gSelectedOrderFromParty[];
-
static const struct WindowTemplate gUnknown_08550594 = {
.bg = 0,
.tilemapLeft = 16,
diff --git a/src/contest.c b/src/contest.c
index 7decf88fc..cf084e35e 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -21,6 +21,7 @@
#include "overworld.h"
#include "palette.h"
#include "random.h"
+#include "new_game.h"
#include "script.h"
#include "sound.h"
#include "sprite.h"
@@ -42,134 +43,157 @@
#include "international_string_util.h"
#include "data2.h"
#include "constants/rgb.h"
-
-extern void (*gFieldCallback)(void);
-
-void sub_80D782C(void);
-void sub_80D7C7C(u8 taskId);
-void sub_80D7CB4(u8 taskId);
-void sub_80D7DAC(u8 taskId);
-void sub_80D7DC8(u8 taskId);
-void sub_80D7DE8(u8 taskId);
-bool8 sub_80D7E44(u8 *);
-void sub_80D80C8(u8 taskId);
-void sub_80D8108(u8 taskId);
-void vblank_cb_battle(void);
-void sub_80D823C(void);
-void sub_80D833C(u8 taskId);
-void sub_80D8424(u8 taskId);
-void sub_80D8610(u8 taskId);
-void sub_80D8490(u8 taskId);
-void sub_80D880C(s8);
-void sub_80D883C(s8);
-void sub_80D8894(u8 taskId);
-void sub_80D892C(u8 taskId);
-void sub_80D895C(u8 taskId);
-void sub_80D8A04(u8 taskId);
-void sub_80D8A50(u8 taskId);
-void sub_80D8A88(u8 taskId);
-void sub_80D8B38(u8 taskId);
-void sub_80DA110(u8);
-void sub_80DA134(struct Sprite *);
-void sub_80DA164(struct Sprite *);
-void sub_80DA198(u8);
-void sub_80DA25C(u8);
-void sub_80DA28C(u8);
-void sub_80DA31C(u8);
-void sub_80DA348(u8);
-void sub_80DA38C(u8);
-void sub_80DA3CC(u8);
-void sub_80DA464(u8);
-void sub_80DA49C(u8);
-void sub_80DA4CC(u8);
-void sub_80DA51C(u8);
-void sub_80DA5B4(u8);
-void sub_80DA5E8(u8);
-void sub_80DA6B4(u8);
-void sub_80DA700(u8);
-void sub_80DA740(u8);
-void sub_80DA7A0(u8);
-void sub_80DA7EC(u8);
-void sub_80DA830(u8);
-void sub_80DA874(void);
-bool8 sub_80DA8A4(void);
-void sub_80DAF04(u8);
-void sub_80DAF1C(u8 a0, u8 a1);
-void sub_80DAF88(u8);
-void sub_80DAFA0(u8, u8);
-u8 sub_80DB0C4(void);
-u8 sub_80DB120(void);
-u8 sub_80DB174(u16, u32, u32, u32);
-void sub_80DB2BC(void);
-void prints_contest_move_description(u16);
-u16 sub_80DE84C(u16);
-void sub_80DB89C(void);
-u16 sub_80DB8B8(u8);
-void sub_80DB918(void);
-bool8 Contest_IsMonsTurnDisabled(u8);
-void sub_80DBF68(void);
-void sub_80DBF90(void);
-void sub_80DC2BC(void);
-void sub_80DC490(bool8);
-void sub_80DC4F0(void);
-void sub_80DC594(void);
-void sub_80DC5E8(void);
-void sub_80DC7EC(void);
-void sub_80DCD48(void);
-void sub_80DCE58(u8);
-void sub_80DD04C(void);
-void sub_80DD590(void);
-void sub_80DDB0C(void);
-void sub_80DDBE8(void);
-bool8 sub_80DE1E8(u8);
-void sub_80DE224(void);
-void sub_80DE350(void);
-void sub_80DE424(u8);
-void sub_80DE69C(u8);
-void sub_80DEA20(void);
-void Contest_PrintTextToBg0WindowAt(u32, u8 *, s32, u8, u8);
-void Contest_StartTextPrinter(const u8 *, u8);
-void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, u8);
-bool32 Contest_RunTextPrinters(void);
-void Contest_SetBgCopyFlags(u32);
-void sub_80FC9F8(u8);
-bool8 AreMovesContestCombo(u16, u16);
-void sub_80DBD18(void);
-void sub_80DF250(void);
-void sub_80DF4F8(void);
-void sub_80DD080(u8);
-void sub_80DF080(u8);
-void sub_80DF750(void);
-void sub_80DE9DC(u8);
-void sub_80DCBE8(u8, u8);
-u8 sub_80DC9EC(u8);
-u16 sub_80DE834(u16);
-void sub_80DE864(u8);
-void sub_80DEAA8(u16);
-void sub_80DE9B0(u8);
-void sub_80DC674(u8);
-void sub_80DE12C(void);
-void sub_80DD45C(u8, u8);
-void sub_80DD720(u8);
-void sub_80DE008(bool8);
-void sub_80DC028(s16, s16, u8);
-bool8 sub_80DB5B8(u8, u8);
-bool8 sub_80DB798(u8);
-void sub_80DB884(void);
-void sub_80DC9B4(u8);
-void sub_80DDED0(s8, s8);
-void sub_80DDCDC(s8);
-void sub_80DDE0C(void);
-void sub_80DD940(void);
-void sub_80DB944(void);
-void sub_80DBA18(void);
-void sub_80DC3AC(void);
-bool8 sub_80DC3C4(void);
-void sub_80DF9D4(u8 *);
-void sub_80DF9E0(u8 *, s32);
-void ContestBG_FillBoxWithTile(u8, u16, u8, u8, u8, u8, u8);
-void Contest_PrintTextToBg0WindowStd(u8, const u8 *);
-
+#include "contest_ai.h"
+
+extern void sub_80FC9F8(u8); // contest_link_80FC4F4.c
+
+// This file's functions.
+static void sub_80D782C(void);
+static void sub_80D7C7C(u8 taskId);
+static void sub_80D7CB4(u8 taskId);
+static void sub_80D7DAC(u8 taskId);
+static void sub_80D7DC8(u8 taskId);
+static void sub_80D7DE8(u8 taskId);
+static bool8 sub_80D7E44(u8 *);
+static void sub_80D80C8(u8 taskId);
+static void sub_80D8108(u8 taskId);
+static void vblank_cb_battle(void);
+static void sub_80D823C(void);
+static void sub_80D833C(u8 taskId);
+static void sub_80D8424(u8 taskId);
+static void sub_80D8610(u8 taskId);
+static void sub_80D8490(u8 taskId);
+static void sub_80D880C(s8);
+static void sub_80D883C(s8);
+static void sub_80D8894(u8 taskId);
+static void sub_80D892C(u8 taskId);
+static void sub_80D895C(u8 taskId);
+static void sub_80D8A04(u8 taskId);
+static void sub_80D8A50(u8 taskId);
+static void sub_80D8A88(u8 taskId);
+static void sub_80D8B38(u8 taskId);
+static void sub_80DA110(u8);
+static void sub_80DA134(struct Sprite *);
+static void sub_80DA164(struct Sprite *);
+static void sub_80DA198(u8);
+static void sub_80DA25C(u8);
+static void sub_80DA28C(u8);
+static void sub_80DA31C(u8);
+static void sub_80DA348(u8);
+static void sub_80DA38C(u8);
+static void sub_80DA3CC(u8);
+static void sub_80DA464(u8);
+static void sub_80DA49C(u8);
+static void sub_80DA4CC(u8);
+static void sub_80DA51C(u8);
+static void sub_80DA5B4(u8);
+static void sub_80DA5E8(u8);
+static void sub_80DA6B4(u8);
+static void sub_80DA700(u8);
+static void sub_80DA740(u8);
+static void sub_80DA7A0(u8);
+static void sub_80DA7EC(u8);
+static void sub_80DA830(u8);
+static void sub_80DA874(void);
+static bool8 sub_80DA8A4(void);
+static void sub_80DAF04(u8);
+static void sub_80DAF1C(u8 a0, u8 a1);
+static void sub_80DAF88(u8);
+static void sub_80DAFA0(u8, u8);
+static u8 sub_80DB0C4(void);
+static u8 sub_80DB120(void);
+static u8 sub_80DB174(u16, u32, u32, u32);
+static void prints_contest_move_description(u16);
+static u16 SanitizeSpecies(u16);
+static void sub_80DB89C(void);
+static u16 GetChosenMove(u8);
+static void sub_80DB918(void);
+static void sub_80DBF68(void);
+static void sub_80DBF90(void);
+static void sub_80DC2BC(void);
+static void sub_80DC490(bool8);
+static void sub_80DC4F0(void);
+static void CreateApplauseMeterSprite(void);
+static void sub_80DC5E8(void);
+static void sub_80DC7EC(void);
+static void sub_80DCD48(void);
+static void sub_80DD04C(void);
+static void sub_80DD590(void);
+static void sub_80DDB0C(void);
+static void sub_80DDBE8(void);
+static void sub_80DE224(void);
+static void sub_80DE350(void);
+static void sub_80DE424(u8);
+static void sub_80DE69C(u8);
+static void sub_80DEA20(void);
+static void Contest_StartTextPrinter(const u8 *, u32);
+static void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, s16);
+static bool32 Contest_RunTextPrinters(void);
+static void Contest_SetBgCopyFlags(u32);
+static void sub_80DBD18(void);
+static void sub_80DD080(u8);
+static void sub_80DE9DC(u8);
+static void sub_80DCBE8(u8, u8);
+static u8 sub_80DC9EC(u8);
+static u16 SanitizeMove(u16);
+static void sub_80DE864(u8);
+static void SelectContestMoveBankTarget(u16);
+static void sub_80DE9B0(u8);
+static void sub_80DC674(u8);
+static void sub_80DE12C(void);
+static void sub_80DD45C(u8, u8);
+static void sub_80DD720(u8);
+static void sub_80DE008(bool8);
+static u8 sub_80DC028(s16, s16, u8);
+static bool8 sub_80DB5B8(u8, u8);
+static bool8 sub_80DB798(u8);
+static void sub_80DB884(void);
+static void sub_80DC9B4(u8);
+static void sub_80DDED0(s8, s8);
+static void sub_80DDCDC(s8);
+static void sub_80DDE0C(void);
+static void sub_80DD940(void);
+static void sub_80DB944(void);
+static void sub_80DBA18(void);
+static void sub_80DC3AC(void);
+static bool8 sub_80DC3C4(void);
+static void ContestBG_FillBoxWithTile(u8, u16, u8, u8, u8, u8, u8);
+static void Contest_PrintTextToBg0WindowStd(u32, const u8 *);
+static s16 sub_80DBD34(u8);
+static void DetermineFinalStandings(void);
+static bool8 sub_80DBF30(s32, s32, struct UnknownContestStruct6 *);
+static void sub_80DC0F4(u8);
+static void sub_80DC408(struct Sprite *);
+static void sub_80DC728(u8);
+static void sub_80DC6A4(u8);
+static void sub_80DC8D0(u8);
+static void sub_80DC81C(u8);
+static void sub_80DC87C(u8);
+static void sub_80DCC84(struct Sprite *);
+static void sub_80DCCD8(struct Sprite *sprite);
+static u8 sub_80DDA20(void);
+static void c3_08130B10(u8);
+static void sub_80DDB6C(u8);
+static void task08_080CD1CC(u8);
+static void sub_80DDD20(u8);
+static void sub_80DDE30(u8);
+static void sub_80DDF80(u8);
+static const u8 *GetTurnOrderNumberGfx(u8);
+static void sub_80DE464(u8);
+static void sub_80DE4A8(u8);
+static void sub_80DE5F4(u8);
+static void sub_80DE65C(u8);
+static void sub_80DE794(u8);
+static void sub_80DEA5C(void);
+static void sub_80DF250(void);
+static void sub_80DF4F8(void);
+static void sub_80DF080(u8);
+static void sub_80DF750(void);
+static void sub_80DF9D4(u8 *);
+static void sub_80DF9E0(u8 *, s32);
+static void sub_80DB2BC(void);
+
+// EWRAM vars.
EWRAM_DATA struct ContestPokemon gContestMons[4] = {0};
EWRAM_DATA s16 gContestMonConditions[4] = {0};
EWRAM_DATA s16 gUnknown_02039F08[4] = {0};
@@ -187,10 +211,13 @@ EWRAM_DATA u16 gSpecialVar_ContestCategory = 0;
EWRAM_DATA u16 gSpecialVar_ContestRank = 0;
EWRAM_DATA u8 gNumLinkContestPlayers = 0;
EWRAM_DATA u8 gHighestRibbonRank = 0;
-EWRAM_DATA struct ContestResources * gContestResources = NULL;
+EWRAM_DATA struct ContestResources *gContestResources = NULL;
EWRAM_DATA u8 sContestBgCopyFlags = 0;
EWRAM_DATA struct ContestWinner gUnknown_02039F3C = {0};
+EWRAM_DATA u8 gUnknown_02039F5C = 0;
+EWRAM_DATA u8 gUnknown_02039F5D = 0;
+// IWRAM common vars.
u32 gContestRngValue;
extern const u16 gUnknown_08587C30[];
@@ -199,6 +226,7 @@ extern const struct WindowTemplate gUnknown_08587F44[];
extern const u8 *const gUnknown_08587D90[];
extern const u8 *const gUnknown_08587F08[];
extern const u8 *const gUnknown_08587F1C[];
+extern const u8 *const gUnknown_0827E8DA[];
extern const u8 gText_0827D55A[];
extern const u8 gText_0827E793[];
extern const u8 gText_0827E32E[];
@@ -214,6 +242,14 @@ extern const u8 gText_0827E817[];
extern const u8 gText_0827E58A[];
extern const u8 gText_0827D56F[];
extern const u8 gText_0827D597[];
+extern const u8 gText_Contest_Shyness[];
+extern const u8 gText_Contest_Anxiety[];
+extern const u8 gText_Contest_Laziness[];
+extern const u8 gText_Contest_Hesitancy[];
+extern const u8 gText_Contest_Fear[];
+extern const u8 gText_BDot[];
+extern const u8 gText_CDot[];
+extern const u8 *const gUnknown_08587E10[];
extern const struct ContestPokemon gContestOpponents[96];
extern const u8 gUnknown_085898A4[96];
extern const struct CompressedSpriteSheet gUnknown_08587C00;
@@ -224,8 +260,25 @@ extern const struct SpriteTemplate gSpriteTemplate_8587C18;
extern const union AffineAnimCmd *const gUnknown_082FF6C0[];
extern const union AffineAnimCmd *const gUnknown_082FF694[];
extern const u8 *const gContestEffectDescriptionPointers[];
-
-void TaskDummy1(u8 taskId)
+extern const struct SpriteSheet gUnknown_08587A74;
+extern const u8 gUnknown_08587A6C[];
+extern const struct SpriteTemplate gSpriteTemplate_8587AD0;
+extern const struct SpritePalette gUnknown_08587B08;
+extern const struct CompressedSpriteSheet gUnknown_08587AE8[];
+extern const struct SpriteTemplate gSpriteTemplate_8587B18[];
+extern const u8 gUnknown_08587A70[];
+extern const struct SubspriteTable gSubspriteTables_8587B80[];
+extern const struct CompressedSpriteSheet gUnknown_08587BB0;
+extern const struct SpritePalette gUnknown_08587BB8;
+extern const struct SpriteTemplate gSpriteTemplate_8587BC8;
+extern void (*const gContestEffectFuncs[])(void);
+extern const s8 gContestExcitementTable[][5];
+extern const struct ContestWinner gUnknown_08587FA4[];
+extern const struct CompressedSpriteSheet gUnknown_08589904[];
+extern const struct SpritePalette gUnknown_08589924[];
+extern const struct SpriteTemplate gSpriteTemplate_858998C[];
+
+static void TaskDummy1(u8 taskId)
{
}
@@ -234,7 +287,7 @@ void ResetLinkContestBoolean(void)
gIsLinkContest = 0;
}
-void sub_80D7678(void)
+static void sub_80D7678(void)
{
u16 savedIme;
@@ -278,7 +331,7 @@ void LoadContestBgAfterMoveAnim(void)
}
}
-void sub_80D779C(void)
+static void sub_80D779C(void)
{
s32 i;
@@ -291,7 +344,7 @@ void sub_80D779C(void)
}
}
-void sub_80D77E4(void)
+static void sub_80D77E4(void)
{
InitWindows(gUnknown_08587F44);
DeactivateAllTextPrinters();
@@ -305,7 +358,7 @@ void sub_80D77E4(void)
}
}
-void sub_80D782C(void)
+static void sub_80D782C(void)
{
s32 i;
@@ -316,7 +369,7 @@ void sub_80D782C(void)
FillPalette(RGB(31, 17, 31), 0xF3, 2);
}
-void sub_80D787C(void)
+static void sub_80D787C(void)
{
s32 i;
@@ -347,10 +400,10 @@ void sub_80D787C(void)
gContestResources->field_0->unk19218[i] = gUnknown_02039F26[i];
}
sub_80DD590();
- *gContestResources->field_1c = (struct ContestResourcesField1C){};
+ memset(gContestResources->field_1c, 0, sizeof(*gContestResources->field_1c) * 4);
}
-void sub_80D7988(void)
+static void sub_80D7988(void)
{
gContestResources = AllocZeroed(sizeof(struct ContestResources));
gContestResources->field_0 = AllocZeroed(sizeof(struct Contest));
@@ -360,7 +413,7 @@ void sub_80D7988(void)
gContestResources->field_10 = AllocZeroed(sizeof(struct UnknownContestStruct5) * 4);
gContestResources->field_14 = AllocZeroed(sizeof(struct UnknownContestStruct4) * 4);
gContestResources->field_18 = AllocZeroed(sizeof(struct ContestStruct_field_18));
- gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C));
+ gContestResources->field_1c = AllocZeroed(sizeof(struct ContestResourcesField1C) * 4);
gContestResources->field_20 = AllocZeroed(sizeof(struct ContestResourcesField20));
gContestResources->field_24[0] = AllocZeroed(0x1000);
gContestResources->field_24[1] = AllocZeroed(0x1000);
@@ -373,7 +426,7 @@ void sub_80D7988(void)
gUnknown_02023060 = gContestResources->field_24[1];
}
-void sub_80D7A5C(void)
+static void sub_80D7A5C(void)
{
FREE_AND_SET_NULL(gContestResources->field_0);
FREE_AND_SET_NULL(gContestResources->field_4);
@@ -400,58 +453,58 @@ void sub_80D7B24(void)
{
switch (gMain.state)
{
- case 0:
- sContestBgCopyFlags = 0;
- sub_80D7988();
- AllocateMonSpritesGfx();
- FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed);
- gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000);
- SetVBlankCallback(NULL);
- sub_80D779C();
- sub_80D77E4();
- sub_80D7678();
- ScanlineEffect_Clear();
- ResetPaletteFade();
- gPaletteFade.bufferTransferDisabled = TRUE;
- ResetSpriteData();
- ResetTasks();
- FreeAllSpritePalettes();
- gReservedSpritePaletteCount = 4;
- //shared18000.unk18000 = 0;
- gHeap[0x1a000] = 0;
- ClearBattleMonForms();
- sub_80D787C();
- gMain.state++;
- break;
- case 1:
+ case 0:
+ sContestBgCopyFlags = 0;
+ sub_80D7988();
+ AllocateMonSpritesGfx();
+ FREE_AND_SET_NULL(gMonSpritesGfxPtr->firstDecompressed);
+ gMonSpritesGfxPtr->firstDecompressed = AllocZeroed(0x4000);
+ SetVBlankCallback(NULL);
+ sub_80D779C();
+ sub_80D77E4();
+ sub_80D7678();
+ ScanlineEffect_Clear();
+ ResetPaletteFade();
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ ResetSpriteData();
+ ResetTasks();
+ FreeAllSpritePalettes();
+ gReservedSpritePaletteCount = 4;
+ //shared18000.unk18000 = 0;
+ gHeap[0x1a000] = 0;
+ ClearBattleMonForms();
+ sub_80D787C();
+ gMain.state++;
+ break;
+ case 1:
+ gMain.state++;
+ break;
+ case 2:
+ if (sub_80D7E44(&gContestResources->field_0->unk1925D))
+ {
+ gContestResources->field_0->unk1925D = 0;
gMain.state++;
- break;
- case 2:
- if (sub_80D7E44(&gContestResources->field_0->unk1925D))
- {
- gContestResources->field_0->unk1925D = 0;
- gMain.state++;
- }
- break;
- case 3:
- sub_80DE224();
- gBattle_BG1_X = 0;
- gBattle_BG1_Y = 0;
- BeginFastPaletteFade(2);
- gPaletteFade.bufferTransferDisabled = FALSE;
- SetVBlankCallback(vblank_cb_battle);
- gContestResources->field_0->mainTaskId = CreateTask(sub_80D7C7C, 10);
- SetMainCallback2(sub_80D823C);
- if (gIsLinkContest & 2)
- {
- sub_800E0E8();
- CreateWirelessStatusIndicatorSprite(8, 8);
- }
- break;
+ }
+ break;
+ case 3:
+ sub_80DE224();
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ BeginFastPaletteFade(2);
+ gPaletteFade.bufferTransferDisabled = FALSE;
+ SetVBlankCallback(vblank_cb_battle);
+ gContestResources->field_0->mainTaskId = CreateTask(sub_80D7C7C, 10);
+ SetMainCallback2(sub_80D823C);
+ if (gIsLinkContest & 2)
+ {
+ sub_800E0E8();
+ CreateWirelessStatusIndicatorSprite(8, 8);
+ }
+ break;
}
}
-void sub_80D7C7C(u8 taskId)
+static void sub_80D7C7C(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -460,7 +513,7 @@ void sub_80D7C7C(u8 taskId)
}
}
-void sub_80D7CB4(u8 taskId)
+static void sub_80D7CB4(u8 taskId)
{
if (gIsLinkContest & 1)
{
@@ -468,22 +521,22 @@ void sub_80D7CB4(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
- case 0:
- sub_80DBF68();
+ case 0:
+ sub_80DBF68();
+ gTasks[taskId].data[0]++;
+ // fallthrough
+ case 1:
+ if (IsLinkTaskFinished())
+ {
+ sub_800ADF8();
gTasks[taskId].data[0]++;
- // fallthrough
- case 1:
- if (IsLinkTaskFinished())
- {
- sub_800ADF8();
- gTasks[taskId].data[0]++;
- }
+ }
+ return;
+ case 2:
+ if (IsLinkTaskFinished() != TRUE)
return;
- case 2:
- if (IsLinkTaskFinished() != TRUE)
- return;
- gTasks[taskId].data[0]++;
- break;
+ gTasks[taskId].data[0]++;
+ break;
}
}
@@ -503,18 +556,18 @@ void sub_80D7CB4(u8 taskId)
}
}
-void sub_80D7DAC(u8 taskId)
+static void sub_80D7DAC(u8 taskId)
{
SetTaskFuncWithFollowupFunc(taskId, sub_80FC998, sub_80D7DC8);
}
-void sub_80D7DC8(u8 taskId)
+static void sub_80D7DC8(u8 taskId)
{
gTasks[taskId].data[0] = 1;
gTasks[taskId].func = sub_80D7DE8;
}
-void sub_80D7DE8(u8 taskId)
+static void sub_80D7DE8(u8 taskId)
{
gTasks[taskId].data[0]--;
if (gTasks[taskId].data[0] <= 0)
@@ -526,81 +579,81 @@ void sub_80D7DE8(u8 taskId)
}
}
-u8 sub_80D7E44(u8 *a)
+static u8 sub_80D7E44(u8 *a)
{
u16 sp0[16];
u16 sp20[16];
switch (*a)
{
- case 0:
- gPaletteFade.bufferTransferDisabled = TRUE;
- RequestDma3Fill(0, (void *)VRAM, 0x8000, 1);
- RequestDma3Fill(0, (void *)VRAM + 0x8000, 0x8000, 1);
- RequestDma3Fill(0, (void *)VRAM + 0x10000, 0x8000, 1);
- break;
- case 1:
- LZDecompressVram(gContestMiscGfx, (void *)VRAM);
- break;
- case 2:
- LZDecompressVram(gContestAudienceGfx, (void *)(VRAM + 0x2000));
- DmaCopyLarge32(3, (void *)(VRAM + 0x2000), shared15800, 0x2000, 0x1000);
- break;
- case 3:
- CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0);
- CopyBgTilemapBufferToVram(3);
- break;
- case 4:
- CopyToBgTilemapBuffer(2, gUnknown_08C17170, 0, 0);
- CopyBgTilemapBufferToVram(2);
- DmaCopy32Defvars(3, gContestResources->field_24[2], shared18000.unk18A04, 0x800);
- break;
- case 5:
- LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200);
- CpuCopy32(gPlttBufferUnfaded + 128, sp0, 16 * sizeof(u16));
- CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, sp20, 16 * sizeof(u16));
- CpuCopy32(sp20, gPlttBufferUnfaded + 128, 16 * sizeof(u16));
- CpuCopy32(sp0, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16));
- DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18004, 0x200);
- sub_80D782C();
- break;
- case 6:
- sub_80DD04C();
- sub_80DBF90();
- sub_80DB2BC();
- gContestResources->field_0->unk19216 = sub_80DB120();
- sub_80DC2BC();
- sub_80DC4F0();
- sub_80DC594();
- sub_80DC5E8();
- sub_80DC7EC();
- gBattlerPositions[0] = 0;
- gBattlerPositions[1] = 1;
- gBattlerPositions[2] = 3;
- gBattlerPositions[3] = 2;
- gBattleTypeFlags = 0;
- gBattlerAttacker = 2;
- gBattlerTarget = 3;
- gBattlerSpriteIds[gBattlerAttacker] = sub_80DB0C4();
- sub_80DEA20();
- CopyBgTilemapBufferToVram(3);
- CopyBgTilemapBufferToVram(2);
- CopyBgTilemapBufferToVram(1);
- ShowBg(3);
- ShowBg(2);
- ShowBg(0);
- ShowBg(1);
- break;
- default:
- *a = 0;
- return 1;
+ case 0:
+ gPaletteFade.bufferTransferDisabled = TRUE;
+ RequestDma3Fill(0, (void *)VRAM, 0x8000, 1);
+ RequestDma3Fill(0, (void *)VRAM + 0x8000, 0x8000, 1);
+ RequestDma3Fill(0, (void *)VRAM + 0x10000, 0x8000, 1);
+ break;
+ case 1:
+ LZDecompressVram(gContestMiscGfx, (void *)VRAM);
+ break;
+ case 2:
+ LZDecompressVram(gContestAudienceGfx, (void *)(VRAM + 0x2000));
+ DmaCopyLarge32(3, (void *)(VRAM + 0x2000), shared15800, 0x2000, 0x1000);
+ break;
+ case 3:
+ CopyToBgTilemapBuffer(3, gUnknown_08C16FA8, 0, 0);
+ CopyBgTilemapBufferToVram(3);
+ break;
+ case 4:
+ CopyToBgTilemapBuffer(2, gUnknown_08C17170, 0, 0);
+ CopyBgTilemapBufferToVram(2);
+ DmaCopy32Defvars(3, gContestResources->field_24[2], shared18000.unk18A04, 0x800);
+ break;
+ case 5:
+ LoadCompressedPalette(gUnknown_08C16E90, 0, 0x200);
+ CpuCopy32(gPlttBufferUnfaded + 128, sp0, 16 * sizeof(u16));
+ CpuCopy32(gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, sp20, 16 * sizeof(u16));
+ CpuCopy32(sp20, gPlttBufferUnfaded + 128, 16 * sizeof(u16));
+ CpuCopy32(sp0, gPlttBufferUnfaded + (5 + gContestPlayerMonIndex) * 16, 16 * sizeof(u16));
+ DmaCopy32Defvars(3, gPlttBufferUnfaded, shared18000.unk18004, 0x200);
+ sub_80D782C();
+ break;
+ case 6:
+ sub_80DD04C();
+ sub_80DBF90();
+ sub_80DB2BC();
+ gContestResources->field_0->unk19216 = sub_80DB120();
+ sub_80DC2BC();
+ sub_80DC4F0();
+ CreateApplauseMeterSprite();
+ sub_80DC5E8();
+ sub_80DC7EC();
+ gBattlerPositions[0] = 0;
+ gBattlerPositions[1] = 1;
+ gBattlerPositions[2] = 3;
+ gBattlerPositions[3] = 2;
+ gBattleTypeFlags = 0;
+ gBattlerAttacker = 2;
+ gBattlerTarget = 3;
+ gBattlerSpriteIds[gBattlerAttacker] = sub_80DB0C4();
+ sub_80DEA20();
+ CopyBgTilemapBufferToVram(3);
+ CopyBgTilemapBufferToVram(2);
+ CopyBgTilemapBufferToVram(1);
+ ShowBg(3);
+ ShowBg(2);
+ ShowBg(0);
+ ShowBg(1);
+ break;
+ default:
+ *a = 0;
+ return 1;
}
(*a)++;
return 0;
}
-void sub_80D80C8(u8 taskId)
+static void sub_80D80C8(u8 taskId)
{
gPaletteFade.bufferTransferDisabled = FALSE;
if (!gPaletteFade.active)
@@ -611,52 +664,51 @@ void sub_80D80C8(u8 taskId)
}
}
-
-void sub_80D8108(u8 taskId)
+static void sub_80D8108(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
- case 0:
- if (gTasks[taskId].data[1]++ <= 60)
- break;
- gTasks[taskId].data[1] = 0;
- PlaySE12WithPanning(SE_C_MAKU_U, 0);
- gTasks[taskId].data[0]++;
- break;
- case 1:
- (s16)gBattle_BG1_Y += 7;
- if ((s16)gBattle_BG1_Y <= 160)
- break;
- gTasks[taskId].data[0]++;
- break;
- case 2:
- sub_80DE350();
- gTasks[taskId].data[0]++;
+ case 0:
+ if (gTasks[taskId].data[1]++ <= 60)
break;
- case 3:
- {
- u16 bg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT);
- u16 bg2Cnt = GetGpuReg(REG_OFFSET_BG2CNT);
- ((struct BgCnt *)&bg0Cnt)->priority = 0;
- ((struct BgCnt *)&bg2Cnt)->priority = 0;
- SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt);
- SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt);
- sub_80DDB0C();
- gTasks[taskId].data[0]++;
+ gTasks[taskId].data[1] = 0;
+ PlaySE12WithPanning(SE_C_MAKU_U, 0);
+ gTasks[taskId].data[0]++;
+ break;
+ case 1:
+ (s16)gBattle_BG1_Y += 7;
+ if ((s16)gBattle_BG1_Y <= 160)
break;
- }
- case 4:
- default:
- if (gContestResources->field_0->unk1920A_6)
- break;
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].func = sub_80D833C;
+ gTasks[taskId].data[0]++;
+ break;
+ case 2:
+ sub_80DE350();
+ gTasks[taskId].data[0]++;
+ break;
+ case 3:
+ {
+ u16 bg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT);
+ u16 bg2Cnt = GetGpuReg(REG_OFFSET_BG2CNT);
+ ((struct BgCnt *)&bg0Cnt)->priority = 0;
+ ((struct BgCnt *)&bg2Cnt)->priority = 0;
+ SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt);
+ SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt);
+ sub_80DDB0C();
+ gTasks[taskId].data[0]++;
+ break;
+ }
+ case 4:
+ default:
+ if (gContestResources->field_0->unk1920A_6)
break;
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].func = sub_80D833C;
+ break;
}
}
-void sub_80D823C(void)
+static void sub_80D823C(void)
{
s32 i;
@@ -673,7 +725,7 @@ void sub_80D823C(void)
sContestBgCopyFlags = 0;
}
-void vblank_cb_battle(void)
+static void vblank_cb_battle(void)
{
SetGpuReg(REG_OFFSET_BG0HOFS, gBattle_BG0_X);
SetGpuReg(REG_OFFSET_BG0VOFS, gBattle_BG0_Y);
@@ -693,7 +745,7 @@ void vblank_cb_battle(void)
ScanlineEffect_InitHBlankDmaTransfer();
}
-void sub_80D833C(u8 taskId)
+static void sub_80D833C(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
@@ -721,7 +773,7 @@ void sub_80D833C(u8 taskId)
}
}
-void sub_80D8424(u8 taskId)
+static void sub_80D8424(u8 taskId)
{
if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys == B_BUTTON))
{
@@ -738,7 +790,7 @@ void sub_80D8424(u8 taskId)
}
}
-void sub_80D8490(u8 taskId)
+static void sub_80D8490(u8 taskId)
{
u8 i;
u8 sp8[32];
@@ -776,7 +828,7 @@ void sub_80D8490(u8 taskId)
gTasks[taskId].func = sub_80D8610;
}
-void sub_80D8610(u8 taskId)
+static void sub_80D8610(u8 taskId)
{
u8 numMoves = 0;
s32 i;
@@ -796,66 +848,66 @@ void sub_80D8610(u8 taskId)
{
switch (gMain.newAndRepeatedKeys)
{
- case B_BUTTON:
+ case B_BUTTON:
+ PlaySE(SE_SELECT);
+ sub_80DC490(FALSE);
+ ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
+ StringCopy(gDisplayedStringBattle, gText_0827D507);
+ else
+ StringCopy(gDisplayedStringBattle, gText_0827D531);
+ sub_80DB89C();
+ StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
+ Contest_StartTextPrinter(gStringVar4, 0);
+ gBattle_BG0_Y = 0;
+ gBattle_BG2_Y = 0;
+ gTasks[taskId].func = sub_80D8424;
+ break;
+ case DPAD_LEFT:
+ case DPAD_RIGHT:
+ break;
+ case DPAD_UP:
+ sub_80D883C(gContestResources->field_0->playerMoveChoice);
+ if (gContestResources->field_0->playerMoveChoice == 0)
+ gContestResources->field_0->playerMoveChoice = numMoves - 1;
+ else
+ gContestResources->field_0->playerMoveChoice--;
+ sub_80D880C(gContestResources->field_0->playerMoveChoice);
+ prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
+ if (numMoves > 1)
PlaySE(SE_SELECT);
- sub_80DC490(FALSE);
- ConvertIntToDecimalStringN(gStringVar1, gContestResources->field_0->turnNumber + 1, STR_CONV_MODE_LEFT_ALIGN, 1);
- if (!Contest_IsMonsTurnDisabled(gContestPlayerMonIndex))
- StringCopy(gDisplayedStringBattle, gText_0827D507);
- else
- StringCopy(gDisplayedStringBattle, gText_0827D531);
- sub_80DB89C();
- StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
- Contest_StartTextPrinter(gStringVar4, 0);
- gBattle_BG0_Y = 0;
- gBattle_BG2_Y = 0;
- gTasks[taskId].func = sub_80D8424;
- break;
- case DPAD_LEFT:
- case DPAD_RIGHT:
- break;
- case DPAD_UP:
- sub_80D883C(gContestResources->field_0->playerMoveChoice);
- if (gContestResources->field_0->playerMoveChoice == 0)
- gContestResources->field_0->playerMoveChoice = numMoves - 1;
- else
- gContestResources->field_0->playerMoveChoice--;
- sub_80D880C(gContestResources->field_0->playerMoveChoice);
- prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
- if (numMoves > 1)
- PlaySE(SE_SELECT);
- break;
- case DPAD_DOWN:
- sub_80D883C(gContestResources->field_0->playerMoveChoice);
- if (gContestResources->field_0->playerMoveChoice == numMoves - 1)
- gContestResources->field_0->playerMoveChoice = 0;
- else
- gContestResources->field_0->playerMoveChoice++;
- sub_80D880C(gContestResources->field_0->playerMoveChoice);
- prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
- if (numMoves > 1)
- PlaySE(SE_SELECT);
- break;
+ break;
+ case DPAD_DOWN:
+ sub_80D883C(gContestResources->field_0->playerMoveChoice);
+ if (gContestResources->field_0->playerMoveChoice == numMoves - 1)
+ gContestResources->field_0->playerMoveChoice = 0;
+ else
+ gContestResources->field_0->playerMoveChoice++;
+ sub_80D880C(gContestResources->field_0->playerMoveChoice);
+ prints_contest_move_description(gContestMons[gContestPlayerMonIndex].moves[gContestResources->field_0->playerMoveChoice]);
+ if (numMoves > 1)
+ PlaySE(SE_SELECT);
+ break;
}
}
}
-void sub_80D880C(s8 a0)
+static void sub_80D880C(s8 a0)
{
ContestBG_FillBoxWithIncrementingTile(2, 55, 0, 31 + a0 * 2, 2, 2, 17, 1);
}
-void sub_80D883C(s8 a0)
+static void sub_80D883C(s8 a0)
{
ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1);
ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1);
}
-void sub_80D8894(u8 taskId)
+static void sub_80D8894(u8 taskId)
{
if (gIsLinkContest & 1)
{
- u16 var = sub_80DB8B8(gContestPlayerMonIndex);
+ u16 var = GetChosenMove(gContestPlayerMonIndex);
u8 taskId2;
gContestResources->field_4[gContestPlayerMonIndex].currMove = var;
@@ -872,13 +924,13 @@ void sub_80D8894(u8 taskId)
}
}
-void sub_80D892C(u8 taskId)
+static void sub_80D892C(u8 taskId)
{
DestroyTask(taskId);
gTasks[gContestResources->field_0->mainTaskId].func = sub_80D895C;
}
-void sub_80D895C(u8 taskId)
+static void sub_80D895C(u8 taskId)
{
s32 i;
@@ -902,7 +954,7 @@ void sub_80D895C(u8 taskId)
gTasks[taskId].func = sub_80D8A04;
}
-void sub_80D8A04(u8 taskId)
+static void sub_80D8A04(u8 taskId)
{
if (++gTasks[taskId].data[0] > 2)
{
@@ -916,13 +968,13 @@ void sub_80D8A04(u8 taskId)
}
}
-void sub_80D8A50(u8 taskId)
+static void sub_80D8A50(u8 taskId)
{
if (!gContestResources->field_0->unk1920A_6 && !gContestResources->field_0->unk1920B_1)
gTasks[taskId].func = sub_80D8A88;
}
-void sub_80D8A88(u8 taskId)
+static void sub_80D8A88(u8 taskId)
{
if (++gTasks[taskId].data[0] > 19)
{
@@ -934,7 +986,7 @@ void sub_80D8A88(u8 taskId)
for (i = 0; i + gNumLinkContestPlayers < 4; i++)
{
- gContestResources->field_4[gNumLinkContestPlayers + i].currMove = sub_80DB8B8(gNumLinkContestPlayers + i);
+ gContestResources->field_4[gNumLinkContestPlayers + i].currMove = GetChosenMove(gNumLinkContestPlayers + i);
}
}
gTasks[taskId].data[0] = 0;
@@ -942,7 +994,7 @@ void sub_80D8A88(u8 taskId)
}
}
-void sub_80D8B38(u8 taskId)
+static void sub_80D8B38(u8 taskId)
{
u8 spriteId;
s32 i;
@@ -951,247 +1003,247 @@ void sub_80D8B38(u8 taskId)
switch (gTasks[taskId].data[0])
{
- case 0:
- sub_80DCD48();
- for (i = 0; gContestResources->field_0->unk19214 != gContestResources->field_8->turnOrder[i]; i++)
- ;
- gContestResources->field_0->unk19215 = i;
- r6 = gContestResources->field_0->unk19215;
- if (gIsLinkContest & 1)
- {
- u8 taskId2;
+ case 0:
+ sub_80DCD48();
+ for (i = 0; gContestResources->field_0->unk19214 != gContestResources->field_8->turnOrder[i]; i++)
+ ;
+ gContestResources->field_0->unk19215 = i;
+ r6 = gContestResources->field_0->unk19215;
+ if (gIsLinkContest & 1)
+ {
+ u8 taskId2;
- gContestResources->field_0->unk1920B_2 = 1;
- if (sub_80DA8A4())
- sub_80DD080(gContestResources->field_0->unk19215);
- taskId2 = CreateTask(sub_80FCC88, 0);
- SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
- sub_80DBF68();
- gTasks[taskId].data[0] = 1;
- }
- else
- {
+ gContestResources->field_0->unk1920B_2 = 1;
+ if (sub_80DA8A4())
sub_80DD080(gContestResources->field_0->unk19215);
- gTasks[taskId].data[0] = 2;
- }
- return;
- case 1:
- if (!gContestResources->field_0->unk1920B_2)
- gTasks[taskId].data[0] = 2;
- return;
- case 2:
- sub_80DF080(r6);
- sub_80DF750();
- if (gContestResources->field_4[r6].numTurnsSkipped != 0
- || gContestResources->field_4[r6].noMoreTurns)
- {
- gTasks[taskId].data[0] = 31;
- }
- else
- {
- sub_80DB89C();
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 3;
- }
- return;
- case 3:
- for (i = 0; i < 4; i++)
- gBattleMonForms[i] = 0;
- memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18));
- sub_80DE9DC(gContestResources->field_0->unk19215);
- spriteId = sub_80DB174(
- gContestMons[gContestResources->field_0->unk19215].species,
- gContestMons[gContestResources->field_0->unk19215].otId,
- gContestMons[gContestResources->field_0->unk19215].personality,
- gContestResources->field_0->unk19215);
- gSprites[spriteId].pos2.x = 120;
- gSprites[spriteId].callback = sub_80DA134;
- gTasks[taskId].data[2] = spriteId;
- gBattlerSpriteIds[gBattlerAttacker] = spriteId;
- sub_80DCBE8(sub_80DC9EC(gContestResources->field_0->unk19215), FALSE);
- gTasks[taskId].data[0] = 4;
- return;
- case 4:
- spriteId = gTasks[taskId].data[2];
- if (gSprites[spriteId].callback == SpriteCallbackDummy)
- {
- if (!gContestResources->field_14[r6].unk2_1)
- gTasks[taskId].data[0] = 5;
- }
- return;
- case 5:
- if (gContestResources->field_4[r6].nervous)
- {
- gTasks[taskId].data[0] = 33;
- }
+ taskId2 = CreateTask(sub_80FCC88, 0);
+ SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
+ sub_80DBF68();
+ gTasks[taskId].data[0] = 1;
+ }
+ else
+ {
+ sub_80DD080(gContestResources->field_0->unk19215);
+ gTasks[taskId].data[0] = 2;
+ }
+ return;
+ case 1:
+ if (!gContestResources->field_0->unk1920B_2)
+ gTasks[taskId].data[0] = 2;
+ return;
+ case 2:
+ sub_80DF080(r6);
+ sub_80DF750();
+ if (gContestResources->field_4[r6].numTurnsSkipped != 0
+ || gContestResources->field_4[r6].noMoreTurns)
+ {
+ gTasks[taskId].data[0] = 31;
+ }
+ else
+ {
+ sub_80DB89C();
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 3;
+ }
+ return;
+ case 3:
+ for (i = 0; i < 4; i++)
+ gBattleMonForms[i] = 0;
+ memset(gContestResources->field_18, 0, sizeof(*gContestResources->field_18));
+ sub_80DE9DC(gContestResources->field_0->unk19215);
+ spriteId = sub_80DB174(
+ gContestMons[gContestResources->field_0->unk19215].species,
+ gContestMons[gContestResources->field_0->unk19215].otId,
+ gContestMons[gContestResources->field_0->unk19215].personality,
+ gContestResources->field_0->unk19215);
+ gSprites[spriteId].pos2.x = 120;
+ gSprites[spriteId].callback = sub_80DA134;
+ gTasks[taskId].data[2] = spriteId;
+ gBattlerSpriteIds[gBattlerAttacker] = spriteId;
+ sub_80DCBE8(sub_80DC9EC(gContestResources->field_0->unk19215), FALSE);
+ gTasks[taskId].data[0] = 4;
+ return;
+ case 4:
+ spriteId = gTasks[taskId].data[2];
+ if (gSprites[spriteId].callback == SpriteCallbackDummy)
+ {
+ if (!gContestResources->field_14[r6].unk2_1)
+ gTasks[taskId].data[0] = 5;
+ }
+ return;
+ case 5:
+ if (gContestResources->field_4[r6].nervous)
+ {
+ gTasks[taskId].data[0] = 33;
+ }
+ else
+ {
+ sub_80DB89C();
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ if (gContestResources->field_4[r6].currMove < MOVES_COUNT)
+ StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
else
- {
- sub_80DB89C();
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- if (gContestResources->field_4[r6].currMove < MOVES_COUNT)
- StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
- else
- StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]);
- StringExpandPlaceholders(gStringVar4, gText_0827D55A);
- Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[0] = 6;
- }
- return;
- case 6:
- if (!Contest_RunTextPrinters())
- {
- gContestResources->field_0->unk1925E = 0;
- gTasks[taskId].data[0] = 7;
- }
- return;
- case 7:
+ StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]);
+ StringExpandPlaceholders(gStringVar4, gText_0827D55A);
+ Contest_StartTextPrinter(gStringVar4, 1);
+ gTasks[taskId].data[0] = 6;
+ }
+ return;
+ case 6:
+ if (!Contest_RunTextPrinters())
+ {
+ gContestResources->field_0->unk1925E = 0;
+ gTasks[taskId].data[0] = 7;
+ }
+ return;
+ case 7:
{
- u16 move = sub_80DE834(gContestResources->field_4[gContestResources->field_0->unk19215].currMove);
+ u16 move = SanitizeMove(gContestResources->field_4[gContestResources->field_0->unk19215].currMove);
sub_80DE864(gContestResources->field_0->unk19215);
sub_80DE9DC(gContestResources->field_0->unk19215);
- sub_80DEAA8(move);
+ SelectContestMoveBankTarget(move);
DoMoveAnim(move);
gTasks[taskId].data[0] = 8;
}
- return;
- case 8:
- gAnimScriptCallback();
- if (!gAnimScriptActive)
- {
- sub_80DE9B0(r6);
- if (gContestResources->field_0->unk1925E != 0)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 9;
- }
- else
- {
- if (!gContestResources->field_4[r6].hasJudgesAttention)
- sub_80DC674(r6);
- sub_80DE12C();
- gTasks[taskId].data[0] = 23;
- }
- }
- return;
- case 9:
- if (gTasks[taskId].data[10]++ > 30)
+ return;
+ case 8:
+ gAnimScriptCallback();
+ if (!gAnimScriptActive)
+ {
+ sub_80DE9B0(r6);
+ if (gContestResources->field_0->unk1925E != 0)
{
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 7;
+ gTasks[taskId].data[0] = 9;
}
- return;
- case 23:
- gTasks[taskId].data[1] = 0;
- if (gContestResources->field_4[r6].effectStringId != CONTEST_STRING_NONE)
+ else
{
- sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId);
- gContestResources->field_4[r6].effectStringId = CONTEST_STRING_NONE;
- gTasks[taskId].data[0] = 24;
+ if (!gContestResources->field_4[r6].hasJudgesAttention)
+ sub_80DC674(r6);
+ sub_80DE12C();
+ gTasks[taskId].data[0] = 23;
}
- else
+ }
+ return;
+ case 9:
+ if (gTasks[taskId].data[10]++ > 30)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 7;
+ }
+ return;
+ case 23:
+ gTasks[taskId].data[1] = 0;
+ if (gContestResources->field_4[r6].effectStringId != CONTEST_STRING_NONE)
+ {
+ sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId);
+ gContestResources->field_4[r6].effectStringId = CONTEST_STRING_NONE;
+ gTasks[taskId].data[0] = 24;
+ }
+ else
+ {
+ if (gContestResources->field_4[r6].effectStringId2 != CONTEST_STRING_NONE)
{
- if (gContestResources->field_4[r6].effectStringId2 != CONTEST_STRING_NONE)
+ for (i = 0; i < 4; i++)
{
- for (i = 0; i < 4; i++)
- {
- if (i != r6 && gContestResources->field_4[i].effectStringId != CONTEST_STRING_NONE)
- break;
- }
- if (i == 4)
- {
- sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId2);
- gContestResources->field_4[r6].effectStringId2 = CONTEST_STRING_NONE;
- gTasks[taskId].data[0] = 24;
- }
- else
- {
- gTasks[taskId].data[0] = 48;
- }
+ if (i != r6 && gContestResources->field_4[i].effectStringId != CONTEST_STRING_NONE)
+ break;
+ }
+ if (i == 4)
+ {
+ sub_80DD45C(r6, gContestResources->field_4[r6].effectStringId2);
+ gContestResources->field_4[r6].effectStringId2 = CONTEST_STRING_NONE;
+ gTasks[taskId].data[0] = 24;
}
else
{
gTasks[taskId].data[0] = 48;
}
}
- return;
- case 24:
- if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 23;
- return;
- case 48:
- if (gContestResources->field_4[r6].turnOrderModAction == 1)
- {
- sub_80DD720(5);
- }
- else if (gContestResources->field_4[r6].turnOrderModAction == 2)
- {
- sub_80DD720(6);
- }
- else if (gContestResources->field_4[r6].turnOrderModAction == 3)
- {
- sub_80DD720(7);
- }
else
{
- gTasks[taskId].data[0] = 47;
- return;
+ gTasks[taskId].data[0] = 48;
}
- gTasks[taskId].data[0] = 49;
- return;
- case 49:
- if (!gContestResources->field_0->unk1920A_4)
- gTasks[taskId].data[0] = 47;
- return;
- case 47:
- sub_80DE008(TRUE);
- gTasks[taskId].data[0] = 12;
- return;
- case 12:
- sub_80DC028(0, gContestResources->field_4[r6].appeal2, r6);
- gTasks[taskId].data[0] = 13;
- return;
- case 13:
- if (!gContestResources->field_14[gContestResources->field_0->unk19215].unk2_2)
- gTasks[taskId].data[0] = 35;
- return;
- case 35:
- if (gContestResources->field_4[r6].conditionMod == 1)
- sub_80DD720(8);
- gTasks[taskId].data[0] = 36;
- return;
- case 36:
- if (!gContestResources->field_0->unk1920A_4)
- gTasks[taskId].data[0] = 37;
- return;
- case 37:
- if (sub_80DB5B8(r6, 1))
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 38;
- }
- else
- {
- gTasks[taskId].data[0] = 50;
- }
- return;
- case 38:
- if (++gTasks[taskId].data[10] > 20)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 50;
- }
- return;
- case 50:
- if (sub_80DB798(r6))
- PlaySE(SE_C_PASI);
- gTasks[taskId].data[0] = 25;
- return;
- case 25:
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[0] = 26;
+ }
+ return;
+ case 24:
+ if (!Contest_RunTextPrinters())
+ gTasks[taskId].data[0] = 23;
+ return;
+ case 48:
+ if (gContestResources->field_4[r6].turnOrderModAction == 1)
+ {
+ sub_80DD720(5);
+ }
+ else if (gContestResources->field_4[r6].turnOrderModAction == 2)
+ {
+ sub_80DD720(6);
+ }
+ else if (gContestResources->field_4[r6].turnOrderModAction == 3)
+ {
+ sub_80DD720(7);
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 47;
return;
- case 26:
+ }
+ gTasks[taskId].data[0] = 49;
+ return;
+ case 49:
+ if (!gContestResources->field_0->unk1920A_4)
+ gTasks[taskId].data[0] = 47;
+ return;
+ case 47:
+ sub_80DE008(TRUE);
+ gTasks[taskId].data[0] = 12;
+ return;
+ case 12:
+ sub_80DC028(0, gContestResources->field_4[r6].appeal2, r6);
+ gTasks[taskId].data[0] = 13;
+ return;
+ case 13:
+ if (!gContestResources->field_14[gContestResources->field_0->unk19215].unk2_2)
+ gTasks[taskId].data[0] = 35;
+ return;
+ case 35:
+ if (gContestResources->field_4[r6].conditionMod == 1)
+ sub_80DD720(8);
+ gTasks[taskId].data[0] = 36;
+ return;
+ case 36:
+ if (!gContestResources->field_0->unk1920A_4)
+ gTasks[taskId].data[0] = 37;
+ return;
+ case 37:
+ if (sub_80DB5B8(r6, 1))
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 38;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 50;
+ }
+ return;
+ case 38:
+ if (++gTasks[taskId].data[10] > 20)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 50;
+ }
+ return;
+ case 50:
+ if (sub_80DB798(r6))
+ PlaySE(SE_C_PASI);
+ gTasks[taskId].data[0] = 25;
+ return;
+ case 25:
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[0] = 26;
+ return;
+ case 26:
{
s32 r2 = 0;
@@ -1226,435 +1278,435 @@ void sub_80D8B38(u8 taskId)
sub_80DB884();
}
}
- return;
- case 27:
- if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 28;
- return;
- case 28:
- for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
- ;
- sub_80DC028(gContestResources->field_4[i].appeal2 + gContestResources->field_4[i].jam, -gContestResources->field_4[i].jam, i);
- gTasks[taskId].data[0] = 29;
- return;
- case 29:
- for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
- ;
- if (!gContestResources->field_14[i].unk2_2)
- gTasks[taskId].data[0] = 39;
- return;
- case 39:
- for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
- ;
- if (sub_80DB5B8(i, 1))
+ return;
+ case 27:
+ if (!Contest_RunTextPrinters())
+ gTasks[taskId].data[0] = 28;
+ return;
+ case 28:
+ for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
+ ;
+ sub_80DC028(gContestResources->field_4[i].appeal2 + gContestResources->field_4[i].jam, -gContestResources->field_4[i].jam, i);
+ gTasks[taskId].data[0] = 29;
+ return;
+ case 29:
+ for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
+ ;
+ if (!gContestResources->field_14[i].unk2_2)
+ gTasks[taskId].data[0] = 39;
+ return;
+ case 39:
+ for (i = 0; gTasks[taskId].data[1] != gUnknown_02039F26[i]; i++)
+ ;
+ if (sub_80DB5B8(i, 1))
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 40;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 30;
+ }
+ return;
+ case 40:
+ if (++gTasks[taskId].data[10] > 20)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 30;
+ }
+ return;
+ case 30:
+ for (i = 0; i < 4; i++)
+ {
+ if (gUnknown_02039F26[i] == gTasks[taskId].data[1])
+ break;
+ }
+ if (sub_80DB798(i))
+ PlaySE(SE_C_PASI);
+ else
+ PlaySE(SE_C_SYU);
+ if (gContestResources->field_4[i].judgesAttentionWasRemoved)
+ {
+ sub_80DC674(i);
+ gContestResources->field_4[i].judgesAttentionWasRemoved = 0;
+ }
+ gTasks[taskId].data[1]++;
+ gTasks[taskId].data[0] = 26;
+ return;
+ case 51:
+ if (gTasks[taskId].data[10]++ > 9)
+ {
+ gTasks[taskId].data[10] = 0;
+ if (gContestResources->field_4[r6].numTurnsSkipped != 0
+ || gContestResources->field_4[r6].turnSkipped)
{
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 40;
+ sub_80DB89C();
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ StringExpandPlaceholders(gStringVar4, gText_0827E793);
+ Contest_StartTextPrinter(gStringVar4, 1);
}
+ gTasks[taskId].data[0] = 52;
+ }
+ return;
+ case 52:
+ if (!Contest_RunTextPrinters())
+ {
+ if (!gContestResources->field_4[r6].unk15_6)
+ gTasks[taskId].data[0] = 17;
else
+ gTasks[taskId].data[0] = 14;
+ }
+ return;
+ case 14:
+ r3 = gContestResources->field_4[r6].unk16;
+ if (gContestResources->field_4[r6].unk16 != 0)
+ {
+ sub_80DB89C();
+ if (r3 == 1)
+ Contest_StartTextPrinter(gText_0827E32E, 1);
+ else if (r3 == 2)
+ Contest_StartTextPrinter(gText_0827E35B, 1);
+ else
+ Contest_StartTextPrinter(gText_0827E38D, 1);
+ sub_80DD720(3);
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 45;
+ }
+ else
+ {
+ sub_80DB89C();
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ StringExpandPlaceholders(gStringVar4, gText_0827E2FE);
+ Contest_StartTextPrinter(gStringVar4, 1);
+ sub_80DD720(2);
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 45;
+ }
+ return;
+ case 45:
+ if (!gContestResources->field_0->unk1920A_4)
+ {
+ sub_80DC9B4(gContestResources->field_0->unk19215);
+ gTasks[taskId].data[0] = 15;
+ }
+ return;
+ case 15:
+ if (!Contest_RunTextPrinters())
+ {
+ if (++gTasks[taskId].data[10] > 50)
{
- gTasks[taskId].data[0] = 30;
- }
- return;
- case 40:
- if (++gTasks[taskId].data[10] > 20)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 30;
+ if (!gContestResources->field_4[r6].hasJudgesAttention)
+ {
+ sub_80DC028(
+ gContestResources->field_4[r6].appeal2,
+ gContestResources->field_4[r6].unk17,
+ r6);
+ gContestResources->field_4[r6].appeal2 += gContestResources->field_4[r6].unk17;
+ }
+ gTasks[taskId].data[0] = 16;
}
- return;
- case 30:
- for (i = 0; i < 4; i++)
+ }
+ return;
+ case 16:
+ if (!gContestResources->field_14[r6].unk2_2)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 17;
+ }
+ return;
+ case 17:
+ if (gContestResources->field_4[r6].disappointedRepeat)
+ {
+ sub_80DB89C();
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ StringExpandPlaceholders(gStringVar4, gText_0827E6E3);
+ Contest_StartTextPrinter(gStringVar4, 1);
+ gTasks[taskId].data[10] = 0;
+ sub_80DD720(0);
+ gTasks[taskId].data[0] = 46;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 41;
+ }
+ return;
+ case 46:
+ if (!gContestResources->field_0->unk1920A_4)
+ gTasks[taskId].data[0] = 19;
+ return;
+ case 19:
+ if (!Contest_RunTextPrinters())
+ {
+ sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6);
+ gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18;
+ gTasks[taskId].data[0] = 18;
+ }
+ return;
+ case 18:
+ sub_80DCD48();
+ if (!gContestResources->field_14[r6].unk2_2)
+ {
+ gTasks[taskId].data[10] = 0;
+ sub_80DB89C();
+ gTasks[taskId].data[0] = 41;
+ }
+ return;
+ case 41:
+ if (gContestResources->field_10->excitementFrozen && r6 != gContestResources->field_10->excitementFreezer)
+ {
+ gTasks[taskId].data[0] = 57;
+ }
+ else
+ {
+ r3 = gContestResources->field_10->bits_0;
+ if (gContestResources->field_4[r6].overrideCategoryExcitementMod)
{
- if (gUnknown_02039F26[i] == gTasks[taskId].data[1])
- break;
+ r3 = 1;
+ StringCopy(gStringVar3, gMoveNames[gContestResources->field_4[r6].currMove]);
}
- if (sub_80DB798(i))
- PlaySE(SE_C_PASI);
else
- PlaySE(SE_C_SYU);
- if (gContestResources->field_4[i].judgesAttentionWasRemoved)
{
- sub_80DC674(i);
- gContestResources->field_4[i].judgesAttentionWasRemoved = 0;
+ StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[gContestResources->field_4[r6].currMove].contestCategory]);
}
- gTasks[taskId].data[1]++;
- gTasks[taskId].data[0] = 26;
- return;
- case 51:
- if (gTasks[taskId].data[10]++ > 9)
- {
- gTasks[taskId].data[10] = 0;
- if (gContestResources->field_4[r6].numTurnsSkipped != 0
- || gContestResources->field_4[r6].turnSkipped)
- {
- sub_80DB89C();
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827E793);
- Contest_StartTextPrinter(gStringVar4, 1);
- }
- gTasks[taskId].data[0] = 52;
- }
- return;
- case 52:
- if (!Contest_RunTextPrinters())
+ if (r3 > 0)
{
- if (!gContestResources->field_4[r6].unk15_6)
- gTasks[taskId].data[0] = 17;
- else
- gTasks[taskId].data[0] = 14;
+ if (gContestResources->field_4[r6].disappointedRepeat)
+ r3 = 0;
}
- return;
- case 14:
- r3 = gContestResources->field_4[r6].unk16;
- if (gContestResources->field_4[r6].unk16 != 0)
+ sub_80DB89C();
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ gContestResources->field_0->applauseLevel += r3;
+ if (gContestResources->field_0->applauseLevel < 0)
+ gContestResources->field_0->applauseLevel = 0;
+ if (r3 == 0)
{
- sub_80DB89C();
- if (r3 == 1)
- Contest_StartTextPrinter(gText_0827E32E, 1);
- else if (r3 == 2)
- Contest_StartTextPrinter(gText_0827E35B, 1);
- else
- Contest_StartTextPrinter(gText_0827E38D, 1);
- sub_80DD720(3);
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 45;
+ gTasks[taskId].data[0] = 55;
}
else
{
- sub_80DB89C();
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827E2FE);
+ if (r3 < 0)
+ StringExpandPlaceholders(gStringVar4, gText_0827E73C);
+ else if (r3 > 0 && gContestResources->field_0->applauseLevel <= 4)
+ StringExpandPlaceholders(gStringVar4, gText_0827E717);
+ else
+ StringExpandPlaceholders(gStringVar4, gText_0827E76A);
Contest_StartTextPrinter(gStringVar4, 1);
- sub_80DD720(2);
gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 45;
+ gTasks[taskId].data[11] = 0;
+ if (r3 < 0)
+ gTasks[taskId].data[0] = 53;
+ else
+ gTasks[taskId].data[0] = 54;
}
- return;
- case 45:
- if (!gContestResources->field_0->unk1920A_4)
+ }
+ return;
+ case 53:
+ switch (gTasks[taskId].data[10])
+ {
+ case 0:
+ sub_80DDED0(-1, 1);
+ PlayFanfare(MUS_ME_ZANNEN);
+ gTasks[taskId].data[10]++;
+ break;
+ case 1:
+ if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters())
{
- sub_80DC9B4(gContestResources->field_0->unk19215);
- gTasks[taskId].data[0] = 15;
+ sub_80DDCDC(-1);
+ gTasks[taskId].data[10]++;
}
- return;
- case 15:
- if (!Contest_RunTextPrinters())
+ break;
+ case 2:
+ if (!gContestResources->field_0->unk1920A_5)
{
- if (++gTasks[taskId].data[10] > 50)
+ if (gTasks[taskId].data[11]++ > 29)
{
- if (!gContestResources->field_4[r6].hasJudgesAttention)
- {
- sub_80DC028(
- gContestResources->field_4[r6].appeal2,
- gContestResources->field_4[r6].unk17,
- r6);
- gContestResources->field_4[r6].appeal2 += gContestResources->field_4[r6].unk17;
- }
- gTasks[taskId].data[0] = 16;
+ gTasks[taskId].data[11] = 0;
+ sub_80DDED0(-1, -1);
+ gTasks[taskId].data[10]++;
}
}
- return;
- case 16:
- if (!gContestResources->field_14[r6].unk2_2)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 17;
- }
- return;
- case 17:
- if (gContestResources->field_4[r6].disappointedRepeat)
+ break;
+ case 3:
+ if (!gPaletteFade.active)
{
- sub_80DB89C();
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827E6E3);
- Contest_StartTextPrinter(gStringVar4, 1);
gTasks[taskId].data[10] = 0;
- sub_80DD720(0);
- gTasks[taskId].data[0] = 46;
- }
- else
- {
- gTasks[taskId].data[0] = 41;
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[0] = 43;
}
- return;
- case 46:
- if (!gContestResources->field_0->unk1920A_4)
- gTasks[taskId].data[0] = 19;
- return;
- case 19:
+ break;
+ }
+ return;
+ case 54:
+ switch (gTasks[taskId].data[10])
+ {
+ case 0:
if (!Contest_RunTextPrinters())
{
- sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6);
- gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18;
- gTasks[taskId].data[0] = 18;
+ sub_80DDED0(1, 1);
+ gTasks[taskId].data[10]++;
}
- return;
- case 18:
- sub_80DCD48();
- if (!gContestResources->field_14[r6].unk2_2)
- {
- gTasks[taskId].data[10] = 0;
- sub_80DB89C();
- gTasks[taskId].data[0] = 41;
- }
- return;
- case 41:
- if (gContestResources->field_10->excitementFrozen && r6 != gContestResources->field_10->excitementFreezer)
+ break;
+ case 1:
+ if (!gContestResources->field_0->unk1920B_0)
{
- gTasks[taskId].data[0] = 57;
+ sub_80DDE0C();
+ PlaySE(SE_W227B);
+ sub_80DDCDC(1);
+ gTasks[taskId].data[10]++;
}
- else
+ break;
+ case 2:
+ if (!gContestResources->field_0->unk1920A_5)
{
- r3 = gContestResources->field_10->bits_0;
- if (gContestResources->field_4[r6].overrideCategoryExcitementMod)
- {
- r3 = 1;
- StringCopy(gStringVar3, gMoveNames[gContestResources->field_4[r6].currMove]);
- }
- else
- {
- StringCopy(gStringVar3, gUnknown_08587F08[gContestMoves[gContestResources->field_4[r6].currMove].contestCategory]);
- }
- if (r3 > 0)
- {
- if (gContestResources->field_4[r6].disappointedRepeat)
- r3 = 0;
- }
- sub_80DB89C();
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- gContestResources->field_0->applauseLevel += r3;
- if (gContestResources->field_0->applauseLevel < 0)
- gContestResources->field_0->applauseLevel = 0;
- if (r3 == 0)
- {
- gTasks[taskId].data[0] = 55;
- }
- else
+ if (gTasks[taskId].data[11]++ > 29)
{
- if (r3 < 0)
- StringExpandPlaceholders(gStringVar4, gText_0827E73C);
- else if (r3 > 0 && gContestResources->field_0->applauseLevel <= 4)
- StringExpandPlaceholders(gStringVar4, gText_0827E717);
- else
- StringExpandPlaceholders(gStringVar4, gText_0827E76A);
- Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[10] = 0;
gTasks[taskId].data[11] = 0;
- if (r3 < 0)
- gTasks[taskId].data[0] = 53;
- else
- gTasks[taskId].data[0] = 54;
- }
- }
- return;
- case 53:
- switch (gTasks[taskId].data[10])
- {
- case 0:
- sub_80DDED0(-1, 1);
- PlayFanfare(MUS_ME_ZANNEN);
+ sub_80DC028(gContestResources->field_4[r6].appeal2, gContestResources->field_10->unk2, r6);
+ gContestResources->field_4[r6].appeal2 += gContestResources->field_10->unk2;
gTasks[taskId].data[10]++;
- break;
- case 1:
- if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters())
- {
- sub_80DDCDC(-1);
- gTasks[taskId].data[10]++;
- }
- break;
- case 2:
- if (!gContestResources->field_0->unk1920A_5)
- {
- if (gTasks[taskId].data[11]++ > 29)
- {
- gTasks[taskId].data[11] = 0;
- sub_80DDED0(-1, -1);
- gTasks[taskId].data[10]++;
- }
- }
- break;
- case 3:
- if (!gPaletteFade.active)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[11] = 0;
- gTasks[taskId].data[0] = 43;
- }
- break;
- }
- return;
- case 54:
- switch (gTasks[taskId].data[10])
- {
- case 0:
- if (!Contest_RunTextPrinters())
- {
- sub_80DDED0(1, 1);
- gTasks[taskId].data[10]++;
- }
- break;
- case 1:
- if (!gContestResources->field_0->unk1920B_0)
- {
- sub_80DDE0C();
- PlaySE(SE_W227B);
- sub_80DDCDC(1);
- gTasks[taskId].data[10]++;
- }
- break;
- case 2:
- if (!gContestResources->field_0->unk1920A_5)
- {
- if (gTasks[taskId].data[11]++ > 29)
- {
- gTasks[taskId].data[11] = 0;
- sub_80DC028(gContestResources->field_4[r6].appeal2, gContestResources->field_10->unk2, r6);
- gContestResources->field_4[r6].appeal2 += gContestResources->field_10->unk2;
- gTasks[taskId].data[10]++;
- }
- }
- break;
- case 3:
- if (!gContestResources->field_14[r6].unk2_2)
- {
- if (!gContestResources->field_0->unk1920A_7)
- {
- sub_80DDED0(1, -1);
- gTasks[taskId].data[10]++;
- }
- }
- break;
- case 4:
- if (!gPaletteFade.active)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[11] = 0;
- gTasks[taskId].data[0] = 43;
- }
- break;
+ }
}
- return;
- case 43:
+ break;
+ case 3:
if (!gContestResources->field_14[r6].unk2_2)
{
- sub_80DB89C();
- gTasks[taskId].data[0] = 55;
- }
- return;
- case 57:
- sub_80DB89C();
- StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname);
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
- StringExpandPlaceholders(gStringVar4, gText_0827E7EA);
- Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[0] = 58;
- return;
- case 58:
- if (!Contest_RunTextPrinters())
- {
- sub_80DB89C();
- StringExpandPlaceholders(gStringVar4, gText_0827E817);
- Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[0] = 59;
- }
- return;
- case 59:
- if (!Contest_RunTextPrinters())
- {
- sub_80DB89C();
- gTasks[taskId].data[0] = 55;
- }
- return;
- case 33:
- if (gContestResources->field_4[r6].hasJudgesAttention)
- gContestResources->field_4[r6].hasJudgesAttention = 0;
- sub_80DC9B4(r6);
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
- StringExpandPlaceholders(gStringVar4, gText_0827E58A);
- Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[0] = 34;
- return;
- case 34:
- if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 55;
- return;
- case 55:
- sub_80DDBE8();
- gTasks[taskId].data[0] = 56;
- return;
- case 56:
- if (!gContestResources->field_0->unk1920A_6)
- {
- if (gContestResources->field_0->applauseLevel > 4)
+ if (!gContestResources->field_0->unk1920A_7)
{
- gContestResources->field_0->applauseLevel = 0;
- sub_80DD940();
+ sub_80DDED0(1, -1);
+ gTasks[taskId].data[10]++;
}
- gTasks[taskId].data[0] = 10;
}
- return;
- case 10:
- spriteId = gTasks[taskId].data[2];
- gSprites[spriteId].callback = sub_80DA164;
- gTasks[taskId].data[0] = 11;
- return;
- case 11:
- spriteId = gTasks[taskId].data[2];
- if (gSprites[spriteId].invisible)
+ break;
+ case 4:
+ if (!gPaletteFade.active)
{
- FreeSpriteOamMatrix(&gSprites[spriteId]);
- DestroySprite(&gSprites[spriteId]);
- gTasks[taskId].data[0] = 20;
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[11] = 0;
+ gTasks[taskId].data[0] = 43;
}
- return;
- case 20:
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 21;
- return;
- case 31:
+ break;
+ }
+ return;
+ case 43:
+ if (!gContestResources->field_14[r6].unk2_2)
+ {
sub_80DB89C();
- StringCopy(gStringVar1, gContestMons[r6].nickname);
- StringExpandPlaceholders(gStringVar4, gText_0827D56F);
+ gTasks[taskId].data[0] = 55;
+ }
+ return;
+ case 57:
+ sub_80DB89C();
+ StringCopy(gStringVar3, gContestMons[gContestResources->field_10->excitementFreezer].nickname);
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
+ StringExpandPlaceholders(gStringVar4, gText_0827E7EA);
+ Contest_StartTextPrinter(gStringVar4, 1);
+ gTasks[taskId].data[0] = 58;
+ return;
+ case 58:
+ if (!Contest_RunTextPrinters())
+ {
+ sub_80DB89C();
+ StringExpandPlaceholders(gStringVar4, gText_0827E817);
Contest_StartTextPrinter(gStringVar4, 1);
- gTasks[taskId].data[0] = 32;
- return;
- case 32:
- if (!Contest_RunTextPrinters())
- gTasks[taskId].data[0] = 21;
- return;
- case 21:
- if (++gTasks[taskId].data[10] > 29)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[0] = 22;
- }
- return;
- case 22:
- if (++gContestResources->field_0->unk19214 == 4)
- {
- gTasks[taskId].data[0] = 0;
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[2] = 0;
- gTasks[taskId].func = sub_80DA198;
- }
- else
+ gTasks[taskId].data[0] = 59;
+ }
+ return;
+ case 59:
+ if (!Contest_RunTextPrinters())
+ {
+ sub_80DB89C();
+ gTasks[taskId].data[0] = 55;
+ }
+ return;
+ case 33:
+ if (gContestResources->field_4[r6].hasJudgesAttention)
+ gContestResources->field_4[r6].hasJudgesAttention = 0;
+ sub_80DC9B4(r6);
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
+ StringExpandPlaceholders(gStringVar4, gText_0827E58A);
+ Contest_StartTextPrinter(gStringVar4, 1);
+ gTasks[taskId].data[0] = 34;
+ return;
+ case 34:
+ if (!Contest_RunTextPrinters())
+ gTasks[taskId].data[0] = 55;
+ return;
+ case 55:
+ sub_80DDBE8();
+ gTasks[taskId].data[0] = 56;
+ return;
+ case 56:
+ if (!gContestResources->field_0->unk1920A_6)
+ {
+ if (gContestResources->field_0->applauseLevel > 4)
{
- gTasks[taskId].data[0] = 0;
+ gContestResources->field_0->applauseLevel = 0;
+ sub_80DD940();
}
- return;
+ gTasks[taskId].data[0] = 10;
+ }
+ return;
+ case 10:
+ spriteId = gTasks[taskId].data[2];
+ gSprites[spriteId].callback = sub_80DA164;
+ gTasks[taskId].data[0] = 11;
+ return;
+ case 11:
+ spriteId = gTasks[taskId].data[2];
+ if (gSprites[spriteId].invisible)
+ {
+ FreeSpriteOamMatrix(&gSprites[spriteId]);
+ DestroySprite(&gSprites[spriteId]);
+ gTasks[taskId].data[0] = 20;
+ }
+ return;
+ case 20:
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 21;
+ return;
+ case 31:
+ sub_80DB89C();
+ StringCopy(gStringVar1, gContestMons[r6].nickname);
+ StringExpandPlaceholders(gStringVar4, gText_0827D56F);
+ Contest_StartTextPrinter(gStringVar4, 1);
+ gTasks[taskId].data[0] = 32;
+ return;
+ case 32:
+ if (!Contest_RunTextPrinters())
+ gTasks[taskId].data[0] = 21;
+ return;
+ case 21:
+ if (++gTasks[taskId].data[10] > 29)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[0] = 22;
+ }
+ return;
+ case 22:
+ if (++gContestResources->field_0->unk19214 == 4)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].func = sub_80DA198;
+ }
+ else
+ {
+ gTasks[taskId].data[0] = 0;
+ }
+ return;
}
}
-void sub_80DA110(u8 taskId)
+static void sub_80DA110(u8 taskId)
{
sContest.unk1920B_2 = 0;
DestroyTask(taskId);
}
-void sub_80DA134(struct Sprite *sprite)
+static void sub_80DA134(struct Sprite *sprite)
{
if (sprite->pos2.x != 0)
{
@@ -1670,7 +1722,7 @@ void sub_80DA134(struct Sprite *sprite)
}
}
-void sub_80DA164(struct Sprite *sprite)
+static void sub_80DA164(struct Sprite *sprite)
{
sprite->pos2.x -= 6;
if (sprite->pos1.x + sprite->pos2.x < -32)
@@ -1680,7 +1732,7 @@ void sub_80DA164(struct Sprite *sprite)
}
}
-void sub_80DA198(u8 taskId)
+static void sub_80DA198(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -1718,7 +1770,7 @@ void sub_80DA198(u8 taskId)
}
}
-void sub_80DA25C(u8 taskId)
+static void sub_80DA25C(u8 taskId)
{
sub_80DE008(FALSE);
gTasks[taskId].data[0] = 0;
@@ -1726,7 +1778,7 @@ void sub_80DA25C(u8 taskId)
gTasks[taskId].func = sub_80DA28C;
}
-void sub_80DA28C(u8 taskId)
+static void sub_80DA28C(u8 taskId)
{
switch (gTasks[taskId].data[0])
{
@@ -1757,13 +1809,13 @@ void sub_80DA28C(u8 taskId)
}
}
-void sub_80DA31C(u8 taskId)
+static void sub_80DA31C(u8 taskId)
{
if (sub_80DC3C4())
gTasks[taskId].func = sub_80DA348;
}
-void sub_80DA348(u8 taskId)
+static void sub_80DA348(u8 taskId)
{
DmaCopy32Defvars(3, shared18000.unk18204, gPlttBufferUnfaded, 0x400);
gTasks[taskId].data[0] = 0;
@@ -1771,7 +1823,7 @@ void sub_80DA348(u8 taskId)
gTasks[taskId].func = sub_80DA38C;
}
-void sub_80DA38C(u8 taskId)
+static void sub_80DA38C(u8 taskId)
{
if (++gTasks[taskId].data[0] > 2)
{
@@ -1781,7 +1833,7 @@ void sub_80DA38C(u8 taskId)
}
}
-void sub_80DA3CC(u8 taskId)
+static void sub_80DA3CC(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
@@ -1804,7 +1856,7 @@ void sub_80DA3CC(u8 taskId)
}
}
-void sub_80DA464(u8 taskId)
+static void sub_80DA464(u8 taskId)
{
if (gTasks[taskId].data[0]++ > 29)
{
@@ -1814,7 +1866,7 @@ void sub_80DA464(u8 taskId)
}
}
-void sub_80DA49C(u8 taskId)
+static void sub_80DA49C(u8 taskId)
{
if (sub_80DC3C4())
{
@@ -1823,19 +1875,19 @@ void sub_80DA49C(u8 taskId)
}
}
-void sub_80DA4CC(u8 taskId)
+static void sub_80DA4CC(u8 taskId)
{
sub_80DE224();
gTasks[taskId].func = sub_80DE424;
}
-void sub_80DA4F4(u8 taskId)
+static void sub_80DA4F4(u8 taskId)
{
sub_80DE350();
gTasks[taskId].func = sub_80DA51C;
}
-void sub_80DA51C(u8 taskId)
+static void sub_80DA51C(u8 taskId)
{
vu16 sp0 = GetGpuReg(REG_OFFSET_BG0CNT);
vu16 sp2 = GetGpuReg(REG_OFFSET_BG2CNT);
@@ -1855,13 +1907,13 @@ void sub_80DA51C(u8 taskId)
}
}
-void sub_80DA5B4(u8 taskId)
+static void sub_80DA5B4(u8 taskId)
{
if (!sContest.unk1920A_6)
gTasks[taskId].func = sub_80D833C;
}
-void sub_80DA5E8(u8 taskId)
+static void sub_80DA5E8(u8 taskId)
{
s32 i;
@@ -1886,7 +1938,7 @@ void sub_80DA5E8(u8 taskId)
gTasks[taskId].func = sub_80DA6B4;
}
-void sub_80DA6B4(u8 taskId)
+static void sub_80DA6B4(u8 taskId)
{
if (!Contest_RunTextPrinters())
{
@@ -1899,7 +1951,7 @@ void sub_80DA6B4(u8 taskId)
}
}
-void sub_80DA700(u8 taskId)
+static void sub_80DA700(u8 taskId)
{
gBattle_BG1_Y -= 7;
if ((s16)gBattle_BG1_Y < 0)
@@ -1911,7 +1963,7 @@ void sub_80DA700(u8 taskId)
}
}
-void sub_80DA740(u8 taskId)
+static void sub_80DA740(u8 taskId)
{
if (gTasks[taskId].data[0]++ >= 50)
{
@@ -1928,7 +1980,7 @@ void sub_80DA740(u8 taskId)
}
}
-void sub_80DA7A0(u8 taskId)
+static void sub_80DA7A0(u8 taskId)
{
u8 taskId2 = CreateTask(sub_80FCACC, 0);
@@ -1938,14 +1990,14 @@ void sub_80DA7A0(u8 taskId)
sub_80DC490(FALSE);
}
-void sub_80DA7EC(u8 taskId)
+static void sub_80DA7EC(u8 taskId)
{
DestroyTask(taskId);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
gTasks[sContest.mainTaskId].func = sub_80DA830;
}
-void sub_80DA830(u8 taskId)
+static void sub_80DA830(u8 taskId)
{
if (!gPaletteFade.active)
{
@@ -1958,26 +2010,25 @@ void sub_80DA830(u8 taskId)
}
}
-void sub_80DA874(void)
+static void sub_80DA874(void)
{
ScriptContext2_Disable();
EnableBothScriptContexts();
}
-void sub_80DA884(void)
+static void sub_80DA884(void)
{
if (!(gIsLinkContest & 1))
gContestPlayerMonIndex = 3;
}
-bool8 sub_80DA8A4(void)
+static bool8 sub_80DA8A4(void)
{
if (gContestPlayerMonIndex == gUnknown_02039F2B)
return TRUE;
return FALSE;
}
-
void sub_80DA8C8(u8 partyIndex)
{
u8 name[20];
@@ -2113,48 +2164,41 @@ void sub_80DAB8C(u8 contestType, u8 rank)
sub_80DA8C8(gContestMonPartyIndex);
}
-#ifdef NONMATCHING
void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
{
- s32 i;
+ s32 i, j;
u8 opponentsCount = 0;
u8 opponents[100];
- const u8 * r6;
if (gNumLinkContestPlayers == 4)
return;
- r6 = gUnknown_085898A4;
for (i = 0; i < ARRAY_COUNT(gContestOpponents); i++)
{
if (rank != gContestOpponents[i].whichRank)
continue;
+
if (isPostgame == TRUE)
{
- if (r6[i] == 1)
+ if (gUnknown_085898A4[i] == 1)
continue;
}
else
{
- if (r6[i] == 2)
+ if (gUnknown_085898A4[i] == 2)
continue;
}
- if (contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool)
- opponents[opponentsCount++] = i;
- else if (contestType == CONTEST_CATEGORY_BEAUTY && gContestOpponents[i].aiPool_Beauty)
- opponents[opponentsCount++] = i;
- else if (contestType == CONTEST_CATEGORY_CUTE && gContestOpponents[i].aiPool_Cute)
- opponents[opponentsCount++] = i;
- else if (contestType == CONTEST_CATEGORY_SMART && gContestOpponents[i].aiPool_Smart)
- opponents[opponentsCount++] = i;
- else if (contestType == CONTEST_CATEGORY_TOUGH && gContestOpponents[i].aiPool_Tough)
+ if ((contestType == CONTEST_CATEGORY_COOL && gContestOpponents[i].aiPool_Cool)
+ || (contestType == CONTEST_CATEGORY_BEAUTY && gContestOpponents[i].aiPool_Beauty)
+ || (contestType == CONTEST_CATEGORY_CUTE && gContestOpponents[i].aiPool_Cute)
+ || (contestType == CONTEST_CATEGORY_SMART && gContestOpponents[i].aiPool_Smart)
+ || (contestType == CONTEST_CATEGORY_TOUGH && gContestOpponents[i].aiPool_Tough))
opponents[opponentsCount++] = i;
}
opponents[opponentsCount] = 0xFF;
for (i = 0; i < 4 - gNumLinkContestPlayers; i++)
{
u16 rnd = sub_80F903C() % opponentsCount;
- s32 j;
gContestMons[gNumLinkContestPlayers + i] = gContestOpponents[opponents[rnd]];
sub_80DF9D4(gContestMons[gNumLinkContestPlayers + i].trainerName);
@@ -2164,180 +2208,6 @@ void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
opponentsCount--;
}
}
-#else
-NAKED void sub_80DACBC(u8 contestType, u8 rank, bool32 isPostgame)
-{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r9\n"
- "\tmov r6, r8\n"
- "\tpush {r6,r7}\n"
- "\tsub sp, 0x64\n"
- "\tmov r8, r2\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tlsls r1, 24\n"
- "\tlsrs r2, r1, 24\n"
- "\tmovs r7, 0\n"
- "\tldr r0, =gNumLinkContestPlayers\n"
- "\tldrb r1, [r0]\n"
- "\tmov r9, r0\n"
- "\tcmp r1, 0x4\n"
- "\tbne _080DACDE\n"
- "\tb _080DADF6\n"
- "_080DACDE:\n"
- "\tmovs r5, 0\n"
- "\tldr r3, =gContestOpponents\n"
- "\tldr r6, =gUnknown_085898A4\n"
- "_080DACE4:\n"
- "\tldrb r0, [r3, 0x1C]\n"
- "\tlsls r0, 30\n"
- "\tlsrs r0, 30\n"
- "\tcmp r2, r0\n"
- "\tbne _080DAD56\n"
- "\tmov r0, r8\n"
- "\tcmp r0, 0x1\n"
- "\tbne _080DAD08\n"
- "\tldrb r0, [r6]\n"
- "\tcmp r0, 0x1\n"
- "\tbeq _080DAD56\n"
- "\tb _080DAD0E\n"
- "\t.pool\n"
- "_080DAD08:\n"
- "\tldrb r0, [r6]\n"
- "\tcmp r0, 0x2\n"
- "\tbeq _080DAD56\n"
- "_080DAD0E:\n"
- "\tcmp r4, 0\n"
- "\tbne _080DAD1A\n"
- "\tldrb r0, [r3, 0x1C]\n"
- "\tlsls r0, 29\n"
- "\tcmp r0, 0\n"
- "\tblt _080DAD4A\n"
- "_080DAD1A:\n"
- "\tcmp r4, 0x1\n"
- "\tbne _080DAD26\n"
- "\tldrb r0, [r3, 0x1C]\n"
- "\tlsls r0, 28\n"
- "\tcmp r0, 0\n"
- "\tblt _080DAD4A\n"
- "_080DAD26:\n"
- "\tcmp r4, 0x2\n"
- "\tbne _080DAD32\n"
- "\tldrb r0, [r3, 0x1C]\n"
- "\tlsls r0, 27\n"
- "\tcmp r0, 0\n"
- "\tblt _080DAD4A\n"
- "_080DAD32:\n"
- "\tcmp r4, 0x3\n"
- "\tbne _080DAD3E\n"
- "\tldrb r0, [r3, 0x1C]\n"
- "\tlsls r0, 26\n"
- "\tcmp r0, 0\n"
- "\tblt _080DAD4A\n"
- "_080DAD3E:\n"
- "\tcmp r4, 0x4\n"
- "\tbne _080DAD56\n"
- "\tldrb r0, [r3, 0x1C]\n"
- "\tlsls r0, 25\n"
- "\tcmp r0, 0\n"
- "\tbge _080DAD56\n"
- "_080DAD4A:\n"
- "\tadds r0, r7, 0\n"
- "\tadds r1, r0, 0x1\n"
- "\tlsls r1, 24\n"
- "\tlsrs r7, r1, 24\n"
- "\tadd r0, sp\n"
- "\tstrb r5, [r0]\n"
- "_080DAD56:\n"
- "\tadds r3, 0x40\n"
- "\tadds r6, 0x1\n"
- "\tadds r5, 0x1\n"
- "\tcmp r5, 0x5F\n"
- "\tbls _080DACE4\n"
- "\tmov r3, sp\n"
- "\tadds r1, r3, r7\n"
- "\tmovs r0, 0xFF\n"
- "\tstrb r0, [r1]\n"
- "\tmovs r5, 0\n"
- "\tmov r0, r9\n"
- "\tldrb r1, [r0]\n"
- "\tmovs r0, 0x4\n"
- "\tsubs r0, r1\n"
- "\tcmp r5, r0\n"
- "\tbge _080DADF6\n"
- "\tldr r3, =gContestMons\n"
- "\tmov r8, r3\n"
- "\tmov r6, r9\n"
- "\tmovs r0, 0x2\n"
- "\tadd r0, r8\n"
- "\tmov r9, r0\n"
- "_080DAD82:\n"
- "\tbl sub_80F903C\n"
- "\tlsls r0, 16\n"
- "\tlsrs r0, 16\n"
- "\tadds r1, r7, 0\n"
- "\tbl __modsi3\n"
- "\tadds r1, r0, 0\n"
- "\tlsls r1, 16\n"
- "\tlsrs r1, 16\n"
- "\tldrb r0, [r6]\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 6\n"
- "\tadd r0, r8\n"
- "\tldr r2, =gContestOpponents\n"
- "\tmov r3, sp\n"
- "\tadds r4, r3, r1\n"
- "\tldrb r1, [r4]\n"
- "\tlsls r1, 6\n"
- "\tadds r1, r2\n"
- "\tmovs r2, 0x40\n"
- "\tbl memcpy\n"
- "\tldrb r0, [r6]\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 6\n"
- "\tmov r1, r8\n"
- "\tadds r1, 0xD\n"
- "\tadds r0, r1\n"
- "\tbl sub_80DF9D4\n"
- "\tldrb r0, [r6]\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 6\n"
- "\tadd r0, r9\n"
- "\tmovs r1, 0x2\n"
- "\tbl sub_80DF9E0\n"
- "\tldrb r0, [r4]\n"
- "\tadds r3, r5, 0x1\n"
- "\tsubs r1, r7, 0x1\n"
- "\tcmp r0, 0xFF\n"
- "\tbeq _080DADE6\n"
- "\tadds r2, r4, 0\n"
- "_080DADDA:\n"
- "\tldrb r0, [r2, 0x1]\n"
- "\tstrb r0, [r2]\n"
- "\tadds r2, 0x1\n"
- "\tldrb r0, [r2]\n"
- "\tcmp r0, 0xFF\n"
- "\tbne _080DADDA\n"
- "_080DADE6:\n"
- "\tlsls r0, r1, 24\n"
- "\tlsrs r7, r0, 24\n"
- "\tadds r5, r3, 0\n"
- "\tldrb r1, [r6]\n"
- "\tmovs r0, 0x4\n"
- "\tsubs r0, r1\n"
- "\tcmp r5, r0\n"
- "\tblt _080DAD82\n"
- "_080DADF6:\n"
- "\tadd sp, 0x64\n"
- "\tpop {r3,r4}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.pool");
-}
-#endif
// GetContestAvailability?
u8 sub_80DAE0C(struct Pokemon *pkmn)
@@ -2382,7 +2252,7 @@ u8 sub_80DAE0C(struct Pokemon *pkmn)
return retVal;
}
-void sub_80DAEA4(void)
+static void sub_80DAEA4(void)
{
s32 i;
@@ -2394,7 +2264,7 @@ void sub_80DAEA4(void)
}
}
-u8 * sub_80DAED4(const u8 * src, u8 color)
+static u8 *sub_80DAED4(const u8 *src, u8 color)
{
u8 * ptr = StringCopy(gDisplayedStringBattle, gText_ColorTransparent);
ptr[-1] = color;
@@ -2403,12 +2273,12 @@ u8 * sub_80DAED4(const u8 * src, u8 color)
return ptr;
}
-void sub_80DAF04(u8 a0)
+static void sub_80DAF04(u8 a0)
{
sub_80DAF1C(a0, a0 + 10);
}
-void sub_80DAF1C(u8 a0, u8 a1)
+static void sub_80DAF1C(u8 a0, u8 a1)
{
u8 buffer[32];
s32 offset;
@@ -2422,18 +2292,18 @@ void sub_80DAF1C(u8 a0, u8 a1)
Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7);
}
-void sub_80DAF88(u8 a0)
+static void sub_80DAF88(u8 a0)
{
sub_80DAFA0(a0, a0 + 10);
}
-void sub_80DAFA0(u8 a0, u8 a1)
+static void sub_80DAFA0(u8 a0, u8 a1)
{
sub_80DAED4(gContestMons[a0].nickname, a1);
Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7);
}
-u16 sub_80DAFE0(u8 who, u8 contestCategory)
+static u16 sub_80DAFE0(u8 who, u8 contestCategory)
{
u8 statMain;
u8 statSub1;
@@ -2441,32 +2311,32 @@ u16 sub_80DAFE0(u8 who, u8 contestCategory)
switch (contestCategory)
{
- case CONTEST_CATEGORY_COOL:
- statMain = gContestMons[who].cool;
- statSub1 = gContestMons[who].tough;
- statSub2 = gContestMons[who].beauty;
- break;
- case CONTEST_CATEGORY_BEAUTY:
- statMain = gContestMons[who].beauty;
- statSub1 = gContestMons[who].cool;
- statSub2 = gContestMons[who].cute;
- break;
- case CONTEST_CATEGORY_CUTE:
- statMain = gContestMons[who].cute;
- statSub1 = gContestMons[who].beauty;
- statSub2 = gContestMons[who].smart;
- break;
- case CONTEST_CATEGORY_SMART:
- statMain = gContestMons[who].smart;
- statSub1 = gContestMons[who].cute;
- statSub2 = gContestMons[who].tough;
- break;
- case CONTEST_CATEGORY_TOUGH:
- default:
- statMain = gContestMons[who].tough;
- statSub1 = gContestMons[who].smart;
- statSub2 = gContestMons[who].cool;
- break;
+ case CONTEST_CATEGORY_COOL:
+ statMain = gContestMons[who].cool;
+ statSub1 = gContestMons[who].tough;
+ statSub2 = gContestMons[who].beauty;
+ break;
+ case CONTEST_CATEGORY_BEAUTY:
+ statMain = gContestMons[who].beauty;
+ statSub1 = gContestMons[who].cool;
+ statSub2 = gContestMons[who].cute;
+ break;
+ case CONTEST_CATEGORY_CUTE:
+ statMain = gContestMons[who].cute;
+ statSub1 = gContestMons[who].beauty;
+ statSub2 = gContestMons[who].smart;
+ break;
+ case CONTEST_CATEGORY_SMART:
+ statMain = gContestMons[who].smart;
+ statSub1 = gContestMons[who].cute;
+ statSub2 = gContestMons[who].tough;
+ break;
+ case CONTEST_CATEGORY_TOUGH:
+ default:
+ statMain = gContestMons[who].tough;
+ statSub1 = gContestMons[who].smart;
+ statSub2 = gContestMons[who].cool;
+ break;
}
return statMain + (statSub1 + statSub2 + gContestMons[who].sheen) / 2;
}
@@ -2479,7 +2349,7 @@ void sub_80DB09C(u8 contestCategory)
gContestMonConditions[i] = sub_80DAFE0(i, contestCategory);
}
-u8 sub_80DB0C4(void)
+static u8 sub_80DB0C4(void)
{
u8 spriteId;
@@ -2491,7 +2361,7 @@ u8 sub_80DB0C4(void)
return spriteId;
}
-u8 sub_80DB120(void)
+static u8 sub_80DB120(void)
{
u8 spriteId;
@@ -2503,10 +2373,10 @@ u8 sub_80DB120(void)
return spriteId;
}
-u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index)
+static u8 sub_80DB174(u16 species, u32 otId, u32 personality, u32 index)
{
u8 spriteId;
- species = sub_80DE84C(species);
+ species = SanitizeSpecies(species);
if (index == gContestPlayerMonIndex)
HandleLoadSpecialPokePic_2(gMonBackPicTable + species, gMonSpritesGfxPtr->sprites[0], species, personality);
@@ -2540,36 +2410,36 @@ bool8 IsSpeciesNotUnown(u16 species)
return TRUE;
}
-void sub_80DB2BC(void)
+static void sub_80DB2BC(void)
{
CpuCopy16(gContestResources->field_24[0], gContestResources->field_24[0] + 0x500, 0x280);
CpuCopy16(gContestResources->field_24[2], gContestResources->field_24[2] + 0x500, 0x280);
}
-u16 sub_80DB2EC(u16 a0, u8 a1)
+static u16 sub_80DB2EC(u16 a0, u8 a1)
{
u16 var;
switch (gContestEffects[gContestMoves[a0].effect].effectType)
{
- case 0:
- case 1:
- case 8:
- var = 0x9082;
- break;
- case 2:
- case 3:
- var = 0x9088;
- break;
- default:
- var = 0x9086;
- break;
+ case 0:
+ case 1:
+ case 8:
+ var = 0x9082;
+ break;
+ case 2:
+ case 3:
+ var = 0x9088;
+ break;
+ default:
+ var = 0x9086;
+ break;
}
var += 0x9000 + (a1 << 12);
return var;
}
-void prints_contest_move_description(u16 a)
+static void prints_contest_move_description(u16 a)
{
u8 category;
u16 categoryTile;
@@ -2613,7 +2483,7 @@ void prints_contest_move_description(u16 a)
Contest_PrintTextToBg0WindowStd(9, gText_Slash);
}
-void sub_80DB4E0(u16 move, u8 b)
+static void sub_80DB4E0(u16 move, u8 b)
{
u8 r7 = gUnknown_02039F26[b] * 5 + 2;
@@ -2630,7 +2500,7 @@ void sub_80DB4E0(u16 move, u8 b)
}
}
-void sub_80DB584(void)
+static void sub_80DB584(void)
{
s32 i;
@@ -2638,12 +2508,12 @@ void sub_80DB584(void)
sub_80DB4E0(gContestResources->field_4[i].currMove, i);
}
-u16 sub_80DB5B0(void)
+static u16 sub_80DB5B0(void)
{
return 0x2034;
}
-bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod)
+static bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod)
{
u8 r6;
s32 r4;
@@ -2673,7 +2543,7 @@ bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod)
return TRUE;
}
-void sub_80DB69C(void)
+static void sub_80DB69C(void)
{
s32 i;
s32 r6;
@@ -2689,33 +2559,33 @@ void sub_80DB69C(void)
}
}
-u16 sub_80DB748(u8 status)
+static u16 sub_80DB748(u8 status)
{
u16 var = 0;
switch (status)
{
- case 0:
- var = 0x80;
- break;
- case 1:
- var = 0x84;
- break;
- case 2:
- var = 0x86;
- break;
- case 3:
- var = 0x88;
- break;
- case 4:
- var = 0x82;
- break;
+ case 0:
+ var = 0x80;
+ break;
+ case 1:
+ var = 0x84;
+ break;
+ case 2:
+ var = 0x86;
+ break;
+ case 3:
+ var = 0x88;
+ break;
+ case 4:
+ var = 0x82;
+ break;
}
var += 0x9000;
return var;
}
-bool8 sub_80DB798(u8 a)
+static bool8 sub_80DB798(u8 a)
{
bool8 r9 = TRUE;
u16 r8 = 0;
@@ -2740,3 +2610,2581 @@ bool8 sub_80DB798(u8 a)
}
return r9;
}
+
+static void sub_80DB884(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ sub_80DB798(i);
+}
+
+static void sub_80DB89C(void)
+{
+ FillWindowPixelBuffer(4, 0);
+ CopyWindowToVram(4, 2);
+ Contest_SetBgCopyFlags(0);
+}
+
+static u16 GetChosenMove(u8 a)
+{
+ if (Contest_IsMonsTurnDisabled(a))
+ return 0;
+ if (a == gContestPlayerMonIndex)
+ {
+ return gContestMons[a].moves[sContest.playerMoveChoice];
+ }
+ else
+ {
+ u8 moveChoice;
+
+ ContestAI_ResetAI(a);
+ moveChoice = ContestAI_GetActionToUse();
+ return gContestMons[a].moves[moveChoice];
+ }
+}
+
+static void sub_80DB918(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ sContestantStatus[i].currMove = GetChosenMove(i);
+}
+
+static void sub_80DB944(void)
+{
+ s32 i;
+ s32 j;
+ s16 arr[4];
+
+ for (i = 0; i < 4; i++)
+ {
+ sContestantStatus[i].unk4 += sContestantStatus[i].appeal2;
+ arr[i] = sContestantStatus[i].unk4;
+ }
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 3; j > i; j--)
+ {
+ if (arr[j - 1] < arr[j])
+ {
+ u16 temp = arr[j];
+
+ arr[j] = arr[j - 1];
+ arr[j - 1] = temp;
+ }
+ }
+ }
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (sContestantStatus[i].unk4 == arr[j])
+ {
+ sContestantStatus[i].unkB_0 = j;
+ break;
+ }
+ }
+ }
+ sub_80DCE58(1);
+ sub_80DD590();
+}
+
+static void sub_80DBA18(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ u8 attentionLevel;
+
+ if (sContestantStatus[i].currMove == MOVE_NONE)
+ attentionLevel = 5;
+ else if (sContestantStatus[i].appeal2 <= 0)
+ attentionLevel = 0;
+ else if (sContestantStatus[i].appeal2 < 30)
+ attentionLevel = 1;
+ else if (sContestantStatus[i].appeal2 < 60)
+ attentionLevel = 2;
+ else if (sContestantStatus[i].appeal2 < 80)
+ attentionLevel = 3;
+ else
+ attentionLevel = 4;
+
+ sContestantStatus[i].attentionLevel = attentionLevel;
+ }
+}
+
+static bool8 sub_80DBA68(u8 a)
+{
+ if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+static void sub_80DBAA0(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ sContestantStatus[i].appeal2 = 0;
+ sContestantStatus[i].appeal1 = 0;
+ sContestantStatus[i].jamSafetyCount = 0;
+ if (sContestantStatus[i].numTurnsSkipped > 0)
+ sContestantStatus[i].numTurnsSkipped--;
+ sContestantStatus[i].jam = 0;
+ sContestantStatus[i].resistant = 0;
+ sContestantStatus[i].jamReduction = 0;
+ sContestantStatus[i].immune = 0;
+ sContestantStatus[i].moreEasilyStartled = 0;
+ sContestantStatus[i].usedRepeatableMove = 0;
+ sContestantStatus[i].nervous = 0;
+ sContestantStatus[i].effectStringId = CONTEST_STRING_NONE;
+ sContestantStatus[i].effectStringId2 = CONTEST_STRING_NONE;
+ sContestantStatus[i].conditionMod = 0;
+ sContestantStatus[i].unk15_2 = sContestantStatus[i].disappointedRepeat;
+ sContestantStatus[i].disappointedRepeat = FALSE;
+ sContestantStatus[i].turnOrderModAction = 0;
+ sContestantStatus[i].appealTripleCondition = 0;
+ if (sContestantStatus[i].turnSkipped)
+ {
+ sContestantStatus[i].numTurnsSkipped = 1;
+ sContestantStatus[i].turnSkipped = 0;
+ }
+ if (sContestantStatus[i].exploded)
+ {
+ sContestantStatus[i].noMoreTurns = 1;
+ sContestantStatus[i].exploded = 0;
+ }
+ sContestantStatus[i].overrideCategoryExcitementMod = 0;
+ }
+ for (i = 0; i < 4; i++)
+ {
+ sContestantStatus[i].prevMove = sContestantStatus[i].currMove;
+ sContest.unk19220[sContest.turnNumber][i] = sContestantStatus[i].currMove;
+ sContest.unk19248[sContest.turnNumber][i] = Contest_GetMoveExcitement(sContestantStatus[i].currMove);
+ sContestantStatus[i].currMove = MOVE_NONE;
+ }
+ shared19328.excitementFrozen = 0;
+}
+
+bool8 Contest_IsMonsTurnDisabled(u8 a)
+{
+ if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_80DBCE0(u8 a)
+{
+ gUnknown_02039F18[a] = sub_80DBD34(a);
+ gUnknown_02039F08[a] = gContestMonConditions[a] + gUnknown_02039F18[a];
+}
+
+static void sub_80DBD18(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ sub_80DBCE0(i);
+ DetermineFinalStandings();
+}
+
+static s16 sub_80DBD34(u8 a)
+{
+ return gUnknown_02039F10[a] * 2;
+}
+
+static void DetermineFinalStandings(void)
+{
+ u16 sp0[4] = {0};
+ struct UnknownContestStruct6 sp8[4];
+ s32 i;
+ s32 j;
+
+ for (i = 0; i < 4; i++)
+ {
+ s32 r2;
+
+ sp0[i] = Random();
+ for (r2 = 0; r2 < i; r2++)
+ {
+ if (sp0[i] == sp0[r2])
+ {
+ i--;
+ break;
+ }
+ }
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ sp8[i].unk0 = gUnknown_02039F08[i];
+ sp8[i].unk4 = gContestMonConditions[i];
+ sp8[i].unk8 = sp0[i];
+ sp8[i].unkC = i;
+ }
+
+ for (i = 0; i < 3; i++)
+ {
+ for (j = 3; j > i; j--)
+ {
+ if (sub_80DBF30(j - 1, j, sp8))
+ {
+ struct UnknownContestStruct6 temp;
+
+ temp.unk0 = sp8[j - 1].unk0;
+ temp.unk4 = sp8[j - 1].unk4;
+ temp.unk8 = sp8[j - 1].unk8;
+ temp.unkC = sp8[j - 1].unkC;
+
+ sp8[j - 1].unk0 = sp8[j].unk0;
+ sp8[j - 1].unk4 = sp8[j].unk4;
+ sp8[j - 1].unk8 = sp8[j].unk8;
+ sp8[j - 1].unkC = sp8[j].unkC;
+
+ sp8[j].unk0 = temp.unk0;
+ sp8[j].unk4 = temp.unk4;
+ sp8[j].unk8 = temp.unk8;
+ sp8[j].unkC = temp.unkC;
+ }
+ }
+ }
+
+ for (i = 0; i < 4; i++)
+ gContestFinalStandings[sp8[i].unkC] = i;
+}
+
+void sub_80DBED4(void)
+{
+ if ((gIsLinkContest & 1))
+ {
+ gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] =
+ ((gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] + 1) > 9999) ? 9999 :
+ (gSaveBlock2Ptr->contestLinkResults[gSpecialVar_ContestCategory][gContestFinalStandings[gContestPlayerMonIndex]] + 1);
+
+ }
+}
+
+static bool8 sub_80DBF30(s32 a, s32 b, struct UnknownContestStruct6 *c)
+{
+ bool8 retVal;
+
+ if (c[a].unk0 < c[b].unk0)
+ retVal = TRUE;
+ else if (c[a].unk0 > c[b].unk0)
+ retVal = FALSE;
+ else if (c[a].unk4 < c[b].unk4)
+ retVal = TRUE;
+ else if (c[a].unk4 > c[b].unk4)
+ retVal = FALSE;
+ else if (c[a].unk8 < c[b].unk8)
+ retVal = TRUE;
+ else
+ retVal = FALSE;
+ return retVal;
+}
+
+static void sub_80DBF68(void)
+{
+ gBattle_BG0_Y = 0;
+ gBattle_BG2_Y = 0;
+ sub_80DB89C();
+ Contest_StartTextPrinter((u8*) &gUnknown_0827E8DA, 0);
+}
+
+static void sub_80DBF90(void)
+{
+ int i;
+
+ for(i = 0; i < 4; i++)
+ {
+ ContestBG_FillBoxWithTile(0, 0, 0x16, 2 + i * 5, 8, 2, 0x11);
+ }
+}
+
+static u16 sub_80DBFC8(u8 a)
+{
+ u16 var;
+
+ if (a == 0)
+ var = 0x5011;
+ else if (a == 1)
+ var = 0x6011;
+ else if (a == 2)
+ var = 0x7011;
+ else
+ var = 0x8011;
+ return var + 1;
+}
+
+static s8 sub_80DBFFC(s16 a)
+{
+ s8 retVal = a / 10;
+
+ if (retVal > 16)
+ retVal = 16;
+ else if (retVal < -16)
+ retVal = -16;
+ return retVal;
+}
+
+static u8 sub_80DC028(s16 a, s16 b, u8 c)
+{
+ u8 taskId;
+ s8 r4;
+ s8 r5;
+
+ gContestResources->field_14[c].unk2_2 = 1;
+ taskId = CreateTask(sub_80DC0F4, 20);
+ r4 = sub_80DBFFC(a);
+ r5 = sub_80DBFFC(a + b) - r4;
+ sub_80DBFC8(c); // unused return value
+ gTasks[taskId].data[0] = abs(r4);
+ gTasks[taskId].data[1] = r5;
+ if (r4 > 0 || (r4 == 0 && r5 > 0))
+ gTasks[taskId].data[2] = 1;
+ else
+ gTasks[taskId].data[2] = -1;
+ gTasks[taskId].data[3] = c;
+ return taskId;
+}
+
+static void sub_80DC0F4(u8 taskId)
+{
+ u8 r7 = gTasks[taskId].data[3];
+ s16 r3 = gTasks[taskId].data[0];
+ s16 r1 = gTasks[taskId].data[1];
+
+ if (++gTasks[taskId].data[10] > 14)
+ {
+ u16 r6;
+ u8 r5;
+ u8 r10;
+ u8 r11;
+
+ gTasks[taskId].data[10] = 0;
+ if (gTasks[taskId].data[1] == 0)
+ {
+ DestroyTask(taskId);
+ gContestResources->field_14[r7].unk2_2 = 0;
+ return;
+ }
+ else if (r3 == 0)
+ {
+ if (r1 < 0)
+ {
+ r6 = sub_80DBFC8(r7) + 2;
+ gTasks[taskId].data[1]++;
+ }
+ else
+ {
+ r6 = sub_80DBFC8(r7);
+ gTasks[taskId].data[1]--;
+ }
+ r5 = gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ if (gTasks[taskId].data[2] < 0)
+ {
+ if (r1 < 0)
+ {
+ r5 = gTasks[taskId].data[0]++;
+ gTasks[taskId].data[1]++;
+ r6 = sub_80DBFC8(r7) + 2;
+ }
+ else
+ {
+ r5 = --gTasks[taskId].data[0];
+ r6 = 0;
+ gTasks[taskId].data[1]--;
+ }
+ }
+ else
+ {
+ if (r1 < 0)
+ {
+ r5 = --gTasks[taskId].data[0];
+ r6 = 0;
+ gTasks[taskId].data[1]++;
+ }
+ else
+ {
+ r5 = gTasks[taskId].data[0]++;
+ gTasks[taskId].data[1]--;
+ r6 = sub_80DBFC8(r7);
+ }
+ }
+ }
+ r10 = r5;
+ r11 = 0;
+
+ if (r5 > 7)
+ {
+ r11 = 1;
+ r5-= 8;
+ }
+ ContestBG_FillBoxWithTile(0, r6, r5 + 22, gUnknown_02039F26[r7] * 5 + 2 + r11, 1, 1, 17);
+ if (r1 > 0)
+ {
+ PlaySE(SE_C_GAJI);
+ m4aMPlayImmInit(&gMPlayInfo_SE1);
+ m4aMPlayPitchControl(&gMPlayInfo_SE1, 0xFFFF, r10 * 256);
+ }
+ else
+ {
+ PlaySE(SE_BOO);
+ }
+
+ if (!r11 && !r5 && !r6)
+ gTasks[taskId].data[2] = -gTasks[taskId].data[2];
+ }
+}
+
+static void sub_80DC2BC(void)
+{
+ s32 i;
+
+ LoadSpriteSheet(&gUnknown_08587A74);
+ for (i = 0; i < 4; i++)
+ {
+ u8 y = gUnknown_08587A6C[gUnknown_02039F26[i]];
+
+ gContestResources->field_14[i].unk0 = CreateSprite(&gSpriteTemplate_8587AD0, 180, y, 1);
+ }
+}
+
+static void sub_80DC308(u8 a)
+{
+ u8 spriteId;
+ s16 r5;
+
+ gContestResources->field_14[a].unk2_0 = 1;
+ spriteId = gContestResources->field_14[a].unk0;
+ r5 = sContestantStatus[a].unk4 / 10 * 2;
+ if (r5 > 56)
+ r5 = 56;
+ else if (r5 < 0)
+ r5 = 0;
+ gSprites[spriteId].invisible = FALSE;
+ gSprites[spriteId].data[0] = a;
+ gSprites[spriteId].data[1] = r5;
+ if (gSprites[spriteId].data[1] > gSprites[spriteId].pos2.x)
+ gSprites[spriteId].data[2] = 1;
+ else
+ gSprites[spriteId].data[2] = -1;
+ gSprites[spriteId].callback = sub_80DC408;
+}
+
+static void sub_80DC3AC(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ sub_80DC308(i);
+}
+
+static bool8 sub_80DC3C4(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gContestResources->field_14[i].unk2_0)
+ break;
+ }
+ if (i == 4)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+static void sub_80DC408(struct Sprite *sprite)
+{
+ if (sprite->pos2.x == sprite->data[1])
+ {
+ gContestResources->field_14[sprite->data[0]].unk2_0 = 0;
+ sprite->callback = SpriteCallbackDummy;
+ }
+ else
+ {
+ sprite->pos2.x += sprite->data[2];
+ }
+}
+
+static void sub_80DC44C(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ gSprites[gContestResources->field_14[i].unk0].pos1.y = gUnknown_08587A6C[gUnknown_02039F26[i]];
+}
+
+static void sub_80DC490(bool8 a)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gUnknown_02039F26[i] > 1)
+ {
+ if (!a)
+ gSprites[gContestResources->field_14[i].unk0].pos1.x = 180;
+ else
+ gSprites[gContestResources->field_14[i].unk0].pos1.x = 256;
+ }
+ }
+}
+
+static void sub_80DC4F0(void)
+{
+ s32 i;
+
+ LoadSpritePalette(&gUnknown_08587B08);
+ for (i = 0; i < 4; i++)
+ {
+ LoadCompressedSpriteSheet(&gUnknown_08587AE8[i]);
+ gContestResources->field_14[i].unk1 = CreateSprite(&gSpriteTemplate_8587B18[i],
+ 204,
+ gUnknown_08587A70[gUnknown_02039F26[i]],
+ 0);
+ SetSubspriteTables(&gSprites[gContestResources->field_14[i].unk1], gSubspriteTables_8587B80);
+ gSprites[gContestResources->field_14[i].unk1].invisible = TRUE;
+ }
+}
+
+static void CreateApplauseMeterSprite(void)
+{
+ u8 spriteId;
+
+ LoadCompressedSpriteSheet(&gUnknown_08587BB0);
+ LoadSpritePalette(&gUnknown_08587BB8);
+ spriteId = CreateSprite(&gSpriteTemplate_8587BC8, 30, 44, 1);
+ gSprites[spriteId].invisible = TRUE;
+ sContest.applauseMeterSpriteId = spriteId;
+}
+
+static void sub_80DC5E8(void)
+{
+ u8 i;
+ u8 taskId = CreateTask(sub_80DC728, 30);
+
+ sContest.unk19211 = taskId;
+ for (i = 0; i < 4; i++)
+ gTasks[taskId].data[i * 4] = 0xFF;
+}
+
+static void sub_80DC630(u8 a)
+{
+ gTasks[sContest.unk19211].data[a * 4 + 0] = 0;
+ gTasks[sContest.unk19211].data[a * 4 + 1] = 0;
+}
+
+static void sub_80DC674(u8 a)
+{
+ u8 taskId = CreateTask(sub_80DC6A4, 31);
+
+ gTasks[taskId].data[0] = a;
+}
+
+static void sub_80DC6A4(u8 taskId)
+{
+ u8 r4 = gTasks[taskId].data[0];
+
+ if (gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0
+ || gTasks[sContest.unk19211].data[r4 * 4 + 0] == 0xFF)
+ {
+ gTasks[sContest.unk19211].data[r4 * 4 + 0] = 0xFF;
+ gTasks[sContest.unk19211].data[r4 * 4 + 1] = 0;
+ BlendPalette((sContest.unk19218[r4] + 5) * 16 + 6, 2, 0, RGB(31, 31, 18));
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80DC728(u8 taskId)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ u8 r3 = i * 4;
+
+ if (gTasks[taskId].data[r3 + 0] != 0xFF)
+ {
+ if (gTasks[taskId].data[r3 + 1] == 0)
+ gTasks[taskId].data[r3 + 0]++;
+ else
+ gTasks[taskId].data[r3 + 0]--;
+
+ if (gTasks[taskId].data[r3 + 0] == 16
+ || gTasks[taskId].data[r3 + 0] == 0)
+ gTasks[taskId].data[r3 + 1] ^= 1;
+
+ BlendPalette(
+ (sContest.unk19218[i] + 5) * 16 + 6,
+ 2,
+ gTasks[taskId].data[r3 + 0],
+ RGB(31, 31, 18));
+ }
+ }
+}
+
+static void sub_80DC7EC(void)
+{
+ s32 i;
+
+ sContest.unk19212 = CreateTask(sub_80DC8D0, 30);
+ for (i = 0; i < 4; i++)
+ sub_80DC81C(i);
+}
+
+static void sub_80DC81C(u8 a)
+{
+ gTasks[sContest.unk19212].data[a * 4 + 0] = 0xFF;
+ gTasks[sContest.unk19212].data[a * 4 + 1] = 0;
+}
+
+static void sub_80DC864(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ sub_80DC87C(i);
+}
+
+static void sub_80DC87C(u8 a)
+{
+ u32 var;
+ u32 r0;
+
+ sub_80DC81C(a);
+
+ r0 = a + 5;
+ DmaCopy16Defvars(3,
+ gPlttBufferUnfaded + r0 * 16 + 10,
+ gPlttBufferFaded + r0 * 16 + 10,
+ 2);
+ var = (a + 5) * 16 + 12 + a;
+ DmaCopy16Defvars(3,
+ gPlttBufferUnfaded + var,
+ gPlttBufferFaded + var,
+ 2);
+}
+
+static void sub_80DC8D0(u8 taskId)
+{
+ u8 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ u8 r3 = i * 4;
+
+ if (gTasks[taskId].data[r3 + 0] != 0xFF)
+ {
+ if (++gTasks[taskId].data[r3 + 2] > 2)
+ {
+ gTasks[taskId].data[r3 + 2] = 0;
+
+ if (gTasks[taskId].data[r3 + 1] == 0)
+ gTasks[taskId].data[r3 + 0]++;
+ else
+ gTasks[taskId].data[r3 + 0]--;
+
+ if (gTasks[taskId].data[r3 + 0] == 16
+ || gTasks[taskId].data[r3 + 0] == 0)
+ gTasks[taskId].data[r3 + 1] ^= 1;
+
+ BlendPalette((i + 5) * 16 + 10, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18));
+ BlendPalette((i + 5) * 16 + 12 + i, 1, gTasks[taskId].data[r3 + 0], RGB(31, 31, 18));
+ }
+ }
+ }
+}
+
+static void sub_80DC9B4(u8 a)
+{
+ if (sContestantStatus[a].hasJudgesAttention)
+ sub_80DC630(a);
+ else
+ sub_80DC674(a);
+}
+
+static u8 sub_80DC9EC(u8 a)
+{
+ u8 spriteId1, spriteId2;
+ u8 x = gUnknown_02039F26[a] * 40 + 32;
+
+ LoadCompressedSpriteSheet(&gUnknown_08589904[a]);
+ LoadSpritePalette(&gUnknown_08589924[a]);
+ spriteId1 = CreateSprite(&gSpriteTemplate_858998C[a], 184, x, 29);
+ spriteId2 = CreateSprite(&gSpriteTemplate_858998C[a], 248, x, 29);
+ gSprites[spriteId2].oam.tileNum += 64;
+
+ CopySpriteTiles(0,
+ 3,
+ (void *)VRAM,
+ (u16 *)(VRAM + 0xE000 + gUnknown_02039F26[a] * 5 * 64 + 0x26),
+ gContestResources->field_34);
+
+ CopySpriteTiles(0,
+ 3, (void *)VRAM,
+ (u16 *)(VRAM + 0xE000 + gUnknown_02039F26[a] * 5 * 64 + 0x36),
+ gContestResources->field_38);
+
+ CpuFill32(0, gContestResources->field_34 + 0x500, 0x300);
+ CpuFill32(0, gContestResources->field_38 + 0x500, 0x300);
+
+ RequestDma3Copy(gContestResources->field_34,
+ (u8 *)(VRAM + 0x10000 + gSprites[spriteId1].oam.tileNum * 32),
+ 0x800,
+ 1);
+
+ RequestDma3Copy(gContestResources->field_38,
+ (u8 *)(VRAM + 0x10000 + gSprites[spriteId2].oam.tileNum * 32),
+ 0x800,
+ 1);
+
+ gSprites[spriteId1].data[0] = spriteId2;
+ gSprites[spriteId2].data[0] = spriteId1;
+
+ gSprites[spriteId1].data[1] = a;
+ gSprites[spriteId2].data[1] = a;
+
+ return spriteId1;
+}
+
+static void sub_80DCB78(u8 spriteId)
+{
+ u8 spriteId2 = gSprites[spriteId].data[0];
+
+ FreeSpriteOamMatrix(&gSprites[spriteId2]);
+ DestroySprite(&gSprites[spriteId2]);
+ DestroySpriteAndFreeResources(&gSprites[spriteId]);
+}
+
+static void sub_80DCBB4(void)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(7, 9));
+}
+
+static void sub_80DCBD0(void)
+{
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, 0);
+}
+
+static void sub_80DCBE8(u8 a, bool8 b)
+{
+ u8 r5;
+
+ sub_80DCBB4();
+ gContestResources->field_14[gSprites[a].data[1]].unk2_1 = 1;
+ r5 = gSprites[a].data[0];
+ StartSpriteAffineAnim(&gSprites[a], 1);
+ StartSpriteAffineAnim(&gSprites[r5], 1);
+ gSprites[a].callback = sub_80DCC84;
+ gSprites[r5].callback = SpriteCallbackDummy;
+ if (b == FALSE)
+ PlaySE(SE_C_PIKON);
+ else
+ PlaySE(SE_PC_LOGIN);
+}
+
+static void sub_80DCC84(struct Sprite *sprite)
+{
+ if (sprite->affineAnimEnded)
+ {
+ u8 r1 = sprite->data[0];
+
+ if (gSprites[r1].affineAnimEnded)
+ {
+ sprite->invisible = TRUE;
+ gSprites[r1].invisible = TRUE;
+ sprite->callback = sub_80DCCD8;
+ }
+ }
+}
+
+static void sub_80DCCD8(struct Sprite *sprite)
+{
+ gContestResources->field_14[sprite->data[1]].unk2_1 = 0;
+ sub_80DCB78(sprite->data[0]);
+ sub_80DCBD0();
+}
+
+static void sub_80DCD08(void)
+{
+ if(gHeap[0x1A000] == 1)
+ gHeap[0x1A000] = 0;
+ else
+ gHeap[0x1A000] = 1;
+
+ if(gHeap[0x1A000] == 0)
+ {
+ sub_80DAEA4();
+ sub_80DB2BC();
+ }
+ else
+ {
+ sub_80DCD48();
+ }
+}
+
+static void sub_80DCD48(void)
+{
+ u8 i;
+ s16 value;
+ u8 *txtPtr;
+ u8 text[8];
+
+ if (gUnknown_020322D5 == 0)
+ return;
+
+ switch (gHeap[0x1A000])
+ {
+ case 0:
+ break;
+ case 2:
+ case 3:
+ sub_80DF750();
+ break;
+ default:
+ for (i = 0; i < 4; i++)
+ FillWindowPixelBuffer(i, 0);
+ for (i = 0; i < 4; i++)
+ {
+ value = sContestantStatus[i].unk4;
+ txtPtr = text;
+ if (sContestantStatus[i].unk4 < 0)
+ {
+ value *= -1;
+ txtPtr = StringCopy(txtPtr, gText_OneDash);
+ }
+ ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4);
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 55, 1, 7);
+ }
+ for (i = 0; i < 4; i++)
+ {
+ value = sContestantStatus[i].appeal2;
+ txtPtr = text;
+ if (sContestantStatus[i].appeal2 < 0)
+ {
+ value *= -1;
+ txtPtr = StringCopy(txtPtr, gText_OneDash);
+ }
+ ConvertIntToDecimalStringN(txtPtr, value, STR_CONV_MODE_LEFT_ALIGN, 4);
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text, 5, 1, 7);
+ }
+ sub_80DB2BC();
+ break;
+ }
+}
+
+void sub_80DCE58(u8 a)
+{
+ u8 sp0[4];
+ u16 sp4[4] = {0};
+ s32 i;
+ s32 r2;
+ s32 r4;
+
+ for (i = 0; i < 4; i++)
+ {
+ sp4[i] = Random();
+ for (r2 = 0; r2 < i; r2++)
+ {
+ if (sp4[i] == sp4[r2])
+ {
+ i--;
+ break;
+ }
+ }
+ }
+
+ if (a == 0)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ gUnknown_02039F26[i] = i;
+ for (r4 = 0; r4 < i; r4++)
+ {
+ if (gContestMonConditions[gUnknown_02039F26[r4]] < gContestMonConditions[i]
+ || (gContestMonConditions[gUnknown_02039F26[r4]] == gContestMonConditions[i] && sp4[gUnknown_02039F26[r4]] < sp4[i]))
+ {
+ for (r2 = i; r2 > r4; r2--)
+ gUnknown_02039F26[r2] = gUnknown_02039F26[r2 - 1];
+ gUnknown_02039F26[r4] = i;
+ break;
+ }
+ }
+ if (r4 == i)
+ gUnknown_02039F26[i] = i;
+ }
+ memcpy(sp0, gUnknown_02039F26, sizeof(sp0));
+ for (i = 0; i < 4; i++)
+ gUnknown_02039F26[sp0[i]] = i;
+ }
+ else
+ {
+ memset(sp0, 0xFF, sizeof(sp0));
+ for (i = 0; i < 4; i++)
+ {
+ u8 r2 = sContestantStatus[i].unkB_0;
+
+ while (1)
+ {
+ u8 *ptr = &sp0[r2];
+ if (*ptr == 0xFF)
+ {
+ *ptr = i;
+ gUnknown_02039F26[i] = r2;
+ break;
+ }
+ r2++;
+ }
+ }
+ for (i = 0; i < 3; i++)
+ {
+ for (r4 = 3; r4 > i; r4--)
+ {
+ if (sContestantStatus[r4 - 1].unkB_0 == sContestantStatus[r4].unkB_0
+ && gUnknown_02039F26[r4 - 1] < gUnknown_02039F26[r4]
+ && sp4[r4 - 1] < sp4[r4])
+ {
+ u8 temp = gUnknown_02039F26[r4];
+
+ gUnknown_02039F26[r4] = gUnknown_02039F26[r4 - 1];
+ gUnknown_02039F26[r4 - 1] = temp;
+ }
+ }
+ }
+ }
+}
+
+static void sub_80DD04C(void)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ LoadPalette(&gHeap[0x1A004] + (i + 5) * 32, (gUnknown_02039F26[i] + 5) * 16, 32);
+ }
+ sub_80DAEA4();
+}
+
+static void sub_80DD080(u8 contestant)
+{
+ u16 move;
+ u8 effect;
+ u8 rnd;
+ bool8 r8;
+ s32 i;
+
+ sContestantStatus[contestant].appeal2 = 0;
+ sContestantStatus[contestant].appeal1 = 0;
+ r8 = sub_80DBA68(contestant);
+ if (!r8)
+ return;
+
+ move = sContestantStatus[contestant].currMove;
+ effect = gContestMoves[move].effect;
+
+ sContestantStatus[contestant].moveCategory = gContestMoves[sContestantStatus[contestant].currMove].contestCategory;
+ if (sContestantStatus[contestant].currMove == sContestantStatus[contestant].prevMove && sContestantStatus[contestant].currMove != MOVE_NONE)
+ {
+ sContestantStatus[contestant].disappointedRepeat = TRUE;
+ sContestantStatus[contestant].moveRepeatCount++;
+ }
+ else
+ {
+ sContestantStatus[contestant].moveRepeatCount = 0;
+ }
+ sContestantStatus[contestant].appeal1 = gContestEffects[effect].appeal;
+ sContestantStatus[contestant].appeal2 = sContestantStatus[contestant].appeal1;
+ shared192D0.jam = gContestEffects[effect].jam;
+ shared192D0.jam2 = shared192D0.jam;
+
+ shared192D0.contestant = contestant;
+ for (i = 0; i < 4; i++)
+ {
+ sContestantStatus[i].jam = 0;
+ shared192D0.unnervedPokes[i] = 0;
+ }
+
+ if (sContestantStatus[contestant].hasJudgesAttention
+ && !AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove))
+ sContestantStatus[contestant].hasJudgesAttention = 0;
+
+ gContestEffectFuncs[effect]();
+
+ if (sContestantStatus[contestant].conditionMod == 1)
+ sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition - 10;
+ else if (sContestantStatus[contestant].appealTripleCondition)
+ sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition * 3;
+ else
+ sContestantStatus[contestant].appeal2 += sContestantStatus[contestant].condition;
+
+ sContestantStatus[contestant].unk16 = 0;
+ sContestantStatus[contestant].unk15_6 = 0;
+ if (sub_80DE1E8(contestant))
+ {
+ u8 r2 = AreMovesContestCombo(sContestantStatus[contestant].prevMove, sContestantStatus[contestant].currMove);
+
+ if (r2 != 0 && sContestantStatus[contestant].hasJudgesAttention)
+ {
+ sContestantStatus[contestant].unk16 = r2;
+ sContestantStatus[contestant].unk15_6 = 1;
+ sContestantStatus[contestant].hasJudgesAttention = 0;
+ sContestantStatus[contestant].unk17 = sContestantStatus[contestant].appeal1 * sContestantStatus[contestant].unk16;
+ sContestantStatus[contestant].unk15_3 = 1;
+ }
+ else
+ {
+ if (gContestMoves[sContestantStatus[contestant].currMove].comboStarterId != 0)
+ {
+ sContestantStatus[contestant].hasJudgesAttention = 1;
+ sContestantStatus[contestant].unk15_6 = 1;
+ }
+ else
+ {
+ sContestantStatus[contestant].hasJudgesAttention = 0;
+ }
+ }
+ }
+ if (sContestantStatus[contestant].disappointedRepeat)
+ sContestantStatus[contestant].unk18 = (sContestantStatus[contestant].moveRepeatCount + 1) * 10;
+
+ if (sContestantStatus[contestant].nervous)
+ {
+ sContestantStatus[contestant].hasJudgesAttention = 0;
+ sContestantStatus[contestant].appeal2 = 0;
+ sContestantStatus[contestant].appeal1 = 0;
+ }
+ shared19328.bits_0 = Contest_GetMoveExcitement(sContestantStatus[contestant].currMove);
+ if (sContestantStatus[contestant].overrideCategoryExcitementMod)
+ shared19328.bits_0 = 1;
+
+ if (shared19328.bits_0 > 0)
+ {
+ if (sContest.applauseLevel + shared19328.bits_0 > 4)
+ shared19328.unk2 = 60;
+ else
+ shared19328.unk2 = 10;
+ }
+ else
+ {
+ shared19328.unk2 = 0;
+ }
+
+ rnd = Random() % 3;
+ for (i = 0; i < 4; i++)
+ {
+ if (i != contestant)
+ {
+ if (rnd == 0)
+ break;
+ rnd--;
+ }
+ }
+ sContestantStatus[contestant].unk1B = i;
+}
+
+void SetContestantEffectStringID(u8 a, u8 b)
+{
+ sContestantStatus[a].effectStringId = b;
+}
+
+void SetContestantEffectStringID2(u8 a, u8 b)
+{
+ sContestantStatus[a].effectStringId2 = b;
+}
+
+void SetStartledString(u8 contestant, u8 jam)
+{
+ if (jam >= 60)
+ SetContestantEffectStringID(contestant, CONTEST_STRING_TRIPPED_OVER);
+ else if (jam >= 40)
+ SetContestantEffectStringID(contestant, CONTEST_STRING_LEAPT_UP);
+ else if (jam >= 30)
+ SetContestantEffectStringID(contestant, CONTEST_STRING_UTTER_CRY);
+ else if (jam >= 20)
+ SetContestantEffectStringID(contestant, CONTEST_STRING_TURNED_BACK);
+ else if (jam >= 10)
+ SetContestantEffectStringID(contestant, CONTEST_STRING_LOOKED_DOWN);
+}
+
+static void sub_80DD45C(u8 contestant, u8 stringId)
+{
+ StringCopy(gStringVar1, gContestMons[contestant].nickname);
+ StringCopy(gStringVar2, gMoveNames[sContestantStatus[contestant].currMove]);
+ if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_COOL)
+ StringCopy(gStringVar3, gText_Contest_Shyness);
+ else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_BEAUTY)
+ StringCopy(gStringVar3, gText_Contest_Anxiety);
+ else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_CUTE)
+ StringCopy(gStringVar3, gText_Contest_Laziness);
+ else if (gContestMoves[sContestantStatus[shared192D0.contestant].currMove].contestCategory == CONTEST_CATEGORY_SMART)
+ StringCopy(gStringVar3, gText_Contest_Hesitancy);
+ else
+ StringCopy(gStringVar3, gText_Contest_Fear);
+ StringExpandPlaceholders(gStringVar4, gUnknown_08587E10[stringId]);
+ sub_80DB89C();
+ Contest_StartTextPrinter(gStringVar4, 1);
+}
+
+void MakeContestantNervous(u8 p)
+{
+ sContestantStatus[p].nervous = 1;
+ sContestantStatus[p].currMove = MOVE_NONE;
+}
+
+static void sub_80DD590(void)
+{
+ u8 r12 = 0;
+ s32 i;
+ s32 j;
+ u8 sp0[4];
+ u8 sp4[4];
+
+ for (i = 0; i < 4; i++)
+ {
+ sp0[i] = gUnknown_02039F26[i];
+ sp4[i] = 0;
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (sContestantStatus[j].nextTurnOrder == i)
+ {
+ sp0[j] = i;
+ sp4[j] = 1;
+ break;
+ }
+ }
+ if (j == 4)
+ {
+ for (j = 0; j < 4; j++)
+ {
+ if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF)
+ {
+ r12 = j;
+ j++;
+ break;
+ }
+ }
+ for (; j < 4; j++)
+ {
+ if (sp4[j] == 0 && sContestantStatus[j].nextTurnOrder == 0xFF
+ && gUnknown_02039F26[r12] > gUnknown_02039F26[j])
+ r12 = j;
+ }
+ sp0[r12] = i;
+ sp4[r12] = 1;
+ }
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ shared192D0.turnOrder[i] = sp0[i];
+ sContestantStatus[i].nextTurnOrder = 0xFF;
+ sContestantStatus[i].turnOrderMod = 0;
+ gUnknown_02039F26[i] = sp0[i];
+ }
+}
+
+static void sub_80DD6DC(struct Sprite *sprite)
+{
+ if (sprite->data[1]++ > 84)
+ {
+ sprite->data[1] = 0;
+ sprite->invisible = TRUE;
+ sprite->callback = SpriteCallbackDummy;
+ sContest.unk1920A_4 = 0;
+ }
+}
+
+static void sub_80DD720(u8 a)
+{
+ u8 spriteId = sContest.unk19216;
+
+ switch (a)
+ {
+ case 0:
+ case 1:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0];
+ PlaySE(SE_HAZURE);
+ break;
+ case 2:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 4;
+ PlaySE(SE_SEIKAI);
+ break;
+ case 3:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 8;
+ PlaySE(SE_SEIKAI);
+ break;
+ case 4:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 12;
+ PlaySE(SE_TK_WARPIN);
+ break;
+ case 5: // exactly the same as case 4
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 12;
+ PlaySE(SE_TK_WARPIN);
+ break;
+ case 6:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 16;
+ PlaySE(SE_TK_WARPIN);
+ break;
+ case 8:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 24;
+ PlaySE(SE_W215);
+ break;
+ case 7:
+ default:
+ gSprites[spriteId].oam.tileNum = gSprites[spriteId].data[0] + 20;
+ PlaySE(SE_TK_WARPIN);
+ break;
+ }
+ gSprites[spriteId].data[1] = 0;
+ gSprites[spriteId].invisible = FALSE;
+ gSprites[spriteId].callback = sub_80DD6DC;
+ sContest.unk1920A_4 = 1;
+}
+
+static void sub_80DD940(void)
+{
+ s32 i;
+
+ for (i = 0; i < 5; i++)
+ {
+ const u8 *src;
+
+ if (i < sContest.applauseLevel)
+ src = gContestApplauseMeterGfx + 64;
+ else
+ src = gContestApplauseMeterGfx;
+ CpuCopy32(src, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 17 + i) * 32), 32);
+ CpuCopy32(src + 32, (void *)(VRAM + 0x10000 + (gSprites[sContest.applauseMeterSpriteId].oam.tileNum + 25 + i) * 32), 32);
+
+ if (sContest.applauseLevel > 4)
+ sub_80DDA20();
+ }
+}
+
+s8 Contest_GetMoveExcitement(u16 move)
+{
+ return gContestExcitementTable[gSpecialVar_ContestCategory][gContestMoves[move].contestCategory];
+}
+
+static u8 sub_80DDA20(void)
+{
+ u8 taskId = CreateTask(c3_08130B10, 10);
+
+ gTasks[taskId].data[1] = 1;
+ gTasks[taskId].data[2] = IndexOfSpritePaletteTag(0x0ABE2);
+ return taskId;
+}
+
+static void c3_08130B10(u8 taskId)
+{
+ if (++gTasks[taskId].data[0] == 1)
+ {
+ gTasks[taskId].data[0] = 0;
+ if (gTasks[taskId].data[3] == 0)
+ gTasks[taskId].data[4]++;
+ else
+ gTasks[taskId].data[4]--;
+ BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, gTasks[taskId].data[4], RGB(31, 31, 31));
+ if (gTasks[taskId].data[4] == 0 || gTasks[taskId].data[4] == 16)
+ {
+ gTasks[taskId].data[3] ^= 1;
+ if (sContest.applauseLevel < 5)
+ {
+ BlendPalette(264 + gTasks[taskId].data[2] * 16, 1, 0, RGB(31, 0, 0));
+ DestroyTask(taskId);
+ }
+ }
+ }
+}
+
+static void sub_80DDB0C(void)
+{
+ CreateTask(sub_80DDB6C, 10);
+ gSprites[sContest.applauseMeterSpriteId].pos2.x = -70;
+ gSprites[sContest.applauseMeterSpriteId].invisible = FALSE;
+ sContest.unk1920A_6 = 1;
+}
+
+static void sub_80DDB6C(u8 taskId)
+{
+ struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId];
+
+ gTasks[taskId].data[10] += 1664;
+ sprite->pos2.x += gTasks[taskId].data[10] >> 8;
+ gTasks[taskId].data[10] = gTasks[taskId].data[10] & 0xFF;
+ if (sprite->pos2.x > 0)
+ sprite->pos2.x = 0;
+ if (sprite->pos2.x == 0)
+ {
+ sContest.unk1920A_6 = 0;
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80DDBE8(void)
+{
+ if (gSprites[sContest.applauseMeterSpriteId].invisible == TRUE)
+ {
+ sContest.unk1920A_6 = 0;
+ }
+ else
+ {
+ CreateTask(task08_080CD1CC, 10);
+ gSprites[sContest.applauseMeterSpriteId].pos2.x = 0;
+ sContest.unk1920A_6 = 1;
+ }
+}
+
+static void task08_080CD1CC(u8 taskId)
+{
+ struct Sprite *sprite = &gSprites[sContest.applauseMeterSpriteId];
+
+ gTasks[taskId].data[10] += 1664;
+ sprite->pos2.x -= gTasks[taskId].data[10] >> 8;
+ gTasks[taskId].data[10] = gTasks[taskId].data[10] & 0xFF;
+ if (sprite->pos2.x < -70)
+ sprite->pos2.x = -70;
+ if (sprite->pos2.x == -70)
+ {
+ sprite->invisible = TRUE;
+ sContest.unk1920A_6 = 0;
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80DDCDC(s8 a)
+{
+ u8 taskId = CreateTask(sub_80DDD20, 5);
+
+ gTasks[taskId].data[0] = a;
+ sContest.unk1920A_5 = 1;
+}
+
+static void sub_80DDD20(u8 taskId)
+{
+ switch (gTasks[taskId].data[10])
+ {
+ case 0:
+ sub_80DDB0C();
+ gTasks[taskId].data[10]++;
+ break;
+ case 1:
+ if (!sContest.unk1920A_6)
+ {
+ gTasks[taskId].data[10]++;
+ }
+ break;
+ case 2:
+ if (gTasks[taskId].data[11]++ > 20)
+ {
+ gTasks[taskId].data[11] = 0;
+ sub_80DD940();
+ sContest.unk1920A_5 = 0;
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void unref_sub_80DDDA8(void)
+{
+ gSprites[sContest.applauseMeterSpriteId].pos2.x = 0;
+ gSprites[sContest.applauseMeterSpriteId].invisible = FALSE;
+}
+
+void unref_sub_80DDDE4(void)
+{
+ gSprites[sContest.applauseMeterSpriteId].invisible = TRUE;
+}
+
+static void sub_80DDE0C(void)
+{
+ CreateTask(sub_80DDE30, 15);
+ sContest.unk1920A_7 = 1;
+}
+
+static void sub_80DDE30(u8 taskId)
+{
+ if (gTasks[taskId].data[10]++ > 6)
+ {
+ gTasks[taskId].data[10] = 0;
+ if (gTasks[taskId].data[11] == 0)
+ {
+ RequestDma3Copy(shared16800, (void *)(VRAM + 0x2000), 0x1000, 1);
+ }
+ else
+ {
+ RequestDma3Copy(shared15800, (void *)(VRAM + 0x2000), 0x1000, 1);
+ gTasks[taskId].data[12]++;
+ }
+
+ gTasks[taskId].data[11] ^= 1;
+
+ if (gTasks[taskId].data[12] == 9)
+ {
+ sContest.unk1920A_7 = 0;
+ DestroyTask(taskId);
+ }
+ }
+}
+
+#define tBlendColor data[0]
+#define tBlendCoeff data[1]
+
+static void sub_80DDED0(s8 a, s8 b)
+{
+ u8 taskId = CreateTask(sub_80DDF80, 10);
+ u16 blendColor;
+ u8 blendCoeff;
+ u8 r3;
+
+ if (a > 0)
+ {
+ blendColor = RGB(30, 27, 8);
+ if (b > 0)
+ {
+ blendCoeff = 0;
+ r3 = sContest.applauseLevel * 3;
+ }
+ else
+ {
+ blendCoeff = sContest.applauseLevel * 3;
+ r3 = 0;
+ }
+ }
+ else
+ {
+ blendColor = 0;
+ if (b > 0)
+ {
+ blendCoeff = 0;
+ r3 = 12;
+ }
+ else
+ {
+ blendCoeff = 12;
+ r3 = 0;
+ }
+ }
+ gTasks[taskId].tBlendColor = blendColor;
+ gTasks[taskId].tBlendCoeff = blendCoeff;
+ gTasks[taskId].data[2] = b;
+ gTasks[taskId].data[3] = r3;
+ sContest.unk1920B_0 = 0;
+}
+
+static void sub_80DDF80(u8 taskId)
+{
+ if (gTasks[taskId].data[10]++ >= 0)
+ {
+ gTasks[taskId].data[10] = 0;
+ if (gTasks[taskId].data[2] > 0)
+ gTasks[taskId].tBlendCoeff++;
+ else
+ gTasks[taskId].tBlendCoeff--;
+ BlendPalette(17, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor);
+ BlendPalette(26, 1, gTasks[taskId].tBlendCoeff, gTasks[taskId].tBlendColor);
+ if (gTasks[taskId].tBlendCoeff == gTasks[taskId].data[3])
+ {
+ DestroyTask(taskId);
+ sContest.unk1920B_0 = 0;
+ }
+ }
+}
+
+#undef tBlendColor
+#undef tBlendCoeff
+
+static void sub_80DE008(bool8 a)
+{
+ s32 i;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sContestantStatus[i].turnOrderMod != 0 && a)
+ {
+ CpuCopy32(GetTurnOrderNumberGfx(i), (void *)(VRAM + 0x10000 + (gSprites[gContestResources->field_14[i].unk1].oam.tileNum + 6) * 32), 32);
+ gSprites[gContestResources->field_14[i].unk1].pos1.y = gUnknown_08587A70[gUnknown_02039F26[i]];
+ gSprites[gContestResources->field_14[i].unk1].invisible = FALSE;
+ }
+ else
+ {
+ gSprites[gContestResources->field_14[i].unk1].invisible = TRUE;
+ }
+ }
+}
+
+static const u8 *GetTurnOrderNumberGfx(u8 contestant)
+{
+ if (sContestantStatus[contestant].turnOrderMod != 1)
+ return gContestNextTurnRandomGfx;
+ else
+ return gContestNextTurnNumbersGfx + sContestantStatus[contestant].nextTurnOrder * 32;
+}
+
+static void sub_80DE12C(void)
+{
+ s32 r7 = 0;
+ u8 r10 = 2;
+ u8 r8 = 1;
+ u8 r9 = 0x11;
+
+ for (r7 = 0; r7 < 4; r7++)
+ {
+ if (shared192D0.unnervedPokes[r7] != 0 && !Contest_IsMonsTurnDisabled(r7))
+ {
+ u32 r6 = gUnknown_02039F26[r7] * 5 + 2;
+ u16 var = sub_80DB748(3);
+
+ ContestBG_FillBoxWithIncrementingTile(0, var, 0x14, r6, r10, r8, r9, r8);
+ var += 16;
+ ContestBG_FillBoxWithIncrementingTile(0, var, 0x14, r6 + 1, r10, r8, r9, r8);
+ PlaySE(SE_C_PASI);
+ }
+ }
+}
+
+bool8 sub_80DE1E8(u8 a)
+{
+ if (sContestantStatus[a].disappointedRepeat || sContestantStatus[a].nervous)
+ return FALSE;
+ else
+ return TRUE;
+}
+
+static void sub_80DE224(void)
+{
+ s32 i;
+ u16 bg0Cnt, bg1Cnt, bg2Cnt;
+
+ bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
+ ((vBgCnt *)&bg1Cnt)->priority = 0;
+ ((vBgCnt *)&bg1Cnt)->screenSize = 2;
+ ((vBgCnt *)&bg1Cnt)->areaOverflowMode = 0;
+ ((vBgCnt *)&bg1Cnt)->charBaseBlock = 0;
+
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+
+ bg0Cnt = GetGpuReg(REG_OFFSET_BG0CNT);
+ bg2Cnt = GetGpuReg(REG_OFFSET_BG2CNT);
+ ((vBgCnt *)&bg0Cnt)->priority = 1;
+ ((vBgCnt *)&bg2Cnt)->priority = 1;
+
+ SetGpuReg(REG_OFFSET_BG0CNT, bg0Cnt);
+ SetGpuReg(REG_OFFSET_BG2CNT, bg2Cnt);
+
+ gBattle_BG1_X = DISPLAY_WIDTH;
+ gBattle_BG1_Y = DISPLAY_HEIGHT;
+ SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
+ SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
+
+ CpuFill32(0, gContestResources->field_24[1], 0x1000);
+
+ CopyToBgTilemapBuffer(1, gUnknown_08C17980, 0, 0);
+ Contest_SetBgCopyFlags(1);
+
+ for (i = 0; i < 4; i++)
+ {
+ gSprites[gContestResources->field_14[i].unk0].oam.priority = 1;
+ gSprites[gContestResources->field_14[i].unk1].oam.priority = 1;
+ }
+}
+
+static void sub_80DE350(void)
+{
+ s32 i;
+ u16 bg1Cnt;
+
+ RequestDma3Fill(0,(void *)(VRAM + 0x8000), 0x2000, 0x1);
+ CpuFill32(0, gContestResources->field_24[1], 0x1000);
+ Contest_SetBgCopyFlags(1);
+ bg1Cnt = GetGpuReg(REG_OFFSET_BG1CNT);
+ ((vBgCnt *) &bg1Cnt)->priority = 1;
+ ((vBgCnt *) &bg1Cnt)->screenSize = 0;
+ ((vBgCnt *) &bg1Cnt)->areaOverflowMode = 0;
+ ((vBgCnt *) &bg1Cnt)->charBaseBlock = 2;
+
+ SetGpuReg(REG_OFFSET_BG1CNT, bg1Cnt);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ gSprites[gContestResources->field_14[i].unk0].oam.priority = 0;
+ gSprites[gContestResources->field_14[i].unk1].oam.priority = 0;
+ }
+}
+
+static void sub_80DE424(u8 taskId)
+{
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = DISPLAY_HEIGHT;
+ PlaySE12WithPanning(SE_C_MAKU_D, 0);
+ gTasks[taskId].func = sub_80DE464;
+}
+
+static void sub_80DE464(u8 taskId)
+{
+ if ((s16)(gBattle_BG1_Y -= 7) < 0)
+ gBattle_BG1_Y = 0;
+ if (gBattle_BG1_Y == 0)
+ {
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].func = sub_80DE4A8;
+ }
+}
+
+static void sub_80DE4A8(u8 taskId)
+{
+ s32 i;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ for (i = 0; i < 4; i++)
+ sContest.unk19218[i] = gUnknown_02039F26[i];
+ sub_80DBF90();
+ sub_80DC864();
+ sub_80DB69C();
+ sub_80DD04C();
+ sub_80DE008(TRUE);
+ sub_80DC44C();
+ gTasks[taskId].data[0] = 1;
+ break;
+ case 1:
+ if (gIsLinkContest & 1)
+ {
+ u8 taskId2;
+
+ sContest.unk1920B_2 = 1;
+ if (sub_80DA8A4())
+ sub_80DBAA0();
+ taskId2 = CreateTask(sub_80FCC88, 0);
+ SetTaskFuncWithFollowupFunc(taskId2, sub_80FCC88, sub_80DA110);
+ sub_80DBF68();
+ gTasks[taskId].data[0] = 2;
+ }
+ else
+ {
+ sub_80DBAA0();
+ gTasks[taskId].data[0] = 3;
+ }
+ break;
+ case 2:
+ if (!sContest.unk1920B_2)
+ gTasks[taskId].data[0] = 3;
+ break;
+ case 3:
+ sub_80DB884();
+ sub_80DB2BC();
+ gTasks[taskId].data[0] = 0;
+ gTasks[taskId].func = sub_80DE5F4;
+ break;
+ }
+}
+
+static void sub_80DE5C0(u8 taskId)
+{
+ if ((s16)(gBattle_BG1_Y += 7) > DISPLAY_HEIGHT)
+ gTasks[taskId].func = sub_80DA4F4;
+}
+
+static void sub_80DE5F4(u8 taskId)
+{
+ if (gTasks[taskId].data[2] < 10)
+ {
+ gTasks[taskId].data[2]++;
+ }
+ else
+ {
+ if (gTasks[taskId].data[1] == 0)
+ {
+ if (gTasks[taskId].data[0] == 16)
+ gTasks[taskId].data[1]++;
+ else
+ gTasks[taskId].data[0]++;
+ }
+ else
+ {
+ if (gTasks[taskId].data[0] == 0)
+ {
+ gTasks[taskId].data[1] = 0;
+ gTasks[taskId].data[2] = 0;
+ gTasks[taskId].func = sub_80DE65C;
+ }
+ else
+ {
+ gTasks[taskId].data[0]--;
+ }
+ }
+ }
+}
+
+static void sub_80DE65C(u8 taskId)
+{
+ if (gTasks[taskId].data[2] < 10)
+ {
+ gTasks[taskId].data[2]++;
+ }
+ else
+ {
+ gTasks[taskId].data[2] = 0;
+ PlaySE12WithPanning(SE_C_MAKU_U, 0);
+ gTasks[taskId].func = sub_80DE5C0;
+ }
+}
+
+static void sub_80DE69C(u8 a)
+{
+ s32 i;
+ u8 taskId;
+
+ for (i = 0; i < 4; i++)
+ {
+ gSprites[gContestResources->field_14[i].unk0].oam.matrixNum = AllocOamMatrix();
+ gSprites[gContestResources->field_14[i].unk0].oam.affineMode = 1;
+ StartSpriteAffineAnim(&gSprites[gContestResources->field_14[i].unk0], a);
+ if (a == 2)
+ {
+ AnimateSprite(&gSprites[gContestResources->field_14[i].unk0]);
+ gSprites[gContestResources->field_14[i].unk0].invisible = FALSE;
+ }
+ }
+ taskId = CreateTask(sub_80DE794, 5);
+ gTasks[taskId].data[0] = a;
+ sContest.unk1920B_1 = 1;
+}
+
+static void sub_80DE794(u8 taskId)
+{
+ s32 i;
+
+ if (gSprites[gContestResources->field_14[0].unk0].affineAnimEnded)
+ {
+ if ((u8)gTasks[taskId].data[0] == 1)
+ {
+ for (i = 0; i < 4; i++)
+ gSprites[gContestResources->field_14[i].unk0].invisible = TRUE;
+ }
+ for (i = 0; i < 4; i++)
+ FreeSpriteOamMatrix(&gSprites[gContestResources->field_14[i].unk0]);
+ sContest.unk1920B_1 = 0;
+ DestroyTask(taskId);
+ }
+}
+
+static u16 SanitizeMove(u16 move)
+{
+ if (move >= MOVES_COUNT)
+ move = MOVE_POUND;
+ return move;
+}
+
+static u16 SanitizeSpecies(u16 species)
+{
+ if (species >= NUM_SPECIES)
+ species = SPECIES_NONE;
+ return species;
+}
+
+static void sub_80DE864(u8 a)
+{
+ s32 i;
+ u16 move = SanitizeMove(sContestantStatus[a].currMove);
+ u16 species = SanitizeSpecies(gContestMons[a].species);
+ u8 r5_2;
+
+ memset(&gContestResources->field_18->species, 0, 0x14);
+ ClearBattleAnimationVars();
+ for (i = 0; i < 4; i++)
+ gBattleMonForms[i] = 0;
+ switch (move)
+ {
+ case MOVE_CURSE:
+ if (gBaseStats[species].type1 == TYPE_GHOST || gBaseStats[species].type2 == TYPE_GHOST)
+ gAnimMoveTurn = 0;
+ else
+ gAnimMoveTurn = 1;
+ break;
+ case MOVE_TRANSFORM:
+ case MOVE_ROLE_PLAY:
+ r5_2 = sContestantStatus[a].unk1B;
+ gContestResources->field_18->unk2 = SanitizeSpecies(gContestMons[r5_2].species);
+ gContestResources->field_18->unk10 = gContestMons[r5_2].personality;
+ gContestResources->field_18->unk4_0 = 1;
+ break;
+ case MOVE_RETURN:
+ gAnimFriendship = 0xFF;
+ break;
+ case MOVE_FRUSTRATION:
+ gAnimFriendship = 0;
+ break;
+ case MOVE_SOLAR_BEAM:
+ case MOVE_RAZOR_WIND:
+ case MOVE_SKULL_BASH:
+ case MOVE_SKY_ATTACK:
+ if (sContest.unk1925E == 0)
+ {
+ sContest.unk1925E = 2;
+ gAnimMoveTurn = 0;
+ }
+ else
+ {
+ gAnimMoveTurn = 1;
+ }
+ break;
+ }
+ sub_80DEA5C();
+}
+
+static void sub_80DE9B0(u8 unused)
+{
+ memset(&gContestResources->field_18->species, 0, 0x14);
+ if (sContest.unk1925E != 0)
+ sContest.unk1925E--;
+}
+
+static void sub_80DE9DC(u8 a)
+{
+ gContestResources->field_18->unk5 = a;
+ gContestResources->field_18->species = SanitizeSpecies(gContestMons[a].species);
+ gContestResources->field_18->unk8 = gContestMons[a].personality;
+ gContestResources->field_18->unkC = gContestMons[a].otId;
+}
+
+static void sub_80DEA20(void)
+{
+ gBattlerSpriteIds[3] = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
+ InitSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattlerTarget]]);
+ sub_80DEA5C();
+}
+
+static void sub_80DEA5C(void)
+{
+ struct Sprite *sprite = &gSprites[gBattlerSpriteIds[3]];
+
+ sprite->pos2.x = 0;
+ sprite->pos2.y = 0;
+ sprite->pos1.x = GetBattlerSpriteCoord(3, 0);
+ sprite->pos1.y = GetBattlerSpriteCoord(3, 1);
+ sprite->invisible = TRUE;
+}
+
+static void SelectContestMoveBankTarget(u16 move)
+{
+ switch (gBattleMoves[move].target)
+ {
+ case MOVE_TARGET_USER_OR_SELECTED:
+ case MOVE_TARGET_USER:
+ gBattlerTarget = 2;
+ break;
+ case MOVE_TARGET_SELECTED:
+ case MOVE_TARGET_RANDOM:
+ case MOVE_TARGET_BOTH:
+ case MOVE_TARGET_FOES_AND_ALLY:
+ default:
+ gBattlerTarget = 3;
+ break;
+ }
+}
+
+static void Contest_PrintTextToBg0WindowStd(u32 a, const u8 *b)
+{
+ struct TextPrinterTemplate printerTemplate;
+
+ printerTemplate.currentChar = b;
+ printerTemplate.windowId = a;
+ printerTemplate.fontId = 1;
+ printerTemplate.x = 0;
+ printerTemplate.y = 1;
+ printerTemplate.currentX = 0;
+ printerTemplate.currentY = 1;
+ printerTemplate.letterSpacing = 0;
+ printerTemplate.lineSpacing = 0;
+ printerTemplate.unk = 0;
+ printerTemplate.fgColor = 15;
+ printerTemplate.bgColor = 0;
+ printerTemplate.shadowColor = 8;
+
+ AddTextPrinter(&printerTemplate, 0, 0);
+ PutWindowTilemap(a);
+ Contest_SetBgCopyFlags(0);
+}
+
+void Contest_PrintTextToBg0WindowAt(u32 windowId, u8 *currChar, s32 x, s32 y, s32 fontId)
+{
+ struct TextPrinterTemplate printerTemplate;
+
+ printerTemplate.currentChar = currChar;
+ printerTemplate.windowId = windowId;
+ printerTemplate.fontId = fontId;
+ printerTemplate.x = x;
+ printerTemplate.y = y;
+ printerTemplate.currentX = x;
+ printerTemplate.currentY = y;
+ printerTemplate.letterSpacing = 0;
+ printerTemplate.lineSpacing = 0;
+ printerTemplate.unk = 0;
+ printerTemplate.fgColor = 15;
+ printerTemplate.bgColor = 0;
+ printerTemplate.shadowColor = 8;
+
+ AddTextPrinter(&printerTemplate, 0, 0);
+ PutWindowTilemap(windowId);
+ Contest_SetBgCopyFlags(0);
+}
+
+static void Contest_StartTextPrinter(const u8 *currChar, bool32 b)
+{
+ struct TextPrinterTemplate printerTemplate;
+ u8 speed;
+
+ printerTemplate.currentChar = currChar;
+ printerTemplate.windowId = 4;
+ printerTemplate.fontId = 1;
+ printerTemplate.x = 0;
+ printerTemplate.y = 1;
+ printerTemplate.currentX = 0;
+ printerTemplate.currentY = 1;
+ printerTemplate.letterSpacing = 0;
+ printerTemplate.lineSpacing = 0;
+ printerTemplate.unk = 0;
+ printerTemplate.fgColor = 1;
+ printerTemplate.bgColor = 0;
+ printerTemplate.shadowColor = 8;
+
+ if (!b)
+ {
+ AddTextPrinter(&printerTemplate, 0, 0);
+ }
+ else
+ {
+ if (gIsLinkContest & 1)
+ speed = 4;
+ else
+ speed = GetPlayerTextSpeedDelay();
+ AddTextPrinter(&printerTemplate, speed, 0);
+ }
+
+ PutWindowTilemap(4);
+ Contest_SetBgCopyFlags(0);
+}
+
+static void ContestBG_FillBoxWithIncrementingTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g, s16 h)
+{
+ WriteSequenceToBgTilemapBuffer(a, b, c, d, e, f, g, h);
+ Contest_SetBgCopyFlags(a);
+}
+
+static void ContestBG_FillBoxWithTile(u8 a, u16 b, u8 c, u8 d, u8 e, u8 f, u8 g)
+{
+ ContestBG_FillBoxWithIncrementingTile(a, b, c, d, e, f, g, 0);
+}
+
+static bool32 Contest_RunTextPrinters(void)
+{
+ RunTextPrinters();
+ return IsTextPrinterActive(4);
+}
+
+static void Contest_SetBgCopyFlags(u32 var)
+{
+ sContestBgCopyFlags |= 1 << var;
+}
+
+void ResetContestLinkResults(void)
+{
+ s32 i;
+ s32 j;
+
+ for(i = 0; i < 5; i++)
+ for(j = 0; j < 4; j++)
+ gSaveBlock2Ptr->contestLinkResults[i][j] = 0;
+}
+
+bool8 sub_80DEDA8(u8 a)
+{
+ s32 i;
+ u8 r7 = Random() % 3;
+
+ for (i = 0; i < 3; i++)
+ {
+ if (gContestFinalStandings[i] == 0)
+ break;
+ }
+ if (a == 0xFF && i != gContestPlayerMonIndex)
+ return FALSE;
+ switch (gSpecialVar_ContestCategory)
+ {
+ case CONTEST_CATEGORY_COOL:
+ r7 += 0;
+ break;
+ case CONTEST_CATEGORY_BEAUTY:
+ r7 += 3;
+ break;
+ case CONTEST_CATEGORY_CUTE:
+ r7 += 6;
+ break;
+ case CONTEST_CATEGORY_SMART:
+ r7 += 9;
+ break;
+ case CONTEST_CATEGORY_TOUGH:
+ r7 += 12;
+ break;
+ }
+ if (a != 0xFE)
+ {
+ u8 r4 = sub_80DEFA8(a, 1);
+
+ gSaveBlock1Ptr->contestWinners[r4].personality = gContestMons[i].personality;
+ gSaveBlock1Ptr->contestWinners[r4].species = gContestMons[i].species;
+ gSaveBlock1Ptr->contestWinners[r4].trainerId = gContestMons[i].otId;
+ StringCopy(gSaveBlock1Ptr->contestWinners[r4].monName, gContestMons[i].nickname);
+ StringCopy(gSaveBlock1Ptr->contestWinners[r4].trainerName, gContestMons[i].trainerName);
+ if(gIsLinkContest & 1)
+ gSaveBlock1Ptr->contestWinners[r4].contestRank = 4;
+ else
+ gSaveBlock1Ptr->contestWinners[r4].contestRank = gSpecialVar_ContestRank;
+
+ if (a != 0xFF)
+ gSaveBlock1Ptr->contestWinners[r4].contestCategory = gSpecialVar_ContestCategory;
+ else
+ gSaveBlock1Ptr->contestWinners[r4].contestCategory = r7;
+ }
+ else
+ {
+ gUnknown_02039F3C.personality = gContestMons[i].personality;
+ gUnknown_02039F3C.trainerId = gContestMons[i].otId;
+ gUnknown_02039F3C.species = gContestMons[i].species;
+ StringCopy(gUnknown_02039F3C.monName, gContestMons[i].nickname);
+ StringCopy(gUnknown_02039F3C.trainerName, gContestMons[i].trainerName);
+ gUnknown_02039F3C.contestCategory = r7;
+ }
+ return TRUE;
+}
+
+u8 sub_80DEFA8(u8 a, u8 b)
+{
+ s32 i;
+
+ switch (a)
+ {
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ if (b != 0)
+ {
+ for (i = 5; i >= 1; i--)
+ memcpy(&gSaveBlock1Ptr->contestWinners[i], &gSaveBlock1Ptr->contestWinners[i - 1], sizeof(struct ContestWinner));
+ }
+ return 0;
+ default:
+ switch (gSpecialVar_ContestCategory)
+ {
+ case CONTEST_CATEGORY_COOL:
+ return 8;
+ case CONTEST_CATEGORY_BEAUTY:
+ return 9;
+ case CONTEST_CATEGORY_CUTE:
+ return 10;
+ case CONTEST_CATEGORY_SMART:
+ return 11;
+ case CONTEST_CATEGORY_TOUGH:
+ default:
+ return 12;
+ }
+ }
+}
+
+void ClearContestWinnerPicsInContestHall(void)
+{
+ s32 i;
+
+ for (i = 0; i < 8; i++)
+ gSaveBlock1Ptr->contestWinners[i] = gUnknown_08587FA4[i];
+}
+
+// The functions below are probably related to Contests in TV.
+static void sub_80DF080(u8 contestant)
+{
+ s32 i;
+
+ if (!gContestResources->field_10->excitementFrozen
+ && gContestResources->field_10->bits_0 > 0
+ && !gContestResources->field_4[contestant].disappointedRepeat)
+ {
+ gContestResources->field_1c[contestant].unkC |= 1;
+ gContestResources->field_1c[contestant].unkE_2 = 1;
+ }
+
+ if (gContestResources->field_4[contestant].nervous)
+ gContestResources->field_1c[contestant].unkC |= 2;
+
+ if (!gContestResources->field_10->excitementFrozen
+ && gContestResources->field_10->bits_0 != 0
+ && gContestResources->field_10->unk2 == 60)
+ {
+ gContestResources->field_1c[contestant].unkC |= 4;
+ }
+
+ if (gContestResources->field_4[contestant].unk15_6
+ && gContestResources->field_4[contestant].unk16 != 0)
+ {
+ gContestResources->field_1c[contestant].unkC |= 8;
+ }
+
+ for (i = 0; i < 4; i++)
+ {
+ if (i != contestant && gContestResources->field_4[i].jam != 0)
+ {
+ gContestResources->field_1c[contestant].unkC |= 0x10;
+ gContestResources->field_1c[i].unkC |= 0x40;
+ }
+ }
+
+ if (gContestResources->field_4[contestant].numTurnsSkipped != 0
+ || gContestResources->field_4[contestant].noMoreTurns)
+ {
+ gContestResources->field_1c[contestant].unkC |= 0x20;
+ }
+ else if (!gContestResources->field_4[contestant].nervous)
+ {
+ gContestResources->field_1c[contestant].unkC |= 0x80;
+ gContestResources->field_1c[contestant].unkE_1 = 1;
+ gContestResources->field_1c[contestant].unk0[gContestResources->field_0->turnNumber] = gContestResources->field_4[contestant].currMove;
+ }
+
+ if (gContestResources->field_4[contestant].disappointedRepeat)
+ gContestResources->field_1c[contestant].unkD |= 2;
+
+ if (gContestResources->field_0->applauseLevel == 4
+ && !gContestResources->field_10->excitementFrozen
+ && gContestResources->field_10->bits_0 < 0)
+ {
+ gContestResources->field_1c[contestant].unkD |= 0x20;
+ }
+}
+
+static void sub_80DF250(void)
+{
+ u8 r1;
+ s32 i, j;
+ bool32 r12, r8;
+ u16 sp0[6];
+ u8 spC[6];
+ u16 sp14[5];
+ u8 var_38;
+ u8 r3;
+ u8 count;
+
+ r1 = 0;
+ var_38 = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ if (gContestFinalStandings[i] == 0)
+ var_38 = i;
+ else if (gContestFinalStandings[i] == 3)
+ r1 = i;
+ }
+
+ gContestResources->field_1c[r1].unkD |= 1;
+ for (i = 0; i < 4; i++)
+ {
+ if (i != var_38 && gUnknown_02039F08[var_38] - gUnknown_02039F08[i] <= 50)
+ gContestResources->field_1c[i].unkD |= 4;
+
+ if (!gContestResources->field_1c[i].unkE_2)
+ gContestResources->field_1c[i].unkD |= 8;
+
+ for (j = 0; j < 4; j++)
+ {
+ if (gContestMonConditions[i] < gContestMonConditions[j])
+ break;
+ }
+ if (j == 4 && gContestFinalStandings[i] != 0)
+ gContestResources->field_1c[i].unkD |= 0x10;
+
+ r12 = FALSE;
+ r8 = FALSE;
+ for (j = 0; j < 4; j++)
+ {
+ if (gContestMonConditions[i] > gContestMonConditions[j])
+ r12 = TRUE;
+ if (gUnknown_02039F18[i] > gUnknown_02039F18[j])
+ r8 = TRUE;
+ }
+ if (!r12 && !r8)
+ gContestResources->field_1c[i].unkD |= 0x40;
+
+ if (!gContestResources->field_1c[i].unkE_1)
+ gContestResources->field_1c[i].unkD |= 0x80;
+ }
+
+ for (i = 0; i < 5; i++)
+ {
+ sp0[i] = 0;
+ spC[i] = 0;
+ }
+ sp0[5] = 0xFFFF;
+ spC[5] = 0;
+
+ for (i = 0; i < 5; i++)
+ {
+ if (gContestResources->field_1c[var_38].unk0[i] != 0)
+ {
+ for (j = 0; j < 5; j++)
+ {
+ if (gContestResources->field_1c[var_38].unk0[i] != sp0[j])
+ {
+ if (sp0[j] == 0)
+ {
+ sp0[j] = gContestResources->field_1c[var_38].unk0[i];
+ spC[j]++;
+ }
+ }
+ else
+ {
+ spC[j]++;
+ }
+ }
+ }
+ }
+
+ sp14[0] = sp0[0];
+ r3 = spC[0];
+ count = 0;
+ for (i = 1; sp0[i] != 0xFFFF; i++)
+ {
+ if (r3 < spC[i])
+ {
+ sp14[0] = sp0[i];
+ r3 = spC[i];
+ count = 1;
+ }
+ else if (r3 == spC[i])
+ {
+ sp14[count] = sp0[i];
+ count++;
+ }
+ }
+
+ gContestResources->field_1c[var_38].unkA = sp14[Random() % count];
+}
+
+static void sub_80DF4F8(void)
+{
+ s32 i;
+ u32 bits;
+ u8 r7;
+ u8 r9, r10;
+ u8 count;
+ u8 r5;
+ u8 r2;
+ u16 var;
+ u8 r4;
+ u8 r6;
+ u8 sp0[4];
+
+ if (gContestFinalStandings[gContestPlayerMonIndex] != 0)
+ return;
+
+ r7 = 0;
+ for (i = 0; i < 4; i++)
+ {
+ if (gContestFinalStandings[i] == 0)
+ r7 = i;
+ }
+
+ r9 = 0;
+ r10 = 0;
+ for (i = 0; i < 4; i++)
+ {
+ if (gContestMonConditions[r7] < gContestMonConditions[i])
+ r9++;
+ if (gUnknown_02039F18[r7] < gUnknown_02039F18[i])
+ r10++;
+ }
+
+ bits = gContestResources->field_1c[r7].unkC;
+ count = 0;
+ for (i = 0; i < 8; bits >>= 1, i++)
+ {
+ if (bits & 1)
+ count++;
+ }
+
+ r5 = Random() % count;
+ bits = gContestResources->field_1c[r7].unkC;
+ count = 0;
+ r2 = 0;
+ for (i = 0; i < 8; bits >>= 1, r2++, i++)
+ {
+ if (!(bits & 1))
+ continue;
+ if (r5 == count)
+ break;
+ count++;
+ }
+
+ var = 1 << r2;
+ if (r7 == 0)
+ {
+ sp0[0] = 1;
+ r4 = gContestResources->field_1c[1].unkD;
+ i = 2;
+ }
+ else
+ {
+ sp0[0] = 0;
+ r4 = gContestResources->field_1c[0].unkD;
+ i = 1;
+ }
+
+ r5 = 1;
+ for (; i < 4; i++)
+ {
+ if (i != r7)
+ {
+ if (r4 < gContestResources->field_1c[i].unkD)
+ {
+ sp0[0] = i;
+ r4 = gContestResources->field_1c[i].unkD;
+ r5 = 1;
+ }
+ else if (r4 == gContestResources->field_1c[i].unkD)
+ {
+ sp0[r5] = i;
+ r5++;
+ }
+ }
+ }
+
+ r6 = sp0[Random() % r5];
+ r2 = 0x80;
+ for (i = 0; i < 8; r2 >>= 1, i++)
+ {
+ r4 = gContestResources->field_1c[r6].unkD & r2;
+ if (r4)
+ break;
+ }
+
+ ContestLiveUpdates_BeforeInterview_1(r9);
+ ContestLiveUpdates_BeforeInterview_2(r10);
+ ContestLiveUpdates_BeforeInterview_3(var);
+ ContestLiveUpdates_BeforeInterview_4(gContestResources->field_1c[r7].unkA);
+ ContestLiveUpdates_BeforeInterview_5(r4, r6);
+}
+
+// Unused
+void sub_80DF704(u8 arg0)
+{
+ if (gHeap[0x1A000] == 0)
+ {
+ if (arg0 == 0)
+ gHeap[0x1A000] = 2;
+ else
+ gHeap[0x1A000] = 3;
+ }
+ else
+ {
+ gHeap[0x1A000] = 0;
+ }
+
+ if (gHeap[0x1A000] == 0)
+ {
+ sub_80DAEA4();
+ sub_80DB2BC();
+ }
+ else
+ {
+ sub_80DF750();
+ }
+}
+
+static void sub_80DF750(void)
+{
+ u8 i;
+ s8 j;
+ u8 text1[20];
+ u8 text2[20];
+ u8 *txtPtr;
+ u32 bits;
+
+ if (gUnknown_020322D5 == 0)
+ return;
+ if (gHeap[0x1A000] != 2 && gHeap[0x1A000] != 3)
+ return;
+
+ for (i = 0; i < 4; i++)
+ FillWindowPixelBuffer(i, 0);
+
+ if (gHeap[0x1A000] == 2)
+ {
+ for (i = 0; i < 4; i++)
+ {
+ txtPtr = StringCopy(text1, gText_CDot);
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1, 5, 1, 7);
+ bits = gContestResources->field_1c[i].unkC;
+ for (j = 7; j > -1; j--) // Weird loop.
+ {
+ txtPtr = ConvertIntToDecimalStringN(txtPtr, bits & 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ bits >>= 1;
+ }
+
+ for (j = 0; j < 5; j++)
+ text2[j] = text1[j];
+
+ text2[j] = EOS;
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7);
+ }
+ }
+ else
+ {
+ for (i = 0; i < 4; i++)
+ {
+ StringCopy(text1, gText_BDot);
+ bits = gContestResources->field_1c[i].unkD;
+ txtPtr = &text1[2];
+ for (j = 7; j > -1; j--) // Weird loop.
+ {
+ txtPtr = ConvertIntToDecimalStringN(txtPtr, bits & 1, STR_CONV_MODE_LEFT_ALIGN, 1);
+ bits >>= 1;
+ }
+
+ for (j = 0; j < 5; j++)
+ text2[j] = text1[j];
+
+ text2[j] = EOS;
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text2, 5, 1, 7);
+ Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[i], text1 + j, 55, 1, 7);
+ }
+ }
+ sub_80DB2BC();
+}
+
+static u8 sub_80DF940(u8 *nickname)
+{
+ u8 ret = GAME_LANGUAGE;
+
+ if (nickname[0] == EXT_CTRL_CODE_BEGIN && nickname[1] == EXT_CTRL_CODE_JPN)
+ return LANGUAGE_ENGLISH;
+
+ if (StringLength(nickname) < 6)
+ {
+ while (*nickname != EOS)
+ {
+ if ((*nickname >= CHAR_A && *nickname <= CHAR_z)
+ || (*nickname >= CHAR_0 && *nickname <= CHAR_9)
+ || *nickname == CHAR_SPACE
+ || *nickname == CHAR_PERIOD
+ || *nickname == CHAR_COMMA
+ || *nickname == CHAR_EXCL_MARK
+ || *nickname == CHAR_QUESTION_MARK
+ || *nickname == CHAR_MALE
+ || *nickname == CHAR_FEMALE
+ || *nickname == CHAR_SLASH
+ || *nickname == CHAR_HYPHEN
+ || *nickname == CHAR_ELLIPSIS
+ || *nickname == CHAR_DBL_QUOT_LEFT
+ || *nickname == CHAR_DBL_QUOT_RIGHT
+ || *nickname == CHAR_SGL_QUOT_LEFT
+ || *nickname == CHAR_DBL_QUOT_LEFT) // Most likely a typo, CHAR_SGL_QUOT_RIGHT should be here instead.
+ {
+ nickname++;
+ }
+ else
+ {
+ ret = LANGUAGE_JAPANESE;
+ break;
+ }
+ }
+ }
+
+ return ret;
+}
+
+static void sub_80DF9D4(u8 *playerName)
+{
+ u8 chr = playerName[5];
+
+ playerName[5] = EOS;
+ playerName[PLAYER_NAME_LENGTH] = chr;
+}
+
+static void sub_80DF9E0(u8 *monName, s32 language)
+{
+ u8 chr;
+
+ StripExtCtrlCodes(monName);
+ if (language == LANGUAGE_JAPANESE)
+ {
+ monName[5] = EOS;
+ monName[POKEMON_NAME_LENGTH] = EXT_CTRL_CODE_BEGIN;
+ }
+ else
+ {
+ chr = monName[5];
+ monName[5] = EOS;
+ monName[POKEMON_NAME_LENGTH] = chr;
+ }
+}
+
+void sub_80DFA08(struct ContestPokemon *mon, s32 language)
+{
+ u8 *name = mon->nickname;
+
+ if (language == LANGUAGE_JAPANESE)
+ {
+ ConvertInternationalString(name, sub_80DF940(name));
+ }
+ else if (name[POKEMON_NAME_LENGTH] == EXT_CTRL_CODE_BEGIN)
+ {
+ ConvertInternationalString(name, LANGUAGE_JAPANESE);
+ }
+ else
+ {
+ name[5] = name[POKEMON_NAME_LENGTH];
+ name[POKEMON_NAME_LENGTH] = EOS;
+ }
+
+ name = mon->trainerName;
+ if (language == LANGUAGE_JAPANESE)
+ {
+ name[PLAYER_NAME_LENGTH] = EOS;
+ name[6] = name[4];
+ name[5] = name[3];
+ name[4] = name[2];
+ name[3] = name[1];
+ name[2] = mon->trainerName[0];
+ name[1] = EXT_CTRL_CODE_JPN;
+ name[0] = EXT_CTRL_CODE_BEGIN;
+ }
+ else
+ {
+ name[5] = name[PLAYER_NAME_LENGTH];
+ name[PLAYER_NAME_LENGTH] = EOS;
+ }
+}
diff --git a/src/contest_link_80F57C4.c b/src/contest_link_80F57C4.c
index 721a4f870..381fb34fa 100644
--- a/src/contest_link_80F57C4.c
+++ b/src/contest_link_80F57C4.c
@@ -3,7 +3,6 @@
#include "bg.h"
#include "contest.h"
#include "contest_link_80F57C4.h"
-#include "contest_painting.h"
#include "decompress.h"
#include "dma3.h"
#include "event_data.h"
@@ -67,10 +66,9 @@ struct ContestLink80F57C4
u8 *unkC[4];
};
-extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-
-extern struct ContestLink80F57C4 *gUnknown_0203A034;
+EWRAM_DATA struct ContestLink80F57C4 *gUnknown_0203A034 = NULL;
+extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct BgTemplate gUnknown_0858D888[4];
extern const struct WindowTemplate gUnknown_0858D898[];
extern const struct CompressedSpriteSheet gUnknown_0858D878[];
@@ -138,7 +136,7 @@ void sub_80F57C4(void)
InitBgsFromTemplates(0, gUnknown_0858D888, ARRAY_COUNT(gUnknown_0858D888));
for (i = 0; i < 4; i++)
SetBgTilemapBuffer(i, gUnknown_0203A034->unkC[i]);
-
+
InitWindows(gUnknown_0858D898);
DeactivateAllTextPrinters();
SetGpuReg(REG_OFFSET_MOSAIC, 0);
@@ -720,7 +718,7 @@ static void sub_80F66B4(u8 taskId)
{
nationalDexNum = SpeciesToNationalPokedexNum(gContestMons[i].species);
GetSetPokedexFlag(nationalDexNum, FLAG_SET_SEEN);
- }
+ }
}
gTasks[taskId].data[10] = 0;
@@ -761,7 +759,7 @@ static void sub_80F67C4(u8 taskId)
{
if (!(gIsLinkContest & 0x1))
BravoTrainerPokemonProfile_BeforeInterview2(gContestFinalStandings[gContestPlayerMonIndex]);
-
+
BeginHardwarePaletteFade(0xFF, 0, 0, 16, 0);
gTasks[taskId].func = sub_80F6820;
}
@@ -1282,7 +1280,7 @@ static void sub_80F6F68(struct Sprite *sprite)
struct Sprite *sprite2 = &gSprites[sprite->data[i]];
sprite2->pos1.x = sprite->pos1.x + sprite->pos2.x + (i + 1) * 64;
}
-
+
if (sprite->pos1.x == sprite->data[4])
sprite->callback = sub_80F6FDC;
}
@@ -1348,7 +1346,7 @@ static void sub_80F7144(void)
sprite->invisible = 1;
for (i = 0; i < 3; i++)
gSprites[sprite->data[i]].invisible = 1;
-
+
gBattle_WIN0H = 0;
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H);
diff --git a/src/contest_painting.c b/src/contest_painting.c
index 0ed169a77..71a110aa8 100644
--- a/src/contest_painting.c
+++ b/src/contest_painting.c
@@ -20,10 +20,11 @@
#include "window.h"
#include "constants/rgb.h"
-extern u16 (*gUnknown_03006190)[][32];
-extern struct ContestWinner *gUnknown_030061C0;
-extern u16 *gContestPaintingMonPalette;
-extern struct Unk030061A0 gUnknown_030061A0;
+// IWRAM common
+u16 (*gUnknown_03006190)[][32];
+struct Unk030061A0 gUnknown_030061A0;
+struct ContestWinner *gUnknown_030061C0;
+u16 *gContestPaintingMonPalette;
// IWRAM bss
IWRAM_DATA u8 gContestPaintingState;
@@ -103,7 +104,7 @@ const u8 *const gContestRankTextPointers[] =
gContestLink,
};
-const struct BgTemplate gUnknown_085B07E8[] =
+const struct BgTemplate gUnknown_085B07E8[] =
{
{
.bg = 1,
@@ -116,7 +117,7 @@ const struct BgTemplate gUnknown_085B07E8[] =
},
};
-const struct WindowTemplate gUnknown_085B07EC =
+const struct WindowTemplate gUnknown_085B07EC =
{
.bg = 1,
.tilemapLeft = 2,
diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c
index 187a0f196..142ad7bc9 100644
--- a/src/contest_painting_effects.c
+++ b/src/contest_painting_effects.c
@@ -3,14 +3,17 @@
#include "contest_painting.h"
#include "constants/rgb.h"
-extern u8 gUnknown_03006164;
-extern u16 (*gUnknown_03006168)[][32];
-extern u8 gUnknown_0300616C;
-extern u8 gUnknown_03006170;
-extern u8 gUnknown_03006174;
-extern u8 gUnknown_03006178;
-extern u8 gUnknown_0300617C;
-extern u8 gUnknown_03006180;
+// IWRAM common
+u8 gUnknown_03006164;
+u16 (*gUnknown_03006168)[][32];
+u8 gUnknown_0300616C;
+u8 gUnknown_03006170;
+u8 gUnknown_03006174;
+u8 gUnknown_03006178;
+u8 gUnknown_0300617C;
+u8 gUnknown_03006180;
+u16 gUnknown_03006184;
+u16 gUnknown_03006188;
// this file's functions
void sub_8125230(void);
diff --git a/src/daycare.c b/src/daycare.c
index 6bdbd987e..b75fab292 100644
--- a/src/daycare.c
+++ b/src/daycare.c
@@ -1244,15 +1244,15 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y)
static void Task_HandleDaycareLevelMenuInput(u8 taskId)
{
- u32 var = ListMenuHandleInputGetItemId(gTasks[taskId].tMenuListTaskId);
+ u32 input = ListMenu_ProcessInput(gTasks[taskId].tMenuListTaskId);
if (gMain.newKeys & A_BUTTON)
{
- switch (var)
+ switch (input)
{
case 0:
case 1:
- gSpecialVar_Result = var;
+ gSpecialVar_Result = input;
break;
case 5:
gSpecialVar_Result = 2;
diff --git a/src/decoration.c b/src/decoration.c
index 36d9ba5f9..2ac49b98c 100644
--- a/src/decoration.c
+++ b/src/decoration.c
@@ -526,14 +526,14 @@ void sub_8126B80(u8 taskId)
PlaySE(SE_SELECT);
sSecretBasePCMenuActions[sSecretBasePCMenuCursorPos].func.void_u8(taskId);
break;
- case -2:
+ case MENU_NOTHING_CHOSEN:
sSecretBasePCMenuCursorPos = Menu_GetCursorPos();
if ((s8)menuPos != sSecretBasePCMenuCursorPos)
{
sub_8126C08();
}
break;
- case -1:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
SecretBasePC_Cancel(taskId);
break;
@@ -713,12 +713,12 @@ void sub_8127088(u8 taskId)
input = Menu_ProcessInput();
switch (input)
{
- case -1:
+ case MENU_B_PRESSED:
case 8:
PlaySE(SE_SELECT);
sub_812719C(taskId);
break;
- case -2:
+ case MENU_NOTHING_CHOSEN:
break;
default:
PlaySE(SE_SELECT);
@@ -933,13 +933,13 @@ void sub_812764C(u8 taskId)
data = gTasks[taskId].data;
if (!gPaletteFade.active)
{
- input = ListMenuHandleInputGetItemId(data[13]);
+ input = ListMenu_ProcessInput(data[13]);
ListMenuGetScrollAndRow(data[13], &sSecretBasePCSelectDecorPageNo, &sSecretBasePCSelectDecorLineNo);
switch (input)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
PlaySE(SE_SELECT);
SecretBasePC_SelectedDecorActions[data[11]][1](taskId);
break;
diff --git a/src/dragon.c b/src/dragon.c
index 4a2ac1c51..9b39a8a30 100644
--- a/src/dragon.c
+++ b/src/dragon.c
@@ -5,8 +5,6 @@
#include "trig.h"
#include "constants/rgb.h"
-extern u16 gUnknown_0203A100[];
-
void sub_8113064(struct Sprite *);
void sub_81131B4(struct Sprite *);
void sub_8113224(struct Sprite *);
@@ -17,6 +15,8 @@ static void sub_81134B8(u8);
static void sub_8113574(struct Task *);
static void sub_811369C(struct Sprite *);
+EWRAM_DATA static u16 gUnknown_0203A100[7] = {0};
+
const union AnimCmd gUnknown_08596E60[] =
{
ANIMCMD_FRAME(0, 4),
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index c97e2d10f..4bf7701be 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -9,6 +9,7 @@
#include "evolution_graphics.h"
#include "gpu_regs.h"
#include "link.h"
+#include "link_rfu.h"
#include "m4a.h"
#include "main.h"
#include "menu.h"
@@ -16,10 +17,12 @@
#include "palette.h"
#include "pokedex.h"
#include "pokemon.h"
+#include "pokemon_summary_screen.h"
#include "scanline_effect.h"
#include "sound.h"
#include "sprite.h"
#include "string_util.h"
+#include "strings.h"
#include "task.h"
#include "text.h"
#include "text_window.h"
@@ -39,22 +42,18 @@ struct EvoInfo
u16 savedPalette[48];
};
+// EWRAM vars
static EWRAM_DATA struct EvoInfo *sEvoStructPtr = NULL;
static EWRAM_DATA u16 *sEvoMovingBgPtr = NULL;
+// IWRAM common
+void (*gCB2_AfterEvolution)(void);
+
#define sEvoCursorPos gBattleCommunication[1] // when learning a new move
#define sEvoGraphicsTaskID gBattleCommunication[2]
-extern const struct WindowTemplate gUnknown_0833900C;
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
-// strings
-extern const u8 gText_CommunicationStandby5[];
-
-extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move);
-extern u8 sub_81C1B94(void);
-extern void sub_800E084(void);
-
// this file's functions
static void Task_EvolutionScene(u8 taskID);
static void Task_TradeEvolutionScene(u8 taskID);
diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c
index 7423216a4..b1291f0ce 100644
--- a/src/field_player_avatar.c
+++ b/src/field_player_avatar.c
@@ -90,7 +90,7 @@ static bool8 sub_808B618(void);
static bool8 PlayerIsAnimActive(void);
static bool8 PlayerCheckIfAnimFinishedOrInactive(void);
-static void PlayerRun(u8);
+static void PlayerRun(u8);
static void PlayerNotOnBikeCollide(u8);
static void PlayerNotOnBikeCollideWithFarawayIslandMew(u8);
@@ -343,7 +343,7 @@ static bool8 TryInterruptEventObjectSpecialAnim(struct EventObject *playerEventO
u8 r5 = direction;
register u8 r6 asm("r6") = direction;
#endif
- //a very bad HACK
+ //a very bad HACK
if (EventObjectIsMovementOverridden(playerEventObj)
&& !EventObjectClearHeldMovementIfFinished(playerEventObj))
@@ -821,24 +821,14 @@ void SetPlayerAvatarTransitionFlags(u16 transitionFlags)
static void DoPlayerAvatarTransition(void)
{
u8 i;
- u32 flags = gPlayerAvatar.unk1;
+ u8 flags = gPlayerAvatar.unk1;
if (flags != 0)
{
for (i = 0; i < 8; i++, flags >>= 1)
{
-#ifdef NONMATCHING
if (flags & 1)
- {
gUnknown_084974B8[i](&gEventObjects[gPlayerAvatar.eventObjectId]);
- }
-#else
- if (flags & 1)
- {
- register void (*const *funcs)(struct EventObject *) asm("r0") = gUnknown_084974B8;
- funcs[i](&gEventObjects[gPlayerAvatar.eventObjectId]);
- }
-#endif
}
gPlayerAvatar.unk1 = 0;
}
@@ -1151,7 +1141,7 @@ void PlayerGetDestCoords(s16 *x, s16 *y)
u8 player_get_pos_including_state_based_drift(s16 *x, s16 *y)
{
struct EventObject *object = &gEventObjects[gPlayerAvatar.eventObjectId];
-
+
if (object->heldMovementActive && !object->heldMovementFinished && !gSprites[object->spriteId].data[2])
{
*x = object->currentCoords.x;
@@ -1765,7 +1755,7 @@ static bool8 Fishing2(struct Task *task)
static bool8 Fishing3(struct Task *task)
{
AlignFishingAnimationFrames();
-
+
// Wait one second
task->tFrameCounter++;
if (task->tFrameCounter >= 60)
diff --git a/src/field_specials.c b/src/field_specials.c
index 0dc1bf18b..f2ebf2b8e 100644
--- a/src/field_specials.c
+++ b/src/field_specials.c
@@ -2603,9 +2603,9 @@ static void sub_813A46C(s32 itemIndex, bool8 onInit, struct ListMenu *list)
static void sub_813A4EC(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- s32 itemId = ListMenuHandleInputGetItemId(task->data[14]);
+ s32 input = ListMenu_ProcessInput(task->data[14]);
- switch (itemId)
+ switch (input)
{
case LIST_NOTHING_CHOSEN:
break;
@@ -2615,13 +2615,13 @@ static void sub_813A4EC(u8 taskId)
sub_813A570(taskId);
break;
default:
- gSpecialVar_Result = itemId;
+ gSpecialVar_Result = input;
PlaySE(SE_SELECT);
if (!task->data[6])
{
sub_813A570(taskId);
}
- else if (itemId == task->data[1] - 1)
+ else if (input == task->data[1] - 1)
{
sub_813A570(taskId);
}
diff --git a/src/field_weather.c b/src/field_weather.c
index f0615dabf..0db635c60 100644
--- a/src/field_weather.c
+++ b/src/field_weather.c
@@ -17,7 +17,7 @@
#include "trig.h"
#include "gpu_regs.h"
-#define MACRO1(color) ((((color) >> 1) & 0xF) | (((color) >> 2) & 0xF0) | (((color) >> 3) & 0xF00))
+#define DROUGHT_COLOR_INDEX(color) ((((color) >> 1) & 0xF) | (((color) >> 2) & 0xF0) | (((color) >> 3) & 0xF00))
enum
{
@@ -65,15 +65,21 @@ static void None_Init(void);
static void None_Main(void);
static u8 None_Finish(void);
-// EWRAM
EWRAM_DATA struct Weather gWeather = {0};
EWRAM_DATA static u8 sFieldEffectPaletteGammaTypes[32] = {0};
-// IWRAM bss
IWRAM_DATA static const u8 *sPaletteGammaTypes;
-// CONST
-extern const u16 gUnknown_0854014C[][4096];
+// The drought weather effect uses a precalculated color lookup table. Presumably this
+// is because the underlying color shift calculation is slow.
+const u16 sDroughtWeatherColors[][0x1000] = {
+ INCBIN_U16("graphics/weather/drought/colors_0.bin"),
+ INCBIN_U16("graphics/weather/drought/colors_1.bin"),
+ INCBIN_U16("graphics/weather/drought/colors_2.bin"),
+ INCBIN_U16("graphics/weather/drought/colors_3.bin"),
+ INCBIN_U16("graphics/weather/drought/colors_4.bin"),
+ INCBIN_U16("graphics/weather/drought/colors_5.bin"),
+};
// This is a pointer to gWeather. All code in this file accesses gWeather directly,
// while code in other field weather files accesses gWeather through this pointer.
@@ -513,7 +519,7 @@ static void ApplyGammaShift(u8 startPalIndex, u8 numPalettes, s8 gammaIndex)
{
for (i = 0; i < 16; i++)
{
- gPlttBufferFaded[palOffset] = gUnknown_0854014C[gammaIndex][MACRO1(gPlttBufferUnfaded[palOffset])];
+ gPlttBufferFaded[palOffset] = sDroughtWeatherColors[gammaIndex][DROUGHT_COLOR_INDEX(gPlttBufferUnfaded[palOffset])];
palOffset++;
}
}
@@ -619,7 +625,7 @@ static void ApplyDroughtGammaShiftWithBlend(s8 gammaIndex, u8 blendCoeff, u16 bl
b1 = color1.b;
offset = ((b1 & 0x1E) << 7) | ((g1 & 0x1E) << 3) | ((r1 & 0x1E) >> 1);
- color2 = *(struct RGBColor *)&gUnknown_0854014C[gammaIndex][offset];
+ color2 = *(struct RGBColor *)&sDroughtWeatherColors[gammaIndex][offset];
r2 = color2.r;
g2 = color2.g;
b2 = color2.b;
diff --git a/src/graphics.c b/src/graphics.c
index 287a1f5d6..90b705d2f 100644
--- a/src/graphics.c
+++ b/src/graphics.c
@@ -1023,8 +1023,8 @@ const u32 gBattleAnimSpriteSheet_262[] = INCBIN_U32("graphics/battle_anims/sprit
const u32 gBattleAnimSpritePalette_262[] = INCBIN_U32("graphics/battle_anims/sprites/262.gbapal.lz");
const u32 gContestNextTurnGfx[] = INCBIN_U32("graphics/contest/nextturn.4bpp.lz");
-const u8 gUnknown_08D8E9B4[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp");
-const u8 gUnknown_08D8EA34[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp");
+const u8 gContestNextTurnNumbersGfx[] = INCBIN_U8("graphics/contest/nextturn_numbers.4bpp");
+const u8 gContestNextTurnRandomGfx[] = INCBIN_U8("graphics/contest/nextturn_random.4bpp");
const u32 gBattleAnimSpriteSheet_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.4bpp.lz");
const u32 gBattleAnimSpritePalette_264[] = INCBIN_U32("graphics/battle_anims/sprites/264.gbapal.lz");
diff --git a/src/ice.c b/src/ice.c
index 77b3700ef..d354fce7e 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -530,7 +530,7 @@ static void sub_810B6C4(struct Sprite *sprite)
{
s16 targetX, targetY, attackerX, attackerY;
s16 i;
-
+
sprite->oam.tileNum += 7;
targetX = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
targetY = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
@@ -811,7 +811,7 @@ void AnimIceBeamParticle(struct Sprite *sprite)
sprite->callback = StartAnimLinearTranslation;
}
-// Animates the ice crystals at the end of Ice Punch, Ice Beam, Tri Attack,
+// Animates the ice crystals at the end of Ice Punch, Ice Beam, Tri Attack,
// Weather Ball (Hail), Blizzard, and Powder Snow.
// arg 0: target x offset
// arg 1: target y offset
@@ -917,7 +917,7 @@ void AnimSwirlingSnowball_Step2(struct Sprite *sprite)
sprite->pos2.x = 0;
sprite->data[0] = 128;
- tempVar = GetBattlerSide(gBattleAnimAttacker) != 0 ? 20 : -20;
+ tempVar = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? 20 : -20;
sprite->data[3] = Sin(sprite->data[0], tempVar);
sprite->data[4] = Cos(sprite->data[0], 0xF);
@@ -1069,7 +1069,7 @@ void AnimWaveFromCenterOfTarget(struct Sprite *sprite)
sprite->pos1.y += gBattleAnimArgs[1];
}
- sprite->data[0]++;
+ sprite->data[0]++;
}
else
{
@@ -1099,9 +1099,9 @@ void InitSwirlingFogAnim(struct Sprite *sprite)
else
{
SetAverageBattlerPositions(gBattleAnimAttacker, 0, &sprite->pos1.x, &sprite->pos1.y);
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0];
- else
+ else
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1109,18 +1109,18 @@ void InitSwirlingFogAnim(struct Sprite *sprite)
battler = gBattleAnimAttacker;
}
- else
+ else
{
if (gBattleAnimArgs[5] == 0)
{
InitSpritePosToAnimTarget(sprite, FALSE);
}
- else
+ else
{
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0];
- else
+ else
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
@@ -1130,7 +1130,7 @@ void InitSwirlingFogAnim(struct Sprite *sprite)
}
sprite->data[7] = battler;
- if (gBattleAnimArgs[5] == 0 || !IsDoubleBattle())
+ if (gBattleAnimArgs[5] == 0 || !IsDoubleBattle())
tempVar = 0x20;
else
tempVar = 0x40;
@@ -1161,7 +1161,7 @@ void AnimSwirlingFogAnim(struct Sprite *sprite)
sprite->pos2.y += Cos(sprite->data[5], -6);
if ((u16)(sprite->data[5] - 64) <= 0x7F)
- sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
+ sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]);
else
sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]) + 1;
@@ -1195,7 +1195,7 @@ void AnimTask_Haze1(u8 taskId)
LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset);
sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0);
LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32);
-
+
gTasks[taskId].func = AnimTask_Haze2;
}
@@ -1208,62 +1208,63 @@ void AnimTask_Haze2(u8 taskId)
switch (gTasks[taskId].data[12])
{
- case 0:
- if (++gTasks[taskId].data[10] == 4)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[9]++;
- gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]];
-
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
- if (gTasks[taskId].data[11] == 9)
- {
- gTasks[taskId].data[12]++;
- gTasks[taskId].data[11] = 0;
- }
- }
- break;
- case 1:
- if (++gTasks[taskId].data[11] == 0x51)
+ case 0:
+ if (++gTasks[taskId].data[10] == 4)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[9]++;
+ gTasks[taskId].data[11] = gUnknown_08595C5C[gTasks[taskId].data[9]];
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 9)
{
- gTasks[taskId].data[11] = 9;
gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
}
- break;
- case 2:
- if (++gTasks[taskId].data[10] == 4)
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[11] == 0x51)
+ {
+ gTasks[taskId].data[11] = 9;
+ gTasks[taskId].data[12]++;
+ }
+ break;
+ case 2:
+ if (++gTasks[taskId].data[10] == 4)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[11]--;
+
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 0)
{
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[11]--;
-
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
- if (gTasks[taskId].data[11] == 0)
- {
- gTasks[taskId].data[12]++;
- gTasks[taskId].data[11] = 0;
- }
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
}
- break;
- case 3:
- sub_80A6B30(&subStruct);
- sub_80A6C68(1);
- sub_80A6C68(2);
-
- gTasks[taskId].data[12]++;
-
- // fall through
- case 4:
- if (!IsContest())
- SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
-
- gBattle_BG1_X = 0;
- gBattle_BG1_Y = 0;
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
- SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
- DestroyAnimVisualTask(taskId);
+ }
+ break;
+ case 3:
+ sub_80A6B30(&subStruct);
+ sub_80A6C68(1);
+ sub_80A6C68(2);
+
+ gTasks[taskId].data[12]++;
+
+ // fall through
+ case 4:
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ DestroyAnimVisualTask(taskId);
+ break;
}
-}
+}
// Throws the ball in Mist Ball.
// arg 0: initial x pixel offset
@@ -1301,7 +1302,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
LoadBgTiles(subStruct.bgId, gWeatherFog1Tiles, 0x800, subStruct.tilesOffset);
sub_80A6D60(&subStruct, gBattleAnimFogTilemap, 0);
LoadPalette(&gUnknown_083970E8, subStruct.unk8 * 16, 32);
-
+
gTasks[taskId].data[15] = -1;
gTasks[taskId].func = AnimTask_OverlayFogTiles;
}
@@ -1315,54 +1316,55 @@ void AnimTask_OverlayFogTiles(u8 taskId)
switch (gTasks[taskId].data[12])
{
- case 0:
- gTasks[taskId].data[9] += 1;
- gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]];
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11]));
- if (gTasks[taskId].data[11] == 5)
+ case 0:
+ gTasks[taskId].data[9] += 1;
+ gTasks[taskId].data[11] = gUnknown_08595C88[gTasks[taskId].data[9]];
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 17 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 5)
+ {
+ gTasks[taskId].data[12]++;
+ gTasks[taskId].data[11] = 0;
+ }
+ break;
+ case 1:
+ if (++gTasks[taskId].data[11] == 0x51)
+ {
+ gTasks[taskId].data[11] = 5;
+ gTasks[taskId].data[12]++;
+ }
+ break;
+ case 2:
+ if (++gTasks[taskId].data[10] == 4)
+ {
+ gTasks[taskId].data[10] = 0;
+ gTasks[taskId].data[11] -= 1;
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
+ if (gTasks[taskId].data[11] == 0)
{
gTasks[taskId].data[12]++;
gTasks[taskId].data[11] = 0;
}
- break;
- case 1:
- if (++gTasks[taskId].data[11] == 0x51)
- {
- gTasks[taskId].data[11] = 5;
- gTasks[taskId].data[12]++;
- }
- break;
- case 2:
- if (++gTasks[taskId].data[10] == 4)
- {
- gTasks[taskId].data[10] = 0;
- gTasks[taskId].data[11] -= 1;
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[11], 16 - gTasks[taskId].data[11]));
- if (gTasks[taskId].data[11] == 0)
- {
- gTasks[taskId].data[12]++;
- gTasks[taskId].data[11] = 0;
- }
- }
- break;
- case 3:
- sub_80A6B30(&subStruct);
- sub_80A6C68(1);
- sub_80A6C68(2);
-
- gTasks[taskId].data[12]++;
-
- // fall through
- case 4:
- if (!IsContest())
- SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
-
- gBattle_BG1_X = 0;
- gBattle_BG1_Y = 0;
- SetGpuReg(REG_OFFSET_BLDCNT, 0);
- SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
- SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
- DestroyAnimVisualTask(taskId);
+ }
+ break;
+ case 3:
+ sub_80A6B30(&subStruct);
+ sub_80A6C68(1);
+ sub_80A6C68(2);
+
+ gTasks[taskId].data[12]++;
+
+ // fall through
+ case 4:
+ if (!IsContest())
+ SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+
+ gBattle_BG1_X = 0;
+ gBattle_BG1_Y = 0;
+ SetGpuReg(REG_OFFSET_BLDCNT, 0);
+ SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0));
+ SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
+ DestroyAnimVisualTask(taskId);
+ break;
}
}
@@ -1390,7 +1392,7 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite)
if ((sprite->data[7] & 0x8000) && !(gBattlerPositions[gBattleAnimAttacker] & 1))
sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
- sprite->data[6] = 1;
+ sprite->data[6] = 1;
}
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
@@ -1410,7 +1412,7 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y + gBattleAnimArgs[2];
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[4];
sprite->data[7] |= GetBattlerSpriteBGPriority(gBattleAnimTarget) << 8;
- }
+ }
if (IsContest())
{
@@ -1425,8 +1427,6 @@ void InitPoisonGasCloudAnim(struct Sprite *sprite)
void MovePoisonGasCloud(struct Sprite *sprite)
{
int value;
- register s16 value2 asm("r5");
- int unused;
switch (sprite->data[7] & 0xFF)
{
@@ -1441,8 +1441,7 @@ void MovePoisonGasCloud(struct Sprite *sprite)
if (sprite->data[0] <= 0)
{
- value2 = 80;
- sprite->data[0] = value2;
+ sprite->data[0] = 80;
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x;
@@ -1450,10 +1449,12 @@ void MovePoisonGasCloud(struct Sprite *sprite)
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = sprite->pos1.y + 29;
sprite->data[7]++;
- if (!IsContest() && gBattlerPositions[gBattleAnimTarget] & 1)
+ if (IsContest())
+ sprite->data[5] = 80;
+ else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER)
sprite->data[5] = 204;
else
- sprite->data[5] = value2;
+ sprite->data[5] = 80;
sprite->pos2.y = 0;
value = gSineTable[sprite->data[5]];
@@ -1490,13 +1491,13 @@ void MovePoisonGasCloud(struct Sprite *sprite)
if (sprite->data[0] <= 0)
{
- asm("mov r5, #0"); // unused local variable?
- unused = 0;
sprite->data[0] = 0x300;
sprite->data[1] = sprite->pos1.x += sprite->pos2.x;
sprite->data[3] = sprite->pos1.y += sprite->pos2.y;
sprite->data[4] = sprite->pos1.y + 4;
- if (!IsContest() && gBattlerPositions[gBattleAnimTarget] & 1)
+ if (IsContest())
+ sprite->data[2] = -0x10;
+ else if (GET_BATTLER_SIDE2(gBattleAnimTarget) != B_SIDE_PLAYER)
sprite->data[2] = 0x100;
else
sprite->data[2] = -0x10;
@@ -1535,43 +1536,43 @@ void AnimTask_Hail2(u8 taskId)
struct Task *task = &gTasks[taskId];
switch (task->data[0])
{
- case 0:
- if (++task->data[4] > 2)
- {
- task->data[4] = 0;
- task->data[5] = 0;
- task->data[2] = 0;
- task->data[0]++;
- }
- break;
- case 1:
- if (task->data[5] == 0)
+ case 0:
+ if (++task->data[4] > 2)
+ {
+ task->data[4] = 0;
+ task->data[5] = 0;
+ task->data[2] = 0;
+ task->data[0]++;
+ }
+ break;
+ case 1:
+ if (task->data[5] == 0)
+ {
+ if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1))
+ task->data[1]++;
+
+ if (++task->data[2] == 3)
{
- if (GenerateHailParticle(task->data[3], task->data[2], taskId, 1))
- task->data[1]++;
-
- if (++task->data[2] == 3)
- {
- if (++task->data[3] == 10)
- task->data[0]++;
- else
- task->data[0]--;
- }
+ if (++task->data[3] == 10)
+ task->data[0]++;
else
- {
- task->data[5] = 1;
- }
-
+ task->data[0]--;
}
else
{
- task->data[5]--;
+ task->data[5] = 1;
}
- break;
- case 2:
- if (task->data[1] == 0)
- DestroyAnimVisualTask(taskId);
- break;
+
+ }
+ else
+ {
+ task->data[5]--;
+ }
+ break;
+ case 2:
+ if (task->data[1] == 0)
+ DestroyAnimVisualTask(taskId);
+ break;
}
}
@@ -1587,7 +1588,7 @@ bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c)
u8 spriteId;
// struct Sprite *sprite;
s16 spriteX;
-
+
if (unk != 2)
{
battler = GetBattlerAtPosition(hailData->unk2);
@@ -1820,7 +1821,7 @@ void AnimHailBegin(struct Sprite *sprite)
if (sprite->data[0] == 1 && sprite->data[5] == 0)
{
- spriteId = CreateSprite(&gUnknown_08595B68,
+ spriteId = CreateSprite(&gUnknown_08595B68,
sprite->data[3], sprite->data[4], sprite->subpriority);
sprite->data[0] = spriteId;
@@ -1935,6 +1936,6 @@ void AnimTask_GetRolloutCounter(u8 taskId)
{
u8 arg = gBattleAnimArgs[0];
- gBattleAnimArgs[arg] = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1;
+ gBattleAnimArgs[arg] = gAnimDisableStructPtr->rolloutTimerStartValue - gAnimDisableStructPtr->rolloutTimer - 1;
DestroyAnimVisualTask(taskId);
}
diff --git a/src/item_menu.c b/src/item_menu.c
index a220f02ef..24a50aa9a 100755
--- a/src/item_menu.c
+++ b/src/item_menu.c
@@ -1102,7 +1102,7 @@ void Task_BagMenu(u8 taskId)
}
else
{
- int listPosition = ListMenuHandleInputGetItemId(data[0]);
+ int listPosition = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], scrollPos, cursorPos);
switch (listPosition)
{
@@ -1304,7 +1304,7 @@ void bag_menu_swap_items(u8 taskId)
void sub_81AC3C0(u8 taskId)
{
s16* data = gTasks[taskId].data;
- int r7;
+ int input;
if (sub_81221EC() != TRUE)
{
@@ -1316,15 +1316,15 @@ void sub_81AC3C0(u8 taskId)
}
else
{
- r7 = ListMenuHandleInputGetItemId(data[0]);
+ input = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &gUnknown_0203CE58.scrollPosition[gUnknown_0203CE58.pocket], &gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]);
sub_80D4FC8(0);
sub_80D4FEC(gUnknown_0203CE58.cursorPosition[gUnknown_0203CE58.pocket]);
- switch (r7)
+ switch (input)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
PlaySE(SE_SELECT);
if (gMain.newKeys & A_BUTTON)
sub_81AC498(taskId);
@@ -1546,9 +1546,9 @@ void Task_HandleInBattleItemMenuInput(u8 taskId)
s8 r4 = Menu_ProcessInputNoWrap();
switch (r4)
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
break;
- case -1:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
gUnknown_08613FB4[4].func.void_u8(taskId);
break;
diff --git a/src/item_use.c b/src/item_use.c
index 6a7f6cec0..0ea5f6acf 100755
--- a/src/item_use.c
+++ b/src/item_use.c
@@ -38,8 +38,6 @@
#include "constants/songs.h"
#include "constants/vars.h"
-extern void(*gUnknown_0203A0F4)(u8 taskId);
-extern void (*gUnknown_03006328)(u8, TaskFunc);
extern void unknown_ItemMenu_Confirm(u8 taskId);
extern void sub_81C5B14(u8 taskId);
extern void ScriptUnfreezeEventObjects(void);
@@ -100,6 +98,9 @@ void sub_80FDBEC(void);
bool8 sub_80FDE2C(void);
void ItemUseOutOfBattle_CannotUse(u8 taskId);
+// EWRAM variables
+EWRAM_DATA static void(*gUnknown_0203A0F4)(u8 taskId) = NULL;
+
// .rodata
static const MainCallback gUnknown_085920D8[] =
diff --git a/src/learn_move.c b/src/learn_move.c
index 4db83861e..7a6916013 100644
--- a/src/learn_move.c
+++ b/src/learn_move.c
@@ -638,7 +638,7 @@ static void HideSpritesAndPrintTeachText(bool8 a)
static void HandleInput(bool8 showContest)
{
- s32 itemId = ListMenuHandleInputGetItemId(sLearnMoveStruct->listMenuTask);
+ s32 itemId = ListMenu_ProcessInput(sLearnMoveStruct->listMenuTask);
ListMenuGetScrollAndRow(sLearnMoveStruct->listMenuTask, &sLearnMoveStruct2.listOffset, &sLearnMoveStruct2.listRow);
switch (itemId)
diff --git a/src/list_menu.c b/src/list_menu.c
index 2476fae26..7a9547661 100644
--- a/src/list_menu.c
+++ b/src/list_menu.c
@@ -334,7 +334,7 @@ s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenu
sMysteryGiftLinkMenu.state = 1;
break;
case 1:
- sMysteryGiftLinkMenu.currItemId = ListMenuHandleInputGetItemId(sMysteryGiftLinkMenu.listTaskId);
+ sMysteryGiftLinkMenu.currItemId = ListMenu_ProcessInput(sMysteryGiftLinkMenu.listTaskId);
if (gMain.newKeys & A_BUTTON)
{
sMysteryGiftLinkMenu.state = 2;
@@ -406,7 +406,7 @@ u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenu
return taskId;
}
-s32 ListMenuHandleInputGetItemId(u8 listTaskId)
+s32 ListMenu_ProcessInput(u8 listTaskId)
{
struct ListMenu *list = (void*) gTasks[listTaskId].data;
diff --git a/src/m4a.c b/src/m4a.c
new file mode 100644
index 000000000..7b4441ca4
--- /dev/null
+++ b/src/m4a.c
@@ -0,0 +1,1779 @@
+#include "gba/m4a_internal.h"
+
+extern const u8 gCgb3Vol[];
+
+#define BSS_CODE __attribute__((section(".bss.code")))
+
+BSS_CODE ALIGNED(4) char SoundMainRAM_Buffer[0x800] = {0};
+
+struct SoundInfo gSoundInfo;
+struct PokemonCrySong gPokemonCrySongs[MAX_POKEMON_CRIES];
+struct MusicPlayerInfo gPokemonCryMusicPlayers[MAX_POKEMON_CRIES];
+void *gMPlayJumpTable[36];
+struct CgbChannel gCgbChans[4];
+struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2];
+struct PokemonCrySong gPokemonCrySong;
+struct MusicPlayerInfo gMPlayInfo_BGM;
+struct MusicPlayerInfo gMPlayInfo_SE1;
+struct MusicPlayerInfo gMPlayInfo_SE2;
+struct MusicPlayerInfo gMPlayInfo_SE3;
+u8 gMPlayMemAccArea[0x10];
+
+u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust)
+{
+ u32 val1;
+ u32 val2;
+ u32 fineAdjustShifted = fineAdjust << 24;
+
+ if (key > 178)
+ {
+ key = 178;
+ fineAdjustShifted = 255 << 24;
+ }
+
+ val1 = gScaleTable[key];
+ val1 = gFreqTable[val1 & 0xF] >> (val1 >> 4);
+
+ val2 = gScaleTable[key + 1];
+ val2 = gFreqTable[val2 & 0xF] >> (val2 >> 4);
+
+ return umul3232H32(wav->freq, val1 + umul3232H32(val2 - val1, fineAdjustShifted));
+}
+
+void UnusedDummyFunc(void)
+{
+}
+
+void MPlayContinue(struct MusicPlayerInfo *mplayInfo)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->fadeOC = speed;
+ mplayInfo->fadeOI = speed;
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aSoundInit(void)
+{
+ s32 i;
+
+ CpuCopy32((void *)((s32)SoundMainRAM & ~1), SoundMainRAM_Buffer, sizeof(SoundMainRAM_Buffer));
+
+ SoundInit(&gSoundInfo);
+ MPlayExtender(gCgbChans);
+ m4aSoundMode(SOUND_MODE_DA_BIT_8
+ | SOUND_MODE_FREQ_13379
+ | (12 << SOUND_MODE_MASVOL_SHIFT)
+ | (5 << SOUND_MODE_MAXCHN_SHIFT));
+
+ for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
+ {
+ struct MusicPlayerInfo *mplayInfo = gMPlayTable[i].info;
+ MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].unk_8);
+ mplayInfo->unk_B = gMPlayTable[i].unk_A;
+ mplayInfo->memAccArea = gMPlayMemAccArea;
+ }
+
+ memcpy(&gPokemonCrySong, &gPokemonCrySongTemplate, sizeof(struct PokemonCrySong));
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ {
+ struct MusicPlayerInfo *mplayInfo = &gPokemonCryMusicPlayers[i];
+ struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
+ MPlayOpen(mplayInfo, track, 2);
+ track->chan = 0;
+ }
+}
+
+void m4aSoundMain(void)
+{
+ SoundMain();
+}
+
+void m4aSongNumStart(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ MPlayStart(mplay->info, song->header);
+}
+
+void m4aSongNumStartOrChange(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader != song->header)
+ {
+ MPlayStart(mplay->info, song->header);
+ }
+ else
+ {
+ if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0
+ || (mplay->info->status & MUSICPLAYER_STATUS_PAUSE))
+ {
+ MPlayStart(mplay->info, song->header);
+ }
+ }
+}
+
+void m4aSongNumStartOrContinue(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader != song->header)
+ MPlayStart(mplay->info, song->header);
+ else if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0)
+ MPlayStart(mplay->info, song->header);
+ else if (mplay->info->status & MUSICPLAYER_STATUS_PAUSE)
+ MPlayContinue(mplay->info);
+}
+
+void m4aSongNumStop(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader == song->header)
+ m4aMPlayStop(mplay->info);
+}
+
+void m4aSongNumContinue(u16 n)
+{
+ const struct MusicPlayer *mplayTable = gMPlayTable;
+ const struct Song *songTable = gSongTable;
+ const struct Song *song = &songTable[n];
+ const struct MusicPlayer *mplay = &mplayTable[song->ms];
+
+ if (mplay->info->songHeader == song->header)
+ MPlayContinue(mplay->info);
+}
+
+void m4aMPlayAllStop(void)
+{
+ s32 i;
+
+ for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
+ m4aMPlayStop(gMPlayTable[i].info);
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ m4aMPlayStop(&gPokemonCryMusicPlayers[i]);
+}
+
+void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo)
+{
+ MPlayContinue(mplayInfo);
+}
+
+void m4aMPlayAllContinue(void)
+{
+ s32 i;
+
+ for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
+ MPlayContinue(gMPlayTable[i].info);
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ MPlayContinue(&gPokemonCryMusicPlayers[i]);
+}
+
+void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ MPlayFadeOut(mplayInfo, speed);
+}
+
+void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->fadeOC = speed;
+ mplayInfo->fadeOI = speed;
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT) | TEMPORARY_FADE;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->fadeOC = speed;
+ mplayInfo->fadeOI = speed;
+ mplayInfo->fadeOV = (0 << FADE_VOL_SHIFT) | FADE_IN;
+ mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo)
+{
+ s32 trackCount = mplayInfo->trackCount;
+ struct MusicPlayerTrack *track = mplayInfo->tracks;
+
+ while (trackCount > 0)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ if (track->flags & MPT_FLG_START)
+ {
+ Clear64byte(track);
+ track->flags = MPT_FLG_EXIST;
+ track->bendRange = 2;
+ track->volX = 64;
+ track->lfoSpeed = 22;
+ track->tone.type = 1;
+ }
+ }
+
+ trackCount--;
+ track++;
+ }
+}
+
+void MPlayExtender(struct CgbChannel *cgbChans)
+{
+ struct SoundInfo *soundInfo;
+ u32 ident;
+
+ REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
+ | SOUND_4_ON
+ | SOUND_3_ON
+ | SOUND_2_ON
+ | SOUND_1_ON;
+ REG_SOUNDCNT_L = 0; // set master volume to zero
+ REG_NR12 = 0x8;
+ REG_NR22 = 0x8;
+ REG_NR42 = 0x8;
+ REG_NR14 = 0x80;
+ REG_NR24 = 0x80;
+ REG_NR44 = 0x80;
+ REG_NR30 = 0;
+ REG_NR50 = 0x77;
+
+ soundInfo = SOUND_INFO_PTR;
+
+ ident = soundInfo->ident;
+
+ if (ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ gMPlayJumpTable[8] = ply_memacc;
+ gMPlayJumpTable[17] = ply_lfos;
+ gMPlayJumpTable[19] = ply_mod;
+ gMPlayJumpTable[28] = ply_xcmd;
+ gMPlayJumpTable[29] = ply_endtie;
+ gMPlayJumpTable[30] = SampleFreqSet;
+ gMPlayJumpTable[31] = TrackStop;
+ gMPlayJumpTable[32] = FadeOutBody;
+ gMPlayJumpTable[33] = TrkVolPitSet;
+
+ soundInfo->cgbChans = (struct CgbChannel *)cgbChans;
+ soundInfo->CgbSound = CgbSound;
+ soundInfo->CgbOscOff = CgbOscOff;
+ soundInfo->MidiKeyToCgbFreq = MidiKeyToCgbFreq;
+ soundInfo->maxLines = MAX_LINES;
+
+ CpuFill32(0, cgbChans, sizeof(struct CgbChannel) * 4);
+
+ cgbChans[0].ty = 1;
+ cgbChans[0].panMask = 0x11;
+ cgbChans[1].ty = 2;
+ cgbChans[1].panMask = 0x22;
+ cgbChans[2].ty = 3;
+ cgbChans[2].panMask = 0x44;
+ cgbChans[3].ty = 4;
+ cgbChans[3].panMask = 0x88;
+
+ soundInfo->ident = ident;
+}
+
+void MusicPlayerJumpTableCopy(void)
+{
+ asm("swi 0x2A");
+}
+
+void ClearChain(void *x)
+{
+ void (*func)(void *) = *(&gMPlayJumpTable[34]);
+ func(x);
+}
+
+void Clear64byte(void *x)
+{
+ void (*func)(void *) = *(&gMPlayJumpTable[35]);
+ func(x);
+}
+
+void SoundInit(struct SoundInfo *soundInfo)
+{
+ soundInfo->ident = 0;
+
+ if (REG_DMA1CNT & (DMA_REPEAT << 16))
+ REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ if (REG_DMA2CNT & (DMA_REPEAT << 16))
+ REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ REG_DMA1CNT_H = DMA_32BIT;
+ REG_DMA2CNT_H = DMA_32BIT;
+ REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
+ | SOUND_4_ON
+ | SOUND_3_ON
+ | SOUND_2_ON
+ | SOUND_1_ON;
+ REG_SOUNDCNT_H = SOUND_B_FIFO_RESET | SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
+ | SOUND_A_FIFO_RESET | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
+ | SOUND_ALL_MIX_FULL;
+ REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | 0x40;
+
+ REG_DMA1SAD = (s32)soundInfo->pcmBuffer;
+ REG_DMA1DAD = (s32)&REG_FIFO_A;
+ REG_DMA2SAD = (s32)soundInfo->pcmBuffer + PCM_DMA_BUF_SIZE;
+ REG_DMA2DAD = (s32)&REG_FIFO_B;
+
+ SOUND_INFO_PTR = soundInfo;
+ CpuFill32(0, soundInfo, sizeof(struct SoundInfo));
+
+ soundInfo->maxChans = 8;
+ soundInfo->masterVolume = 15;
+ soundInfo->plynote = (u32)ply_note;
+ soundInfo->CgbSound = DummyFunc;
+ soundInfo->CgbOscOff = (void (*)(u8))DummyFunc;
+ soundInfo->MidiKeyToCgbFreq = (u32 (*)(u8, u8, u8))DummyFunc;
+ soundInfo->ExtVolPit = (u32)DummyFunc;
+
+ MPlayJumpTableCopy(gMPlayJumpTable);
+
+ soundInfo->MPlayJumpTable = (u32)gMPlayJumpTable;
+
+ SampleFreqSet(SOUND_MODE_FREQ_13379);
+
+ soundInfo->ident = ID_NUMBER;
+}
+
+void SampleFreqSet(u32 freq)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ freq = (freq & 0xF0000) >> 16;
+ soundInfo->freq = freq;
+ soundInfo->pcmSamplesPerVBlank = gPcmSamplesPerVBlankTable[freq - 1];
+ soundInfo->pcmDmaPeriod = PCM_DMA_BUF_SIZE / soundInfo->pcmSamplesPerVBlank;
+
+ // LCD refresh rate 59.7275Hz
+ soundInfo->pcmFreq = (597275 * soundInfo->pcmSamplesPerVBlank + 5000) / 10000;
+
+ // CPU frequency 16.78Mhz
+ soundInfo->divFreq = (16777216 / soundInfo->pcmFreq + 1) >> 1;
+
+ // Turn off timer 0.
+ REG_TM0CNT_H = 0;
+
+ // cycles per LCD fresh 280896
+ REG_TM0CNT_L = -(280896 / soundInfo->pcmSamplesPerVBlank);
+
+ m4aSoundVSyncOn();
+
+ while (*(vu8 *)REG_ADDR_VCOUNT == 159)
+ ;
+
+ while (*(vu8 *)REG_ADDR_VCOUNT != 159)
+ ;
+
+ REG_TM0CNT_H = TIMER_ENABLE | TIMER_1CLK;
+}
+
+void m4aSoundMode(u32 mode)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ u32 temp;
+
+ if (soundInfo->ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ temp = mode & (SOUND_MODE_REVERB_SET | SOUND_MODE_REVERB_VAL);
+
+ if (temp)
+ soundInfo->reverb = temp & SOUND_MODE_REVERB_VAL;
+
+ temp = mode & SOUND_MODE_MAXCHN;
+
+ if (temp)
+ {
+ struct SoundChannel *chan;
+
+ soundInfo->maxChans = temp >> SOUND_MODE_MAXCHN_SHIFT;
+
+ temp = MAX_DIRECTSOUND_CHANNELS;
+ chan = &soundInfo->chans[0];
+
+ while (temp != 0)
+ {
+ chan->status = 0;
+ temp--;
+ chan++;
+ }
+ }
+
+ temp = mode & SOUND_MODE_MASVOL;
+
+ if (temp)
+ soundInfo->masterVolume = temp >> SOUND_MODE_MASVOL_SHIFT;
+
+ temp = mode & SOUND_MODE_DA_BIT;
+
+ if (temp)
+ {
+ temp = (temp & 0x300000) >> 14;
+ REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | temp;
+ }
+
+ temp = mode & SOUND_MODE_FREQ;
+
+ if (temp)
+ {
+ m4aSoundVSyncOff();
+ SampleFreqSet(temp);
+ }
+
+ soundInfo->ident = ID_NUMBER;
+}
+
+void SoundClear(void)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ s32 i;
+ void *chan;
+
+ if (soundInfo->ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ i = MAX_DIRECTSOUND_CHANNELS;
+ chan = &soundInfo->chans[0];
+
+ while (i > 0)
+ {
+ ((struct SoundChannel *)chan)->status = 0;
+ i--;
+ chan = (void *)((s32)chan + sizeof(struct SoundChannel));
+ }
+
+ chan = soundInfo->cgbChans;
+
+ if (chan)
+ {
+ i = 1;
+
+ while (i <= 4)
+ {
+ soundInfo->CgbOscOff(i);
+ ((struct CgbChannel *)chan)->sf = 0;
+ i++;
+ chan = (void *)((s32)chan + sizeof(struct CgbChannel));
+ }
+ }
+
+ soundInfo->ident = ID_NUMBER;
+}
+
+void m4aSoundVSyncOff(void)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if (soundInfo->ident >= ID_NUMBER && soundInfo->ident <= ID_NUMBER + 1)
+ {
+ soundInfo->ident += 10;
+
+ if (REG_DMA1CNT & (DMA_REPEAT << 16))
+ REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ if (REG_DMA2CNT & (DMA_REPEAT << 16))
+ REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
+
+ REG_DMA1CNT_H = DMA_32BIT;
+ REG_DMA2CNT_H = DMA_32BIT;
+
+ CpuFill32(0, soundInfo->pcmBuffer, sizeof(soundInfo->pcmBuffer));
+ }
+}
+
+void m4aSoundVSyncOn(void)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ u32 ident = soundInfo->ident;
+
+ if (ident == ID_NUMBER)
+ return;
+
+ REG_DMA1CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
+ REG_DMA2CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
+
+ soundInfo->pcmDmaCounter = 0;
+ soundInfo->ident = ident - 10;
+}
+
+void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *tracks, u8 trackCount)
+{
+ struct SoundInfo *soundInfo;
+
+ if (trackCount == 0)
+ return;
+
+ if (trackCount > MAX_MUSICPLAYER_TRACKS)
+ trackCount = MAX_MUSICPLAYER_TRACKS;
+
+ soundInfo = SOUND_INFO_PTR;
+
+ if (soundInfo->ident != ID_NUMBER)
+ return;
+
+ soundInfo->ident++;
+
+ Clear64byte(mplayInfo);
+
+ mplayInfo->tracks = tracks;
+ mplayInfo->trackCount = trackCount;
+ mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
+
+ while (trackCount != 0)
+ {
+ tracks->flags = 0;
+ trackCount--;
+ tracks++;
+ }
+
+ if (soundInfo->func != 0)
+ {
+ mplayInfo->func = soundInfo->func;
+ mplayInfo->intp = soundInfo->intp;
+ soundInfo->func = 0;
+ }
+
+ soundInfo->intp = (u32)mplayInfo;
+ soundInfo->func = (u32)MPlayMain;
+ soundInfo->ident = ID_NUMBER;
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader)
+{
+ s32 i;
+ u8 unk_B;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ unk_B = mplayInfo->unk_B;
+
+ if (!unk_B
+ || ((!mplayInfo->songHeader || !(mplayInfo->tracks[0].flags & MPT_FLG_START))
+ && ((mplayInfo->status & MUSICPLAYER_STATUS_TRACK) == 0
+ || (mplayInfo->status & MUSICPLAYER_STATUS_PAUSE)))
+ || (mplayInfo->priority <= songHeader->priority))
+ {
+ mplayInfo->ident++;
+ mplayInfo->status = 0;
+ mplayInfo->songHeader = songHeader;
+ mplayInfo->tone = songHeader->tone;
+ mplayInfo->priority = songHeader->priority;
+ mplayInfo->clock = 0;
+ mplayInfo->tempoD = 150;
+ mplayInfo->tempoI = 150;
+ mplayInfo->tempoU = 0x100;
+ mplayInfo->tempoC = 0;
+ mplayInfo->fadeOI = 0;
+
+ i = 0;
+ track = mplayInfo->tracks;
+
+ while (i < songHeader->trackCount && i < mplayInfo->trackCount)
+ {
+ TrackStop(mplayInfo, track);
+ track->flags = MPT_FLG_EXIST | MPT_FLG_START;
+ track->chan = 0;
+ track->cmdPtr = songHeader->part[i];
+ i++;
+ track++;
+ }
+
+ while (i < mplayInfo->trackCount)
+ {
+ TrackStop(mplayInfo, track);
+ track->flags = 0;
+ i++;
+ track++;
+ }
+
+ if (songHeader->reverb & 0x80)
+ m4aSoundMode(songHeader->reverb);
+
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo)
+{
+ s32 i;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+ mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+
+ while (i > 0)
+ {
+ TrackStop(mplayInfo, track);
+ i--;
+ track++;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void FadeOutBody(struct MusicPlayerInfo *mplayInfo)
+{
+ s32 i;
+ struct MusicPlayerTrack *track;
+ u16 fadeOV;
+#ifdef NONMATCHING
+ u16 mask;
+#else
+ register u16 mask asm("r2");
+#endif // NONMATCHING
+
+ if (mplayInfo->fadeOI == 0)
+ return;
+
+ mplayInfo->fadeOC--;
+ mask = 0xFFFF;
+
+ if (mplayInfo->fadeOC != 0)
+ return;
+
+ mplayInfo->fadeOC = mplayInfo->fadeOI;
+
+ if (mplayInfo->fadeOV & FADE_IN)
+ {
+ mplayInfo->fadeOV += (4 << FADE_VOL_SHIFT);
+
+ if ((u16)(mplayInfo->fadeOV & mask) >= (64 << FADE_VOL_SHIFT))
+ {
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
+ mplayInfo->fadeOI = 0;
+ }
+ }
+ else
+ {
+ mplayInfo->fadeOV -= (4 << FADE_VOL_SHIFT);
+
+ if ((s16)(mplayInfo->fadeOV & mask) <= 0)
+ {
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+
+ while (i > 0)
+ {
+ u32 val;
+
+ TrackStop(mplayInfo, track);
+
+ val = TEMPORARY_FADE;
+ fadeOV = mplayInfo->fadeOV;
+ val &= fadeOV;
+
+ if (!val)
+ track->flags = 0;
+
+ i--;
+ track++;
+ }
+
+ if (mplayInfo->fadeOV & TEMPORARY_FADE)
+ mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
+ else
+ mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
+
+ mplayInfo->fadeOI = 0;
+ return;
+ }
+ }
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+
+ while (i > 0)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ fadeOV = mplayInfo->fadeOV;
+
+ track->volX = (fadeOV >> FADE_VOL_SHIFT);
+ track->flags |= MPT_FLG_VOLCHG;
+ }
+
+ i--;
+ track++;
+ }
+}
+
+void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ if (track->flags & MPT_FLG_VOLSET)
+ {
+ s32 x;
+ s32 y;
+
+ x = (u32)(track->vol * track->volX) >> 5;
+
+ if (track->modT == 1)
+ x = (u32)(x * (track->modM + 128)) >> 7;
+
+ y = 2 * track->pan + track->panX;
+
+ if (track->modT == 2)
+ y += track->modM;
+
+ if (y < -128)
+ y = -128;
+ else if (y > 127)
+ y = 127;
+
+ track->volMR = (u32)((y + 128) * x) >> 8;
+ track->volML = (u32)((127 - y) * x) >> 8;
+ }
+
+ if (track->flags & MPT_FLG_PITSET)
+ {
+ s32 bend = track->bend * track->bendRange;
+ s32 x = (track->tune + bend)
+ * 4
+ + (track->keyShift << 8)
+ + (track->keyShiftX << 8)
+ + track->pitX;
+
+ if (track->modT == 0)
+ x += 16 * track->modM;
+
+ track->keyM = x >> 8;
+ track->pitM = x;
+ }
+
+ track->flags &= ~(MPT_FLG_PITSET | MPT_FLG_VOLSET);
+}
+
+u32 MidiKeyToCgbFreq(u8 chanNum, u8 key, u8 fineAdjust)
+{
+ if (chanNum == 4)
+ {
+ if (key <= 20)
+ {
+ key = 0;
+ }
+ else
+ {
+ key -= 21;
+ if (key > 59)
+ key = 59;
+ }
+
+ return gNoiseTable[key];
+ }
+ else
+ {
+ s32 val1;
+ s32 val2;
+
+ if (key <= 35)
+ {
+ fineAdjust = 0;
+ key = 0;
+ }
+ else
+ {
+ key -= 36;
+ if (key > 130)
+ {
+ key = 130;
+ fineAdjust = 255;
+ }
+ }
+
+ val1 = gCgbScaleTable[key];
+ val1 = gCgbFreqTable[val1 & 0xF] >> (val1 >> 4);
+
+ val2 = gCgbScaleTable[key + 1];
+ val2 = gCgbFreqTable[val2 & 0xF] >> (val2 >> 4);
+
+ return val1 + ((fineAdjust * (val2 - val1)) >> 8) + 2048;
+ }
+}
+
+void CgbOscOff(u8 chanNum)
+{
+ switch (chanNum)
+ {
+ case 1:
+ REG_NR12 = 8;
+ REG_NR14 = 0x80;
+ break;
+ case 2:
+ REG_NR22 = 8;
+ REG_NR24 = 0x80;
+ break;
+ case 3:
+ REG_NR30 = 0;
+ break;
+ default:
+ REG_NR42 = 8;
+ REG_NR44 = 0x80;
+ }
+}
+
+static inline int CgbPan(struct CgbChannel *chan)
+{
+ u32 rightVolume = chan->rightVolume;
+ u32 leftVolume = chan->leftVolume;
+
+ if ((rightVolume = (u8)rightVolume) >= (leftVolume = (u8)leftVolume))
+ {
+ if (rightVolume / 2 >= leftVolume)
+ {
+ chan->pan = 0x0F;
+ return 1;
+ }
+ }
+ else
+ {
+ if (leftVolume / 2 >= rightVolume)
+ {
+ chan->pan = 0xF0;
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
+void CgbModVol(struct CgbChannel *chan)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if ((soundInfo->mode & 1) || !CgbPan(chan))
+ {
+ chan->pan = 0xFF;
+ chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
+ }
+ else
+ {
+ // Force chan->rightVolume and chan->leftVolume to be read from memory again,
+ // even though there is no reason to do so.
+ // The command line option "-fno-gcse" achieves the same result as this.
+ asm("" : : : "memory");
+
+ chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
+ if (chan->eg > 15)
+ chan->eg = 15;
+ }
+
+ chan->sg = (chan->eg * chan->su + 15) >> 4;
+ chan->pan &= chan->panMask;
+}
+
+void CgbSound(void)
+{
+ s32 ch;
+ struct CgbChannel *channels;
+ s32 evAdd;
+ s32 prevC15;
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+ vu8 *nrx0ptr;
+ vu8 *nrx1ptr;
+ vu8 *nrx2ptr;
+ vu8 *nrx3ptr;
+ vu8 *nrx4ptr;
+
+ // Most comparision operations that cast to s8 perform 'and' by 0xFF.
+ int mask = 0xff;
+
+ if (soundInfo->c15)
+ soundInfo->c15--;
+ else
+ soundInfo->c15 = 14;
+
+ for (ch = 1, channels = soundInfo->cgbChans; ch <= 4; ch++, channels++)
+ {
+ if (!(channels->sf & 0xc7))
+ continue;
+
+ switch (ch)
+ {
+ case 1:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR10);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR11);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR12);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR13);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR14);
+ break;
+ case 2:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR10+1);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR21);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR22);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR23);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR24);
+ break;
+ case 3:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR30);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR31);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR32);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR33);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR34);
+ break;
+ default:
+ nrx0ptr = (vu8 *)(REG_ADDR_NR30+1);
+ nrx1ptr = (vu8 *)(REG_ADDR_NR41);
+ nrx2ptr = (vu8 *)(REG_ADDR_NR42);
+ nrx3ptr = (vu8 *)(REG_ADDR_NR43);
+ nrx4ptr = (vu8 *)(REG_ADDR_NR44);
+ break;
+ }
+
+ prevC15 = soundInfo->c15;
+ evAdd = *nrx2ptr;
+
+ if (channels->sf & 0x80)
+ {
+ if (!(channels->sf & 0x40))
+ {
+ channels->sf = 3;
+ channels->mo = 3;
+ CgbModVol(channels);
+ switch (ch)
+ {
+ case 1:
+ *nrx0ptr = channels->sw;
+ // fallthrough
+ case 2:
+ *nrx1ptr = ((u32)channels->wp << 6) + channels->le;
+ goto loc_82E0E30;
+ case 3:
+ if ((u32)channels->wp != channels->cp)
+ {
+ *nrx0ptr = 0x40;
+ REG_WAVE_RAM0 = channels->wp[0];
+ REG_WAVE_RAM1 = channels->wp[1];
+ REG_WAVE_RAM2 = channels->wp[2];
+ REG_WAVE_RAM3 = channels->wp[3];
+ channels->cp = (u32)channels->wp;
+ }
+ *nrx0ptr = 0;
+ *nrx1ptr = channels->le;
+ if (channels->le)
+ channels->n4 = -64;
+ else
+ channels->n4 = -128;
+ break;
+ default:
+ *nrx1ptr = channels->le;
+ *nrx3ptr = (u32)channels->wp << 3;
+ loc_82E0E30:
+ evAdd = channels->at + 8;
+ if (channels->le)
+ channels->n4 = 64;
+ else
+ channels->n4 = 0;
+ break;
+ }
+ channels->ec = channels->at;
+ if ((s8)(channels->at & mask))
+ {
+ channels->ev = 0;
+ goto EC_MINUS;
+ }
+ else
+ {
+ goto loc_82E0F96;
+ }
+ }
+ else
+ {
+ goto loc_82E0E82;
+ }
+ }
+ else if (channels->sf & 0x04)
+ {
+ channels->echoLength--;
+ if ((s8)(channels->echoLength & mask) <= 0)
+ {
+ loc_82E0E82:
+ CgbOscOff(ch);
+ channels->sf = 0;
+ goto LAST_LABEL;
+ }
+ goto loc_82E0FD6;
+ }
+ else if ((channels->sf & 0x40) && (channels->sf & 0x03))
+ {
+ channels->sf &= 0xfc;
+ channels->ec = channels->re;
+ if ((s8)(channels->re & mask))
+ {
+ channels->mo |= 1;
+ if (ch != 3)
+ {
+ evAdd = channels->re;
+ }
+ goto EC_MINUS;
+ }
+ else
+ {
+ goto loc_82E0F02;
+ }
+ }
+ else
+ {
+ loc_82E0ED0:
+ if (channels->ec == 0)
+ {
+ if (ch == 3)
+ {
+ channels->mo |= 1;
+ }
+ CgbModVol(channels);
+ if ((channels->sf & 0x3) == 0)
+ {
+ channels->ev--;
+ if ((s8)(channels->ev & mask) <= 0)
+ {
+ loc_82E0F02:
+ channels->ev = ((channels->eg * channels->echoVolume) + 0xFF) >> 8;
+ if (channels->ev)
+ {
+ channels->sf |= 0x4;
+ channels->mo |= 1;
+ if (ch != 3)
+ {
+ evAdd = 8;
+ }
+ goto loc_82E0FD6;
+ }
+ else
+ {
+ goto loc_82E0E82;
+ }
+ }
+ else
+ {
+ channels->ec = channels->re;
+ }
+ }
+ else if ((channels->sf & 0x3) == 1)
+ {
+ loc_82E0F3A:
+ channels->ev = channels->sg;
+ channels->ec = 7;
+ }
+ else if ((channels->sf & 0x3) == 2)
+ {
+ int ev, sg;
+
+ channels->ev--;
+ ev = (s8)(channels->ev & mask);
+ sg = (s8)(channels->sg);
+ if (ev <= sg)
+ {
+ loc_82E0F5A:
+ if (channels->su == 0)
+ {
+ channels->sf &= 0xfc;
+ goto loc_82E0F02;
+ }
+ else
+ {
+ channels->sf--;
+ channels->mo |= 1;
+ if (ch != 3)
+ {
+ evAdd = 8;
+ }
+ goto loc_82E0F3A;
+ }
+ }
+ else
+ {
+ channels->ec = channels->de;
+ }
+ }
+ else
+ {
+ channels->ev++;
+ if ((u8)(channels->ev & mask) >= channels->eg)
+ {
+ loc_82E0F96:
+ channels->sf--;
+ channels->ec = channels->de;
+ if ((u8)(channels->ec & mask))
+ {
+ channels->mo |= 1;
+ channels->ev = channels->eg;
+ if (ch != 3)
+ {
+ evAdd = channels->de;
+ }
+ }
+ else
+ {
+ goto loc_82E0F5A;
+ }
+ }
+ else
+ {
+ channels->ec = channels->at;
+ }
+ }
+ }
+ }
+
+ EC_MINUS:
+ channels->ec--;
+ if (prevC15 == 0)
+ {
+ prevC15--;
+ goto loc_82E0ED0;
+ }
+
+ loc_82E0FD6:
+ if (channels->mo & 0x2)
+ {
+ if (ch < 4 && (channels->ty & 0x08))
+ {
+ int biasH = REG_SOUNDBIAS_H;
+
+ if (biasH < 64)
+ {
+ channels->fr = (channels->fr + 2) & 0x7fc;
+ }
+ else if (biasH < 128)
+ {
+ channels->fr = (channels->fr + 1) & 0x7fe;
+ }
+ }
+ if (ch != 4)
+ {
+ *nrx3ptr = channels->fr;
+ }
+ else
+ {
+ *nrx3ptr = (*nrx3ptr & 0x08) | channels->fr;
+ }
+ channels->n4 = (channels->n4 & 0xC0) + (*((u8*)(&channels->fr) + 1));
+ *nrx4ptr = (s8)(channels->n4 & mask);
+ }
+
+ if (channels->mo & 1)
+ {
+ REG_NR51 = (REG_NR51 & ~channels->panMask) | channels->pan;
+ if (ch == 3)
+ {
+ *nrx2ptr = gCgb3Vol[channels->ev];
+ if (channels->n4 & 0x80)
+ {
+ *nrx0ptr = 0x80;
+ *nrx4ptr = channels->n4;
+ channels->n4 &= 0x7f;
+ }
+ }
+ else
+ {
+ evAdd &= 0xf;
+ *nrx2ptr = (channels->ev << 4) + evAdd;
+ *nrx4ptr = channels->n4 | 0x80;
+ if (ch == 1 && !(*nrx0ptr & 0x08))
+ {
+ *nrx4ptr = channels->n4 | 0x80;
+ }
+ }
+ }
+
+ LAST_LABEL:
+ channels->mo = 0;
+ }
+}
+
+void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo)
+{
+ if (mplayInfo->ident == ID_NUMBER)
+ {
+ mplayInfo->ident++;
+ mplayInfo->tempoU = tempo;
+ mplayInfo->tempoI = (mplayInfo->tempoD * mplayInfo->tempoU) >> 8;
+ mplayInfo->ident = ID_NUMBER;
+ }
+}
+
+void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->volX = volume / 4;
+ track->flags |= MPT_FLG_VOLCHG;
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->keyShiftX = pitch >> 8;
+ track->pitX = pitch;
+ track->flags |= MPT_FLG_PITCHG;
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->panX = pan;
+ track->flags |= MPT_FLG_VOLCHG;
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void ClearModM(struct MusicPlayerTrack *track)
+{
+ track->lfoSpeedC = 0;
+ track->modM = 0;
+
+ if (track->modT == 0)
+ track->flags |= MPT_FLG_PITCHG;
+ else
+ track->flags |= MPT_FLG_VOLCHG;
+}
+
+void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->mod = modDepth;
+
+ if (!track->mod)
+ ClearModM(track);
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed)
+{
+ s32 i;
+ u32 bit;
+ struct MusicPlayerTrack *track;
+
+ if (mplayInfo->ident != ID_NUMBER)
+ return;
+
+ mplayInfo->ident++;
+
+ i = mplayInfo->trackCount;
+ track = mplayInfo->tracks;
+ bit = 1;
+
+ while (i > 0)
+ {
+ if (trackBits & bit)
+ {
+ if (track->flags & MPT_FLG_EXIST)
+ {
+ track->lfoSpeed = lfoSpeed;
+
+ if (!track->lfoSpeed)
+ ClearModM(track);
+ }
+ }
+
+ i--;
+ track++;
+ bit <<= 1;
+ }
+
+ mplayInfo->ident = ID_NUMBER;
+}
+
+#define MEMACC_COND_JUMP(cond) \
+if (cond) \
+ goto cond_true; \
+else \
+ goto cond_false; \
+
+void ply_memacc(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 op;
+ u8 *addr;
+ u8 data;
+
+ op = *track->cmdPtr;
+ track->cmdPtr++;
+
+ addr = mplayInfo->memAccArea + *track->cmdPtr;
+ track->cmdPtr++;
+
+ data = *track->cmdPtr;
+ track->cmdPtr++;
+
+ switch (op)
+ {
+ case 0:
+ *addr = data;
+ return;
+ case 1:
+ *addr += data;
+ return;
+ case 2:
+ *addr -= data;
+ return;
+ case 3:
+ *addr = mplayInfo->memAccArea[data];
+ return;
+ case 4:
+ *addr += mplayInfo->memAccArea[data];
+ return;
+ case 5:
+ *addr -= mplayInfo->memAccArea[data];
+ return;
+ case 6:
+ MEMACC_COND_JUMP(*addr == data)
+ return;
+ case 7:
+ MEMACC_COND_JUMP(*addr != data)
+ return;
+ case 8:
+ MEMACC_COND_JUMP(*addr > data)
+ return;
+ case 9:
+ MEMACC_COND_JUMP(*addr >= data)
+ return;
+ case 10:
+ MEMACC_COND_JUMP(*addr <= data)
+ return;
+ case 11:
+ MEMACC_COND_JUMP(*addr < data)
+ return;
+ case 12:
+ MEMACC_COND_JUMP(*addr == mplayInfo->memAccArea[data])
+ return;
+ case 13:
+ MEMACC_COND_JUMP(*addr != mplayInfo->memAccArea[data])
+ return;
+ case 14:
+ MEMACC_COND_JUMP(*addr > mplayInfo->memAccArea[data])
+ return;
+ case 15:
+ MEMACC_COND_JUMP(*addr >= mplayInfo->memAccArea[data])
+ return;
+ case 16:
+ MEMACC_COND_JUMP(*addr <= mplayInfo->memAccArea[data])
+ return;
+ case 17:
+ MEMACC_COND_JUMP(*addr < mplayInfo->memAccArea[data])
+ return;
+ default:
+ return;
+ }
+
+cond_true:
+ {
+ void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[1]);
+ func(mplayInfo, track);
+ return;
+ }
+
+cond_false:
+ track->cmdPtr += 4;
+}
+
+void ply_xcmd(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 n = *track->cmdPtr;
+ track->cmdPtr++;
+
+ gXcmdTable[n](mplayInfo, track);
+}
+
+void ply_xxx(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[0]);
+ func(mplayInfo, track);
+}
+
+#define READ_XCMD_BYTE(var, n) \
+{ \
+ u32 byte = track->cmdPtr[(n)]; \
+ byte <<= n * 8; \
+ (var) &= ~(0xFF << (n * 8)); \
+ (var) |= byte; \
+}
+
+void ply_xwave(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 wav;
+
+ READ_XCMD_BYTE(wav, 0) // UB: uninitialized variable
+ READ_XCMD_BYTE(wav, 1)
+ READ_XCMD_BYTE(wav, 2)
+ READ_XCMD_BYTE(wav, 3)
+
+ track->tone.wav = (struct WaveData *)wav;
+ track->cmdPtr += 4;
+}
+
+void ply_xtype(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.type = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xatta(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.attack = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xdeca(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.decay = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xsust(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.sustain = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xrele(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.release = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xiecv(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->echoVolume = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xiecl(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->echoLength = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xleng(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.length = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xswee(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ track->tone.pan_sweep = *track->cmdPtr;
+ track->cmdPtr++;
+}
+
+void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 unk;
+
+ READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
+ READ_XCMD_BYTE(unk, 1)
+
+ if (track->unk_3A < (u16)unk)
+ {
+ track->unk_3A++;
+ track->cmdPtr -= 2;
+ track->wait = 1;
+ }
+ else
+ {
+ track->unk_3A = 0;
+ track->cmdPtr += 2;
+ }
+}
+
+void ply_xcmd_0D(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
+{
+ u32 unk;
+
+ READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
+ READ_XCMD_BYTE(unk, 1)
+ READ_XCMD_BYTE(unk, 2)
+ READ_XCMD_BYTE(unk, 3)
+
+ track->unk_3C = unk;
+ track->cmdPtr += 4;
+}
+
+void DummyFunc(void)
+{
+}
+
+struct MusicPlayerInfo *SetPokemonCryTone(struct ToneData *tone)
+{
+ u32 maxClock = 0;
+ s32 maxClockIndex = 0;
+ s32 i;
+ struct MusicPlayerInfo *mplayInfo;
+
+ for (i = 0; i < MAX_POKEMON_CRIES; i++)
+ {
+ struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
+
+ if (!track->flags && (!track->chan || track->chan->track != track))
+ goto start_song;
+
+ if (maxClock < gPokemonCryMusicPlayers[i].clock)
+ {
+ maxClock = gPokemonCryMusicPlayers[i].clock;
+ maxClockIndex = i;
+ }
+ }
+
+ i = maxClockIndex;
+
+start_song:
+ mplayInfo = &gPokemonCryMusicPlayers[i];
+ mplayInfo->ident++;
+
+#define CRY ((s32)&gPokemonCrySongs + i * sizeof(struct PokemonCrySong))
+#define CRY_OFS(field) offsetof(struct PokemonCrySong, field)
+
+ memcpy((void *)CRY, &gPokemonCrySong, sizeof(struct PokemonCrySong));
+
+ *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone;
+ *(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0);
+ *(u32 *)(CRY + CRY_OFS(part) + 4) = CRY + CRY_OFS(part1);
+ *(u32 *)(CRY + CRY_OFS(gotoTarget)) = CRY + CRY_OFS(cont);
+
+#undef CRY_OFS
+#undef CRY
+
+ mplayInfo->ident = ID_NUMBER;
+
+ MPlayStart(mplayInfo, (struct SongHeader *)(&gPokemonCrySongs[i]));
+
+ return mplayInfo;
+}
+
+void SetPokemonCryVolume(u8 val)
+{
+ gPokemonCrySong.volumeValue = val & 0x7F;
+}
+
+void SetPokemonCryPanpot(s8 val)
+{
+ gPokemonCrySong.panValue = (val + C_V) & 0x7F;
+}
+
+void SetPokemonCryPitch(s16 val)
+{
+ s16 b = val + 0x80;
+ u8 a = gPokemonCrySong.tuneValue2 - gPokemonCrySong.tuneValue;
+ gPokemonCrySong.tieKeyValue = (b >> 8) & 0x7F;
+ gPokemonCrySong.tuneValue = (b >> 1) & 0x7F;
+ gPokemonCrySong.tuneValue2 = (a + ((b >> 1) & 0x7F)) & 0x7F;
+}
+
+void SetPokemonCryLength(u16 val)
+{
+ gPokemonCrySong.unkCmd0CParam = val;
+}
+
+void SetPokemonCryRelease(u8 val)
+{
+ gPokemonCrySong.releaseValue = val;
+}
+
+void SetPokemonCryProgress(u32 val)
+{
+ gPokemonCrySong.unkCmd0DParam = val;
+}
+
+int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo)
+{
+ struct MusicPlayerTrack *track = mplayInfo->tracks;
+
+ if (track->chan && track->chan->track == track)
+ return 1;
+ else
+ return 0;
+}
+
+void SetPokemonCryChorus(s8 val)
+{
+ if (val)
+ {
+ gPokemonCrySong.trackCount = 2;
+ gPokemonCrySong.tuneValue2 = (val + gPokemonCrySong.tuneValue) & 0x7F;
+ }
+ else
+ {
+ gPokemonCrySong.trackCount = 1;
+ }
+}
+
+void SetPokemonCryStereo(u32 val)
+{
+ struct SoundInfo *soundInfo = SOUND_INFO_PTR;
+
+ if (val)
+ {
+ REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
+ | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
+ | SOUND_ALL_MIX_FULL;
+ soundInfo->mode &= ~1;
+ }
+ else
+ {
+ REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT | SOUND_B_RIGHT_OUTPUT
+ | SOUND_A_TIMER_0 | SOUND_A_LEFT_OUTPUT | SOUND_A_RIGHT_OUTPUT
+ | SOUND_B_MIX_HALF | SOUND_A_MIX_HALF | SOUND_CGB_MIX_FULL;
+ soundInfo->mode |= 1;
+ }
+}
+
+void SetPokemonCryPriority(u8 val)
+{
+ gPokemonCrySong.priority = val;
+}
diff --git a/src/m4a_2.c b/src/m4a_2.c
deleted file mode 100644
index 0625f05d1..000000000
--- a/src/m4a_2.c
+++ /dev/null
@@ -1,912 +0,0 @@
-#include "gba/m4a_internal.h"
-
-#define BSS_CODE __attribute__((section(".bss.code")))
-
-BSS_CODE ALIGNED(4) char SoundMainRAM_Buffer[0x800] = {0};
-
-struct SoundInfo gSoundInfo;
-struct PokemonCrySong gPokemonCrySongs[MAX_POKEMON_CRIES];
-struct MusicPlayerInfo gPokemonCryMusicPlayers[MAX_POKEMON_CRIES];
-void *gMPlayJumpTable[36];
-struct CgbChannel gCgbChans[4];
-struct MusicPlayerTrack gPokemonCryTracks[MAX_POKEMON_CRIES * 2];
-struct PokemonCrySong gPokemonCrySong;
-struct MusicPlayerInfo gMPlayInfo_BGM;
-struct MusicPlayerInfo gMPlayInfo_SE1;
-struct MusicPlayerInfo gMPlayInfo_SE2;
-struct MusicPlayerInfo gMPlayInfo_SE3;
-u8 gMPlayMemAccArea[0x10];
-
-u32 MidiKeyToFreq(struct WaveData *wav, u8 key, u8 fineAdjust)
-{
- u32 val1;
- u32 val2;
- u32 fineAdjustShifted = fineAdjust << 24;
-
- if (key > 178)
- {
- key = 178;
- fineAdjustShifted = 255 << 24;
- }
-
- val1 = gScaleTable[key];
- val1 = gFreqTable[val1 & 0xF] >> (val1 >> 4);
-
- val2 = gScaleTable[key + 1];
- val2 = gFreqTable[val2 & 0xF] >> (val2 >> 4);
-
- return umul3232H32(wav->freq, val1 + umul3232H32(val2 - val1, fineAdjustShifted));
-}
-
-void UnusedDummyFunc()
-{
-}
-
-void MPlayContinue(struct MusicPlayerInfo *mplayInfo)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void MPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->fadeOC = speed;
- mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aSoundInit(void)
-{
- s32 i;
-
- CpuCopy32((void *)((s32)SoundMainRAM & ~1), SoundMainRAM_Buffer, sizeof(SoundMainRAM_Buffer));
-
- SoundInit(&gSoundInfo);
- MPlayExtender(gCgbChans);
- m4aSoundMode(SOUND_MODE_DA_BIT_8
- | SOUND_MODE_FREQ_13379
- | (12 << SOUND_MODE_MASVOL_SHIFT)
- | (5 << SOUND_MODE_MAXCHN_SHIFT));
-
- for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- {
- struct MusicPlayerInfo *mplayInfo = gMPlayTable[i].info;
- MPlayOpen(mplayInfo, gMPlayTable[i].track, gMPlayTable[i].unk_8);
- mplayInfo->unk_B = gMPlayTable[i].unk_A;
- mplayInfo->memAccArea = gMPlayMemAccArea;
- }
-
- memcpy(&gPokemonCrySong, &gPokemonCrySongTemplate, sizeof(struct PokemonCrySong));
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- {
- struct MusicPlayerInfo *mplayInfo = &gPokemonCryMusicPlayers[i];
- struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
- MPlayOpen(mplayInfo, track, 2);
- track->chan = 0;
- }
-}
-
-void m4aSoundMain(void)
-{
- SoundMain();
-}
-
-void m4aSongNumStart(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- MPlayStart(mplay->info, song->header);
-}
-
-void m4aSongNumStartOrChange(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader != song->header)
- {
- MPlayStart(mplay->info, song->header);
- }
- else
- {
- if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0
- || (mplay->info->status & MUSICPLAYER_STATUS_PAUSE))
- {
- MPlayStart(mplay->info, song->header);
- }
- }
-}
-
-void m4aSongNumStartOrContinue(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader != song->header)
- MPlayStart(mplay->info, song->header);
- else if ((mplay->info->status & MUSICPLAYER_STATUS_TRACK) == 0)
- MPlayStart(mplay->info, song->header);
- else if (mplay->info->status & MUSICPLAYER_STATUS_PAUSE)
- MPlayContinue(mplay->info);
-}
-
-void m4aSongNumStop(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader == song->header)
- m4aMPlayStop(mplay->info);
-}
-
-void m4aSongNumContinue(u16 n)
-{
- const struct MusicPlayer *mplayTable = gMPlayTable;
- const struct Song *songTable = gSongTable;
- const struct Song *song = &songTable[n];
- const struct MusicPlayer *mplay = &mplayTable[song->ms];
-
- if (mplay->info->songHeader == song->header)
- MPlayContinue(mplay->info);
-}
-
-void m4aMPlayAllStop(void)
-{
- s32 i;
-
- for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- m4aMPlayStop(gMPlayTable[i].info);
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- m4aMPlayStop(&gPokemonCryMusicPlayers[i]);
-}
-
-void m4aMPlayContinue(struct MusicPlayerInfo *mplayInfo)
-{
- MPlayContinue(mplayInfo);
-}
-
-void m4aMPlayAllContinue(void)
-{
- s32 i;
-
- for (i = 0; i < NUM_MUSIC_PLAYERS; i++)
- MPlayContinue(gMPlayTable[i].info);
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- MPlayContinue(&gPokemonCryMusicPlayers[i]);
-}
-
-void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- MPlayFadeOut(mplayInfo, speed);
-}
-
-void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->fadeOC = speed;
- mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT) | TEMPORARY_FADE;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->fadeOC = speed;
- mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (0 << FADE_VOL_SHIFT) | FADE_IN;
- mplayInfo->status &= ~MUSICPLAYER_STATUS_PAUSE;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayImmInit(struct MusicPlayerInfo *mplayInfo)
-{
- s32 trackCount = mplayInfo->trackCount;
- struct MusicPlayerTrack *track = mplayInfo->tracks;
-
- while (trackCount > 0)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- if (track->flags & MPT_FLG_START)
- {
- Clear64byte(track);
- track->flags = MPT_FLG_EXIST;
- track->bendRange = 2;
- track->volX = 64;
- track->lfoSpeed = 22;
- track->tone.type = 1;
- }
- }
-
- trackCount--;
- track++;
- }
-}
-
-void MPlayExtender(struct CgbChannel *cgbChans)
-{
- struct SoundInfo *soundInfo;
- u32 ident;
-
- REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
- | SOUND_4_ON
- | SOUND_3_ON
- | SOUND_2_ON
- | SOUND_1_ON;
- REG_SOUNDCNT_L = 0; // set master volume to zero
- REG_NR12 = 0x8;
- REG_NR22 = 0x8;
- REG_NR42 = 0x8;
- REG_NR14 = 0x80;
- REG_NR24 = 0x80;
- REG_NR44 = 0x80;
- REG_NR30 = 0;
- REG_NR50 = 0x77;
-
- soundInfo = SOUND_INFO_PTR;
-
- ident = soundInfo->ident;
-
- if (ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- gMPlayJumpTable[8] = ply_memacc;
- gMPlayJumpTable[17] = ply_lfos;
- gMPlayJumpTable[19] = ply_mod;
- gMPlayJumpTable[28] = ply_xcmd;
- gMPlayJumpTable[29] = ply_endtie;
- gMPlayJumpTable[30] = SampleFreqSet;
- gMPlayJumpTable[31] = TrackStop;
- gMPlayJumpTable[32] = FadeOutBody;
- gMPlayJumpTable[33] = TrkVolPitSet;
-
- soundInfo->cgbChans = (struct CgbChannel *)cgbChans;
- soundInfo->CgbSound = CgbSound;
- soundInfo->CgbOscOff = CgbOscOff;
- soundInfo->MidiKeyToCgbFreq = MidiKeyToCgbFreq;
- soundInfo->maxLines = MAX_LINES;
-
- CpuFill32(0, cgbChans, sizeof(struct CgbChannel) * 4);
-
- cgbChans[0].ty = 1;
- cgbChans[0].panMask = 0x11;
- cgbChans[1].ty = 2;
- cgbChans[1].panMask = 0x22;
- cgbChans[2].ty = 3;
- cgbChans[2].panMask = 0x44;
- cgbChans[3].ty = 4;
- cgbChans[3].panMask = 0x88;
-
- soundInfo->ident = ident;
-}
-
-void MusicPlayerJumpTableCopy(void)
-{
- asm("swi 0x2A");
-}
-
-void ClearChain(void *x)
-{
- void (*func)(void *) = *(&gMPlayJumpTable[34]);
- func(x);
-}
-
-void Clear64byte(void *x)
-{
- void (*func)(void *) = *(&gMPlayJumpTable[35]);
- func(x);
-}
-
-void SoundInit(struct SoundInfo *soundInfo)
-{
- soundInfo->ident = 0;
-
- if (REG_DMA1CNT & (DMA_REPEAT << 16))
- REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- if (REG_DMA2CNT & (DMA_REPEAT << 16))
- REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- REG_DMA1CNT_H = DMA_32BIT;
- REG_DMA2CNT_H = DMA_32BIT;
- REG_SOUNDCNT_X = SOUND_MASTER_ENABLE
- | SOUND_4_ON
- | SOUND_3_ON
- | SOUND_2_ON
- | SOUND_1_ON;
- REG_SOUNDCNT_H = SOUND_B_FIFO_RESET | SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
- | SOUND_A_FIFO_RESET | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
- | SOUND_ALL_MIX_FULL;
- REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | 0x40;
-
- REG_DMA1SAD = (s32)soundInfo->pcmBuffer;
- REG_DMA1DAD = (s32)&REG_FIFO_A;
- REG_DMA2SAD = (s32)soundInfo->pcmBuffer + PCM_DMA_BUF_SIZE;
- REG_DMA2DAD = (s32)&REG_FIFO_B;
-
- SOUND_INFO_PTR = soundInfo;
- CpuFill32(0, soundInfo, sizeof(struct SoundInfo));
-
- soundInfo->maxChans = 8;
- soundInfo->masterVolume = 15;
- soundInfo->plynote = (u32)ply_note;
- soundInfo->CgbSound = DummyFunc;
- soundInfo->CgbOscOff = (void (*)(u8))DummyFunc;
- soundInfo->MidiKeyToCgbFreq = (u32 (*)(u8, u8, u8))DummyFunc;
- soundInfo->ExtVolPit = (u32)DummyFunc;
-
- MPlayJumpTableCopy(gMPlayJumpTable);
-
- soundInfo->MPlayJumpTable = (u32)gMPlayJumpTable;
-
- SampleFreqSet(SOUND_MODE_FREQ_13379);
-
- soundInfo->ident = ID_NUMBER;
-}
-
-void SampleFreqSet(u32 freq)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- freq = (freq & 0xF0000) >> 16;
- soundInfo->freq = freq;
- soundInfo->pcmSamplesPerVBlank = gPcmSamplesPerVBlankTable[freq - 1];
- soundInfo->pcmDmaPeriod = PCM_DMA_BUF_SIZE / soundInfo->pcmSamplesPerVBlank;
-
- // LCD refresh rate 59.7275Hz
- soundInfo->pcmFreq = (597275 * soundInfo->pcmSamplesPerVBlank + 5000) / 10000;
-
- // CPU frequency 16.78Mhz
- soundInfo->divFreq = (16777216 / soundInfo->pcmFreq + 1) >> 1;
-
- // Turn off timer 0.
- REG_TM0CNT_H = 0;
-
- // cycles per LCD fresh 280896
- REG_TM0CNT_L = -(280896 / soundInfo->pcmSamplesPerVBlank);
-
- m4aSoundVSyncOn();
-
- while (*(vu8 *)REG_ADDR_VCOUNT == 159)
- ;
-
- while (*(vu8 *)REG_ADDR_VCOUNT != 159)
- ;
-
- REG_TM0CNT_H = TIMER_ENABLE | TIMER_1CLK;
-}
-
-void m4aSoundMode(u32 mode)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
- u32 temp;
-
- if (soundInfo->ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- temp = mode & (SOUND_MODE_REVERB_SET | SOUND_MODE_REVERB_VAL);
-
- if (temp)
- soundInfo->reverb = temp & SOUND_MODE_REVERB_VAL;
-
- temp = mode & SOUND_MODE_MAXCHN;
-
- if (temp)
- {
- struct SoundChannel *chan;
-
- soundInfo->maxChans = temp >> SOUND_MODE_MAXCHN_SHIFT;
-
- temp = MAX_DIRECTSOUND_CHANNELS;
- chan = &soundInfo->chans[0];
-
- while (temp != 0)
- {
- chan->status = 0;
- temp--;
- chan++;
- }
- }
-
- temp = mode & SOUND_MODE_MASVOL;
-
- if (temp)
- soundInfo->masterVolume = temp >> SOUND_MODE_MASVOL_SHIFT;
-
- temp = mode & SOUND_MODE_DA_BIT;
-
- if (temp)
- {
- temp = (temp & 0x300000) >> 14;
- REG_SOUNDBIAS_H = (REG_SOUNDBIAS_H & 0x3F) | temp;
- }
-
- temp = mode & SOUND_MODE_FREQ;
-
- if (temp)
- {
- m4aSoundVSyncOff();
- SampleFreqSet(temp);
- }
-
- soundInfo->ident = ID_NUMBER;
-}
-
-void SoundClear(void)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
- s32 i;
- void *chan;
-
- if (soundInfo->ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- i = MAX_DIRECTSOUND_CHANNELS;
- chan = &soundInfo->chans[0];
-
- while (i > 0)
- {
- ((struct SoundChannel *)chan)->status = 0;
- i--;
- chan = (void *)((s32)chan + sizeof(struct SoundChannel));
- }
-
- chan = soundInfo->cgbChans;
-
- if (chan)
- {
- i = 1;
-
- while (i <= 4)
- {
- soundInfo->CgbOscOff(i);
- ((struct CgbChannel *)chan)->sf = 0;
- i++;
- chan = (void *)((s32)chan + sizeof(struct CgbChannel));
- }
- }
-
- soundInfo->ident = ID_NUMBER;
-}
-
-void m4aSoundVSyncOff(void)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- if (soundInfo->ident >= ID_NUMBER && soundInfo->ident <= ID_NUMBER + 1)
- {
- soundInfo->ident += 10;
-
- if (REG_DMA1CNT & (DMA_REPEAT << 16))
- REG_DMA1CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- if (REG_DMA2CNT & (DMA_REPEAT << 16))
- REG_DMA2CNT = ((DMA_ENABLE | DMA_START_NOW | DMA_32BIT | DMA_SRC_INC | DMA_DEST_FIXED) << 16) | 4;
-
- REG_DMA1CNT_H = DMA_32BIT;
- REG_DMA2CNT_H = DMA_32BIT;
-
- CpuFill32(0, soundInfo->pcmBuffer, sizeof(soundInfo->pcmBuffer));
- }
-}
-
-void m4aSoundVSyncOn(void)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
- u32 ident = soundInfo->ident;
-
- if (ident == ID_NUMBER)
- return;
-
- REG_DMA1CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
- REG_DMA2CNT_H = DMA_ENABLE | DMA_START_SPECIAL | DMA_32BIT | DMA_REPEAT;
-
- soundInfo->pcmDmaCounter = 0;
- soundInfo->ident = ident - 10;
-}
-
-void MPlayOpen(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *tracks, u8 trackCount)
-{
- struct SoundInfo *soundInfo;
-
- if (trackCount == 0)
- return;
-
- if (trackCount > MAX_MUSICPLAYER_TRACKS)
- trackCount = MAX_MUSICPLAYER_TRACKS;
-
- soundInfo = SOUND_INFO_PTR;
-
- if (soundInfo->ident != ID_NUMBER)
- return;
-
- soundInfo->ident++;
-
- Clear64byte(mplayInfo);
-
- mplayInfo->tracks = tracks;
- mplayInfo->trackCount = trackCount;
- mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
-
- while (trackCount != 0)
- {
- tracks->flags = 0;
- trackCount--;
- tracks++;
- }
-
- if (soundInfo->func != 0)
- {
- mplayInfo->func = soundInfo->func;
- mplayInfo->intp = soundInfo->intp;
- soundInfo->func = 0;
- }
-
- soundInfo->intp = (u32)mplayInfo;
- soundInfo->func = (u32)MPlayMain;
- soundInfo->ident = ID_NUMBER;
- mplayInfo->ident = ID_NUMBER;
-}
-
-void MPlayStart(struct MusicPlayerInfo *mplayInfo, struct SongHeader *songHeader)
-{
- s32 i;
- u8 unk_B;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- unk_B = mplayInfo->unk_B;
-
- if (!unk_B
- || ((!mplayInfo->songHeader || !(mplayInfo->tracks[0].flags & MPT_FLG_START))
- && ((mplayInfo->status & MUSICPLAYER_STATUS_TRACK) == 0
- || (mplayInfo->status & MUSICPLAYER_STATUS_PAUSE)))
- || (mplayInfo->priority <= songHeader->priority))
- {
- mplayInfo->ident++;
- mplayInfo->status = 0;
- mplayInfo->songHeader = songHeader;
- mplayInfo->tone = songHeader->tone;
- mplayInfo->priority = songHeader->priority;
- mplayInfo->clock = 0;
- mplayInfo->tempoD = 150;
- mplayInfo->tempoI = 150;
- mplayInfo->tempoU = 0x100;
- mplayInfo->tempoC = 0;
- mplayInfo->fadeOI = 0;
-
- i = 0;
- track = mplayInfo->tracks;
-
- while (i < songHeader->trackCount && i < mplayInfo->trackCount)
- {
- TrackStop(mplayInfo, track);
- track->flags = MPT_FLG_EXIST | MPT_FLG_START;
- track->chan = 0;
- track->cmdPtr = songHeader->part[i];
- i++;
- track++;
- }
-
- while (i < mplayInfo->trackCount)
- {
- TrackStop(mplayInfo, track);
- track->flags = 0;
- i++;
- track++;
- }
-
- if (songHeader->reverb & 0x80)
- m4aSoundMode(songHeader->reverb);
-
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayStop(struct MusicPlayerInfo *mplayInfo)
-{
- s32 i;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
- mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
-
- while (i > 0)
- {
- TrackStop(mplayInfo, track);
- i--;
- track++;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void FadeOutBody(struct MusicPlayerInfo *mplayInfo)
-{
- s32 i;
- struct MusicPlayerTrack *track;
- u16 fadeOI = mplayInfo->fadeOI;
- register u32 temp asm("r3");
- register u16 mask asm("r2");
-
- if (fadeOI == 0)
- return;
-
- mplayInfo->fadeOC--;
-
- temp = 0xFFFF;
- mask = temp;
-
- if (mplayInfo->fadeOC != 0)
- return;
-
- mplayInfo->fadeOC = fadeOI;
-
- if (mplayInfo->fadeOV & FADE_IN)
- {
- mplayInfo->fadeOV += (4 << FADE_VOL_SHIFT);
-
- if ((u16)(mplayInfo->fadeOV & mask) >= (64 << FADE_VOL_SHIFT))
- {
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT);
- mplayInfo->fadeOI = 0;
- }
- }
- else
- {
- mplayInfo->fadeOV -= (4 << FADE_VOL_SHIFT);
-
- if ((s16)(mplayInfo->fadeOV & mask) <= 0)
- {
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
-
- while (i > 0)
- {
- register u32 fadeOV asm("r7");
- u32 val;
-
- TrackStop(mplayInfo, track);
-
- val = TEMPORARY_FADE;
- fadeOV = mplayInfo->fadeOV;
- val &= fadeOV;
-
- if (!val)
- track->flags = 0;
-
- i--;
- track++;
- }
-
- if (mplayInfo->fadeOV & TEMPORARY_FADE)
- mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
- else
- mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
-
- mplayInfo->fadeOI = 0;
- return;
- }
- }
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
-
- while (i > 0)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->volX = (mplayInfo->fadeOV >> FADE_VOL_SHIFT);
- track->flags |= MPT_FLG_VOLCHG;
- }
-
- i--;
- track++;
- }
-}
-
-void TrkVolPitSet(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- if (track->flags & MPT_FLG_VOLSET)
- {
- s32 x;
- s32 y;
-
- x = (u32)(track->vol * track->volX) >> 5;
-
- if (track->modT == 1)
- x = (u32)(x * (track->modM + 128)) >> 7;
-
- y = 2 * track->pan + track->panX;
-
- if (track->modT == 2)
- y += track->modM;
-
- if (y < -128)
- y = -128;
- else if (y > 127)
- y = 127;
-
- track->volMR = (u32)((y + 128) * x) >> 8;
- track->volML = (u32)((127 - y) * x) >> 8;
- }
-
- if (track->flags & MPT_FLG_PITSET)
- {
- s32 bend = track->bend * track->bendRange;
- register s32 x asm("r1") = track->tune;
- x += bend;
- x *= 4;
- x += (track->keyShift << 8);
- x += (track->keyShiftX << 8);
- x += track->pitX;
-
- if (track->modT == 0)
- x += 16 * track->modM;
-
- track->keyM = x >> 8;
- track->pitM = x;
- }
-
- track->flags &= ~(MPT_FLG_PITSET | MPT_FLG_VOLSET);
-}
-
-u32 MidiKeyToCgbFreq(u8 chanNum, u8 key, u8 fineAdjust)
-{
- if (chanNum == 4)
- {
- if (key <= 20)
- {
- key = 0;
- }
- else
- {
- key -= 21;
- if (key > 59)
- key = 59;
- }
-
- return gNoiseTable[key];
- }
- else
- {
- s32 val1;
- s32 val2;
-
- if (key <= 35)
- {
- fineAdjust = 0;
- key = 0;
- }
- else
- {
- key -= 36;
- if (key > 130)
- {
- key = 130;
- fineAdjust = 255;
- }
- }
-
- val1 = gCgbScaleTable[key];
- val1 = gCgbFreqTable[val1 & 0xF] >> (val1 >> 4);
-
- val2 = gCgbScaleTable[key + 1];
- val2 = gCgbFreqTable[val2 & 0xF] >> (val2 >> 4);
-
- return val1 + ((fineAdjust * (val2 - val1)) >> 8) + 2048;
- }
-}
-
-void CgbOscOff(u8 chanNum)
-{
- switch (chanNum)
- {
- case 1:
- REG_NR12 = 8;
- REG_NR14 = 0x80;
- break;
- case 2:
- REG_NR22 = 8;
- REG_NR24 = 0x80;
- break;
- case 3:
- REG_NR30 = 0;
- break;
- default:
- REG_NR42 = 8;
- REG_NR44 = 0x80;
- }
-}
-
-static inline int CgbPan(struct CgbChannel *chan)
-{
- u32 rightVolume = chan->rightVolume;
- u32 leftVolume = chan->leftVolume;
-
- if ((rightVolume = (u8)rightVolume) >= (leftVolume = (u8)leftVolume))
- {
- if (rightVolume / 2 >= leftVolume)
- {
- chan->pan = 0x0F;
- return 1;
- }
- }
- else
- {
- if (leftVolume / 2 >= rightVolume)
- {
- chan->pan = 0xF0;
- return 1;
- }
- }
-
- return 0;
-}
-
-void CgbModVol(struct CgbChannel *chan)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- if ((soundInfo->mode & 1) || !CgbPan(chan))
- {
- chan->pan = 0xFF;
- chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
- }
- else
- {
- // Force chan->rightVolume and chan->leftVolume to be read from memory again,
- // even though there is no reason to do so.
- // The command line option "-fno-gcse" achieves the same result as this.
- asm("" : : : "memory");
-
- chan->eg = (u32)(chan->rightVolume + chan->leftVolume) >> 4;
- if (chan->eg > 15)
- chan->eg = 15;
- }
-
- chan->sg = (chan->eg * chan->su + 15) >> 4;
- chan->pan &= chan->panMask;
-}
diff --git a/src/m4a_4.c b/src/m4a_4.c
deleted file mode 100644
index e645fbef5..000000000
--- a/src/m4a_4.c
+++ /dev/null
@@ -1,545 +0,0 @@
-#include "gba/m4a_internal.h"
-
-void m4aMPlayTempoControl(struct MusicPlayerInfo *mplayInfo, u16 tempo)
-{
- if (mplayInfo->ident == ID_NUMBER)
- {
- mplayInfo->ident++;
- mplayInfo->tempoU = tempo;
- mplayInfo->tempoI = (mplayInfo->tempoD * mplayInfo->tempoU) >> 8;
- mplayInfo->ident = ID_NUMBER;
- }
-}
-
-void m4aMPlayVolumeControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u16 volume)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->volX = volume / 4;
- track->flags |= MPT_FLG_VOLCHG;
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void m4aMPlayPitchControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s16 pitch)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->keyShiftX = pitch >> 8;
- track->pitX = pitch;
- track->flags |= MPT_FLG_PITCHG;
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void m4aMPlayPanpotControl(struct MusicPlayerInfo *mplayInfo, u16 trackBits, s8 pan)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->panX = pan;
- track->flags |= MPT_FLG_VOLCHG;
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void ClearModM(struct MusicPlayerTrack *track)
-{
- track->lfoSpeedC = 0;
- track->modM = 0;
-
- if (track->modT == 0)
- track->flags |= MPT_FLG_PITCHG;
- else
- track->flags |= MPT_FLG_VOLCHG;
-}
-
-void m4aMPlayModDepthSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 modDepth)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->mod = modDepth;
-
- if (!track->mod)
- ClearModM(track);
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-void m4aMPlayLFOSpeedSet(struct MusicPlayerInfo *mplayInfo, u16 trackBits, u8 lfoSpeed)
-{
- s32 i;
- u32 bit;
- struct MusicPlayerTrack *track;
-
- if (mplayInfo->ident != ID_NUMBER)
- return;
-
- mplayInfo->ident++;
-
- i = mplayInfo->trackCount;
- track = mplayInfo->tracks;
- bit = 1;
-
- while (i > 0)
- {
- if (trackBits & bit)
- {
- if (track->flags & MPT_FLG_EXIST)
- {
- track->lfoSpeed = lfoSpeed;
-
- if (!track->lfoSpeed)
- ClearModM(track);
- }
- }
-
- i--;
- track++;
- bit <<= 1;
- }
-
- mplayInfo->ident = ID_NUMBER;
-}
-
-#define MEMACC_COND_JUMP(cond) \
-if (cond) \
- goto cond_true; \
-else \
- goto cond_false; \
-
-void ply_memacc(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 op;
- u8 *addr;
- u8 data;
-
- op = *track->cmdPtr;
- track->cmdPtr++;
-
- addr = mplayInfo->memAccArea + *track->cmdPtr;
- track->cmdPtr++;
-
- data = *track->cmdPtr;
- track->cmdPtr++;
-
- switch (op)
- {
- case 0:
- *addr = data;
- return;
- case 1:
- *addr += data;
- return;
- case 2:
- *addr -= data;
- return;
- case 3:
- *addr = mplayInfo->memAccArea[data];
- return;
- case 4:
- *addr += mplayInfo->memAccArea[data];
- return;
- case 5:
- *addr -= mplayInfo->memAccArea[data];
- return;
- case 6:
- MEMACC_COND_JUMP(*addr == data)
- return;
- case 7:
- MEMACC_COND_JUMP(*addr != data)
- return;
- case 8:
- MEMACC_COND_JUMP(*addr > data)
- return;
- case 9:
- MEMACC_COND_JUMP(*addr >= data)
- return;
- case 10:
- MEMACC_COND_JUMP(*addr <= data)
- return;
- case 11:
- MEMACC_COND_JUMP(*addr < data)
- return;
- case 12:
- MEMACC_COND_JUMP(*addr == mplayInfo->memAccArea[data])
- return;
- case 13:
- MEMACC_COND_JUMP(*addr != mplayInfo->memAccArea[data])
- return;
- case 14:
- MEMACC_COND_JUMP(*addr > mplayInfo->memAccArea[data])
- return;
- case 15:
- MEMACC_COND_JUMP(*addr >= mplayInfo->memAccArea[data])
- return;
- case 16:
- MEMACC_COND_JUMP(*addr <= mplayInfo->memAccArea[data])
- return;
- case 17:
- MEMACC_COND_JUMP(*addr < mplayInfo->memAccArea[data])
- return;
- default:
- return;
- }
-
-cond_true:
- {
- void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[1]);
- func(mplayInfo, track);
- return;
- }
-
-cond_false:
- track->cmdPtr += 4;
-}
-
-void ply_xcmd(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 n = *track->cmdPtr;
- track->cmdPtr++;
-
- gXcmdTable[n](mplayInfo, track);
-}
-
-void ply_xxx(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- void (*func)(struct MusicPlayerInfo *, struct MusicPlayerTrack *) = *(&gMPlayJumpTable[0]);
- func(mplayInfo, track);
-}
-
-#define READ_XCMD_BYTE(var, n) \
-{ \
- u32 byte = track->cmdPtr[(n)]; \
- byte <<= n * 8; \
- (var) &= ~(0xFF << (n * 8)); \
- (var) |= byte; \
-}
-
-void ply_xwave(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 wav;
-
- READ_XCMD_BYTE(wav, 0) // UB: uninitialized variable
- READ_XCMD_BYTE(wav, 1)
- READ_XCMD_BYTE(wav, 2)
- READ_XCMD_BYTE(wav, 3)
-
- track->tone.wav = (struct WaveData *)wav;
- track->cmdPtr += 4;
-}
-
-void ply_xtype(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.type = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xatta(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.attack = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xdeca(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.decay = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xsust(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.sustain = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xrele(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.release = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xiecv(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->echoVolume = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xiecl(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->echoLength = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xleng(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.length = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xswee(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- track->tone.pan_sweep = *track->cmdPtr;
- track->cmdPtr++;
-}
-
-void ply_xcmd_0C(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 unk;
-
- READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
- READ_XCMD_BYTE(unk, 1)
-
- if (track->unk_3A < (u16)unk)
- {
- track->unk_3A++;
- track->cmdPtr -= 2;
- track->wait = 1;
- }
- else
- {
- track->unk_3A = 0;
- track->cmdPtr += 2;
- }
-}
-
-void ply_xcmd_0D(struct MusicPlayerInfo *mplayInfo, struct MusicPlayerTrack *track)
-{
- u32 unk;
-
- READ_XCMD_BYTE(unk, 0) // UB: uninitialized variable
- READ_XCMD_BYTE(unk, 1)
- READ_XCMD_BYTE(unk, 2)
- READ_XCMD_BYTE(unk, 3)
-
- track->unk_3C = unk;
- track->cmdPtr += 4;
-}
-
-void DummyFunc(void)
-{
-}
-
-struct MusicPlayerInfo *SetPokemonCryTone(struct ToneData *tone)
-{
- u32 maxClock = 0;
- s32 maxClockIndex = 0;
- s32 i;
- struct MusicPlayerInfo *mplayInfo;
-
- for (i = 0; i < MAX_POKEMON_CRIES; i++)
- {
- struct MusicPlayerTrack *track = &gPokemonCryTracks[i * 2];
-
- if (!track->flags && (!track->chan || track->chan->track != track))
- goto start_song;
-
- if (maxClock < gPokemonCryMusicPlayers[i].clock)
- {
- maxClock = gPokemonCryMusicPlayers[i].clock;
- maxClockIndex = i;
- }
- }
-
- i = maxClockIndex;
-
-start_song:
- mplayInfo = &gPokemonCryMusicPlayers[i];
- mplayInfo->ident++;
-
-#define CRY ((s32)&gPokemonCrySongs + i * sizeof(struct PokemonCrySong))
-#define CRY_OFS(field) offsetof(struct PokemonCrySong, field)
-
- memcpy((void *)CRY, &gPokemonCrySong, sizeof(struct PokemonCrySong));
-
- *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone;
- *(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0);
- *(u32 *)(CRY + CRY_OFS(part) + 4) = CRY + CRY_OFS(part1);
- *(u32 *)(CRY + CRY_OFS(gotoTarget)) = CRY + CRY_OFS(cont);
-
-#undef CRY_OFS
-#undef CRY
-
- mplayInfo->ident = ID_NUMBER;
-
- MPlayStart(mplayInfo, (struct SongHeader *)(&gPokemonCrySongs[i]));
-
- return mplayInfo;
-}
-
-void SetPokemonCryVolume(u8 val)
-{
- gPokemonCrySong.volumeValue = val & 0x7F;
-}
-
-void SetPokemonCryPanpot(s8 val)
-{
- gPokemonCrySong.panValue = (val + C_V) & 0x7F;
-}
-
-void SetPokemonCryPitch(s16 val)
-{
- s16 b = val + 0x80;
- u8 a = gPokemonCrySong.tuneValue2 - gPokemonCrySong.tuneValue;
- gPokemonCrySong.tieKeyValue = (b >> 8) & 0x7F;
- gPokemonCrySong.tuneValue = (b >> 1) & 0x7F;
- gPokemonCrySong.tuneValue2 = (a + ((b >> 1) & 0x7F)) & 0x7F;
-}
-
-void SetPokemonCryLength(u16 val)
-{
- gPokemonCrySong.unkCmd0CParam = val;
-}
-
-void SetPokemonCryRelease(u8 val)
-{
- gPokemonCrySong.releaseValue = val;
-}
-
-void SetPokemonCryProgress(u32 val)
-{
- gPokemonCrySong.unkCmd0DParam = val;
-}
-
-int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo)
-{
- struct MusicPlayerTrack *track = mplayInfo->tracks;
-
- if (track->chan && track->chan->track == track)
- return 1;
- else
- return 0;
-}
-
-void SetPokemonCryChorus(s8 val)
-{
- if (val)
- {
- gPokemonCrySong.trackCount = 2;
- gPokemonCrySong.tuneValue2 = (val + gPokemonCrySong.tuneValue) & 0x7F;
- }
- else
- {
- gPokemonCrySong.trackCount = 1;
- }
-}
-
-void SetPokemonCryStereo(u32 val)
-{
- struct SoundInfo *soundInfo = SOUND_INFO_PTR;
-
- if (val)
- {
- REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT
- | SOUND_A_TIMER_0 | SOUND_A_RIGHT_OUTPUT
- | SOUND_ALL_MIX_FULL;
- soundInfo->mode &= ~1;
- }
- else
- {
- REG_SOUNDCNT_H = SOUND_B_TIMER_0 | SOUND_B_LEFT_OUTPUT | SOUND_B_RIGHT_OUTPUT
- | SOUND_A_TIMER_0 | SOUND_A_LEFT_OUTPUT | SOUND_A_RIGHT_OUTPUT
- | SOUND_B_MIX_HALF | SOUND_A_MIX_HALF | SOUND_CGB_MIX_FULL;
- soundInfo->mode |= 1;
- }
-}
-
-void SetPokemonCryPriority(u8 val)
-{
- gPokemonCrySong.priority = val;
-}
diff --git a/src/mauville_old_man.c b/src/mauville_old_man.c
index 930f1f35b..fd8e74c0a 100644
--- a/src/mauville_old_man.c
+++ b/src/mauville_old_man.c
@@ -572,9 +572,6 @@ static void Task_BardSong(u8 taskId)
struct MauvilleManBard *bard = &gSaveBlock1Ptr->oldMan.bard;
u8 *str = gStringVar4 + task->tCharIndex;
u16 wordLen = 0;
- // Can't get it to match without hacking
- u32 temp;
- register s16 zero asm("r1");
while (*str != CHAR_SPACE
&& *str != CHAR_NEWLINE
@@ -588,17 +585,22 @@ static void Task_BardSong(u8 taskId)
sUnknownBardRelated = MACRO2(bard->songLyrics[task->tCurrWord]);
else
sUnknownBardRelated = MACRO2(bard->temporaryLyrics[task->tCurrWord]);
- temp = gBardSong.length / wordLen;
- zero = 0;
- gBardSong.length = temp;
+
+ gBardSong.length /= wordLen;
if (gBardSong.length <= 0)
gBardSong.length = 1;
task->tCurrWord++;
+
if (task->data[2] == 0)
+ {
task->tState = 3;
+ task->data[1] = 0;
+ }
else
+ {
task->tState = 5;
- task->data[1] = zero;
+ task->data[1] = 0;
+ }
}
break;
case 5:
@@ -1180,9 +1182,9 @@ static void Task_StoryListMenu(u8 taskId) // Task_StoryListMenu
break;
case 1:
selection = Menu_ProcessInput();
- if (selection == -2)
+ if (selection == MENU_NOTHING_CHOSEN)
break;
- if (selection == -1 || selection == GetFreeStorySlot())
+ if (selection == MENU_B_PRESSED || selection == GetFreeStorySlot())
{
gSpecialVar_Result = 0;
}
diff --git a/src/palette.c b/src/palette.c
index deb07b066..be5143876 100644
--- a/src/palette.c
+++ b/src/palette.c
@@ -154,7 +154,7 @@ void ReadPlttIntoBuffers(void)
bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targetY, u16 blendColor)
{
u8 temp;
- register u32 _blendColor asm("r8") = blendColor;
+ u16 color = blendColor;
if (gPaletteFade.active)
{
@@ -175,7 +175,7 @@ bool8 BeginNormalPaletteFade(u32 selectedPalettes, s8 delay, u8 startY, u8 targe
gPaletteFade_delay = delay;
gPaletteFade.y = startY;
gPaletteFade.targetY = targetY;
- gPaletteFade.blendColor = _blendColor;
+ gPaletteFade.blendColor = color;
gPaletteFade.active = 1;
gPaletteFade.mode = NORMAL_FADE;
@@ -881,7 +881,7 @@ void TintPalette_SepiaTone(u16 *palette, u16 count)
{
s32 r, g, b, i;
u32 gray;
-
+
for (i = 0; i < count; i++)
{
r = (*palette >> 0) & 0x1F;
diff --git a/src/party_menu.c b/src/party_menu.c
index a8c98faec..15b5d24d8 100755
--- a/src/party_menu.c
+++ b/src/party_menu.c
@@ -119,6 +119,7 @@ struct Struct203CEDC
u8 unkC;
};
+// EWRAM vars
static EWRAM_DATA struct Struct203CEC4 *gUnknown_0203CEC4 = NULL;
EWRAM_DATA struct Struct203CEC8 gUnknown_0203CEC8 = {0};
static EWRAM_DATA struct Struct203CEDC *gUnknown_0203CEDC = NULL;
@@ -134,7 +135,8 @@ static EWRAM_DATA u16 gUnknown_0203CEFC = 0;
static EWRAM_DATA u16 gUnknown_0203CEFE = 0; // unused
EWRAM_DATA u8 gUnknown_0203CF00[3] = {0};
-extern void (*gUnknown_03006328)(u8, TaskFunc);
+// IWRAM common
+void (*gUnknown_03006328)(u8, TaskFunc);
static void reset_brm(void);
static void PartyMenuInitCallback(void);
@@ -2087,7 +2089,8 @@ static bool8 RenderPartyMenuBoxes(void)
RenderPartyMenuBox(gUnknown_0203CEC4->data[0]);
if (++gUnknown_0203CEC4->data[0] == 6)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
static u8* GetPartyMiscGraphicsTile(u16 tileId)
@@ -2130,7 +2133,8 @@ static bool8 party_menu_add_per_mon_objects(void)
party_menu_add_per_mon_objects_internal(gUnknown_0203CEC4->data[0]);
if (++gUnknown_0203CEC4->data[0] == 6)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
static void sub_81B0F28(void)
@@ -2202,6 +2206,7 @@ void sub_81B0FCC(u8 slot, u8 b)
static u8 GetPartyBoxPalBitfield(u8 slot, u8 b)
{
u8 returnVar = 0;
+
if (b == 1)
returnVar |= 1;
if (GetMonData(&gPlayerParty[slot], MON_DATA_HP) == 0)
@@ -2321,7 +2326,8 @@ static s8* sub_81B13EC(void)
{
if (gUnknown_0203CEC8.unkB == 8 || gUnknown_0203CEC8.unkB == 10)
return &gUnknown_0203CEC8.unkA;
- return &gUnknown_0203CEC8.unk9;
+ else
+ return &gUnknown_0203CEC8.unk9;
}
static void sub_81B140C(u8 taskId, s8 *ptr)
@@ -2836,7 +2842,7 @@ static void sub_81B1DB8(struct Pokemon *mon, u16 item)
SetMonData(mon, MON_DATA_HELD_ITEM, itemBytes);
}
-static u8 sub_81B1E00(struct Pokemon* mon)
+static u8 TryTakeMonItem(struct Pokemon* mon)
{
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
@@ -4265,7 +4271,7 @@ static void CursorCb_TakeItem(u8 taskId)
PlaySE(SE_SELECT);
sub_81B302C(&gUnknown_0203CEC4->unkC[0]);
sub_81B302C(&gUnknown_0203CEC4->unkC[1]);
- switch (sub_81B1E00(mon))
+ switch (TryTakeMonItem(mon))
{
case 0:
GetMonNickname(mon, gStringVar1);
@@ -5203,7 +5209,7 @@ void sub_81B617C(void)
bool8 inBattle;
u8 i;
u8 msgIdMaybe;
- register TaskFunc task asm("r0");
+ TaskFunc task;
if (gMain.inBattle)
{
@@ -5215,6 +5221,7 @@ void sub_81B617C(void)
inBattle = FALSE;
doubleBattleStatus = 0;
}
+
if (GetItemEffectType(gSpecialVar_ItemId) == 10)
{
gUnknown_0203CEC8.unk9 = 0;
@@ -5231,9 +5238,14 @@ void sub_81B617C(void)
}
else
{
- msgIdMaybe = (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_TM_HM) ? 4 : 5;
+ if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_TM_HM)
+ msgIdMaybe = 4;
+ else
+ msgIdMaybe = 5;
+
task = sub_81B1370;
}
+
InitPartyMenu(inBattle, doubleBattleStatus, 3, 1, msgIdMaybe, task, callback);
}
@@ -5263,9 +5275,11 @@ static bool8 IsHPRecoveryItem(u16 item)
effect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
else
effect = gItemEffectTable[item - ITEM_POTION];
+
if ((effect[4] & 4) != 0)
return TRUE;
- return FALSE;
+ else
+ return FALSE;
}
static void GetMedicineItemEffectMessage(u16 item)
@@ -5575,6 +5589,7 @@ void dp05_ether(u8 taskId, TaskFunc task)
effect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
else
effect = gItemEffectTable[item - ITEM_POTION];
+
if ((effect[4] & 0x10) == 0)
{
gUnknown_0203CEC8.unkE = 0;
@@ -6196,151 +6211,69 @@ void sub_81B7C74(u8 taskId, TaskFunc task)
u8 GetItemEffectType(u16 item)
{
const u8 *itemEffect;
-#ifndef NONMATCHING
- register u8 itemEffect0 asm("r1");
- register u8 itemEffect3 asm("r3");
- register u32 itemEffect0_r0 asm("r0"); // u32 to prevent shifting when transferring itemEffect0 to this
- u8 mask;
-#else
-#define itemEffect0 itemEffect[0]
-#define itemEffect3 itemEffect[3]
-#define mask 0x3F
-#endif
+ u32 statusCure;
if (!IS_POKEMON_ITEM(item))
- {
return 22;
- }
+
+ // Read the item's effect properties.
+ if (item == ITEM_ENIGMA_BERRY)
+ itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
else
+ itemEffect = gItemEffectTable[item - ITEM_POTION];
+
+ if ((itemEffect[0] & 0x3F) || itemEffect[1] || itemEffect[2] || (itemEffect[3] & 0x80))
+ return 0;
+ else if (itemEffect[0] & 0x40)
+ return 10;
+ else if (itemEffect[3] & 0x40)
+ return 1;
+
+ statusCure = itemEffect[3] & 0x3F;
+ if (statusCure || (itemEffect[0] >> 7))
{
- // Read the item's effect properties.
- if (item == ITEM_ENIGMA_BERRY)
- {
- itemEffect = gSaveBlock1Ptr->enigmaBerry.itemEffect;
- }
+ if (statusCure == 0x20)
+ return 4;
+ else if (statusCure == 0x10)
+ return 3;
+ else if (statusCure == 0x8)
+ return 5;
+ else if (statusCure == 0x4)
+ return 6;
+ else if (statusCure == 0x2)
+ return 7;
+ else if (statusCure == 0x1)
+ return 8;
+ else if (itemEffect[0] >> 7 && !statusCure)
+ return 9;
else
- {
- itemEffect = gItemEffectTable[item - ITEM_POTION];
- }
-
-#ifndef NONMATCHING
- itemEffect0 = itemEffect[0];
- mask = 0x3F;
-#endif
+ return 11;
+ }
- if ((itemEffect0 & mask) || itemEffect[1] || itemEffect[2])
- {
- return 0;
- }
-#ifndef NONMATCHING
- itemEffect3 = itemEffect[3];
-#endif
- if (itemEffect3 & 0x80)
- {
- return 0;
- }
- else if (itemEffect0 & 0x40)
- {
- return 10;
- }
- else if (itemEffect3 & 0x40)
- {
- return 1;
- }
- else if ((itemEffect3 & mask) || (itemEffect0 >> 7))
- {
- if ((itemEffect3 & mask) == 0x20)
- {
- return 4;
- }
- else if ((itemEffect3 & mask) == 0x10)
- {
- return 3;
- }
- else if ((itemEffect3 & mask) == 0x8)
- {
- return 5;
- }
- else if ((itemEffect3 & mask) == 0x4)
- {
- return 6;
- }
- else if ((itemEffect3 & mask) == 0x2)
- {
- return 7;
- }
- else if ((itemEffect3 & mask) == 0x1)
- {
- return 8;
- }
- // alternate fakematching
- // itemEffect0_r0 = itemEffect0 >> 7;
- // asm(""); // increase live length for greg
- // if ((itemEffect0_r0 != 0) && (itemEffect3 & mask) == 0)
-#ifndef NONMATCHING
- else if (((itemEffect0_r0 = itemEffect0 >> 7) != 0) && (itemEffect3 & mask) == 0)
-#else
- else if (((itemEffect[0] >> 7) != 0) && (itemEffect[3] & 0x3F) == 0)
-#endif
- {
- return 9;
- }
- else
- {
- return 11;
- }
- }
- else if (itemEffect[4] & 0x44)
- {
- return 2;
- }
- else if (itemEffect[4] & 0x2)
- {
- return 12;
- }
- else if (itemEffect[4] & 0x1)
- {
- return 13;
- }
- else if (itemEffect[5] & 0x8)
- {
- return 14;
- }
- else if (itemEffect[5] & 0x4)
- {
- return 15;
- }
- else if (itemEffect[5] & 0x2)
- {
- return 16;
- }
- else if (itemEffect[5] & 0x1)
- {
- return 17;
- }
- else if (itemEffect[4] & 0x80)
- {
- return 18;
- }
- else if (itemEffect[4] & 0x20)
- {
- return 19;
- }
- else if (itemEffect[5] & 0x10)
- {
- return 20;
- }
- else if (itemEffect[4] & 0x18)
- {
- return 21;
- }
+ if (itemEffect[4] & 0x44)
+ return 2;
+ else if (itemEffect[4] & 0x2)
+ return 12;
+ else if (itemEffect[4] & 0x1)
+ return 13;
+ else if (itemEffect[5] & 0x8)
+ return 14;
+ else if (itemEffect[5] & 0x4)
+ return 15;
+ else if (itemEffect[5] & 0x2)
+ return 16;
+ else if (itemEffect[5] & 0x1)
+ return 17;
+ else if (itemEffect[4] & 0x80)
+ return 18;
+ else if (itemEffect[4] & 0x20)
+ return 19;
+ else if (itemEffect[5] & 0x10)
+ return 20;
+ else if (itemEffect[4] & 0x18)
+ return 21;
+ else
return 22;
- }
-#ifdef NONMATCHING
-#undef itemEffect0
-#undef itemEffect3
-#undef mask
-#endif
}
static void sub_81B7E4C(u8 taskId)
diff --git a/src/player_pc.c b/src/player_pc.c
index 474cecaf5..0d08a5e7b 100644
--- a/src/player_pc.c
+++ b/src/player_pc.c
@@ -355,11 +355,11 @@ static void PlayerPCProcessMenuInput(u8 taskId)
else
inputOptionId = Menu_ProcessInputNoWrap();
- switch(inputOptionId)
+ switch (inputOptionId)
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
break;
- case -1:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
sub_8198070(data[4], FALSE);
ClearWindowTilemap(data[4]);
@@ -464,13 +464,13 @@ static void ItemStorageMenuProcessInput(u8 taskId)
r5 = Menu_GetCursorPos();
inputOptionId = Menu_ProcessInput();
r2 = Menu_GetCursorPos();
- switch(inputOptionId)
+ switch (inputOptionId)
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
if (r5 != r2)
ItemStorageMenuPrint(gPCText_OptionDescList[r2]);
break;
- case -1:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
ItemStorage_Exit(taskId);
break;
@@ -638,14 +638,14 @@ static void Mailbox_ProcessInput(u8 taskId)
if (!gPaletteFade.active)
{
- inputOptionId = ListMenuHandleInputGetItemId(data[5]);
+ inputOptionId = ListMenu_ProcessInput(data[5]);
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
- switch(inputOptionId)
+ switch (inputOptionId)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
PlaySE(SE_SELECT);
RemoveScrollIndicatorArrowPair(playerPCItemPageInfo.scrollIndicatorId);
Mailbox_ReturnToPlayerPC(taskId);
@@ -1145,13 +1145,13 @@ static void ItemStorage_ProcessInput(u8 taskId)
}
else
{
- id = ListMenuHandleInputGetItemId(data[5]);
+ id = ListMenu_ProcessInput(data[5]);
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
switch(id)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
PlaySE(SE_SELECT);
ItemStorage_GoBackToPlayerPCMenu(taskId);
break;
@@ -1218,21 +1218,23 @@ static void sub_816C4FC(u8 taskId)
ItemStorage_DoItemSwap(taskId, FALSE);
return;
}
- id = ListMenuHandleInputGetItemId(data[5]);
+ id = ListMenu_ProcessInput(data[5]);
ListMenuGetScrollAndRow(data[5], &(playerPCItemPageInfo.itemsAbove), &(playerPCItemPageInfo.cursorPos));
sub_81223FC(gUnknown_0203BCC4->spriteIds, 7, 0);
sub_816C690(playerPCItemPageInfo.cursorPos);
switch(id)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
if (gMain.newKeys & A_BUTTON)
{
ItemStorage_DoItemSwap(taskId, FALSE);
}
else
+ {
ItemStorage_DoItemSwap(taskId, TRUE);
+ }
break;
default:
ItemStorage_DoItemSwap(taskId, FALSE);
diff --git a/src/pokeblock.c b/src/pokeblock.c
index 7c07f9655..3fd4f34df 100644
--- a/src/pokeblock.c
+++ b/src/pokeblock.c
@@ -998,7 +998,7 @@ static void Task_HandlePokeblockMenuInput(u8 taskId)
else
{
u16 oldPosition = sSavedPokeblockData.lastItemPos;
- s32 itemId = ListMenuHandleInputGetItemId(data[0]);
+ s32 itemId = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
if (oldPosition != sSavedPokeblockData.lastItemPos)
@@ -1044,7 +1044,7 @@ static void Task_HandlePokeblocksSwapInput(u8 taskId)
{
u16 i = sSavedPokeblockData.lastItemPage;
u16 var = sSavedPokeblockData.lastItemPos;
- s32 itemId = ListMenuHandleInputGetItemId(data[0]);
+ s32 itemId = ListMenu_ProcessInput(data[0]);
ListMenuGetScrollAndRow(data[0], &sSavedPokeblockData.lastItemPage, &sSavedPokeblockData.lastItemPos);
if (i != sSavedPokeblockData.lastItemPage || var != sSavedPokeblockData.lastItemPos)
diff --git a/src/pokedex.c b/src/pokedex.c
index f99a8226a..c47ada5b8 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -30,8 +30,6 @@
#include "constants/songs.h"
#include "constants/species.h"
-extern u8 gDexCryScreenState;
-
// EWRAM
static EWRAM_DATA struct PokedexView *sPokedexView = NULL;
static EWRAM_DATA u16 gUnknown_02039B50 = 0;
diff --git a/src/pokedex_cry_screen.c b/src/pokedex_cry_screen.c
index 4a9227b99..c385141d5 100755
--- a/src/pokedex_cry_screen.c
+++ b/src/pokedex_cry_screen.c
@@ -39,7 +39,10 @@ static void sub_8145824(u8, s16, u8);
static void sub_814596C(struct Sprite *);
static void sub_8145B24(s8);
-extern u8 gDexCryScreenState;
+// IWRAM common
+u8 gDexCryScreenState;
+
+// EWRAM vars
static EWRAM_DATA struct PokedexCryScreen *sDexCryScreen = NULL;
static EWRAM_DATA u8 *sCryWaveformWindowTiledata = NULL;
static EWRAM_DATA struct PokedexCryVolumeMeter *sCryVolumeMeter = NULL;
diff --git a/src/pokemon.c b/src/pokemon.c
index 1e07ee168..e325e1992 100644
--- a/src/pokemon.c
+++ b/src/pokemon.c
@@ -5242,14 +5242,14 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
{
gAbsentBattlerFlags &= ~gBitTable[battlerId];
CopyPlayerPartyMonToBattleData(battlerId, pokemon_order_func(gBattlerPartyIndexes[battlerId]));
- if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.unk4 < 255)
- gBattleResults.unk4++;
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255)
+ gBattleResults.numRevivesUsed++;
}
else
{
gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2];
- if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.unk4 < 255)
- gBattleResults.unk4++;
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255)
+ gBattleResults.numRevivesUsed++;
}
}
}
@@ -5289,8 +5289,8 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
gBattleMons[battlerId].hp = dataUnsigned;
if (!(r10 & 0x10) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
{
- if (gBattleResults.unk3 < 255)
- gBattleResults.unk3++;
+ if (gBattleResults.numHealingItemsUsed < 255)
+ gBattleResults.numHealingItemsUsed++;
// I have to re-use this variable to match.
r5 = gActiveBattler;
gActiveBattler = battlerId;
@@ -5329,7 +5329,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
SetMonData(mon, MON_DATA_PP1 + r5, &dataUnsigned);
if (gMain.inBattle
&& battlerId != 4 && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[battlerId].unk18_b & gBitTable[r5]))
+ && !(gDisableStructs[battlerId].mimickedMoves & gBitTable[r5]))
gBattleMons[battlerId].pp[r5] = dataUnsigned;
retVal = FALSE;
}
@@ -5354,7 +5354,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
SetMonData(mon, MON_DATA_PP1 + moveIndex, &dataUnsigned);
if (gMain.inBattle
&& battlerId != 4 && !(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED)
- && !(gDisableStructs[battlerId].unk18_b & gBitTable[moveIndex]))
+ && !(gDisableStructs[battlerId].mimickedMoves & gBitTable[moveIndex]))
gBattleMons[battlerId].pp[moveIndex] = dataUnsigned;
retVal = FALSE;
}
diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c
index bcbb60e21..ecb8f4950 100644
--- a/src/pokemon_icon.c
+++ b/src/pokemon_icon.c
@@ -1238,7 +1238,6 @@ const u16* GetValidMonIconPalettePtr(u16 species)
return gMonIconPaletteTable[gMonIconPaletteIndices[species]].data;
}
-// TODO: try to find a way to avoid using asm statement
u8 UpdateMonIconFrame(struct Sprite *sprite)
{
u8 result = 0;
@@ -1262,10 +1261,7 @@ u8 UpdateMonIconFrame(struct Sprite *sprite)
(u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame),
(u8 *)(OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP),
sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]);
- {
- register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration;
- sprite->animDelayCounter = duration;
- }
+ sprite->animDelayCounter = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration & 0xFF;
sprite->animCmdIndex++;
result = sprite->animCmdIndex;
break;
diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c
index 78fec2fc5..c0aec4ddd 100644
--- a/src/pokemon_storage_system.c
+++ b/src/pokemon_storage_system.c
@@ -1753,7 +1753,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId)
task->data[2] = Menu_ProcessInput();
switch(task->data[2])
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
task->data[3] = task->data[1];
if (gMain.newKeys & DPAD_UP && --task->data[3] < 0)
task->data[3] = 4;
@@ -1767,7 +1767,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId)
AddTextPrinterParameterized2(0, 1, gUnknown_085716C0[task->data[1]].desc, 0, NULL, 2, 1, 3);
}
break;
- case -1:
+ case MENU_B_PRESSED:
case 4:
sub_819746C(task->data[15], TRUE);
ScriptContext2_Disable();
diff --git a/src/recorded_battle.c b/src/recorded_battle.c
index 0dae76f02..c11dc55e7 100644
--- a/src/recorded_battle.c
+++ b/src/recorded_battle.c
@@ -782,7 +782,7 @@ void sub_818603C(u8 arg0)
movePp.moves[j] = gBattleMons[battlerId].moves[array1[j]];
movePp.pp[j] = gBattleMons[battlerId].pp[array1[j]];
array3[j] = ppBonuses[array1[j]];
- array2[j] = (gDisableStructs[battlerId].unk18_b & gBitTable[j]) >> j;
+ array2[j] = (gDisableStructs[battlerId].mimickedMoves & gBitTable[j]) >> j;
}
for (j = 0; j < MAX_MON_MOVES; j++)
{
@@ -790,11 +790,11 @@ void sub_818603C(u8 arg0)
gBattleMons[battlerId].pp[j] = movePp.pp[j];
}
gBattleMons[battlerId].ppBonuses = 0;
- gDisableStructs[battlerId].unk18_b = 0;
+ gDisableStructs[battlerId].mimickedMoves = 0;
for (j = 0; j < MAX_MON_MOVES; j++)
{
gBattleMons[battlerId].ppBonuses |= (array3[j]) << (j << 1);
- gDisableStructs[battlerId].unk18_b |= (array2[j]) << (j);
+ gDisableStructs[battlerId].mimickedMoves |= (array2[j]) << (j);
}
if (!(gBattleMons[battlerId].status2 & STATUS2_TRANSFORMED))
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
index 41f7eeee7..9bdd86167 100644
--- a/src/rom_8011DC0.c
+++ b/src/rom_8011DC0.c
@@ -189,8 +189,6 @@ extern u16 gUnknown_02022C3C;
extern u8 gUnknown_02022C20[];
extern u8 gFieldLinkPlayerCount;
extern u8 gUnknown_03005DB4;
-extern struct MailStruct gUnknown_020321C0[PARTY_SIZE];
-extern u8 gUnknown_02032298[2];
// IWRAM vars
IWRAM_DATA struct UnkStruct_Leader *gUnknown_03000DA0;
@@ -1105,7 +1103,7 @@ void sub_80134E8(u8 taskId)
RedrawListMenu(data->listTaskId);
break;
case 0:
- id = ListMenuHandleInputGetItemId(data->listTaskId);
+ id = ListMenu_ProcessInput(data->listTaskId);
if (gMain.newKeys & A_BUTTON && id != -1)
{
// this unused variable along with the assignment is needed to match
@@ -2176,7 +2174,7 @@ void sub_8014F48(u8 taskId)
RedrawListMenu(data->listTaskId);
break;
case 0:
- id = ListMenuHandleInputGetItemId(data->listTaskId);
+ id = ListMenu_ProcessInput(data->listTaskId);
if (gMain.newKeys & A_BUTTON && id != -1)
{
// this unused variable along with the assignment is needed to match
@@ -2340,7 +2338,7 @@ void sub_80152F4(u8 taskId)
break;
case 0:
if (data->field_13 != 0)
- id = ListMenuHandleInputGetItemId(data->listTaskId);
+ id = ListMenu_ProcessInput(data->listTaskId);
if (data->field_14 > 120)
{
if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.field_0.unk_0a_7)
diff --git a/src/script_menu.c b/src/script_menu.c
index a4f4c6086..7180bfc60 100644
--- a/src/script_menu.c
+++ b/src/script_menu.c
@@ -1170,9 +1170,9 @@ static void Task_HandleMultichoiceInput(u8 taskId)
sub_80E2A94(tMultichoiceId);
}
- if (selection != -2)
+ if (selection != MENU_NOTHING_CHOSEN)
{
- if (selection == -1)
+ if (selection == MENU_B_PRESSED)
{
if (tIgnoreBPress)
return;
diff --git a/src/secret_base.c b/src/secret_base.c
index de5fae077..adcab9cbc 100644
--- a/src/secret_base.c
+++ b/src/secret_base.c
@@ -953,13 +953,13 @@ void sub_80E9E90(u8 taskId)
s32 input;
data = gTasks[taskId].data;
- input = ListMenuHandleInputGetItemId(data[5]);
+ input = ListMenu_ProcessInput(data[5]);
ListMenuGetScrollAndRow(data[5], &data[2], &data[1]);
switch (input)
{
- case -1:
+ case LIST_NOTHING_CHOSEN:
break;
- case -2:
+ case LIST_B_PRESSED:
PlaySE(SE_SELECT);
DestroyListMenuTask(data[5], NULL, NULL);
RemoveScrollIndicatorArrowPair(data[8]);
@@ -1002,11 +1002,11 @@ void sub_80E9FB0(u8 taskId)
input = Menu_ProcessInputNoWrap();
switch (input)
{
- case -1:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
sub_80EA18C(taskId);
break;
- case -2:
+ case MENU_NOTHING_CHOSEN:
break;
default:
PlaySE(SE_SELECT);
diff --git a/src/shop.c b/src/shop.c
index c44cbca12..8eefd5e97 100755
--- a/src/shop.c
+++ b/src/shop.c
@@ -328,9 +328,9 @@ static void Task_ShopMenu(u8 taskId)
s8 inputCode = Menu_ProcessInputNoWrap();
switch (inputCode)
{
- case LIST_B_PRESSED:
+ case MENU_NOTHING_CHOSEN:
break;
- case LIST_NOTHING_CHOSEN:
+ case MENU_B_PRESSED:
PlaySE(SE_SELECT);
Task_HandleShopMenuQuit(taskId);
break;
@@ -911,7 +911,7 @@ static void Task_BuyMenu(u8 taskId)
if (!gPaletteFade.active)
{
- s32 itemId = ListMenuHandleInputGetItemId(tListTaskId);
+ s32 itemId = ListMenu_ProcessInput(tListTaskId);
ListMenuGetScrollAndRow(tListTaskId, &gShopDataPtr->scrollOffset, &gShopDataPtr->selectedRow);
switch (itemId)
diff --git a/src/sound.c b/src/sound.c
index c63183bdc..ebb4fad75 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -34,13 +34,33 @@ extern struct MusicPlayerInfo gMPlayInfo_SE2;
extern struct MusicPlayerInfo gMPlayInfo_SE3;
extern struct ToneData gCryTable[];
extern struct ToneData gCryTable2[];
-extern const struct Fanfare sFanfares[];
static void Task_Fanfare(u8 taskId);
static void CreateFanfareTask(void);
static void Task_DuckBGMForPokemonCry(u8 taskId);
static void RestoreBGMVolumeAfterPokemonCry(void);
+static const struct Fanfare sFanfares[] = {
+ { MUS_FANFA1, 80 },
+ { MUS_FANFA4, 160 },
+ { MUS_FANFA5, 220 },
+ { MUS_ME_WAZA, 220 },
+ { MUS_ME_ASA, 160 },
+ { MUS_ME_BACHI, 340 },
+ { MUS_ME_WASURE, 180 },
+ { MUS_ME_KINOMI, 120 },
+ { MUS_ME_TAMA, 710 },
+ { MUS_ME_B_BIG, 250 },
+ { MUS_ME_B_SMALL, 150 },
+ { MUS_ME_ZANNEN, 160 },
+ { MUS_RG_POKEFUE, 450 },
+ { MUS_RG_FAN5, 170 },
+ { MUS_RG_FAN2, 196 },
+ { MUS_ME_POINTGET, 313 },
+ { MUS_ME_SYMBOLGET, 318 },
+ { MUS_ME_TORE_EYE, 135 },
+};
+
#define CRY_VOLUME 120 // was 125 in R/S
void InitMapMusic(void)
diff --git a/src/trader.c b/src/trader.c
index e23efb4ce..b5c159fb9 100644
--- a/src/trader.c
+++ b/src/trader.c
@@ -113,9 +113,9 @@ void Task_HandleGetDecorationMenuInput(u8 taskId)
switch (input)
{
- case -2:
+ case MENU_NOTHING_CHOSEN:
break;
- case -1:
+ case MENU_B_PRESSED:
case 4:
PlaySE(SE_SELECT);
sub_8133BE4(taskId, 0);
diff --git a/src/trainer_card.c b/src/trainer_card.c
index b7bd5cc1d..49a62284f 100755
--- a/src/trainer_card.c
+++ b/src/trainer_card.c
@@ -93,6 +93,7 @@ struct TrainerCardData
extern u8 sub_80D30A0(u16);
// EWRAM
+EWRAM_DATA struct TrainerCard gTrainerCards[4] = {0};
EWRAM_DATA static struct TrainerCardData *sData = NULL;
//this file's functions
diff --git a/src/trainer_see.c b/src/trainer_see.c
index 3846eca46..bc5d9cbc3 100644
--- a/src/trainer_see.c
+++ b/src/trainer_see.c
@@ -1,5 +1,4 @@
#include "global.h"
-#include "constants/battle_setup.h"
#include "battle_setup.h"
#include "event_data.h"
#include "event_object_movement.h"
@@ -14,6 +13,8 @@
#include "trainer_hill.h"
#include "util.h"
#include "battle_pyramid.h"
+#include "constants/battle_setup.h"
+#include "constants/event_object_movement_constants.h"
#include "constants/field_effects.h"
extern void sub_809BE48(u16 npcId);
@@ -33,17 +34,17 @@ static u8 GetTrainerApproachDistanceWest(struct EventObject *trainerObj, s16 ran
static u8 GetTrainerApproachDistanceEast(struct EventObject *trainerObj, s16 range, s16 x, s16 y);
static bool8 sub_80B4178(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *trainerObj);
-static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 TrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 TrainerMoveToPlayer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 PlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 WaitPlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 RevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 WaitRevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 RevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
+static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj);
static void SpriteCB_TrainerIcons(struct Sprite *sprite);
@@ -73,25 +74,25 @@ static u8 (*const sDirectionalApproachDistanceFuncs[])(struct EventObject *train
static bool8 (*const sTrainerSeeFuncList[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) =
{
sub_80B4178,
- sub_80B417C,
- sub_80B41C0,
- sub_80B4200,
- sub_80B425C,
- sub_80B4318,
- sub_80B435C,
- sub_80B4390,
- sub_80B43AC,
- sub_80B43E0,
- sub_80B4438,
- sub_80B44AC
+ TrainerExclamationMark,
+ WaitTrainerExclamationMark,
+ TrainerMoveToPlayer,
+ PlayerFaceApproachingTrainer,
+ WaitPlayerFaceApproachingTrainer,
+ RevealDisguisedTrainer,
+ WaitRevealDisguisedTrainer,
+ RevealHiddenTrainer,
+ PopOutOfAshHiddenTrainer,
+ JumpInPlaceHiddenTrainer,
+ WaitRevealHiddenTrainer,
};
static bool8 (*const sTrainerSeeFuncList2[])(u8 taskId, struct Task *task, struct EventObject *trainerObj) =
{
- sub_80B43AC,
- sub_80B43E0,
- sub_80B4438,
- sub_80B44AC,
+ RevealHiddenTrainer,
+ PopOutOfAshHiddenTrainer,
+ JumpInPlaceHiddenTrainer,
+ WaitRevealHiddenTrainer,
};
static const struct OamData sOamData_Icons =
@@ -433,7 +434,7 @@ static bool8 sub_80B4178(u8 taskId, struct Task *task, struct EventObject *train
return FALSE;
}
-static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 TrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
u8 direction;
@@ -445,7 +446,7 @@ static bool8 sub_80B417C(u8 taskId, struct Task *task, struct EventObject *train
return TRUE;
}
-static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 WaitTrainerExclamationMark(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (FieldEffectActiveListContains(FLDEFF_EXCLAMATION_MARK_ICON))
{
@@ -454,17 +455,17 @@ static bool8 sub_80B41C0(u8 taskId, struct Task *task, struct EventObject *train
else
{
task->tFuncId++;
- if (trainerObj->movementType == 57 || trainerObj->movementType == 58)
+ if (trainerObj->movementType == MOVEMENT_TYPE_TREE_DISGUISE || trainerObj->movementType == MOVEMENT_TYPE_MOUNTAIN_DISGUISE)
task->tFuncId = 6;
- if (trainerObj->movementType == 63)
+ if (trainerObj->movementType == MOVEMENT_TYPE_HIDDEN)
task->tFuncId = 8;
return TRUE;
}
}
-static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 TrainerMoveToPlayer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
- if (!(EventObjectIsMovementOverridden(trainerObj)) || EventObjectClearHeldMovementIfFinished(trainerObj))
+ if (!EventObjectIsMovementOverridden(trainerObj) || EventObjectClearHeldMovementIfFinished(trainerObj))
{
if (task->tTrainerRange)
{
@@ -473,14 +474,14 @@ static bool8 sub_80B4200(u8 taskId, struct Task *task, struct EventObject *train
}
else
{
- EventObjectSetHeldMovement(trainerObj, 0x3E);
+ EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER);
task->tFuncId++;
}
}
return FALSE;
}
-static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 PlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
struct EventObject *playerObj;
@@ -501,7 +502,7 @@ static bool8 sub_80B425C(u8 taskId, struct Task *task, struct EventObject *train
return FALSE;
}
-static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 WaitPlayerFaceApproachingTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
struct EventObject *playerObj = &gEventObjects[gPlayerAvatar.eventObjectId];
@@ -511,18 +512,18 @@ static bool8 sub_80B4318(u8 taskId, struct Task *task, struct EventObject *train
return FALSE;
}
-static bool8 sub_80B435C(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 RevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!EventObjectIsMovementOverridden(trainerObj)
|| EventObjectClearHeldMovementIfFinished(trainerObj))
{
- EventObjectSetHeldMovement(trainerObj, 0x59);
+ EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_REVEAL_TRAINER);
task->tFuncId++;
}
return FALSE;
}
-static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 WaitRevealDisguisedTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (EventObjectClearHeldMovementIfFinished(trainerObj))
task->tFuncId = 3;
@@ -530,18 +531,18 @@ static bool8 sub_80B4390(u8 taskId, struct Task *task, struct EventObject *train
return FALSE;
}
-static bool8 sub_80B43AC(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 RevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!EventObjectIsMovementOverridden(trainerObj)
|| EventObjectClearHeldMovementIfFinished(trainerObj))
{
- EventObjectSetHeldMovement(trainerObj, 0x3E);
+ EventObjectSetHeldMovement(trainerObj, MOVEMENT_ACTION_FACE_PLAYER);
task->tFuncId++;
}
return FALSE;
}
-static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 PopOutOfAshHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (EventObjectCheckHeldMovementStatus(trainerObj))
{
@@ -555,7 +556,7 @@ static bool8 sub_80B43E0(u8 taskId, struct Task *task, struct EventObject *train
return FALSE;
}
-static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 JumpInPlaceHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
struct Sprite *sprite;
@@ -574,7 +575,7 @@ static bool8 sub_80B4438(u8 taskId, struct Task *task, struct EventObject *train
return FALSE;
}
-static bool8 sub_80B44AC(u8 taskId, struct Task *task, struct EventObject *trainerObj)
+static bool8 WaitRevealHiddenTrainer(u8 taskId, struct Task *task, struct EventObject *trainerObj)
{
if (!FieldEffectActiveListContains(FLDEFF_POP_OUT_OF_ASH))
task->tFuncId = 3;
diff --git a/src/tv.c b/src/tv.c
index f46bfa0c4..651bd3c8f 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -913,13 +913,13 @@ void ResetGabbyAndTy(void)
gSaveBlock1Ptr->gabbyAndTyData.quote[0] = -1;
gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.playerLostAMon = FALSE;
- gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem = FALSE;
+ gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.playerThrewABall = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.onAir = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.valA_5 = 0;
gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn2 = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.playerLostAMon2 = FALSE;
- gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem2 = FALSE;
+ gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem2 = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.playerThrewABall2 = FALSE;
gSaveBlock1Ptr->gabbyAndTyData.valB_4 = 0;
gSaveBlock1Ptr->gabbyAndTyData.mapnum = 0;
@@ -946,13 +946,13 @@ void GabbyAndTyBeforeInterview(void)
{
gSaveBlock1Ptr->gabbyAndTyData.playerLostAMon = FALSE;
}
- if (gBattleResults.unk3 != 0)
+ if (gBattleResults.numHealingItemsUsed != 0)
{
- gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem = TRUE;
+ gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem = TRUE;
}
else
{
- gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem = FALSE;
+ gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem = FALSE;
}
if (!gBattleResults.usedMasterBall)
{
@@ -980,7 +980,7 @@ void GabbyAndTyAfterInterview(void)
{
gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn2 = gSaveBlock1Ptr->gabbyAndTyData.battleTookMoreThanOneTurn;
gSaveBlock1Ptr->gabbyAndTyData.playerLostAMon2 = gSaveBlock1Ptr->gabbyAndTyData.playerLostAMon;
- gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem2 = gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem;
+ gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem2 = gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem;
gSaveBlock1Ptr->gabbyAndTyData.playerThrewABall2 = gSaveBlock1Ptr->gabbyAndTyData.playerThrewABall;
gSaveBlock1Ptr->gabbyAndTyData.onAir = TRUE;
gSaveBlock1Ptr->gabbyAndTyData.mapnum = gMapHeader.regionMapSectionId;
@@ -1027,7 +1027,7 @@ u8 GabbyAndTyGetLastBattleTrivia(void)
{
return 2;
}
- if (gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem2)
+ if (gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem2)
{
return 3;
}
@@ -6141,7 +6141,7 @@ void DoTVShowInSearchOfTrainers(void)
{
sTVShowState = 5;
}
- else if (gSaveBlock1Ptr->gabbyAndTyData.playerUsedAnItem)
+ else if (gSaveBlock1Ptr->gabbyAndTyData.playerUsedHealingItem)
{
sTVShowState = 6;
}
diff --git a/sym_common.txt b/sym_common.txt
index 3a7d698fd..414d223e9 100644
--- a/sym_common.txt
+++ b/sym_common.txt
@@ -23,57 +23,14 @@
.include "contest.o"
.include "tv.o"
.include "mauville_old_man.o"
-
-gUnknown_03006164: @ 3006164
- .space 0x4
-
-gUnknown_03006168: @ 3006168
- .space 0x4
-
-gUnknown_0300616C: @ 300616C
- .space 0x4
-
-gUnknown_03006170: @ 3006170
- .space 0x4
-
-gUnknown_03006174: @ 3006174
- .space 0x4
-
-gUnknown_03006178: @ 3006178
- .space 0x4
-
-gUnknown_0300617C: @ 300617C
- .space 0x4
-
-gUnknown_03006180: @ 3006180
- .space 0x4
-
-gUnknown_03006184: @ 3006184
- .space 0x4
-
-gUnknown_03006188: @ 3006188
- .space 0x8
-
-gUnknown_03006190: @ 3006190
- .space 0x10
-
-gUnknown_030061A0: @ 30061A0
- .space 0x20
-
-gUnknown_030061C0: @ 30061C0
+ .include "contest_painting_effects.o"
+
.space 0x4
-
-gContestPaintingMonPalette: @ 30061C4
- .space 0xC
-
+
+ .include "contest_painting.o"
.include "field_specials.o"
-
-gCB2_AfterEvolution: @ 30061E8
- .space 0x4
-
-gDexCryScreenState: @ 30061EC
- .space 0x4
-
+ .include "evolution_scene.o"
+ .include "pokedex_cry_screen.o"
.include "save.o"
.include "battle_tower.o"
.include "intro.o"
@@ -84,14 +41,14 @@ gDexCryScreenState: @ 30061EC
.space 0x8
.include "list_menu.o"
-
-gUnknown_03006328: @ 3006328
- .space 0x48
+ .include "party_menu.o"
+
+ .space 0x44
gUnknown_03006370: @ 3006370
.space 0x10
- .include "m4a_2.o"
+ .include "m4a.o"
.include "agb_flash.o"
gRfuState: @ 3007868
diff --git a/sym_ewram.txt b/sym_ewram.txt
index 9e836d0fe..361c0921f 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -140,19 +140,6 @@ gUnknown_02022D00: @ 2022D00
.include "src/scanline_effect.o"
.include "src/option_menu.o"
.include "src/pokedex.o"
-
-gTrainerCards: @ 2039B58
- .space 0x14
-
-gUnknown_02039B6C: @ 2039B6C
- .space 0x2
-
-gUnknown_02039B6E: @ 2039B6E
- .space 0x1A
-
-gUnknown_02039B88: @ 2039B88
- .space 0x160
-
.include "src/trainer_card.o"
.include "src/frontier_pass.o"
.include "src/pokemon_storage_system.o"
@@ -161,14 +148,6 @@ gUnknown_02039B88: @ 2039B88
.include "src/map_name_popup.o"
.include "src/item.o"
.include "src/contest.o"
-
- .align 2
-gUnknown_02039F5C: @ 2039F5C
- .space 0x1
-
-gUnknown_02039F5D: @ 2039F5D
- .space 0x3
-
.include "src/shop.o"
.include "src/fldeff_escalator.o"
.include "src/script_menu.o"
@@ -177,21 +156,12 @@ gUnknown_02039F5D: @ 2039F5D
.include "src/record_mixing.o"
.include "src/secret_base.o"
.include "src/tv.o"
-
-gUnknown_0203A034: @ 203A034
- .space 0x4
-
+ .include "src/contest_link_80F57C4.o"
.include "src/rotating_gate.o"
.include "src/safari_zone.o"
-
-gUnknown_0203A0F4: @ 203A0F4
- .space 0x4
-
+ .include "src/item_use.o"
.include "src/battle_anim_effects_1.o"
-
-gUnknown_0203A100: @ 203A100
- .space 0x10
-
+ .include "src/dragon.o"
.include "src/battle_anim_utility_funcs.o"
.include "src/battle_intro.o"
.include "src/easy_chat.o"