summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/battle_811DA74.s1086
-rw-r--r--ld_script.txt1
-rw-r--r--src/battle_811DA74.c353
3 files changed, 351 insertions, 1089 deletions
diff --git a/asm/battle_811DA74.s b/asm/battle_811DA74.s
deleted file mode 100644
index 6b22087ef..000000000
--- a/asm/battle_811DA74.s
+++ /dev/null
@@ -1,1086 +0,0 @@
- .include "constants/gba_constants.inc"
- .include "constants/species_constants.inc"
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_812023C
-sub_812023C: @ 812023C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812023C
-
- thumb_func_start sub_8120248
-sub_8120248: @ 8120248
- push {r4,lr}
- ldr r4, _081202A0 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08120298
- ldr r0, _081202A4 @ =gUnknown_03004340
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r2, _081202A8 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r2
- ldrh r2, [r1]
- movs r1, 0x64
- muls r1, r2
- ldr r2, _081202AC @ =gPlayerParty
- adds r1, r2
- movs r2, 0x9
- bl sub_8045A5C
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r0, _081202B0 @ =0x02017810
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _081202B4 @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _081202B8 @ =sub_811E38C
- str r1, [r0]
-_08120298:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081202A0: .4byte gUnknown_02024A60
-_081202A4: .4byte gUnknown_03004340
-_081202A8: .4byte gUnknown_02024A6A
-_081202AC: .4byte gPlayerParty
-_081202B0: .4byte 0x02017810
-_081202B4: .4byte gUnknown_03004330
-_081202B8: .4byte sub_811E38C
- thumb_func_end sub_8120248
-
- thumb_func_start sub_81202BC
-sub_81202BC: @ 81202BC
- push {r4,r5,lr}
- ldr r5, _08120314 @ =gUnknown_02024A60
- ldrb r0, [r5]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _0812030C
- ldr r4, _08120318 @ =gUnknown_02023A60
- ldrb r3, [r5]
- lsls r3, 9
- adds r0, r4, 0x1
- adds r0, r3, r0
- ldrb r0, [r0]
- adds r1, r4, 0x2
- adds r1, r3, r1
- ldrb r1, [r1]
- adds r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 8
- orrs r1, r2
- adds r2, r4, 0x4
- adds r2, r3, r2
- ldrb r2, [r2]
- lsls r2, 16
- orrs r1, r2
- adds r4, 0x5
- adds r3, r4
- ldrb r2, [r3]
- lsls r2, 24
- orrs r1, r2
- bl move_anim_start_t2_for_situation
- ldr r1, _0812031C @ =gUnknown_03004330
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120320 @ =sub_811E38C
- str r1, [r0]
-_0812030C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08120314: .4byte gUnknown_02024A60
-_08120318: .4byte gUnknown_02023A60
-_0812031C: .4byte gUnknown_03004330
-_08120320: .4byte sub_811E38C
- thumb_func_end sub_81202BC
-
- thumb_func_start sub_8120324
-sub_8120324: @ 8120324
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120324
-
- thumb_func_start sub_8120330
-sub_8120330: @ 8120330
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120330
-
- thumb_func_start sub_812033C
-sub_812033C: @ 812033C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812033C
-
- thumb_func_start sub_8120348
-sub_8120348: @ 8120348
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120348
-
- thumb_func_start sub_8120354
-sub_8120354: @ 8120354
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120354
-
- thumb_func_start sub_8120360
-sub_8120360: @ 8120360
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120360
-
- thumb_func_start sub_812036C
-sub_812036C: @ 812036C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812036C
-
- thumb_func_start sub_8120378
-sub_8120378: @ 8120378
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120378
-
- thumb_func_start sub_8120384
-sub_8120384: @ 8120384
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120384
-
- thumb_func_start sub_8120390
-sub_8120390: @ 8120390
- push {lr}
- ldr r2, _081203A8 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x80
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203A8: .4byte gUnknown_020238C8
- thumb_func_end sub_8120390
-
- thumb_func_start sub_81203AC
-sub_81203AC: @ 81203AC
- push {lr}
- ldr r3, _081203D8 @ =gUnknown_020238C8
- ldr r1, _081203DC @ =gUnknown_02023A60
- ldr r0, _081203E0 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x7F
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203D8: .4byte gUnknown_020238C8
-_081203DC: .4byte gUnknown_02023A60
-_081203E0: .4byte gUnknown_02024A60
- thumb_func_end sub_81203AC
-
- thumb_func_start sub_81203E4
-sub_81203E4: @ 81203E4
- push {lr}
- ldr r2, _081203F8 @ =gUnknown_020238C8
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_081203F8: .4byte gUnknown_020238C8
- thumb_func_end sub_81203E4
-
- thumb_func_start sub_81203FC
-sub_81203FC: @ 81203FC
- push {lr}
- ldr r3, _08120420 @ =gUnknown_020238C8
- ldr r1, [r3]
- lsls r1, 24
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- lsls r1, 7
- ldrb r2, [r3]
- movs r0, 0x7F
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120420: .4byte gUnknown_020238C8
- thumb_func_end sub_81203FC
-
- thumb_func_start dp01t_29_3_blink
-dp01t_29_3_blink: @ 8120424
- push {r4,lr}
- ldr r3, _0812044C @ =gSprites
- ldr r2, _08120450 @ =gUnknown_02024BE0
- ldr r4, _08120454 @ =gUnknown_02024A60
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _08120458
- bl dp01_tbl3_exec_completed
- b _08120482
- .align 2, 0
-_0812044C: .4byte gSprites
-_08120450: .4byte gUnknown_02024BE0
-_08120454: .4byte gUnknown_02024A60
-_08120458:
- ldr r1, _08120488 @ =gUnknown_02024E6D
- movs r0, 0x1
- strb r0, [r1]
- ldrb r0, [r4]
- adds r0, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r4]
- bl sub_8047858
- ldr r1, _0812048C @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120490 @ =bx_blink_t3
- str r1, [r0]
-_08120482:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120488: .4byte gUnknown_02024E6D
-_0812048C: .4byte gUnknown_03004330
-_08120490: .4byte bx_blink_t3
- thumb_func_end dp01t_29_3_blink
-
- thumb_func_start sub_8120494
-sub_8120494: @ 8120494
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120494
-
- thumb_func_start sub_81204A0
-sub_81204A0: @ 81204A0
- push {r4,lr}
- ldr r4, _081204DC @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- movs r3, 0x3F
- cmp r0, 0
- bne _081204B4
- movs r3, 0xC0
-_081204B4:
- ldr r2, _081204E0 @ =gUnknown_02023A60
- ldrb r1, [r4]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- lsls r1, r3, 24
- asrs r1, 24
- bl PlaySE12WithPanning
- bl dp01_tbl3_exec_completed
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081204DC: .4byte gUnknown_02024A60
-_081204E0: .4byte gUnknown_02023A60
- thumb_func_end sub_81204A0
-
- thumb_func_start sub_81204E4
-sub_81204E4: @ 81204E4
- push {lr}
- ldr r2, _0812050C @ =gUnknown_02023A60
- ldr r0, _08120510 @ =gUnknown_02024A60
- ldrb r1, [r0]
- lsls r1, 9
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 8
- orrs r0, r1
- bl PlayFanfare
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_0812050C: .4byte gUnknown_02023A60
-_08120510: .4byte gUnknown_02024A60
- thumb_func_end sub_81204E4
-
- thumb_func_start sub_8120514
-sub_8120514: @ 8120514
- push {lr}
- ldr r1, _08120548 @ =gUnknown_02024A6A
- ldr r0, _0812054C @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08120550 @ =gPlayerParty
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x19
- negs r1, r1
- movs r2, 0x5
- bl PlayCry3
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120548: .4byte gUnknown_02024A6A
-_0812054C: .4byte gUnknown_02024A60
-_08120550: .4byte gPlayerParty
- thumb_func_end sub_8120514
-
- thumb_func_start dp01t_2E_3_battle_intro
-dp01t_2E_3_battle_intro: @ 8120554
- push {lr}
- ldr r1, _0812057C @ =gUnknown_02023A60
- ldr r0, _08120580 @ =gUnknown_02024A60
- ldrb r0, [r0]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80E43C0
- ldr r2, _08120584 @ =gUnknown_02024DE8
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_0812057C: .4byte gUnknown_02023A60
-_08120580: .4byte gUnknown_02024A60
-_08120584: .4byte gUnknown_02024DE8
- thumb_func_end dp01t_2E_3_battle_intro
-
- thumb_func_start sub_8120588
-sub_8120588: @ 8120588
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _081206DC @ =gUnknown_02024BE0
- ldr r7, _081206E0 @ =gUnknown_02024A60
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _081206E4 @ =gSprites
- adds r0, r5
- bl oamt_add_pos2_onto_pos1
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x32
- strh r1, [r0, 0x2E]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _081206E8 @ =0x0000ffd8
- strh r1, [r0, 0x32]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x22]
- strh r1, [r0, 0x36]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _081206EC @ =sub_8078B34
- str r1, [r0]
- ldrb r2, [r7]
- adds r0, r2, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r2, [r0, 0x38]
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _081206F0 @ =sub_8030E38
- bl oamt_set_x3A_32
- ldrb r0, [r7]
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _081206F4 @ =0x0000d6f9
- bl AllocSpritePalette
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _081206F8 @ =gTrainerBackPicPaletteTable
- mov r8, r0
- ldrb r0, [r7]
- bl sub_803FC34
- ldr r2, _081206FC @ =gLinkPlayers
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x13]
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0x20
- bl LoadCompressedPalette
- ldrb r0, [r7]
- adds r0, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r4
- strb r0, [r1, 0x5]
- ldr r0, _08120700 @ =sub_812071C
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08120704 @ =gTasks
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- ldrb r3, [r7]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r2, _08120708 @ =0x02017810
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081206BA
- ldr r0, _0812070C @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldr r1, _08120710 @ =sub_8044CA0
- str r1, [r0]
-_081206BA:
- adds r2, 0x30
- ldrb r0, [r2, 0x9]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x9]
- ldr r1, _08120714 @ =gUnknown_03004330
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120718 @ =nullsub_74
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081206DC: .4byte gUnknown_02024BE0
-_081206E0: .4byte gUnknown_02024A60
-_081206E4: .4byte gSprites
-_081206E8: .4byte 0x0000ffd8
-_081206EC: .4byte sub_8078B34
-_081206F0: .4byte sub_8030E38
-_081206F4: .4byte 0x0000d6f9
-_081206F8: .4byte gTrainerBackPicPaletteTable
-_081206FC: .4byte gLinkPlayers
-_08120700: .4byte sub_812071C
-_08120704: .4byte gTasks
-_08120708: .4byte 0x02017810
-_0812070C: .4byte gUnknown_02024E68
-_08120710: .4byte sub_8044CA0
-_08120714: .4byte gUnknown_03004330
-_08120718: .4byte nullsub_74
- thumb_func_end sub_8120588
-
- thumb_func_start sub_812071C
-sub_812071C: @ 812071C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _08120744 @ =gTasks
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x17
- bgt _08120748
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
- b _08120804
- .align 2, 0
-_08120744: .4byte gTasks
-_08120748:
- ldr r7, _08120788 @ =gUnknown_02024A60
- ldrb r0, [r7]
- mov r9, r0
- ldrh r0, [r1, 0x8]
- strb r0, [r7]
- bl IsDoubleBattle
- lsls r0, 24
- cmp r0, 0
- beq _08120768
- ldr r0, _0812078C @ =gBattleTypeFlags
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08120798
-_08120768:
- ldr r0, _08120790 @ =gUnknown_02023A60
- ldrb r1, [r7]
- lsls r2, r1, 9
- adds r0, 0x1
- adds r2, r0
- ldr r0, _08120794 @ =gUnknown_02024A6A
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strb r0, [r2]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- b _081207EC
- .align 2, 0
-_08120788: .4byte gUnknown_02024A60
-_0812078C: .4byte gBattleTypeFlags
-_08120790: .4byte gUnknown_02023A60
-_08120794: .4byte gUnknown_02024A6A
-_08120798:
- ldr r4, _08120810 @ =gUnknown_02023A60
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r4, 0x1
- adds r1, r4
- ldr r5, _08120814 @ =gUnknown_02024A6A
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- ldrb r0, [r7]
- movs r6, 0x2
- eors r0, r6
- strb r0, [r7]
- ldrb r0, [r7]
- lsls r1, r0, 9
- adds r1, r4
- lsls r0, 1
- adds r0, r5
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r7]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r2, [r0]
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08120818 @ =gPlayerParty
- adds r0, r2
- bl sub_80318FC
- ldrb r0, [r7]
- movs r1, 0
- bl sub_811F864
- ldrb r0, [r7]
- eors r0, r6
- strb r0, [r7]
-_081207EC:
- ldr r1, _0812081C @ =gUnknown_03004330
- ldr r2, _08120820 @ =gUnknown_02024A60
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120824 @ =sub_811DCA0
- str r1, [r0]
- mov r3, r9
- strb r3, [r2]
- mov r0, r8
- bl DestroyTask
-_08120804:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08120810: .4byte gUnknown_02023A60
-_08120814: .4byte gUnknown_02024A6A
-_08120818: .4byte gPlayerParty
-_0812081C: .4byte gUnknown_03004330
-_08120820: .4byte gUnknown_02024A60
-_08120824: .4byte sub_811DCA0
- thumb_func_end sub_812071C
-
- thumb_func_start dp01t_30_3_80EB11C
-dp01t_30_3_80EB11C: @ 8120828
- push {r4-r6,lr}
- ldr r1, _08120850 @ =gUnknown_02023A60
- ldr r0, _08120854 @ =gUnknown_02024A60
- ldrb r2, [r0]
- lsls r0, r2, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08120858
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08120858
- bl dp01_tbl3_exec_completed
- b _081208C0
- .align 2, 0
-_08120850: .4byte gUnknown_02023A60
-_08120854: .4byte gUnknown_02024A60
-_08120858:
- ldr r5, _081208C8 @ =gUnknown_02024A60
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r6, _081208CC @ =0x02017810
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r5]
- lsls r3, r0, 9
- ldr r4, _081208D0 @ =gUnknown_02023A64
- adds r1, r3, r4
- subs r2, r4, 0x3
- adds r2, r3, r2
- ldrb r2, [r2]
- subs r4, 0x2
- adds r3, r4
- ldrb r3, [r3]
- bl sub_8044804
- ldr r2, _081208D4 @ =gUnknown_02024E68
- ldrb r1, [r5]
- adds r1, r2
- movs r2, 0
- strb r0, [r1]
- ldrb r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strb r2, [r0, 0x5]
- ldrb r1, [r5]
- lsls r0, r1, 9
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081208B4
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5D
- strb r1, [r0, 0x5]
-_081208B4:
- ldr r0, _081208D8 @ =gUnknown_03004330
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, _081208DC @ =sub_81208E0
- str r0, [r1]
-_081208C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081208C8: .4byte gUnknown_02024A60
-_081208CC: .4byte 0x02017810
-_081208D0: .4byte gUnknown_02023A64
-_081208D4: .4byte gUnknown_02024E68
-_081208D8: .4byte gUnknown_03004330
-_081208DC: .4byte sub_81208E0
- thumb_func_end dp01t_30_3_80EB11C
-
- thumb_func_start sub_81208E0
-sub_81208E0: @ 81208E0
- push {r4,lr}
- ldr r4, _08120918 @ =gUnknown_02024A60
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, _0812091C @ =0x02017810
- adds r0, r3
- ldrb r1, [r0, 0x5]
- adds r2, r1, 0x1
- strb r2, [r0, 0x5]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x5C
- bls _08120910
- ldrb r0, [r4]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strb r0, [r1, 0x5]
- bl dp01_tbl3_exec_completed
-_08120910:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120918: .4byte gUnknown_02024A60
-_0812091C: .4byte 0x02017810
- thumb_func_end sub_81208E0
-
- thumb_func_start sub_8120920
-sub_8120920: @ 8120920
- push {lr}
- ldr r0, _08120958 @ =gUnknown_02024A60
- ldrb r3, [r0]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- ldr r1, _0812095C @ =0x02017810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0812094E
- ldr r2, _08120960 @ =gTasks
- ldr r0, _08120964 @ =gUnknown_02024E68
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _08120968 @ =sub_8044CA0
- str r1, [r0]
-_0812094E:
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- .align 2, 0
-_08120958: .4byte gUnknown_02024A60
-_0812095C: .4byte 0x02017810
-_08120960: .4byte gTasks
-_08120964: .4byte gUnknown_02024E68
-_08120968: .4byte sub_8044CA0
- thumb_func_end sub_8120920
-
- thumb_func_start sub_812096C
-sub_812096C: @ 812096C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_812096C
-
- thumb_func_start sub_8120978
-sub_8120978: @ 8120978
- push {r4,lr}
- ldr r4, _081209C8 @ =gUnknown_02024A60
- ldrb r0, [r4]
- bl sub_8078874
- lsls r0, 24
- cmp r0, 0
- beq _081209BE
- ldr r3, _081209CC @ =gSprites
- ldr r0, _081209D0 @ =gUnknown_02024BE0
- ldrb r1, [r4]
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _081209D4 @ =gUnknown_02023A60
- lsls r1, 9
- adds r0, 0x1
- adds r1, r0
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r1, [r1]
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- bl sub_8031F88
-_081209BE:
- bl dp01_tbl3_exec_completed
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081209C8: .4byte gUnknown_02024A60
-_081209CC: .4byte gSprites
-_081209D0: .4byte gUnknown_02024BE0
-_081209D4: .4byte gUnknown_02023A60
- thumb_func_end sub_8120978
-
- thumb_func_start sub_81209D8
-sub_81209D8: @ 81209D8
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08120A1C @ =gUnknown_02024A60
- ldrb r0, [r6]
- bl mplay_80342A4
- lsls r0, 24
- cmp r0, 0
- bne _08120A30
- ldr r5, _08120A20 @ =gUnknown_02023A60
- ldrb r2, [r6]
- lsls r1, r2, 9
- adds r0, r5, 0x1
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r0, r5, 0x2
- adds r0, r1, r0
- ldrb r4, [r0]
- adds r5, 0x3
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 8
- orrs r4, r0
- str r4, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- bl move_anim_start_t3
- lsls r0, 24
- cmp r0, 0
- beq _08120A24
- bl dp01_tbl3_exec_completed
- b _08120A30
- .align 2, 0
-_08120A1C: .4byte gUnknown_02024A60
-_08120A20: .4byte gUnknown_02023A60
-_08120A24:
- ldr r0, _08120A38 @ =gUnknown_03004330
- ldrb r1, [r6]
- lsls r1, 2
- adds r1, r0
- ldr r0, _08120A3C @ =sub_811E3B8
- str r0, [r1]
-_08120A30:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A38: .4byte gUnknown_03004330
-_08120A3C: .4byte sub_811E3B8
- thumb_func_end sub_81209D8
-
- thumb_func_start sub_8120A40
-sub_8120A40: @ 8120A40
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120A40
-
- thumb_func_start sub_8120A4C
-sub_8120A4C: @ 8120A4C
- push {lr}
- bl dp01_tbl3_exec_completed
- pop {r0}
- bx r0
- thumb_func_end sub_8120A4C
-
- thumb_func_start sub_8120A58
-sub_8120A58: @ 8120A58
- push {r4,lr}
- ldr r2, _08120A90 @ =gUnknown_02024D26
- ldr r1, _08120A94 @ =gUnknown_02023A60
- ldr r4, _08120A98 @ =gUnknown_02024A60
- ldrb r0, [r4]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0x5
- bl FadeOutMapMusic
- movs r0, 0x3
- bl BeginFastPaletteFade
- bl dp01_tbl3_exec_completed
- ldr r1, _08120A9C @ =gUnknown_03004330
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, _08120AA0 @ =sub_811E29C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08120A90: .4byte gUnknown_02024D26
-_08120A94: .4byte gUnknown_02023A60
-_08120A98: .4byte gUnknown_02024A60
-_08120A9C: .4byte gUnknown_03004330
-_08120AA0: .4byte sub_811E29C
- thumb_func_end sub_8120A58
-
- thumb_func_start nullsub_75
-nullsub_75: @ 8120AA4
- bx lr
- thumb_func_end nullsub_75
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/ld_script.txt b/ld_script.txt
index b67fdfc73..38d564974 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -242,7 +242,6 @@ SECTIONS {
src/fldeff_strength.o(.text);
asm/battle_transition.o(.text);
src/battle_811DA74.o(.text);
- asm/battle_811DA74.o(.text);
asm/battle_message.o(.text);
asm/choose_party.o(.text);
asm/cable_car.o(.text);
diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c
index dbd7f77e8..24e509d94 100644
--- a/src/battle_811DA74.c
+++ b/src/battle_811DA74.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "asm.h"
#include "battle.h"
+#include "battle_interface.h"
#include "data2.h"
#include "link.h"
#include "m4a.h"
@@ -26,6 +27,20 @@ struct UnknownStruct2
u8 unk1;
u8 filler2[2];
u8 unk4;
+ u8 unk5;
+ u8 filler6[3];
+ u8 unk9;
+ u8 fillerA[2];
+};
+
+struct UnknownStruct2_
+{
+ u8 unk0_0:3;
+ u8 unk0_3:1;
+ u8 unk0_4:1;
+ u8 unk1;
+ u8 filler2[2];
+ u8 unk4;
u8 filler5[4];
u8 unk9;
u8 fillerA[2];
@@ -46,15 +61,31 @@ struct UnknownStruct4
u8 unk0_3:1;
};
+struct UnknownStruct5
+{
+ u8 unk0_0:7;
+ u8 unk0_7:1;
+};
+
+struct UnknownStruct6
+{
+ u8 filler0[9];
+ u8 unk9;
+};
+
extern u32 gBitTable[];
extern u16 gBattleTypeFlags;
+extern struct UnknownStruct5 gUnknown_020238C8;
extern u8 gUnknown_020238CC[];
extern u8 gUnknown_02023A60[][0x200];
extern u8 gUnknown_02024A60;
extern u32 gUnknown_02024A64;
extern u16 gUnknown_02024A6A[];
extern u8 gUnknown_02024BE0[];
+extern u8 gUnknown_02024D26;
+extern u16 gUnknown_02024DE8;
+extern u8 gUnknown_02024E68[];
extern u8 gUnknown_02024E6D;
extern u32 gUnknown_02024E70[];
extern struct SpriteTemplate gUnknown_02024E8C;
@@ -80,7 +111,16 @@ extern u8 ewram[];
#define ewram17800 ((struct UnknownStruct4 *)(ewram + 0x17800))
#define ewram17810 ((struct UnknownStruct2 *)(ewram + 0x17810))
-
+#define ewram17810_ ((struct UnknownStruct2_ *)(ewram + 0x17810))
+#define ewram17840 (*(struct UnknownStruct6 *)(ewram + 0x17840))
+
+extern u8 move_anim_start_t3();
+extern u8 sub_8078874();
+extern void sub_8044CA0(u8);
+extern void sub_8030E38(struct Sprite *);
+extern void sub_80E43C0();
+extern void sub_8047858();
+extern void move_anim_start_t2_for_situation();
extern void load_gfxc_health_bar();
extern void sub_8043D84();
extern void sub_8120AA8();
@@ -108,7 +148,7 @@ extern void nullsub_10();
extern void sub_8045A5C();
extern void sub_804777C();
extern void sub_8043DFC();
-extern s16 sub_8045C78();
+//extern s16 sub_8045C78();
extern void sub_80440EC();
extern void sub_80324F8();
extern void nullsub_9(u16);
@@ -129,6 +169,8 @@ void sub_811EC68(u8);
void sub_811F864(u8, u8);
void sub_811FA5C(void);
void sub_811FF30(void);
+void sub_812071C(u8);
+void sub_81208E0(void);
void nullsub_74(void)
{
@@ -205,6 +247,7 @@ void sub_811DCA0(void)
u8 r2;
if (!(ewram17810[gUnknown_02024A60].unk0 & 8))
+ //if (!ewram17810_[gUnknown_02024A60].unk0_3)
{
r2 = ewram17810[gUnknown_02024A60 ^ 2].unk0 & 8;
if (!r2 && (++ewram17810[gUnknown_02024A60].unk9) != 1)
@@ -1311,3 +1354,309 @@ void sub_812014C(void)
}
gUnknown_03004330[gUnknown_02024A60] = bx_t3_healthbar_update;
}
+
+void sub_812023C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+struct MaybeABitfield
+{
+ u8 unk0_0:1;
+ u8 unk0_1:3;
+ u8 unk0_4:1;
+};
+
+void sub_8120248(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ sub_8045A5C(gUnknown_03004340[gUnknown_02024A60], &gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], 9);
+ //ewram17810[gUnknown_02024A60].unk0 &= ~0x10;
+ //ewram17810_[gUnknown_02024A60].unk0_4 = 0;
+ ((struct MaybeABitfield *)&ewram17810[gUnknown_02024A60])->unk0_4 = 0;
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E38C;
+ }
+}
+
+void sub_81202BC(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ move_anim_start_t2_for_situation(
+ gUnknown_02023A60[gUnknown_02024A60][1],
+ gUnknown_02023A60[gUnknown_02024A60][2]
+ | (gUnknown_02023A60[gUnknown_02024A60][3] << 8)
+ | (gUnknown_02023A60[gUnknown_02024A60][4] << 16)
+ | (gUnknown_02023A60[gUnknown_02024A60][5] << 24));
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E38C;
+ }
+}
+
+void sub_8120324(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120330(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812033C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120348(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120354(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120360(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812036C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120378(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120384(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120390(void)
+{
+ gUnknown_020238C8.unk0_0 = 0;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81203AC(void)
+{
+ gUnknown_020238C8.unk0_0 = gUnknown_02023A60[gUnknown_02024A60][1];
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81203E4(void)
+{
+ gUnknown_020238C8.unk0_7 = 0;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81203FC(void)
+{
+ gUnknown_020238C8.unk0_7 ^= 1;
+ dp01_tbl3_exec_completed();
+}
+
+void dp01t_29_3_blink(void)
+{
+ if (gSprites[gUnknown_02024BE0[gUnknown_02024A60]].invisible == TRUE)
+ dp01_tbl3_exec_completed();
+ else
+ {
+ gUnknown_02024E6D = 1;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data1 = 0;
+ sub_8047858(gUnknown_02024A60);
+ gUnknown_03004330[gUnknown_02024A60] = bx_blink_t3;
+ }
+}
+
+void sub_8120494(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81204A0(void)
+{
+ s8 pan;
+
+ if (battle_side_get_owner(gUnknown_02024A60) == 0)
+ pan = -64;
+ else
+ pan = 63;
+ PlaySE12WithPanning(gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8), pan);
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81204E4(void)
+{
+ PlayFanfare(gUnknown_02023A60[gUnknown_02024A60][1] | (gUnknown_02023A60[gUnknown_02024A60][2] << 8));
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120514(void)
+{
+ PlayCry3(
+ GetMonData(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], MON_DATA_SPECIES),
+ -25, 5);
+ dp01_tbl3_exec_completed();
+}
+
+void dp01t_2E_3_battle_intro(void)
+{
+ sub_80E43C0(gUnknown_02023A60[gUnknown_02024A60][1]);
+ gUnknown_02024DE8 |= 1;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120588(void)
+{
+ u8 r4;
+ u8 taskId;
+
+ oamt_add_pos2_onto_pos1(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]]);
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data0 = 50;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data2 = -40;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data4 = gSprites[gUnknown_02024BE0[gUnknown_02024A60]].pos1.y;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].callback = sub_8078B34;
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].data5 = gUnknown_02024A60;
+ oamt_set_x3A_32(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], sub_8030E38);
+ StartSpriteAnim(&gSprites[gUnknown_02024BE0[gUnknown_02024A60]], 1);
+ r4 = AllocSpritePalette(0xD6F9);
+ LoadCompressedPalette(
+ gTrainerBackPicPaletteTable[gLinkPlayers[sub_803FC34(gUnknown_02024A60)].gender].data,
+ 0x100 + r4 * 16, 0x20);
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].oam.paletteNum = r4;
+ taskId = CreateTask(sub_812071C, 5);
+ gTasks[taskId].data[0] = gUnknown_02024A60;
+ if (ewram17810[gUnknown_02024A60].unk0 & 1)
+ gTasks[gUnknown_02024E68[gUnknown_02024A60]].func = sub_8044CA0;
+ ewram17840.unk9 |= 1;
+ gUnknown_03004330[gUnknown_02024A60] = nullsub_74;
+}
+
+void sub_812071C(u8 taskId)
+{
+ u8 r9;
+
+ if (gTasks[taskId].data[1] < 24)
+ {
+ gTasks[taskId].data[1]++;
+ return;
+ }
+
+ r9 = gUnknown_02024A60;
+ gUnknown_02024A60 = gTasks[taskId].data[0];
+ if (!IsDoubleBattle() || (gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ {
+ gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60];
+ sub_811F864(gUnknown_02024A60, 0);
+ }
+ else
+ {
+ gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60];
+ sub_811F864(gUnknown_02024A60, 0);
+ gUnknown_02024A60 ^= 2;
+ gUnknown_02023A60[gUnknown_02024A60][1] = gUnknown_02024A6A[gUnknown_02024A60];
+ sub_80318FC(&gPlayerParty[gUnknown_02024A6A[gUnknown_02024A60]], gUnknown_02024A60);
+ sub_811F864(gUnknown_02024A60, 0);
+ gUnknown_02024A60 ^= 2;
+ }
+ gUnknown_03004330[gUnknown_02024A60] = sub_811DCA0;
+ gUnknown_02024A60 = r9;
+ DestroyTask(taskId);
+}
+
+void dp01t_30_3_80EB11C(void)
+{
+ if (gUnknown_02023A60[gUnknown_02024A60][1] != 0 && battle_side_get_owner(gUnknown_02024A60) == 0)
+ {
+ dp01_tbl3_exec_completed();
+ return;
+ }
+
+ //ewram17810[gUnknown_02024A60].unk0 |= 1;
+ ((struct MaybeABitfield *)&ewram17810[gUnknown_02024A60])->unk0_0 = 1;
+ gUnknown_02024E68[gUnknown_02024A60] = sub_8044804(
+ gUnknown_02024A60,
+ (struct BattleInterfaceStruct2 *)&gUnknown_02023A60[gUnknown_02024A60][4],
+ gUnknown_02023A60[gUnknown_02024A60][1],
+ gUnknown_02023A60[gUnknown_02024A60][2]);
+ ewram17810[gUnknown_02024A60].unk5 = 0;
+ if (gUnknown_02023A60[gUnknown_02024A60][2] != 0)
+ ewram17810[gUnknown_02024A60].unk5 = 0x5D;
+ gUnknown_03004330[gUnknown_02024A60] = sub_81208E0;
+}
+
+void sub_81208E0(void)
+{
+ if (ewram17810[gUnknown_02024A60].unk5++ >= 93)
+ {
+ ewram17810[gUnknown_02024A60].unk5 = 0;
+ dp01_tbl3_exec_completed();
+ }
+}
+
+void sub_8120920(void)
+{
+ if (ewram17810[gUnknown_02024A60].unk0 & 1)
+ gTasks[gUnknown_02024E68[gUnknown_02024A60]].func = sub_8044CA0;
+ dp01_tbl3_exec_completed();
+}
+
+void sub_812096C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120978(void)
+{
+ if (sub_8078874(gUnknown_02024A60) != 0)
+ {
+ gSprites[gUnknown_02024BE0[gUnknown_02024A60]].invisible = gUnknown_02023A60[gUnknown_02024A60][1];
+ sub_8031F88(gUnknown_02024A60);
+ }
+ dp01_tbl3_exec_completed();
+}
+
+void sub_81209D8(void)
+{
+ if (mplay_80342A4(gUnknown_02024A60) == 0)
+ {
+ u8 r3 = gUnknown_02023A60[gUnknown_02024A60][1];
+ u16 r4 = gUnknown_02023A60[gUnknown_02024A60][2] | (gUnknown_02023A60[gUnknown_02024A60][3] << 8);
+ u8 var = gUnknown_02024A60;
+
+ if (move_anim_start_t3(var, var, var, r3, r4) != 0)
+ dp01_tbl3_exec_completed();
+ else
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E3B8;
+ }
+}
+
+void sub_8120A40(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120A4C(void)
+{
+ dp01_tbl3_exec_completed();
+}
+
+void sub_8120A58(void)
+{
+ gUnknown_02024D26 = gUnknown_02023A60[gUnknown_02024A60][1];
+ FadeOutMapMusic(5);
+ BeginFastPaletteFade(3);
+ dp01_tbl3_exec_completed();
+ gUnknown_03004330[gUnknown_02024A60] = sub_811E29C;
+}
+
+void nullsub_75(void)
+{
+}