Merge pull request #111 from PikalaxALT/link

Port link from Emerald
This commit is contained in:
PikalaxALT
2019-10-07 13:15:34 -04:00
committed by GitHub
45 changed files with 2752 additions and 5651 deletions
+1 -1
View File
@@ -1645,7 +1645,7 @@ _08010B2A:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _08010B64 beq _08010B64
bl IsNoOneConnected bl IsRfuTaskFinished
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _08010B82 beq _08010B82
+14 -14
View File
@@ -142,7 +142,7 @@ sub_8080844: @ 8080844
lsrs r0, 24 lsrs r0, 24
lsls r1, 24 lsls r1, 24
lsrs r1, 24 lsrs r1, 24
bl sub_800A0D0 bl GetLinkPlayerDataExchangeStatusTimed
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
subs r0, 0x1 subs r0, 0x1
@@ -384,9 +384,9 @@ sub_80809F8: @ 80809F8
ldrsh r2, [r4, r3] ldrsh r2, [r4, r3]
cmp r2, 0 cmp r2, 0
bne _08080A30 bne _08080A30
bl sub_800A0B4 bl OpenLinkTimed
bl sub_800AA24 bl sub_800AA24
bl sub_800A270 bl ResetLinkPlayers
ldr r0, _08080A2C @ =gUnknown_83C6AB0 ldr r0, _08080A2C @ =gUnknown_83C6AB0
bl AddWindow bl AddWindow
strh r0, [r4, 0xA] strh r0, [r4, 0xA]
@@ -608,7 +608,7 @@ sub_8080BC8: @ 8080BC8
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
bne _08080C5C bne _08080C5C
bl sub_800A944 bl GetSavedPlayerCount
adds r4, r0, 0 adds r4, r0, 0
bl GetLinkPlayerCount_2 bl GetLinkPlayerCount_2
lsls r4, 24 lsls r4, 24
@@ -685,7 +685,7 @@ sub_8080C6C: @ 8080C6C
beq _08080CCE beq _08080CCE
bl GetLinkPlayerCount_2 bl GetLinkPlayerCount_2
adds r4, r0, 0 adds r4, r0, 0
bl sub_800A944 bl GetSavedPlayerCount
lsls r4, 24 lsls r4, 24
lsls r0, 24 lsls r0, 24
cmp r4, r0 cmp r4, r0
@@ -1368,7 +1368,7 @@ sub_80811FC: @ 80811FC
cmp r2, 0 cmp r2, 0
bne _08081230 bne _08081230
bl OpenLink bl OpenLink
bl sub_800A270 bl ResetLinkPlayers
ldr r0, _0808122C @ =sub_8081A90 ldr r0, _0808122C @ =sub_8081A90
movs r1, 0x50 movs r1, 0x50
bl CreateTask bl CreateTask
@@ -1443,7 +1443,7 @@ sub_80812A0: @ 80812A0
push {r4,r5,lr} push {r4,r5,lr}
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
bl sub_800A944 bl GetSavedPlayerCount
adds r4, r0, 0 adds r4, r0, 0
bl GetLinkPlayerCount_2 bl GetLinkPlayerCount_2
lsls r4, 24 lsls r4, 24
@@ -1541,7 +1541,7 @@ _0808135C:
ldr r2, _08081378 @ =0x00002211 ldr r2, _08081378 @ =0x00002211
adds r0, r2, 0 adds r0, r2, 0
strh r0, [r1] strh r0, [r1]
bl sub_800A068 bl ClearLinkCallback_2
b _080813AA b _080813AA
.align 2, 0 .align 2, 0
_08081374: .4byte gLinkType _08081374: .4byte gLinkType
@@ -1698,7 +1698,7 @@ _080814A0:
ldr r2, _080814C0 @ =0x00002211 ldr r2, _080814C0 @ =0x00002211
adds r1, r2, 0 adds r1, r2, 0
strh r1, [r0] strh r1, [r0]
bl sub_800A068 bl ClearLinkCallback_2
movs r0, 0x1 movs r0, 0x1
strh r0, [r6] strh r0, [r6]
b _0808160A b _0808160A
@@ -2087,7 +2087,7 @@ _080817C0:
bl sub_8057F34 bl sub_8057F34
ldr r0, _080817DC @ =gSpecialVar_0x8005 ldr r0, _080817DC @ =gSpecialVar_0x8005
ldrb r0, [r0] ldrb r0, [r0]
bl sub_80096F8 bl SetLocalLinkPlayerId
movs r0, 0x2 movs r0, 0x2
strh r0, [r5, 0x8] strh r0, [r5, 0x8]
b _08081820 b _08081820
@@ -2180,7 +2180,7 @@ _08081882:
movs r0, 0x1 movs r0, 0x1
movs r1, 0 movs r1, 0
bl fade_screen bl fade_screen
bl sub_800A068 bl ClearLinkCallback_2
b _080818B8 b _080818B8
_08081894: _08081894:
ldr r0, _080818A4 @ =gPaletteFade ldr r0, _080818A4 @ =gPaletteFade
@@ -2256,7 +2256,7 @@ _0808191A:
movs r0, 0x1 movs r0, 0x1
movs r1, 0 movs r1, 0
bl fade_screen bl fade_screen
bl sub_80F985C bl Rfu_set_zero
b _08081950 b _08081950
_0808192C: _0808192C:
ldr r0, _0808193C @ =gPaletteFade ldr r0, _0808193C @ =gPaletteFade
@@ -2460,7 +2460,7 @@ sub_8081A90: @ 8081A90
cmp r1, r0 cmp r1, r0
ble _08081AC2 ble _08081AC2
bl CloseLink bl CloseLink
ldr r0, _08081ADC @ =c2_800ACD4 ldr r0, _08081ADC @ =CB2_LinkError
bl SetMainCallback2 bl SetMainCallback2
adds r0, r4, 0 adds r0, r4, 0
bl DestroyTask bl DestroyTask
@@ -2477,7 +2477,7 @@ _08081AD0:
bx r0 bx r0
.align 2, 0 .align 2, 0
_08081AD8: .4byte gTasks _08081AD8: .4byte gTasks
_08081ADC: .4byte c2_800ACD4 _08081ADC: .4byte CB2_LinkError
_08081AE0: .4byte gReceivedRemoteLinkPlayers _08081AE0: .4byte gReceivedRemoteLinkPlayers
thumb_func_end sub_8081A90 thumb_func_end sub_8081A90
+2 -2
View File
@@ -797,7 +797,7 @@ _080BDCA4: .4byte 0x0000ffff
thumb_func_start sub_80BDCA8 thumb_func_start sub_80BDCA8
sub_80BDCA8: @ 80BDCA8 sub_80BDCA8: @ 80BDCA8
push {lr} push {lr}
bl sub_806E25C bl IsNationalPokedexEnabled
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
pop {r1} pop {r1}
@@ -1116,7 +1116,7 @@ _080BDEB2:
movs r0, 0x13 movs r0, 0x13
strh r0, [r3] strh r0, [r3]
_080BDF0C: _080BDF0C:
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
beq _080BDF2A beq _080BDF2A
ldr r0, _080BDF30 @ =gUnknown_20399BC ldr r0, _080BDF30 @ =gUnknown_20399BC
+3 -3
View File
@@ -193,8 +193,8 @@ _0806E254: .4byte gSaveBlock2Ptr
_0806E258: .4byte 0x00006258 _0806E258: .4byte 0x00006258
thumb_func_end EnableNationalPokedex thumb_func_end EnableNationalPokedex
thumb_func_start sub_806E25C thumb_func_start IsNationalPokedexEnabled
sub_806E25C: @ 806E25C IsNationalPokedexEnabled: @ 806E25C
push {lr} push {lr}
ldr r0, _0806E288 @ =gSaveBlock2Ptr ldr r0, _0806E288 @ =gSaveBlock2Ptr
ldr r0, [r0] ldr r0, [r0]
@@ -224,7 +224,7 @@ _0806E294:
_0806E296: _0806E296:
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end sub_806E25C thumb_func_end IsNationalPokedexEnabled
thumb_func_start sub_806E29C thumb_func_start sub_806E29C
sub_806E29C: @ 806E29C sub_806E29C: @ 806E29C
+2 -2
View File
@@ -1321,7 +1321,7 @@ sub_80CE8DC: @ 80CE8DC
ldr r0, _080CE940 @ =gPlayerParty ldr r0, _080CE940 @ =gPlayerParty
adds r1, r0 adds r1, r0
mov r9, r1 mov r9, r1
bl sub_806E25C bl IsNationalPokedexEnabled
mov r10, r4 mov r10, r4
cmp r0, 0 cmp r0, 0
bne _080CE948 bne _080CE948
@@ -2736,7 +2736,7 @@ sub_80CF53C: @ 80CF53C
ldr r0, _080CF5C0 @ =gPlayerParty ldr r0, _080CF5C0 @ =gPlayerParty
adds r1, r0 adds r1, r0
mov r8, r1 mov r8, r1
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
bne _080CF598 bne _080CF598
movs r1, 0x8 movs r1, 0x8
-5196
View File
File diff suppressed because it is too large Load Diff
+110 -110
View File
@@ -71,7 +71,7 @@ _080F863E:
adds r0, r4, 0 adds r0, r4, 0
bl sub_80FC4D4 bl sub_80FC4D4
strh r5, [r7] strh r5, [r7]
ldr r1, _080F86AC @ =gUnknown_3003F50 ldr r1, _080F86AC @ =gSendCmd
ldr r2, _080F86B0 @ =0x01000008 ldr r2, _080F86B0 @ =0x01000008
adds r0, r7, 0 adds r0, r7, 0
bl CpuSet bl CpuSet
@@ -97,7 +97,7 @@ _080F869C: .4byte gUnknown_3005450
_080F86A0: .4byte 0x010004d6 _080F86A0: .4byte 0x010004d6
_080F86A4: .4byte gUnknown_30054BC _080F86A4: .4byte gUnknown_30054BC
_080F86A8: .4byte 0x00000634 _080F86A8: .4byte 0x00000634
_080F86AC: .4byte gUnknown_3003F50 _080F86AC: .4byte gSendCmd
_080F86B0: .4byte 0x01000008 _080F86B0: .4byte 0x01000008
_080F86B4: .4byte gRecvCmds _080F86B4: .4byte gRecvCmds
_080F86B8: .4byte 0x01000028 _080F86B8: .4byte 0x01000028
@@ -1277,7 +1277,7 @@ _080F9034: .4byte 0x01000028
thumb_func_start sub_80F9038 thumb_func_start sub_80F9038
sub_80F9038: @ 80F9038 sub_80F9038: @ 80F9038
push {lr} push {lr}
ldr r3, _080F9064 @ =gUnknown_3003F50 ldr r3, _080F9064 @ =gSendCmd
ldr r2, _080F9068 @ =gRecvCmds ldr r2, _080F9068 @ =gRecvCmds
movs r1, 0x6 movs r1, 0x6
_080F9040: _080F9040:
@@ -1288,7 +1288,7 @@ _080F9040:
subs r1, 0x1 subs r1, 0x1
cmp r1, 0 cmp r1, 0
bge _080F9040 bge _080F9040
ldr r1, _080F9064 @ =gUnknown_3003F50 ldr r1, _080F9064 @ =gSendCmd
movs r2, 0 movs r2, 0
adds r0, r1, 0 adds r0, r1, 0
adds r0, 0xC adds r0, 0xC
@@ -1300,7 +1300,7 @@ _080F9056:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080F9064: .4byte gUnknown_3003F50 _080F9064: .4byte gSendCmd
_080F9068: .4byte gRecvCmds _080F9068: .4byte gRecvCmds
thumb_func_end sub_80F9038 thumb_func_end sub_80F9038
@@ -1360,8 +1360,8 @@ _080F90D4: .4byte 0x000008d4
_080F90D8: .4byte 0x000008f2 _080F90D8: .4byte 0x000008f2
thumb_func_end sub_80F906C thumb_func_end sub_80F906C
thumb_func_start sub_80F90DC thumb_func_start IsRfuRecvQueueEmpty
sub_80F90DC: @ 80F90DC IsRfuRecvQueueEmpty: @ 80F90DC
push {r4,lr} push {r4,lr}
ldr r0, _080F90EC @ =gUnknown_3007460 ldr r0, _080F90EC @ =gUnknown_3007460
ldr r0, [r0] ldr r0, [r0]
@@ -1398,7 +1398,7 @@ _080F9110:
bx r1 bx r1
.align 2, 0 .align 2, 0
_080F9118: .4byte gRecvCmds _080F9118: .4byte gRecvCmds
thumb_func_end sub_80F90DC thumb_func_end IsRfuRecvQueueEmpty
thumb_func_start sub_80F911C thumb_func_start sub_80F911C
sub_80F911C: @ 80F911C sub_80F911C: @ 80F911C
@@ -2007,7 +2007,7 @@ _080F95E4:
ldrb r1, [r2] ldrb r1, [r2]
strb r0, [r2] strb r0, [r2]
bl sub_80FA510 bl sub_80FA510
ldr r5, _080F9658 @ =gUnknown_3003F50 ldr r5, _080F9658 @ =gSendCmd
add r4, sp, 0x48 add r4, sp, 0x48
adds r0, r5, 0 adds r0, r5, 0
adds r1, r4, 0 adds r1, r4, 0
@@ -2029,7 +2029,7 @@ _080F9618:
cmp r1, 0x6 cmp r1, 0x6
bls _080F9618 bls _080F9618
_080F9628: _080F9628:
bl sub_80F90DC bl IsRfuRecvQueueEmpty
add sp, 0x58 add sp, 0x58
pop {r3} pop {r3}
mov r8, r3 mov r8, r3
@@ -2045,7 +2045,7 @@ _080F9648: .4byte 0x0000099c
_080F964C: .4byte gUnknown_3007460 _080F964C: .4byte gUnknown_3007460
_080F9650: .4byte gReceivedRemoteLinkPlayers _080F9650: .4byte gReceivedRemoteLinkPlayers
_080F9654: .4byte 0x00000988 _080F9654: .4byte 0x00000988
_080F9658: .4byte gUnknown_3003F50 _080F9658: .4byte gSendCmd
thumb_func_end sub_80F9514 thumb_func_end sub_80F9514
thumb_func_start sub_80F965C thumb_func_start sub_80F965C
@@ -2148,8 +2148,8 @@ _080F9718: .4byte gUnknown_3005AF0
_080F971C: .4byte gUnknown_30054BE _080F971C: .4byte gUnknown_30054BE
thumb_func_end sub_80F965C thumb_func_end sub_80F965C
thumb_func_start sub_80F9720 thumb_func_start Rfu_SetBlockReceivedFlag
sub_80F9720: @ 80F9720 Rfu_SetBlockReceivedFlag: @ 80F9720
push {lr} push {lr}
lsls r0, 24 lsls r0, 24
lsrs r1, r0, 24 lsrs r1, r0, 24
@@ -2173,10 +2173,10 @@ _080F9740:
_080F9748: _080F9748:
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end sub_80F9720 thumb_func_end Rfu_SetBlockReceivedFlag
thumb_func_start sub_80F974C thumb_func_start Rfu_ResetBlockReceivedFlag
sub_80F974C: @ 80F974C Rfu_ResetBlockReceivedFlag: @ 80F974C
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldr r3, _080F976C @ =gUnknown_3005450 ldr r3, _080F976C @ =gUnknown_3005450
@@ -2194,7 +2194,7 @@ sub_80F974C: @ 80F974C
bx lr bx lr
.align 2, 0 .align 2, 0
_080F976C: .4byte gUnknown_3005450 _080F976C: .4byte gUnknown_3005450
thumb_func_end sub_80F974C thumb_func_end Rfu_ResetBlockReceivedFlag
thumb_func_start sub_80F9770 thumb_func_start sub_80F9770
sub_80F9770: @ 80F9770 sub_80F9770: @ 80F9770
@@ -2244,7 +2244,7 @@ rfu_func_080F97B8: @ 80F97B8
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _080F97EA beq _080F97EA
ldr r3, _080F97F4 @ =gUnknown_3005028 ldr r3, _080F97F4 @ =gHeldKeyCodeToSend
ldrh r2, [r3] ldrh r2, [r3]
cmp r2, 0 cmp r2, 0
beq _080F97EA beq _080F97EA
@@ -2268,7 +2268,7 @@ _080F97EA:
bx r0 bx r0
.align 2, 0 .align 2, 0
_080F97F0: .4byte gReceivedRemoteLinkPlayers _080F97F0: .4byte gReceivedRemoteLinkPlayers
_080F97F4: .4byte gUnknown_3005028 _080F97F4: .4byte gHeldKeyCodeToSend
_080F97F8: .4byte gLinkTransferringData _080F97F8: .4byte gLinkTransferringData
_080F97FC: .4byte gUnknown_3001188 _080F97FC: .4byte gUnknown_3001188
thumb_func_end rfu_func_080F97B8 thumb_func_end rfu_func_080F97B8
@@ -2281,8 +2281,8 @@ sub_80F9800: @ 80F9800
_080F9804: .4byte gUnknown_3005440 _080F9804: .4byte gUnknown_3005440
thumb_func_end sub_80F9800 thumb_func_end sub_80F9800
thumb_func_start sub_80F9808 thumb_func_start IsSendingKeysToRfu
sub_80F9808: @ 80F9808 IsSendingKeysToRfu: @ 80F9808
push {lr} push {lr}
movs r2, 0 movs r2, 0
ldr r0, _080F9820 @ =gUnknown_3005450 ldr r0, _080F9820 @ =gUnknown_3005450
@@ -2298,7 +2298,7 @@ _080F9818:
.align 2, 0 .align 2, 0
_080F9820: .4byte gUnknown_3005450 _080F9820: .4byte gUnknown_3005450
_080F9824: .4byte rfu_func_080F97B8 _080F9824: .4byte rfu_func_080F97B8
thumb_func_end sub_80F9808 thumb_func_end IsSendingKeysToRfu
thumb_func_start sub_80F9828 thumb_func_start sub_80F9828
sub_80F9828: @ 80F9828 sub_80F9828: @ 80F9828
@@ -2326,15 +2326,15 @@ _080F9854: .4byte gUnknown_843EDC4
_080F9858: .4byte rfu_func_080F97B8 _080F9858: .4byte rfu_func_080F97B8
thumb_func_end sub_80F9828 thumb_func_end sub_80F9828
thumb_func_start sub_80F985C thumb_func_start Rfu_set_zero
sub_80F985C: @ 80F985C Rfu_set_zero: @ 80F985C
ldr r1, _080F9864 @ =gUnknown_3005450 ldr r1, _080F9864 @ =gUnknown_3005450
movs r0, 0 movs r0, 0
str r0, [r1] str r0, [r1]
bx lr bx lr
.align 2, 0 .align 2, 0
_080F9864: .4byte gUnknown_3005450 _080F9864: .4byte gUnknown_3005450
thumb_func_end sub_80F985C thumb_func_end Rfu_set_zero
thumb_func_start sub_80F9868 thumb_func_start sub_80F9868
sub_80F9868: @ 80F9868 sub_80F9868: @ 80F9868
@@ -2444,12 +2444,12 @@ _080F9914:
beq _080F9924 beq _080F9924
b _080F9BF8 b _080F9BF8
_080F9924: _080F9924:
ldr r1, _080F9948 @ =gUnknown_3003ED2 ldr r1, _080F9948 @ =gRecvCmds + 2
adds r0, r2, r1 adds r0, r2, r1
ldrh r0, [r0] ldrh r0, [r0]
ldr r3, _080F993C @ =gUnknown_3005450 ldr r3, _080F993C @ =gUnknown_3005450
strb r0, [r3, 0xD] strb r0, [r3, 0xD]
ldr r4, _080F994C @ =gUnknown_3003ED4 ldr r4, _080F994C @ =gRecvCmds + 4
adds r0, r2, r4 adds r0, r2, r4
bl sub_80F9770 bl sub_80F9770
ldr r1, _080F9950 @ =gUnknown_3005DD6 ldr r1, _080F9950 @ =gUnknown_3005DD6
@@ -2459,8 +2459,8 @@ _080F9924:
_080F993C: .4byte gUnknown_3005450 _080F993C: .4byte gUnknown_3005450
_080F9940: .4byte gReceivedRemoteLinkPlayers _080F9940: .4byte gReceivedRemoteLinkPlayers
_080F9944: .4byte gUnknown_3007460 _080F9944: .4byte gUnknown_3007460
_080F9948: .4byte gUnknown_3003ED2 _080F9948: .4byte gRecvCmds + 2
_080F994C: .4byte gUnknown_3003ED4 _080F994C: .4byte gRecvCmds + 4
_080F9950: .4byte gUnknown_3005DD6 _080F9950: .4byte gUnknown_3005DD6
_080F9954: _080F9954:
ldr r2, _080F99AC @ =gUnknown_3005450 ldr r2, _080F99AC @ =gUnknown_3005450
@@ -2484,13 +2484,13 @@ _080F9974:
adds r0, 0x80 adds r0, 0x80
movs r2, 0 movs r2, 0
strh r4, [r0] strh r4, [r0]
ldr r1, _080F99B0 @ =gUnknown_3003ED2 ldr r1, _080F99B0 @ =gRecvCmds + 2
adds r0, r5, r1 adds r0, r5, r1
ldrh r0, [r0] ldrh r0, [r0]
adds r1, r3, 0 adds r1, r3, 0
adds r1, 0x82 adds r1, 0x82
strh r0, [r1] strh r0, [r1]
ldr r1, _080F99B4 @ =gUnknown_3003ED4 ldr r1, _080F99B4 @ =gRecvCmds + 4
adds r0, r5, r1 adds r0, r5, r1
ldrh r1, [r0] ldrh r1, [r0]
adds r0, r3, 0 adds r0, r3, 0
@@ -2510,8 +2510,8 @@ _080F9974:
b _080F9BF8 b _080F9BF8
.align 2, 0 .align 2, 0
_080F99AC: .4byte gUnknown_3005450 _080F99AC: .4byte gUnknown_3005450
_080F99B0: .4byte gUnknown_3003ED2 _080F99B0: .4byte gRecvCmds + 2
_080F99B4: .4byte gUnknown_3003ED4 _080F99B4: .4byte gRecvCmds + 4
_080F99B8: _080F99B8:
ldr r4, _080F9A88 @ =gUnknown_3005450 ldr r4, _080F9A88 @ =gUnknown_3005450
mov r9, r4 mov r9, r4
@@ -2597,7 +2597,7 @@ _080F9A4C:
mov r1, r8 mov r1, r8
lsls r0, r1, 24 lsls r0, r1, 24
lsrs r0, 24 lsrs r0, 24
bl sub_80F9720 bl Rfu_SetBlockReceivedFlag
bl sub_80F9800 bl sub_80F9800
ldrb r1, [r0, 0xA] ldrb r1, [r0, 0xA]
movs r0, 0x7F movs r0, 0x7F
@@ -2628,7 +2628,7 @@ _080F9A94: .4byte gUnknown_843EBD4
_080F9A98: .4byte gReceivedRemoteLinkPlayers _080F9A98: .4byte gReceivedRemoteLinkPlayers
_080F9A9C: _080F9A9C:
ldr r2, _080F9AB8 @ =gUnknown_843EC64 ldr r2, _080F9AB8 @ =gUnknown_843EC64
ldr r3, _080F9ABC @ =gUnknown_3003ED2 ldr r3, _080F9ABC @ =gRecvCmds + 2
adds r0, r5, r3 adds r0, r5, r3
ldrh r1, [r0] ldrh r1, [r0]
lsls r1, 3 lsls r1, 3
@@ -2637,11 +2637,11 @@ _080F9A9C:
adds r2, 0x4 adds r2, 0x4
adds r1, r2 adds r1, r2
ldrh r1, [r1] ldrh r1, [r1]
bl sub_80F9E60 bl Rfu_InitBlockSend
b _080F9BF4 b _080F9BF4
.align 2, 0 .align 2, 0
_080F9AB8: .4byte gUnknown_843EC64 _080F9AB8: .4byte gUnknown_843EC64
_080F9ABC: .4byte gUnknown_3003ED2 _080F9ABC: .4byte gRecvCmds + 2
_080F9AC0: _080F9AC0:
ldr r1, _080F9ACC @ =gUnknown_3005534 ldr r1, _080F9ACC @ =gUnknown_3005534
add r1, r8 add r1, r8
@@ -2655,7 +2655,7 @@ _080F9AD0:
movs r4, 0x80 movs r4, 0x80
lsls r4, 1 lsls r4, 1
adds r0, r2, r4 adds r0, r2, r4
ldr r3, _080F9AFC @ =gUnknown_3003ED2 ldr r3, _080F9AFC @ =gRecvCmds + 2
adds r1, r5, r3 adds r1, r5, r3
ldrh r0, [r0] ldrh r0, [r0]
mov r6, r8 mov r6, r8
@@ -2673,7 +2673,7 @@ _080F9AEA:
b _080F9BF8 b _080F9BF8
.align 2, 0 .align 2, 0
_080F9AF8: .4byte gUnknown_3005450 _080F9AF8: .4byte gUnknown_3005450
_080F9AFC: .4byte gUnknown_3003ED2 _080F9AFC: .4byte gRecvCmds + 2
_080F9B00: _080F9B00:
ldr r7, _080F9B4C @ =gUnknown_3005450 ldr r7, _080F9B4C @ =gUnknown_3005450
ldrb r2, [r7, 0xC] ldrb r2, [r7, 0xC]
@@ -2685,7 +2685,7 @@ _080F9B00:
adds r6, 0x1 adds r6, 0x1
cmp r0, 0 cmp r0, 0
beq _080F9BF8 beq _080F9BF8
ldr r0, _080F9B54 @ =gUnknown_3003ED2 ldr r0, _080F9B54 @ =gRecvCmds + 2
adds r4, r5, r0 adds r4, r5, r0
ldrh r1, [r4] ldrh r1, [r4]
ldr r0, _080F9B58 @ =gUnknown_3007460 ldr r0, _080F9B58 @ =gUnknown_3007460
@@ -2696,7 +2696,7 @@ _080F9B00:
beq _080F9B38 beq _080F9B38
strb r2, [r3] strb r2, [r3]
bl sub_80FEB14 bl sub_80FEB14
ldr r1, _080F9B5C @ =gUnknown_3003ED4 ldr r1, _080F9B5C @ =gRecvCmds + 4
adds r0, r5, r1 adds r0, r5, r1
ldrh r1, [r0] ldrh r1, [r0]
ldr r2, _080F9B60 @ =0x0000099c ldr r2, _080F9B60 @ =0x0000099c
@@ -2714,21 +2714,21 @@ _080F9B38:
.align 2, 0 .align 2, 0
_080F9B4C: .4byte gUnknown_3005450 _080F9B4C: .4byte gUnknown_3005450
_080F9B50: .4byte gReceivedRemoteLinkPlayers _080F9B50: .4byte gReceivedRemoteLinkPlayers
_080F9B54: .4byte gUnknown_3003ED2 _080F9B54: .4byte gRecvCmds + 2
_080F9B58: .4byte gUnknown_3007460 _080F9B58: .4byte gUnknown_3007460
_080F9B5C: .4byte gUnknown_3003ED4 _080F9B5C: .4byte gRecvCmds + 4
_080F9B60: .4byte 0x0000099c _080F9B60: .4byte 0x0000099c
_080F9B64: .4byte gRecvCmds _080F9B64: .4byte gRecvCmds
_080F9B68: _080F9B68:
movs r0, 0xEE movs r0, 0xEE
lsls r0, 8 lsls r0, 8
bl sub_80F9D04 bl sub_80F9D04
ldr r1, _080F9B90 @ =gUnknown_3003F50 ldr r1, _080F9B90 @ =gSendCmd
ldr r3, _080F9B94 @ =gUnknown_3003ED2 ldr r3, _080F9B94 @ =gRecvCmds + 2
adds r0, r5, r3 adds r0, r5, r3
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1, 0x2] strh r0, [r1, 0x2]
ldr r4, _080F9B98 @ =gUnknown_3003ED4 ldr r4, _080F9B98 @ =gRecvCmds + 4
adds r0, r5, r4 adds r0, r5, r4
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1, 0x4] strh r0, [r1, 0x4]
@@ -2739,9 +2739,9 @@ _080F9B68:
strh r0, [r1, 0x6] strh r0, [r1, 0x6]
b _080F9BF4 b _080F9BF4
.align 2, 0 .align 2, 0
_080F9B90: .4byte gUnknown_3003F50 _080F9B90: .4byte gSendCmd
_080F9B94: .4byte gUnknown_3003ED2 _080F9B94: .4byte gRecvCmds + 2
_080F9B98: .4byte gUnknown_3003ED4 _080F9B98: .4byte gRecvCmds + 4
_080F9B9C: .4byte gRecvCmds _080F9B9C: .4byte gRecvCmds
_080F9BA0: _080F9BA0:
ldr r4, _080F9BD0 @ =gUnknown_3005450 ldr r4, _080F9BD0 @ =gUnknown_3005450
@@ -2752,13 +2752,13 @@ _080F9BA0:
bne _080F9C34 bne _080F9C34
ldr r0, _080F9BD4 @ =0x0000099b ldr r0, _080F9BD4 @ =0x0000099b
adds r2, r4, r0 adds r2, r4, r0
ldr r1, _080F9BD8 @ =gUnknown_3003ED2 ldr r1, _080F9BD8 @ =gRecvCmds + 2
adds r3, r5, r1 adds r3, r5, r1
ldrb r1, [r3] ldrb r1, [r3]
ldrb r0, [r2] ldrb r0, [r2]
orrs r0, r1 orrs r0, r1
strb r0, [r2] strb r0, [r2]
ldr r2, _080F9BDC @ =gUnknown_3003ED4 ldr r2, _080F9BDC @ =gRecvCmds + 4
adds r0, r5, r2 adds r0, r5, r2
ldrh r1, [r0] ldrh r1, [r0]
ldr r2, _080F9BE0 @ =0x0000099c ldr r2, _080F9BE0 @ =0x0000099c
@@ -2770,15 +2770,15 @@ _080F9BA0:
.align 2, 0 .align 2, 0
_080F9BD0: .4byte gUnknown_3005450 _080F9BD0: .4byte gUnknown_3005450
_080F9BD4: .4byte 0x0000099b _080F9BD4: .4byte 0x0000099b
_080F9BD8: .4byte gUnknown_3003ED2 _080F9BD8: .4byte gRecvCmds + 2
_080F9BDC: .4byte gUnknown_3003ED4 _080F9BDC: .4byte gRecvCmds + 4
_080F9BE0: .4byte 0x0000099c _080F9BE0: .4byte 0x0000099c
_080F9BE4: _080F9BE4:
ldr r0, _080F9C24 @ =gUnknown_3003E60 ldr r0, _080F9C24 @ =gLinkPartnersHeldKeys
mov r3, r8 mov r3, r8
lsls r1, r3, 1 lsls r1, r3, 1
adds r1, r0 adds r1, r0
ldr r4, _080F9C28 @ =gUnknown_3003ED2 ldr r4, _080F9C28 @ =gRecvCmds + 2
adds r0, r5, r4 adds r0, r5, r4
ldrh r0, [r0] ldrh r0, [r0]
strh r0, [r1] strh r0, [r1]
@@ -2808,8 +2808,8 @@ _080F9BF8:
strb r1, [r2] strb r1, [r2]
b _080F9C34 b _080F9C34
.align 2, 0 .align 2, 0
_080F9C24: .4byte gUnknown_3003E60 _080F9C24: .4byte gLinkPartnersHeldKeys
_080F9C28: .4byte gUnknown_3003ED2 _080F9C28: .4byte gRecvCmds + 2
_080F9C2C: .4byte gUnknown_3005450 _080F9C2C: .4byte gUnknown_3005450
_080F9C30: _080F9C30:
adds r0, 0x1 adds r0, 0x1
@@ -2909,8 +2909,8 @@ sub_80F9CB4: @ 80F9CB4
bx lr bx lr
thumb_func_end sub_80F9CB4 thumb_func_end sub_80F9CB4
thumb_func_start sub_80F9CC8 thumb_func_start Rfu_GetBlockReceivedStatus
sub_80F9CC8: @ 80F9CC8 Rfu_GetBlockReceivedStatus: @ 80F9CC8
push {r4,lr} push {r4,lr}
movs r2, 0 movs r2, 0
movs r1, 0 movs r1, 0
@@ -2942,14 +2942,14 @@ _080F9CEE:
bx r1 bx r1
.align 2, 0 .align 2, 0
_080F9D00: .4byte gUnknown_3005450 _080F9D00: .4byte gUnknown_3005450
thumb_func_end sub_80F9CC8 thumb_func_end Rfu_GetBlockReceivedStatus
thumb_func_start sub_80F9D04 thumb_func_start sub_80F9D04
sub_80F9D04: @ 80F9D04 sub_80F9D04: @ 80F9D04
push {r4,r5,lr} push {r4,r5,lr}
lsls r0, 16 lsls r0, 16
lsrs r1, r0, 16 lsrs r1, r0, 16
ldr r5, _080F9D34 @ =gUnknown_3003F50 ldr r5, _080F9D34 @ =gSendCmd
strh r1, [r5] strh r1, [r5]
movs r0, 0xF0 movs r0, 0xF0
lsls r0, 7 lsls r0, 7
@@ -2970,7 +2970,7 @@ sub_80F9D04: @ 80F9D04
beq _080F9DFC beq _080F9DFC
b _080F9E22 b _080F9E22
.align 2, 0 .align 2, 0
_080F9D34: .4byte gUnknown_3003F50 _080F9D34: .4byte gSendCmd
_080F9D38: _080F9D38:
movs r0, 0xCC movs r0, 0xCC
lsls r0, 7 lsls r0, 7
@@ -3087,7 +3087,7 @@ _080F9E00:
.align 2, 0 .align 2, 0
_080F9E18: .4byte gUnknown_3005542 _080F9E18: .4byte gUnknown_3005542
_080F9E1C: _080F9E1C:
ldr r0, _080F9E28 @ =gUnknown_3005028 ldr r0, _080F9E28 @ =gHeldKeyCodeToSend
ldrh r0, [r0] ldrh r0, [r0]
_080F9E20: _080F9E20:
strh r0, [r5, 0x2] strh r0, [r5, 0x2]
@@ -3096,14 +3096,14 @@ _080F9E22:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080F9E28: .4byte gUnknown_3005028 _080F9E28: .4byte gHeldKeyCodeToSend
thumb_func_end sub_80F9D04 thumb_func_end sub_80F9D04
thumb_func_start sub_80F9E2C thumb_func_start sub_80F9E2C
sub_80F9E2C: @ 80F9E2C sub_80F9E2C: @ 80F9E2C
push {r4,lr} push {r4,lr}
adds r4, r0, 0 adds r4, r0, 0
ldr r0, _080F9E58 @ =gUnknown_3003F50 ldr r0, _080F9E58 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080F9E52 bne _080F9E52
@@ -3122,12 +3122,12 @@ _080F9E52:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080F9E58: .4byte gUnknown_3003F50 _080F9E58: .4byte gSendCmd
_080F9E5C: .4byte gUnknown_3005542 _080F9E5C: .4byte gUnknown_3005542
thumb_func_end sub_80F9E2C thumb_func_end sub_80F9E2C
thumb_func_start sub_80F9E60 thumb_func_start Rfu_InitBlockSend
sub_80F9E60: @ 80F9E60 Rfu_InitBlockSend: @ 80F9E60
push {r4-r7,lr} push {r4-r7,lr}
mov r7, r9 mov r7, r9
mov r6, r8 mov r6, r8
@@ -3146,7 +3146,7 @@ _080F9E7C:
ldr r0, [r5] ldr r0, [r5]
cmp r0, 0 cmp r0, 0
bne _080F9EA4 bne _080F9EA4
ldr r0, _080F9EB8 @ =gUnknown_3003F50 ldr r0, _080F9EB8 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080F9EA4 bne _080F9EA4
@@ -3170,7 +3170,7 @@ _080F9EA8: .4byte gUnknown_843ED94
_080F9EAC: .4byte 0x00000701 _080F9EAC: .4byte 0x00000701
_080F9EB0: .4byte gUnknown_843EDD8 _080F9EB0: .4byte gUnknown_843EDD8
_080F9EB4: .4byte gUnknown_3005450 _080F9EB4: .4byte gUnknown_3005450
_080F9EB8: .4byte gUnknown_3003F50 _080F9EB8: .4byte gSendCmd
_080F9EBC: .4byte gUnknown_203AC08 _080F9EBC: .4byte gUnknown_203AC08
_080F9EC0: _080F9EC0:
adds r0, r6, 0 adds r0, r6, 0
@@ -3235,12 +3235,12 @@ _080F9F2A:
_080F9F38: .4byte gBlockSendBuffer _080F9F38: .4byte gBlockSendBuffer
_080F9F3C: .4byte gUnknown_3005450 _080F9F3C: .4byte gUnknown_3005450
_080F9F40: .4byte rfufunc_80F9F44 _080F9F40: .4byte rfufunc_80F9F44
thumb_func_end sub_80F9E60 thumb_func_end Rfu_InitBlockSend
thumb_func_start rfufunc_80F9F44 thumb_func_start rfufunc_80F9F44
rfufunc_80F9F44: @ 80F9F44 rfufunc_80F9F44: @ 80F9F44
push {r4,r5,lr} push {r4,r5,lr}
ldr r0, _080F9F74 @ =gUnknown_3003F50 ldr r0, _080F9F74 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080F9F98 bne _080F9F98
@@ -3263,7 +3263,7 @@ rfufunc_80F9F44: @ 80F9F44
bls _080F9F98 bls _080F9F98
b _080F9F94 b _080F9F94
.align 2, 0 .align 2, 0
_080F9F74: .4byte gUnknown_3003F50 _080F9F74: .4byte gSendCmd
_080F9F78: .4byte gUnknown_3005450 _080F9F78: .4byte gUnknown_3005450
_080F9F7C: _080F9F7C:
bl GetMultiplayerId bl GetMultiplayerId
@@ -3295,7 +3295,7 @@ sub_80F9FA8: @ 80F9FA8
ldr r0, _080FA014 @ =gUnknown_3005450 ldr r0, _080FA014 @ =gUnknown_3005450
mov r12, r0 mov r12, r0
ldr r5, [r0, 0x70] ldr r5, [r0, 0x70]
ldr r3, _080FA018 @ =gUnknown_3003F50 ldr r3, _080FA018 @ =gSendCmd
mov r2, r12 mov r2, r12
adds r2, 0x6C adds r2, 0x6C
ldrh r1, [r2] ldrh r1, [r2]
@@ -3348,7 +3348,7 @@ _080FA00C:
bx r0 bx r0
.align 2, 0 .align 2, 0
_080FA014: .4byte gUnknown_3005450 _080FA014: .4byte gUnknown_3005450
_080FA018: .4byte gUnknown_3003F50 _080FA018: .4byte gSendCmd
_080FA01C: .4byte rfufunc_80FA020 _080FA01C: .4byte rfufunc_80FA020
thumb_func_end sub_80F9FA8 thumb_func_end sub_80F9FA8
@@ -3367,7 +3367,7 @@ rfufunc_80FA020: @ 80FA020
ldrb r0, [r5, 0xC] ldrb r0, [r5, 0xC]
cmp r0, 0 cmp r0, 0
bne _080FA0E8 bne _080FA0E8
ldr r3, _080FA0CC @ =gUnknown_3003F50 ldr r3, _080FA0CC @ =gSendCmd
adds r2, r5, 0 adds r2, r5, 0
adds r2, 0x6E adds r2, 0x6E
ldrh r0, [r2] ldrh r0, [r2]
@@ -3439,7 +3439,7 @@ _080FA05C:
b _080FA0EC b _080FA0EC
.align 2, 0 .align 2, 0
_080FA0C8: .4byte gUnknown_3005450 _080FA0C8: .4byte gUnknown_3005450
_080FA0CC: .4byte gUnknown_3003F50 _080FA0CC: .4byte gSendCmd
_080FA0D0: .4byte 0xffff8900 _080FA0D0: .4byte 0xffff8900
_080FA0D4: .4byte gRecvCmds _080FA0D4: .4byte gRecvCmds
_080FA0D8: .4byte gUnknown_843EBD4 _080FA0D8: .4byte gUnknown_843EBD4
@@ -3624,7 +3624,7 @@ _080FA220: .4byte sub_80FA160
thumb_func_start sub_80FA224 thumb_func_start sub_80FA224
sub_80FA224: @ 80FA224 sub_80FA224: @ 80FA224
push {r4,lr} push {r4,lr}
ldr r0, _080FA250 @ =gUnknown_3003F50 ldr r0, _080FA250 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA248 bne _080FA248
@@ -3645,7 +3645,7 @@ _080FA248:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080FA250: .4byte gUnknown_3003F50 _080FA250: .4byte gSendCmd
_080FA254: .4byte gUnknown_3005450 _080FA254: .4byte gUnknown_3005450
_080FA258: .4byte sub_80FA1C4 _080FA258: .4byte sub_80FA1C4
thumb_func_end sub_80FA224 thumb_func_end sub_80FA224
@@ -3789,7 +3789,7 @@ sub_80FA350: @ 80FA350
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA372 bne _080FA372
ldr r0, _080FA380 @ =gUnknown_3003F50 ldr r0, _080FA380 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA372 bne _080FA372
@@ -3805,7 +3805,7 @@ _080FA372:
.align 2, 0 .align 2, 0
_080FA378: .4byte gUnknown_3005450 _080FA378: .4byte gUnknown_3005450
_080FA37C: .4byte 0x0000069e _080FA37C: .4byte 0x0000069e
_080FA380: .4byte gUnknown_3003F50 _080FA380: .4byte gSendCmd
_080FA384: .4byte sub_80FA2B0 _080FA384: .4byte sub_80FA2B0
thumb_func_end sub_80FA350 thumb_func_end sub_80FA350
@@ -3822,7 +3822,7 @@ sub_80FA388: @ 80FA388
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA416 bne _080FA416
ldr r0, _080FA3BC @ =gUnknown_3003F50 ldr r0, _080FA3BC @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA416 bne _080FA416
@@ -3834,7 +3834,7 @@ sub_80FA388: @ 80FA388
.align 2, 0 .align 2, 0
_080FA3B4: .4byte gUnknown_3005450 _080FA3B4: .4byte gUnknown_3005450
_080FA3B8: .4byte 0x0000069e _080FA3B8: .4byte 0x0000069e
_080FA3BC: .4byte gUnknown_3003F50 _080FA3BC: .4byte gSendCmd
_080FA3C0: .4byte sub_80FA2B0 _080FA3C0: .4byte sub_80FA2B0
_080FA3C4: _080FA3C4:
bl GetLinkPlayerCount bl GetLinkPlayerCount
@@ -3869,7 +3869,7 @@ _080FA3F2:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA416 bne _080FA416
ldr r0, _080FA424 @ =gUnknown_3003F50 ldr r0, _080FA424 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA416 bne _080FA416
@@ -3886,7 +3886,7 @@ _080FA416:
.align 2, 0 .align 2, 0
_080FA41C: .4byte gUnknown_3005450 _080FA41C: .4byte gUnknown_3005450
_080FA420: .4byte 0x0000069e _080FA420: .4byte 0x0000069e
_080FA424: .4byte gUnknown_3003F50 _080FA424: .4byte gSendCmd
_080FA428: .4byte sub_80FA350 _080FA428: .4byte sub_80FA350
thumb_func_end sub_80FA388 thumb_func_end sub_80FA388
@@ -4003,17 +4003,17 @@ _080FA4E6:
bx r1 bx r1
thumb_func_end rfu_get_multiplayer_id thumb_func_end rfu_get_multiplayer_id
thumb_func_start sub_80FA4EC thumb_func_start GetRfuPlayerCount
sub_80FA4EC: @ 80FA4EC GetRfuPlayerCount: @ 80FA4EC
ldr r0, _080FA4F4 @ =gUnknown_3005450 ldr r0, _080FA4F4 @ =gUnknown_3005450
ldrb r0, [r0, 0xD] ldrb r0, [r0, 0xD]
bx lr bx lr
.align 2, 0 .align 2, 0
_080FA4F4: .4byte gUnknown_3005450 _080FA4F4: .4byte gUnknown_3005450
thumb_func_end sub_80FA4EC thumb_func_end GetRfuPlayerCount
thumb_func_start IsNoOneConnected thumb_func_start IsRfuTaskFinished
IsNoOneConnected: @ 80FA4F8 IsRfuTaskFinished: @ 80FA4F8
push {lr} push {lr}
movs r1, 0 movs r1, 0
ldr r0, _080FA50C @ =gUnknown_3005450 ldr r0, _080FA50C @ =gUnknown_3005450
@@ -4027,7 +4027,7 @@ _080FA506:
bx r1 bx r1
.align 2, 0 .align 2, 0
_080FA50C: .4byte gUnknown_3005450 _080FA50C: .4byte gUnknown_3005450
thumb_func_end IsNoOneConnected thumb_func_end IsRfuTaskFinished
thumb_func_start sub_80FA510 thumb_func_start sub_80FA510
sub_80FA510: @ 80FA510 sub_80FA510: @ 80FA510
@@ -4540,7 +4540,7 @@ _080FA8D8:
.align 2, 0 .align 2, 0
_080FA8E8: .4byte gTasks _080FA8E8: .4byte gTasks
_080FA8EC: _080FA8EC:
ldr r0, _080FA8FC @ =gUnknown_3003F50 ldr r0, _080FA8FC @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
bne _080FA9BC bne _080FA9BC
@@ -4549,7 +4549,7 @@ _080FA8F4:
strh r0, [r4, 0x8] strh r0, [r4, 0x8]
b _080FA9BC b _080FA9BC
.align 2, 0 .align 2, 0
_080FA8FC: .4byte gUnknown_3003F50 _080FA8FC: .4byte gSendCmd
_080FA900: _080FA900:
ldrb r0, [r5, 0xD] ldrb r0, [r5, 0xD]
b _080FA92C b _080FA92C
@@ -4590,7 +4590,7 @@ _080FA940:
bl sub_800B110 bl sub_800B110
lsls r0, r4, 24 lsls r0, r4, 24
lsrs r0, 24 lsrs r0, 24
bl sub_80F974C bl Rfu_ResetBlockReceivedFlag
adds r4, 0x1 adds r4, 0x1
ldrb r2, [r5, 0xD] ldrb r2, [r5, 0xD]
cmp r4, r2 cmp r4, r2
@@ -4831,7 +4831,7 @@ _080FAB0C:
.4byte _080FABEE .4byte _080FABEE
.4byte _080FAC78 .4byte _080FAC78
_080FAB24: _080FAB24:
ldr r0, _080FAB40 @ =gUnknown_3003F50 ldr r0, _080FAB40 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _080FAB2E beq _080FAB2E
@@ -4844,9 +4844,9 @@ _080FAB2E:
bl sub_80F9D04 bl sub_80F9D04
b _080FAC2E b _080FAC2E
.align 2, 0 .align 2, 0
_080FAB40: .4byte gUnknown_3003F50 _080FAB40: .4byte gSendCmd
_080FAB44: _080FAB44:
ldr r0, _080FAB58 @ =gUnknown_3003F50 ldr r0, _080FAB58 @ =gSendCmd
ldrh r0, [r0] ldrh r0, [r0]
cmp r0, 0 cmp r0, 0
beq _080FAB4E beq _080FAB4E
@@ -4857,7 +4857,7 @@ _080FAB4E:
adds r1, r3 adds r1, r3
b _080FAC36 b _080FAC36
.align 2, 0 .align 2, 0
_080FAB58: .4byte gUnknown_3003F50 _080FAB58: .4byte gSendCmd
_080FAB5C: _080FAB5C:
bl GetBlockReceivedStatus bl GetBlockReceivedStatus
lsls r0, 24 lsls r0, 24
@@ -5159,7 +5159,7 @@ sub_80FAD98: @ 80FAD98
movs r0, 0x2 movs r0, 0x2
strb r0, [r1] strb r0, [r1]
_080FADC0: _080FADC0:
ldr r4, _080FAE24 @ =c2_800ACD4 ldr r4, _080FAE24 @ =CB2_LinkError
adds r0, r4, 0 adds r0, r4, 0
bl SetMainCallback2 bl SetMainCallback2
str r4, [r6, 0x8] str r4, [r6, 0x8]
@@ -5201,7 +5201,7 @@ _080FAE14: .4byte gUnknown_3005E10
_080FAE18: .4byte gMain _080FAE18: .4byte gMain
_080FAE1C: .4byte c2_mystery_gift_e_reader_run _080FAE1C: .4byte c2_mystery_gift_e_reader_run
_080FAE20: .4byte gWirelessCommType _080FAE20: .4byte gWirelessCommType
_080FAE24: .4byte c2_800ACD4 _080FAE24: .4byte CB2_LinkError
_080FAE28: .4byte 0x0000069e _080FAE28: .4byte 0x0000069e
_080FAE2C: .4byte 0x000008d2 _080FAE2C: .4byte 0x000008d2
_080FAE30: _080FAE30:
@@ -6812,14 +6812,14 @@ sub_80FBA1C: @ 80FBA1C
_080FBA28: .4byte gUnknown_3005450 _080FBA28: .4byte gUnknown_3005450
thumb_func_end sub_80FBA1C thumb_func_end sub_80FBA1C
thumb_func_start sub_80FBA2C thumb_func_start Rfu_IsMaster
sub_80FBA2C: @ 80FBA2C Rfu_IsMaster: @ 80FBA2C
ldr r0, _080FBA34 @ =gUnknown_3005450 ldr r0, _080FBA34 @ =gUnknown_3005450
ldrb r0, [r0, 0xC] ldrb r0, [r0, 0xC]
bx lr bx lr
.align 2, 0 .align 2, 0
_080FBA34: .4byte gUnknown_3005450 _080FBA34: .4byte gUnknown_3005450
thumb_func_end sub_80FBA2C thumb_func_end Rfu_IsMaster
thumb_func_start RFUVSync thumb_func_start RFUVSync
RFUVSync: @ 80FBA38 RFUVSync: @ 80FBA38
@@ -6866,7 +6866,7 @@ sub_80FBA78: @ 80FBA78
bl ResetPaletteFade bl ResetPaletteFade
ldr r0, _080FBAF4 @ =sub_80FBA64 ldr r0, _080FBAF4 @ =sub_80FBA64
bl SetVBlankCallback bl SetVBlankCallback
bl sub_8009480 bl IsWirelessAdapterConnected
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _080FBAEC beq _080FBAEC
@@ -7269,7 +7269,7 @@ sub_80FBDB8: @ 80FBDB8
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
ldr r6, _080FBE10 @ =gUnknown_3003F50 ldr r6, _080FBE10 @ =gSendCmd
ldrh r0, [r6] ldrh r0, [r6]
cmp r0, 0 cmp r0, 0
bne _080FBE08 bne _080FBE08
@@ -7309,7 +7309,7 @@ _080FBE08:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080FBE10: .4byte gUnknown_3003F50 _080FBE10: .4byte gSendCmd
_080FBE14: .4byte gUnknown_3005450 _080FBE14: .4byte gUnknown_3005450
_080FBE18: .4byte gTasks _080FBE18: .4byte gTasks
_080FBE1C: .4byte gUnknown_843EC41 _080FBE1C: .4byte gUnknown_843EC41
@@ -8105,8 +8105,8 @@ _080FC458: .4byte gUnknown_3005450
_080FC45C: .4byte 0x000008d2 _080FC45C: .4byte 0x000008d2
thumb_func_end sub_80FC44C thumb_func_end sub_80FC44C
thumb_func_start sub_80FC460 thumb_func_start GetRfuRecvQueueLength
sub_80FC460: @ 80FC460 GetRfuRecvQueueLength: @ 80FC460
ldr r0, _080FC46C @ =gUnknown_3005450 ldr r0, _080FC46C @ =gUnknown_3005450
ldr r1, _080FC470 @ =0x0000069e ldr r1, _080FC470 @ =0x0000069e
adds r0, r1 adds r0, r1
@@ -8115,7 +8115,7 @@ sub_80FC460: @ 80FC460
.align 2, 0 .align 2, 0
_080FC46C: .4byte gUnknown_3005450 _080FC46C: .4byte gUnknown_3005450
_080FC470: .4byte 0x0000069e _080FC470: .4byte 0x0000069e
thumb_func_end sub_80FC460 thumb_func_end GetRfuRecvQueueLength
thumb_func_start nullsub_89 thumb_func_start nullsub_89
nullsub_89: @ 80FC474 nullsub_89: @ 80FC474
@@ -9184,7 +9184,7 @@ _080FCB88:
ands r4, r1 ands r4, r1
orrs r4, r0 orrs r4, r0
strb r4, [r7] strb r4, [r7]
bl sub_806E25C bl IsNationalPokedexEnabled
ands r0, r6 ands r0, r6
ldrb r1, [r7, 0x1] ldrb r1, [r7, 0x1]
ands r5, r1 ands r5, r1
+3 -3
View File
@@ -948,7 +948,7 @@ _0800CAEE:
movs r0, 0 movs r0, 0
b _0800CB22 b _0800CB22
_0800CAF2: _0800CAF2:
bl sub_8009480 bl IsWirelessAdapterConnected
lsls r0, 24 lsls r0, 24
lsrs r5, r0, 24 lsrs r5, r0, 24
cmp r5, 0 cmp r5, 0
@@ -1227,7 +1227,7 @@ sub_800CCF8: @ 800CCF8
beq _0800CD44 beq _0800CD44
movs r0, 0x5 movs r0, 0x5
bl PlaySE bl PlaySE
bl sub_8009480 bl IsWirelessAdapterConnected
movs r0, 0x1 movs r0, 0x1
negs r0, r0 negs r0, r0
movs r1, 0 movs r1, 0
@@ -1500,7 +1500,7 @@ sub_800CF3C: @ 800CF3C
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x1 cmp r0, 0x1
bne _0800CFAE bne _0800CFAE
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
beq _0800CF64 beq _0800CF64
movs r0, 0x1 movs r0, 0x1
+21 -21
View File
@@ -5640,16 +5640,16 @@ c1_link_related: @ 8057884
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0805789E beq _0805789E
bl sub_80F90DC bl IsRfuRecvQueueEmpty
cmp r0, 0 cmp r0, 0
beq _0805789E beq _0805789E
bl sub_800A00C bl IsSendingKeysToLink
cmp r0, 0 cmp r0, 0
bne _080578C0 bne _080578C0
_0805789E: _0805789E:
ldr r0, _080578CC @ =gUnknown_300502C ldr r0, _080578CC @ =gUnknown_300502C
ldrb r4, [r0] ldrb r4, [r0]
ldr r0, _080578D0 @ =gUnknown_3003E60 ldr r0, _080578D0 @ =gLinkPartnersHeldKeys
adds r1, r4, 0 adds r1, r4, 0
bl sub_8057BE4 bl sub_8057BE4
ldr r0, _080578D4 @ =gUnknown_3000E84 ldr r0, _080578D4 @ =gUnknown_3000E84
@@ -5667,7 +5667,7 @@ _080578C0:
.align 2, 0 .align 2, 0
_080578C8: .4byte gWirelessCommType _080578C8: .4byte gWirelessCommType
_080578CC: .4byte gUnknown_300502C _080578CC: .4byte gUnknown_300502C
_080578D0: .4byte gUnknown_3003E60 _080578D0: .4byte gLinkPartnersHeldKeys
_080578D4: .4byte gUnknown_3000E84 _080578D4: .4byte gUnknown_3000E84
thumb_func_end c1_link_related thumb_func_end c1_link_related
@@ -5686,12 +5686,12 @@ _080578E8: .4byte sub_8057D5C
thumb_func_start sub_80578EC thumb_func_start sub_80578EC
sub_80578EC: @ 80578EC sub_80578EC: @ 80578EC
push {lr} push {lr}
ldr r0, _080578F8 @ =gUnknown_3003E60 ldr r0, _080578F8 @ =gLinkPartnersHeldKeys
bl sub_8057D48 bl sub_8057D48
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_080578F8: .4byte gUnknown_3003E60 _080578F8: .4byte gLinkPartnersHeldKeys
thumb_func_end sub_80578EC thumb_func_end sub_80578EC
thumb_func_start c1_link_related_func_set thumb_func_start c1_link_related_func_set
@@ -6126,14 +6126,14 @@ sub_8057C4C: @ 8057C4C
lsrs r0, 16 lsrs r0, 16
cmp r0, 0xC cmp r0, 0xC
bhi _08057C6C bhi _08057C6C
ldr r0, _08057C68 @ =gUnknown_3005028 ldr r0, _08057C68 @ =gHeldKeyCodeToSend
strh r4, [r0] strh r4, [r0]
b _08057C72 b _08057C72
.align 2, 0 .align 2, 0
_08057C64: .4byte 0xffef0000 _08057C64: .4byte 0xffef0000
_08057C68: .4byte gUnknown_3005028 _08057C68: .4byte gHeldKeyCodeToSend
_08057C6C: _08057C6C:
ldr r1, _08057CB0 @ =gUnknown_3005028 ldr r1, _08057CB0 @ =gHeldKeyCodeToSend
movs r0, 0x11 movs r0, 0x11
strh r0, [r1] strh r0, [r1]
_08057C72: _08057C72:
@@ -6147,7 +6147,7 @@ _08057C72:
bl IsUpdateLinkStateCBActive bl IsUpdateLinkStateCBActive
cmp r0, 0x1 cmp r0, 0x1
bne _08057CA8 bne _08057CA8
bl sub_800A00C bl IsSendingKeysToLink
cmp r0, 0x1 cmp r0, 0x1
bne _08057CA8 bne _08057CA8
cmp r4, 0x11 cmp r4, 0x11
@@ -6159,7 +6159,7 @@ _08057C72:
cmp r4, 0x18 cmp r4, 0x18
blt _08057CA8 blt _08057CA8
_08057CA2: _08057CA2:
ldr r1, _08057CB0 @ =gUnknown_3005028 ldr r1, _08057CB0 @ =gHeldKeyCodeToSend
movs r0, 0 movs r0, 0
strh r0, [r1] strh r0, [r1]
_08057CA8: _08057CA8:
@@ -6167,7 +6167,7 @@ _08057CA8:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_08057CB0: .4byte gUnknown_3005028 _08057CB0: .4byte gHeldKeyCodeToSend
_08057CB4: .4byte gWirelessCommType _08057CB4: .4byte gWirelessCommType
thumb_func_end sub_8057C4C thumb_func_end sub_8057C4C
@@ -6289,7 +6289,7 @@ sub_8057D5C: @ 8057D5C
movs r0, 0x11 movs r0, 0x11
b _08057D92 b _08057D92
_08057D70: _08057D70:
bl sub_800B248 bl GetLinkRecvQueueLength
cmp r0, 0x4 cmp r0, 0x4
bls _08057D7C bls _08057D7C
movs r0, 0x1B movs r0, 0x1B
@@ -6344,7 +6344,7 @@ _08057DC4: .4byte sub_8057D98
thumb_func_start sub_8057DC8 thumb_func_start sub_8057DC8
sub_8057DC8: @ 8057DC8 sub_8057DC8: @ 8057DC8
push {r4,lr} push {r4,lr}
bl sub_800B248 bl GetLinkRecvQueueLength
movs r4, 0x11 movs r4, 0x11
cmp r0, 0x2 cmp r0, 0x2
bhi _08057DE0 bhi _08057DE0
@@ -6982,7 +6982,7 @@ sub_8058244: @ 8058244
movs r0, 0 movs r0, 0
b _0805826C b _0805826C
_08058252: _08058252:
bl sub_800B248 bl GetLinkRecvQueueLength
cmp r0, 0x2 cmp r0, 0x2
bls _08058264 bls _08058264
ldr r1, _08058260 @ =gUnknown_3000E88 ldr r1, _08058260 @ =gUnknown_3000E88
@@ -7006,13 +7006,13 @@ _08058270: .4byte gUnknown_3000E88
thumb_func_start sub_8058274 thumb_func_start sub_8058274
sub_8058274: @ 8058274 sub_8058274: @ 8058274
push {lr} push {lr}
bl sub_800B248 bl GetLinkRecvQueueLength
cmp r0, 0x1 cmp r0, 0x1
bls _080582D8 bls _080582D8
bl IsUpdateLinkStateCBActive bl IsUpdateLinkStateCBActive
cmp r0, 0x1 cmp r0, 0x1
bne _080582D8 bne _080582D8
bl sub_800A00C bl IsSendingKeysToLink
cmp r0, 0x1 cmp r0, 0x1
bne _080582D8 bne _080582D8
ldr r0, _080582C4 @ =gUnknown_3000E84 ldr r0, _080582C4 @ =gUnknown_3000E84
@@ -7065,7 +7065,7 @@ sub_80582E0: @ 80582E0
bl IsUpdateLinkStateCBActive bl IsUpdateLinkStateCBActive
cmp r0, 0x1 cmp r0, 0x1
bne _08058304 bne _08058304
bl sub_800A00C bl IsSendingKeysToLink
cmp r0, 0x1 cmp r0, 0x1
bne _08058304 bne _08058304
ldr r0, _08058308 @ =gUnknown_3000E84 ldr r0, _08058308 @ =gUnknown_3000E84
@@ -7093,7 +7093,7 @@ sub_8058318: @ 8058318
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
bne _08058334 bne _08058334
bl sub_800A00C bl IsSendingKeysToLink
cmp r0, 0 cmp r0, 0
beq _08058334 beq _08058334
movs r0, 0x1 movs r0, 0x1
@@ -7114,14 +7114,14 @@ sub_805833C: @ 805833C
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
bne _0805835C bne _0805835C
ldr r0, _08058354 @ =gUnknown_3003FB0 ldr r0, _08058354 @ =gLink
ldr r1, _08058358 @ =0x00000339 ldr r1, _08058358 @ =0x00000339
adds r0, r1 adds r0, r1
ldrb r0, [r0] ldrb r0, [r0]
b _08058364 b _08058364
.align 2, 0 .align 2, 0
_08058350: .4byte gWirelessCommType _08058350: .4byte gWirelessCommType
_08058354: .4byte gUnknown_3003FB0 _08058354: .4byte gLink
_08058358: .4byte 0x00000339 _08058358: .4byte 0x00000339
_0805835C: _0805835C:
ldr r0, _08058368 @ =gUnknown_3005450 ldr r0, _08058368 @ =gUnknown_3005450
+1 -1
View File
@@ -16284,7 +16284,7 @@ _08126C20: .4byte 0x0000ffff
thumb_func_start sub_8126C24 thumb_func_start sub_8126C24
sub_8126C24: @ 8126C24 sub_8126C24: @ 8126C24
push {lr} push {lr}
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
bne _08126C60 bne _08126C60
ldr r0, _08126C54 @ =gUnknown_203B0A0 ldr r0, _08126C54 @ =gUnknown_203B0A0
+7 -7
View File
@@ -49,7 +49,7 @@ sub_810250C: @ 810250C
mov r6, r8 mov r6, r8
push {r6} push {r6}
sub sp, 0xC sub sp, 0xC
bl sub_806E25C bl IsNationalPokedexEnabled
lsls r0, 24 lsls r0, 24
lsrs r6, r0, 24 lsrs r6, r0, 24
bl m4aSoundVSyncOff bl m4aSoundVSyncOff
@@ -594,7 +594,7 @@ _081029D0:
adds r1, 0x62 adds r1, 0x62
movs r2, 0 movs r2, 0
bl ListMenuGetScrollAndRow bl ListMenuGetScrollAndRow
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
beq _081029F4 beq _081029F4
ldr r0, _081029F0 @ =gUnknown_84520E4 ldr r0, _081029F0 @ =gUnknown_84520E4
@@ -915,7 +915,7 @@ sub_8102C28: @ 8102C28
bl AddWindow bl AddWindow
ldr r1, [r7] ldr r1, [r7]
strb r0, [r1, 0x16] strb r0, [r1, 0x16]
bl sub_806E25C bl IsNationalPokedexEnabled
adds r5, r0, 0 adds r5, r0, 0
cmp r5, 0 cmp r5, 0
bne _08102C9E bne _08102C9E
@@ -1904,7 +1904,7 @@ sub_8103518: @ 8103518
sub sp, 0x4 sub sp, 0x4
lsls r0, 24 lsls r0, 24
lsrs r4, r0, 24 lsrs r4, r0, 24
bl sub_806E25C bl IsNationalPokedexEnabled
movs r1, 0x97 movs r1, 0x97
str r1, [sp] str r1, [sp]
cmp r0, 0 cmp r0, 0
@@ -5594,7 +5594,7 @@ sub_81052D0: @ 81052D0
sub sp, 0x8 sub sp, 0x8
lsls r0, 24 lsls r0, 24
lsrs r6, r0, 24 lsrs r6, r0, 24
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
beq _081052E8 beq _081052E8
ldr r0, _081052E4 @ =gUnknown_84406E0 ldr r0, _081052E4 @ =gUnknown_84406E0
@@ -8137,7 +8137,7 @@ sub_8106810: @ 8106810
push {r4,lr} push {r4,lr}
lsls r0, 16 lsls r0, 16
lsrs r4, r0, 16 lsrs r4, r0, 16
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0x1 cmp r0, 0x1
beq _08106830 beq _08106830
adds r0, r4, 0 adds r0, r4, 0
@@ -8609,7 +8609,7 @@ sub_8106B60: @ 8106B60
movs r1, 0x3 movs r1, 0x3
movs r2, 0x1 movs r2, 0x1
bl sub_8104AB0 bl sub_8104AB0
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
bne _08106BA4 bne _08106BA4
adds r0, r5, 0 adds r0, r5, 0
+1 -1
View File
@@ -55,7 +55,7 @@ _080F8024:
.align 2, 0 .align 2, 0
_080F8030: .4byte gSaveBlock2Ptr _080F8030: .4byte gSaveBlock2Ptr
_080F8034: _080F8034:
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
beq _080F8044 beq _080F8044
movs r0, 0x1 movs r0, 0x1
+8 -8
View File
@@ -334,7 +334,7 @@ _0804C8F0: .4byte gUnknown_2031DA8
_0804C8F4: _0804C8F4:
bl GetLinkPlayerCount_2 bl GetLinkPlayerCount_2
adds r4, r0, 0 adds r4, r0, 0
bl sub_800A944 bl GetSavedPlayerCount
lsls r4, 24 lsls r4, 24
lsls r0, 24 lsls r0, 24
cmp r4, r0 cmp r4, r0
@@ -422,7 +422,7 @@ _0804C9B0:
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0804C9E8 beq _0804C9E8
bl IsNoOneConnected bl IsRfuTaskFinished
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
bne _0804C9C4 bne _0804C9C4
@@ -1832,7 +1832,7 @@ sub_804D5A4: @ 804D5A4
ldrb r0, [r0] ldrb r0, [r0]
cmp r0, 0 cmp r0, 0
beq _0804D5FC beq _0804D5FC
bl IsNoOneConnected bl IsRfuTaskFinished
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _0804D620 beq _0804D620
@@ -6443,7 +6443,7 @@ _0804FA2C:
cmp r5, r7 cmp r5, r7
blt _0804FA2C blt _0804FA2C
_0804FA4E: _0804FA4E:
bl sub_806E25C bl IsNationalPokedexEnabled
mov r1, r9 mov r1, r9
lsls r4, r1, 2 lsls r4, r1, 2
cmp r0, 0 cmp r0, 0
@@ -7179,7 +7179,7 @@ _0804FF7A:
cmp r1, r0 cmp r1, r0
bls _0804FFAC bls _0804FFAC
bl CloseLink bl CloseLink
ldr r0, _0804FFC0 @ =c2_800ACD4 ldr r0, _0804FFC0 @ =CB2_LinkError
bl SetMainCallback2 bl SetMainCallback2
ldr r1, [r4] ldr r1, [r4]
adds r3, r1, 0 adds r3, r1, 0
@@ -7203,7 +7203,7 @@ _0804FFAC:
pop {r0} pop {r0}
bx r0 bx r0
.align 2, 0 .align 2, 0
_0804FFC0: .4byte c2_800ACD4 _0804FFC0: .4byte CB2_LinkError
thumb_func_end sub_804FF4C thumb_func_end sub_804FF4C
thumb_func_start sub_804FFC4 thumb_func_start sub_804FFC4
@@ -7557,7 +7557,7 @@ _080502A8:
_080502B4: _080502B4:
bl GetLinkPlayerCount_2 bl GetLinkPlayerCount_2
adds r4, r0, 0 adds r4, r0, 0
bl sub_800A944 bl GetSavedPlayerCount
lsls r4, 24 lsls r4, 24
lsls r0, 24 lsls r0, 24
cmp r4, r0 cmp r4, r0
@@ -14745,7 +14745,7 @@ _0805434C:
ldr r0, _08054378 @ =sub_804C718 ldr r0, _08054378 @ =sub_804C718
cmp r1, r0 cmp r1, r0
bne _08054384 bne _08054384
bl IsNoOneConnected bl IsRfuTaskFinished
lsls r0, 24 lsls r0, 24
cmp r0, 0 cmp r0, 0
beq _08054396 beq _08054396
+1 -1
View File
@@ -2039,7 +2039,7 @@ _0808A0DC: .4byte gUnknown_8419CE7
thumb_func_start sub_808A0E0 thumb_func_start sub_808A0E0
sub_808A0E0: @ 808A0E0 sub_808A0E0: @ 808A0E0
push {lr} push {lr}
bl sub_806E25C bl IsNationalPokedexEnabled
cmp r0, 0 cmp r0, 0
bne _0808A0F2 bne _0808A0F2
movs r0, 0x1 movs r0, 0x1
BIN
View File
Binary file not shown.
+35
View File
@@ -0,0 +1,35 @@
gLinkPartnersHeldKeys
gLinkDebugSeed
gLocalLinkPlayerBlock
gLinkErrorOccurred
gLinkDebugFlags
gFiller_3003EB4
gRemoteLinkPlayersNotReceived
gBlockReceivedStatus
gFiller_3003EC0
gLinkHeldKeys
gRecvCmds
gLinkStatus
gUnknown_3003F24
gUnknown_3003F28
gUnknown_3003F2C
gUnknown_3003F30
gUnknown_3003F34
gSuppressLinkErrorMessage
gWirelessCommType
gSavedLinkPlayerCount
gSendCmd
gSavedMultiplayerId
gReceivedRemoteLinkPlayers
gLinkTestBGInfo
gLinkCallback
gShouldAdvanceLinkState
gLinkTestBlockChecksums
gBlockRequestType
gFiller_3003F94
gFiller_3003F98
gFiller_3003F9C
gLastSendQueueCount
gLink
gLastRecvQueueCount
gLinkSavedIme
+6 -35
View File
@@ -6,43 +6,14 @@
.section .rodata .section .rodata
.align 2 .align 2, 0
gUnknown_8231EC4:: @ 8231EC4 gUnknown_8234614::
.incbin "baserom.gba", 0x231EC4, 0x20 .string "$"
.align 2 gUnknown_8234615::
gWirelessLinkDisplay4bpp:: @ 8231EE4 .string "\n$"
.incbin "graphics/interface/wireless_link_display.4bpp.lz"
.align 2
gWirelessLinkDisplayBin:: @ 823238C
.incbin "graphics/interface/wireless_link_display.bin.lz"
.align 2
gUnknown_8232578:: @ 8232578
.incbin "baserom.gba", 0x232578, 0x20
gUnknown_8232598:: @ 8232598
.incbin "baserom.gba", 0x232598, 0x2000
gUnknown_8234598:: @ 8234598
.incbin "baserom.gba", 0x234598, 0x28
gUnknown_82345C0:: @ 82345C0
.incbin "baserom.gba", 0x2345C0, 0x10
gUnknown_82345D0:: @ 82345D0
.incbin "baserom.gba", 0x2345D0, 0x18
gUnknown_82345E8:: @ 82345E8
.incbin "baserom.gba", 0x2345E8, 0x8
gUnknown_82345F0:: @ 82345F0
.incbin "baserom.gba", 0x2345F0, 0x20
gUnknown_8234610:: @ 8234610
.incbin "baserom.gba", 0x234610, 0x8
.align 2, 0
gUnknown_8234618:: @ 8234618 gUnknown_8234618:: @ 8234618
.incbin "baserom.gba", 0x234618, 0x8 .incbin "baserom.gba", 0x234618, 0x8
+1 -1
View File
@@ -1492,7 +1492,7 @@ EventScript_1A651A:: @ 81A651A
clearflag FLAG_0x09D clearflag FLAG_0x09D
call EventScript_1A6551 call EventScript_1A6551
special sub_81130A8 special sub_81130A8
specialvar VAR_RESULT, sub_806E25C specialvar VAR_RESULT, IsNationalPokedexEnabled
compare_var_to_value VAR_RESULT, 0 compare_var_to_value VAR_RESULT, 0
call_if 1, EventScript_1A653B call_if 1, EventScript_1A653B
call EventScript_1A6541 call EventScript_1A6541
@@ -5,7 +5,7 @@ IndigoPlateau_PokemonCenter_1F_MapScripts:: @ 816EA5A
IndigoPlateau_PokemonCenter_1F_MapScript1_16EA65:: @ 816EA65 IndigoPlateau_PokemonCenter_1F_MapScript1_16EA65:: @ 816EA65
setrespawn SPAWN_INDIGO_PLATEAU setrespawn SPAWN_INDIGO_PLATEAU
specialvar VAR_RESULT, sub_806E25C specialvar VAR_RESULT, IsNationalPokedexEnabled
compare_var_to_value VAR_RESULT, 1 compare_var_to_value VAR_RESULT, 1
call_if 1, EventScript_16EA79 call_if 1, EventScript_16EA79
end end
@@ -19,7 +19,7 @@ EventScript_16EA79:: @ 816EA79
IndigoPlateau_PokemonCenter_1F_EventScript_16EA8A:: @ 816EA8A IndigoPlateau_PokemonCenter_1F_EventScript_16EA8A:: @ 816EA8A
lock lock
faceplayer faceplayer
specialvar VAR_RESULT, sub_806E25C specialvar VAR_RESULT, IsNationalPokedexEnabled
compare_var_to_value VAR_RESULT, 1 compare_var_to_value VAR_RESULT, 1
goto_if_eq EventScript_16EAA6 goto_if_eq EventScript_16EAA6
msgbox gUnknown_819A8D8 msgbox gUnknown_819A8D8
@@ -220,7 +220,7 @@ OneIsland_PokemonCenter_1F_EventScript_170EC5:: @ 8170EC5
goto_if_eq EventScript_171044 goto_if_eq EventScript_171044
compare_var_to_value VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4 compare_var_to_value VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4
goto_if_eq EventScript_1710F2 goto_if_eq EventScript_1710F2
specialvar VAR_RESULT, sub_806E25C specialvar VAR_RESULT, IsNationalPokedexEnabled
compare_var_to_value VAR_RESULT, 1 compare_var_to_value VAR_RESULT, 1
goto_if_eq EventScript_1710FC goto_if_eq EventScript_1710FC
compare_var_to_value VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 3 compare_var_to_value VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 3
@@ -4,7 +4,7 @@ ThreeIsland_DunsparceTunnel_MapScripts:: @ 8164D26
ThreeIsland_DunsparceTunnel_MapScript1_164D2C:: @ 8164D2C ThreeIsland_DunsparceTunnel_MapScript1_164D2C:: @ 8164D2C
setworldmapflag FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL setworldmapflag FLAG_WORLD_MAP_THREE_ISLAND_DUNSPARCE_TUNNEL
specialvar VAR_RESULT, sub_806E25C specialvar VAR_RESULT, IsNationalPokedexEnabled
copyvar VAR_0x8008, VAR_RESULT copyvar VAR_0x8008, VAR_RESULT
compare_var_to_value VAR_0x8008, 1 compare_var_to_value VAR_0x8008, 1
call_if 1, EventScript_164D50 call_if 1, EventScript_164D50
@@ -26,7 +26,7 @@ ThreeIsland_DunsparceTunnel_EventScript_164D60:: @ 8164D60
faceplayer faceplayer
checkflag FLAG_0x2E2 checkflag FLAG_0x2E2
goto_if_eq EventScript_164DC2 goto_if_eq EventScript_164DC2
specialvar VAR_RESULT, sub_806E25C specialvar VAR_RESULT, IsNationalPokedexEnabled
compare_var_to_value VAR_RESULT, 1 compare_var_to_value VAR_RESULT, 1
goto_if_eq EventScript_164D90 goto_if_eq EventScript_164D90
msgbox gUnknown_817D13B msgbox gUnknown_817D13B
+2 -2
View File
@@ -371,7 +371,7 @@ gSpecials:: @ 815FD60
def_special sub_80CC2BC def_special sub_80CC2BC
def_special sub_80CC3CC def_special sub_80CC3CC
def_special sub_80CC524 def_special sub_80CC524
def_special sub_8009480 def_special IsWirelessAdapterConnected
def_special sub_8115A24 def_special sub_8115A24
def_special BerryBlenderLinkJoinGroup def_special BerryBlenderLinkJoinGroup
def_special UnionRoomSpecial def_special UnionRoomSpecial
@@ -412,7 +412,7 @@ gSpecials:: @ 815FD60
def_special sub_812B35C def_special sub_812B35C
def_special Special_SSAnneDepartureCutscene def_special Special_SSAnneDepartureCutscene
def_special sub_8149A18 def_special sub_8149A18
def_special sub_806E25C def_special IsNationalPokedexEnabled
def_special sub_815D9E8 def_special sub_815D9E8
def_special sub_814B504 def_special sub_814B504
def_special sub_80CC8CC def_special sub_80CC8CC
+5 -5
View File
@@ -3714,22 +3714,22 @@ gUnknown_841DE9B:: @ 841DE9B
gUnknown_841DE9C:: @ 841DE9C gUnknown_841DE9C:: @ 841DE9C
.string "$" .string "$"
gUnknown_841DE9D:: @ 841DE9D gText_CommErrorCheckConnections:: @ 841DE9D
.string "Communication error\n" .string "Communication error\n"
.string "Please check all connections,\n" .string "Please check all connections,\n"
.string "then turn the power OFF and ON.$" .string "then turn the power OFF and ON.$"
gUnknown_841DEF0:: @ 841DEF0 gText_CommErrorEllipsis:: @ 841DEF0
.string "Communication error$" .string "Communication error$"
gUnknown_841DF05:: @ 841DF05 gText_MoveCloserToLinkPartner:: @ 841DF05
.string "Move closer to your link partner(s).\n" .string "Move closer to your link partner(s).\n"
.string "Avoid obstacles between partners.$" .string "Avoid obstacles between partners.$"
gUnknown_841DF4C:: @ 841DF4C gText_ABtnRegistrationCounter:: @ 841DF4C
.string "A Button: Registration Counter$" .string "A Button: Registration Counter$"
gUnknown_841DF6B:: @ 841DF6B gText_ABtnTitleScreen:: @ 841DF6B
.string "A Button: Title Screen$" .string "A Button: Title Screen$"
gUnknown_841DF82:: @ 841DF82 gUnknown_841DF82:: @ 841DF82
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

+6
View File
@@ -0,0 +1,6 @@
#ifndef GUARD_BG_REGS_H
#define GUARD_BG_REGS_H
extern const u8 gBGControlRegOffsets[];
#endif //GUARD_BG_REGS_H
+1 -2
View File
@@ -36,9 +36,8 @@ bool32 sub_806E2BC(void);
void sub_806E6FC(void); void sub_806E6FC(void);
void sub_806E2D0(void); void sub_806E2D0(void);
void sub_806E370(void); void sub_806E370(void);
bool32 sub_806E25C(void); bool32 IsNationalPokedexEnabled(void);
void sub_806E190(void); void sub_806E190(void);
extern u16 gSpecialVar_0x8000; extern u16 gSpecialVar_0x8000;
extern u16 gSpecialVar_0x8001; extern u16 gSpecialVar_0x8001;
extern u16 gSpecialVar_0x8002; extern u16 gSpecialVar_0x8002;
+137 -4
View File
@@ -1,3 +1,6 @@
#ifndef GUARD_LIBRFU_H
#define GUARD_LIBRFU_H
#include "main.h" #include "main.h"
enum enum
@@ -116,8 +119,8 @@ struct RfuStruct
void (*callbackM)(); void (*callbackM)();
void (*callbackS)(); void (*callbackS)();
u32 callbackID; u32 callbackID;
union RfuPacket *txPacket; union RfuPacket * txPacket;
union RfuPacket *rxPacket; union RfuPacket * rxPacket;
vu8 unk_2c; vu8 unk_2c;
u8 padding[3]; u8 padding[3];
}; };
@@ -130,6 +133,136 @@ struct RfuIntrStruct
u8 block2[0x30]; u8 block2[0x30];
}; };
extern struct RfuStruct *gRfuState; struct RfuUnk1
{
u16 unk_0;
u8 unk_2;
u8 unk_3;
u8 fill_4[14];
u8 unk_12;
u32 unk_14;
u32 unk_18;
struct RfuIntrStruct unk_1c;
};
void STWI_init_all(struct RfuIntrStruct *interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam); struct RfuUnk2
{
u16 unk_0;
u16 unk_2;
u8 fill_4[0x16];
u8 unk_1a;
u8 fill_1b[0x19];
u16 unk_34;
u16 unk_36;
u8 fill_38[0x16];
u8 unk_4e;
u8 fill_4f[0x12];
u8 unk_61;
u8 fill_62[6];
void *unk_68;
void *unk_6c;
u8 unk_70[0x70];
};
struct RfuUnk3
{
u32 unk_0;
u32 unk_4;
u8 unk_8[0xD4];
u32 unk_dc;
};
struct RfuUnk5Sub
{
u16 unk_00;
u8 unk_02;
u16 unk_04;
struct UnkLinkRfuStruct_02022B14 unk_06;
u8 fill_13[1];
u8 playerName[PLAYER_NAME_LENGTH + 1];
};
struct RfuUnk5
{
u8 unk_00;
u8 unk_01;
u8 unk_02;
u8 unk_03;
u8 unk_04;
u8 unk_05;
u8 unk_06;
u8 unk_07;
u8 unk_08;
u8 filler_09[1];
u8 unk_0a[4];
u8 filler_0e[6];
struct RfuUnk5Sub unk_14[4];
};
extern struct RfuStruct * gRfuState;
extern struct RfuUnk5 * gUnknown_3007460;
extern u32 *gUnknown_3007464;
extern struct RfuUnk3 * gUnknown_3007468;
extern struct RfuUnk2 * gUnknown_3007450[4];
extern struct RfuUnk1 * gUnknown_3007440[4];
extern struct {
u8 unk0;
u8 unk1;
u16 unk2;
u16 unk4;
u8 fill6[4];
u16 unkA;
} gUnknown_3007470;
extern void rfu_STC_clearAPIVariables(void);
void STWI_init_all(struct RfuIntrStruct * interruptStruct, IntrFunc *interrupt, bool8 copyInterruptToRam);
void rfu_REQ_stopMode(void);
void rfu_waitREQComplete(void);
u32 rfu_REQBN_softReset_and_checkID(void);
void rfu_REQ_sendData(u8);
void rfu_setMSCCallback(void (*func)(u16));
void rfu_setREQCallback(void (*func)(u16, u16));
bool8 rfu_getMasterSlave(void);
void rfu_REQBN_watchLink(u16 a0, u8 *a1, u8 *a2, u8 *a3);
bool16 rfu_syncVBlank(void);
void rfu_REQ_reset(void);
void rfu_REQ_configSystem(u16, u8, u8);
void rfu_REQ_configGameData(u8, u16, struct UnkLinkRfuStruct_02022B14 *, u8 *);
void rfu_REQ_startSearchChild(void);
void rfu_REQ_pollSearchChild(void);
void rfu_REQ_endSearchChild(void);
void rfu_REQ_startSearchParent(void);
void rfu_REQ_pollSearchParent(void);
void rfu_REQ_endSearchParent(void);
void rfu_REQ_startConnectParent(u16);
void rfu_REQ_pollConnectParent(void);
void rfu_REQ_endConnectParent(void);
void rfu_REQ_CHILD_startConnectRecovery(u8);
void rfu_REQ_CHILD_pollConnectRecovery(void);
void rfu_REQ_CHILD_endConnectRecovery(void);
void rfu_REQ_changeMasterSlave(void);
void rfu_REQ_RFUStatus(void);
void rfu_getRFUStatus(u8 *status);
u8 *rfu_getSTWIRecvBuffer(void);
u8 rfu_NI_CHILD_setSendGameName(u8 a0, u8 a1);
void rfu_clearSlot(u8 a0, u8 a1);
void rfu_clearAllSlot(void);
bool16 rfu_CHILD_getConnectRecoveryStatus(u8 *status);
bool16 rfu_getConnectParentStatus(u8 *status, u8 *a1);
bool16 rfu_UNI_PARENT_getDRAC_ACK(u8 *a0);
void rfu_REQ_disconnect(u8 who);
void rfu_changeSendTarget(u8 a0, u8 who, u8 a2);
void rfu_NI_stopReceivingData(u8 who);
u16 rfu_initializeAPI(u32 *unk0, u16 unk1, IntrFunc *interrupt, bool8 copyInterruptToRam);
void rfu_setTimerInterrupt(u8 which, IntrFunc *intr);
void rfu_setRecvBuffer(u8 a0, u8 a1, void *a2, size_t a3);
bool16 rfu_UNI_setSendData(u8 flag, void *ptr, u8 size);
void rfu_REQ_recvData(void);
void rfu_UNI_readySendData(u8 a0);
void rfu_UNI_clearRecvNewDataFlag(u8 a0);
void rfu_REQ_PARENT_resumeRetransmitAndChange(void);
void rfu_NI_setSendData(u8, u8, const void *, u32);
#endif // GUARD_LIBRFU_H
+50 -9
View File
@@ -9,6 +9,9 @@
#define QUEUE_CAPACITY 50 #define QUEUE_CAPACITY 50
#define BLOCK_BUFFER_SIZE 0x100 #define BLOCK_BUFFER_SIZE 0x100
#define LINK_SLAVE 0
#define LINK_MASTER 8
#define LINK_STAT_LOCAL_ID 0x00000003 #define LINK_STAT_LOCAL_ID 0x00000003
#define LINK_STAT_PLAYER_COUNT 0x0000001C #define LINK_STAT_PLAYER_COUNT 0x0000001C
#define LINK_STAT_PLAYER_COUNT_SHIFT 2 #define LINK_STAT_PLAYER_COUNT_SHIFT 2
@@ -18,7 +21,23 @@
#define LINK_STAT_CONN_ESTABLISHED_SHIFT 6 #define LINK_STAT_CONN_ESTABLISHED_SHIFT 6
#define LINK_STAT_RECEIVED_NOTHING 0x00000100 #define LINK_STAT_RECEIVED_NOTHING 0x00000100
#define LINK_STAT_RECEIVED_NOTHING_SHIFT 8 #define LINK_STAT_RECEIVED_NOTHING_SHIFT 8
#define LINK_STAT_UNK_FLAG_9 0x00000200
#define LINK_STAT_UNK_FLAG_9_SHIFT 9
#define LINK_STAT_ERRORS 0x0007F000 #define LINK_STAT_ERRORS 0x0007F000
#define LINK_STAT_ERRORS_SHIFT 12
#define LINK_STAT_ERROR_HARDWARE 0x00001000
#define LINK_STAT_ERROR_HARDWARE_SHIFT 12
#define LINK_STAT_ERROR_CHECKSUM 0x00002000
#define LINK_STAT_ERROR_CHECKSUM_SHIFT 13
#define LINK_STAT_ERROR_QUEUE_FULL 0x00004000
#define LINK_STAT_ERROR_QUEUE_FULL_SHIFT 14
#define LINK_STAT_ERROR_LAG_MASTER 0x00010000
#define LINK_STAT_ERROR_LAG_MASTER_SHIFT 16
#define LINK_STAT_ERROR_INVALID_ID 0x00020000
#define LINK_STAT_ERROR_INVALID_ID_SHIFT 17
#define LINK_STAT_ERROR_LAG_SLAVE 0x00040000
#define LINK_STAT_ERROR_LAG_SLAVE_SHIFT 18
#define EXTRACT_PLAYER_COUNT(status) \ #define EXTRACT_PLAYER_COUNT(status) \
(((status) & LINK_STAT_PLAYER_COUNT) >> LINK_STAT_PLAYER_COUNT_SHIFT) (((status) & LINK_STAT_PLAYER_COUNT) >> LINK_STAT_PLAYER_COUNT_SHIFT)
@@ -28,6 +47,23 @@
(((status) >> LINK_STAT_CONN_ESTABLISHED_SHIFT) & 1) (((status) >> LINK_STAT_CONN_ESTABLISHED_SHIFT) & 1)
#define EXTRACT_RECEIVED_NOTHING(status) \ #define EXTRACT_RECEIVED_NOTHING(status) \
(((status) >> LINK_STAT_RECEIVED_NOTHING_SHIFT) & 1) (((status) >> LINK_STAT_RECEIVED_NOTHING_SHIFT) & 1)
#define EXTRACT_LINK_ERRORS(status) \
(((status) & LINK_STAT_ERRORS) >> LINK_STAT_ERRORS_SHIFT)
#define LINKCMD_SEND_LINK_TYPE 0x2222
#define LINKCMD_0x2FFE 0x2FFE
#define LINKCMD_SEND_HELD_KEYS 0x4444
#define LINKCMD_0x5555 0x5555
#define LINKCMD_0x5566 0x5566
#define LINKCMD_0x5FFF 0x5FFF
#define LINKCMD_0x6666 0x6666
#define LINKCMD_0x7777 0x7777
#define LINKCMD_CONT_BLOCK 0x8888
#define LINKCMD_0xAAAA 0xAAAA
#define LINKCMD_0xAAAB 0xAAAB
#define LINKCMD_INIT_BLOCK 0xBBBB
#define LINKCMD_SEND_HELD_KEYS_2 0xCAFE
#define LINKCMD_0xCCCC 0xCCCC
#define MASTER_HANDSHAKE 0x8FFF #define MASTER_HANDSHAKE 0x8FFF
#define SLAVE_HANDSHAKE 0xB9A0 #define SLAVE_HANDSHAKE 0xB9A0
@@ -47,6 +83,10 @@ enum
EXCHANGE_COMPLETE, EXCHANGE_COMPLETE,
EXCHANGE_TIMED_OUT, EXCHANGE_TIMED_OUT,
EXCHANGE_IN_PROGRESS, EXCHANGE_IN_PROGRESS,
EXCHANGE_STAT_4,
EXCHANGE_STAT_5,
EXCHANGE_STAT_6,
EXCHANGE_STAT_7
}; };
enum enum
@@ -138,7 +178,7 @@ extern u16 gRecvCmds[MAX_RFU_PLAYERS][CMD_LENGTH];
extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE];
extern u16 gLinkType; extern u16 gLinkType;
extern u32 gLinkStatus; extern u32 gLinkStatus;
extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern u16 gBlockRecvBuffer[MAX_RFU_PLAYERS][BLOCK_BUFFER_SIZE / 2];
extern u16 gSendCmd[CMD_LENGTH]; extern u16 gSendCmd[CMD_LENGTH];
extern u8 gShouldAdvanceLinkState; extern u8 gShouldAdvanceLinkState;
extern struct LinkPlayer gLinkPlayers[]; extern struct LinkPlayer gLinkPlayers[];
@@ -147,20 +187,19 @@ extern bool8 gReceivedRemoteLinkPlayers;
extern bool8 gLinkVSyncDisabled; extern bool8 gLinkVSyncDisabled;
extern u8 gWirelessCommType; extern u8 gWirelessCommType;
extern u8 gUnknown_3003F84; extern u8 gShouldAdvanceLinkState;
extern u64 gSioMlt_Recv;
void Task_DestroySelf(u8); void Task_DestroySelf(u8);
void OpenLink(void); void OpenLink(void);
void CloseLink(void); void CloseLink(void);
u16 LinkMain2(u16 *); u16 LinkMain2(const u16 *);
void sub_8007B14(void); void sub_8007B14(void);
bool32 sub_8007B24(void); bool32 sub_8007B24(void);
void ClearLinkCallback(void); void ClearLinkCallback(void);
void ClearLinkCallback_2(void); void ClearLinkCallback_2(void);
u8 GetLinkPlayerCount(void); u8 GetLinkPlayerCount(void);
void OpenLinkTimed(void); void OpenLinkTimed(void);
u8 GetLinkPlayerDataExchangeStatusTimed(void); u8 GetLinkPlayerDataExchangeStatusTimed(int lower, int higher);
bool8 IsLinkPlayerDataExchangeComplete(void); bool8 IsLinkPlayerDataExchangeComplete(void);
u32 GetLinkPlayerTrainerId(u8); u32 GetLinkPlayerTrainerId(u8);
void ResetLinkPlayers(void); void ResetLinkPlayers(void);
@@ -181,7 +220,7 @@ bool8 IsLinkConnectionEstablished(void);
void SetSuppressLinkErrorMessage(bool8); void SetSuppressLinkErrorMessage(bool8);
bool8 HasLinkErrorOccurred(void); bool8 HasLinkErrorOccurred(void);
void ResetSerial(void); void ResetSerial(void);
u32 LinkMain1(u8 *, u16 *, u16[CMD_LENGTH][MAX_LINK_PLAYERS]); u32 LinkMain1(u8 *, u16 *, u16[MAX_RFU_PLAYERS][CMD_LENGTH]);
void RFUVSync(void); void RFUVSync(void);
void Timer3Intr(void); void Timer3Intr(void);
void SerialCB(void); void SerialCB(void);
@@ -203,17 +242,19 @@ void sub_800AAC0(void);
void OpenLink(void); void OpenLink(void);
bool8 IsLinkMaster(void); bool8 IsLinkMaster(void);
void CheckShouldAdvanceLinkState(void); void CheckShouldAdvanceLinkState(void);
void sub_800AA80(u8); void sub_800AA80(u16 a0);
void sub_80098D8(void); void sub_80098D8(void);
void CloseLink(void); void CloseLink(void);
bool8 IsLinkTaskFinished(void); bool8 IsLinkTaskFinished(void);
bool32 sub_800B270(void); bool32 sub_800B270(void);
void sub_800B388(void); void ResetSerial(void);
void sub_8054A28(void); void sub_8054A28(void);
void sub_800B1F4(void); void sub_800B1F4(void);
void LoadWirelessStatusIndicatorSpriteGfx(void); void LoadWirelessStatusIndicatorSpriteGfx(void);
void CreateWirelessStatusIndicatorSprite(u8, u8); void CreateWirelessStatusIndicatorSprite(u8, u8);
void sub_8009FE8(void); void sub_8009FE8(void);
void sub_800A068(void); void ClearLinkCallback_2(void);
void sub_80FA42C(void);
void sub_800B284(struct LinkPlayer * linkPlayer);
#endif // GUARD_LINK_H #endif // GUARD_LINK_H
+21 -1
View File
@@ -11,7 +11,7 @@ bool32 MG_PrintTextOnWindow1AndWaitButton(u8 * cmdPtr, const u8 * src);
void sub_80FA190(void); void sub_80FA190(void);
void MG_DrawCheckerboardPattern(void); void MG_DrawCheckerboardPattern(void);
void task_add_05_task_del_08FA224_when_no_RfuFunc(void); void task_add_05_task_del_08FA224_when_no_RfuFunc(void);
bool8 IsNoOneConnected(void); bool8 IsRfuTaskFinished(void);
void DestroyWirelessStatusIndicatorSprite(void); void DestroyWirelessStatusIndicatorSprite(void);
void MEvent_CreateTask_CardOrNewsWithFriend(u8); void MEvent_CreateTask_CardOrNewsWithFriend(u8);
void MEvent_CreateTask_CardOrNewsOverWireless(u8); void MEvent_CreateTask_CardOrNewsOverWireless(u8);
@@ -19,5 +19,25 @@ void MEvent_CreateTask_Leader(u8);
void sub_80F9E2C(void * data); void sub_80F9E2C(void * data);
u8 sub_8116DE0(void); u8 sub_8116DE0(void);
void sub_80FBB4C(void); void sub_80FBB4C(void);
void sub_80F86F4(void);
void sub_80FB128(bool32 a0);
u32 sub_80FD3A4(void);
bool32 IsSendingKeysToRfu(void);
void Rfu_set_zero(void);
u8 GetRfuPlayerCount(void);
void sub_80F9828(void);
u8 rfu_get_multiplayer_id(void);
bool8 Rfu_InitBlockSend(const void * src, u16 size);
bool8 sub_80FA0F8(u8 a0);
u8 Rfu_GetBlockReceivedStatus(void);
void Rfu_SetBlockReceivedFlag(u8 who);
void Rfu_ResetBlockReceivedFlag(u8 who);
bool8 Rfu_IsMaster(void);
void sub_80F85F8(void);
bool32 sub_80FAE94(void);
bool32 sub_80FAEF0(void);
bool32 IsRfuRecvQueueEmpty(void);
u32 GetRfuRecvQueueLength(void);
void sub_80F8DC0(void);
#endif //GUARD_LINK_RFU_H #endif //GUARD_LINK_RFU_H
+2
View File
@@ -72,4 +72,6 @@ u16 GetGeneratedTrainerIdLower(void);
extern const char RomHeaderGameCode[4]; extern const char RomHeaderGameCode[4];
extern const char RomHeaderSoftwareVersion; extern const char RomHeaderSoftwareVersion;
extern u8 gLinkTransferringData;
#endif // GUARD_MAIN_H #endif // GUARD_MAIN_H
+2
View File
@@ -142,4 +142,6 @@ void ResetGameStats(void);
void Overworld_CreditsMainCB(void); void Overworld_CreditsMainCB(void);
bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd *, u8); bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd *, u8);
bool32 sub_8058318(void);
#endif //GUARD_OVERWORLD_H #endif //GUARD_OVERWORLD_H
+7
View File
@@ -329,4 +329,11 @@ extern const u8 gText_ItemfinderResponding[];
extern const u8 gText_ItemfinderShakingWildly[]; extern const u8 gText_ItemfinderShakingWildly[];
extern const u8 gText_NopeTheresNoResponse[]; extern const u8 gText_NopeTheresNoResponse[];
// link
extern const u8 gText_CommErrorEllipsis[];
extern const u8 gText_MoveCloserToLinkPartner[];
extern const u8 gText_CommErrorCheckConnections[];
extern const u8 gText_ABtnTitleScreen[];
extern const u8 gText_ABtnRegistrationCounter[];
#endif //GUARD_STRINGS_H #endif //GUARD_STRINGS_H
+6
View File
@@ -0,0 +1,6 @@
#ifndef GUARD_TRADE_H
#define GUARD_TRADE_H
s32 sub_804FB34(void);
#endif //GUARD_TRADE_H
+2 -1
View File
@@ -60,7 +60,7 @@ SECTIONS {
src/text.o(.text); src/text.o(.text);
src/sprite.o(.text); src/sprite.o(.text);
src/string_util.o(.text); src/string_util.o(.text);
asm/link.o(.text); src/link.o(.text);
src/multiboot.o(.text); src/multiboot.o(.text);
asm/main_menu.o(.text); asm/main_menu.o(.text);
src/battle_controllers.o(.text); src/battle_controllers.o(.text);
@@ -379,6 +379,7 @@ SECTIONS {
src/sprite.o(.rodata); src/sprite.o(.rodata);
src/bg_regs.o(.rodata); src/bg_regs.o(.rodata);
src/string_util.o(.rodata); src/string_util.o(.rodata);
src/link.o(.rodata);
data/data.o(.rodata); data/data.o(.rodata);
src/battle_util.o(.rodata); src/battle_util.o(.rodata);
src/battle_script_commands.o(.rodata); src/battle_script_commands.o(.rodata);
+7 -7
View File
@@ -51,7 +51,7 @@ int EReader_Send(size_t r6, const void * r5)
{ {
GetKeyInput(); GetKeyInput();
if (TEST_BUTTON(sJoyNew, B_BUTTON)) if (TEST_BUTTON(sJoyNew, B_BUTTON))
gUnknown_3003F84 = 2; gShouldAdvanceLinkState = 2;
sSendRecvStatus = EReaderHandleTransfer(1, r6, r5, NULL); sSendRecvStatus = EReaderHandleTransfer(1, r6, r5, NULL);
if ((sSendRecvStatus & 0x13) == 0x10) if ((sSendRecvStatus & 0x13) == 0x10)
@@ -71,7 +71,7 @@ int EReader_Send(size_t r6, const void * r5)
} }
else else
{ {
gUnknown_3003F84 = 0; gShouldAdvanceLinkState = 0;
VBlankIntrWait(); VBlankIntrWait();
} }
} }
@@ -90,7 +90,7 @@ int EReader_Recv(void * r5)
{ {
GetKeyInput(); GetKeyInput();
if (TEST_BUTTON(sJoyNew, B_BUTTON)) if (TEST_BUTTON(sJoyNew, B_BUTTON))
gUnknown_3003F84 = 2; gShouldAdvanceLinkState = 2;
sSendRecvStatus = EReaderHandleTransfer(0, 0, NULL, r5); sSendRecvStatus = EReaderHandleTransfer(0, 0, NULL, r5);
if ((sSendRecvStatus & 0x13) == 0x10) if ((sSendRecvStatus & 0x13) == 0x10)
@@ -110,7 +110,7 @@ int EReader_Recv(void * r5)
} }
else else
{ {
gUnknown_3003F84 = 0; gShouldAdvanceLinkState = 0;
VBlankIntrWait(); VBlankIntrWait();
} }
} }
@@ -150,7 +150,7 @@ static void OpenSerial32(void)
REG_RCNT = 0; REG_RCNT = 0;
REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE; REG_SIOCNT = SIO_INTR_ENABLE | SIO_32BIT_MODE;
REG_SIOCNT |= SIO_MULTI_SD; REG_SIOCNT |= SIO_MULTI_SD;
gUnknown_3003F84 = 0; gShouldAdvanceLinkState = 0;
sCounter1 = 0; sCounter1 = 0;
sCounter2 = 0; sCounter2 = 0;
} }
@@ -167,7 +167,7 @@ u16 EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBu
case 1: case 1:
if (DetermineSendRecvState(mode)) if (DetermineSendRecvState(mode))
EnableSio(); EnableSio();
if (gUnknown_3003F84 == 2) if (gShouldAdvanceLinkState == 2)
{ {
sSendRecvMgr.field_04 = 2; sSendRecvMgr.field_04 = 2;
sSendRecvMgr.state = 6; sSendRecvMgr.state = 6;
@@ -179,7 +179,7 @@ u16 EReaderHandleTransfer(u8 mode, size_t size, const void * data, void * recvBu
sSendRecvMgr.state = 3; sSendRecvMgr.state = 3;
// fallthrough // fallthrough
case 3: case 3:
if (gUnknown_3003F84 == 2) if (gShouldAdvanceLinkState == 2)
{ {
sSendRecvMgr.field_04 = 2; sSendRecvMgr.field_04 = 2;
sSendRecvMgr.state = 6; sSendRecvMgr.state = 6;
+1 -1
View File
@@ -654,7 +654,7 @@ static void sub_807E678(u8 taskId)
switch (data[0]) switch (data[0])
{ {
case 0: case 0:
sub_800A068(); ClearLinkCallback_2();
fade_screen(1, 0); fade_screen(1, 0);
sub_8055F88(); sub_8055F88();
PlaySE(SE_KAIDAN); PlaySE(SE_KAIDAN);
+1 -1
View File
@@ -561,7 +561,7 @@ static bool8 sub_80EC62C(void)
} }
break; break;
case 142: case 142:
sub_800B388(); ResetSerial();
SetMainCallback2(sub_80EC5B8); SetMainCallback2(sub_80EC5B8);
break; break;
} }
+2259
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -126,7 +126,7 @@ u8 sub_8143674(struct MEvent_Str_1 *mgr)
resp = 2; resp = 2;
if (mgr->status & 4) if (mgr->status & 4)
resp = 3; resp = 3;
gUnknown_3003F84 = 0; gShouldAdvanceLinkState = 0;
return resp; return resp;
} }
@@ -143,7 +143,7 @@ bool32 sub_81436EC(void)
vu16 imeBak = REG_IME; vu16 imeBak = REG_IME;
u16 data[4]; u16 data[4];
REG_IME = 0; REG_IME = 0;
*(u64 *)data = gSioMlt_Recv; *(u64 *)data = *(u64 *)gLink.tempRecvBuffer;
REG_IME = imeBak; REG_IME = imeBak;
if ( data[0] == 0xB9A0 if ( data[0] == 0xB9A0
&& data[1] == 0xCCD0 && data[1] == 0xCCD0
+2 -2
View File
@@ -1436,7 +1436,7 @@ void task00_mystery_gift(u8 taskId)
} }
break; break;
case 13: case 13:
if (IsNoOneConnected()) if (IsRfuTaskFinished())
{ {
DestroyWirelessStatusIndicatorSprite(); DestroyWirelessStatusIndicatorSprite();
data->state = 14; data->state = 14;
@@ -1712,7 +1712,7 @@ void task00_mystery_gift(u8 taskId)
data->state = 34; data->state = 34;
break; break;
case 34: case 34:
if (IsNoOneConnected()) if (IsRfuTaskFinished())
{ {
DestroyWirelessStatusIndicatorSprite(); DestroyWirelessStatusIndicatorSprite();
data->state = 35; data->state = 35;
+2 -2
View File
@@ -4961,7 +4961,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
if (gEvolutionTable[species][i].param == heldItem) if (gEvolutionTable[species][i].param == heldItem)
{ {
targetSpecies = gEvolutionTable[species][i].targetSpecies; targetSpecies = gEvolutionTable[species][i].targetSpecies;
if (sub_806E25C() || targetSpecies <= 151) if (IsNationalPokedexEnabled() || targetSpecies <= 151)
{ {
heldItem = 0; heldItem = 0;
SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem); SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem);
@@ -5629,7 +5629,7 @@ u16 sub_8043F90(u16 species)
{ {
species = SpeciesToNationalPokedexNum(species); species = SpeciesToNationalPokedexNum(species);
if (!sub_806E25C() && species > 151) if (!IsNationalPokedexEnabled() && species > 151)
return 0xFFFF; return 0xFFFF;
return species; return species;
} }
+1 -1
View File
@@ -33,7 +33,7 @@ u16 Special_GetPokedexCount(void)
gSpecialVar_0x8005 = GetNationalPokedexCount(0); gSpecialVar_0x8005 = GetNationalPokedexCount(0);
gSpecialVar_0x8006 = GetNationalPokedexCount(1); gSpecialVar_0x8006 = GetNationalPokedexCount(1);
} }
return sub_806E25C(); return IsNationalPokedexEnabled();
} }
const u8 * sub_80CA424(u16 count) const u8 * sub_80CA424(u16 count)
+11 -50
View File
@@ -6,58 +6,19 @@
.space 0x4 .space 0x4
.include "src/bg.o"
.include "src/malloc.o"
.include "src/text_printer.o"
.include "src/sprite.o"
.align 2 .align 2
gUnknown_3000E08: @ 3000E08 .include "src/bg.o"
.space 0x10 .align 2
.include "src/malloc.o"
gUnknown_3000E18: @ 3000E18 .align 2
.space 0x30 .include "src/text_printer.o"
.align 2
gUnknown_3000E48: @ 3000E48 .include "src/sprite.o"
.space 0x4 .align 2
.include "src/link.o"
gUnknown_3000E4C: @ 3000E4C .align 2
.space 0x4
gUnknown_3000E50: @ 3000E50
.space 0x4
gUnknown_3000E54: @ 3000E54
.space 0x4
gUnknown_3000E58: @ 3000E58
.space 0x4
gUnknown_3000E5C: @ 3000E5C
.space 0x4
gUnknown_3000E60: @ 3000E60
.space 0x4
gUnknown_3000E64: @ 3000E64
.space 0x1
gUnknown_3000E65: @ 3000E65
.space 0x1
gUnknown_3000E66: @ 3000E66
.space 0x2
gUnknown_3000E68: @ 3000E68
.space 0x2
gUnknown_3000E6A: @ 3000E6A
.space 0x1
gUnknown_3000E6B: @ 3000E6B
.space 0x1
.include "src/multiboot.o" .include "src/multiboot.o"
.align 2
.include "src/daycare.o" .include "src/daycare.o"
gUnknown_3000E78: @ 3000E78 gUnknown_3000E78: @ 3000E78
+2 -100
View File
@@ -4,107 +4,9 @@
.include "window.o" .include "window.o"
.include "text.o" .include "text.o"
.include "sprite.o" .include "sprite.o"
.include "link.o"
.align 4 .align 4
gUnknown_3003E60: @ 3003E60
.space 0xC
gUnknown_3003E6C: @ 3003E6C
.space 0x4
gUnknown_3003E70: @ 3003E70
.space 0x3C
gUnknown_3003EAC: @ 3003EAC
.space 0x4
gUnknown_3003EB0: @ 3003EB0
.space 0x8
gUnknown_3003EB8: @ 3003EB8
.space 0x4
gUnknown_3003EBC: @ 3003EBC
.space 0x8
gUnknown_3003EC4: @ 3003EC4
.space 0xC
gRecvCmds: @ 3003ED0
.space 0x2
gUnknown_3003ED2: @ 3003ED2
.space 0x2
gUnknown_3003ED4: @ 3003ED4
.space 0x4C
gUnknown_3003F20: @ 3003F20
.space 0x4
gUnknown_3003F24: @ 3003F24
.space 0x4
gUnknown_3003F28: @ 3003F28
.space 0x4
gUnknown_3003F2C: @ 3003F2C
.space 0x4
gUnknown_3003F30: @ 3003F30
.space 0x4
gUnknown_3003F34: @ 3003F34
.space 0x4
gUnknown_3003F38: @ 3003F38
.space 0x4
gWirelessCommType: @ 3003F3C
.space 0x4
gUnknown_3003F40: @ 3003F40
.space 0x10
gUnknown_3003F50: @ 3003F50
.space 0x10
gUnknown_3003F60: @ 3003F60
.space 0x4
gReceivedRemoteLinkPlayers: @ 3003F64
.space 0xC
gUnknown_3003F70: @ 3003F70
.space 0x10
gUnknown_3003F80: @ 3003F80
.space 0x4
gUnknown_3003F84: @ 3003F84
.space 0x4
gUnknown_3003F88: @ 3003F88
.space 0x8
gUnknown_3003F90: @ 3003F90
.space 0x10
gUnknown_3003FA0: @ 3003FA0
.space 0x10
gUnknown_3003FB0: @ 3003FB0
.space 0x4
gSioMlt_Recv: @ 3003FB4
.space 0xFBC
gUnknown_3004F70: @ 3004F70
.space 0x4
gUnknown_3004F74: @ 3004F74
.space 0xC
gPreBattleCallback1: @ 3004F80 gPreBattleCallback1: @ 3004F80
.space 0x4 .space 0x4
@@ -151,7 +53,7 @@ gFieldCallback: @ 3005020
gFieldCallback2: @ 3005024 gFieldCallback2: @ 3005024
.space 0x4 .space 0x4
gUnknown_3005028: @ 3005028 gHeldKeyCodeToSend: @ 3005028
.space 0x4 .space 0x4
gUnknown_300502C: @ 300502C gUnknown_300502C: @ 300502C
+2 -50
View File
@@ -13,57 +13,9 @@
.include "src/sprite.o" .include "src/sprite.o"
.align 2 .align 2
.include "src/string_util.o" .include "src/string_util.o"
@ .include "src/link.o"
gLinkTestDebugValuesEnabled: @ 2022110
.space 0x1
gUnknown_2022111: @ 2022111
.space 0x1
.align 2 .align 2
gUnknown_2022114: @ 2022114 .include "src/link.o"
.space 0x4 .space 8
gBlockRecvBuffer: @ 2022118
.space 0x500
gBlockSendBuffer: @ 2022618
.space 0x100
gLinkOpen: @ 2022718
.space 0x1
.align 1
gLinkType: @ 202271A
.space 0x2
gLinkTimeOutCounter: @ 202271C
.space 0x2
.align 2
gLocalLinkPlayer: @ 2022720
.space 0x1C
.align 2
gLinkPlayers: @ 202273C
.space 0x8C
.align 2
gSavedLinkPlayers: @ 20227C8
.space 0x8C
.align 2
sLinkErrorBuffer: @ 2022854
.space 0x8
.align 1
gUnknown_202285C: @ 202285C
.space 0x2
.align 2
gUnknown_2022860: @ 2022860
.space 0xC
@ .include "src/link_rfu.o" @ .include "src/link_rfu.o"
.include "src/battle_controllers.o" .include "src/battle_controllers.o"