summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_frontier_2.s4
-rw-r--r--asm/battle_tower.s2
-rw-r--r--asm/cable_club.s2842
-rw-r--r--asm/script_pokemon_util_80F87D8.s6
-rw-r--r--asm/trainer_card.s12
-rw-r--r--data/cable_club.s16
-rw-r--r--data/maps/BattleFrontier_BattleTowerLobby/scripts.inc2
-rw-r--r--data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc2
-rw-r--r--data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc2
-rw-r--r--data/scripts/cable_club.inc14
-rw-r--r--data/specials.inc2
-rw-r--r--include/blend_palette.h6
-rw-r--r--include/cable_club.h1
-rw-r--r--include/field_message_box.h10
-rw-r--r--include/field_specials.h1
-rw-r--r--include/link.h11
-rw-r--r--include/menu.h1
-rw-r--r--include/overworld.h3
-rw-r--r--include/rom_8011DC0.h2
-rw-r--r--include/script_pokemon_util_80F87D8.h1
-rw-r--r--include/string_util.h2
-rw-r--r--include/strings.h10
-rw-r--r--include/text.h1
-rw-r--r--include/trainer_card.h9
-rw-r--r--include/util.h1
-rw-r--r--ld_script.txt115
-rw-r--r--songs.mk165
-rw-r--r--sound/song_table.inc34
-rw-r--r--sound/songs/midi/se_a.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_ban.midbin0 -> 148 bytes
-rw-r--r--sound/songs/midi/se_basabasa.midbin0 -> 266 bytes
-rw-r--r--sound/songs/midi/se_bidoro.midbin0 -> 135 bytes
-rw-r--r--sound/songs/midi/se_boo.midbin0 -> 91 bytes
-rw-r--r--sound/songs/midi/se_bowa.midbin0 -> 86 bytes
-rw-r--r--sound/songs/midi/se_bowa2.midbin0 -> 181 bytes
-rw-r--r--sound/songs/midi/se_bt_start.midbin0 -> 334 bytes
-rw-r--r--sound/songs/midi/se_c_gaji.midbin0 -> 80 bytes
-rw-r--r--sound/songs/midi/se_c_maku_d.midbin0 -> 195 bytes
-rw-r--r--sound/songs/midi/se_c_maku_u.midbin0 -> 195 bytes
-rw-r--r--sound/songs/midi/se_c_pasi.midbin0 -> 86 bytes
-rw-r--r--sound/songs/midi/se_c_pikon.midbin0 -> 112 bytes
-rw-r--r--sound/songs/midi/se_c_syu.midbin0 -> 112 bytes
-rw-r--r--sound/songs/midi/se_card.midbin0 -> 184 bytes
-rw-r--r--sound/songs/midi/se_curtain.midbin0 -> 427 bytes
-rw-r--r--sound/songs/midi/se_curtain1.midbin0 -> 418 bytes
-rw-r--r--sound/songs/midi/se_dansa.midbin0 -> 83 bytes
-rw-r--r--sound/songs/midi/se_daugi.midbin0 -> 149 bytes
-rw-r--r--sound/songs/midi/se_dendou.midbin0 -> 703 bytes
-rw-r--r--sound/songs/midi/se_doku.midbin0 -> 107 bytes
-rw-r--r--sound/songs/midi/se_door.midbin0 -> 76 bytes
-rw-r--r--sound/songs/midi/se_e.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_elebeta.midbin0 -> 104 bytes
-rw-r--r--sound/songs/midi/se_esuka.midbin0 -> 174 bytes
-rw-r--r--sound/songs/midi/se_exp.midbin0 -> 621 bytes
-rw-r--r--sound/songs/midi/se_expmax.midbin0 -> 138 bytes
-rw-r--r--sound/songs/midi/se_fu_zaku.midbin0 -> 124 bytes
-rw-r--r--sound/songs/midi/se_fu_zaku2.midbin0 -> 92 bytes
-rw-r--r--sound/songs/midi/se_fu_zuzuzu.midbin0 -> 140 bytes
-rw-r--r--sound/songs/midi/se_fuusen1.midbin0 -> 118 bytes
-rw-r--r--sound/songs/midi/se_fuusen2.midbin0 -> 110 bytes
-rw-r--r--sound/songs/midi/se_fuusen3.midbin0 -> 142 bytes
-rw-r--r--sound/songs/midi/se_hantei1.midbin0 -> 105 bytes
-rw-r--r--sound/songs/midi/se_hantei2.midbin0 -> 143 bytes
-rw-r--r--sound/songs/midi/se_hashi.midbin0 -> 86 bytes
-rw-r--r--sound/songs/midi/se_hazure.midbin0 -> 99 bytes
-rw-r--r--sound/songs/midi/se_hi_turun.midbin0 -> 132 bytes
-rw-r--r--sound/songs/midi/se_hinsi.midbin0 -> 106 bytes
-rw-r--r--sound/songs/midi/se_i.midbin0 -> 75 bytes
-rw-r--r--sound/songs/midi/se_jido_doa.midbin0 -> 72 bytes
-rw-r--r--sound/songs/midi/se_jihanki.midbin0 -> 88 bytes
-rw-r--r--sound/songs/midi/se_jite_pyoko.midbin0 -> 83 bytes
-rw-r--r--sound/songs/midi/se_jitensya.midbin0 -> 68 bytes
-rw-r--r--sound/songs/midi/se_jyuni.midbin0 -> 267 bytes
-rw-r--r--sound/songs/midi/se_kaidan.midbin0 -> 124 bytes
-rw-r--r--sound/songs/midi/se_kaifuku.midbin0 -> 91 bytes
-rw-r--r--sound/songs/midi/se_ki_gasyan.midbin0 -> 152 bytes
-rw-r--r--sound/songs/midi/se_kon.midbin0 -> 103 bytes
-rw-r--r--sound/songs/midi/se_kon2.midbin0 -> 103 bytes
-rw-r--r--sound/songs/midi/se_kon3.midbin0 -> 103 bytes
-rw-r--r--sound/songs/midi/se_kon4.midbin0 -> 103 bytes
-rw-r--r--sound/songs/midi/se_kouka_h.midbin0 -> 271 bytes
-rw-r--r--sound/songs/midi/se_kouka_l.midbin0 -> 103 bytes
-rw-r--r--sound/songs/midi/se_kouka_m.midbin0 -> 123 bytes
-rw-r--r--sound/songs/se_a.s45
-rw-r--r--sound/songs/se_ban.s70
-rw-r--r--sound/songs/se_basabasa.s123
-rw-r--r--sound/songs/se_bidoro.s61
-rw-r--r--sound/songs/se_boo.s47
-rw-r--r--sound/songs/se_bowa.s45
-rw-r--r--sound/songs/se_bowa2.s83
-rw-r--r--sound/songs/se_bt_start.s212
-rw-r--r--sound/songs/se_c_gaji.s44
-rw-r--r--sound/songs/se_c_maku_d.s95
-rw-r--r--sound/songs/se_c_maku_u.s95
-rw-r--r--sound/songs/se_c_pasi.s45
-rw-r--r--sound/songs/se_c_pikon.s54
-rw-r--r--sound/songs/se_c_syu.s54
-rw-r--r--sound/songs/se_card.s84
-rw-r--r--sound/songs/se_curtain.s166
-rw-r--r--sound/songs/se_curtain1.s168
-rw-r--r--sound/songs/se_dansa.s46
-rw-r--r--sound/songs/se_daugi.s80
-rw-r--r--sound/songs/se_dendou.s197
-rw-r--r--sound/songs/se_doku.s50
-rw-r--r--sound/songs/se_door.s42
-rw-r--r--sound/songs/se_e.s45
-rw-r--r--sound/songs/se_elebeta.s71
-rw-r--r--sound/songs/se_esuka.s93
-rw-r--r--sound/songs/se_exp.s333
-rw-r--r--sound/songs/se_expmax.s76
-rw-r--r--sound/songs/se_fu_zaku.s54
-rw-r--r--sound/songs/se_fu_zaku2.s48
-rw-r--r--sound/songs/se_fu_zuzuzu.s73
-rw-r--r--sound/songs/se_fuusen1.s53
-rw-r--r--sound/songs/se_fuusen2.s52
-rw-r--r--sound/songs/se_fuusen3.s60
-rw-r--r--sound/songs/se_hantei1.s58
-rw-r--r--sound/songs/se_hantei2.s70
-rw-r--r--sound/songs/se_hashi.s46
-rw-r--r--sound/songs/se_hazure.s55
-rw-r--r--sound/songs/se_hi_turun.s62
-rw-r--r--sound/songs/se_hinsi.s50
-rw-r--r--sound/songs/se_i.s45
-rw-r--r--sound/songs/se_jido_doa.s41
-rw-r--r--sound/songs/se_jihanki.s46
-rw-r--r--sound/songs/se_jite_pyoko.s45
-rw-r--r--sound/songs/se_jitensya.s40
-rw-r--r--sound/songs/se_jyuni.s127
-rw-r--r--sound/songs/se_kaidan.s61
-rw-r--r--sound/songs/se_kaifuku.s46
-rw-r--r--sound/songs/se_ki_gasyan.s76
-rw-r--r--sound/songs/se_kon.s53
-rw-r--r--sound/songs/se_kon2.s53
-rw-r--r--sound/songs/se_kon3.s53
-rw-r--r--sound/songs/se_kon4.s53
-rw-r--r--sound/songs/se_kouka_h.s105
-rw-r--r--sound/songs/se_kouka_l.s56
-rw-r--r--sound/songs/se_kouka_m.s82
-rw-r--r--src/battle_anim_80A5C6C.c1
-rw-r--r--src/battle_anim_80A9C70.c2
-rw-r--r--src/battle_controllers.c2
-rw-r--r--src/battle_dome.c4
-rw-r--r--src/battle_factory.c2
-rw-r--r--src/battle_gfx_sfx_util.c1
-rw-r--r--src/battle_transition.c2
-rw-r--r--src/blend_palette.c19
-rw-r--r--src/cable_club.c1299
-rw-r--r--src/contest.c1
-rw-r--r--src/evolution_scene.c2
-rwxr-xr-xsrc/field_message_box.c2
-rw-r--r--src/hall_of_fame.c2
-rw-r--r--src/intro.c2
-rw-r--r--src/mystery_event_menu.c2
-rw-r--r--src/palette.c2
-rw-r--r--src/pokeblock_feed.c2
-rw-r--r--src/pokemon_animation.c2
-rw-r--r--src/rom_8011DC0.c4
-rw-r--r--src/start_menu.c4
-rw-r--r--src/string_util.c104
-rw-r--r--src/text.c68
-rw-r--r--src/tileset_anims.c2
-rw-r--r--src/util.c18
162 files changed, 1732 insertions, 7281 deletions
diff --git a/asm/battle_frontier_2.s b/asm/battle_frontier_2.s
index 4df690e59..72be464fd 100644
--- a/asm/battle_frontier_2.s
+++ b/asm/battle_frontier_2.s
@@ -4152,7 +4152,7 @@ _081A1AEA:
cmp r3, r0
blt _081A1AEA
_081A1B00:
- bl sub_80F94E8
+ bl ReducePlayerPartyToThree
pop {r4-r7}
pop {r0}
bx r0
@@ -17008,7 +17008,7 @@ _081A87EC:
ldrh r1, [r0]
movs r0, 0x64
muls r0, r1
- ldr r1, =gBattleScripting + 0x14
+ ldr r1, =gPlayerParty - 100
adds r0, r1
ldr r1, =0x00000e12
adds r3, r1
diff --git a/asm/battle_tower.s b/asm/battle_tower.s
index 2312b63bd..654083aea 100644
--- a/asm/battle_tower.s
+++ b/asm/battle_tower.s
@@ -3475,7 +3475,7 @@ _08163FCC:
adds r1, r0, 0
movs r0, 0x64
muls r0, r1
- ldr r1, =gBattleScripting + 0x14
+ ldr r1, =gPlayerParty - 100
adds r0, r1
movs r1, 0x2C
muls r1, r4
diff --git a/asm/cable_club.s b/asm/cable_club.s
deleted file mode 100644
index 6f4917a19..000000000
--- a/asm/cable_club.s
+++ /dev/null
@@ -1,2842 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_80B236C
-sub_80B236C: @ 80B236C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, =sub_80B2634
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080B23A0
- adds r0, r4, 0
- movs r1, 0x50
- 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 r6, [r1, 0xA]
- strh r5, [r1, 0xC]
-_080B23A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B236C
-
- thumb_func_start sub_80B23B0
-sub_80B23B0: @ 80B23B0
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, =gStringVar1
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl SetStandardWindowBorderStyle
- ldr r5, =gStringVar4
- ldr r1, =gText_XPLink
- adds r0, r5, 0
- bl StringExpandPlaceholders
- movs r0, 0x1
- adds r1, r5, 0
- movs r2, 0x58
- bl GetStringCenterAlignXOffset
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl AddTextPrinterParameterized
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B23B0
-
- thumb_func_start sub_80B241C
-sub_80B241C: @ 80B241C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_819746C
- adds r0, r4, 0
- movs r1, 0x3
- bl CopyWindowToVram
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B241C
-
- thumb_func_start sub_80B243C
-sub_80B243C: @ 80B243C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r5, r0
- beq _080B2472
- cmp r5, 0x1
- bhi _080B2468
- ldrh r0, [r4, 0xA]
- bl sub_80B241C
- b _080B2470
- .pool
-_080B2468:
- ldrh r0, [r4, 0xA]
- adds r1, r5, 0
- bl sub_80B23B0
-_080B2470:
- strh r5, [r4, 0x6]
-_080B2472:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B243C
-
- thumb_func_start sub_80B2478
-sub_80B2478: @ 80B2478
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl GetLinkPlayerDataExchangeStatusTimed
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x6
- bhi _080B24F0
- lsls r0, 2
- ldr r1, =_080B24A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B24A0:
- .4byte _080B24BC
- .4byte _080B24F0
- .4byte _080B24C0
- .4byte _080B24C4
- .4byte _080B24C8
- .4byte _080B24CC
- .4byte _080B24EC
-_080B24BC:
- movs r0, 0x1
- b _080B24F2
-_080B24C0:
- movs r0, 0x3
- b _080B24F2
-_080B24C4:
- movs r0, 0x7
- b _080B24F2
-_080B24C8:
- movs r0, 0x9
- b _080B24F2
-_080B24CC:
- ldr r4, =gStringVar1
- bl GetLinkPlayerCount_2
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r0, 0x4
- b _080B24F2
- .pool
-_080B24EC:
- movs r0, 0xA
- b _080B24F2
-_080B24F0:
- movs r0, 0
-_080B24F2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2478
-
- thumb_func_start sub_80B24F8
-sub_80B24F8: @ 80B24F8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl HasLinkErrorOccurred
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B250E
- movs r0, 0
- b _080B251E
-_080B250E:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B2D2C
- str r0, [r1]
- movs r0, 0x1
-_080B251E:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B24F8
-
- thumb_func_start sub_80B252C
-sub_80B252C: @ 80B252C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B2570
- bl IsLinkConnectionEstablished
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080B2570
- ldr r0, =gLinkType
- strh r1, [r0]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80B2CEC
- str r1, [r0]
- movs r0, 0x1
- b _080B2572
- .pool
-_080B2570:
- movs r0, 0
-_080B2572:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B252C
-
- thumb_func_start sub_80B2578
-sub_80B2578: @ 80B2578
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkConnectionEstablished
- lsls r0, 24
- cmp r0, 0
- beq _080B258E
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
-_080B258E:
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080B25A4
- movs r0, 0
- b _080B25BA
- .pool
-_080B25A4:
- ldr r1, =gLinkType
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80B2CEC
- str r1, [r0]
- movs r0, 0x1
-_080B25BA:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2578
-
- thumb_func_start sub_80B25CC
-sub_80B25CC: @ 80B25CC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetSioMultiSI
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B25E2
- movs r0, 0
- b _080B25F2
-_080B25E2:
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B2D2C
- str r0, [r1]
- movs r0, 0x1
-_080B25F2:
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B25CC
-
- thumb_func_start sub_80B2600
-sub_80B2600: @ 80B2600
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080B262A
- movs r0, 0x2
- bl sub_800A4D8
- adds r0, r4, 0
- bl DestroyTask
-_080B262A:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2600
-
- thumb_func_start sub_80B2634
-sub_80B2634: @ 80B2634
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _080B266C
- bl OpenLinkTimed
- bl sub_800AB98
- bl ResetLinkPlayers
- ldr r0, =gUnknown_08550594
- bl AddWindow
- strh r0, [r4, 0xA]
- b _080B2678
- .pool
-_080B266C:
- cmp r2, 0x9
- ble _080B2678
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, =sub_80B2688
- str r1, [r0]
-_080B2678:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2634
-
- thumb_func_start sub_80B2688
-sub_80B2688: @ 80B2688
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80B252C
- cmp r0, 0x1
- beq _080B26FC
- adds r0, r4, 0
- bl sub_80B2578
- cmp r0, 0x1
- beq _080B26FC
- cmp r5, 0x1
- bls _080B26FC
- movs r0, 0x1
- bl SetSuppressLinkErrorMessage
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- movs r0, 0
- strh r0, [r4, 0xE]
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B26EC
- movs r0, 0x15
- bl PlaySE
- ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3
- bl ShowFieldAutoScrollMessage
- ldr r0, =sub_80B270C
- b _080B26FA
- .pool
-_080B26EC:
- movs r0, 0x16
- bl PlaySE
- ldr r0, =OldaleTown_PokemonCenter_2F_Text_278131
- bl ShowFieldAutoScrollMessage
- ldr r0, =sub_80B2918
-_080B26FA:
- str r0, [r4]
-_080B26FC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2688
-
- thumb_func_start sub_80B270C
-sub_80B270C: @ 80B270C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80B252C
- cmp r0, 0x1
- beq _080B274C
- adds r0, r4, 0
- bl sub_80B25CC
- cmp r0, 0x1
- beq _080B274C
- adds r0, r4, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B274C
- bl textbox_any_visible
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080B274C
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0xE]
- ldr r0, =sub_80B275C
- str r0, [r1]
-_080B274C:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B270C
-
- thumb_func_start sub_80B275C
-sub_80B275C: @ 80B275C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r8, r0
- ldr r0, =gTasks + 0x8
- mov r9, r0
- mov r7, r8
- add r7, r9
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80B252C
- cmp r0, 0x1
- beq _080B27E4
- adds r0, r4, 0
- bl sub_80B25CC
- cmp r0, 0x1
- beq _080B27E4
- adds r0, r4, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B27E4
- adds r6, r5, 0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80B243C
- ldr r0, =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B27E4
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r5, r0
- blt _080B27E4
- adds r0, r6, 0
- bl sub_800AA04
- ldrh r0, [r7, 0xA]
- bl sub_80B241C
- ldr r0, =gStringVar1
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780F2
- bl ShowFieldAutoScrollMessage
- mov r0, r9
- subs r0, 0x8
- add r0, r8
- ldr r1, =sub_80B2804
- str r1, [r0]
-_080B27E4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B275C
-
- thumb_func_start sub_80B2804
-sub_80B2804: @ 80B2804
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- adds r0, r5, 0
- bl sub_80B252C
- cmp r0, 0x1
- beq _080B2898
- adds r0, r5, 0
- bl sub_80B25CC
- cmp r0, 0x1
- beq _080B2898
- adds r0, r5, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B2898
- bl textbox_any_visible
- lsls r0, 24
- cmp r0, 0
- bne _080B2898
- bl sub_800AA48
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B2852
- ldr r0, =gMain
- ldrh r1, [r0, 0x2C]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B2878
-_080B2852:
- ldr r0, =OldaleTown_PokemonCenter_2F_Text_2780B3
- bl ShowFieldAutoScrollMessage
- ldr r1, =gTasks
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80B270C
- str r1, [r0]
- b _080B2898
- .pool
-_080B2878:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B2898
- movs r0, 0x5
- bl PlaySE
- bl sub_800A620
- ldr r0, =gTasks
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B28A8
- str r0, [r1]
-_080B2898:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2804
-
- thumb_func_start sub_80B28A8
-sub_80B28A8: @ 80B28A8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldrb r7, [r5, 0xA]
- ldrb r6, [r5, 0xC]
- adds r0, r4, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B290A
- adds r0, r4, 0
- bl sub_80B2D6C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B290A
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800AA48
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _080B28F4
- ldr r0, =sub_80B2D2C
- b _080B2908
- .pool
-_080B28F4:
- ldr r4, =gSpecialVar_Result
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80B2478
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- beq _080B290A
- ldr r0, =sub_80B2A08
-_080B2908:
- str r0, [r5]
-_080B290A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B28A8
-
- thumb_func_start sub_80B2918
-sub_80B2918: @ 80B2918
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r7, r0, r1
- ldrb r6, [r7, 0xA]
- ldrb r5, [r7, 0xC]
- adds r0, r4, 0
- bl sub_80B252C
- cmp r0, 0x1
- beq _080B29E6
- adds r0, r4, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B29E6
- ldr r4, =gSpecialVar_Result
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80B2478
- adds r1, r0, 0
- strh r1, [r4]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _080B29E6
- subs r0, r1, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080B297C
- bl sub_800AC34
- bl HideFieldMessageBox
- ldr r0, =sub_80B2CB0
- b _080B29E4
- .pool
-_080B297C:
- cmp r2, 0x7
- beq _080B2984
- cmp r2, 0x9
- bne _080B2994
-_080B2984:
- bl CloseLink
- bl HideFieldMessageBox
- ldr r0, =sub_80B2CB0
- b _080B29E4
- .pool
-_080B2994:
- bl GetLinkPlayerCount_2
- ldr r4, =gFieldLinkPlayerCount
- strb r0, [r4]
- bl GetMultiplayerId
- ldr r1, =gUnknown_03005DB4
- strb r0, [r1]
- ldrb r0, [r4]
- bl sub_800AA04
- ldr r4, =gBlockSendBuffer
- adds r0, r4, 0
- bl sub_80C30A4
- ldr r0, =gUnknown_0203CEF8
- mov r8, r0
- ldrb r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gBattleScripting + 0x14
- adds r0, r5
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r4, 0
- adds r1, 0x54
- strh r0, [r1]
- mov r1, r8
- ldrb r0, [r1, 0x1]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, 0x56
- strh r0, [r4]
- ldr r0, =sub_80B2C30
-_080B29E4:
- str r0, [r7]
-_080B29E6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2918
-
- thumb_func_start sub_80B2A08
-sub_80B2A08: @ 80B2A08
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r7, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B2ACE
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x4
- bne _080B2A38
- bl Link_AnyPartnersPlayingRubyOrSapphire
- cmp r0, 0
- bne _080B2A4A
- bl sub_800AC34
- b _080B2A4E
- .pool
-_080B2A38:
- cmp r0, 0x3
- bne _080B2A42
- bl sub_800AC34
- b _080B2A4E
-_080B2A42:
- cmp r0, 0x7
- beq _080B2A4A
- cmp r0, 0x9
- bne _080B2A6C
-_080B2A4A:
- bl CloseLink
-_080B2A4E:
- bl HideFieldMessageBox
- ldr r0, =gTasks
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B2CB0
- str r0, [r1]
- b _080B2ACE
- .pool
-_080B2A6C:
- bl GetLinkPlayerCount_2
- ldr r4, =gFieldLinkPlayerCount
- strb r0, [r4]
- bl GetMultiplayerId
- ldr r1, =gUnknown_03005DB4
- strb r0, [r1]
- ldrb r0, [r4]
- bl sub_800AA04
- ldr r4, =gBlockSendBuffer
- adds r0, r4, 0
- bl sub_80C30A4
- ldr r0, =gUnknown_0203CEF8
- mov r8, r0
- ldrb r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gBattleScripting + 0x14
- adds r0, r5
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r1, r4, 0
- adds r1, 0x54
- strh r0, [r1]
- mov r1, r8
- ldrb r0, [r1, 0x1]
- muls r0, r6
- adds r0, r5
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r4, 0x56
- strh r0, [r4]
- ldr r1, =gTasks
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80B2C30
- str r1, [r0]
- movs r0, 0x2
- bl sub_800A4D8
-_080B2ACE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2A08
-
- thumb_func_start sub_80B2AF4
-sub_80B2AF4: @ 80B2AF4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r2, 0
- movs r7, 0
- ldr r1, =gStringVar1
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, =gStringVar2
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- movs r1, 0
- movs r0, 0xB
- mov r10, r0
- ldr r0, =gSpeciesNames
- mov r9, r0
-_080B2B20:
- lsls r0, r1, 1
- adds r1, 0x1
- mov r8, r1
- ldr r1, [sp]
- adds r4, r0, r1
- ldr r5, [sp, 0x4]
- movs r6, 0x1
-_080B2B2E:
- ldrh r0, [r4]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080B2B5E
- cmp r7, 0
- bne _080B2B48
- mov r1, r10
- muls r1, r0
- add r1, r9
- ldr r0, =gStringVar1
- bl StringCopy
- movs r2, 0x1
-_080B2B48:
- cmp r7, 0x1
- bne _080B2B5C
- ldrh r0, [r4]
- mov r1, r10
- muls r1, r0
- add r1, r9
- ldr r0, =gStringVar2
- bl StringCopy
- movs r2, 0x1
-_080B2B5C:
- adds r7, 0x1
-_080B2B5E:
- adds r5, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080B2B2E
- mov r1, r8
- cmp r1, 0x1
- ble _080B2B20
- ldr r0, =gSpecialVar_0x8005
- strh r7, [r0]
- adds r0, r2, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2AF4
-
- thumb_func_start task_map_chg_seq_0807EC34
-task_map_chg_seq_0807EC34: @ 80B2B94
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, =gTrainerCards
- ldrh r0, [r5]
- cmp r0, 0x1
- bne _080B2C10
- ldr r0, =gLinkType
- ldrh r2, [r0]
- ldr r0, =0x00002266
- cmp r2, r0
- beq _080B2BB2
- adds r0, 0x11
- cmp r2, r0
- bne _080B2BEC
-_080B2BB2:
- adds r0, r1, 0
- adds r0, 0x54
- adds r1, 0xB8
- bl sub_80B2AF4
- cmp r0, 0
- beq _080B2BEC
- movs r0, 0xB
- strh r0, [r5]
- bl sub_800AC34
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80B2CB0
- str r1, [r0]
- b _080B2C22
- .pool
-_080B2BEC:
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x12]
- bl sub_80B241C
- bl EnableBothScriptContexts
- lsls r0, r4, 24
- lsrs r0, 24
- bl DestroyTask
- b _080B2C22
- .pool
-_080B2C10:
- bl sub_800AC34
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B2CB0
- str r0, [r1]
-_080B2C22:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end task_map_chg_seq_0807EC34
-
- thumb_func_start sub_80B2C30
-sub_80B2C30: @ 80B2C30
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80B24F8
- cmp r0, 0x1
- beq _080B2C9C
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A9A8
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B2C9C
- movs r4, 0
- ldr r6, =gLinkPlayers
- b _080B2C7E
- .pool
-_080B2C5C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, =gTrainerCards
- adds r0, r1
- lsls r1, r4, 8
- ldr r2, =gBlockRecvBuffer
- adds r1, r2
- lsls r2, r4, 3
- subs r2, r4
- lsls r2, 2
- adds r2, r6
- ldrb r2, [r2]
- bl sub_80C3120
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080B2C7E:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _080B2C5C
- movs r0, 0
- bl SetSuppressLinkErrorMessage
- bl ResetBlockReceivedFlags
- ldr r0, =gSpecialVar_Result
- adds r1, r5, 0
- bl task_map_chg_seq_0807EC34
-_080B2C9C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2C30
-
- thumb_func_start sub_80B2CB0
-sub_80B2CB0: @ 80B2CB0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B2CDE
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x12]
- bl sub_80B241C
- bl EnableBothScriptContexts
- ldrb r0, [r4, 0x12]
- bl RemoveWindow
- adds r0, r5, 0
- bl DestroyTask
-_080B2CDE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2CB0
-
- thumb_func_start sub_80B2CEC
-sub_80B2CEC: @ 80B2CEC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gSpecialVar_Result
- movs r0, 0x5
- strh r0, [r1]
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x12]
- bl sub_80B241C
- bl sub_8098374
- ldrb r0, [r4, 0x12]
- bl RemoveWindow
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2CEC
-
- thumb_func_start sub_80B2D2C
-sub_80B2D2C: @ 80B2D2C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, =gSpecialVar_Result
- movs r0, 0x6
- strh r0, [r1]
- ldr r0, =gTasks
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x12]
- bl sub_80B241C
- ldrb r0, [r4, 0x12]
- bl RemoveWindow
- bl HideFieldMessageBox
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2D2C
-
- thumb_func_start sub_80B2D6C
-sub_80B2D6C: @ 80B2D6C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- strh r0, [r2, 0x10]
- lsls r0, 16
- movs r1, 0x96
- lsls r1, 18
- cmp r0, r1
- bgt _080B2D94
- movs r0, 0
- b _080B2D9A
- .pool
-_080B2D94:
- ldr r0, =sub_80B2D2C
- str r0, [r2]
- movs r0, 0x1
-_080B2D9A:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B2D6C
-
- thumb_func_start sub_80B2DA4
-sub_80B2DA4: @ 80B2DA4
- push {r4,lr}
- movs r3, 0x2
- movs r2, 0x2
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- cmp r0, 0x2
- beq _080B2DDC
- cmp r0, 0x2
- bgt _080B2DC0
- cmp r0, 0x1
- beq _080B2DCA
- b _080B2E34
- .pool
-_080B2DC0:
- cmp r0, 0x5
- beq _080B2DEC
- cmp r0, 0x9
- beq _080B2E00
- b _080B2E34
-_080B2DCA:
- movs r3, 0x2
- ldr r1, =gLinkType
- ldr r4, =0x00002233
- b _080B2E30
- .pool
-_080B2DDC:
- movs r3, 0x2
- ldr r1, =gLinkType
- ldr r4, =0x00002244
- b _080B2E30
- .pool
-_080B2DEC:
- movs r3, 0x4
- movs r2, 0x4
- ldr r1, =gLinkType
- ldr r4, =0x00002255
- b _080B2E30
- .pool
-_080B2E00:
- movs r3, 0x2
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080B2E2C
- ldr r1, =gLinkType
- ldr r4, =0x00002266
- b _080B2E30
- .pool
-_080B2E2C:
- ldr r1, =gLinkType
- ldr r4, =0x00002277
-_080B2E30:
- adds r0, r4, 0
- strh r0, [r1]
-_080B2E34:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_80B236C
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2DA4
-
- thumb_func_start sub_80B2E4C
-sub_80B2E4C: @ 80B2E4C
- push {lr}
- ldr r1, =gLinkType
- ldr r2, =0x00001133
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x2
- movs r1, 0x2
- bl sub_80B236C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2E4C
-
- thumb_func_start sub_80B2E74
-sub_80B2E74: @ 80B2E74
- push {lr}
- ldr r1, =gSpecialVar_Result
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gLinkType
- ldr r2, =0x00003311
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- bl sub_80B236C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2E74
-
- thumb_func_start sub_80B2EA8
-sub_80B2EA8: @ 80B2EA8
- push {r4,lr}
- ldr r4, =sub_80B2EE4
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080B2ED4
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, =gTasks
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
-_080B2ED4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2EA8
-
- thumb_func_start sub_80B2EE4
-sub_80B2EE4: @ 80B2EE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080B2F0C
- cmp r0, 0x1
- beq _080B2FB4
- b _080B2FC6
- .pool
-_080B2F0C:
- ldr r0, =gSpecialVar_Result
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _080B2FA8
- movs r7, 0
- movs r0, 0
- mov r8, r0
- mov r9, r0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- cmp r7, r5
- bge _080B2F74
- ldr r0, =gLinkPlayers
- ldrb r2, [r0]
- ldrh r3, [r0, 0x1A]
- subs r1, r2, 0x1
- mov r12, r0
- cmp r1, 0x1
- bhi _080B2F4A
- b _080B2F6E
- .pool
-_080B2F44:
- movs r1, 0x1
- mov r8, r1
- b _080B2F56
-_080B2F4A:
- cmp r2, 0x3
- bne _080B2F56
- cmp r3, 0x1
- bne _080B2F56
- movs r0, 0x1
- mov r9, r0
-_080B2F56:
- adds r4, 0x1
- cmp r4, r5
- bge _080B2F74
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- add r0, r12
- ldrb r2, [r0]
- ldrh r3, [r0, 0x1A]
- subs r0, r2, 0x1
- cmp r0, 0x1
- bhi _080B2F4A
-_080B2F6E:
- cmp r3, 0x1
- bne _080B2F44
- movs r7, 0x1
-_080B2F74:
- mov r1, r8
- cmp r1, 0
- beq _080B2F82
- mov r0, r9
- cmp r0, 0
- beq _080B2F82
- movs r7, 0x1
-_080B2F82:
- cmp r7, 0
- beq _080B2FA8
- ldr r1, =gSpecialVar_Result
- movs r0, 0xC
- strh r0, [r1]
- bl sub_800AD10
- ldr r1, =gTasks
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _080B2FC6
- .pool
-_080B2FA8:
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
- b _080B2FC6
-_080B2FB4:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B2FC6
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
-_080B2FC6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2EE4
-
- thumb_func_start sub_80B2FD8
-sub_80B2FD8: @ 80B2FD8
- push {lr}
- ldr r1, =gLinkType
- ldr r2, =0x00004411
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- bl sub_80B236C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B2FD8
-
- thumb_func_start sub_80B3000
-sub_80B3000: @ 80B3000
- push {lr}
- ldr r1, =gLinkType
- ldr r2, =0x00006601
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x4
- movs r1, 0x4
- bl sub_80B236C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3000
-
- thumb_func_start sub_80B3028
-sub_80B3028: @ 80B3028
- push {lr}
- ldr r1, =gLinkType
- ldr r2, =0x00006602
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, =gBattleTypeFlags
- movs r0, 0
- str r0, [r1]
- movs r0, 0x2
- movs r1, 0x4
- bl sub_80B236C
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3028
-
- thumb_func_start sub_80B3050
-sub_80B3050: @ 80B3050
- push {lr}
- ldr r0, =sub_80B3144
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080B3068
- movs r0, 0xFF
- b _080B3134
- .pool
-_080B3068:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x8
- bhi _080B3128
- lsls r0, 2
- ldr r1, =_080B3084
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B3084:
- .4byte _080B30A8
- .4byte _080B30B8
- .4byte _080B3110
- .4byte _080B3120
- .4byte _080B30C8
- .4byte _080B3128
- .4byte _080B3128
- .4byte _080B3128
- .4byte _080B30D8
-_080B30A8:
- ldr r1, =gLinkType
- ldr r2, =0x00002233
- b _080B3124
- .pool
-_080B30B8:
- ldr r1, =gLinkType
- ldr r2, =0x00002244
- b _080B3124
- .pool
-_080B30C8:
- ldr r1, =gLinkType
- ldr r2, =0x00002255
- b _080B3124
- .pool
-_080B30D8:
- ldr r0, =gSaveBlock2Ptr
- ldr r0, [r0]
- ldr r1, =0x00000ca9
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080B3100
- ldr r1, =gLinkType
- ldr r2, =0x00002266
- b _080B3124
- .pool
-_080B3100:
- ldr r1, =gLinkType
- ldr r2, =0x00002277
- b _080B3124
- .pool
-_080B3110:
- ldr r1, =gLinkType
- ldr r2, =0x00001111
- b _080B3124
- .pool
-_080B3120:
- ldr r1, =gLinkType
- ldr r2, =0x00003322
-_080B3124:
- adds r0, r2, 0
- strh r0, [r1]
-_080B3128:
- ldr r0, =sub_80B3144
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
-_080B3134:
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80B3050
-
- thumb_func_start sub_80B3144
-sub_80B3144: @ 80B3144
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, =gTasks + 0x8
- adds r4, r1, r0
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0
- bne _080B3178
- bl OpenLink
- bl ResetLinkPlayers
- ldr r0, =task00_08081A90
- movs r1, 0x50
- bl CreateTask
- b _080B3184
- .pool
-_080B3178:
- cmp r2, 0x9
- ble _080B3184
- subs r0, 0x8
- adds r0, r1, r0
- ldr r1, =sub_80B3194
- str r1, [r0]
-_080B3184:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3144
-
- thumb_func_start sub_80B3194
-sub_80B3194: @ 80B3194
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080B31DA
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B31CC
- ldr r0, =gTasks
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B31E8
- b _080B31D8
- .pool
-_080B31CC:
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B3220
-_080B31D8:
- str r0, [r1]
-_080B31DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3194
-
- thumb_func_start sub_80B31E8
-sub_80B31E8: @ 80B31E8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_800AA48
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B3212
- bl sub_800A620
- ldr r0, =gTasks
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, =sub_80B3220
- str r0, [r1]
-_080B3212:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B31E8
-
- thumb_func_start sub_80B3220
-sub_80B3220: @ 80B3220
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B3248
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3248
- bl sub_800AB18
- bl sub_8009F18
- adds r0, r4, 0
- bl DestroyTask
-_080B3248:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3220
-
- thumb_func_start sub_80B3254
-sub_80B3254: @ 80B3254
- push {lr}
- bl SaveGame
- pop {r0}
- bx r0
- thumb_func_end sub_80B3254
-
- thumb_func_start sub_80B3260
-sub_80B3260: @ 80B3260
- push {lr}
- cmp r0, 0x2
- beq _080B3284
- cmp r0, 0x2
- bgt _080B3270
- cmp r0, 0x1
- beq _080B327A
- b _080B32A6
-_080B3270:
- cmp r0, 0x5
- beq _080B3290
- cmp r0, 0x9
- beq _080B32A0
- b _080B32A6
-_080B327A:
- ldr r1, =gBattleTypeFlags
- movs r0, 0xA
- b _080B32A4
- .pool
-_080B3284:
- ldr r1, =gBattleTypeFlags
- movs r0, 0xB
- b _080B32A4
- .pool
-_080B3290:
- bl sub_80F94E8
- ldr r1, =gBattleTypeFlags
- movs r0, 0x4B
- b _080B32A4
- .pool
-_080B32A0:
- ldr r1, =gBattleTypeFlags
- ldr r0, =0x0000014b
-_080B32A4:
- str r0, [r1]
-_080B32A6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3260
-
- thumb_func_start sub_80B32B4
-sub_80B32B4: @ 80B32B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bhi _080B33A0
- lsls r0, 2
- ldr r1, =_080B32E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B32E0:
- .4byte _080B32F8
- .4byte _080B3318
- .4byte _080B3328
- .4byte _080B3338
- .4byte _080B333E
- .4byte _080B3354
-_080B32F8:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r1, =gLinkType
- ldr r2, =0x00002211
- adds r0, r2, 0
- strh r0, [r1]
- bl ClearLinkCallback_2
- b _080B3346
- .pool
-_080B3318:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- b _080B3342
- .pool
-_080B3328:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B33A0
- b _080B3346
-_080B3338:
- bl sub_800AC34
- b _080B3346
-_080B333E:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
-_080B3342:
- cmp r0, 0
- bne _080B33A0
-_080B3346:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B33A0
- .pool
-_080B3354:
- ldr r0, =gLinkPlayers
- ldr r0, [r0, 0x4]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B3370
- ldr r0, =0x000001dd
- bl PlayMapChosenOrBattleBGM
- b _080B3378
- .pool
-_080B3370:
- movs r0, 0xEE
- lsls r0, 1
- bl PlayMapChosenOrBattleBGM
-_080B3378:
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_80B3260
- bl overworld_free_bg_tilemaps
- ldr r1, =gTrainerBattleOpponent_A
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_80B360C
- str r0, [r1, 0x8]
- adds r0, r5, 0
- bl DestroyTask
-_080B33A0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B32B4
-
- thumb_func_start sub_80B33BC
-sub_80B33BC: @ 80B33BC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x7
- bls _080B33D6
- b _080B3532
-_080B33D6:
- lsls r0, 2
- ldr r1, =_080B33E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_080B33E8:
- .4byte _080B3408
- .4byte _080B342C
- .4byte _080B3444
- .4byte _080B3458
- .4byte _080B34B0
- .4byte _080B34C4
- .4byte _080B34CE
- .4byte _080B34DE
-_080B3408:
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- ldr r0, =gLinkType
- ldr r2, =0x00002211
- adds r1, r2, 0
- strh r1, [r0]
- bl ClearLinkCallback_2
- movs r0, 0x1
- strh r0, [r6]
- b _080B3532
- .pool
-_080B342C:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080B343A
- b _080B3532
-_080B343A:
- movs r0, 0x2
- strh r0, [r6]
- b _080B3532
- .pool
-_080B3444:
- ldr r1, =gLocalLinkPlayer
- movs r0, 0
- movs r2, 0x1C
- bl SendBlock
- movs r0, 0x3
- strh r0, [r6]
- b _080B3532
- .pool
-_080B3458:
- bl GetBlockReceivedStatus
- adds r4, r0, 0
- bl sub_800A9D8
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B3532
- movs r4, 0
- ldr r5, =gLinkPlayers
- b _080B349A
- .pool
-_080B3474:
- lsls r1, r4, 8
- ldr r2, =gBlockRecvBuffer
- adds r0, r5, 0
- adds r1, r2
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r5, 0
- bl sub_800B524
- lsls r0, r4, 24
- lsrs r0, 24
- bl ResetBlockReceivedFlag
- adds r5, 0x1C
- adds r4, 0x1
-_080B349A:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- blt _080B3474
- movs r0, 0x4
- strh r0, [r6]
- b _080B3532
- .pool
-_080B34B0:
- ldrh r0, [r6, 0x2]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B3532
- movs r0, 0x5
- strh r0, [r6]
- b _080B3532
-_080B34C4:
- bl sub_800ADF8
- movs r0, 0x6
- strh r0, [r6]
- b _080B3532
-_080B34CE:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080B3532
- movs r0, 0x7
- strh r0, [r6]
- b _080B3532
-_080B34DE:
- ldr r0, =gLinkPlayers
- ldr r0, [r0, 0x4]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B34FC
- ldr r0, =0x000001dd
- bl PlayMapChosenOrBattleBGM
- b _080B3504
- .pool
-_080B34FC:
- movs r0, 0xEE
- lsls r0, 1
- bl PlayMapChosenOrBattleBGM
-_080B3504:
- ldr r1, =gLinkPlayers
- ldr r0, =0x00002211
- str r0, [r1, 0x14]
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- bl sub_80B3260
- bl overworld_free_bg_tilemaps
- ldr r1, =gTrainerBattleOpponent_A
- movs r3, 0x80
- lsls r3, 4
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, =CB2_InitBattle
- bl SetMainCallback2
- ldr r1, =gMain
- ldr r0, =sub_80B360C
- str r0, [r1, 0x8]
- adds r0, r4, 0
- bl DestroyTask
-_080B3532:
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B33BC
-
- thumb_func_start sub_80B3554
-sub_80B3554: @ 80B3554
- push {r4,lr}
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080B35E0
- cmp r0, 0x1
- bgt _080B3574
- cmp r0, 0
- beq _080B357A
- b _080B35FE
- .pool
-_080B3574:
- cmp r0, 0x2
- beq _080B35F8
- b _080B35FE
-_080B357A:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r3, r0, 24
- movs r4, 0
- movs r2, 0
- cmp r4, r3
- bge _080B35AC
- ldr r1, =gLinkPlayers
- ldrb r0, [r1]
- subs r0, 0x4
- cmp r0, 0x1
- bls _080B35B0
-_080B3594:
- adds r2, 0x1
- cmp r2, r3
- bge _080B35AC
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x4
- cmp r0, 0x1
- bhi _080B3594
- movs r4, 0x1
-_080B35AC:
- cmp r4, 0
- beq _080B35C8
-_080B35B0:
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- b _080B35FE
- .pool
-_080B35C8:
- bl sub_800AC34
- ldr r0, =gMain
- movs r1, 0x87
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _080B35FE
- .pool
-_080B35E0:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B35FE
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
- b _080B35FE
- .pool
-_080B35F8:
- ldr r0, =CB2_ReturnToField
- bl SetMainCallback2
-_080B35FE:
- bl RunTasks
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3554
-
- thumb_func_start sub_80B360C
-sub_80B360C: @ 80B360C
- push {r4,r5,lr}
- ldr r2, =gBattleTypeFlags
- ldr r0, [r2]
- movs r1, 0x21
- negs r1, r1
- ands r0, r1
- str r0, [r2]
- bl Overworld_ResetMapMusic
- bl LoadPlayerParty
- bl SavePlayerBag
- bl sub_813BF10
- ldr r0, =gSpecialVar_0x8004
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080B36B2
- ldr r0, =gUnknown_03005DB4
- ldrb r0, [r0]
- movs r5, 0x1
- eors r0, r5
- bl UpdatePlayerLinkBattleRecords
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B36B2
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080B3670
- cmp r0, 0x2
- beq _080B3694
- b _080B36B2
- .pool
-_080B3670:
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x4
- adds r1, r4
- ldr r1, [r1]
- movs r0, 0
- bl sub_801B990
- b _080B36B2
- .pool
-_080B3694:
- ldr r4, =gLinkPlayers
- bl GetMultiplayerId
- eors r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x4
- adds r1, r4
- ldr r1, [r1]
- movs r0, 0x1
- bl sub_801B990
-_080B36B2:
- bl InUnionRoom
- cmp r0, 0x1
- bne _080B36CC
- ldr r1, =gMain
- ldr r0, =sub_80B3554
- b _080B36D0
- .pool
-_080B36CC:
- ldr r1, =gMain
- ldr r0, =c2_8056854
-_080B36D0:
- str r0, [r1, 0x8]
- ldr r0, =sub_80A0514
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B360C
-
- thumb_func_start sub_80B36EC
-sub_80B36EC: @ 80B36EC
- push {lr}
- ldr r0, =gSpecialVar_0x8004
- ldrh r1, [r0]
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080B3706
- adds r0, r1, 0
- cmp r0, 0x5
- beq _080B3706
- cmp r0, 0x9
- bne _080B370E
-_080B3706:
- bl LoadPlayerParty
- bl SavePlayerBag
-_080B370E:
- movs r0, 0x7F
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B36EC
-
- thumb_func_start sub_80B371C
-sub_80B371C: @ 80B371C
- push {lr}
- bl sub_80872B0
- pop {r0}
- bx r0
- thumb_func_end sub_80B371C
-
- thumb_func_start sub_80B3728
-sub_80B3728: @ 80B3728
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080B376C
- cmp r0, 0x1
- bgt _080B3750
- cmp r0, 0
- beq _080B375A
- b _080B37CC
- .pool
-_080B3750:
- cmp r0, 0x2
- beq _080B378C
- cmp r0, 0x3
- beq _080B37B8
- b _080B37CC
-_080B375A:
- ldr r0, =OldaleTown_PokemonCenter_2F_Text_278091
- bl ShowFieldMessage
- movs r0, 0x1
- strh r0, [r5, 0x8]
- b _080B37CC
- .pool
-_080B376C:
- bl IsFieldMessageBoxHidden
- lsls r0, 24
- cmp r0, 0
- beq _080B37CC
- bl sub_8087288
- ldr r0, =gSpecialVar_0x8005
- ldrb r0, [r0]
- bl sub_8009628
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080B37CC
- .pool
-_080B378C:
- bl sub_8087214
- cmp r0, 0x1
- beq _080B379E
- cmp r0, 0x1
- bcc _080B37CC
- cmp r0, 0x2
- beq _080B37B2
- b _080B37CC
-_080B379E:
- bl HideFieldMessageBox
- movs r0, 0
- strh r0, [r5, 0x8]
- bl sub_80872C4
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
- b _080B37CC
-_080B37B2:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080B37CC
-_080B37B8:
- bl sub_808729C
- movs r0, 0x1
- bl sub_8197AE8
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B37CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3728
-
- thumb_func_start sub_80B37D4
-sub_80B37D4: @ 80B37D4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, =sub_80B3728
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl SetTaskFuncWithFollowupFunc
- bl ScriptContext1_Stop
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B37D4
-
- thumb_func_start sub_80B37FC
-sub_80B37FC: @ 80B37FC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B3840
- cmp r0, 0x1
- bgt _080B3824
- cmp r0, 0
- beq _080B382E
- b _080B3884
- .pool
-_080B3824:
- cmp r0, 0x2
- beq _080B3854
- cmp r0, 0x3
- beq _080B3870
- b _080B3884
-_080B382E:
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- bl ClearLinkCallback_2
- b _080B3864
-_080B3840:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B3884
- b _080B3864
- .pool
-_080B3854:
- ldr r1, =gUnknown_02032298
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bl m4aMPlayAllStop
- bl sub_800AC34
-_080B3864:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B3884
- .pool
-_080B3870:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B3884
- ldr r0, =sub_80773AC
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_080B3884:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B37FC
-
- thumb_func_start sub_80B3894
-sub_80B3894: @ 80B3894
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B38D8
- cmp r0, 0x1
- bgt _080B38BC
- cmp r0, 0
- beq _080B38C6
- b _080B391C
- .pool
-_080B38BC:
- cmp r0, 0x2
- beq _080B38EC
- cmp r0, 0x3
- beq _080B3908
- b _080B391C
-_080B38C6:
- bl ScriptContext2_Enable
- movs r0, 0x1
- movs r1, 0
- bl FadeScreen
- bl Rfu_set_zero
- b _080B38FC
-_080B38D8:
- ldr r0, =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B391C
- b _080B38FC
- .pool
-_080B38EC:
- ldr r1, =gUnknown_02032298
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bl m4aMPlayAllStop
- bl sub_800ADF8
-_080B38FC:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080B391C
- .pool
-_080B3908:
- bl sub_800A520
- lsls r0, 24
- cmp r0, 0
- beq _080B391C
- bl sub_8013F78
- adds r0, r5, 0
- bl DestroyTask
-_080B391C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3894
-
- thumb_func_start sub_80B3924
-sub_80B3924: @ 80B3924
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B3940
- ldr r0, =sub_80B3894
- bl sub_80B37D4
- b _080B3946
- .pool
-_080B3940:
- ldr r0, =sub_80B37FC
- bl sub_80B37D4
-_080B3946:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3924
-
- thumb_func_start sub_80B3950
-sub_80B3950: @ 80B3950
- push {lr}
- ldr r0, =sub_80B37FC
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3950
-
- thumb_func_start nullsub_37
-nullsub_37: @ 80B3964
- bx lr
- thumb_func_end nullsub_37
-
- thumb_func_start sub_80B3968
-sub_80B3968: @ 80B3968
- push {lr}
- ldr r1, =gLinkType
- ldr r2, =0x00002211
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B3994
- ldr r0, =sub_80B33BC
- bl sub_80B37D4
- b _080B399A
- .pool
-_080B3994:
- ldr r0, =sub_80B32B4
- bl sub_80B37D4
-_080B399A:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3968
-
- thumb_func_start sub_80B39A4
-sub_80B39A4: @ 80B39A4
- push {lr}
- ldr r0, =sub_80B3728
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B39A4
-
- thumb_func_start sp02A_crash_sound
-sp02A_crash_sound: @ 80B39BC
- push {lr}
- ldr r0, =gSpecialVar_0x8006
- ldrb r0, [r0]
- ldr r1, =CB2_ReturnToFieldContinueScriptPlayMapMusic
- bl sub_80C4E74
- pop {r0}
- bx r0
- .pool
- thumb_func_end sp02A_crash_sound
-
- thumb_func_start sub_80B39D4
-sub_80B39D4: @ 80B39D4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, =gSpecialVar_0x8006
- strh r4, [r0]
- ldr r0, =gStringVar1
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, =gLinkPlayers + 8
- adds r1, r2
- bl StringCopy
- adds r0, r4, 0
- bl sub_80C4904
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080B3A28
- ldr r0, =gStringVar2
- ldr r2, =gUnknown_0855059C
- subs r1, 0x1
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- movs r0, 0x1
- b _080B3A2A
- .pool
-_080B3A28:
- movs r0, 0
-_080B3A2A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B39D4
-
- thumb_func_start task00_08081A90
-task00_08081A90: @ 80B3A30
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- movs r0, 0x96
- lsls r0, 17
- cmp r1, r0
- ble _080B3A62
- bl CloseLink
- ldr r0, =CB2_LinkError
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080B3A62:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B3AA6
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B3AA0
- bl sub_800AA60
- lsls r0, 24
- cmp r0, 0
- bne _080B3A86
- bl CloseLink
- ldr r0, =CB2_LinkError
- bl SetMainCallback2
-_080B3A86:
- adds r0, r4, 0
- bl DestroyTask
- b _080B3AA6
- .pool
-_080B3AA0:
- adds r0, r5, 0
- bl DestroyTask
-_080B3AA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task00_08081A90
-
- thumb_func_start sub_80B3AAC
-sub_80B3AAC: @ 80B3AAC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B3AC4
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080B3AC4:
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3AAC
-
- thumb_func_start sub_80B3AD0
-sub_80B3AD0: @ 80B3AD0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800AC34
- ldr r1, =gTasks
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, =sub_80B3AAC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3AD0
-
- thumb_func_start sub_80B3AF8
-sub_80B3AF8: @ 80B3AF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, =gTasks + 0x8
- adds r5, r0, r1
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080B3B54
- cmp r0, 0x1
- bgt _080B3B20
- cmp r0, 0
- beq _080B3B2A
- b _080B3BB8
- .pool
-_080B3B20:
- cmp r0, 0x2
- beq _080B3B68
- cmp r0, 0x3
- beq _080B3B9E
- b _080B3BB8
-_080B3B2A:
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B3B40
- adds r0, r4, 0
- bl DestroyTask
- b _080B3BB8
- .pool
-_080B3B40:
- bl OpenLink
- ldr r0, =task00_08081A90
- movs r1, 0x1
- bl CreateTask
- b _080B3B96
- .pool
-_080B3B54:
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _080B3BB8
- movs r0, 0
- strh r0, [r5, 0x2]
- b _080B3B96
-_080B3B68:
- bl GetLinkPlayerCount_2
- adds r4, r0, 0
- bl sub_800AA48
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcc _080B3BB8
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _080B3B96
- ldrh r0, [r5, 0x2]
- adds r0, 0x1
- strh r0, [r5, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080B3BB8
- bl sub_800A620
-_080B3B96:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080B3BB8
-_080B3B9E:
- ldr r0, =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B3BB8
- bl IsLinkPlayerDataExchangeComplete
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3BB8
- adds r0, r4, 0
- bl DestroyTask
-_080B3BB8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3AF8
-
- thumb_func_start sub_80B3BC4
-sub_80B3BC4: @ 80B3BC4
- push {lr}
- ldr r0, =gWirelessCommType
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B3BD6
- ldr r1, =gLinkType
- ldr r2, =0x00002288
- adds r0, r2, 0
- strh r0, [r1]
-_080B3BD6:
- pop {r0}
- bx r0
- .pool
- thumb_func_end sub_80B3BC4
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/script_pokemon_util_80F87D8.s b/asm/script_pokemon_util_80F87D8.s
index b7388b41b..1202473ee 100644
--- a/asm/script_pokemon_util_80F87D8.s
+++ b/asm/script_pokemon_util_80F87D8.s
@@ -1606,8 +1606,8 @@ _080F94D6:
.pool
thumb_func_end sub_80F94B8
- thumb_func_start sub_80F94E8
-sub_80F94E8: @ 80F94E8
+ thumb_func_start ReducePlayerPartyToThree
+ReducePlayerPartyToThree: @ 80F94E8
push {r4-r7,lr}
sub sp, 0x198
add r0, sp, 0x190
@@ -1662,6 +1662,6 @@ _080F9538:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80F94E8
+ thumb_func_end ReducePlayerPartyToThree
.align 2, 0 @ Don't pad with nop.
diff --git a/asm/trainer_card.s b/asm/trainer_card.s
index 2c38140c6..e0cb5e21e 100644
--- a/asm/trainer_card.s
+++ b/asm/trainer_card.s
@@ -1141,8 +1141,8 @@ _080C308C:
.pool
thumb_func_end sub_80C3020
- thumb_func_start sub_80C30A4
-sub_80C30A4: @ 80C30A4
+ thumb_func_start TrainerCard_GenerateCardForPlayer
+TrainerCard_GenerateCardForPlayer: @ 80C30A4
push {r4,lr}
adds r4, r0, 0
movs r1, 0
@@ -1197,7 +1197,7 @@ _080C3108:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80C30A4
+ thumb_func_end TrainerCard_GenerateCardForPlayer
thumb_func_start sub_80C3120
sub_80C3120: @ 80C3120
@@ -4558,8 +4558,8 @@ _080C4E44:
.pool
thumb_func_end sub_80C4DDC
- thumb_func_start sub_80C4E74
-sub_80C4E74: @ 80C4E74
+ thumb_func_start TrainerCard_ShowLinkCard
+TrainerCard_ShowLinkCard: @ 80C4E74
push {r4-r6,lr}
adds r4, r0, 0
adds r6, r1, 0
@@ -4600,7 +4600,7 @@ sub_80C4E74: @ 80C4E74
pop {r0}
bx r0
.pool
- thumb_func_end sub_80C4E74
+ thumb_func_end TrainerCard_ShowLinkCard
thumb_func_start sub_80C4EE4
sub_80C4EE4: @ 80C4EE4
diff --git a/data/cable_club.s b/data/cable_club.s
deleted file mode 100644
index f62b0b90a..000000000
--- a/data/cable_club.s
+++ /dev/null
@@ -1,16 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
- .align 2, 0
-
- .align 2
-gUnknown_08550594:: @ 8550594
- window_template 0x00, 0x10, 0x0b, 0x0b, 0x02, 0x0f, 0x0125
-
- .align 2
-gUnknown_0855059C:: @ 855059C
- .4byte gText_BronzeCard
- .4byte gText_CopperCard
- .4byte gText_SilverCard
- .4byte gText_GoldCard
diff --git a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
index 2b07b7ea4..e0f2c3c5e 100644
--- a/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
+++ b/data/maps/BattleFrontier_BattleTowerLobby/scripts.inc
@@ -929,7 +929,7 @@ BattleFrontier_BattleTowerLobby_EventScript_23F2B7:: @ 823F2B7
BattleFrontier_BattleTowerLobby_EventScript_23F2C5:: @ 823F2C5
setvar VAR_0x8004, 9
- message OldaleTown_PokemonCenter_2F_Text_278091
+ message gText_PleaseWaitForLink
waitmessage
setvar VAR_0x8005, 0
special sub_80B2DA4
diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
index 0052f09aa..36bfc422a 100644
--- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
+++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc
@@ -260,7 +260,7 @@ MossdeepCity_SpaceCenter_2F_EventScript_22400C:: @ 822400C
goto MossdeepCity_SpaceCenter_2F_EventScript_223FDA
MossdeepCity_SpaceCenter_2F_EventScript_224032:: @ 8224032
- special sub_80F94E8
+ special ReducePlayerPartyToThree
setvar VAR_0x8004, 2
setvar VAR_0x8005, 4
special sub_81A1780
diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
index 652ac791a..36d0edd3a 100644
--- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
+++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/scripts.inc
@@ -106,7 +106,7 @@ SootopolisCity_MysteryEventsHouse_1F_EventScript_227A58:: @ 8227A58
compare VAR_RESULT, 0
goto_eq SootopolisCity_MysteryEventsHouse_1F_EventScript_227AE2
special SavePlayerParty
- special sub_80F94E8
+ special ReducePlayerPartyToThree
msgbox SootopolisCity_MysteryEventsHouse_1F_Text_227D21, 4
closemessage
compare VAR_FACING, 2
diff --git a/data/scripts/cable_club.inc b/data/scripts/cable_club.inc
index 96e36dcf9..08f5accca 100644
--- a/data/scripts/cable_club.inc
+++ b/data/scripts/cable_club.inc
@@ -430,7 +430,7 @@ OldaleTown_PokemonCenter_2F_EventScript_276F60:: @ 8276F60
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- message OldaleTown_PokemonCenter_2F_Text_278091
+ message gText_PleaseWaitForLink
waitmessage
special sub_80B2DA4
waitstate
@@ -532,7 +532,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2770B2:: @ 82770B2
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- message OldaleTown_PokemonCenter_2F_Text_278091
+ message gText_PleaseWaitForLink
waitmessage
special sub_80B2E4C
waitstate
@@ -607,7 +607,7 @@ OldaleTown_PokemonCenter_2F_EventScript_2771DB:: @ 82771DB
call OldaleTown_PokemonCenter_2F_EventScript_27134F
compare VAR_RESULT, 0
goto_eq OldaleTown_PokemonCenter_2F_EventScript_2772EC
- message OldaleTown_PokemonCenter_2F_Text_278091
+ message gText_PleaseWaitForLink
waitmessage
special sub_80B2E74
waitstate
@@ -1675,21 +1675,21 @@ OldaleTown_PokemonCenter_2F_Text_278061: @ 8278061
.string "A POKéMON holding the {STR_VAR_1}\n"
.string "BERRY can’t be traded.$"
-OldaleTown_PokemonCenter_2F_Text_278091:: @ 8278091
+gText_PleaseWaitForLink:: @ 8278091
.string "Please wait.\n"
.string "… … B Button: Cancel$"
-OldaleTown_PokemonCenter_2F_Text_2780B3:: @ 82780B3
+gText_ConfirmLinkWhenPlayersReady:: @ 82780B3
.string "When all players are ready…\n"
.string "A Button: Confirm\l"
.string "B Button: Cancel$"
-OldaleTown_PokemonCenter_2F_Text_2780F2:: @ 82780F2
+gText_ConfirmStartLinkWithXPlayers:: @ 82780F2
.string "Start link with {STR_VAR_1} players.\n"
.string "A Button: Confirm\l"
.string "B Button: Cancel$"
-OldaleTown_PokemonCenter_2F_Text_278131:: @ 8278131
+gText_AwaitingLinkup:: @ 8278131
.string "Awaiting linkup…\n"
.string "… … B Button: Cancel$"
diff --git a/data/specials.inc b/data/specials.inc
index 5d31c425f..07da8edab 100644
--- a/data/specials.inc
+++ b/data/specials.inc
@@ -259,7 +259,7 @@ gSpecials:: @ 81DBA64
def_special sub_80F9490
def_special ValidateEReaderTrainer
def_special GetBestBattleTowerStreak
- def_special sub_80F94E8
+ def_special ReducePlayerPartyToThree
def_special BedroomPC
def_special PlayerPC
def_special FieldShowRegionMap
diff --git a/include/blend_palette.h b/include/blend_palette.h
deleted file mode 100644
index a00847bc3..000000000
--- a/include/blend_palette.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef GUARD_BLEND_PALETTE_H
-#define GUARD_BLEND_PALETTE_H
-
-void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
-
-#endif // GUARD_BLEND_PALETTE_H
diff --git a/include/cable_club.h b/include/cable_club.h
index 8be376721..ebdc82b46 100644
--- a/include/cable_club.h
+++ b/include/cable_club.h
@@ -14,5 +14,6 @@ u8 sub_80B3050(void);
void sub_80B360C(void);
bool32 sub_80B2AF4(u16 *arg0, u16 *arg1);
void sub_80B3AF8(u8 taskId);
+void task00_08081A90(u8 taskId);
#endif //GUARD_CABLE_CLUB_H
diff --git a/include/field_message_box.h b/include/field_message_box.h
index 432c9078b..e3deee4d6 100644
--- a/include/field_message_box.h
+++ b/include/field_message_box.h
@@ -1,10 +1,20 @@
#ifndef GUARD_FIELD_MESSAGE_BOX_H
#define GUARD_FIELD_MESSAGE_BOX_H
+enum
+{
+ FIELD_MESSAGE_BOX_HIDDEN,
+ FIELD_MESSAGE_BOX_UNUSED,
+ FIELD_MESSAGE_BOX_NORMAL,
+ FIELD_MESSAGE_BOX_AUTO_SCROLL,
+};
+
bool8 ShowFieldMessage(const u8 *message);
bool8 sub_8098238(const u8 *message);
bool8 ShowFieldAutoScrollMessage(const u8 *message);
void HideFieldMessageBox(void);
bool8 IsFieldMessageBoxHidden(void);
+u8 GetFieldMessageBoxMode(void);
+void sub_8098374(void);
#endif // GUARD_FIELD_MESSAGE_BOX_H
diff --git a/include/field_specials.h b/include/field_specials.h
index c1f70a399..4709f9551 100644
--- a/include/field_specials.h
+++ b/include/field_specials.h
@@ -5,5 +5,6 @@ u8 GetLeadMonIndex(void);
u8 sub_813B260(void);
u16 get_unknown_box_id(void);
bool8 InMultiBattleRoom(void);
+void sub_813BF10(void);
#endif // GUARD_FIELD_SPECIALS_H
diff --git a/include/link.h b/include/link.h
index 9561728bd..f12f0990f 100644
--- a/include/link.h
+++ b/include/link.h
@@ -97,7 +97,8 @@ enum
EXCHANGE_IN_PROGRESS,
EXCHANGE_STAT_4,
EXCHANGE_STAT_5,
- EXCHANGE_STAT_6
+ EXCHANGE_STAT_6,
+ EXCHANGE_STAT_7
};
enum
@@ -258,6 +259,8 @@ void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 un
void sub_800B348(void);
void sub_800B3A4(u32 who);
bool32 sub_800A07C(void);
+void sub_800AB98(void);
+void sub_800AA04(u8 a0);
extern u16 gLinkPartnersHeldKeys[6];
extern u32 gLinkDebugSeed;
@@ -292,6 +295,7 @@ extern u32 gFiller_0300315c;
extern u32 gFiller_03004138;
extern u32 gFiller_0300413C;
extern u32 gFiller_03003080;
+extern struct LinkPlayer gLocalLinkPlayer;
bool32 Link_AnyPartnersPlayingRubyOrSapphire(void);
bool32 sub_800A03C(void);
@@ -302,5 +306,10 @@ bool8 sub_800A4D8(u8 a0);
u8 sub_800A9D8(void);
u8 sub_800A0C8(s32, s32);
u16 *sub_801B058(void);
+u8 sub_800A9A8(void);
+void sub_800AD10(void);
+void sub_800AB18(void);
+void sub_8009F18(void);
+bool8 sub_800AA60(void);
#endif // GUARD_LINK_H
diff --git a/include/menu.h b/include/menu.h
index cddab0870..2689b026c 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -87,5 +87,6 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left
void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
+void sub_8197AE8(bool8 copyToVram);
#endif // GUARD_MENU_H
diff --git a/include/overworld.h b/include/overworld.h
index f6856ab0c..3dce20ab2 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -25,6 +25,9 @@ extern u16 *gBGTilemapBuffers3;
extern void (*gFieldCallback)(void);
+extern u8 gUnknown_03005DB4;
+extern u8 gFieldLinkPlayerCount;
+
// Exported ROM declarations
extern const struct UCoords32 gDirectionToVectors[];
diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h
index f71e5d97d..b6ca0e248 100644
--- a/include/rom_8011DC0.h
+++ b/include/rom_8011DC0.h
@@ -9,5 +9,7 @@
void sub_8018438(void);
u16 mevent_081445C0(u8);
+void sub_801B990(u32, u32);
+u8 sub_8013F78(void);
#endif //GUARD_rom_8011DC0_H
diff --git a/include/script_pokemon_util_80F87D8.h b/include/script_pokemon_util_80F87D8.h
index 555b3428b..68aec7eb6 100644
--- a/include/script_pokemon_util_80F87D8.h
+++ b/include/script_pokemon_util_80F87D8.h
@@ -3,5 +3,6 @@
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
u16 sub_80F903C(void);
+void ReducePlayerPartyToThree(void);
#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
diff --git a/include/string_util.h b/include/string_util.h
index f26646082..7b685fcea 100644
--- a/include/string_util.h
+++ b/include/string_util.h
@@ -24,7 +24,7 @@ u8 *ConvertUIntToDecimalStringN(u8 *dest, u32 value, enum StringConvertMode mode
u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
u8 *StringExpandPlaceholders(u8 *dest, const u8 *src);
u8 *StringBraille(u8 *dest, const u8 *src);
-u8 *GetExpandedPlaceholder(u32 id);
+const u8 *GetExpandedPlaceholder(u32 id);
u8 *StringFill(u8 *dest, u8 c, u16 n);
u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n);
u8 *StringFillWithTerminator(u8 *dest, u16 n);
diff --git a/include/strings.h b/include/strings.h
index e72360563..1a254c2ad 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -843,4 +843,14 @@ extern const u8 gText_TwoDashes[];
extern const u8 *const gReturnToXStringsTable2[];
+extern const u8 gText_XPLink[];
+extern const u8 gText_ConfirmLinkWhenPlayersReady[];
+extern const u8 gText_ConfirmStartLinkWithXPlayers[];
+extern const u8 gText_AwaitingLinkup[];
+extern const u8 gText_PleaseWaitForLink[];
+extern const u8 gText_BronzeCard[];
+extern const u8 gText_CopperCard[];
+extern const u8 gText_SilverCard[];
+extern const u8 gText_GoldCard[];
+
#endif //GUARD_STRINGS_H
diff --git a/include/text.h b/include/text.h
index e2120efa3..f677f2ced 100644
--- a/include/text.h
+++ b/include/text.h
@@ -76,6 +76,7 @@
#define CHAR_y 0xED
#define CHAR_z 0xEE
#define CHAR_SPECIAL_F7 0xF7
+#define CHAR_SPECIAL_F8 0xF8
#define CHAR_SPECIAL_F9 0xF9
#define CHAR_COLON 0xF0
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
diff --git a/include/trainer_card.h b/include/trainer_card.h
index af603444f..d80a5fa52 100644
--- a/include/trainer_card.h
+++ b/include/trainer_card.h
@@ -27,13 +27,16 @@ struct TrainerCard
/*0x24*/ u32 money;
/*0x28*/ u16 var_28[4];
/*0x30*/ u8 playerName[8];
- /*0x38*/ u8 emeraldAddedUnknownFields[0x64-0x38];
+ /*0x38*/ u8 emeraldAddedUnknownFields[0x54-0x38];
+ /*0x54*/ u16 monSpecies[2];
+ /*0x58*/ u8 emeraldAddedUnknownFields2[0x64-0x58];
};
extern struct TrainerCard gTrainerCards[4];
void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion);
-void sub_80C4E74(u8 arg0, void (*callback)(void));
-void sub_80C30A4(u16 *arg0);
+void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void));
+void TrainerCard_GenerateCardForPlayer(struct TrainerCard *);
+u8 sub_80C4904(u8);
#endif // GUARD_TRAINER_CARD_H
diff --git a/include/util.h b/include/util.h
index 63887b13f..997c8f713 100644
--- a/include/util.h
+++ b/include/util.h
@@ -13,5 +13,6 @@ int CountTrailingZeroBits(u32 value);
u16 CalcCRC16(u8 *data, s32 length);
u16 CalcCRC16WithTable(u8 *data, u32 length);
u32 CalcByteArraySum(const u8* data, u32 length);
+void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
#endif // GUARD_UTIL_H
diff --git a/ld_script.txt b/ld_script.txt
index 90bb3694c..cc7c5d968 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -76,7 +76,6 @@ SECTIONS {
src/trig.o(.text);
src/random.o(.text);
src/util.o(.text);
- src/blend_palette.o(.text);
src/daycare.o(.text);
src/egg_hatch.o(.text);
src/battle_interface.o(.text);
@@ -118,7 +117,7 @@ SECTIONS {
src/title_screen.o(.text);
asm/field_screen.o(.text);
src/battle_setup.o(.text);
- asm/cable_club.o(.text);
+ src/cable_club.o(.text);
src/trainer_see.o(.text);
src/wild_encounter.o(.text);
src/field_effect.o(.text);
@@ -427,7 +426,7 @@ SECTIONS {
src/title_screen.o(.rodata);
data/field_screen.o(.rodata);
src/battle_setup.o(.rodata);
- data/cable_club.o(.rodata);
+ src/cable_club.o(.rodata);
src/trainer_see.o(.rodata);
src/wild_encounter.o(.rodata);
src/field_effect.o(.rodata);
@@ -566,65 +565,65 @@ SECTIONS {
ALIGN(4)
{
sound/songs/midi/mus_dummy.o(.rodata);
- sound/songs/se_kaifuku.o(.rodata);
+ sound/songs/midi/se_kaifuku.o(.rodata);
sound/songs/se_pc_login.o(.rodata);
sound/songs/se_pc_off.o(.rodata);
sound/songs/se_pc_on.o(.rodata);
sound/songs/se_select.o(.rodata);
sound/songs/se_win_open.o(.rodata);
sound/songs/se_wall_hit.o(.rodata);
- sound/songs/se_door.o(.rodata);
- sound/songs/se_kaidan.o(.rodata);
- sound/songs/se_dansa.o(.rodata);
- sound/songs/se_jitensya.o(.rodata);
- sound/songs/se_kouka_l.o(.rodata);
- sound/songs/se_kouka_m.o(.rodata);
- sound/songs/se_kouka_h.o(.rodata);
- sound/songs/se_bowa2.o(.rodata);
+ sound/songs/midi/se_door.o(.rodata);
+ sound/songs/midi/se_kaidan.o(.rodata);
+ sound/songs/midi/se_dansa.o(.rodata);
+ sound/songs/midi/se_jitensya.o(.rodata);
+ sound/songs/midi/se_kouka_l.o(.rodata);
+ sound/songs/midi/se_kouka_m.o(.rodata);
+ sound/songs/midi/se_kouka_h.o(.rodata);
+ sound/songs/midi/se_bowa2.o(.rodata);
sound/songs/se_poke_dead.o(.rodata);
sound/songs/se_nigeru.o(.rodata);
- sound/songs/se_jido_doa.o(.rodata);
+ sound/songs/midi/se_jido_doa.o(.rodata);
sound/songs/se_naminori.o(.rodata);
- sound/songs/se_ban.o(.rodata);
+ sound/songs/midi/se_ban.o(.rodata);
sound/songs/se_pin.o(.rodata);
- sound/songs/se_boo.o(.rodata);
- sound/songs/se_bowa.o(.rodata);
- sound/songs/se_jyuni.o(.rodata);
- sound/songs/se_a.o(.rodata);
- sound/songs/se_i.o(.rodata);
+ sound/songs/midi/se_boo.o(.rodata);
+ sound/songs/midi/se_bowa.o(.rodata);
+ sound/songs/midi/se_jyuni.o(.rodata);
+ sound/songs/midi/se_a.o(.rodata);
+ sound/songs/midi/se_i.o(.rodata);
sound/songs/se_u.o(.rodata);
- sound/songs/se_e.o(.rodata);
+ sound/songs/midi/se_e.o(.rodata);
sound/songs/se_o.o(.rodata);
sound/songs/se_n.o(.rodata);
sound/songs/se_seikai.o(.rodata);
- sound/songs/se_hazure.o(.rodata);
- sound/songs/se_exp.o(.rodata);
- sound/songs/se_jite_pyoko.o(.rodata);
+ sound/songs/midi/se_hazure.o(.rodata);
+ sound/songs/midi/se_exp.o(.rodata);
+ sound/songs/midi/se_jite_pyoko.o(.rodata);
sound/songs/se_mu_pachi.o(.rodata);
sound/songs/se_tk_kasya.o(.rodata);
- sound/songs/se_fu_zaku.o(.rodata);
- sound/songs/se_fu_zaku2.o(.rodata);
- sound/songs/se_fu_zuzuzu.o(.rodata);
+ sound/songs/midi/se_fu_zaku.o(.rodata);
+ sound/songs/midi/se_fu_zaku2.o(.rodata);
+ sound/songs/midi/se_fu_zuzuzu.o(.rodata);
sound/songs/se_ru_gashin.o(.rodata);
sound/songs/se_ru_gasyan.o(.rodata);
sound/songs/se_ru_bari.o(.rodata);
sound/songs/se_ru_hyuu.o(.rodata);
- sound/songs/se_ki_gasyan.o(.rodata);
+ sound/songs/midi/se_ki_gasyan.o(.rodata);
sound/songs/se_tk_warpin.o(.rodata);
sound/songs/se_tk_warpout.o(.rodata);
sound/songs/se_tu_saa.o(.rodata);
- sound/songs/se_hi_turun.o(.rodata);
+ sound/songs/midi/se_hi_turun.o(.rodata);
sound/songs/se_track_move.o(.rodata);
sound/songs/se_track_stop.o(.rodata);
sound/songs/se_track_haiki.o(.rodata);
sound/songs/se_track_door.o(.rodata);
sound/songs/se_moter.o(.rodata);
- sound/songs/se_card.o(.rodata);
+ sound/songs/midi/se_card.o(.rodata);
sound/songs/se_save.o(.rodata);
- sound/songs/se_kon.o(.rodata);
- sound/songs/se_kon2.o(.rodata);
- sound/songs/se_kon3.o(.rodata);
- sound/songs/se_kon4.o(.rodata);
+ sound/songs/midi/se_kon.o(.rodata);
+ sound/songs/midi/se_kon2.o(.rodata);
+ sound/songs/midi/se_kon3.o(.rodata);
+ sound/songs/midi/se_kon4.o(.rodata);
sound/songs/se_suikomu.o(.rodata);
sound/songs/se_nageru.o(.rodata);
sound/songs/se_toy_c.o(.rodata);
@@ -636,16 +635,16 @@ SECTIONS {
sound/songs/se_toy_b.o(.rodata);
sound/songs/se_toy_c1.o(.rodata);
sound/songs/se_mizu.o(.rodata);
- sound/songs/se_hashi.o(.rodata);
- sound/songs/se_daugi.o(.rodata);
+ sound/songs/midi/se_hashi.o(.rodata);
+ sound/songs/midi/se_daugi.o(.rodata);
sound/songs/se_pinpon.o(.rodata);
- sound/songs/se_fuusen1.o(.rodata);
- sound/songs/se_fuusen2.o(.rodata);
- sound/songs/se_fuusen3.o(.rodata);
+ sound/songs/midi/se_fuusen1.o(.rodata);
+ sound/songs/midi/se_fuusen2.o(.rodata);
+ sound/songs/midi/se_fuusen3.o(.rodata);
sound/songs/se_toy_kabe.o(.rodata);
sound/songs/se_toy_dango.o(.rodata);
- sound/songs/se_doku.o(.rodata);
- sound/songs/se_esuka.o(.rodata);
+ sound/songs/midi/se_doku.o(.rodata);
+ sound/songs/midi/se_esuka.o(.rodata);
sound/songs/se_t_ame.o(.rodata);
sound/songs/se_t_ame_e.o(.rodata);
sound/songs/se_t_ooame.o(.rodata);
@@ -654,24 +653,24 @@ SECTIONS {
sound/songs/se_t_koame_e.o(.rodata);
sound/songs/se_t_kami.o(.rodata);
sound/songs/se_t_kami2.o(.rodata);
- sound/songs/se_elebeta.o(.rodata);
- sound/songs/se_hinsi.o(.rodata);
- sound/songs/se_expmax.o(.rodata);
+ sound/songs/midi/se_elebeta.o(.rodata);
+ sound/songs/midi/se_hinsi.o(.rodata);
+ sound/songs/midi/se_expmax.o(.rodata);
sound/songs/se_tamakoro.o(.rodata);
sound/songs/se_tamakoro_e.o(.rodata);
- sound/songs/se_basabasa.o(.rodata);
+ sound/songs/midi/se_basabasa.o(.rodata);
sound/songs/se_regi.o(.rodata);
- sound/songs/se_c_gaji.o(.rodata);
- sound/songs/se_c_maku_u.o(.rodata);
- sound/songs/se_c_maku_d.o(.rodata);
- sound/songs/se_c_pasi.o(.rodata);
- sound/songs/se_c_syu.o(.rodata);
- sound/songs/se_c_pikon.o(.rodata);
+ sound/songs/midi/se_c_gaji.o(.rodata);
+ sound/songs/midi/se_c_maku_u.o(.rodata);
+ sound/songs/midi/se_c_maku_d.o(.rodata);
+ sound/songs/midi/se_c_pasi.o(.rodata);
+ sound/songs/midi/se_c_syu.o(.rodata);
+ sound/songs/midi/se_c_pikon.o(.rodata);
sound/songs/se_reapoke.o(.rodata);
sound/songs/se_op_basyu.o(.rodata);
- sound/songs/se_bt_start.o(.rodata);
- sound/songs/se_dendou.o(.rodata);
- sound/songs/se_jihanki.o(.rodata);
+ sound/songs/midi/se_bt_start.o(.rodata);
+ sound/songs/midi/se_dendou.o(.rodata);
+ sound/songs/midi/se_jihanki.o(.rodata);
sound/songs/se_tama.o(.rodata);
sound/songs/se_z_scroll.o(.rodata);
sound/songs/se_z_page.o(.rodata);
@@ -682,7 +681,7 @@ SECTIONS {
sound/songs/se_tb_start.o(.rodata);
sound/songs/se_tb_kon.o(.rodata);
sound/songs/se_tb_kara.o(.rodata);
- sound/songs/se_bidoro.o(.rodata);
+ sound/songs/midi/se_bidoro.o(.rodata);
sound/songs/se_w085.o(.rodata);
sound/songs/se_w085b.o(.rodata);
sound/songs/se_w231.o(.rodata);
@@ -830,10 +829,10 @@ SECTIONS {
sound/songs/se_rg_nawamiss.o(.rodata);
sound/songs/se_toreeye.o(.rodata);
sound/songs/se_toreoff.o(.rodata);
- sound/songs/se_hantei1.o(.rodata);
- sound/songs/se_hantei2.o(.rodata);
- sound/songs/se_curtain.o(.rodata);
- sound/songs/se_curtain1.o(.rodata);
+ sound/songs/midi/se_hantei1.o(.rodata);
+ sound/songs/midi/se_hantei2.o(.rodata);
+ sound/songs/midi/se_curtain.o(.rodata);
+ sound/songs/midi/se_curtain1.o(.rodata);
sound/songs/se_ussoki.o(.rodata);
sound/songs/midi/mus_tetsuji.o(.rodata);
sound/songs/midi/mus_field13.o(.rodata);
diff --git a/songs.mk b/songs.mk
index fb0d6b504..dd65ffce7 100644
--- a/songs.mk
+++ b/songs.mk
@@ -786,5 +786,170 @@ $(MID_SUBDIR)/ph_trap_held.s: %.s: %.mid
$(MID_SUBDIR)/ph_trap_solo.s: %.s: %.mid
$(MID) $< $@ -E -G130 -P4
+$(MID_SUBDIR)/se_a.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4
+
+$(MID_SUBDIR)/se_ban.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_basabasa.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P5
+
+$(MID_SUBDIR)/se_bidoro.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P5
+
+$(MID_SUBDIR)/se_boo.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4
+
+$(MID_SUBDIR)/se_bowa.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V070 -P4
+
+$(MID_SUBDIR)/se_bowa2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_bt_start.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5
+
+$(MID_SUBDIR)/se_c_gaji.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5
+
+$(MID_SUBDIR)/se_c_maku_d.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V070 -P5
+
+$(MID_SUBDIR)/se_c_maku_u.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V070 -P5
+
+$(MID_SUBDIR)/se_c_pasi.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P5
+
+$(MID_SUBDIR)/se_c_pikon.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5
+
+$(MID_SUBDIR)/se_c_syu.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P5
+
+$(MID_SUBDIR)/se_card.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4
+
+$(MID_SUBDIR)/se_curtain.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_curtain1.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_dansa.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P4
+
+$(MID_SUBDIR)/se_daugi.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P5
+
+$(MID_SUBDIR)/se_dendou.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P5
+
+$(MID_SUBDIR)/se_doku.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5
+
+$(MID_SUBDIR)/se_door.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5
+
+$(MID_SUBDIR)/se_e.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4
+
+$(MID_SUBDIR)/se_elebeta.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_esuka.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_exp.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V080 -P5
+
+$(MID_SUBDIR)/se_expmax.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V094 -P5
+
+$(MID_SUBDIR)/se_fu_zaku.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P4
+
+$(MID_SUBDIR)/se_fu_zaku2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4
+
+$(MID_SUBDIR)/se_fu_zuzuzu.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -P4
+
+$(MID_SUBDIR)/se_fuusen1.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4
+
+$(MID_SUBDIR)/se_fuusen2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4
+
+$(MID_SUBDIR)/se_fuusen3.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V105 -P4
+
+$(MID_SUBDIR)/se_hantei1.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_hantei2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G129 -P5
+
+$(MID_SUBDIR)/se_hashi.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4
+
+$(MID_SUBDIR)/se_hazure.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P4
+
+$(MID_SUBDIR)/se_hi_turun.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4
+
+$(MID_SUBDIR)/se_hinsi.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P3
+
+$(MID_SUBDIR)/se_i.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V120 -P4
+
+$(MID_SUBDIR)/se_jido_doa.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V095 -P4
+
+$(MID_SUBDIR)/se_jihanki.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V110 -P4
+
+$(MID_SUBDIR)/se_jite_pyoko.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V090 -P4
+
+$(MID_SUBDIR)/se_jitensya.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V090 -P4
+
+$(MID_SUBDIR)/se_jyuni.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P4
+
+$(MID_SUBDIR)/se_kaidan.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V120 -P5
+
+$(MID_SUBDIR)/se_kaifuku.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V100 -P5
+
+$(MID_SUBDIR)/se_ki_gasyan.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_kon.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_kon2.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_kon3.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_kon4.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G128 -V100 -P4
+
+$(MID_SUBDIR)/se_kouka_h.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5
+
+$(MID_SUBDIR)/se_kouka_l.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5
+
+$(MID_SUBDIR)/se_kouka_m.s: %.s: %.mid
+ $(MID) $< $@ -E -R$(STD_REVERB) -G127 -V110 -P5
+
$(MID_SUBDIR)/se_z_search.s: %.s: %.mid
$(MID) $< $@ -E -R$(STD_REVERB) -G127 -P5
diff --git a/sound/song_table.inc b/sound/song_table.inc
index 624cabe53..5b5813ab2 100644
--- a/sound/song_table.inc
+++ b/sound/song_table.inc
@@ -25,7 +25,7 @@ gSongTable:: @ 86B49F0
song se_pin, 1, 1 @ Exclamation Bubble
song se_boo, 1, 1 @ Contest Jam
song se_bowa, 1, 1 @ Giving Poké Ball to Nurse, Poké Ball Wiggle
- song se_jyuni, 2, 2 @ Places in Contest Appearing
+ song se_jyuni, 2, 2 @ Contest - Rankings Revealed
song se_a, 1, 1 @ Bard A
song se_i, 1, 1 @ Bard I
song se_u, 1, 1 @ Bard U
@@ -40,7 +40,7 @@ gSongTable:: @ 86B49F0
song se_tk_kasya, 1, 1 @ Mossdeep Gym/Trick House Switch
song se_fu_zaku, 1, 1
song se_fu_zaku2, 1, 1
- song se_fu_zuzuzu, 1, 1 @ Lavaridge Gym Warp
+ song se_fu_zuzuzu, 1, 1 @ Lavaridge Gym - Warp
song se_ru_gashin, 1, 1 @ Sootopolis Gym - Stairs Appear
song se_ru_gasyan, 1, 1 @ Sootopolis Gym - Ice Breaking
song se_ru_bari, 1, 1 @ Sootopolis Gym - Walking on Ice
@@ -49,7 +49,7 @@ gSongTable:: @ 86B49F0
song se_tk_warpin, 1, 1 @ Warp In
song se_tk_warpout, 1, 1 @ Warp Out
song se_tu_saa, 1, 1 @ Repel
- song se_hi_turun, 1, 1 @ Moving Obstacle in Fortree Gym
+ song se_hi_turun, 1, 1 @ Fortree Gym - Obstacle
song se_track_move, 1, 1 @ Moving Truck
song se_track_stop, 1, 1 @ Moving Truck Stop
song se_track_haiki, 2, 2 @ Moving Truck Unload
@@ -72,15 +72,15 @@ gSongTable:: @ 86B49F0
song se_toy_b, 2, 2 @ Note B
song se_toy_c1, 2, 2 @ Note High C
song se_mizu, 2, 2 @ Puddle
- song se_hashi, 2, 2 @ Boardwalk
- song se_daugi, 1, 1 @ Slots Credits
+ song se_hashi, 2, 2 @ Fortree Walkways
+ song se_daugi, 1, 1 @ Slots - Credits
song se_pinpon, 1, 1 @ Ding-dong!
song se_fuusen1, 2, 2 @ Red Balloon
song se_fuusen2, 2, 2 @ Blue Balloon
song se_fuusen3, 2, 2 @ Yellow Balloon
song se_toy_kabe, 2, 2 @ Breakable Door
song se_toy_dango, 2, 2 @ Mud Ball
- song se_doku, 1, 1 @ Overworld Poison Damage
+ song se_doku, 1, 1 @ Overworld - Poison Damage
song se_esuka, 1, 1 @ Escalator
song se_t_ame, 3, 3 @ Rain
song se_t_ame_e, 3, 3 @ Rain Stop
@@ -95,14 +95,14 @@ gSongTable:: @ 86B49F0
song se_expmax, 1, 1 @ Exp. Max
song se_tamakoro, 2, 2 @ Roulette Ball
song se_tamakoro_e, 2, 2 @ Roulette Ball 2
- song se_basabasa, 1, 1
+ song se_basabasa, 1, 1 @ Wing Attack
song se_regi, 1, 1 @ Cash Register
- song se_c_gaji, 1, 1 @ Contest Hearts
- song se_c_maku_u, 1, 1 @ Contest Curtain rise
- song se_c_maku_d, 1, 1 @ Contest Curtain fall
- song se_c_pasi, 1, 1
- song se_c_syu, 1, 1
- song se_c_pikon, 1, 1 @ Pokémon Appears in Contest
+ song se_c_gaji, 1, 1 @ Contest - Hearts
+ song se_c_maku_u, 1, 1 @ Contest - Curtain Rises
+ song se_c_maku_d, 1, 1 @ Contest - Curtain Falls
+ song se_c_pasi, 1, 1 @ Contest - Inflict Status
+ song se_c_syu, 1, 1 @ Contest - Pokémon Switches Out
+ song se_c_pikon, 1, 1 @ Contest - Pokémon Switches In
song se_reapoke, 1, 1 @ Shiny Pokémon
song se_op_basyu, 1, 1 @ Opening Movie -> Title Screen whoosh
song se_bt_start, 1, 1 @ Battle Mugshot whoosh
@@ -266,10 +266,10 @@ gSongTable:: @ 86B49F0
song se_rg_nawamiss, 1, 1
song se_toreeye, 1, 1 @ Trainer's Eye Call
song se_toreoff, 1, 1 @ Trainer's Eye Hang Up
- song se_hantei1, 1, 1 @ Battle Arena Time's Up 1
- song se_hantei2, 1, 1 @ Battle Arena Time's Up 2
- song se_curtain, 1, 1 @ Battle Pike Curtain Open
- song se_curtain1, 1, 1 @ Battle Pike Curtain Close
+ song se_hantei1, 1, 1 @ Battle Arena - Judgment 1
+ song se_hantei2, 1, 1 @ Battle Arena - Judgment 2
+ song se_curtain, 1, 1 @ Battle Pike - Curtain Opens
+ song se_curtain1, 1, 1 @ Battle Pike - Curtain Closes
song se_ussoki, 1, 1 @ Sudowoodo
song dummy_song_header, 0, 0
song dummy_song_header, 0, 0
diff --git a/sound/songs/midi/se_a.mid b/sound/songs/midi/se_a.mid
new file mode 100644
index 000000000..e44a27926
--- /dev/null
+++ b/sound/songs/midi/se_a.mid
Binary files differ
diff --git a/sound/songs/midi/se_ban.mid b/sound/songs/midi/se_ban.mid
new file mode 100644
index 000000000..0722a1c36
--- /dev/null
+++ b/sound/songs/midi/se_ban.mid
Binary files differ
diff --git a/sound/songs/midi/se_basabasa.mid b/sound/songs/midi/se_basabasa.mid
new file mode 100644
index 000000000..7a965abf5
--- /dev/null
+++ b/sound/songs/midi/se_basabasa.mid
Binary files differ
diff --git a/sound/songs/midi/se_bidoro.mid b/sound/songs/midi/se_bidoro.mid
new file mode 100644
index 000000000..a0b639ba4
--- /dev/null
+++ b/sound/songs/midi/se_bidoro.mid
Binary files differ
diff --git a/sound/songs/midi/se_boo.mid b/sound/songs/midi/se_boo.mid
new file mode 100644
index 000000000..89eb130b9
--- /dev/null
+++ b/sound/songs/midi/se_boo.mid
Binary files differ
diff --git a/sound/songs/midi/se_bowa.mid b/sound/songs/midi/se_bowa.mid
new file mode 100644
index 000000000..684ea618c
--- /dev/null
+++ b/sound/songs/midi/se_bowa.mid
Binary files differ
diff --git a/sound/songs/midi/se_bowa2.mid b/sound/songs/midi/se_bowa2.mid
new file mode 100644
index 000000000..669bed700
--- /dev/null
+++ b/sound/songs/midi/se_bowa2.mid
Binary files differ
diff --git a/sound/songs/midi/se_bt_start.mid b/sound/songs/midi/se_bt_start.mid
new file mode 100644
index 000000000..8c13783e9
--- /dev/null
+++ b/sound/songs/midi/se_bt_start.mid
Binary files differ
diff --git a/sound/songs/midi/se_c_gaji.mid b/sound/songs/midi/se_c_gaji.mid
new file mode 100644
index 000000000..94b6389b7
--- /dev/null
+++ b/sound/songs/midi/se_c_gaji.mid
Binary files differ
diff --git a/sound/songs/midi/se_c_maku_d.mid b/sound/songs/midi/se_c_maku_d.mid
new file mode 100644
index 000000000..04e2bfb11
--- /dev/null
+++ b/sound/songs/midi/se_c_maku_d.mid
Binary files differ
diff --git a/sound/songs/midi/se_c_maku_u.mid b/sound/songs/midi/se_c_maku_u.mid
new file mode 100644
index 000000000..109f92322
--- /dev/null
+++ b/sound/songs/midi/se_c_maku_u.mid
Binary files differ
diff --git a/sound/songs/midi/se_c_pasi.mid b/sound/songs/midi/se_c_pasi.mid
new file mode 100644
index 000000000..eea9c5707
--- /dev/null
+++ b/sound/songs/midi/se_c_pasi.mid
Binary files differ
diff --git a/sound/songs/midi/se_c_pikon.mid b/sound/songs/midi/se_c_pikon.mid
new file mode 100644
index 000000000..718a61443
--- /dev/null
+++ b/sound/songs/midi/se_c_pikon.mid
Binary files differ
diff --git a/sound/songs/midi/se_c_syu.mid b/sound/songs/midi/se_c_syu.mid
new file mode 100644
index 000000000..3766d5f51
--- /dev/null
+++ b/sound/songs/midi/se_c_syu.mid
Binary files differ
diff --git a/sound/songs/midi/se_card.mid b/sound/songs/midi/se_card.mid
new file mode 100644
index 000000000..a6832a85f
--- /dev/null
+++ b/sound/songs/midi/se_card.mid
Binary files differ
diff --git a/sound/songs/midi/se_curtain.mid b/sound/songs/midi/se_curtain.mid
new file mode 100644
index 000000000..88c684318
--- /dev/null
+++ b/sound/songs/midi/se_curtain.mid
Binary files differ
diff --git a/sound/songs/midi/se_curtain1.mid b/sound/songs/midi/se_curtain1.mid
new file mode 100644
index 000000000..0a40e158e
--- /dev/null
+++ b/sound/songs/midi/se_curtain1.mid
Binary files differ
diff --git a/sound/songs/midi/se_dansa.mid b/sound/songs/midi/se_dansa.mid
new file mode 100644
index 000000000..61eae0318
--- /dev/null
+++ b/sound/songs/midi/se_dansa.mid
Binary files differ
diff --git a/sound/songs/midi/se_daugi.mid b/sound/songs/midi/se_daugi.mid
new file mode 100644
index 000000000..9b6538a70
--- /dev/null
+++ b/sound/songs/midi/se_daugi.mid
Binary files differ
diff --git a/sound/songs/midi/se_dendou.mid b/sound/songs/midi/se_dendou.mid
new file mode 100644
index 000000000..4ab2a2212
--- /dev/null
+++ b/sound/songs/midi/se_dendou.mid
Binary files differ
diff --git a/sound/songs/midi/se_doku.mid b/sound/songs/midi/se_doku.mid
new file mode 100644
index 000000000..83841203a
--- /dev/null
+++ b/sound/songs/midi/se_doku.mid
Binary files differ
diff --git a/sound/songs/midi/se_door.mid b/sound/songs/midi/se_door.mid
new file mode 100644
index 000000000..004889e93
--- /dev/null
+++ b/sound/songs/midi/se_door.mid
Binary files differ
diff --git a/sound/songs/midi/se_e.mid b/sound/songs/midi/se_e.mid
new file mode 100644
index 000000000..79485cbc9
--- /dev/null
+++ b/sound/songs/midi/se_e.mid
Binary files differ
diff --git a/sound/songs/midi/se_elebeta.mid b/sound/songs/midi/se_elebeta.mid
new file mode 100644
index 000000000..66ee5fd1f
--- /dev/null
+++ b/sound/songs/midi/se_elebeta.mid
Binary files differ
diff --git a/sound/songs/midi/se_esuka.mid b/sound/songs/midi/se_esuka.mid
new file mode 100644
index 000000000..6a9e22a5b
--- /dev/null
+++ b/sound/songs/midi/se_esuka.mid
Binary files differ
diff --git a/sound/songs/midi/se_exp.mid b/sound/songs/midi/se_exp.mid
new file mode 100644
index 000000000..fa75616b5
--- /dev/null
+++ b/sound/songs/midi/se_exp.mid
Binary files differ
diff --git a/sound/songs/midi/se_expmax.mid b/sound/songs/midi/se_expmax.mid
new file mode 100644
index 000000000..8772e915e
--- /dev/null
+++ b/sound/songs/midi/se_expmax.mid
Binary files differ
diff --git a/sound/songs/midi/se_fu_zaku.mid b/sound/songs/midi/se_fu_zaku.mid
new file mode 100644
index 000000000..dbdb6383b
--- /dev/null
+++ b/sound/songs/midi/se_fu_zaku.mid
Binary files differ
diff --git a/sound/songs/midi/se_fu_zaku2.mid b/sound/songs/midi/se_fu_zaku2.mid
new file mode 100644
index 000000000..3fc903844
--- /dev/null
+++ b/sound/songs/midi/se_fu_zaku2.mid
Binary files differ
diff --git a/sound/songs/midi/se_fu_zuzuzu.mid b/sound/songs/midi/se_fu_zuzuzu.mid
new file mode 100644
index 000000000..962113ad3
--- /dev/null
+++ b/sound/songs/midi/se_fu_zuzuzu.mid
Binary files differ
diff --git a/sound/songs/midi/se_fuusen1.mid b/sound/songs/midi/se_fuusen1.mid
new file mode 100644
index 000000000..d22679a86
--- /dev/null
+++ b/sound/songs/midi/se_fuusen1.mid
Binary files differ
diff --git a/sound/songs/midi/se_fuusen2.mid b/sound/songs/midi/se_fuusen2.mid
new file mode 100644
index 000000000..4efc1a525
--- /dev/null
+++ b/sound/songs/midi/se_fuusen2.mid
Binary files differ
diff --git a/sound/songs/midi/se_fuusen3.mid b/sound/songs/midi/se_fuusen3.mid
new file mode 100644
index 000000000..ae40e0008
--- /dev/null
+++ b/sound/songs/midi/se_fuusen3.mid
Binary files differ
diff --git a/sound/songs/midi/se_hantei1.mid b/sound/songs/midi/se_hantei1.mid
new file mode 100644
index 000000000..1f2855420
--- /dev/null
+++ b/sound/songs/midi/se_hantei1.mid
Binary files differ
diff --git a/sound/songs/midi/se_hantei2.mid b/sound/songs/midi/se_hantei2.mid
new file mode 100644
index 000000000..06698dde9
--- /dev/null
+++ b/sound/songs/midi/se_hantei2.mid
Binary files differ
diff --git a/sound/songs/midi/se_hashi.mid b/sound/songs/midi/se_hashi.mid
new file mode 100644
index 000000000..fdd772c18
--- /dev/null
+++ b/sound/songs/midi/se_hashi.mid
Binary files differ
diff --git a/sound/songs/midi/se_hazure.mid b/sound/songs/midi/se_hazure.mid
new file mode 100644
index 000000000..c3c52f88f
--- /dev/null
+++ b/sound/songs/midi/se_hazure.mid
Binary files differ
diff --git a/sound/songs/midi/se_hi_turun.mid b/sound/songs/midi/se_hi_turun.mid
new file mode 100644
index 000000000..2a09f6c55
--- /dev/null
+++ b/sound/songs/midi/se_hi_turun.mid
Binary files differ
diff --git a/sound/songs/midi/se_hinsi.mid b/sound/songs/midi/se_hinsi.mid
new file mode 100644
index 000000000..3676a4a04
--- /dev/null
+++ b/sound/songs/midi/se_hinsi.mid
Binary files differ
diff --git a/sound/songs/midi/se_i.mid b/sound/songs/midi/se_i.mid
new file mode 100644
index 000000000..df7278dfd
--- /dev/null
+++ b/sound/songs/midi/se_i.mid
Binary files differ
diff --git a/sound/songs/midi/se_jido_doa.mid b/sound/songs/midi/se_jido_doa.mid
new file mode 100644
index 000000000..62fa8c911
--- /dev/null
+++ b/sound/songs/midi/se_jido_doa.mid
Binary files differ
diff --git a/sound/songs/midi/se_jihanki.mid b/sound/songs/midi/se_jihanki.mid
new file mode 100644
index 000000000..ac6436d72
--- /dev/null
+++ b/sound/songs/midi/se_jihanki.mid
Binary files differ
diff --git a/sound/songs/midi/se_jite_pyoko.mid b/sound/songs/midi/se_jite_pyoko.mid
new file mode 100644
index 000000000..013be8590
--- /dev/null
+++ b/sound/songs/midi/se_jite_pyoko.mid
Binary files differ
diff --git a/sound/songs/midi/se_jitensya.mid b/sound/songs/midi/se_jitensya.mid
new file mode 100644
index 000000000..9d5de6cbd
--- /dev/null
+++ b/sound/songs/midi/se_jitensya.mid
Binary files differ
diff --git a/sound/songs/midi/se_jyuni.mid b/sound/songs/midi/se_jyuni.mid
new file mode 100644
index 000000000..f68a31e46
--- /dev/null
+++ b/sound/songs/midi/se_jyuni.mid
Binary files differ
diff --git a/sound/songs/midi/se_kaidan.mid b/sound/songs/midi/se_kaidan.mid
new file mode 100644
index 000000000..575307d86
--- /dev/null
+++ b/sound/songs/midi/se_kaidan.mid
Binary files differ
diff --git a/sound/songs/midi/se_kaifuku.mid b/sound/songs/midi/se_kaifuku.mid
new file mode 100644
index 000000000..4375a705d
--- /dev/null
+++ b/sound/songs/midi/se_kaifuku.mid
Binary files differ
diff --git a/sound/songs/midi/se_ki_gasyan.mid b/sound/songs/midi/se_ki_gasyan.mid
new file mode 100644
index 000000000..8a57132d9
--- /dev/null
+++ b/sound/songs/midi/se_ki_gasyan.mid
Binary files differ
diff --git a/sound/songs/midi/se_kon.mid b/sound/songs/midi/se_kon.mid
new file mode 100644
index 000000000..438d4b047
--- /dev/null
+++ b/sound/songs/midi/se_kon.mid
Binary files differ
diff --git a/sound/songs/midi/se_kon2.mid b/sound/songs/midi/se_kon2.mid
new file mode 100644
index 000000000..961d82642
--- /dev/null
+++ b/sound/songs/midi/se_kon2.mid
Binary files differ
diff --git a/sound/songs/midi/se_kon3.mid b/sound/songs/midi/se_kon3.mid
new file mode 100644
index 000000000..fc35f1931
--- /dev/null
+++ b/sound/songs/midi/se_kon3.mid
Binary files differ
diff --git a/sound/songs/midi/se_kon4.mid b/sound/songs/midi/se_kon4.mid
new file mode 100644
index 000000000..b0f5561b9
--- /dev/null
+++ b/sound/songs/midi/se_kon4.mid
Binary files differ
diff --git a/sound/songs/midi/se_kouka_h.mid b/sound/songs/midi/se_kouka_h.mid
new file mode 100644
index 000000000..e70b12901
--- /dev/null
+++ b/sound/songs/midi/se_kouka_h.mid
Binary files differ
diff --git a/sound/songs/midi/se_kouka_l.mid b/sound/songs/midi/se_kouka_l.mid
new file mode 100644
index 000000000..34aafbb18
--- /dev/null
+++ b/sound/songs/midi/se_kouka_l.mid
Binary files differ
diff --git a/sound/songs/midi/se_kouka_m.mid b/sound/songs/midi/se_kouka_m.mid
new file mode 100644
index 000000000..d98bd0027
--- /dev/null
+++ b/sound/songs/midi/se_kouka_m.mid
Binary files differ
diff --git a/sound/songs/se_a.s b/sound/songs/se_a.s
deleted file mode 100644
index 860a9aa27..000000000
--- a/sound/songs/se_a.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_a_grp, voicegroup128
- .equ se_a_pri, 4
- .equ se_a_rev, reverb_set+50
- .equ se_a_mvl, 127
- .equ se_a_key, 0
- .equ se_a_tbs, 1
- .equ se_a_exg, 0
- .equ se_a_cmp, 1
-
- .section .rodata
- .global se_a
- .align 2
-
-@********************** Track 1 **********************@
-
-se_a_1:
- .byte KEYSH , se_a_key+0
- .byte TEMPO , 240*se_a_tbs/2
- .byte VOICE , 122
- .byte BENDR , 12
- .byte VOL , 95*se_a_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Cn3 , v127
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_a:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_a_pri @ Priority
- .byte se_a_rev @ Reverb.
-
- .word se_a_grp
-
- .word se_a_1
-
- .end
diff --git a/sound/songs/se_ban.s b/sound/songs/se_ban.s
deleted file mode 100644
index c4e39b5cd..000000000
--- a/sound/songs/se_ban.s
+++ /dev/null
@@ -1,70 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ban_grp, voicegroup128
- .equ se_ban_pri, 4
- .equ se_ban_rev, reverb_set+50
- .equ se_ban_mvl, 127
- .equ se_ban_key, 0
- .equ se_ban_tbs, 1
- .equ se_ban_exg, 0
- .equ se_ban_cmp, 1
-
- .section .rodata
- .global se_ban
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ban_1:
- .byte KEYSH , se_ban_key+0
- .byte TEMPO , 240*se_ban_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 110*se_ban_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , En2 , v127
- .byte W03
- .byte Dn2
- .byte W03
- .byte N06 , Gn1
- .byte W06
- .byte N60 , An2
- .byte W12
- .byte W24
- .byte VOL , 94*se_ban_mvl/mxv
- .byte BEND , c_v-5
- .byte W03
- .byte VOL , 81*se_ban_mvl/mxv
- .byte W03
- .byte 71*se_ban_mvl/mxv
- .byte BEND , c_v-12
- .byte W03
- .byte VOL , 47*se_ban_mvl/mxv
- .byte W03
- .byte 32*se_ban_mvl/mxv
- .byte BEND , c_v-19
- .byte W03
- .byte VOL , 20*se_ban_mvl/mxv
- .byte W03
- .byte 7*se_ban_mvl/mxv
- .byte BEND , c_v-28
- .byte W03
- .byte VOL , 0*se_ban_mvl/mxv
- .byte BEND , c_v-37
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ban:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ban_pri @ Priority
- .byte se_ban_rev @ Reverb.
-
- .word se_ban_grp
-
- .word se_ban_1
-
- .end
diff --git a/sound/songs/se_basabasa.s b/sound/songs/se_basabasa.s
deleted file mode 100644
index bf1ee14ca..000000000
--- a/sound/songs/se_basabasa.s
+++ /dev/null
@@ -1,123 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_basabasa_grp, voicegroup128
- .equ se_basabasa_pri, 5
- .equ se_basabasa_rev, reverb_set+50
- .equ se_basabasa_mvl, 127
- .equ se_basabasa_key, 0
- .equ se_basabasa_tbs, 1
- .equ se_basabasa_exg, 0
- .equ se_basabasa_cmp, 1
-
- .section .rodata
- .global se_basabasa
- .align 2
-
-@********************** Track 1 **********************@
-
-se_basabasa_1:
- .byte KEYSH , se_basabasa_key+0
-se_basabasa_1_B1:
- .byte TEMPO , 220*se_basabasa_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 40*se_basabasa_mvl/mxv
- .byte BEND , c_v-32
- .byte N07 , An1 , v127
- .byte W01
- .byte VOL , 52*se_basabasa_mvl/mxv
- .byte PAN , c_v+10
- .byte BEND , c_v-16
- .byte W01
- .byte VOL , 68*se_basabasa_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte W01
- .byte VOL , 82*se_basabasa_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+17
- .byte W01
- .byte VOL , 105*se_basabasa_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+37
- .byte W02
- .byte PAN , c_v+10
- .byte BEND , c_v+63
- .byte W03
- .byte PAN , c_v+0
- .byte W01
- .byte VOL , 40*se_basabasa_mvl/mxv
- .byte PAN , c_v+10
- .byte BEND , c_v+1
- .byte N06
- .byte W02
- .byte VOL , 52*se_basabasa_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+38
- .byte W01
- .byte VOL , 79*se_basabasa_mvl/mxv
- .byte PAN , c_v-9
- .byte BEND , c_v+48
- .byte W01
- .byte VOL , 105*se_basabasa_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+63
- .byte W10
- .byte W12
- .byte W12
- .byte GOTO
- .word se_basabasa_1_B1
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_basabasa_2:
- .byte KEYSH , se_basabasa_key+0
-se_basabasa_2_B1:
- .byte VOICE , 27
- .byte PAN , c_v+0
- .byte VOL , 52*se_basabasa_mvl/mxv
- .byte N07 , Gn2 , v040
- .byte W01
- .byte VOL , 69*se_basabasa_mvl/mxv
- .byte W01
- .byte 83*se_basabasa_mvl/mxv
- .byte W01
- .byte 105*se_basabasa_mvl/mxv
- .byte W01
- .byte 67*se_basabasa_mvl/mxv
- .byte W02
- .byte 23*se_basabasa_mvl/mxv
- .byte W04
- .byte VOICE , 25
- .byte VOL , 52*se_basabasa_mvl/mxv
- .byte N06 , Gs4
- .byte W02
- .byte VOL , 81*se_basabasa_mvl/mxv
- .byte W01
- .byte 105*se_basabasa_mvl/mxv
- .byte W02
- .byte 52*se_basabasa_mvl/mxv
- .byte W09
- .byte W12
- .byte W12
- .byte GOTO
- .word se_basabasa_2_B1
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_basabasa:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_basabasa_pri @ Priority
- .byte se_basabasa_rev @ Reverb.
-
- .word se_basabasa_grp
-
- .word se_basabasa_1
- .word se_basabasa_2
-
- .end
diff --git a/sound/songs/se_bidoro.s b/sound/songs/se_bidoro.s
deleted file mode 100644
index 6130a39a2..000000000
--- a/sound/songs/se_bidoro.s
+++ /dev/null
@@ -1,61 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_bidoro_grp, voicegroup128
- .equ se_bidoro_pri, 5
- .equ se_bidoro_rev, reverb_set+50
- .equ se_bidoro_mvl, 127
- .equ se_bidoro_key, 0
- .equ se_bidoro_tbs, 1
- .equ se_bidoro_exg, 0
- .equ se_bidoro_cmp, 1
-
- .section .rodata
- .global se_bidoro
- .align 2
-
-@********************** Track 1 **********************@
-
-se_bidoro_1:
- .byte KEYSH , se_bidoro_key+0
- .byte TEMPO , 120*se_bidoro_tbs/2
- .byte VOICE , 28
- .byte VOL , 26*se_bidoro_mvl/mxv
- .byte BENDR , 8
- .byte BEND , c_v+0
- .byte N01 , En3 , v116
- .byte W01
- .byte VOL , 105*se_bidoro_mvl/mxv
- .byte BEND , c_v-4
- .byte N01 , Bn2
- .byte W01
- .byte BEND , c_v+3
- .byte N01 , Cn3
- .byte W04
- .byte W04
- .byte BEND , c_v+0
- .byte N04 , Bn3
- .byte W02
- .byte VOL , 26*se_bidoro_mvl/mxv
- .byte BEND , c_v-7
- .byte W01
- .byte VOL , 105*se_bidoro_mvl/mxv
- .byte BEND , c_v-13
- .byte W01
- .byte c_v-23
- .byte W04
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_bidoro:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_bidoro_pri @ Priority
- .byte se_bidoro_rev @ Reverb.
-
- .word se_bidoro_grp
-
- .word se_bidoro_1
-
- .end
diff --git a/sound/songs/se_boo.s b/sound/songs/se_boo.s
deleted file mode 100644
index c6bb1cb06..000000000
--- a/sound/songs/se_boo.s
+++ /dev/null
@@ -1,47 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_boo_grp, voicegroup127
- .equ se_boo_pri, 4
- .equ se_boo_rev, reverb_set+50
- .equ se_boo_mvl, 127
- .equ se_boo_key, 0
- .equ se_boo_tbs, 1
- .equ se_boo_exg, 0
- .equ se_boo_cmp, 1
-
- .section .rodata
- .global se_boo
- .align 2
-
-@********************** Track 1 **********************@
-
-se_boo_1:
- .byte KEYSH , se_boo_key+0
- .byte TEMPO , 100*se_boo_tbs/2
- .byte VOICE , 5
- .byte BENDR , 12
- .byte VOL , 110*se_boo_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Cn3 , v127
- .byte W03
- .byte Cn2 , v112
- .byte W03
- .byte W03
- .byte Cn2 , v024
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_boo:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_boo_pri @ Priority
- .byte se_boo_rev @ Reverb.
-
- .word se_boo_grp
-
- .word se_boo_1
-
- .end
diff --git a/sound/songs/se_bowa.s b/sound/songs/se_bowa.s
deleted file mode 100644
index 93b84265b..000000000
--- a/sound/songs/se_bowa.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_bowa_grp, voicegroup127
- .equ se_bowa_pri, 4
- .equ se_bowa_rev, reverb_set+50
- .equ se_bowa_mvl, 127
- .equ se_bowa_key, 0
- .equ se_bowa_tbs, 1
- .equ se_bowa_exg, 0
- .equ se_bowa_cmp, 1
-
- .section .rodata
- .global se_bowa
- .align 2
-
-@********************** Track 1 **********************@
-
-se_bowa_1:
- .byte KEYSH , se_bowa_key+0
- .byte TEMPO , 128*se_bowa_tbs/2
- .byte VOICE , 7
- .byte BENDR , 12
- .byte VOL , 70*se_bowa_mvl/mxv
- .byte BEND , c_v+2
- .byte N04 , Fn2 , v127
- .byte W04
- .byte N01 , Dn3
- .byte W02
- .byte VOICE , 8
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_bowa:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_bowa_pri @ Priority
- .byte se_bowa_rev @ Reverb.
-
- .word se_bowa_grp
-
- .word se_bowa_1
-
- .end
diff --git a/sound/songs/se_bowa2.s b/sound/songs/se_bowa2.s
deleted file mode 100644
index 571c45291..000000000
--- a/sound/songs/se_bowa2.s
+++ /dev/null
@@ -1,83 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_bowa2_grp, voicegroup127
- .equ se_bowa2_pri, 5
- .equ se_bowa2_rev, reverb_set+50
- .equ se_bowa2_mvl, 127
- .equ se_bowa2_key, 0
- .equ se_bowa2_tbs, 1
- .equ se_bowa2_exg, 0
- .equ se_bowa2_cmp, 1
-
- .section .rodata
- .global se_bowa2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_bowa2_1:
- .byte KEYSH , se_bowa2_key+0
- .byte TEMPO , 90*se_bowa2_tbs/2
- .byte VOICE , 86
- .byte VOL , 100*se_bowa2_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Gn1 , v100
- .byte W03
- .byte N05 , Fn2
- .byte W03
- .byte W03
- .byte N06 , Fn2 , v052
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_bowa2_2:
- .byte KEYSH , se_bowa2_key+0
- .byte VOICE , 0
- .byte VOL , 100*se_bowa2_mvl/mxv
- .byte BENDR , 12
- .byte BEND , c_v+0
- .byte N03 , Gn3 , v052
- .byte W03
- .byte Cn2 , v112
- .byte W03
- .byte W03
- .byte Cn1 , v092
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_bowa2_3:
- .byte KEYSH , se_bowa2_key+0
- .byte VOICE , 124
- .byte VOL , 100*se_bowa2_mvl/mxv
- .byte N03 , Gn3 , v052
- .byte W03
- .byte N06 , Gs4
- .byte W03
- .byte W03
- .byte Gs4 , v020
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_bowa2:
- .byte 3 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_bowa2_pri @ Priority
- .byte se_bowa2_rev @ Reverb.
-
- .word se_bowa2_grp
-
- .word se_bowa2_1
- .word se_bowa2_2
- .word se_bowa2_3
-
- .end
diff --git a/sound/songs/se_bt_start.s b/sound/songs/se_bt_start.s
deleted file mode 100644
index c0c30550b..000000000
--- a/sound/songs/se_bt_start.s
+++ /dev/null
@@ -1,212 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_bt_start_grp, voicegroup128
- .equ se_bt_start_pri, 5
- .equ se_bt_start_rev, reverb_set+50
- .equ se_bt_start_mvl, 127
- .equ se_bt_start_key, 0
- .equ se_bt_start_tbs, 1
- .equ se_bt_start_exg, 0
- .equ se_bt_start_cmp, 1
-
- .section .rodata
- .global se_bt_start
- .align 2
-
-@********************** Track 1 **********************@
-
-se_bt_start_1:
- .byte KEYSH , se_bt_start_key+0
- .byte TEMPO , 110*se_bt_start_tbs/2
- .byte VOICE , 66
- .byte BENDR , 12
- .byte VOL , 90*se_bt_start_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N90 , Gs3 , v040
- .byte W06
- .byte W06
- .byte BEND , c_v+1
- .byte W04
- .byte c_v+3
- .byte W02
- .byte W04
- .byte c_v+5
- .byte W02
- .byte W04
- .byte c_v+8
- .byte W02
- .byte W03
- .byte c_v+11
- .byte W03
- .byte W03
- .byte c_v+18
- .byte W03
- .byte W02
- .byte c_v+24
- .byte W04
- .byte c_v+30
- .byte W02
- .byte c_v+38
- .byte W02
- .byte c_v+43
- .byte W02
- .byte W01
- .byte c_v+56
- .byte W02
- .byte c_v+63
- .byte W03
- .byte W03
- .byte VOL , 83*se_bt_start_mvl/mxv
- .byte W03
- .byte 75*se_bt_start_mvl/mxv
- .byte W04
- .byte 68*se_bt_start_mvl/mxv
- .byte W02
- .byte W01
- .byte 55*se_bt_start_mvl/mxv
- .byte W04
- .byte 42*se_bt_start_mvl/mxv
- .byte W01
- .byte W03
- .byte 29*se_bt_start_mvl/mxv
- .byte W03
- .byte 17*se_bt_start_mvl/mxv
- .byte W03
- .byte 8*se_bt_start_mvl/mxv
- .byte W03
- .byte W06
- .byte W06
- .byte W06
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_bt_start_2:
- .byte KEYSH , se_bt_start_key+0
- .byte VOICE , 2
- .byte VOL , 14*se_bt_start_mvl/mxv
- .byte PAN , c_v-1
- .byte BEND , c_v+0
- .byte TIE , Gn3 , v100
- .byte W01
- .byte VOL , 19*se_bt_start_mvl/mxv
- .byte W01
- .byte 30*se_bt_start_mvl/mxv
- .byte W02
- .byte 37*se_bt_start_mvl/mxv
- .byte W02
- .byte W02
- .byte 44*se_bt_start_mvl/mxv
- .byte W04
- .byte 49*se_bt_start_mvl/mxv
- .byte W04
- .byte 53*se_bt_start_mvl/mxv
- .byte W02
- .byte W03
- .byte 58*se_bt_start_mvl/mxv
- .byte W03
- .byte W02
- .byte 64*se_bt_start_mvl/mxv
- .byte W04
- .byte 68*se_bt_start_mvl/mxv
- .byte W03
- .byte 74*se_bt_start_mvl/mxv
- .byte W03
- .byte W01
- .byte BEND , c_v+1
- .byte W01
- .byte VOL , 81*se_bt_start_mvl/mxv
- .byte W04
- .byte BEND , c_v+2
- .byte W01
- .byte VOL , 90*se_bt_start_mvl/mxv
- .byte W03
- .byte BEND , c_v+4
- .byte W02
- .byte W03
- .byte c_v+5
- .byte W03
- .byte W01
- .byte c_v+6
- .byte W03
- .byte c_v+6
- .byte W02
- .byte W02
- .byte c_v+8
- .byte W02
- .byte c_v+10
- .byte W02
- .byte W01
- .byte c_v+14
- .byte W02
- .byte c_v+17
- .byte W03
- .byte c_v+24
- .byte W02
- .byte c_v+30
- .byte W01
- .byte c_v+41
- .byte W01
- .byte c_v+46
- .byte W02
- .byte c_v+55
- .byte W01
- .byte c_v+60
- .byte W01
- .byte c_v+63
- .byte W01
- .byte VOL , 87*se_bt_start_mvl/mxv
- .byte W03
- .byte 85*se_bt_start_mvl/mxv
- .byte PAN , c_v-4
- .byte W02
- .byte VOL , 78*se_bt_start_mvl/mxv
- .byte PAN , c_v+4
- .byte W02
- .byte VOL , 75*se_bt_start_mvl/mxv
- .byte PAN , c_v-6
- .byte W02
- .byte W01
- .byte VOL , 69*se_bt_start_mvl/mxv
- .byte PAN , c_v+6
- .byte W02
- .byte VOL , 59*se_bt_start_mvl/mxv
- .byte PAN , c_v-20
- .byte W03
- .byte VOL , 49*se_bt_start_mvl/mxv
- .byte PAN , c_v+22
- .byte W02
- .byte VOL , 41*se_bt_start_mvl/mxv
- .byte PAN , c_v-37
- .byte W02
- .byte VOL , 30*se_bt_start_mvl/mxv
- .byte PAN , c_v+37
- .byte W02
- .byte W01
- .byte VOL , 19*se_bt_start_mvl/mxv
- .byte PAN , c_v-48
- .byte W02
- .byte VOL , 10*se_bt_start_mvl/mxv
- .byte PAN , c_v+48
- .byte W01
- .byte VOL , 4*se_bt_start_mvl/mxv
- .byte W02
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_bt_start:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_bt_start_pri @ Priority
- .byte se_bt_start_rev @ Reverb.
-
- .word se_bt_start_grp
-
- .word se_bt_start_1
- .word se_bt_start_2
-
- .end
diff --git a/sound/songs/se_c_gaji.s b/sound/songs/se_c_gaji.s
deleted file mode 100644
index 38217dbe5..000000000
--- a/sound/songs/se_c_gaji.s
+++ /dev/null
@@ -1,44 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_c_gaji_grp, voicegroup128
- .equ se_c_gaji_pri, 5
- .equ se_c_gaji_rev, reverb_set+50
- .equ se_c_gaji_mvl, 127
- .equ se_c_gaji_key, 0
- .equ se_c_gaji_tbs, 1
- .equ se_c_gaji_exg, 0
- .equ se_c_gaji_cmp, 1
-
- .section .rodata
- .global se_c_gaji
- .align 2
-
-@********************** Track 1 **********************@
-
-se_c_gaji_1:
- .byte KEYSH , se_c_gaji_key+0
- .byte TEMPO , 150*se_c_gaji_tbs/2
- .byte VOICE , 14
- .byte VOL , 90*se_c_gaji_mvl/mxv
- .byte BEND , c_v-7
- .byte N02 , Cn5 , v112
- .byte W02
- .byte N09 , Gn4
- .byte W04
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_c_gaji:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_c_gaji_pri @ Priority
- .byte se_c_gaji_rev @ Reverb.
-
- .word se_c_gaji_grp
-
- .word se_c_gaji_1
-
- .end
diff --git a/sound/songs/se_c_maku_d.s b/sound/songs/se_c_maku_d.s
deleted file mode 100644
index f97673f07..000000000
--- a/sound/songs/se_c_maku_d.s
+++ /dev/null
@@ -1,95 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_c_maku_d_grp, voicegroup128
- .equ se_c_maku_d_pri, 5
- .equ se_c_maku_d_rev, reverb_set+50
- .equ se_c_maku_d_mvl, 127
- .equ se_c_maku_d_key, 0
- .equ se_c_maku_d_tbs, 1
- .equ se_c_maku_d_exg, 0
- .equ se_c_maku_d_cmp, 1
-
- .section .rodata
- .global se_c_maku_d
- .align 2
-
-@********************** Track 1 **********************@
-
-se_c_maku_d_1:
- .byte KEYSH , se_c_maku_d_key+0
- .byte TEMPO , 150*se_c_maku_d_tbs/2
- .byte VOICE , 25
- .byte VOL , 12*se_c_maku_d_mvl/mxv
- .byte BEND , c_v+0
- .byte N12 , Gs4 , v060
- .byte W01
- .byte VOL , 22*se_c_maku_d_mvl/mxv
- .byte W01
- .byte 33*se_c_maku_d_mvl/mxv
- .byte W01
- .byte 46*se_c_maku_d_mvl/mxv
- .byte W01
- .byte 58*se_c_maku_d_mvl/mxv
- .byte W02
- .byte 70*se_c_maku_d_mvl/mxv
- .byte W02
- .byte 60*se_c_maku_d_mvl/mxv
- .byte W01
- .byte 42*se_c_maku_d_mvl/mxv
- .byte W01
- .byte 22*se_c_maku_d_mvl/mxv
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_c_maku_d_2:
- .byte KEYSH , se_c_maku_d_key+0
- .byte VOICE , 15
- .byte VOL , 12*se_c_maku_d_mvl/mxv
- .byte BEND , c_v+0
- .byte N12 , Fn3 , v100
- .byte W01
- .byte VOL , 22*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-4
- .byte W01
- .byte VOL , 33*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-7
- .byte W01
- .byte VOL , 46*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-10
- .byte W01
- .byte VOL , 58*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-15
- .byte W02
- .byte VOL , 70*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-23
- .byte W01
- .byte c_v-31
- .byte W01
- .byte VOL , 60*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-39
- .byte W01
- .byte VOL , 42*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-48
- .byte W01
- .byte VOL , 22*se_c_maku_d_mvl/mxv
- .byte BEND , c_v-55
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_c_maku_d:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_c_maku_d_pri @ Priority
- .byte se_c_maku_d_rev @ Reverb.
-
- .word se_c_maku_d_grp
-
- .word se_c_maku_d_1
- .word se_c_maku_d_2
-
- .end
diff --git a/sound/songs/se_c_maku_u.s b/sound/songs/se_c_maku_u.s
deleted file mode 100644
index fa0ef3f0d..000000000
--- a/sound/songs/se_c_maku_u.s
+++ /dev/null
@@ -1,95 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_c_maku_u_grp, voicegroup128
- .equ se_c_maku_u_pri, 5
- .equ se_c_maku_u_rev, reverb_set+50
- .equ se_c_maku_u_mvl, 127
- .equ se_c_maku_u_key, 0
- .equ se_c_maku_u_tbs, 1
- .equ se_c_maku_u_exg, 0
- .equ se_c_maku_u_cmp, 1
-
- .section .rodata
- .global se_c_maku_u
- .align 2
-
-@********************** Track 1 **********************@
-
-se_c_maku_u_1:
- .byte KEYSH , se_c_maku_u_key+0
- .byte TEMPO , 150*se_c_maku_u_tbs/2
- .byte VOICE , 25
- .byte VOL , 12*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+0
- .byte N12 , Gs4 , v060
- .byte W01
- .byte VOL , 22*se_c_maku_u_mvl/mxv
- .byte W01
- .byte 33*se_c_maku_u_mvl/mxv
- .byte W01
- .byte 46*se_c_maku_u_mvl/mxv
- .byte W01
- .byte 58*se_c_maku_u_mvl/mxv
- .byte W02
- .byte 70*se_c_maku_u_mvl/mxv
- .byte W02
- .byte 60*se_c_maku_u_mvl/mxv
- .byte W01
- .byte 42*se_c_maku_u_mvl/mxv
- .byte W01
- .byte 22*se_c_maku_u_mvl/mxv
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_c_maku_u_2:
- .byte KEYSH , se_c_maku_u_key+0
- .byte VOICE , 15
- .byte VOL , 12*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+0
- .byte N12 , Fn3 , v100
- .byte W01
- .byte VOL , 22*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+3
- .byte W01
- .byte VOL , 33*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+6
- .byte W01
- .byte VOL , 46*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+9
- .byte W01
- .byte VOL , 58*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+12
- .byte W02
- .byte VOL , 70*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+17
- .byte W01
- .byte c_v+20
- .byte W01
- .byte VOL , 60*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+25
- .byte W01
- .byte VOL , 42*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+32
- .byte W01
- .byte VOL , 22*se_c_maku_u_mvl/mxv
- .byte BEND , c_v+38
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_c_maku_u:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_c_maku_u_pri @ Priority
- .byte se_c_maku_u_rev @ Reverb.
-
- .word se_c_maku_u_grp
-
- .word se_c_maku_u_1
- .word se_c_maku_u_2
-
- .end
diff --git a/sound/songs/se_c_pasi.s b/sound/songs/se_c_pasi.s
deleted file mode 100644
index 02da29a6d..000000000
--- a/sound/songs/se_c_pasi.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_c_pasi_grp, voicegroup128
- .equ se_c_pasi_pri, 5
- .equ se_c_pasi_rev, reverb_set+50
- .equ se_c_pasi_mvl, 127
- .equ se_c_pasi_key, 0
- .equ se_c_pasi_tbs, 1
- .equ se_c_pasi_exg, 0
- .equ se_c_pasi_cmp, 1
-
- .section .rodata
- .global se_c_pasi
- .align 2
-
-@********************** Track 1 **********************@
-
-se_c_pasi_1:
- .byte KEYSH , se_c_pasi_key+0
- .byte TEMPO , 150*se_c_pasi_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 110*se_c_pasi_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte N02 , Gn3 , v112
- .byte W04
- .byte Gn4 , v064
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_c_pasi:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_c_pasi_pri @ Priority
- .byte se_c_pasi_rev @ Reverb.
-
- .word se_c_pasi_grp
-
- .word se_c_pasi_1
-
- .end
diff --git a/sound/songs/se_c_pikon.s b/sound/songs/se_c_pikon.s
deleted file mode 100644
index 1e91ed760..000000000
--- a/sound/songs/se_c_pikon.s
+++ /dev/null
@@ -1,54 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_c_pikon_grp, voicegroup128
- .equ se_c_pikon_pri, 5
- .equ se_c_pikon_rev, reverb_set+50
- .equ se_c_pikon_mvl, 127
- .equ se_c_pikon_key, 0
- .equ se_c_pikon_tbs, 1
- .equ se_c_pikon_exg, 0
- .equ se_c_pikon_cmp, 1
-
- .section .rodata
- .global se_c_pikon
- .align 2
-
-@********************** Track 1 **********************@
-
-se_c_pikon_1:
- .byte KEYSH , se_c_pikon_key+0
- .byte TEMPO , 150*se_c_pikon_tbs/2
- .byte VOICE , 14
- .byte VOL , 90*se_c_pikon_mvl/mxv
- .byte BEND , c_v-7
- .byte N02 , Cn5 , v112
- .byte W02
- .byte Cn6
- .byte W04
- .byte W01
- .byte Cn6 , v060
- .byte W05
- .byte W02
- .byte Cn5 , v112
- .byte W02
- .byte Cn6
- .byte W02
- .byte W03
- .byte Cn6 , v060
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_c_pikon:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_c_pikon_pri @ Priority
- .byte se_c_pikon_rev @ Reverb.
-
- .word se_c_pikon_grp
-
- .word se_c_pikon_1
-
- .end
diff --git a/sound/songs/se_c_syu.s b/sound/songs/se_c_syu.s
deleted file mode 100644
index c4d051397..000000000
--- a/sound/songs/se_c_syu.s
+++ /dev/null
@@ -1,54 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_c_syu_grp, voicegroup128
- .equ se_c_syu_pri, 5
- .equ se_c_syu_rev, reverb_set+50
- .equ se_c_syu_mvl, 127
- .equ se_c_syu_key, 0
- .equ se_c_syu_tbs, 1
- .equ se_c_syu_exg, 0
- .equ se_c_syu_cmp, 1
-
- .section .rodata
- .global se_c_syu
- .align 2
-
-@********************** Track 1 **********************@
-
-se_c_syu_1:
- .byte KEYSH , se_c_syu_key+0
- .byte TEMPO , 150*se_c_syu_tbs/2
- .byte VOICE , 36
- .byte VOL , 49*se_c_syu_mvl/mxv
- .byte BEND , c_v-64
- .byte N03 , Cn6 , v112
- .byte W01
- .byte VOL , 68*se_c_syu_mvl/mxv
- .byte BEND , c_v-1
- .byte W01
- .byte VOL , 90*se_c_syu_mvl/mxv
- .byte BEND , c_v+63
- .byte W01
- .byte VOL , 69*se_c_syu_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Cn6 , v040
- .byte W01
- .byte VOL , 90*se_c_syu_mvl/mxv
- .byte BEND , c_v+63
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_c_syu:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_c_syu_pri @ Priority
- .byte se_c_syu_rev @ Reverb.
-
- .word se_c_syu_grp
-
- .word se_c_syu_1
-
- .end
diff --git a/sound/songs/se_card.s b/sound/songs/se_card.s
deleted file mode 100644
index 703e516d5..000000000
--- a/sound/songs/se_card.s
+++ /dev/null
@@ -1,84 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_card_grp, voicegroup127
- .equ se_card_pri, 4
- .equ se_card_rev, reverb_set+50
- .equ se_card_mvl, 127
- .equ se_card_key, 0
- .equ se_card_tbs, 1
- .equ se_card_exg, 0
- .equ se_card_cmp, 1
-
- .section .rodata
- .global se_card
- .align 2
-
-@********************** Track 1 **********************@
-
-se_card_1:
- .byte KEYSH , se_card_key+0
- .byte TEMPO , 180*se_card_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 37*se_card_mvl/mxv
- .byte BEND , c_v+63
- .byte N02 , Gn3 , v044
- .byte W01
- .byte VOL , 73*se_card_mvl/mxv
- .byte W01
- .byte 100*se_card_mvl/mxv
- .byte N01 , Gn4
- .byte W02
- .byte N30 , Cn4 , v127
- .byte W02
- .byte BEND , c_v+59
- .byte W01
- .byte VOL , 3*se_card_mvl/mxv
- .byte W01
- .byte 25*se_card_mvl/mxv
- .byte W01
- .byte 56*se_card_mvl/mxv
- .byte BEND , c_v+55
- .byte W01
- .byte VOL , 77*se_card_mvl/mxv
- .byte W02
- .byte 100*se_card_mvl/mxv
- .byte BEND , c_v+46
- .byte W03
- .byte VOL , 92*se_card_mvl/mxv
- .byte BEND , c_v+37
- .byte W03
- .byte VOL , 79*se_card_mvl/mxv
- .byte BEND , c_v+28
- .byte W03
- .byte VOL , 66*se_card_mvl/mxv
- .byte BEND , c_v+20
- .byte W03
- .byte VOL , 52*se_card_mvl/mxv
- .byte BEND , c_v+11
- .byte W03
- .byte VOL , 38*se_card_mvl/mxv
- .byte BEND , c_v+2
- .byte W03
- .byte VOL , 25*se_card_mvl/mxv
- .byte BEND , c_v-7
- .byte W03
- .byte VOL , 11*se_card_mvl/mxv
- .byte BEND , c_v-16
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_card:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_card_pri @ Priority
- .byte se_card_rev @ Reverb.
-
- .word se_card_grp
-
- .word se_card_1
-
- .end
diff --git a/sound/songs/se_curtain.s b/sound/songs/se_curtain.s
deleted file mode 100644
index e15fe4742..000000000
--- a/sound/songs/se_curtain.s
+++ /dev/null
@@ -1,166 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_curtain_grp, voicegroup129
- .equ se_curtain_pri, 5
- .equ se_curtain_rev, reverb_set+50
- .equ se_curtain_mvl, 127
- .equ se_curtain_key, 0
- .equ se_curtain_tbs, 1
- .equ se_curtain_exg, 0
- .equ se_curtain_cmp, 1
-
- .section .rodata
- .global se_curtain
- .align 2
-
-@********************** Track 1 **********************@
-
-se_curtain_1:
- .byte KEYSH , se_curtain_key+0
- .byte TEMPO , 98*se_curtain_tbs/2
- .byte PAN , c_v+0
- .byte VOL , 127*se_curtain_mvl/mxv
- .byte W19
- .byte TEMPO , 112*se_curtain_tbs/2
- .byte VOICE , 38
- .byte MOD , 2
- .byte N04 , Gs1 , v120
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte 1
- .byte N04 , Cn2
- .byte W02
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , En2
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , Gs2
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , Cn3
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte 1
- .byte N04 , Ds3
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte 1
- .byte N04 , En3 , v096
- .byte W02
- .byte MOD , 7
- .byte W02
- .byte PAN , c_v-62
- .byte MOD , 1
- .byte N04 , En4 , v032
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte PAN , c_v+63
- .byte MOD , 1
- .byte N04 , En3 , v048
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte PAN , c_v-62
- .byte MOD , 1
- .byte N04 , En4 , v012
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte PAN , c_v+63
- .byte MOD , 1
- .byte N04 , En3 , v032
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte PAN , c_v-62
- .byte MOD , 1
- .byte N04 , En4 , v008
- .byte W02
- .byte MOD , 7
- .byte W02
- .byte 2
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_curtain_2:
- .byte KEYSH , se_curtain_key+0
- .byte PAN , c_v+0
- .byte VOL , 112*se_curtain_mvl/mxv
- .byte W19
- .byte VOICE , 100
- .byte W12
- .byte W07
- .byte N04 , Cn4 , v112
- .byte W05
- .byte As4
- .byte W07
- .byte Gs5 , v064
- .byte W05
- .byte Ds6 , v048
- .byte W07
- .byte Gn6 , v032
- .byte W05
- .byte W12
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_curtain_3:
- .byte KEYSH , se_curtain_key+0
- .byte VOICE , 125
- .byte LFOS , 44
- .byte XCMD , xIECV , 18
- .byte xIECV , 16
- .byte BENDR , 12
- .byte MOD , 2
- .byte VOL , 86*se_curtain_mvl/mxv
- .byte BEND , c_v-57
- .byte N09 , Cn5 , v064
- .byte W01
- .byte BEND , c_v-45
- .byte W01
- .byte c_v-30
- .byte W01
- .byte c_v-18
- .byte W01
- .byte c_v-11
- .byte W02
- .byte c_v+0
- .byte W03
- .byte N01 , Gn5 , v096
- .byte W10
- .byte W12
- .byte W12
- .byte W12
- .byte W12
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_curtain:
- .byte 3 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_curtain_pri @ Priority
- .byte se_curtain_rev @ Reverb.
-
- .word se_curtain_grp
-
- .word se_curtain_1
- .word se_curtain_2
- .word se_curtain_3
-
- .end
diff --git a/sound/songs/se_curtain1.s b/sound/songs/se_curtain1.s
deleted file mode 100644
index 40e97ba13..000000000
--- a/sound/songs/se_curtain1.s
+++ /dev/null
@@ -1,168 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_curtain1_grp, voicegroup129
- .equ se_curtain1_pri, 5
- .equ se_curtain1_rev, reverb_set+50
- .equ se_curtain1_mvl, 127
- .equ se_curtain1_key, 0
- .equ se_curtain1_tbs, 1
- .equ se_curtain1_exg, 0
- .equ se_curtain1_cmp, 1
-
- .section .rodata
- .global se_curtain1
- .align 2
-
-@********************** Track 1 **********************@
-
-se_curtain1_1:
- .byte VOL , 127*se_curtain1_mvl/mxv
- .byte KEYSH , se_curtain1_key+0
- .byte TEMPO , 112*se_curtain1_tbs/2
- .byte VOICE , 38
- .byte MOD , 2
- .byte N04 , Gs1 , v120
- .byte W02
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , Cn2
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , En2
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , Gs2
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte 1
- .byte N04 , Cn3
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte 1
- .byte N04 , Ds3
- .byte W02
- .byte MOD , 7
- .byte W02
- .byte 1
- .byte N04 , En3 , v096
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte PAN , c_v-62
- .byte MOD , 1
- .byte N04 , En4 , v032
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte PAN , c_v+63
- .byte MOD , 1
- .byte N04 , En3 , v048
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte PAN , c_v-62
- .byte MOD , 1
- .byte N04 , En4 , v012
- .byte W02
- .byte MOD , 7
- .byte W03
- .byte PAN , c_v+63
- .byte MOD , 1
- .byte N04 , En3 , v032
- .byte W02
- .byte MOD , 7
- .byte W02
- .byte PAN , c_v-62
- .byte MOD , 1
- .byte N04 , En4 , v008
- .byte W03
- .byte MOD , 7
- .byte W02
- .byte 2
- .byte W03
- .byte TEMPO , 98*se_curtain1_tbs/2
- .byte PAN , c_v+0
- .byte VOL , 127*se_curtain1_mvl/mxv
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_curtain1_2:
- .byte VOL , 127*se_curtain1_mvl/mxv
- .byte KEYSH , se_curtain1_key+0
- .byte VOICE , 100
- .byte W12
- .byte W07
- .byte N04 , Cn4 , v112
- .byte W05
- .byte As4
- .byte W07
- .byte Gs5 , v064
- .byte W05
- .byte Ds6 , v048
- .byte W07
- .byte Gn6 , v032
- .byte W05
- .byte W12
- .byte PAN , c_v+0
- .byte VOL , 112*se_curtain1_mvl/mxv
- .byte W12
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_curtain1_3:
- .byte KEYSH , se_curtain1_key+0
- .byte W12
- .byte W12
- .byte W12
- .byte W12
- .byte W12
- .byte VOICE , 125
- .byte LFOS , 44
- .byte XCMD , xIECV , 18
- .byte xIECV , 16
- .byte BENDR , 12
- .byte MOD , 2
- .byte VOL , 86*se_curtain1_mvl/mxv
- .byte BEND , c_v-57
- .byte N09 , Cn5 , v064
- .byte W01
- .byte BEND , c_v-45
- .byte W01
- .byte c_v-30
- .byte W01
- .byte c_v-18
- .byte W01
- .byte c_v-11
- .byte W02
- .byte c_v+0
- .byte W03
- .byte N01 , Gn5 , v096
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_curtain1:
- .byte 3 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_curtain1_pri @ Priority
- .byte se_curtain1_rev @ Reverb.
-
- .word se_curtain1_grp
-
- .word se_curtain1_1
- .word se_curtain1_2
- .word se_curtain1_3
-
- .end
diff --git a/sound/songs/se_dansa.s b/sound/songs/se_dansa.s
deleted file mode 100644
index ccd7c4742..000000000
--- a/sound/songs/se_dansa.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_dansa_grp, voicegroup127
- .equ se_dansa_pri, 4
- .equ se_dansa_rev, reverb_set+50
- .equ se_dansa_mvl, 127
- .equ se_dansa_key, 0
- .equ se_dansa_tbs, 1
- .equ se_dansa_exg, 0
- .equ se_dansa_cmp, 1
-
- .section .rodata
- .global se_dansa
- .align 2
-
-@********************** Track 1 **********************@
-
-se_dansa_1:
- .byte KEYSH , se_dansa_key+0
- .byte TEMPO , 120*se_dansa_tbs/2
- .byte VOICE , 85
- .byte VOL , 100*se_dansa_mvl/mxv
- .byte BEND , c_v-6
- .byte N02 , Ds2 , v052
- .byte W02
- .byte VOICE , 86
- .byte N06 , Gn3 , v092
- .byte W01
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_dansa:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_dansa_pri @ Priority
- .byte se_dansa_rev @ Reverb.
-
- .word se_dansa_grp
-
- .word se_dansa_1
-
- .end
diff --git a/sound/songs/se_daugi.s b/sound/songs/se_daugi.s
deleted file mode 100644
index 88793920d..000000000
--- a/sound/songs/se_daugi.s
+++ /dev/null
@@ -1,80 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_daugi_grp, voicegroup127
- .equ se_daugi_pri, 5
- .equ se_daugi_rev, reverb_set+50
- .equ se_daugi_mvl, 127
- .equ se_daugi_key, 0
- .equ se_daugi_tbs, 1
- .equ se_daugi_exg, 0
- .equ se_daugi_cmp, 1
-
- .section .rodata
- .global se_daugi
- .align 2
-
-@********************** Track 1 **********************@
-
-se_daugi_1:
- .byte KEYSH , se_daugi_key+0
- .byte TEMPO , 128*se_daugi_tbs/2
- .byte VOICE , 89
- .byte BENDR , 12
- .byte VOL , 90*se_daugi_mvl/mxv
- .byte BEND , c_v-1
- .byte N03 , Fs2 , v127
- .byte W03
- .byte N01 , Ds3
- .byte W03
- .byte VOICE , 6
- .byte N03 , Gs3 , v100
- .byte W03
- .byte W01
- .byte N18 , Fn5 , v072
- .byte W02
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_daugi_2:
- .byte KEYSH , se_daugi_key+0
- .byte VOICE , 14
- .byte VOL , 90*se_daugi_mvl/mxv
- .byte BEND , c_v-8
- .byte N03 , Gs3 , v100
- .byte W03
- .byte W03
- .byte Gs3 , v060
- .byte W03
- .byte W01
- .byte N18 , Fn5
- .byte W02
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_daugi:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_daugi_pri @ Priority
- .byte se_daugi_rev @ Reverb.
-
- .word se_daugi_grp
-
- .word se_daugi_1
- .word se_daugi_2
-
- .end
diff --git a/sound/songs/se_dendou.s b/sound/songs/se_dendou.s
deleted file mode 100644
index 4fda6d338..000000000
--- a/sound/songs/se_dendou.s
+++ /dev/null
@@ -1,197 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_dendou_grp, voicegroup128
- .equ se_dendou_pri, 5
- .equ se_dendou_rev, reverb_set+50
- .equ se_dendou_mvl, 127
- .equ se_dendou_key, 0
- .equ se_dendou_tbs, 1
- .equ se_dendou_exg, 0
- .equ se_dendou_cmp, 1
-
- .section .rodata
- .global se_dendou
- .align 2
-
-@********************** Track 1 **********************@
-
-se_dendou_1:
- .byte KEYSH , se_dendou_key+0
- .byte TEMPO , 150*se_dendou_tbs/2
- .byte VOICE , 60
- .byte BENDR , 12
- .byte VOL , 25*se_dendou_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte TIE , Bn2 , v127
- .byte W01
- .byte PAN , c_v+2
- .byte W01
- .byte c_v+5
- .byte W01
- .byte VOL , 34*se_dendou_mvl/mxv
- .byte W01
- .byte PAN , c_v+2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte VOL , 46*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W01
- .byte c_v-4
- .byte W02
- .byte VOL , 56*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte c_v+2
- .byte W01
- .byte c_v+5
- .byte W01
- .byte VOL , 70*se_dendou_mvl/mxv
- .byte W01
- .byte PAN , c_v+2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte VOL , 80*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W01
- .byte c_v-4
- .byte W02
- .byte VOL , 88*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte c_v+2
- .byte W01
- .byte VOL , 96*se_dendou_mvl/mxv
- .byte PAN , c_v+5
- .byte W02
- .byte c_v+2
- .byte W02
- .byte VOL , 100*se_dendou_mvl/mxv
- .byte PAN , c_v+0
- .byte W01
- .byte c_v-2
- .byte W01
- .byte c_v-4
- .byte W02
- .byte c_v-2
- .byte W02
-se_dendou_1_000:
- .byte PAN , c_v+0
- .byte W01
- .byte c_v+2
- .byte W01
- .byte c_v+5
- .byte W02
- .byte c_v+2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte c_v-2
- .byte W01
- .byte c_v-4
- .byte W02
- .byte c_v-2
- .byte W02
- .byte PEND
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte PATT
- .word se_dendou_1_000
- .byte VOL , 96*se_dendou_mvl/mxv
- .byte PAN , c_v+0
- .byte W01
- .byte c_v+2
- .byte W01
- .byte c_v+5
- .byte W01
- .byte VOL , 92*se_dendou_mvl/mxv
- .byte W01
- .byte PAN , c_v+2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte VOL , 84*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W01
- .byte c_v-4
- .byte W02
- .byte VOL , 72*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte c_v+2
- .byte W01
- .byte VOL , 63*se_dendou_mvl/mxv
- .byte PAN , c_v+5
- .byte W02
- .byte VOL , 52*se_dendou_mvl/mxv
- .byte PAN , c_v+2
- .byte W02
- .byte c_v+0
- .byte W01
- .byte VOL , 37*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W01
- .byte c_v-4
- .byte W01
- .byte VOL , 22*se_dendou_mvl/mxv
- .byte W01
- .byte 12*se_dendou_mvl/mxv
- .byte PAN , c_v-2
- .byte W02
- .byte EOT , Bn2
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_dendou:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_dendou_pri @ Priority
- .byte se_dendou_rev @ Reverb.
-
- .word se_dendou_grp
-
- .word se_dendou_1
-
- .end
diff --git a/sound/songs/se_doku.s b/sound/songs/se_doku.s
deleted file mode 100644
index 90b84b2fb..000000000
--- a/sound/songs/se_doku.s
+++ /dev/null
@@ -1,50 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_doku_grp, voicegroup127
- .equ se_doku_pri, 5
- .equ se_doku_rev, reverb_set+50
- .equ se_doku_mvl, 127
- .equ se_doku_key, 0
- .equ se_doku_tbs, 1
- .equ se_doku_exg, 0
- .equ se_doku_cmp, 1
-
- .section .rodata
- .global se_doku
- .align 2
-
-@********************** Track 1 **********************@
-
-se_doku_1:
- .byte KEYSH , se_doku_key+0
- .byte TEMPO , 150*se_doku_tbs/2
- .byte VOICE , 16
- .byte BENDR , 12
- .byte VOL , 110*se_doku_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Ds3 , v100
- .byte W04
- .byte N02
- .byte W05
- .byte N02
- .byte W05
- .byte N02
- .byte W05
- .byte N02
- .byte W05
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_doku:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_doku_pri @ Priority
- .byte se_doku_rev @ Reverb.
-
- .word se_doku_grp
-
- .word se_doku_1
-
- .end
diff --git a/sound/songs/se_door.s b/sound/songs/se_door.s
deleted file mode 100644
index e4b23dddd..000000000
--- a/sound/songs/se_door.s
+++ /dev/null
@@ -1,42 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_door_grp, voicegroup127
- .equ se_door_pri, 5
- .equ se_door_rev, reverb_set+50
- .equ se_door_mvl, 127
- .equ se_door_key, 0
- .equ se_door_tbs, 1
- .equ se_door_exg, 0
- .equ se_door_cmp, 1
-
- .section .rodata
- .global se_door
- .align 2
-
-@********************** Track 1 **********************@
-
-se_door_1:
- .byte KEYSH , se_door_key+0
- .byte TEMPO , 110*se_door_tbs/2
- .byte VOICE , 127
- .byte VOL , 80*se_door_mvl/mxv
- .byte N03 , Dn3 , v127
- .byte W06
- .byte N12 , Fs3
- .byte W18
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_door:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_door_pri @ Priority
- .byte se_door_rev @ Reverb.
-
- .word se_door_grp
-
- .word se_door_1
-
- .end
diff --git a/sound/songs/se_e.s b/sound/songs/se_e.s
deleted file mode 100644
index aa9b91844..000000000
--- a/sound/songs/se_e.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_e_grp, voicegroup128
- .equ se_e_pri, 4
- .equ se_e_rev, reverb_set+50
- .equ se_e_mvl, 127
- .equ se_e_key, 0
- .equ se_e_tbs, 1
- .equ se_e_exg, 0
- .equ se_e_cmp, 1
-
- .section .rodata
- .global se_e
- .align 2
-
-@********************** Track 1 **********************@
-
-se_e_1:
- .byte KEYSH , se_e_key+0
- .byte TEMPO , 240*se_e_tbs/2
- .byte VOICE , 125
- .byte BENDR , 12
- .byte VOL , 120*se_e_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Cn3 , v127
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_e:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_e_pri @ Priority
- .byte se_e_rev @ Reverb.
-
- .word se_e_grp
-
- .word se_e_1
-
- .end
diff --git a/sound/songs/se_elebeta.s b/sound/songs/se_elebeta.s
deleted file mode 100644
index ad19476d5..000000000
--- a/sound/songs/se_elebeta.s
+++ /dev/null
@@ -1,71 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_elebeta_grp, voicegroup128
- .equ se_elebeta_pri, 4
- .equ se_elebeta_rev, reverb_set+50
- .equ se_elebeta_mvl, 127
- .equ se_elebeta_key, 0
- .equ se_elebeta_tbs, 1
- .equ se_elebeta_exg, 0
- .equ se_elebeta_cmp, 1
-
- .section .rodata
- .global se_elebeta
- .align 2
-
-@********************** Track 1 **********************@
-
-se_elebeta_1:
- .byte KEYSH , se_elebeta_key+0
- .byte TEMPO , 150*se_elebeta_tbs/2
- .byte VOICE , 38
- .byte BENDR , 2
- .byte VOL , 100*se_elebeta_mvl/mxv
- .byte BEND , c_v+0
- .byte TIE , Fs4 , v080
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte EOT
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_elebeta_2:
- .byte KEYSH , se_elebeta_key+0
- .byte VOICE , 27
- .byte VOL , 100*se_elebeta_mvl/mxv
- .byte TIE , Fn3 , v032
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_elebeta:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_elebeta_pri @ Priority
- .byte se_elebeta_rev @ Reverb.
-
- .word se_elebeta_grp
-
- .word se_elebeta_1
- .word se_elebeta_2
-
- .end
diff --git a/sound/songs/se_esuka.s b/sound/songs/se_esuka.s
deleted file mode 100644
index 88e88fcd3..000000000
--- a/sound/songs/se_esuka.s
+++ /dev/null
@@ -1,93 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_esuka_grp, voicegroup128
- .equ se_esuka_pri, 4
- .equ se_esuka_rev, reverb_set+50
- .equ se_esuka_mvl, 127
- .equ se_esuka_key, 0
- .equ se_esuka_tbs, 1
- .equ se_esuka_exg, 0
- .equ se_esuka_cmp, 1
-
- .section .rodata
- .global se_esuka
- .align 2
-
-@********************** Track 1 **********************@
-
-se_esuka_1:
- .byte KEYSH , se_esuka_key+0
- .byte TEMPO , 150*se_esuka_tbs/2
- .byte VOICE , 38
- .byte BENDR , 2
- .byte VOL , 51*se_esuka_mvl/mxv
- .byte BEND , c_v-32
- .byte TIE , En5 , v080
- .byte W01
- .byte BEND , c_v-26
- .byte W01
- .byte VOL , 56*se_esuka_mvl/mxv
- .byte W01
- .byte BEND , c_v-21
- .byte W01
- .byte VOL , 62*se_esuka_mvl/mxv
- .byte W02
- .byte BEND , c_v-15
- .byte W01
- .byte VOL , 69*se_esuka_mvl/mxv
- .byte W01
- .byte BEND , c_v-7
- .byte W01
- .byte VOL , 75*se_esuka_mvl/mxv
- .byte W01
- .byte BEND , c_v+0
- .byte W02
- .byte VOL , 85*se_esuka_mvl/mxv
- .byte W02
- .byte 92*se_esuka_mvl/mxv
- .byte W02
- .byte 100*se_esuka_mvl/mxv
- .byte W08
- .byte W24
- .byte W24
- .byte W24
- .byte W03
- .byte 96*se_esuka_mvl/mxv
- .byte W03
- .byte 88*se_esuka_mvl/mxv
- .byte W03
- .byte 81*se_esuka_mvl/mxv
- .byte BEND , c_v-5
- .byte W03
- .byte VOL , 74*se_esuka_mvl/mxv
- .byte BEND , c_v-8
- .byte W02
- .byte VOL , 62*se_esuka_mvl/mxv
- .byte BEND , c_v-12
- .byte W02
- .byte VOL , 49*se_esuka_mvl/mxv
- .byte BEND , c_v-21
- .byte W03
- .byte VOL , 39*se_esuka_mvl/mxv
- .byte BEND , c_v-26
- .byte W02
- .byte VOL , 25*se_esuka_mvl/mxv
- .byte BEND , c_v-32
- .byte W03
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_esuka:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_esuka_pri @ Priority
- .byte se_esuka_rev @ Reverb.
-
- .word se_esuka_grp
-
- .word se_esuka_1
-
- .end
diff --git a/sound/songs/se_exp.s b/sound/songs/se_exp.s
deleted file mode 100644
index f58767b8f..000000000
--- a/sound/songs/se_exp.s
+++ /dev/null
@@ -1,333 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_exp_grp, voicegroup127
- .equ se_exp_pri, 5
- .equ se_exp_rev, reverb_set+50
- .equ se_exp_mvl, 127
- .equ se_exp_key, 0
- .equ se_exp_tbs, 1
- .equ se_exp_exg, 0
- .equ se_exp_cmp, 1
-
- .section .rodata
- .global se_exp
- .align 2
-
-@********************** Track 1 **********************@
-
-se_exp_1:
- .byte KEYSH , se_exp_key+0
- .byte TEMPO , 240*se_exp_tbs/2
- .byte VOICE , 19
- .byte BENDR , 26
- .byte VOL , 80*se_exp_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+0
- .byte TIE , Fn3 , v112
- .byte W01
- .byte BEND , c_v+8
- .byte W01
- .byte c_v+16
- .byte W01
- .byte c_v+22
- .byte W01
- .byte c_v+31
- .byte W02
- .byte c_v+38
- .byte W01
- .byte VOL , 71*se_exp_mvl/mxv
- .byte BEND , c_v+8
- .byte W01
- .byte c_v+16
- .byte W01
- .byte c_v+22
- .byte W01
- .byte c_v+31
- .byte W02
- .byte c_v+38
- .byte W01
- .byte c_v+15
- .byte W01
- .byte VOL , 50*se_exp_mvl/mxv
- .byte BEND , c_v+1
- .byte W01
- .byte c_v+0
- .byte W01
- .byte c_v+0
- .byte W02
- .byte c_v+3
- .byte W01
- .byte VOL , 51*se_exp_mvl/mxv
- .byte BEND , c_v+3
- .byte W01
- .byte c_v+2
- .byte W01
- .byte c_v+5
- .byte W01
- .byte c_v+4
- .byte W02
- .byte VOL , 52*se_exp_mvl/mxv
- .byte BEND , c_v+4
- .byte W01
- .byte c_v+7
- .byte W01
- .byte c_v+6
- .byte W01
- .byte c_v+5
- .byte W01
- .byte VOL , 52*se_exp_mvl/mxv
- .byte BEND , c_v+8
- .byte W02
- .byte c_v+8
- .byte W01
- .byte c_v+7
- .byte W01
- .byte c_v+10
- .byte W01
- .byte VOL , 54*se_exp_mvl/mxv
- .byte BEND , c_v+10
- .byte W01
- .byte c_v+9
- .byte W02
- .byte c_v+12
- .byte W01
- .byte c_v+12
- .byte W01
- .byte VOL , 55*se_exp_mvl/mxv
- .byte BEND , c_v+11
- .byte W01
- .byte c_v+14
- .byte W01
- .byte c_v+13
- .byte W02
- .byte c_v+12
- .byte W01
- .byte VOL , 56*se_exp_mvl/mxv
- .byte BEND , c_v+16
- .byte W01
- .byte c_v+15
- .byte W01
- .byte c_v+14
- .byte W01
- .byte c_v+17
- .byte W02
- .byte VOL , 57*se_exp_mvl/mxv
- .byte BEND , c_v+17
- .byte W01
- .byte c_v+16
- .byte W01
- .byte c_v+20
- .byte W01
- .byte c_v+19
- .byte W01
- .byte VOL , 57*se_exp_mvl/mxv
- .byte BEND , c_v+19
- .byte W02
- .byte c_v+21
- .byte W01
- .byte c_v+20
- .byte W01
- .byte c_v+20
- .byte W01
- .byte VOL , 59*se_exp_mvl/mxv
- .byte BEND , c_v+23
- .byte W01
- .byte c_v+22
- .byte W02
- .byte c_v+21
- .byte W01
- .byte c_v+25
- .byte W01
- .byte VOL , 60*se_exp_mvl/mxv
- .byte BEND , c_v+24
- .byte W01
- .byte c_v+23
- .byte W01
- .byte c_v+26
- .byte W02
- .byte c_v+25
- .byte W01
- .byte VOL , 61*se_exp_mvl/mxv
- .byte BEND , c_v+24
- .byte W01
- .byte c_v+28
- .byte W01
- .byte c_v+27
- .byte W01
- .byte c_v+26
- .byte W02
- .byte VOL , 62*se_exp_mvl/mxv
- .byte BEND , c_v+30
- .byte W01
- .byte c_v+29
- .byte W01
- .byte c_v+28
- .byte W01
- .byte c_v+32
- .byte W01
- .byte VOL , 62*se_exp_mvl/mxv
- .byte BEND , c_v+30
- .byte W02
- .byte c_v+30
- .byte W01
- .byte c_v+33
- .byte W01
- .byte c_v+32
- .byte W01
- .byte VOL , 64*se_exp_mvl/mxv
- .byte BEND , c_v+31
- .byte W01
- .byte c_v+35
- .byte W02
- .byte c_v+34
- .byte W01
- .byte c_v+33
- .byte W01
- .byte VOL , 65*se_exp_mvl/mxv
- .byte BEND , c_v+37
- .byte W01
- .byte c_v+36
- .byte W01
- .byte c_v+35
- .byte W02
- .byte c_v+39
- .byte W01
- .byte VOL , 66*se_exp_mvl/mxv
- .byte BEND , c_v+38
- .byte W01
- .byte c_v+37
- .byte W01
- .byte c_v+40
- .byte W01
- .byte c_v+39
- .byte W02
- .byte VOL , 67*se_exp_mvl/mxv
- .byte BEND , c_v+38
- .byte W01
- .byte c_v+42
- .byte W01
- .byte c_v+41
- .byte W01
- .byte c_v+40
- .byte W01
- .byte VOL , 68*se_exp_mvl/mxv
- .byte BEND , c_v+44
- .byte W02
- .byte c_v+43
- .byte W01
- .byte c_v+42
- .byte W01
- .byte c_v+46
- .byte W01
- .byte VOL , 69*se_exp_mvl/mxv
- .byte BEND , c_v+45
- .byte W01
- .byte c_v+44
- .byte W02
- .byte c_v+48
- .byte W01
- .byte c_v+46
- .byte W01
- .byte VOL , 70*se_exp_mvl/mxv
- .byte BEND , c_v+45
- .byte W01
- .byte c_v+49
- .byte W01
- .byte c_v+48
- .byte W02
- .byte c_v+48
- .byte W01
- .byte VOL , 71*se_exp_mvl/mxv
- .byte BEND , c_v+51
- .byte W01
- .byte c_v+50
- .byte W01
- .byte c_v+49
- .byte W01
- .byte c_v+53
- .byte W02
- .byte VOL , 72*se_exp_mvl/mxv
- .byte BEND , c_v+52
- .byte W01
- .byte c_v+51
- .byte W01
- .byte c_v+55
- .byte W01
- .byte c_v+53
- .byte W01
- .byte VOL , 73*se_exp_mvl/mxv
- .byte BEND , c_v+52
- .byte W02
- .byte c_v+56
- .byte W01
- .byte c_v+55
- .byte W01
- .byte c_v+54
- .byte W01
- .byte VOL , 74*se_exp_mvl/mxv
- .byte BEND , c_v+58
- .byte W01
- .byte c_v+57
- .byte W02
- .byte c_v+56
- .byte W01
- .byte c_v+59
- .byte W01
- .byte VOL , 75*se_exp_mvl/mxv
- .byte BEND , c_v+59
- .byte W01
- .byte c_v+58
- .byte W01
- .byte c_v+62
- .byte W02
- .byte c_v+61
- .byte W01
- .byte VOL , 76*se_exp_mvl/mxv
- .byte BEND , c_v+60
- .byte W01
- .byte c_v+63
- .byte W01
- .byte c_v+62
- .byte W01
- .byte c_v+61
- .byte W02
- .byte VOL , 77*se_exp_mvl/mxv
- .byte BEND , c_v+63
- .byte W01
- .byte c_v+62
- .byte W01
- .byte c_v+61
- .byte W01
- .byte c_v+63
- .byte W01
- .byte VOL , 78*se_exp_mvl/mxv
- .byte BEND , c_v+62
- .byte W02
- .byte c_v+61
- .byte W01
- .byte c_v+63
- .byte W01
- .byte c_v+62
- .byte W01
- .byte VOL , 79*se_exp_mvl/mxv
- .byte BEND , c_v+61
- .byte W01
- .byte c_v+63
- .byte W02
- .byte EOT
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_exp:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_exp_pri @ Priority
- .byte se_exp_rev @ Reverb.
-
- .word se_exp_grp
-
- .word se_exp_1
-
- .end
diff --git a/sound/songs/se_expmax.s b/sound/songs/se_expmax.s
deleted file mode 100644
index a3a8478b2..000000000
--- a/sound/songs/se_expmax.s
+++ /dev/null
@@ -1,76 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_expmax_grp, voicegroup128
- .equ se_expmax_pri, 5
- .equ se_expmax_rev, reverb_set+50
- .equ se_expmax_mvl, 127
- .equ se_expmax_key, 0
- .equ se_expmax_tbs, 1
- .equ se_expmax_exg, 0
- .equ se_expmax_cmp, 1
-
- .section .rodata
- .global se_expmax
- .align 2
-
-@********************** Track 1 **********************@
-
-se_expmax_1:
- .byte KEYSH , se_expmax_key+0
- .byte TEMPO , 150*se_expmax_tbs/2
- .byte VOICE , 46
- .byte VOL , 94*se_expmax_mvl/mxv
- .byte BENDR , 2
- .byte LFOS , 40
- .byte PAN , c_v+0
- .byte BEND , c_v+15
- .byte N06 , An5 , v112
- .byte W01
- .byte N15 , En6 , v104
- .byte W02
- .byte W01
- .byte MOD , 5
- .byte W02
- .byte W03
- .byte W03
- .byte W03
- .byte W01
- .byte 0
- .byte W02
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_expmax_2:
- .byte KEYSH , se_expmax_key+0
- .byte VOICE , 53
- .byte BENDR , 2
- .byte VOL , 43*se_expmax_mvl/mxv
- .byte PAN , c_v+0
- .byte BEND , c_v+15
- .byte N06 , An4 , v108
- .byte W01
- .byte N12 , Cs6 , v104
- .byte W02
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_expmax:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_expmax_pri @ Priority
- .byte se_expmax_rev @ Reverb.
-
- .word se_expmax_grp
-
- .word se_expmax_1
- .word se_expmax_2
-
- .end
diff --git a/sound/songs/se_fu_zaku.s b/sound/songs/se_fu_zaku.s
deleted file mode 100644
index b494653ee..000000000
--- a/sound/songs/se_fu_zaku.s
+++ /dev/null
@@ -1,54 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_fu_zaku_grp, voicegroup127
- .equ se_fu_zaku_pri, 4
- .equ se_fu_zaku_rev, reverb_set+50
- .equ se_fu_zaku_mvl, 127
- .equ se_fu_zaku_key, 0
- .equ se_fu_zaku_tbs, 1
- .equ se_fu_zaku_exg, 0
- .equ se_fu_zaku_cmp, 1
-
- .section .rodata
- .global se_fu_zaku
- .align 2
-
-@********************** Track 1 **********************@
-
-se_fu_zaku_1:
- .byte KEYSH , se_fu_zaku_key+0
- .byte TEMPO , 150*se_fu_zaku_tbs/2
- .byte VOICE , 126
- .byte VOL , 120*se_fu_zaku_mvl/mxv
- .byte N01 , Cn3 , v068
- .byte W01
- .byte En3 , v064
- .byte W01
- .byte Gn3
- .byte W03
- .byte N02 , An2 , v048
- .byte W08
- .byte N01 , Cn3 , v068
- .byte W01
- .byte En3 , v064
- .byte W01
- .byte Gn3
- .byte W03
- .byte N02 , An2 , v048
- .byte W06
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_fu_zaku:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_fu_zaku_pri @ Priority
- .byte se_fu_zaku_rev @ Reverb.
-
- .word se_fu_zaku_grp
-
- .word se_fu_zaku_1
-
- .end
diff --git a/sound/songs/se_fu_zaku2.s b/sound/songs/se_fu_zaku2.s
deleted file mode 100644
index 0ef523654..000000000
--- a/sound/songs/se_fu_zaku2.s
+++ /dev/null
@@ -1,48 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_fu_zaku2_grp, voicegroup127
- .equ se_fu_zaku2_pri, 4
- .equ se_fu_zaku2_rev, reverb_set+50
- .equ se_fu_zaku2_mvl, 127
- .equ se_fu_zaku2_key, 0
- .equ se_fu_zaku2_tbs, 1
- .equ se_fu_zaku2_exg, 0
- .equ se_fu_zaku2_cmp, 1
-
- .section .rodata
- .global se_fu_zaku2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_fu_zaku2_1:
- .byte KEYSH , se_fu_zaku2_key+0
- .byte TEMPO , 150*se_fu_zaku2_tbs/2
- .byte VOICE , 126
- .byte VOL , 110*se_fu_zaku2_mvl/mxv
- .byte N01 , An2 , v112
- .byte W01
- .byte En3
- .byte W01
- .byte Gn3
- .byte W01
- .byte W02
- .byte N02 , Cn3 , v092
- .byte W01
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_fu_zaku2:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_fu_zaku2_pri @ Priority
- .byte se_fu_zaku2_rev @ Reverb.
-
- .word se_fu_zaku2_grp
-
- .word se_fu_zaku2_1
-
- .end
diff --git a/sound/songs/se_fu_zuzuzu.s b/sound/songs/se_fu_zuzuzu.s
deleted file mode 100644
index b0df814d0..000000000
--- a/sound/songs/se_fu_zuzuzu.s
+++ /dev/null
@@ -1,73 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_fu_zuzuzu_grp, voicegroup127
- .equ se_fu_zuzuzu_pri, 4
- .equ se_fu_zuzuzu_rev, reverb_set+50
- .equ se_fu_zuzuzu_mvl, 127
- .equ se_fu_zuzuzu_key, 0
- .equ se_fu_zuzuzu_tbs, 1
- .equ se_fu_zuzuzu_exg, 0
- .equ se_fu_zuzuzu_cmp, 1
-
- .section .rodata
- .global se_fu_zuzuzu
- .align 2
-
-@********************** Track 1 **********************@
-
-se_fu_zuzuzu_1:
- .byte KEYSH , se_fu_zuzuzu_key+0
- .byte TEMPO , 120*se_fu_zuzuzu_tbs/2
- .byte VOICE , 126
- .byte VOL , 127*se_fu_zuzuzu_mvl/mxv
- .byte N08 , An2 , v112
- .byte W03
- .byte W03
- .byte W02
- .byte N01 , Gs2
- .byte W01
- .byte W01
- .byte N08 , An2 , v096
- .byte W02
- .byte W03
- .byte W03
- .byte W01
- .byte N01 , Gs2 , v092
- .byte W01
- .byte N08 , An2 , v080
- .byte W01
- .byte W03
- .byte W03
- .byte W02
- .byte N01 , Gs2 , v076
- .byte W01
- .byte N08 , An2 , v064
- .byte W03
- .byte W03
- .byte W03
- .byte N01 , Gs2 , v060
- .byte W02
- .byte N09 , An2 , v048
- .byte W01
- .byte W03
- .byte W03
- .byte W02
- .byte N01 , Gs2 , v040
- .byte W01
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_fu_zuzuzu:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_fu_zuzuzu_pri @ Priority
- .byte se_fu_zuzuzu_rev @ Reverb.
-
- .word se_fu_zuzuzu_grp
-
- .word se_fu_zuzuzu_1
-
- .end
diff --git a/sound/songs/se_fuusen1.s b/sound/songs/se_fuusen1.s
deleted file mode 100644
index 458b010c6..000000000
--- a/sound/songs/se_fuusen1.s
+++ /dev/null
@@ -1,53 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_fuusen1_grp, voicegroup128
- .equ se_fuusen1_pri, 4
- .equ se_fuusen1_rev, reverb_set+50
- .equ se_fuusen1_mvl, 127
- .equ se_fuusen1_key, 0
- .equ se_fuusen1_tbs, 1
- .equ se_fuusen1_exg, 0
- .equ se_fuusen1_cmp, 1
-
- .section .rodata
- .global se_fuusen1
- .align 2
-
-@********************** Track 1 **********************@
-
-se_fuusen1_1:
- .byte KEYSH , se_fuusen1_key+0
- .byte TEMPO , 240*se_fuusen1_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 105*se_fuusen1_mvl/mxv
- .byte BEND , c_v+0
- .byte N06 , Cn4 , v127
- .byte W06
- .byte VOICE , 23
- .byte N02 , Cn3 , v112
- .byte W07
- .byte N01 , Cn4
- .byte W05
- .byte Cn3 , v100
- .byte W02
- .byte Gn3 , v092
- .byte W02
- .byte Cn3 , v072
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_fuusen1:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_fuusen1_pri @ Priority
- .byte se_fuusen1_rev @ Reverb.
-
- .word se_fuusen1_grp
-
- .word se_fuusen1_1
-
- .end
diff --git a/sound/songs/se_fuusen2.s b/sound/songs/se_fuusen2.s
deleted file mode 100644
index 065b91adf..000000000
--- a/sound/songs/se_fuusen2.s
+++ /dev/null
@@ -1,52 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_fuusen2_grp, voicegroup128
- .equ se_fuusen2_pri, 4
- .equ se_fuusen2_rev, reverb_set+50
- .equ se_fuusen2_mvl, 127
- .equ se_fuusen2_key, 0
- .equ se_fuusen2_tbs, 1
- .equ se_fuusen2_exg, 0
- .equ se_fuusen2_cmp, 1
-
- .section .rodata
- .global se_fuusen2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_fuusen2_1:
- .byte KEYSH , se_fuusen2_key+0
- .byte TEMPO , 240*se_fuusen2_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 105*se_fuusen2_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Gn4 , v127
- .byte W04
- .byte N01 , Gn4 , v112
- .byte W02
- .byte W02
- .byte Gs3 , v052
- .byte W04
- .byte VOICE , 23
- .byte N02 , Fn3 , v112
- .byte W04
- .byte N01 , Cn4 , v072
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_fuusen2:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_fuusen2_pri @ Priority
- .byte se_fuusen2_rev @ Reverb.
-
- .word se_fuusen2_grp
-
- .word se_fuusen2_1
-
- .end
diff --git a/sound/songs/se_fuusen3.s b/sound/songs/se_fuusen3.s
deleted file mode 100644
index 0756c9618..000000000
--- a/sound/songs/se_fuusen3.s
+++ /dev/null
@@ -1,60 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_fuusen3_grp, voicegroup128
- .equ se_fuusen3_pri, 4
- .equ se_fuusen3_rev, reverb_set+50
- .equ se_fuusen3_mvl, 127
- .equ se_fuusen3_key, 0
- .equ se_fuusen3_tbs, 1
- .equ se_fuusen3_exg, 0
- .equ se_fuusen3_cmp, 1
-
- .section .rodata
- .global se_fuusen3
- .align 2
-
-@********************** Track 1 **********************@
-
-se_fuusen3_1:
- .byte KEYSH , se_fuusen3_key+0
- .byte TEMPO , 240*se_fuusen3_tbs/2
- .byte VOICE , 2
- .byte BENDR , 12
- .byte VOL , 105*se_fuusen3_mvl/mxv
- .byte BEND , c_v+0
- .byte N02 , Fn3 , v127
- .byte W02
- .byte N01 , Cn4 , v112
- .byte W02
- .byte N03 , Fn3 , v052
- .byte W02
- .byte W02
- .byte VOICE , 23
- .byte N01 , En4 , v092
- .byte W01
- .byte Cn5
- .byte W03
- .byte Gn3
- .byte W01
- .byte En4
- .byte W02
- .byte En3 , v048
- .byte W01
- .byte Bn3
- .byte W02
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_fuusen3:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_fuusen3_pri @ Priority
- .byte se_fuusen3_rev @ Reverb.
-
- .word se_fuusen3_grp
-
- .word se_fuusen3_1
-
- .end
diff --git a/sound/songs/se_hantei1.s b/sound/songs/se_hantei1.s
deleted file mode 100644
index 5ef302ee6..000000000
--- a/sound/songs/se_hantei1.s
+++ /dev/null
@@ -1,58 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_hantei1_grp, voicegroup129
- .equ se_hantei1_pri, 5
- .equ se_hantei1_rev, reverb_set+50
- .equ se_hantei1_mvl, 127
- .equ se_hantei1_key, 0
- .equ se_hantei1_tbs, 1
- .equ se_hantei1_exg, 0
- .equ se_hantei1_cmp, 1
-
- .section .rodata
- .global se_hantei1
- .align 2
-
-@********************** Track 1 **********************@
-
-se_hantei1_1:
- .byte KEYSH , se_hantei1_key+0
- .byte TEMPO , 92*se_hantei1_tbs/2
- .byte VOICE , 116
- .byte VOL , 127*se_hantei1_mvl/mxv
- .byte PAN , c_v-62
- .byte N32 , Fn3 , v127
- .byte W12
- .byte W12
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_hantei1_2:
- .byte KEYSH , se_hantei1_key+0
- .byte VOICE , 117
- .byte VOL , 127*se_hantei1_mvl/mxv
- .byte PAN , c_v+63
- .byte BEND , c_v+1
- .byte N32 , An3 , v100
- .byte W12
- .byte W12
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_hantei1:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_hantei1_pri @ Priority
- .byte se_hantei1_rev @ Reverb.
-
- .word se_hantei1_grp
-
- .word se_hantei1_1
- .word se_hantei1_2
-
- .end
diff --git a/sound/songs/se_hantei2.s b/sound/songs/se_hantei2.s
deleted file mode 100644
index a10a14f41..000000000
--- a/sound/songs/se_hantei2.s
+++ /dev/null
@@ -1,70 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_hantei2_grp, voicegroup129
- .equ se_hantei2_pri, 5
- .equ se_hantei2_rev, reverb_set+50
- .equ se_hantei2_mvl, 127
- .equ se_hantei2_key, 0
- .equ se_hantei2_tbs, 1
- .equ se_hantei2_exg, 0
- .equ se_hantei2_cmp, 1
-
- .section .rodata
- .global se_hantei2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_hantei2_1:
- .byte KEYSH , se_hantei2_key+0
- .byte TEMPO , 92*se_hantei2_tbs/2
- .byte VOICE , 116
- .byte VOL , 127*se_hantei2_mvl/mxv
- .byte PAN , c_v-62
- .byte N04 , Fn3 , v127
- .byte W04
- .byte VOICE , 10
- .byte N04 , Cn3
- .byte W05
- .byte VOICE , 116
- .byte N32 , Fn3
- .byte W03
- .byte W12
- .byte W12
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_hantei2_2:
- .byte KEYSH , se_hantei2_key+0
- .byte VOICE , 117
- .byte VOL , 127*se_hantei2_mvl/mxv
- .byte PAN , c_v+63
- .byte BEND , c_v+1
- .byte N04 , Gn3 , v100
- .byte W04
- .byte Dn3
- .byte W05
- .byte N32 , Gn3
- .byte W03
- .byte W12
- .byte W12
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_hantei2:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_hantei2_pri @ Priority
- .byte se_hantei2_rev @ Reverb.
-
- .word se_hantei2_grp
-
- .word se_hantei2_1
- .word se_hantei2_2
-
- .end
diff --git a/sound/songs/se_hashi.s b/sound/songs/se_hashi.s
deleted file mode 100644
index ba2ed43ce..000000000
--- a/sound/songs/se_hashi.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_hashi_grp, voicegroup128
- .equ se_hashi_pri, 4
- .equ se_hashi_rev, reverb_set+50
- .equ se_hashi_mvl, 127
- .equ se_hashi_key, 0
- .equ se_hashi_tbs, 1
- .equ se_hashi_exg, 0
- .equ se_hashi_cmp, 1
-
- .section .rodata
- .global se_hashi
- .align 2
-
-@********************** Track 1 **********************@
-
-se_hashi_1:
- .byte KEYSH , se_hashi_key+0
- .byte TEMPO , 150*se_hashi_tbs/2
- .byte VOICE , 26
- .byte BENDR , 12
- .byte PAN , c_v+0
- .byte VOL , 95*se_hashi_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Cn3 , v127
- .byte W03
- .byte W03
- .byte Gn3
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_hashi:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_hashi_pri @ Priority
- .byte se_hashi_rev @ Reverb.
-
- .word se_hashi_grp
-
- .word se_hashi_1
-
- .end
diff --git a/sound/songs/se_hazure.s b/sound/songs/se_hazure.s
deleted file mode 100644
index 9bd29f6b5..000000000
--- a/sound/songs/se_hazure.s
+++ /dev/null
@@ -1,55 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_hazure_grp, voicegroup127
- .equ se_hazure_pri, 4
- .equ se_hazure_rev, reverb_set+50
- .equ se_hazure_mvl, 127
- .equ se_hazure_key, 0
- .equ se_hazure_tbs, 1
- .equ se_hazure_exg, 0
- .equ se_hazure_cmp, 1
-
- .section .rodata
- .global se_hazure
- .align 2
-
-@********************** Track 1 **********************@
-
-se_hazure_1:
- .byte KEYSH , se_hazure_key+0
- .byte TEMPO , 240*se_hazure_tbs/2
- .byte VOICE , 92
- .byte BENDR , 12
- .byte VOL , 120*se_hazure_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Cn2 , v127
- .byte W03
- .byte Cn2 , v020
- .byte W03
- .byte N18 , Cn2 , v127
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte N09 , Cn2 , v020
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_hazure:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_hazure_pri @ Priority
- .byte se_hazure_rev @ Reverb.
-
- .word se_hazure_grp
-
- .word se_hazure_1
-
- .end
diff --git a/sound/songs/se_hi_turun.s b/sound/songs/se_hi_turun.s
deleted file mode 100644
index ab51f35cd..000000000
--- a/sound/songs/se_hi_turun.s
+++ /dev/null
@@ -1,62 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_hi_turun_grp, voicegroup128
- .equ se_hi_turun_pri, 4
- .equ se_hi_turun_rev, reverb_set+50
- .equ se_hi_turun_mvl, 127
- .equ se_hi_turun_key, 0
- .equ se_hi_turun_tbs, 1
- .equ se_hi_turun_exg, 0
- .equ se_hi_turun_cmp, 1
-
- .section .rodata
- .global se_hi_turun
- .align 2
-
-@********************** Track 1 **********************@
-
-se_hi_turun_1:
- .byte KEYSH , se_hi_turun_key+0
- .byte TEMPO , 220*se_hi_turun_tbs/2
- .byte VOICE , 9
- .byte VOL , 90*se_hi_turun_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , Gn4 , v112
- .byte W03
- .byte Dn4
- .byte W03
- .byte Gn4
- .byte W03
- .byte N21 , Gn5
- .byte W03
- .byte W03
- .byte VOL , 81*se_hi_turun_mvl/mxv
- .byte BEND , c_v+6
- .byte W03
- .byte VOL , 72*se_hi_turun_mvl/mxv
- .byte BEND , c_v+20
- .byte W03
- .byte VOL , 46*se_hi_turun_mvl/mxv
- .byte BEND , c_v+37
- .byte W03
- .byte VOL , 24*se_hi_turun_mvl/mxv
- .byte BEND , c_v+63
- .byte W03
- .byte VOL , 7*se_hi_turun_mvl/mxv
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_hi_turun:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_hi_turun_pri @ Priority
- .byte se_hi_turun_rev @ Reverb.
-
- .word se_hi_turun_grp
-
- .word se_hi_turun_1
-
- .end
diff --git a/sound/songs/se_hinsi.s b/sound/songs/se_hinsi.s
deleted file mode 100644
index 3c16f2f1b..000000000
--- a/sound/songs/se_hinsi.s
+++ /dev/null
@@ -1,50 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_hinsi_grp, voicegroup127
- .equ se_hinsi_pri, 3
- .equ se_hinsi_rev, reverb_set+50
- .equ se_hinsi_mvl, 127
- .equ se_hinsi_key, 0
- .equ se_hinsi_tbs, 1
- .equ se_hinsi_exg, 0
- .equ se_hinsi_cmp, 1
-
- .section .rodata
- .global se_hinsi
- .align 2
-
-@********************** Track 1 **********************@
-
-se_hinsi_1:
- .byte KEYSH , se_hinsi_key+0
-se_hinsi_1_B1:
- .byte TEMPO , 150*se_hinsi_tbs/2
- .byte VOICE , 15
- .byte XCMD , xIECV , 10
- .byte xIECL , 8
- .byte VOL , 100*se_hinsi_mvl/mxv
- .byte BEND , c_v+17
- .byte N12 , Dn4 , v080
- .byte W12
- .byte BEND , c_v+31
- .byte N12 , An3
- .byte W12
- .byte W12
- .byte GOTO
- .word se_hinsi_1_B1
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_hinsi:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_hinsi_pri @ Priority
- .byte se_hinsi_rev @ Reverb.
-
- .word se_hinsi_grp
-
- .word se_hinsi_1
-
- .end
diff --git a/sound/songs/se_i.s b/sound/songs/se_i.s
deleted file mode 100644
index fdb4ff5c4..000000000
--- a/sound/songs/se_i.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_i_grp, voicegroup128
- .equ se_i_pri, 4
- .equ se_i_rev, reverb_set+50
- .equ se_i_mvl, 127
- .equ se_i_key, 0
- .equ se_i_tbs, 1
- .equ se_i_exg, 0
- .equ se_i_cmp, 1
-
- .section .rodata
- .global se_i
- .align 2
-
-@********************** Track 1 **********************@
-
-se_i_1:
- .byte KEYSH , se_i_key+0
- .byte TEMPO , 240*se_i_tbs/2
- .byte VOICE , 123
- .byte BENDR , 12
- .byte VOL , 120*se_i_mvl/mxv
- .byte BEND , c_v+0
- .byte N72 , Cn3 , v127
- .byte W24
- .byte W24
- .byte W24
- .byte W24
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_i:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_i_pri @ Priority
- .byte se_i_rev @ Reverb.
-
- .word se_i_grp
-
- .word se_i_1
-
- .end
diff --git a/sound/songs/se_jido_doa.s b/sound/songs/se_jido_doa.s
deleted file mode 100644
index 60a1e4a47..000000000
--- a/sound/songs/se_jido_doa.s
+++ /dev/null
@@ -1,41 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_jido_doa_grp, voicegroup128
- .equ se_jido_doa_pri, 4
- .equ se_jido_doa_rev, reverb_set+50
- .equ se_jido_doa_mvl, 127
- .equ se_jido_doa_key, 0
- .equ se_jido_doa_tbs, 1
- .equ se_jido_doa_exg, 0
- .equ se_jido_doa_cmp, 1
-
- .section .rodata
- .global se_jido_doa
- .align 2
-
-@********************** Track 1 **********************@
-
-se_jido_doa_1:
- .byte KEYSH , se_jido_doa_key+0
- .byte TEMPO , 120*se_jido_doa_tbs/2
- .byte VOICE , 1
- .byte VOL , 95*se_jido_doa_mvl/mxv
- .byte N12 , Cn2 , v127
- .byte W12
- .byte VOL , 0*se_jido_doa_mvl/mxv
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_jido_doa:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_jido_doa_pri @ Priority
- .byte se_jido_doa_rev @ Reverb.
-
- .word se_jido_doa_grp
-
- .word se_jido_doa_1
-
- .end
diff --git a/sound/songs/se_jihanki.s b/sound/songs/se_jihanki.s
deleted file mode 100644
index 931dd5b64..000000000
--- a/sound/songs/se_jihanki.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_jihanki_grp, voicegroup128
- .equ se_jihanki_pri, 4
- .equ se_jihanki_rev, reverb_set+50
- .equ se_jihanki_mvl, 127
- .equ se_jihanki_key, 0
- .equ se_jihanki_tbs, 1
- .equ se_jihanki_exg, 0
- .equ se_jihanki_cmp, 1
-
- .section .rodata
- .global se_jihanki
- .align 2
-
-@********************** Track 1 **********************@
-
-se_jihanki_1:
- .byte KEYSH , se_jihanki_key+0
- .byte TEMPO , 150*se_jihanki_tbs/2
- .byte VOICE , 8
- .byte VOL , 110*se_jihanki_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Cn4 , v092
- .byte W03
- .byte Cn5
- .byte W03
- .byte W03
- .byte N02 , En3 , v127
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_jihanki:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_jihanki_pri @ Priority
- .byte se_jihanki_rev @ Reverb.
-
- .word se_jihanki_grp
-
- .word se_jihanki_1
-
- .end
diff --git a/sound/songs/se_jite_pyoko.s b/sound/songs/se_jite_pyoko.s
deleted file mode 100644
index 36dbcf83b..000000000
--- a/sound/songs/se_jite_pyoko.s
+++ /dev/null
@@ -1,45 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_jite_pyoko_grp, voicegroup127
- .equ se_jite_pyoko_pri, 4
- .equ se_jite_pyoko_rev, reverb_set+50
- .equ se_jite_pyoko_mvl, 127
- .equ se_jite_pyoko_key, 0
- .equ se_jite_pyoko_tbs, 1
- .equ se_jite_pyoko_exg, 0
- .equ se_jite_pyoko_cmp, 1
-
- .section .rodata
- .global se_jite_pyoko
- .align 2
-
-@********************** Track 1 **********************@
-
-se_jite_pyoko_1:
- .byte KEYSH , se_jite_pyoko_key+0
- .byte TEMPO , 180*se_jite_pyoko_tbs/2
- .byte VOICE , 85
- .byte VOL , 90*se_jite_pyoko_mvl/mxv
- .byte BEND , c_v-6
- .byte N02 , Cn3 , v080
- .byte W02
- .byte VOICE , 86
- .byte N03 , Cn4 , v127
- .byte W01
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_jite_pyoko:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_jite_pyoko_pri @ Priority
- .byte se_jite_pyoko_rev @ Reverb.
-
- .word se_jite_pyoko_grp
-
- .word se_jite_pyoko_1
-
- .end
diff --git a/sound/songs/se_jitensya.s b/sound/songs/se_jitensya.s
deleted file mode 100644
index da5d37007..000000000
--- a/sound/songs/se_jitensya.s
+++ /dev/null
@@ -1,40 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_jitensya_grp, voicegroup128
- .equ se_jitensya_pri, 4
- .equ se_jitensya_rev, reverb_set+50
- .equ se_jitensya_mvl, 127
- .equ se_jitensya_key, 0
- .equ se_jitensya_tbs, 1
- .equ se_jitensya_exg, 0
- .equ se_jitensya_cmp, 1
-
- .section .rodata
- .global se_jitensya
- .align 2
-
-@********************** Track 1 **********************@
-
-se_jitensya_1:
- .byte KEYSH , se_jitensya_key+0
- .byte TEMPO , 120*se_jitensya_tbs/2
- .byte VOICE , 0
- .byte VOL , 90*se_jitensya_mvl/mxv
- .byte N96 , Cn3 , v127
- .byte W96
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_jitensya:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_jitensya_pri @ Priority
- .byte se_jitensya_rev @ Reverb.
-
- .word se_jitensya_grp
-
- .word se_jitensya_1
-
- .end
diff --git a/sound/songs/se_jyuni.s b/sound/songs/se_jyuni.s
deleted file mode 100644
index 1267e7f35..000000000
--- a/sound/songs/se_jyuni.s
+++ /dev/null
@@ -1,127 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_jyuni_grp, voicegroup127
- .equ se_jyuni_pri, 4
- .equ se_jyuni_rev, reverb_set+50
- .equ se_jyuni_mvl, 127
- .equ se_jyuni_key, 0
- .equ se_jyuni_tbs, 1
- .equ se_jyuni_exg, 0
- .equ se_jyuni_cmp, 1
-
- .section .rodata
- .global se_jyuni
- .align 2
-
-@********************** Track 1 **********************@
-
-se_jyuni_1:
- .byte KEYSH , se_jyuni_key+0
- .byte TEMPO , 144*se_jyuni_tbs/2
- .byte VOICE , 48
- .byte PAN , c_v+1
- .byte VOL , 110*se_jyuni_mvl/mxv
- .byte N06 , Cn3 , v060
- .byte W06
- .byte N13 , Gn3
- .byte W06
- .byte W01
- .byte VOL , 105*se_jyuni_mvl/mxv
- .byte W01
- .byte 100*se_jyuni_mvl/mxv
- .byte W01
- .byte 89*se_jyuni_mvl/mxv
- .byte W01
- .byte 72*se_jyuni_mvl/mxv
- .byte W02
- .byte 55*se_jyuni_mvl/mxv
- .byte W01
- .byte 38*se_jyuni_mvl/mxv
- .byte W01
- .byte 22*se_jyuni_mvl/mxv
- .byte W01
- .byte 110*se_jyuni_mvl/mxv
- .byte N12 , Gn3 , v032
- .byte W03
- .byte W01
- .byte VOL , 100*se_jyuni_mvl/mxv
- .byte W01
- .byte 91*se_jyuni_mvl/mxv
- .byte W01
- .byte 75*se_jyuni_mvl/mxv
- .byte W01
- .byte 43*se_jyuni_mvl/mxv
- .byte W02
- .byte 24*se_jyuni_mvl/mxv
- .byte W01
- .byte 9*se_jyuni_mvl/mxv
- .byte W05
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_jyuni_2:
- .byte KEYSH , se_jyuni_key+0
- .byte VOICE , 80
- .byte VOL , 110*se_jyuni_mvl/mxv
- .byte PAN , c_v+0
- .byte N06 , Cn3 , v060
- .byte W06
- .byte N13 , Gn3
- .byte W06
- .byte W09
- .byte PAN , c_v-48
- .byte N12 , Gn3 , v032
- .byte W03
- .byte W12
- .byte FINE
-
-@********************** Track 3 **********************@
-
-se_jyuni_3:
- .byte KEYSH , se_jyuni_key+0
- .byte VOICE , 81
- .byte VOL , 110*se_jyuni_mvl/mxv
- .byte PAN , c_v+0
- .byte N06 , Gn2 , v060
- .byte W06
- .byte N13 , Cn3
- .byte W06
- .byte W09
- .byte PAN , c_v+48
- .byte N12 , Cn3 , v032
- .byte W03
- .byte W12
- .byte FINE
-
-@********************** Track 4 **********************@
-
-se_jyuni_4:
- .byte KEYSH , se_jyuni_key+0
- .byte VOICE , 47
- .byte VOL , 110*se_jyuni_mvl/mxv
- .byte N06 , Gn1 , v127
- .byte W06
- .byte N13 , Cn2
- .byte W06
- .byte W12
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_jyuni:
- .byte 4 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_jyuni_pri @ Priority
- .byte se_jyuni_rev @ Reverb.
-
- .word se_jyuni_grp
-
- .word se_jyuni_1
- .word se_jyuni_2
- .word se_jyuni_3
- .word se_jyuni_4
-
- .end
diff --git a/sound/songs/se_kaidan.s b/sound/songs/se_kaidan.s
deleted file mode 100644
index 3563c4062..000000000
--- a/sound/songs/se_kaidan.s
+++ /dev/null
@@ -1,61 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kaidan_grp, voicegroup127
- .equ se_kaidan_pri, 5
- .equ se_kaidan_rev, reverb_set+50
- .equ se_kaidan_mvl, 127
- .equ se_kaidan_key, 0
- .equ se_kaidan_tbs, 1
- .equ se_kaidan_exg, 0
- .equ se_kaidan_cmp, 1
-
- .section .rodata
- .global se_kaidan
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kaidan_1:
- .byte KEYSH , se_kaidan_key+0
- .byte TEMPO , 120*se_kaidan_tbs/2
- .byte VOICE , 126
- .byte VOL , 120*se_kaidan_mvl/mxv
- .byte N02 , An2 , v068
- .byte W02
- .byte Cn3 , v127
- .byte W01
- .byte W01
- .byte En4 , v068
- .byte W02
- .byte W03
- .byte W03
- .byte An2
- .byte W02
- .byte Cn3 , v100
- .byte W01
- .byte W01
- .byte En4 , v068
- .byte W02
- .byte W03
- .byte W03
- .byte An2 , v032
- .byte W02
- .byte Cn3 , v052
- .byte W01
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kaidan:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kaidan_pri @ Priority
- .byte se_kaidan_rev @ Reverb.
-
- .word se_kaidan_grp
-
- .word se_kaidan_1
-
- .end
diff --git a/sound/songs/se_kaifuku.s b/sound/songs/se_kaifuku.s
deleted file mode 100644
index ecaf63c92..000000000
--- a/sound/songs/se_kaifuku.s
+++ /dev/null
@@ -1,46 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kaifuku_grp, voicegroup127
- .equ se_kaifuku_pri, 5
- .equ se_kaifuku_rev, reverb_set+50
- .equ se_kaifuku_mvl, 127
- .equ se_kaifuku_key, 0
- .equ se_kaifuku_tbs, 1
- .equ se_kaifuku_exg, 0
- .equ se_kaifuku_cmp, 1
-
- .section .rodata
- .global se_kaifuku
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kaifuku_1:
- .byte KEYSH , se_kaifuku_key+0
- .byte TEMPO , 132*se_kaifuku_tbs/2
- .byte VOICE , 91
- .byte VOL , 100*se_kaifuku_mvl/mxv
- .byte BEND , c_v-6
- .byte N02 , Cn3 , v112
- .byte W04
- .byte N02
- .byte W04
- .byte VOICE , 90
- .byte N15
- .byte W16
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kaifuku:
- .byte 1 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kaifuku_pri @ Priority
- .byte se_kaifuku_rev @ Reverb.
-
- .word se_kaifuku_grp
-
- .word se_kaifuku_1
-
- .end
diff --git a/sound/songs/se_ki_gasyan.s b/sound/songs/se_ki_gasyan.s
deleted file mode 100644
index 11bcfbf45..000000000
--- a/sound/songs/se_ki_gasyan.s
+++ /dev/null
@@ -1,76 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_ki_gasyan_grp, voicegroup128
- .equ se_ki_gasyan_pri, 4
- .equ se_ki_gasyan_rev, reverb_set+50
- .equ se_ki_gasyan_mvl, 127
- .equ se_ki_gasyan_key, 0
- .equ se_ki_gasyan_tbs, 1
- .equ se_ki_gasyan_exg, 0
- .equ se_ki_gasyan_cmp, 1
-
- .section .rodata
- .global se_ki_gasyan
- .align 2
-
-@********************** Track 1 **********************@
-
-se_ki_gasyan_1:
- .byte KEYSH , se_ki_gasyan_key+0
- .byte TEMPO , 150*se_ki_gasyan_tbs/2
- .byte VOICE , 8
- .byte VOL , 100*se_ki_gasyan_mvl/mxv
- .byte BEND , c_v+0
- .byte N01 , Cn3 , v127
- .byte W02
- .byte N02 , Gn2
- .byte W04
- .byte N17 , Cn3
- .byte W06
- .byte VOL , 98*se_ki_gasyan_mvl/mxv
- .byte W01
- .byte 91*se_ki_gasyan_mvl/mxv
- .byte W01
- .byte 81*se_ki_gasyan_mvl/mxv
- .byte W02
- .byte 75*se_ki_gasyan_mvl/mxv
- .byte W01
- .byte 60*se_ki_gasyan_mvl/mxv
- .byte W01
- .byte 42*se_ki_gasyan_mvl/mxv
- .byte W01
- .byte 25*se_ki_gasyan_mvl/mxv
- .byte W02
- .byte 10*se_ki_gasyan_mvl/mxv
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_ki_gasyan_2:
- .byte VOL , 100*se_ki_gasyan_mvl/mxv
- .byte KEYSH , se_ki_gasyan_key+0
- .byte VOICE , 4
- .byte N01 , Cn3 , v064
- .byte W02
- .byte N02
- .byte W04
- .byte N02
- .byte W18
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_ki_gasyan:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_ki_gasyan_pri @ Priority
- .byte se_ki_gasyan_rev @ Reverb.
-
- .word se_ki_gasyan_grp
-
- .word se_ki_gasyan_1
- .word se_ki_gasyan_2
-
- .end
diff --git a/sound/songs/se_kon.s b/sound/songs/se_kon.s
deleted file mode 100644
index 45a59f4d9..000000000
--- a/sound/songs/se_kon.s
+++ /dev/null
@@ -1,53 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kon_grp, voicegroup128
- .equ se_kon_pri, 4
- .equ se_kon_rev, reverb_set+50
- .equ se_kon_mvl, 127
- .equ se_kon_key, 0
- .equ se_kon_tbs, 1
- .equ se_kon_exg, 0
- .equ se_kon_cmp, 1
-
- .section .rodata
- .global se_kon
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kon_1:
- .byte KEYSH , se_kon_key+0
- .byte TEMPO , 150*se_kon_tbs/2
- .byte VOICE , 16
- .byte VOL , 100*se_kon_mvl/mxv
- .byte BEND , c_v+1
- .byte N12 , Fn4 , v112
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kon_2:
- .byte KEYSH , se_kon_key+0
- .byte VOICE , 17
- .byte VOL , 100*se_kon_mvl/mxv
- .byte BEND , c_v+0
- .byte N09 , Fn4 , v100
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kon:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kon_pri @ Priority
- .byte se_kon_rev @ Reverb.
-
- .word se_kon_grp
-
- .word se_kon_1
- .word se_kon_2
-
- .end
diff --git a/sound/songs/se_kon2.s b/sound/songs/se_kon2.s
deleted file mode 100644
index 127532686..000000000
--- a/sound/songs/se_kon2.s
+++ /dev/null
@@ -1,53 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kon2_grp, voicegroup128
- .equ se_kon2_pri, 4
- .equ se_kon2_rev, reverb_set+50
- .equ se_kon2_mvl, 127
- .equ se_kon2_key, 0
- .equ se_kon2_tbs, 1
- .equ se_kon2_exg, 0
- .equ se_kon2_cmp, 1
-
- .section .rodata
- .global se_kon2
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kon2_1:
- .byte KEYSH , se_kon2_key+0
- .byte TEMPO , 150*se_kon2_tbs/2
- .byte VOICE , 16
- .byte VOL , 100*se_kon2_mvl/mxv
- .byte BEND , c_v+1
- .byte N12 , Fn4 , v100
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kon2_2:
- .byte KEYSH , se_kon2_key+0
- .byte VOICE , 17
- .byte VOL , 100*se_kon2_mvl/mxv
- .byte BEND , c_v+0
- .byte N09 , Fn4 , v088
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kon2:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kon2_pri @ Priority
- .byte se_kon2_rev @ Reverb.
-
- .word se_kon2_grp
-
- .word se_kon2_1
- .word se_kon2_2
-
- .end
diff --git a/sound/songs/se_kon3.s b/sound/songs/se_kon3.s
deleted file mode 100644
index 4e5ee26fa..000000000
--- a/sound/songs/se_kon3.s
+++ /dev/null
@@ -1,53 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kon3_grp, voicegroup128
- .equ se_kon3_pri, 4
- .equ se_kon3_rev, reverb_set+50
- .equ se_kon3_mvl, 127
- .equ se_kon3_key, 0
- .equ se_kon3_tbs, 1
- .equ se_kon3_exg, 0
- .equ se_kon3_cmp, 1
-
- .section .rodata
- .global se_kon3
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kon3_1:
- .byte KEYSH , se_kon3_key+0
- .byte TEMPO , 150*se_kon3_tbs/2
- .byte VOICE , 16
- .byte VOL , 100*se_kon3_mvl/mxv
- .byte BEND , c_v+1
- .byte N12 , Fn4 , v088
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kon3_2:
- .byte KEYSH , se_kon3_key+0
- .byte VOICE , 17
- .byte VOL , 100*se_kon3_mvl/mxv
- .byte BEND , c_v+0
- .byte N09 , Fn4 , v072
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kon3:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kon3_pri @ Priority
- .byte se_kon3_rev @ Reverb.
-
- .word se_kon3_grp
-
- .word se_kon3_1
- .word se_kon3_2
-
- .end
diff --git a/sound/songs/se_kon4.s b/sound/songs/se_kon4.s
deleted file mode 100644
index 4dfe81e34..000000000
--- a/sound/songs/se_kon4.s
+++ /dev/null
@@ -1,53 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kon4_grp, voicegroup128
- .equ se_kon4_pri, 4
- .equ se_kon4_rev, reverb_set+50
- .equ se_kon4_mvl, 127
- .equ se_kon4_key, 0
- .equ se_kon4_tbs, 1
- .equ se_kon4_exg, 0
- .equ se_kon4_cmp, 1
-
- .section .rodata
- .global se_kon4
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kon4_1:
- .byte KEYSH , se_kon4_key+0
- .byte TEMPO , 150*se_kon4_tbs/2
- .byte VOICE , 16
- .byte VOL , 100*se_kon4_mvl/mxv
- .byte BEND , c_v+1
- .byte N12 , Fn4 , v076
- .byte W12
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kon4_2:
- .byte KEYSH , se_kon4_key+0
- .byte VOICE , 17
- .byte VOL , 100*se_kon4_mvl/mxv
- .byte BEND , c_v+0
- .byte N09 , Fn4 , v056
- .byte W12
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kon4:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kon4_pri @ Priority
- .byte se_kon4_rev @ Reverb.
-
- .word se_kon4_grp
-
- .word se_kon4_1
- .word se_kon4_2
-
- .end
diff --git a/sound/songs/se_kouka_h.s b/sound/songs/se_kouka_h.s
deleted file mode 100644
index 955d3c077..000000000
--- a/sound/songs/se_kouka_h.s
+++ /dev/null
@@ -1,105 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kouka_h_grp, voicegroup127
- .equ se_kouka_h_pri, 5
- .equ se_kouka_h_rev, reverb_set+50
- .equ se_kouka_h_mvl, 127
- .equ se_kouka_h_key, 0
- .equ se_kouka_h_tbs, 1
- .equ se_kouka_h_exg, 0
- .equ se_kouka_h_cmp, 1
-
- .section .rodata
- .global se_kouka_h
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kouka_h_1:
- .byte KEYSH , se_kouka_h_key+0
- .byte TEMPO , 90*se_kouka_h_tbs/2
- .byte VOICE , 125
- .byte VOL , 110*se_kouka_h_mvl/mxv
- .byte N03 , Cn3 , v100
- .byte W03
- .byte An2
- .byte W03
- .byte Cn3
- .byte W03
- .byte N06 , Gn3 , v072
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v052
- .byte W03
- .byte N06 , Gn3 , v048
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v028
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte N03 , Cn3
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v012
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kouka_h_2:
- .byte KEYSH , se_kouka_h_key+0
- .byte VOICE , 0
- .byte VOL , 110*se_kouka_h_mvl/mxv
- .byte N03 , Cn4 , v127
- .byte W03
- .byte Cn3
- .byte W03
- .byte Cn4
- .byte W03
- .byte N06 , Gn3 , v088
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v064
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v044
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v028
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte N03 , Cn3 , v012
- .byte W03
- .byte N06 , Gn3
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kouka_h:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kouka_h_pri @ Priority
- .byte se_kouka_h_rev @ Reverb.
-
- .word se_kouka_h_grp
-
- .word se_kouka_h_1
- .word se_kouka_h_2
-
- .end
diff --git a/sound/songs/se_kouka_l.s b/sound/songs/se_kouka_l.s
deleted file mode 100644
index f00241b69..000000000
--- a/sound/songs/se_kouka_l.s
+++ /dev/null
@@ -1,56 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kouka_l_grp, voicegroup127
- .equ se_kouka_l_pri, 5
- .equ se_kouka_l_rev, reverb_set+50
- .equ se_kouka_l_mvl, 127
- .equ se_kouka_l_key, 0
- .equ se_kouka_l_tbs, 1
- .equ se_kouka_l_exg, 0
- .equ se_kouka_l_cmp, 1
-
- .section .rodata
- .global se_kouka_l
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kouka_l_1:
- .byte KEYSH , se_kouka_l_key+0
- .byte TEMPO , 90*se_kouka_l_tbs/2
- .byte VOICE , 127
- .byte VOL , 110*se_kouka_l_mvl/mxv
- .byte N03 , Gn2 , v100
- .byte W03
- .byte N06 , As2
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kouka_l_2:
- .byte KEYSH , se_kouka_l_key+0
- .byte VOICE , 0
- .byte VOL , 110*se_kouka_l_mvl/mxv
- .byte N09 , As1 , v127
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kouka_l:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kouka_l_pri @ Priority
- .byte se_kouka_l_rev @ Reverb.
-
- .word se_kouka_l_grp
-
- .word se_kouka_l_1
- .word se_kouka_l_2
-
- .end
diff --git a/sound/songs/se_kouka_m.s b/sound/songs/se_kouka_m.s
deleted file mode 100644
index b285c1566..000000000
--- a/sound/songs/se_kouka_m.s
+++ /dev/null
@@ -1,82 +0,0 @@
- .include "MPlayDef.s"
-
- .equ se_kouka_m_grp, voicegroup127
- .equ se_kouka_m_pri, 5
- .equ se_kouka_m_rev, reverb_set+50
- .equ se_kouka_m_mvl, 127
- .equ se_kouka_m_key, 0
- .equ se_kouka_m_tbs, 1
- .equ se_kouka_m_exg, 0
- .equ se_kouka_m_cmp, 1
-
- .section .rodata
- .global se_kouka_m
- .align 2
-
-@********************** Track 1 **********************@
-
-se_kouka_m_1:
- .byte KEYSH , se_kouka_m_key+0
- .byte TEMPO , 90*se_kouka_m_tbs/2
- .byte VOICE , 125
- .byte VOL , 110*se_kouka_m_mvl/mxv
- .byte BEND , c_v+0
- .byte N03 , As2 , v100
- .byte W03
- .byte BEND , c_v-33
- .byte N36 , Ds3
- .byte W03
- .byte BEND , c_v+0
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@********************** Track 2 **********************@
-
-se_kouka_m_2:
- .byte KEYSH , se_kouka_m_key+0
- .byte VOICE , 0
- .byte VOL , 110*se_kouka_m_mvl/mxv
- .byte N03 , Cn3 , v127
- .byte W03
- .byte N18
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte W03
- .byte FINE
-
-@******************************************************@
- .align 2
-
-se_kouka_m:
- .byte 2 @ NumTrks
- .byte 0 @ NumBlks
- .byte se_kouka_m_pri @ Priority
- .byte se_kouka_m_rev @ Reverb.
-
- .word se_kouka_m_grp
-
- .word se_kouka_m_1
- .word se_kouka_m_2
-
- .end
diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c
index f4a4946c3..a461d3d1d 100644
--- a/src/battle_anim_80A5C6C.c
+++ b/src/battle_anim_80A5C6C.c
@@ -3,7 +3,6 @@
#include "constants/species.h"
#include "battle.h"
#include "battle_anim.h"
-#include "blend_palette.h"
#include "contest.h"
#include "data2.h"
#include "decompress.h"
diff --git a/src/battle_anim_80A9C70.c b/src/battle_anim_80A9C70.c
index 1f8a53993..9b9218b1c 100644
--- a/src/battle_anim_80A9C70.c
+++ b/src/battle_anim_80A9C70.c
@@ -3,7 +3,7 @@
#include "battle_anim.h"
#include "constants/battle_anim.h"
#include "constants/rgb.h"
-#include "blend_palette.h"
+#include "util.h"
#include "decompress.h"
#include "palette.h"
#include "sprite.h"
diff --git a/src/battle_controllers.c b/src/battle_controllers.c
index 63154ae8b..56ff34528 100644
--- a/src/battle_controllers.c
+++ b/src/battle_controllers.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "battle.h"
#include "battle_controllers.h"
+#include "cable_club.h"
#include "link.h"
#include "task.h"
#include "battle_ai_script_commands.h"
@@ -18,7 +19,6 @@ extern u8 gUnknown_02022D0A;
static EWRAM_DATA u8 sBattleBuffersTransferData[0x100] = {};
-extern void task00_08081A90(u8 taskId); // cable_club
extern void sub_81B8D64(u8 battlerId, u8 arg1); // party_menu
// this file's funcionts
diff --git a/src/battle_dome.c b/src/battle_dome.c
index 82384b43a..8de1c058c 100644
--- a/src/battle_dome.c
+++ b/src/battle_dome.c
@@ -68,7 +68,7 @@ extern bool8 sub_81A3610(void);
extern u16 sub_81A4FF0(u8);
extern u8 GetFrontierTrainerFrontSpriteId(u16);
extern u8 GetFrontierOpponentClass(u16);
-extern void sub_80F94E8(void);
+extern void ReducePlayerPartyToThree(void);
extern u8 gUnknown_0203CEF8[];
extern u16 gBattle_BG0_X;
@@ -6132,7 +6132,7 @@ static void sub_8194E44(void)
static void sub_8194EB4(void)
{
- sub_80F94E8();
+ ReducePlayerPartyToThree();
}
static void sub_8194EC0(void)
diff --git a/src/battle_factory.c b/src/battle_factory.c
index 36c5ed2e8..2c8ab1052 100644
--- a/src/battle_factory.c
+++ b/src/battle_factory.c
@@ -20,7 +20,7 @@
#include "pokemon_summary_screen.h"
#include "sound.h"
#include "pokedex.h"
-#include "blend_palette.h"
+#include "util.h"
#include "trainer_pokemon_sprites.h"
#include "constants/battle_frontier.h"
#include "constants/songs.h"
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 80e1574a4..05958395d 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -19,7 +19,6 @@
#include "decompress.h"
#include "data2.h"
#include "palette.h"
-#include "blend_palette.h"
#include "contest.h"
#include "constants/songs.h"
#include "constants/rgb.h"
diff --git a/src/battle_transition.c b/src/battle_transition.c
index d1d92cb50..fc8c0eeee 100644
--- a/src/battle_transition.c
+++ b/src/battle_transition.c
@@ -19,7 +19,7 @@
#include "gpu_regs.h"
#include "decompress.h"
#include "bg.h"
-#include "blend_palette.h"
+#include "util.h"
struct TransitionData
{
diff --git a/src/blend_palette.c b/src/blend_palette.c
deleted file mode 100644
index c9503388f..000000000
--- a/src/blend_palette.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "global.h"
-#include "palette.h"
-
-void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
-{
- u16 i;
- for (i = 0; i < numEntries; i++)
- {
- u16 index = i + palOffset;
- struct PlttData *data1 = (struct PlttData *)&gPlttBufferUnfaded[index];
- s8 r = data1->r;
- s8 g = data1->g;
- s8 b = data1->b;
- struct PlttData *data2 = (struct PlttData *)&blendColor;
- gPlttBufferFaded[index] = ((r + (((data2->r - r) * coeff) >> 4)) << 0)
- | ((g + (((data2->g - g) * coeff) >> 4)) << 5)
- | ((b + (((data2->b - b) * coeff) >> 4)) << 10);
- }
-}
diff --git a/src/cable_club.c b/src/cable_club.c
new file mode 100644
index 000000000..c54df5f24
--- /dev/null
+++ b/src/cable_club.c
@@ -0,0 +1,1299 @@
+#include "global.h"
+#include "main.h"
+#include "battle.h"
+#include "battle_records.h"
+#include "battle_setup.h"
+#include "cable_club.h"
+#include "data2.h"
+#include "event_data.h"
+#include "field_message_box.h"
+#include "field_specials.h"
+#include "field_weather.h"
+#include "international_string_util.h"
+#include "link.h"
+#include "link_rfu.h"
+#include "load_save.h"
+#include "m4a.h"
+#include "menu.h"
+#include "overworld.h"
+#include "palette.h"
+#include "rom_8011DC0.h"
+#include "script.h"
+#include "script_pokemon_util_80F87D8.h"
+#include "sound.h"
+#include "start_menu.h"
+#include "string_util.h"
+#include "strings.h"
+#include "task.h"
+#include "trade.h"
+#include "trainer_card.h"
+#include "window.h"
+#include "constants/songs.h"
+
+extern u8 gUnknown_02032298[2];
+extern u8 gUnknown_0203CEF8[];
+
+static const struct WindowTemplate gUnknown_08550594 = {
+ .priority = 0,
+ .tilemapLeft = 16,
+ .tilemapTop = 11,
+ .width = 11,
+ .height = 2,
+ .paletteNum = 15,
+ .baseBlock = 0x0125,
+};
+static const u8 *const gTrainerCardColorNames[] = {
+ gText_BronzeCard,
+ gText_CopperCard,
+ gText_SilverCard,
+ gText_GoldCard
+};
+
+static void sub_80B2634(u8 taskId);
+static void sub_80B2688(u8 taskId);
+static void sub_80B270C(u8 taskId);
+static void sub_80B275C(u8 taskId);
+static void sub_80B2804(u8 taskId);
+static void sub_80B28A8(u8 taskId);
+static void sub_80B2918(u8 taskId);
+static void sub_80B2A08(u8 taskId);
+static void sub_80B2C30(u8 taskId);
+static void sub_80B2CB0(u8 taskId);
+static void sub_80B2CEC(u8 taskId);
+static void sub_80B2D2C(u8 taskId);
+static bool8 sub_80B2D6C(u8 taskId);
+static void sub_80B2EE4(u8 taskId);
+static void sub_80B3144(u8 taskId);
+static void sub_80B3194(u8 taskId);
+static void sub_80B31E8(u8 taskId);
+static void sub_80B3220(u8 taskId);
+
+static void sub_80B236C(u8 arg0, u8 arg1)
+{
+ if (FindTaskIdByFunc(sub_80B2634) == 0xFF)
+ {
+ u8 taskId1;
+
+ taskId1 = CreateTask(sub_80B2634, 80);
+ gTasks[taskId1].data[1] = arg0;
+ gTasks[taskId1].data[2] = arg1;
+ }
+}
+
+static void sub_80B23B0(u16 windowId, u32 value)
+{
+ u8 xPos;
+
+ ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEFT_ALIGN, 1);
+ SetStandardWindowBorderStyle(windowId, 0);
+ StringExpandPlaceholders(gStringVar4, gText_XPLink);
+ xPos = GetStringCenterAlignXOffset(1, gStringVar4, 88);
+ AddTextPrinterParameterized(windowId, 1, gStringVar4, xPos, 1, 0xFF, NULL);
+ CopyWindowToVram(windowId, 3);
+}
+
+static void sub_80B241C(u16 windowId)
+{
+ sub_819746C(windowId, FALSE);
+ CopyWindowToVram(windowId, 3);
+}
+
+static void sub_80B243C(u8 taskId, u8 arg1)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (arg1 != data[3])
+ {
+ if (arg1 <= 1)
+ sub_80B241C(data[5]);
+ else
+ sub_80B23B0(data[5], arg1);
+ data[3] = arg1;
+ }
+}
+
+static u32 sub_80B2478(u8 lower, u8 upper)
+{
+ int playerCount;
+
+ switch (GetLinkPlayerDataExchangeStatusTimed(lower, upper))
+ {
+ case EXCHANGE_COMPLETE:
+ return 1;
+ case EXCHANGE_IN_PROGRESS:
+ return 3;
+ case EXCHANGE_STAT_4:
+ return 7;
+ case EXCHANGE_STAT_5:
+ return 9;
+ case EXCHANGE_STAT_6:
+ ConvertIntToDecimalStringN(gStringVar1, GetLinkPlayerCount_2(), STR_CONV_MODE_LEFT_ALIGN, 1);
+ return 4;
+ case EXCHANGE_STAT_7:
+ return 10;
+ case EXCHANGE_TIMED_OUT:
+ default:
+ return 0;
+ }
+}
+
+static bool32 sub_80B24F8(u8 taskId)
+{
+ if (HasLinkErrorOccurred() == TRUE)
+ {
+ gTasks[taskId].func = sub_80B2D2C;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static bool32 sub_80B252C(u8 taskId)
+{
+ if ((gMain.newKeys & B_BUTTON)
+ && IsLinkConnectionEstablished() == FALSE)
+ {
+ gLinkType = 0;
+ gTasks[taskId].func = sub_80B2CEC;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static bool32 sub_80B2578(u8 taskId)
+{
+ if (IsLinkConnectionEstablished())
+ SetSuppressLinkErrorMessage(TRUE);
+
+ if (gMain.newKeys & B_BUTTON)
+ {
+ gLinkType = 0;
+ gTasks[taskId].func = sub_80B2CEC;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static bool32 sub_80B25CC(u8 taskId)
+{
+ if (GetSioMultiSI() == 1)
+ {
+ gTasks[taskId].func = sub_80B2D2C;
+ return TRUE;
+ }
+ return FALSE;
+}
+
+static void sub_80B2600(u8 taskId)
+{
+ gTasks[taskId].data[0]++;
+ if (gTasks[taskId].data[0] == 10)
+ {
+ sub_800A4D8(2);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80B2634(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (data[0] == 0)
+ {
+ OpenLinkTimed();
+ sub_800AB98();
+ ResetLinkPlayers();
+ data[5] = AddWindow(&gUnknown_08550594);
+ }
+ else if (data[0] > 9)
+ {
+ gTasks[taskId].func = sub_80B2688;
+ }
+ data[0]++;
+}
+
+static void sub_80B2688(u8 taskId)
+{
+ u32 playerCount = GetLinkPlayerCount_2();
+
+ if (sub_80B252C(taskId) == TRUE
+ || sub_80B2578(taskId) == TRUE
+ || playerCount < 2)
+ return;
+
+ SetSuppressLinkErrorMessage(TRUE);
+ gTasks[taskId].data[3] = 0;
+ if (IsLinkMaster() == TRUE)
+ {
+ PlaySE(SE_PIN);
+ ShowFieldAutoScrollMessage(gText_ConfirmLinkWhenPlayersReady);
+ gTasks[taskId].func = sub_80B270C;
+ }
+ else
+ {
+ PlaySE(SE_BOO);
+ ShowFieldAutoScrollMessage(gText_AwaitingLinkup);
+ gTasks[taskId].func = sub_80B2918;
+ }
+}
+
+static void sub_80B270C(u8 taskId)
+{
+ if (sub_80B252C(taskId) == TRUE
+ || sub_80B25CC(taskId) == TRUE
+ || sub_80B24F8(taskId) == TRUE)
+ return;
+
+ if (GetFieldMessageBoxMode() == FIELD_MESSAGE_BOX_HIDDEN)
+ {
+ gTasks[taskId].data[3] = 0;
+ gTasks[taskId].func = sub_80B275C;
+ }
+}
+
+static void sub_80B275C(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+ s32 linkPlayerCount = GetLinkPlayerCount_2();
+
+ if (sub_80B252C(taskId) == TRUE
+ || sub_80B25CC(taskId) == TRUE
+ || sub_80B24F8(taskId) == TRUE)
+ return;
+
+ sub_80B243C(taskId, linkPlayerCount);
+
+ if (!(gMain.newKeys & A_BUTTON))
+ return;
+
+ if (linkPlayerCount < data[1])
+ return;
+
+ sub_800AA04(linkPlayerCount);
+ sub_80B241C(data[5]);
+ ConvertIntToDecimalStringN(gStringVar1, linkPlayerCount, STR_CONV_MODE_LEFT_ALIGN, 1);
+ ShowFieldAutoScrollMessage(gText_ConfirmStartLinkWithXPlayers);
+ gTasks[taskId].func = sub_80B2804;
+}
+
+static void sub_80B2804(u8 taskId)
+{
+ if (sub_80B252C(taskId) == TRUE
+ || sub_80B25CC(taskId) == TRUE
+ || sub_80B24F8(taskId) == TRUE)
+ return;
+
+ if (GetFieldMessageBoxMode() == FIELD_MESSAGE_BOX_HIDDEN)
+ {
+ if (sub_800AA48() != GetLinkPlayerCount_2())
+ {
+ ShowFieldAutoScrollMessage(gText_ConfirmLinkWhenPlayersReady);
+ gTasks[taskId].func = sub_80B270C;
+ }
+ else if (gMain.heldKeys & B_BUTTON)
+ {
+ ShowFieldAutoScrollMessage(gText_ConfirmLinkWhenPlayersReady);
+ gTasks[taskId].func = sub_80B270C;
+ }
+ else if (gMain.heldKeys & A_BUTTON)
+ {
+ PlaySE(SE_SELECT);
+ sub_800A620();
+ gTasks[taskId].func = sub_80B28A8;
+ }
+ }
+}
+
+static void sub_80B28A8(u8 taskId)
+{
+ u8 local1 = gTasks[taskId].data[1];
+ u8 local2 = gTasks[taskId].data[2];
+
+ if (sub_80B24F8(taskId) == TRUE
+ || sub_80B2D6C(taskId) == TRUE)
+ return;
+
+ if (GetLinkPlayerCount_2() != sub_800AA48())
+ {
+ gTasks[taskId].func = sub_80B2D2C;
+ }
+ else
+ {
+ gSpecialVar_Result = sub_80B2478(local1, local2);
+ if (gSpecialVar_Result != 0)
+ gTasks[taskId].func = sub_80B2A08;
+ }
+}
+
+static void sub_80B2918(u8 taskId)
+{
+ u8 local1, local2;
+ struct TrainerCard *card;
+
+ local1 = gTasks[taskId].data[1];
+ local2 = gTasks[taskId].data[2];
+
+ if (sub_80B252C(taskId) == TRUE
+ || sub_80B24F8(taskId) == TRUE)
+ return;
+
+ gSpecialVar_Result = sub_80B2478(local1, local2);
+ if (gSpecialVar_Result == 0)
+ return;
+ if (gSpecialVar_Result == 3 || gSpecialVar_Result == 4)
+ {
+ sub_800AC34();
+ HideFieldMessageBox();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ else if (gSpecialVar_Result == 7 || gSpecialVar_Result == 9)
+ {
+ CloseLink();
+ HideFieldMessageBox();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ else
+ {
+ gFieldLinkPlayerCount = GetLinkPlayerCount_2();
+ gUnknown_03005DB4 = GetMultiplayerId();
+ sub_800AA04(gFieldLinkPlayerCount);
+ card = (struct TrainerCard *)gBlockSendBuffer;
+ TrainerCard_GenerateCardForPlayer(card);
+ card->monSpecies[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES, NULL);
+ card->monSpecies[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
+ gTasks[taskId].func = sub_80B2C30;
+ }
+}
+
+static void sub_80B2A08(u8 taskId)
+{
+ struct TrainerCard *card;
+
+ if (sub_80B24F8(taskId) == TRUE)
+ return;
+
+ if (gSpecialVar_Result == 4)
+ {
+ if (!Link_AnyPartnersPlayingRubyOrSapphire())
+ {
+ sub_800AC34();
+ HideFieldMessageBox();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ else
+ {
+ CloseLink();
+ HideFieldMessageBox();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ }
+ else if (gSpecialVar_Result == 3)
+ {
+ sub_800AC34();
+ HideFieldMessageBox();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ else if (gSpecialVar_Result == 7 || gSpecialVar_Result == 9)
+ {
+ CloseLink();
+ HideFieldMessageBox();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ else
+ {
+ gFieldLinkPlayerCount = GetLinkPlayerCount_2();
+ gUnknown_03005DB4 = GetMultiplayerId();
+ sub_800AA04(gFieldLinkPlayerCount);
+ card = (struct TrainerCard *)gBlockSendBuffer;
+ TrainerCard_GenerateCardForPlayer(card);
+ card->monSpecies[0] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[0] - 1], MON_DATA_SPECIES, NULL);
+ card->monSpecies[1] = GetMonData(&gPlayerParty[gUnknown_0203CEF8[1] - 1], MON_DATA_SPECIES, NULL);
+ gTasks[taskId].func = sub_80B2C30;
+ sub_800A4D8(2);
+ }
+}
+
+bool32 sub_80B2AF4(u16 *arg0, u16 *arg1)
+{
+ int i;
+ int j;
+ bool32 result = FALSE;
+ int k = 0;
+
+ gStringVar1[0] = EOS;
+ gStringVar2[0] = EOS;
+
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 2; j++)
+ {
+ if (arg0[i] == arg1[j])
+ {
+ if (k == 0)
+ {
+ StringCopy(gStringVar1, gSpeciesNames[arg0[i]]);
+ result = TRUE;
+ }
+
+ if (k == 1)
+ {
+ StringCopy(gStringVar2, gSpeciesNames[arg0[i]]);
+ result = TRUE;
+ }
+
+ k++;
+ }
+ }
+ }
+
+ gSpecialVar_0x8005 = k;
+
+ return result;
+}
+
+static void task_map_chg_seq_0807EC34(u16 *a0, u32 taskId)
+{
+ struct TrainerCard *trainerCards = gTrainerCards;
+
+ if (*a0 == 1)
+ {
+ if (gLinkType == 0x2266 || gLinkType == 0x2277)
+ {
+ if (sub_80B2AF4(trainerCards[0].monSpecies, trainerCards[1].monSpecies))
+ {
+ *a0 = 11;
+ sub_800AC34();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+ else
+ {
+ sub_80B241C(gTasks[taskId].data[5]);
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+ }
+ else
+ {
+ sub_80B241C(gTasks[taskId].data[5]);
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+ }
+ else
+ {
+ sub_800AC34();
+ gTasks[taskId].func = sub_80B2CB0;
+ }
+}
+
+static void sub_80B2C30(u8 taskId)
+{
+ u8 index;
+ struct TrainerCard *trainerCards;
+
+ if (sub_80B24F8(taskId) == TRUE)
+ return;
+
+ if (GetBlockReceivedStatus() != sub_800A9A8())
+ return;
+
+ for (index = 0; index < GetLinkPlayerCount(); index++)
+ {
+ sub_80C3120(&gTrainerCards[index], gBlockRecvBuffer[index], gLinkPlayers[index].version);
+ }
+
+ SetSuppressLinkErrorMessage(FALSE);
+ ResetBlockReceivedFlags();
+ task_map_chg_seq_0807EC34(&gSpecialVar_Result, taskId);
+}
+
+static void sub_80B2CB0(u8 taskId)
+{
+ if (gReceivedRemoteLinkPlayers == FALSE)
+ {
+ sub_80B241C(gTasks[taskId].data[5]);
+ EnableBothScriptContexts();
+ RemoveWindow(gTasks[taskId].data[5]);
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80B2CEC(u8 taskId)
+{
+ gSpecialVar_Result = 5;
+ sub_80B241C(gTasks[taskId].data[5]);
+ sub_8098374();
+ RemoveWindow(gTasks[taskId].data[5]);
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+}
+
+static void sub_80B2D2C(u8 taskId)
+{
+ gSpecialVar_Result = 6;
+ sub_80B241C(gTasks[taskId].data[5]);
+ RemoveWindow(gTasks[taskId].data[5]);
+ HideFieldMessageBox();
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+}
+
+static bool8 sub_80B2D6C(u8 taskId)
+{
+ gTasks[taskId].data[4]++;
+ if (gTasks[taskId].data[4] > 600)
+ {
+ gTasks[taskId].func = sub_80B2D2C;
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+void sub_80B2DA4(u8 arg0)
+{
+ u8 r3 = 2;
+ u8 r2 = 2;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 1:
+ r3 = 2;
+ gLinkType = 0x2233;
+ break;
+ case 2:
+ r3 = 2;
+ gLinkType = 0x2244;
+ break;
+ case 5:
+ r3 = 4;
+ r2 = 4;
+ gLinkType = 0x2255;
+ break;
+ case 9:
+ r3 = 2;
+ if (gSaveBlock2Ptr->frontier.lvlMode == 0)
+ {
+ gLinkType = 0x2266;
+ }
+ else
+ {
+ gLinkType = 0x2277;
+ }
+ break;
+ }
+
+ sub_80B236C(r3, r2);
+}
+
+void sub_80B2E4C(void)
+{
+ gLinkType = 0x1133;
+ gBattleTypeFlags = 0;
+ sub_80B236C(2, 2);
+}
+
+void sub_80B2E74(void)
+{
+ gSpecialVar_Result = 0;
+ gLinkType = 0x3311;
+ gBattleTypeFlags = 0;
+ sub_80B236C(2, 4);
+}
+
+void sub_80B2EA8(void)
+{
+ u32 taskId = FindTaskIdByFunc(sub_80B2EE4);
+
+ if (taskId == 0xFF)
+ {
+ taskId = CreateTask(sub_80B2EE4, 80);
+ gTasks[taskId].data[0] = 0;
+ }
+}
+
+static void sub_80B2EE4(u8 taskId)
+{
+ int playerCount;
+ int i;
+
+ switch (gTasks[taskId].data[0])
+ {
+ case 0:
+ if (gSpecialVar_Result == 1)
+ {
+ bool32 unk = FALSE;
+ bool32 isEnglishRSLinked = FALSE;
+ bool32 isJapaneseEmeraldLinked = FALSE;
+
+ playerCount = GetLinkPlayerCount();
+ for (i = 0; i < playerCount; i++)
+ {
+ u32 version = (u8)gLinkPlayers[i].version;
+ u32 language = gLinkPlayers[i].language;
+
+ if (version == VERSION_RUBY || version == VERSION_SAPPHIRE)
+ {
+ if (language == LANGUAGE_JAPANESE)
+ {
+ unk = TRUE;
+ break;
+ }
+ else
+ {
+ isEnglishRSLinked = TRUE;
+ }
+ }
+ else if (version == VERSION_EMERALD)
+ {
+ if (language == LANGUAGE_JAPANESE)
+ {
+ isJapaneseEmeraldLinked = TRUE;
+ }
+ }
+ }
+
+ if (isEnglishRSLinked && isJapaneseEmeraldLinked)
+ {
+ unk = TRUE;
+ }
+
+ if (unk)
+ {
+ gSpecialVar_Result = 12;
+ sub_800AD10();
+ gTasks[taskId].data[0] = 1;
+ return;
+ }
+ }
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ break;
+ case 1:
+ if (gReceivedRemoteLinkPlayers == FALSE)
+ {
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80B2FD8(void)
+{
+ gLinkType = 0x4411;
+ gBattleTypeFlags = 0;
+ sub_80B236C(2, 4);
+}
+
+void sub_80B3000(void)
+{
+ gLinkType = 0x6601;
+ gBattleTypeFlags = 0;
+ sub_80B236C(4, 4);
+}
+
+void sub_80B3028(void)
+{
+ gLinkType = 0x6602;
+ gBattleTypeFlags = 0;
+ sub_80B236C(2, 4);
+}
+
+u8 sub_80B3050(void)
+{
+ if (FuncIsActiveTask(sub_80B3144) != FALSE)
+ return 0xFF;
+
+ switch (gSpecialVar_0x8004)
+ {
+ case 1:
+ gLinkType = 0x2233;
+ break;
+ case 2:
+ gLinkType = 0x2244;
+ break;
+ case 5:
+ gLinkType = 0x2255;
+ break;
+ case 9:
+ if (gSaveBlock2Ptr->frontier.lvlMode == 0)
+ {
+ gLinkType = 0x2266;
+ }
+ else
+ {
+ gLinkType = 0x2277;
+ }
+ break;
+ case 3:
+ gLinkType = 0x1111;
+ break;
+ case 4:
+ gLinkType = 0x3322;
+ break;
+ }
+
+ return CreateTask(sub_80B3144, 80);
+}
+
+static void sub_80B3144(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ if (data[0] == 0)
+ {
+ OpenLink();
+ ResetLinkPlayers();
+ CreateTask(task00_08081A90, 80);
+ }
+ else if (data[0] >= 10)
+ {
+ gTasks[taskId].func = sub_80B3194;
+ }
+ data[0]++;
+}
+
+static void sub_80B3194(u8 taskId)
+{
+ if (GetLinkPlayerCount_2() >= 2)
+ {
+ if (IsLinkMaster() == TRUE)
+ gTasks[taskId].func = sub_80B31E8;
+ else
+ gTasks[taskId].func = sub_80B3220;
+ }
+}
+
+static void sub_80B31E8(u8 taskId)
+{
+ if (sub_800AA48() == GetLinkPlayerCount_2())
+ {
+ sub_800A620();
+ gTasks[taskId].func = sub_80B3220;
+ }
+}
+
+static void sub_80B3220(u8 taskId)
+{
+ if (gReceivedRemoteLinkPlayers == TRUE
+ && IsLinkPlayerDataExchangeComplete() == TRUE)
+ {
+ sub_800AB18();
+ sub_8009F18();
+ DestroyTask(taskId);
+ }
+}
+
+void sub_80B3254(void)
+{
+ SaveGame();
+}
+
+static void sub_80B3260(int a0)
+{
+ switch (a0)
+ {
+ case 1:
+ gBattleTypeFlags = BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER;
+ break;
+ case 2:
+ gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER;
+ break;
+ case 5:
+ ReducePlayerPartyToThree();
+ gBattleTypeFlags = BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI;
+ break;
+ case 9:
+ gBattleTypeFlags = BATTLE_TYPE_BATTLE_TOWER | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER | BATTLE_TYPE_MULTI;
+ break;
+ }
+}
+
+static void sub_80B32B4(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ FadeScreen(1, 0);
+ gLinkType = 0x2211;
+ ClearLinkCallback_2();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ task->data[0]++;
+ break;
+ case 2:
+ task->data[1]++;
+ if (task->data[1] > 20)
+ task->data[0]++;
+ break;
+ case 3:
+ sub_800AC34();
+ task->data[0]++;
+ break;
+ case 4:
+ if (!gReceivedRemoteLinkPlayers)
+ task->data[0]++;
+ break;
+ case 5:
+ if (gLinkPlayers[0].trainerId & 1)
+ PlayMapChosenOrBattleBGM(MUS_BATTLE32);
+ else
+ PlayMapChosenOrBattleBGM(MUS_BATTLE20);
+
+ sub_80B3260(gSpecialVar_0x8004);
+ overworld_free_bg_tilemaps();
+ gTrainerBattleOpponent_A = 0x800;
+ SetMainCallback2(CB2_InitBattle);
+ gMain.savedCallback = sub_80B360C;
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void sub_80B33BC(u8 taskId)
+{
+ int i;
+ s16* data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ FadeScreen(1, 0);
+ gLinkType = 0x2211;
+ ClearLinkCallback_2();
+ data[0] = 1;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ data[0] = 2;
+ break;
+ case 2:
+ SendBlock(0, &gLocalLinkPlayer, sizeof(gLocalLinkPlayer));
+ data[0] = 3;
+ break;
+ case 3:
+ if (GetBlockReceivedStatus() == sub_800A9D8())
+ {
+ for (i = 0; i < GetLinkPlayerCount(); i++)
+ {
+ struct LinkPlayer *player = (struct LinkPlayer *)gBlockRecvBuffer[i];
+ gLinkPlayers[i] = *player;
+ sub_800B524(&gLinkPlayers[i]);
+ ResetBlockReceivedFlag(i);
+ }
+ data[0] = 4;
+ }
+ break;
+ case 4:
+ data[1]++;
+ if (data[1] > 20)
+ data[0] = 5;
+ break;
+ case 5:
+ sub_800ADF8();
+ data[0] = 6;
+ break;
+ case 6:
+ if (sub_800A520())
+ {
+ data[0] = 7;
+ }
+ break;
+ case 7:
+ if (gLinkPlayers[0].trainerId & 1)
+ PlayMapChosenOrBattleBGM(MUS_BATTLE32);
+ else
+ PlayMapChosenOrBattleBGM(MUS_BATTLE20);
+
+ gLinkPlayers[0].linkType = 0x2211;
+ sub_80B3260(gSpecialVar_0x8004);
+ overworld_free_bg_tilemaps();
+ gTrainerBattleOpponent_A = 0x800;
+ SetMainCallback2(CB2_InitBattle);
+ gMain.savedCallback = sub_80B360C;
+ DestroyTask(taskId);
+ break;
+ }
+}
+
+static void sub_80B3554(void)
+{
+ u8 playerCount;
+ int i;
+ bool32 r4;
+
+ switch (gMain.state)
+ {
+ case 0:
+ playerCount = GetLinkPlayerCount();
+ r4 = FALSE;
+ for (i = 0; i < playerCount; i++)
+ {
+ u32 version = (u8)gLinkPlayers[i].version;
+ if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN)
+ {
+ r4 = TRUE;
+ break;
+ }
+ }
+
+ if (r4)
+ {
+ gMain.state = 2;
+ }
+ else
+ {
+ sub_800AC34();
+ gMain.state = 1;
+ }
+ break;
+ case 1:
+ if (gReceivedRemoteLinkPlayers == FALSE)
+ {
+ SetMainCallback2(CB2_ReturnToField);
+ }
+ break;
+ case 2:
+ SetMainCallback2(CB2_ReturnToField);
+ break;
+ }
+ RunTasks();
+}
+
+void sub_80B360C(void)
+{
+ gBattleTypeFlags &= ~BATTLE_TYPE_20;
+ Overworld_ResetMapMusic();
+ LoadPlayerParty();
+ SavePlayerBag();
+ sub_813BF10();
+
+ if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2)
+ {
+ UpdatePlayerLinkBattleRecords(gUnknown_03005DB4 ^ 1);
+ if (gWirelessCommType)
+ {
+ switch (gBattleOutcome)
+ {
+ case B_OUTCOME_WON:
+ sub_801B990(0, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId);
+ break;
+ case B_OUTCOME_LOST:
+ sub_801B990(1, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId);
+ break;
+ }
+ }
+ }
+
+ if (InUnionRoom() == TRUE)
+ {
+ gMain.savedCallback = sub_80B3554;
+ }
+ else
+ {
+ gMain.savedCallback = c2_8056854;
+ }
+
+ SetMainCallback2(sub_80A0514);
+}
+
+void sub_80B36EC(void)
+{
+ if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2 || gSpecialVar_0x8004 == 5 || gSpecialVar_0x8004 == 9)
+ {
+ LoadPlayerParty();
+ SavePlayerBag();
+ }
+ copy_saved_warp2_bank_and_enter_x_to_warp1(0x7F);
+}
+
+void sub_80B371C(void)
+{
+ sub_80872B0();
+}
+
+static void sub_80B3728(u8 taskId)
+{
+ struct Task* task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ ShowFieldMessage(gText_PleaseWaitForLink);
+ task->data[0] = 1;
+ break;
+ case 1:
+ if (IsFieldMessageBoxHidden())
+ {
+ sub_8087288();
+ sub_8009628(gSpecialVar_0x8005);
+ task->data[0] = 2;
+ }
+ break;
+ case 2:
+ switch (sub_8087214())
+ {
+ case 0:
+ break;
+ case 1:
+ HideFieldMessageBox();
+ task->data[0] = 0;
+ sub_80872C4();
+ SwitchTaskToFollowupFunc(taskId);
+ break;
+ case 2:
+ task->data[0] = 3;
+ break;
+ }
+ break;
+ case 3:
+ sub_808729C();
+ sub_8197AE8(TRUE);
+ DestroyTask(taskId);
+ EnableBothScriptContexts();
+ break;
+ }
+}
+
+void sub_80B37D4(TaskFunc followupFunc)
+{
+ u8 taskId = CreateTask(sub_80B3728, 80);
+ SetTaskFuncWithFollowupFunc(taskId, sub_80B3728, followupFunc);
+ ScriptContext1_Stop();
+}
+
+static void sub_80B37FC(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ switch (task->data[0])
+ {
+ case 0:
+ ScriptContext2_Enable();
+ FadeScreen(1, 0);
+ ClearLinkCallback_2();
+ task->data[0]++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ task->data[0]++;
+ break;
+ case 2:
+ gUnknown_02032298[0] = 0;
+ gUnknown_02032298[1] = 0;
+ m4aMPlayAllStop();
+ sub_800AC34();
+ task->data[0]++;
+ break;
+ case 3:
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ SetMainCallback2(sub_80773AC);
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+static void sub_80B3894(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ ScriptContext2_Enable();
+ FadeScreen(1, 0);
+ Rfu_set_zero();
+ data[0]++;
+ break;
+ case 1:
+ if (!gPaletteFade.active)
+ data[0]++;
+ break;
+ case 2:
+ gUnknown_02032298[0] = 0;
+ gUnknown_02032298[1] = 0;
+ m4aMPlayAllStop();
+ sub_800ADF8();
+ data[0]++;
+ break;
+ case 3:
+ if (sub_800A520())
+ {
+ sub_8013F78();
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80B3924(void)
+{
+ if (gWirelessCommType != 0)
+ {
+ sub_80B37D4(sub_80B3894);
+ }
+ else
+ {
+ sub_80B37D4(sub_80B37FC);
+ }
+}
+
+static void sub_80B3950(void)
+{
+ CreateTask(sub_80B37FC, 80);
+}
+
+void nullsub_37(void)
+{
+
+}
+
+void sub_80B3968(void)
+{
+ gLinkType = 0x2211;
+
+ if (gWirelessCommType != 0)
+ {
+ sub_80B37D4(sub_80B33BC);
+ }
+ else
+ {
+ sub_80B37D4(sub_80B32B4);
+ }
+}
+
+static void sub_80B39A4(void)
+{
+ u8 taskId = CreateTask(sub_80B3728, 80);
+ ScriptContext1_Stop();
+}
+
+void sp02A_crash_sound(void)
+{
+ TrainerCard_ShowLinkCard(gSpecialVar_0x8006, CB2_ReturnToFieldContinueScriptPlayMapMusic);
+}
+
+bool32 sub_80B39D4(u8 linkPlayerIndex)
+{
+ u32 trainerCardColorIndex;
+
+ gSpecialVar_0x8006 = linkPlayerIndex;
+ StringCopy(gStringVar1, gLinkPlayers[linkPlayerIndex].name);
+
+ trainerCardColorIndex = sub_80C4904(linkPlayerIndex);
+ if (trainerCardColorIndex == 0)
+ return FALSE;
+
+ StringCopy(gStringVar2, gTrainerCardColorNames[trainerCardColorIndex - 1]);
+ return TRUE;
+}
+
+void task00_08081A90(u8 taskId)
+{
+ struct Task *task = &gTasks[taskId];
+
+ task->data[0]++;
+ if (task->data[0] > 300)
+ {
+ CloseLink();
+ SetMainCallback2(CB2_LinkError);
+ DestroyTask(taskId);
+ }
+
+ if (gReceivedRemoteLinkPlayers)
+ {
+ if (gWirelessCommType == 0)
+ {
+ if (!sub_800AA60())
+ {
+ CloseLink();
+ SetMainCallback2(CB2_LinkError);
+ }
+ DestroyTask(taskId);
+ }
+ else
+ {
+ DestroyTask(taskId);
+ }
+ }
+}
+
+static void sub_80B3AAC(u8 taskId)
+{
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ EnableBothScriptContexts();
+ DestroyTask(taskId);
+ }
+}
+
+static void sub_80B3AD0(u8 taskId)
+{
+ sub_800AC34();
+ gTasks[taskId].func = sub_80B3AAC;
+}
+
+void sub_80B3AF8(u8 taskId)
+{
+ s16 *data = gTasks[taskId].data;
+
+ switch (data[0])
+ {
+ case 0:
+ if (gWirelessCommType != 0)
+ {
+ DestroyTask(taskId);
+ }
+ else
+ {
+ OpenLink();
+ CreateTask(task00_08081A90, 1);
+ data[0]++;
+ }
+ break;
+ case 1:
+ if (++data[1] > 11)
+ {
+ data[1] = 0;
+ data[0]++;
+ }
+ break;
+ case 2:
+ if (GetLinkPlayerCount_2() >= sub_800AA48())
+ {
+ if (IsLinkMaster())
+ {
+ if (++data[1] > 30)
+ {
+ sub_800A620();
+ data[0]++;
+ }
+ }
+ else
+ {
+ data[0]++;
+ }
+ }
+ break;
+ case 3:
+ if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE)
+ {
+ DestroyTask(taskId);
+ }
+ break;
+ }
+}
+
+void sub_80B3BC4(void)
+{
+ if (gWirelessCommType == 0)
+ {
+ gLinkType = 0x2288;
+ }
+}
diff --git a/src/contest.c b/src/contest.c
index 8eacc89c3..473f77f9c 100644
--- a/src/contest.c
+++ b/src/contest.c
@@ -10,7 +10,6 @@
#include "constants/flags.h"
#include "battle.h"
#include "battle_anim.h"
-#include "blend_palette.h"
#include "contest.h"
#include "data2.h"
#include "decompress.h"
diff --git a/src/evolution_scene.c b/src/evolution_scene.c
index 91ac90b1b..c00aaeb15 100644
--- a/src/evolution_scene.c
+++ b/src/evolution_scene.c
@@ -25,7 +25,7 @@
#include "gpu_regs.h"
#include "bg.h"
#include "link.h"
-#include "blend_palette.h"
+#include "util.h"
#include "trig.h"
struct EvoInfo
diff --git a/src/field_message_box.c b/src/field_message_box.c
index 19859ec0f..f45b6607d 100755
--- a/src/field_message_box.c
+++ b/src/field_message_box.c
@@ -131,7 +131,7 @@ void HideFieldMessageBox(void)
gUnknown_020375BC = 0;
}
-u8 textbox_any_visible(void)
+u8 GetFieldMessageBoxMode(void)
{
return gUnknown_020375BC;
}
diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c
index 2b0904672..f2975e739 100644
--- a/src/hall_of_fame.c
+++ b/src/hall_of_fame.c
@@ -17,7 +17,7 @@
#include "bg.h"
#include "constants/species.h"
#include "constants/game_stat.h"
-#include "blend_palette.h"
+#include "util.h"
#include "string_util.h"
#include "m4a.h"
#include "international_string_util.h"
diff --git a/src/intro.c b/src/intro.c
index e1d61242c..fe5c012b0 100644
--- a/src/intro.c
+++ b/src/intro.c
@@ -22,7 +22,7 @@
#include "graphics.h"
#include "sound.h"
#include "constants/species.h"
-#include "blend_palette.h"
+#include "util.h"
#include "title_screen.h"
#include "constants/rgb.h"
#include "constants/battle_anim.h"
diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c
index 8dcb960b7..7e09a4d70 100644
--- a/src/mystery_event_menu.c
+++ b/src/mystery_event_menu.c
@@ -151,7 +151,7 @@ static void CB2_MysteryEventMenu(void)
if (!IsTextPrinterActive(0))
{
gMain.state++;
- gLinkType = 21761;
+ gLinkType = 0x5501;
OpenLink();
}
break;
diff --git a/src/palette.c b/src/palette.c
index fd4ad32ad..1e92f4bba 100644
--- a/src/palette.c
+++ b/src/palette.c
@@ -1,6 +1,6 @@
#include "global.h"
-#include "blend_palette.h"
#include "palette.h"
+#include "util.h"
#include "decompress.h"
#include "gpu_regs.h"
#include "task.h"
diff --git a/src/pokeblock_feed.c b/src/pokeblock_feed.c
index 1449d4a00..10f7d34d8 100644
--- a/src/pokeblock_feed.c
+++ b/src/pokeblock_feed.c
@@ -6,7 +6,7 @@
#include "menu.h"
#include "malloc.h"
#include "pokemon.h"
-#include "blend_palette.h"
+#include "util.h"
#include "main.h"
#include "menu_helpers.h"
#include "bg.h"
diff --git a/src/pokemon_animation.c b/src/pokemon_animation.c
index e75f2eeba..6734fce06 100644
--- a/src/pokemon_animation.c
+++ b/src/pokemon_animation.c
@@ -4,7 +4,7 @@
#include "pokemon_animation.h"
#include "trig.h"
#include "task.h"
-#include "blend_palette.h"
+#include "util.h"
#include "constants/rgb.h"
struct UnkAnimStruct
diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c
index 56c31f89f..dc94cb9d5 100644
--- a/src/rom_8011DC0.c
+++ b/src/rom_8011DC0.c
@@ -1609,7 +1609,7 @@ void sub_80141A4(void)
break;
case 1:
if (!FuncIsActiveTask(sub_80140E0))
- sub_80C4E74(GetMultiplayerId() ^ 1, CB2_ReturnToField);
+ TrainerCard_ShowLinkCard(GetMultiplayerId() ^ 1, CB2_ReturnToField);
break;
}
@@ -1675,7 +1675,7 @@ void sub_80143E4(void *arg0, bool32 arg1)
{
u16 *argAsU16Ptr = arg0;
- sub_80C30A4(argAsU16Ptr);
+ TrainerCard_GenerateCardForPlayer((struct TrainerCard *)argAsU16Ptr);
if (arg1)
argAsU16Ptr[48] = sub_801B39C();
else
diff --git a/src/start_menu.c b/src/start_menu.c
index 9d10aeaa4..dcb2c4154 100644
--- a/src/start_menu.c
+++ b/src/start_menu.c
@@ -88,7 +88,7 @@ extern void CB2_PartyMenuFromStartMenu(void);
extern void CB2_PokeNav(void);
extern void sub_80C4DDC(void (*)(void));
extern void sub_80C51C4(void (*)(void));
-extern void sub_80C4E74(u8, void (*)(void));
+extern void TrainerCard_ShowLinkCard(u8, void (*)(void));
extern void ScriptUnfreezeEventObjects(void);
extern void sub_81A9EC8(void);
extern void save_serialize_map(void);
@@ -750,7 +750,7 @@ static bool8 StartMenuLinkModePlayerNameCallback(void)
{
play_some_sound();
overworld_free_bg_tilemaps();
- sub_80C4E74(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu);
+ TrainerCard_ShowLinkCard(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu);
return TRUE;
}
diff --git a/src/string_util.c b/src/string_util.c
index ea50ba5a5..3fbf79d87 100644
--- a/src/string_util.c
+++ b/src/string_util.c
@@ -20,20 +20,20 @@ static const s32 sPowersOfTen[] =
1000000000,
};
-extern u8 gExpandedPlaceholder_Empty[];
-extern u8 gExpandedPlaceholder_Kun[];
-extern u8 gExpandedPlaceholder_Chan[];
-extern u8 gExpandedPlaceholder_Sapphire[];
-extern u8 gExpandedPlaceholder_Ruby[];
-extern u8 gExpandedPlaceholder_Emerald[];
-extern u8 gExpandedPlaceholder_Aqua[];
-extern u8 gExpandedPlaceholder_Magma[];
-extern u8 gExpandedPlaceholder_Archie[];
-extern u8 gExpandedPlaceholder_Maxie[];
-extern u8 gExpandedPlaceholder_Kyogre[];
-extern u8 gExpandedPlaceholder_Groudon[];
-extern u8 gExpandedPlaceholder_Brendan[];
-extern u8 gExpandedPlaceholder_May[];
+extern const u8 gExpandedPlaceholder_Empty[];
+extern const u8 gExpandedPlaceholder_Kun[];
+extern const u8 gExpandedPlaceholder_Chan[];
+extern const u8 gExpandedPlaceholder_Sapphire[];
+extern const u8 gExpandedPlaceholder_Ruby[];
+extern const u8 gExpandedPlaceholder_Emerald[];
+extern const u8 gExpandedPlaceholder_Aqua[];
+extern const u8 gExpandedPlaceholder_Magma[];
+extern const u8 gExpandedPlaceholder_Archie[];
+extern const u8 gExpandedPlaceholder_Maxie[];
+extern const u8 gExpandedPlaceholder_Kyogre[];
+extern const u8 gExpandedPlaceholder_Groudon[];
+extern const u8 gExpandedPlaceholder_Brendan[];
+extern const u8 gExpandedPlaceholder_May[];
u8 *StringCopy10(u8 *dest, const u8 *src)
{
@@ -348,7 +348,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
{
u8 c = *src++;
u8 placeholderId;
- u8 *expandedString;
+ const u8 *expandedString;
switch (c)
{
@@ -383,9 +383,9 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
case EOS:
*dest = EOS;
return dest;
- case 0xFA:
- case 0xFB:
- case 0xFE:
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
+ case CHAR_NEWLINE:
default:
*dest++ = c;
}
@@ -394,8 +394,8 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
u8 *StringBraille(u8 *dest, const u8 *src)
{
- u8 setBrailleFont[] = { 0xFC, 0x06, 0x06, 0xFF };
- u8 gotoLine2[] = { 0xFE, 0xFC, 0x0E, 0x02, 0xFF };
+ u8 setBrailleFont[] = { EXT_CTRL_CODE_BEGIN, 0x06, 0x06, EOS };
+ u8 gotoLine2[] = { CHAR_NEWLINE, EXT_CTRL_CODE_BEGIN, 0x0E, 0x02, EOS };
dest = StringCopy(dest, setBrailleFont);
@@ -408,7 +408,7 @@ u8 *StringBraille(u8 *dest, const u8 *src)
case EOS:
*dest = c;
return dest;
- case 0xFE:
+ case CHAR_NEWLINE:
dest = StringCopy(dest, gotoLine2);
break;
default:
@@ -419,32 +419,32 @@ u8 *StringBraille(u8 *dest, const u8 *src)
}
}
-static u8 *ExpandPlaceholder_UnknownStringVar(void)
+static const u8 *ExpandPlaceholder_UnknownStringVar(void)
{
return gUnknownStringVar;
}
-static u8 *ExpandPlaceholder_PlayerName(void)
+static const u8 *ExpandPlaceholder_PlayerName(void)
{
return gSaveBlock2Ptr->playerName;
}
-static u8 *ExpandPlaceholder_StringVar1(void)
+static const u8 *ExpandPlaceholder_StringVar1(void)
{
return gStringVar1;
}
-static u8 *ExpandPlaceholder_StringVar2(void)
+static const u8 *ExpandPlaceholder_StringVar2(void)
{
return gStringVar2;
}
-static u8 *ExpandPlaceholder_StringVar3(void)
+static const u8 *ExpandPlaceholder_StringVar3(void)
{
return gStringVar3;
}
-static u8 *ExpandPlaceholder_KunChan(void)
+static const u8 *ExpandPlaceholder_KunChan(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
return gExpandedPlaceholder_Kun;
@@ -452,7 +452,7 @@ static u8 *ExpandPlaceholder_KunChan(void)
return gExpandedPlaceholder_Chan;
}
-static u8 *ExpandPlaceholder_RivalName(void)
+static const u8 *ExpandPlaceholder_RivalName(void)
{
if (gSaveBlock2Ptr->playerGender == MALE)
return gExpandedPlaceholder_May;
@@ -460,44 +460,44 @@ static u8 *ExpandPlaceholder_RivalName(void)
return gExpandedPlaceholder_Brendan;
}
-static u8 *ExpandPlaceholder_Version(void)
+static const u8 *ExpandPlaceholder_Version(void)
{
return gExpandedPlaceholder_Emerald;
}
-static u8 *ExpandPlaceholder_Aqua(void)
+static const u8 *ExpandPlaceholder_Aqua(void)
{
return gExpandedPlaceholder_Aqua;
}
-static u8 *ExpandPlaceholder_Magma(void)
+static const u8 *ExpandPlaceholder_Magma(void)
{
return gExpandedPlaceholder_Magma;
}
-static u8 *ExpandPlaceholder_Archie(void)
+static const u8 *ExpandPlaceholder_Archie(void)
{
return gExpandedPlaceholder_Archie;
}
-static u8 *ExpandPlaceholder_Maxie(void)
+static const u8 *ExpandPlaceholder_Maxie(void)
{
return gExpandedPlaceholder_Maxie;
}
-static u8 *ExpandPlaceholder_Kyogre(void)
+static const u8 *ExpandPlaceholder_Kyogre(void)
{
return gExpandedPlaceholder_Kyogre;
}
-static u8 *ExpandPlaceholder_Groudon(void)
+static const u8 *ExpandPlaceholder_Groudon(void)
{
return gExpandedPlaceholder_Groudon;
}
-u8 *GetExpandedPlaceholder(u32 id)
+const u8 *GetExpandedPlaceholder(u32 id)
{
- typedef u8 *(*ExpandPlaceholderFunc)(void);
+ typedef const u8 *(*ExpandPlaceholderFunc)(void);
static const ExpandPlaceholderFunc funcs[] =
{
@@ -574,7 +574,7 @@ u8 *StringCopyN_Multibyte(u8 *dest, u8 *src, u32 n)
else
{
*dest++ = *src++;
- if (*(src - 1) == 0xF9)
+ if (*(src - 1) == CHAR_SPECIAL_F9)
*dest++ = *src++;
}
}
@@ -589,7 +589,7 @@ u32 StringLength_Multibyte(u8 *str)
while (*str != EOS)
{
- if (*str == 0xF9)
+ if (*str == CHAR_SPECIAL_F9)
str++;
str++;
length++;
@@ -600,7 +600,7 @@ u32 StringLength_Multibyte(u8 *str)
u8 *WriteColorChangeControlCode(u8 *dest, u32 colorType, u8 color)
{
- *dest = 0xFC;
+ *dest = EXT_CTRL_CODE_BEGIN;
dest++;
switch (colorType)
@@ -630,7 +630,7 @@ bool32 IsStringJapanese(u8 *str)
while (*str != EOS)
{
if (*str <= 0xA0)
- if (*str != 0)
+ if (*str != CHAR_SPACE)
return TRUE;
str++;
}
@@ -645,7 +645,7 @@ bool32 sub_800924C(u8 *str, s32 n)
for (i = 0; *str != EOS && i < n; i++)
{
if (*str <= 0xA0)
- if (*str != 0)
+ if (*str != CHAR_SPACE)
return TRUE;
str++;
}
@@ -692,7 +692,7 @@ u8 GetExtCtrlCodeLength(u8 code)
static const u8 *SkipExtCtrlCode(const u8 *s)
{
- while (*s == 0xFC)
+ while (*s == EXT_CTRL_CODE_BEGIN)
{
s++;
s += GetExtCtrlCodeLength(*s);
@@ -716,11 +716,11 @@ s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2)
if (*str1 < *str2)
{
retVal = -1;
- if (*str2 == 0xFF)
+ if (*str2 == EOS)
retVal = 1;
}
- if (*str1 == 0xFF)
+ if (*str1 == EOS)
return retVal;
str1++;
@@ -729,7 +729,7 @@ s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2)
retVal = 1;
- if (*str1 == 0xFF)
+ if (*str1 == EOS)
retVal = -1;
return retVal;
@@ -743,9 +743,9 @@ void ConvertInternationalString(u8 *s, u8 language)
StripExtCtrlCodes(s);
i = StringLength(s);
- s[i++] = 0xFC;
+ s[i++] = EXT_CTRL_CODE_BEGIN;
s[i++] = 22;
- s[i++] = 0xFF;
+ s[i++] = EOS;
i--;
@@ -755,7 +755,7 @@ void ConvertInternationalString(u8 *s, u8 language)
i--;
}
- s[0] = 0xFC;
+ s[0] = EXT_CTRL_CODE_BEGIN;
s[1] = 21;
}
}
@@ -764,9 +764,9 @@ void StripExtCtrlCodes(u8 *str)
{
u16 srcIndex = 0;
u16 destIndex = 0;
- while (str[srcIndex] != 0xFF)
+ while (str[srcIndex] != EOS)
{
- if (str[srcIndex] == 0xFC)
+ if (str[srcIndex] == EXT_CTRL_CODE_BEGIN)
{
srcIndex++;
srcIndex += GetExtCtrlCodeLength(str[srcIndex]);
@@ -776,5 +776,5 @@ void StripExtCtrlCodes(u8 *str)
str[destIndex++] = str[srcIndex++];
}
}
- str[destIndex] = 0xFF;
+ str[destIndex] = EOS;
}
diff --git a/src/text.c b/src/text.c
index e5a9feed8..ec0d26ab1 100644
--- a/src/text.c
+++ b/src/text.c
@@ -3095,13 +3095,13 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
temp = strLocal[strPos++];
switch (temp)
{
- case 0xFE:
- case 0xFF:
+ case CHAR_NEWLINE:
+ case EOS:
lineWidths[line] = width;
width = 0;
line++;
break;
- case 0xFC:
+ case EXT_CTRL_CODE_BEGIN:
temp2 = strLocal[strPos++];
switch (temp2)
{
@@ -3135,21 +3135,21 @@ u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing)
break;
}
break;
- case 0xF7:
- case 0xFD:
+ case CHAR_SPECIAL_F7:
+ case PLACEHOLDER_BEGIN:
++strPos;
break;
- case 0xFA:
- case 0xFB:
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
break;
- case 0xF8:
- case 0xF9:
+ case CHAR_SPECIAL_F8:
+ case CHAR_SPECIAL_F9:
++strPos;
default:
++width;
break;
}
- } while (temp != 0xFF);
+ } while (temp != EOS);
for (width = 0, strPos = 0; strPos < 8; ++strPos)
{
@@ -3201,16 +3201,16 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
lineWidth = 0;
bufferPointer = 0;
- while (*str != 0xFF)
+ while (*str != EOS)
{
switch (*str)
{
- case 0xFE:
+ case CHAR_NEWLINE:
if (lineWidth > width)
width = lineWidth;
lineWidth = 0;
break;
- case 0xFD:
+ case PLACEHOLDER_BEGIN:
switch (*++str)
{
case 0x2:
@@ -3225,10 +3225,10 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
default:
return 0;
}
- case 0xF7:
+ case CHAR_SPECIAL_F7:
if (bufferPointer == NULL)
bufferPointer = DynamicPlaceholderTextUtil_GetPlaceholderPtr(*++str);
- while (*bufferPointer != 0xFF)
+ while (*bufferPointer != EOS)
{
glyphWidth = func(*bufferPointer++, isJapanese);
if (minGlyphWidth > 0)
@@ -3240,13 +3240,13 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
else
{
lineWidth += glyphWidth;
- if (isJapanese && str[1] != 0xFF)
+ if (isJapanese && str[1] != EOS)
lineWidth += localLetterSpacing;
}
}
bufferPointer = 0;
break;
- case 0xFC:
+ case EXT_CTRL_CODE_BEGIN:
switch (*++str)
{
case 0x4:
@@ -3299,9 +3299,9 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
break;
}
break;
- case 0xF8:
- case 0xF9:
- if (*str == 0xF9)
+ case CHAR_SPECIAL_F8:
+ case CHAR_SPECIAL_F9:
+ if (*str == CHAR_SPECIAL_F9)
glyphWidth = func(*++str | 0x100, isJapanese);
else
glyphWidth = GetKeypadIconWidth(*++str);
@@ -3315,12 +3315,12 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
else
{
lineWidth += glyphWidth;
- if (isJapanese && str[1] != 0xFF)
+ if (isJapanese && str[1] != EOS)
lineWidth += localLetterSpacing;
}
break;
- case 0xFA:
- case 0xFB:
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
break;
default:
glyphWidth = func(*str, isJapanese);
@@ -3333,7 +3333,7 @@ u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing)
else
{
lineWidth += glyphWidth;
- if (isJapanese && str[1] != 0xFF)
+ if (isJapanese && str[1] != EOS)
lineWidth += localLetterSpacing;
}
break;
@@ -3372,7 +3372,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
temp = strLocal[strPos++];
switch (temp)
{
- case 0xFC:
+ case EXT_CTRL_CODE_BEGIN:
temp2 = strLocal[strPos++];
switch (temp2)
{
@@ -3421,16 +3421,16 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
continue;
}
break;
- case 0xF7:
- case 0xF8:
- case 0xF9:
- case 0xFD:
+ case CHAR_SPECIAL_F7:
+ case CHAR_SPECIAL_F8:
+ case CHAR_SPECIAL_F9:
+ case PLACEHOLDER_BEGIN:
++strPos;
break;
- case 0xFA:
- case 0xFB:
- case 0xFE:
- case 0xFF:
+ case CHAR_PROMPT_SCROLL:
+ case CHAR_PROMPT_CLEAR:
+ case CHAR_NEWLINE:
+ case EOS:
break;
default:
switch (fontId)
@@ -3450,7 +3450,7 @@ u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str)
break;
}
}
- while (temp != 0xFF);
+ while (temp != EOS);
RestoreTextColors(&colorBackup[0], &colorBackup[1], &colorBackup[2]);
return 1;
diff --git a/src/tileset_anims.c b/src/tileset_anims.c
index 454a2e435..f7c3cd482 100644
--- a/src/tileset_anims.c
+++ b/src/tileset_anims.c
@@ -1,7 +1,7 @@
// Includes
#include "global.h"
#include "palette.h"
-#include "blend_palette.h"
+#include "util.h"
#include "battle_transition.h"
#include "task.h"
#include "battle_transition.h"
diff --git a/src/util.c b/src/util.c
index 9c8766a97..47112774a 100644
--- a/src/util.c
+++ b/src/util.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "util.h"
#include "sprite.h"
+#include "palette.h"
const u32 gBitTable[] =
{
@@ -258,3 +259,20 @@ u32 CalcByteArraySum(const u8* data, u32 length)
sum += data[i];
return sum;
}
+
+void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor)
+{
+ u16 i;
+ for (i = 0; i < numEntries; i++)
+ {
+ u16 index = i + palOffset;
+ struct PlttData *data1 = (struct PlttData *)&gPlttBufferUnfaded[index];
+ s8 r = data1->r;
+ s8 g = data1->g;
+ s8 b = data1->b;
+ struct PlttData *data2 = (struct PlttData *)&blendColor;
+ gPlttBufferFaded[index] = ((r + (((data2->r - r) * coeff) >> 4)) << 0)
+ | ((g + (((data2->g - g) * coeff) >> 4)) << 5)
+ | ((b + (((data2->b - b) * coeff) >> 4)) << 10);
+ }
+}