still going

This commit is contained in:
DizzyEggg
2018-06-03 22:39:10 +02:00
parent e95b1156d2
commit e50f4b4999
9 changed files with 394 additions and 945 deletions
-940
View File
@@ -6,947 +6,7 @@
.text
thumb_func_start sub_8013B8C
sub_8013B8C: @ 8013B8C
push {lr}
lsls r1, 5
ldr r0, [r0]
adds r3, r0, r1
ldr r0, =gUnknown_02022C2C
ldrb r0, [r0]
cmp r0, 0x4
bne _08013BCE
ldrb r1, [r3, 0x1]
movs r0, 0x3C
ands r0, r1
cmp r0, 0xC
beq _08013BCE
ldr r0, =gSaveBlock2Ptr
ldr r0, [r0]
ldrb r1, [r0, 0x9]
movs r2, 0x80
adds r0, r2, 0
ands r0, r1
cmp r0, 0
bne _08013BC4
movs r0, 0x1
b _08013BD4
.pool
_08013BC4:
ldrb r1, [r3]
adds r0, r2, 0
ands r0, r1
cmp r0, 0
beq _08013BD2
_08013BCE:
movs r0, 0
b _08013BD4
_08013BD2:
movs r0, 0x2
_08013BD4:
pop {r1}
bx r1
thumb_func_end sub_8013B8C
thumb_func_start sub_8013BD8
sub_8013BD8: @ 8013BD8
push {r4,lr}
adds r4, r0, 0
strb r1, [r4, 0xF]
bl sub_800E0E8
movs r0, 0
movs r1, 0
bl CreateWirelessStatusIndicatorSprite
ldrb r0, [r4, 0xE]
bl sub_81AE70C
ldr r0, =gStringVar1
ldrb r2, [r4, 0xF]
lsls r2, 5
ldr r1, [r4]
adds r1, r2
bl sub_8018404
ldr r1, =gUnknown_082F0530
ldr r0, =gSpecialVar_0x8004
ldrh r0, [r0]
adds r0, r1
ldrb r0, [r0]
movs r1, 0
movs r2, 0x1
bl sub_8011090
ldrb r1, [r4, 0xF]
lsls r1, 5
ldr r0, [r4]
adds r0, r1
adds r4, r0, 0
adds r4, 0x10
adds r0, 0x2
bl ReadAsU16
adds r1, r0, 0
lsls r1, 16
lsrs r1, 16
adds r0, r4, 0
bl sub_8011FC8
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_8013BD8
thumb_func_start sub_8013C40
sub_8013C40: @ 8013C40
push {lr}
ldr r0, =sub_8013C7C
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r0, 24
ldr r3, =gUnknown_02022C30
lsls r1, r0, 2
adds r1, r0
lsls r1, 3
ldr r2, =gTasks + 0x8
adds r1, r2
str r1, [r3]
movs r2, 0
strb r2, [r1, 0x8]
strb r2, [r1, 0x9]
ldr r2, =gUnknown_03000DA4
str r1, [r2]
pop {r1}
bx r1
.pool
thumb_func_end sub_8013C40
thumb_func_start sub_8013C7C
sub_8013C7C: @ 8013C7C
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
ldr r0, =gUnknown_02022C30
ldr r4, [r0]
ldrb r0, [r4, 0x8]
cmp r0, 0xB
bhi _08013D80
lsls r0, 2
ldr r1, =_08013CA0
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_08013CA0:
.4byte _08013CD0
.4byte _08013D80
.4byte _08013D04
.4byte _08013D28
.4byte _08013D80
.4byte _08013D80
.4byte _08013D80
.4byte _08013D80
.4byte _08013D80
.4byte _08013D80
.4byte _08013D58
.4byte _08013D76
_08013CD0:
movs r0, 0
movs r1, 0
movs r2, 0
bl sub_8010F84
bl sub_800B488
bl OpenLink
bl sub_8011C5C
movs r0, 0x1
bl sub_80111B0
movs r0, 0x70
bl AllocZeroed
str r0, [r4, 0x4]
movs r0, 0x80
lsls r0, 2
bl AllocZeroed
str r0, [r4]
movs r0, 0x2
strb r0, [r4, 0x8]
b _08013D80
_08013D04:
ldr r0, [r4, 0x4]
movs r1, 0x4
bl sub_80175EC
ldr r0, [r4]
movs r1, 0x10
bl sub_8017580
ldr r0, [r4, 0x4]
movs r1, 0xFF
bl sub_8016FC0
movs r1, 0
strb r0, [r4, 0x11]
strb r1, [r4, 0xF]
movs r0, 0x3
strb r0, [r4, 0x8]
b _08013D80
_08013D28:
bl sub_8013E44
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08013D3A
movs r0, 0x2
bl PlaySE
_08013D3A:
ldr r0, =gTasks
lsls r1, r5, 2
adds r1, r5
lsls r1, 3
adds r1, r0
movs r2, 0x26
ldrsh r0, [r1, r2]
cmp r0, 0xFF
bne _08013D80
movs r0, 0xA
strb r0, [r4, 0x8]
b _08013D80
.pool
_08013D58:
ldrb r0, [r4, 0x11]
bl DestroyTask
ldr r0, [r4]
bl Free
ldr r0, [r4, 0x4]
bl Free
bl sub_800EDD4
ldrb r0, [r4, 0x8]
adds r0, 0x1
strb r0, [r4, 0x8]
b _08013D80
_08013D76:
bl sub_800EDD4
adds r0, r5, 0
bl DestroyTask
_08013D80:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_8013C7C
thumb_func_start sub_8013D88
sub_8013D88: @ 8013D88
push {lr}
adds r2, r0, 0
cmp r1, 0xFF
bne _08013D94
_08013D90:
movs r0, 0x1
b _08013DB8
_08013D94:
cmp r1, 0x16
bhi _08013DB6
ldr r0, =gUnknown_082F04D8
lsls r1, 2
adds r1, r0
ldr r1, [r1]
b _08013DB0
.pool
_08013DA8:
ldrb r0, [r1]
cmp r0, r2
beq _08013D90
adds r1, 0x1
_08013DB0:
ldrb r0, [r1]
cmp r0, 0xFF
bne _08013DA8
_08013DB6:
movs r0, 0
_08013DB8:
pop {r1}
bx r1
thumb_func_end sub_8013D88
thumb_func_start sub_8013DBC
sub_8013DBC: @ 8013DBC
push {lr}
ldr r0, [r0]
lsls r1, 5
adds r1, r0, r1
ldrb r2, [r1, 0x1A]
lsls r0, r2, 30
lsrs r0, 30
cmp r0, 0x1
bne _08013DEE
ldrb r0, [r1, 0xA]
lsrs r0, 7
cmp r0, 0
beq _08013DDA
movs r0, 0x3
b _08013DF0
_08013DDA:
lsls r0, r2, 29
cmp r0, 0
bge _08013DE4
movs r0, 0x1
b _08013DF0
_08013DE4:
ldrb r0, [r1, 0x1B]
cmp r0, 0
beq _08013DEE
movs r0, 0x2
b _08013DF0
_08013DEE:
movs r0, 0
_08013DF0:
pop {r1}
bx r1
thumb_func_end sub_8013DBC
thumb_func_start sub_8013DF4
sub_8013DF4: @ 8013DF4
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x8
adds r5, r0, 0
adds r4, r1, 0
adds r6, r2, 0
lsls r5, 24
lsrs r5, 24
lsls r6, 24
lsrs r6, 24
ldr r0, =gUnknown_02022C30
ldr r0, [r0]
mov r8, r0
bl sub_8013DBC
lsls r0, 24
lsrs r0, 24
lsls r1, r4, 5
mov r2, r8
ldr r3, [r2]
adds r3, r1
str r0, [sp]
lsls r4, 24
lsrs r4, 24
str r4, [sp, 0x4]
adds r0, r5, 0
movs r1, 0x8
adds r2, r6, 0
bl sub_80177B8
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8013DF4
thumb_func_start sub_8013E44
sub_8013E44: @ 8013E44
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x4
ldr r0, =gUnknown_02022C30
ldr r6, [r0]
movs r7, 0
movs r3, 0
_08013E54:
ldr r0, [r6]
lsls r5, r3, 5
adds r2, r0, r5
ldrb r0, [r2, 0x1A]
lsls r0, 30
mov r8, r5
cmp r0, 0
beq _08013F20
ldr r1, [r6, 0x4]
adds r0, r2, 0
str r3, [sp]
bl sub_80176E4
adds r4, r0, 0
ldr r3, [sp]
cmp r4, 0xFF
beq _08013EEE
ldr r0, [r6]
adds r2, r0, r5
ldrb r1, [r2, 0x1A]
lsls r0, r1, 30
lsrs r0, 30
cmp r0, 0x1
bne _08013ECC
lsls r0, r4, 3
subs r0, r4
lsls r4, r0, 2
ldr r1, [r6, 0x4]
adds r1, r4
adds r0, r2, 0
bl sub_8017678
ldr r3, [sp]
cmp r0, 0
beq _08013EB0
ldr r1, [r6]
ldr r0, [r6, 0x4]
adds r1, r5
adds r0, r4
ldm r0!, {r2,r4,r7}
stm r1!, {r2,r4,r7}
ldm r0!, {r2,r4,r7}
stm r1!, {r2,r4,r7}
b _08013EDA
.pool
_08013EB0:
ldr r0, [r6]
adds r1, r0, r5
ldrb r0, [r1, 0x1B]
cmp r0, 0
beq _08013EE4
subs r0, 0x1
strb r0, [r1, 0x1B]
ldr r0, [r6]
adds r0, r5
ldrb r0, [r0, 0x1B]
cmp r0, 0
bne _08013EE4
movs r7, 0x2
b _08013EE4
_08013ECC:
movs r4, 0x4
negs r4, r4
adds r0, r4, 0
ands r0, r1
movs r1, 0x1
orrs r0, r1
strb r0, [r2, 0x1A]
_08013EDA:
ldr r0, [r6]
adds r0, r5
movs r1, 0x40
strb r1, [r0, 0x1B]
movs r7, 0x1
_08013EE4:
ldr r0, [r6]
add r0, r8
movs r1, 0
strh r1, [r0, 0x18]
b _08013F20
_08013EEE:
ldr r0, [r6]
adds r1, r0, r5
ldrb r0, [r1, 0x1A]
lsls r0, 30
lsrs r0, 30
cmp r0, 0x2
beq _08013F20
ldrh r0, [r1, 0x18]
adds r0, 0x1
strh r0, [r1, 0x18]
ldr r0, [r6]
adds r2, r0, r5
ldrh r1, [r2, 0x18]
ldr r0, =0x0000012b
cmp r1, r0
bls _08013F20
ldrb r0, [r2, 0x1A]
movs r7, 0x4
negs r7, r7
adds r1, r7, 0
ands r0, r1
movs r1, 0x2
orrs r0, r1
strb r0, [r2, 0x1A]
movs r7, 0x2
_08013F20:
adds r0, r3, 0x1
lsls r0, 24
lsrs r3, r0, 24
cmp r3, 0xF
bls _08013E54
movs r5, 0
movs r4, 0x3
_08013F2E:
ldr r0, [r6]
ldr r1, [r6, 0x4]
adds r1, r5
movs r2, 0x10
bl sub_8017734
lsls r0, 24
lsrs r0, 24
cmp r0, 0xFF
beq _08013F44
movs r7, 0x1
_08013F44:
adds r5, 0x1C
subs r4, 0x1
cmp r4, 0
bge _08013F2E
adds r0, r7, 0
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.pool
thumb_func_end sub_8013E44
thumb_func_start sub_8013F60
sub_8013F60: @ 8013F60
push {r4,lr}
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
bl sub_80773AC
adds r0, r4, 0
bl DestroyTask
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8013F60
thumb_func_start sub_8013F78
sub_8013F78: @ 8013F78
push {lr}
ldr r0, =sub_8013F60
movs r1, 0
bl CreateTask
lsls r0, 24
lsrs r0, 24
pop {r1}
bx r1
.pool
thumb_func_end sub_8013F78
thumb_func_start sub_8013F90
sub_8013F90: @ 8013F90
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r6, r0, 24
ldr r0, =gUnknown_02022C40
mov r8, r0
bl GetMultiplayerId
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
mov r0, r8
bl sub_8018120
adds r7, r0, 0
ldr r1, =gTasks
lsls r0, r6, 2
adds r0, r6
lsls r0, 3
adds r5, r0, r1
movs r1, 0x8
ldrsh r0, [r5, r1]
cmp r0, 0x1
beq _08013FFC
cmp r0, 0x1
bgt _08013FD4
cmp r0, 0
beq _08013FDE
b _080140BC
.pool
_08013FD4:
cmp r0, 0x2
beq _08014038
cmp r0, 0x3
beq _08014070
b _080140BC
_08013FDE:
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
movs r0, 0x64
adds r1, r7, 0
muls r1, r0
ldr r0, =gPlayerParty
adds r1, r0
movs r0, 0
movs r2, 0x64
bl SendBlock
b _080140BC
.pool
_08013FFC:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
bne _080140BC
bl GetMultiplayerId
adds r1, r0, 0
ldr r0, =gEnemyParty
movs r2, 0x1
eors r1, r2
lsls r1, 24
lsrs r1, 16
ldr r2, =gBlockRecvBuffer
adds r1, r2
movs r2, 0x64
bl memcpy
movs r0, 0x32
bl IncrementGameStat
bl ResetBlockReceivedFlags
b _0801405A
.pool
_08014038:
ldr r4, =gBlockSendBuffer
ldr r0, =gSaveBlock1Ptr
ldr r1, [r0]
ldr r0, =0x00002be0
adds r1, r0
adds r0, r4, 0
movs r2, 0xDC
bl memcpy
movs r0, 0
adds r1, r4, 0
movs r2, 0xDC
bl SendBlock
lsls r0, 24
cmp r0, 0
beq _080140BC
_0801405A:
ldrh r0, [r5, 0x8]
adds r0, 0x1
strh r0, [r5, 0x8]
b _080140BC
.pool
_08014070:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
bne _080140BC
ldr r4, =gUnknown_020321C0
bl GetMultiplayerId
adds r1, r0, 0
movs r0, 0x1
eors r1, r0
lsls r1, 24
lsrs r1, 16
ldr r0, =gBlockRecvBuffer
adds r1, r0
adds r0, r4, 0
movs r2, 0xD8
bl memcpy
bl ResetBlockReceivedFlags
ldr r1, =gUnknown_02032298
strb r7, [r1]
movs r0, 0x6
strb r0, [r1, 0x1]
ldr r1, =gMain
ldr r0, =CB2_ReturnToField
str r0, [r1, 0x8]
ldr r0, =sub_807AE50
bl SetMainCallback2
mov r0, r8
bl sub_801807C
adds r0, r6, 0
bl DestroyTask
_080140BC:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end sub_8013F90
thumb_func_start sub_80140E0
sub_80140E0: @ 80140E0
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
ldr r1, =gTasks
lsls r0, r6, 2
adds r0, r6
lsls r0, 3
adds r4, r0, r1
movs r1, 0x8
ldrsh r0, [r4, r1]
cmp r0, 0
beq _08014104
cmp r0, 0x1
beq _0801411C
b _0801419E
.pool
_08014104:
bl GetMultiplayerId
lsls r0, 24
cmp r0, 0
bne _08014114
movs r0, 0x2
bl sub_800A4D8
_08014114:
ldrh r0, [r4, 0x8]
adds r0, 0x1
strh r0, [r4, 0x8]
b _0801419E
_0801411C:
bl GetBlockReceivedStatus
adds r4, r0, 0
bl sub_800A9D8
lsls r4, 24
lsls r0, 24
cmp r4, r0
bne _0801419E
movs r4, 0
ldr r5, =gLinkPlayers
b _08014152
.pool
_08014138:
lsls r1, r4, 8
ldr r0, =gBlockRecvBuffer
adds r3, r1, r0
movs r0, 0x64
muls r0, r4
ldr r1, =gTrainerCards
adds r0, r1
ldrb r2, [r5]
adds r1, r3, 0
bl sub_80C3120
adds r5, 0x1C
adds r4, 0x1
_08014152:
bl GetLinkPlayerCount
lsls r0, 24
lsrs r0, 24
cmp r4, r0
blt _08014138
bl GetLinkPlayerCount
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
bne _08014190
bl GetMultiplayerId
movs r1, 0x1
eors r0, r1
lsls r0, 24
lsrs r0, 16
ldr r1, =gBlockRecvBuffer
adds r3, r0, r1
adds r0, r3, 0
adds r0, 0x60
ldrh r0, [r0]
bl sub_801B94C
b _08014194
.pool
_08014190:
bl sub_801B940
_08014194:
bl ResetBlockReceivedFlags
adds r0, r6, 0
bl DestroyTask
_0801419E:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80140E0
thumb_func_start sub_80141A4
sub_80141A4: @ 80141A4
push {r4,lr}
ldr r0, =gMain
movs r1, 0x87
lsls r1, 3
adds r4, r0, r1
ldrb r0, [r4]
cmp r0, 0
beq _080141C0
cmp r0, 0x1
beq _080141D4
b _080141F2
.pool
_080141C0:
ldr r0, =sub_80140E0
movs r1, 0x5
bl CreateTask
ldrb r0, [r4]
adds r0, 0x1
strb r0, [r4]
b _080141F2
.pool
_080141D4:
ldr r0, =sub_80140E0
bl FuncIsActiveTask
lsls r0, 24
cmp r0, 0
bne _080141F2
bl GetMultiplayerId
movs r1, 0x1
eors r0, r1
lsls r0, 24
lsrs r0, 24
ldr r1, =CB2_ReturnToField
bl sub_80C4E74
_080141F2:
bl RunTasks
bl RunTextPrinters
bl AnimateSprites
bl BuildOamBuffer
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end sub_80141A4
thumb_func_start sub_8014210
sub_8014210: @ 8014210
push {r4-r6,lr}
adds r6, r0, 0
lsls r6, 16
lsrs r6, 16
bl HealPlayerParty
bl SavePlayerParty
bl LoadPlayerBag
ldr r5, =gLinkPlayers
ldr r0, =0x00002211
str r0, [r5, 0x14]
bl GetMultiplayerId
adds r4, r0, 0
bl GetMultiplayerId
lsls r4, 24
lsrs r4, 24
lsls r1, r4, 3
subs r1, r4
lsls r1, 2
adds r1, r5
lsls r0, 24
lsrs r0, 24
strh r0, [r1, 0x18]
bl GetMultiplayerId
adds r4, r0, 0
bl GetMultiplayerId
movs r2, 0x1
eors r4, r2
lsls r4, 24
lsrs r4, 24
lsls r1, r4, 3
subs r1, r4
lsls r1, 2
adds r1, r5
eors r0, r2
lsls r0, 24
lsrs r0, 24
strh r0, [r1, 0x18]
ldr r1, =gMain
ldr r0, =sub_80B360C
str r0, [r1, 0x8]
ldr r0, =gBattleTypeFlags
str r6, [r0]
bl PlayBattleBGM
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8014210
thumb_func_start sub_8014290
sub_8014290: @ 8014290
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x8
adds r3, r0, 0
adds r4, r1, 0
adds r5, r2, 0
lsls r3, 16
lsrs r3, 16
lsls r4, 16
lsrs r4, 16
lsls r5, 16
lsrs r5, 16
ldr r0, =0x00004087
adds r1, r3, 0
bl VarSet
ldr r6, =gSaveBlock1Ptr
ldr r1, [r6]
movs r0, 0x4
ldrsb r0, [r1, r0]
ldrb r1, [r1, 0x5]
lsls r1, 24
asrs r1, 24
movs r2, 0x1
negs r2, r2
mov r8, r2
lsls r4, 24
asrs r4, 24
lsls r5, 24
asrs r5, 24
str r5, [sp]
adds r3, r4, 0
bl Overworld_SetWarpDestination
ldr r0, [r6]
movs r1, 0x4
ldrsb r1, [r0, r1]
movs r2, 0x5
ldrsb r2, [r0, r2]
str r4, [sp]
str r5, [sp, 0x4]
movs r0, 0
mov r3, r8
bl saved_warp2_set_2
bl warp_in
add sp, 0x8
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8014290
thumb_func_start sub_8014304
sub_8014304: @ 8014304
push {r4-r6,lr}
mov r6, r8
push {r6}
sub sp, 0x4
adds r4, r0, 0
adds r5, r1, 0
mov r8, r2
adds r6, r3, 0
ldr r1, [sp, 0x18]
lsls r4, 24
lsrs r4, 24
lsls r5, 24
lsrs r5, 24
lsls r1, 16
lsrs r1, 16
ldr r0, =gSpecialVar_0x8004
strh r1, [r0]
ldr r0, =0x00004087
bl VarSet
bl GetLinkPlayerCount
ldr r1, =gFieldLinkPlayerCount
strb r0, [r1]
bl GetMultiplayerId
ldr r1, =gUnknown_03005DB4
strb r0, [r1]
bl sub_809D2BC
lsls r4, 24
asrs r4, 24
lsls r5, 24
asrs r5, 24
movs r2, 0x1
negs r2, r2
mov r0, r8
lsls r0, 24
asrs r0, 24
mov r8, r0
lsls r6, 24
asrs r6, 24
str r6, [sp]
adds r0, r4, 0
adds r1, r5, 0
mov r3, r8
bl Overworld_SetWarpDestination
bl warp_in
add sp, 0x4
pop {r3}
mov r8, r3
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end sub_8014304
thumb_func_start sub_8014384
sub_8014384: @ 8014384