summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-12-31 18:30:16 -0600
committerGitHub <noreply@github.com>2020-12-31 18:30:16 -0600
commit87cd9885a9f8b38a76ab6add4a634e2a8a4837ee (patch)
tree9e7e3352cc63bf5665d192c8ebbdfd6032641f74 /asm
parent01ec8edb40c0662863e2fd14395a057be852e060 (diff)
Friend Area Decomp Work (#15)
split out and work on friend area stuff
Diffstat (limited to 'asm')
-rw-r--r--asm/code_800D090.s2
-rw-r--r--asm/code_801D760.s34
-rw-r--r--asm/code_8041AD0.s221
-rw-r--r--asm/code_80521D0.s14
-rw-r--r--asm/code_808EAB0.s6
-rw-r--r--asm/code_8092334.s610
-rw-r--r--asm/code_8095014.s6
-rw-r--r--asm/code_809747C.s2
-rw-r--r--asm/code_809D148.s30
-rw-r--r--asm/event_flag.s28
-rw-r--r--asm/friend_area_1.s209
-rw-r--r--asm/pokemon.s6
-rw-r--r--asm/wonder_mail.s12
13 files changed, 279 insertions, 901 deletions
diff --git a/asm/code_800D090.s b/asm/code_800D090.s
index 77a7b90..a77aeab 100644
--- a/asm/code_800D090.s
+++ b/asm/code_800D090.s
@@ -6345,7 +6345,7 @@ _08010004:
movs r0, 0
b _0801000E
.align 2, 0
-_08010008: .4byte gUnknown_203B468
+_08010008: .4byte gFriendAreas
_0801000C:
movs r0, 0x1
_0801000E:
diff --git a/asm/code_801D760.s b/asm/code_801D760.s
index 4104981..d74e5af 100644
--- a/asm/code_801D760.s
+++ b/asm/code_801D760.s
@@ -20,7 +20,7 @@ sub_801D894:
_0801D8A8: .4byte gUnknown_203B250
_0801D8AC:
ldrb r0, [r1, 0x6]
- bl sub_8092524
+ bl GetFriendAreaName
_0801D8B2:
add r2, sp, 0x68
add r1, sp, 0x4
@@ -7330,7 +7330,7 @@ _080212BC:
bl sub_802132C
lsls r0, 24
lsrs r0, 24
- bl sub_8092544
+ bl GetFriendAreaPrice
ldr r1, _080212E8
ldr r1, [r1]
movs r2, 0x98
@@ -7632,7 +7632,7 @@ _08021502:
movs r2, 0x1
bl sub_8092578
adds r0, r5, 0
- bl sub_8092544
+ bl GetFriendAreaPrice
ldr r1, _08021570
ldr r1, [r1]
movs r5, 0x98
@@ -7694,7 +7694,7 @@ _0802159C:
bl sub_8013800
adds r4, r0, 0
adds r0, r5, 0
- bl sub_8092524
+ bl GetFriendAreaName
adds r2, r0, 0
mov r1, r8
ldr r0, [r1]
@@ -7705,10 +7705,10 @@ _0802159C:
bl xxx_call_draw_string
b _08021632
.align 2, 0
-_080215D4: .4byte gUnknown_203B468
+_080215D4: .4byte gFriendAreas
_080215D8:
adds r0, r5, 0
- bl sub_8092524
+ bl GetFriendAreaName
adds r2, r0, 0
mov r0, r10
ldr r1, _08021608
@@ -7737,7 +7737,7 @@ _0802160C:
bl sub_8013800
adds r4, r0, 0
adds r0, r7, 0
- bl sub_8092524
+ bl GetFriendAreaName
adds r2, r0, 0
mov r5, r8
ldr r0, [r5]
@@ -7821,7 +7821,7 @@ _080216A8:
ble _08021696
b _080216F2
.align 2, 0
-_080216B0: .4byte gUnknown_203B468
+_080216B0: .4byte gFriendAreas
_080216B4:
movs r4, 0x1
adds r6, r1, 0
@@ -7834,7 +7834,7 @@ _080216B8:
bne _080216EC
lsls r0, r4, 24
lsrs r0, 24
- bl sub_8092534
+ bl GetFriendAreaUnlockCondition
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -7861,7 +7861,7 @@ _080216F2:
pop {r1}
bx r1
.align 2, 0
-_080216FC: .4byte gUnknown_203B468
+_080216FC: .4byte gFriendAreas
thumb_func_end sub_8021664
thumb_func_start sub_8021700
@@ -7888,7 +7888,7 @@ _08021716:
ble _08021716
b _0802176A
.align 2, 0
-_08021728: .4byte gUnknown_203B468
+_08021728: .4byte gFriendAreas
_0802172C:
movs r4, 0x1
_0802172E:
@@ -7900,7 +7900,7 @@ _0802172E:
bne _08021764
lsls r0, r4, 24
lsrs r0, 24
- bl sub_8092534
+ bl GetFriendAreaUnlockCondition
lsls r0, 24
lsrs r0, 24
cmp r0, 0
@@ -7909,7 +7909,7 @@ _0802172E:
beq _08021758
b _08021764
.align 2, 0
-_08021750: .4byte gUnknown_203B468
+_08021750: .4byte gFriendAreas
_08021754:
movs r0, 0
b _0802176C
@@ -9188,7 +9188,7 @@ _080221A0: .4byte gUnknown_203B290
_080221A4:
ldr r0, [r4]
ldrb r0, [r0, 0x10]
- bl sub_8092534
+ bl GetFriendAreaUnlockCondition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -9643,7 +9643,7 @@ _080224F8:
subs r0, r1
str r0, [r2]
ldrb r0, [r3, 0x10]
- bl sub_80925EC
+ bl UnlockFriendArea
movs r0, 0xA6
lsls r0, 1
bl sub_8011988
@@ -9690,7 +9690,7 @@ _08022568:
strb r0, [r1, 0x10]
ldr r0, [r4]
ldrb r0, [r0, 0x10]
- bl sub_8092544
+ bl GetFriendAreaPrice
ldr r1, [r4]
str r0, [r1, 0xC]
movs r0, 0xB
@@ -9705,7 +9705,7 @@ _0802258C:
strb r0, [r1, 0x10]
ldr r0, [r4]
ldrb r0, [r0, 0x10]
- bl sub_8092544
+ bl GetFriendAreaPrice
ldr r1, [r4]
str r0, [r1, 0xC]
movs r0, 0x10
diff --git a/asm/code_8041AD0.s b/asm/code_8041AD0.s
index 8f19c5d..15ac13b 100644
--- a/asm/code_8041AD0.s
+++ b/asm/code_8041AD0.s
@@ -5,227 +5,6 @@
.text
- thumb_func_start sub_80420E8
-sub_80420E8:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, [r1, 0x8]
- ldr r0, _0804211C
- ldr r0, [r0]
- ldr r2, _08042120
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08042106
- adds r0, r1, 0
- bl sub_806F62C
- adds r1, r0, 0
-_08042106:
- cmp r1, 0x1
- beq _08042124
- cmp r1, 0x1
- bcc _08042116
- cmp r1, 0x2
- beq _08042128
- cmp r1, 0x3
- beq _0804212C
-_08042116:
- movs r1, 0x8
- b _0804212E
- .align 2, 0
-_0804211C: .4byte gUnknown_203B418
-_08042120: .4byte 0x0000016d
-_08042124:
- movs r1, 0x9
- b _0804212E
-_08042128:
- movs r1, 0xA
- b _0804212E
-_0804212C:
- movs r1, 0xB
-_0804212E:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl sub_8041550
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80420E8
-
- thumb_func_start sub_8042148
-sub_8042148:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08042164
- bl sub_80421C0
- movs r1, 0x9F
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_804151C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08042164: .4byte 0x000001a7
- thumb_func_end sub_8042148
-
- thumb_func_start nullsub_93
-nullsub_93:
- bx lr
- thumb_func_end nullsub_93
-
- thumb_func_start sub_804216C
-sub_804216C:
- push {lr}
- adds r0, r1, 0
- cmp r2, 0x1
- bne _0804217E
- movs r1, 0xF8
- movs r2, 0x1
- bl sub_804151C
- b _08042186
-_0804217E:
- movs r1, 0xF9
- movs r2, 0x1
- bl sub_804151C
-_08042186:
- pop {r0}
- bx r0
- thumb_func_end sub_804216C
-
- thumb_func_start sub_804218C
-sub_804218C:
- push {lr}
- adds r0, r1, 0
- movs r1, 0x2A
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_804218C
-
- thumb_func_start sub_804219C
-sub_804219C:
- push {lr}
- movs r1, 0x90
- movs r2, 0x1
- bl sub_80416E0
- pop {r0}
- bx r0
- thumb_func_end sub_804219C
-
- thumb_func_start sub_80421AC
-sub_80421AC:
- push {lr}
- adds r0, r1, 0
- ldr r1, _080421BC
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080421BC: .4byte 0x00000167
- thumb_func_end sub_80421AC
-
- thumb_func_start sub_80421C0
-sub_80421C0:
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- adds r4, r0, 0
- cmp r2, 0
- bne _080421D4
- bl sub_8083E38
- b _080421E6
-_080421D4:
- adds r0, r2, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _080421E6
- adds r0, r4, 0
- bl sub_8083E38
-_080421E6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80421C0
-
- thumb_func_start sub_80421EC
-sub_80421EC:
- push {r4,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _08042202
- adds r0, r4, 0
- bl sub_8083E38
-_08042202:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80421EC
-
- thumb_func_start sub_8042208
-sub_8042208:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _0804221C
- movs r0, 0xA9
- lsls r0, 1
- bl sub_8083E38
- b _08042234
-_0804221C:
- cmp r1, 0x1
- bne _0804222C
- ldr r0, _08042228
- bl sub_8083E38
- b _08042234
- .align 2, 0
-_08042228: .4byte 0x00000151
-_0804222C:
- movs r0, 0xA8
- lsls r0, 1
- bl sub_8083E38
-_08042234:
- pop {r0}
- bx r0
- thumb_func_end sub_8042208
-
- thumb_func_start sub_8042238
-sub_8042238:
- push {lr}
- ldr r0, [r1, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _08042250
- ldr r0, _0804224C
- bl sub_8083E38
- b _08042258
- .align 2, 0
-_0804224C: .4byte 0x00000157
-_08042250:
- movs r0, 0xAB
- lsls r0, 1
- bl sub_8083E38
-_08042258:
- pop {r0}
- bx r0
- thumb_func_end sub_8042238
-
thumb_func_start sub_804225C
sub_804225C:
push {r4-r7,lr}
diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s
index 2f2c168..c15397c 100644
--- a/asm/code_80521D0.s
+++ b/asm/code_80521D0.s
@@ -59029,12 +59029,12 @@ _0806FB30: .4byte 0x00008df8
_0806FB34: .4byte gUnknown_80FA030
_0806FB38:
mov r0, r9
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
bne _0806FB4E
mov r0, r9
- bl sub_80925EC
+ bl UnlockFriendArea
movs r2, 0x1
mov r10, r2
_0806FB4E:
@@ -59516,12 +59516,12 @@ _0806FED8:
movs r2, 0xA
bl sub_8092310
adds r0, r7, 0
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
bne _0806FF34
adds r0, r7, 0
- bl sub_80925EC
+ bl UnlockFriendArea
movs r2, 0x1
mov r9, r2
_0806FF34:
@@ -113968,7 +113968,7 @@ _0808B87C:
ldr r0, _0808BA38
bl sub_8052910
adds r0, r4, 0
- bl sub_80925EC
+ bl UnlockFriendArea
movs r0, 0xD4
bl sub_8083E38
bl sub_8083600
@@ -114544,7 +114544,7 @@ sub_808BD94:
_0808BD9C:
lsls r0, r4, 24
lsrs r0, 24
- bl sub_8092534
+ bl GetFriendAreaUnlockCondition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
@@ -114573,7 +114573,7 @@ _0808BDC4:
ldrb r0, [r0]
b _0808BDE2
.align 2, 0
-_0808BDDC: .4byte gUnknown_203B468
+_0808BDDC: .4byte gFriendAreas
_0808BDE0:
movs r0, 0x3A
_0808BDE2:
diff --git a/asm/code_808EAB0.s b/asm/code_808EAB0.s
index 51c049b..7c4d5df 100644
--- a/asm/code_808EAB0.s
+++ b/asm/code_808EAB0.s
@@ -2027,7 +2027,7 @@ _0808FB94:
add r9, r3
mov r1, r10
ldrb r0, [r1, 0x18]
- bl sub_8092390
+ bl GetAbilityDescription
adds r2, r0, 0
str r4, [sp]
movs r5, 0xB
@@ -2044,7 +2044,7 @@ _0808FB94:
bne _0808FBD2
b _0808FED6
_0808FBD2:
- bl sub_8092390
+ bl GetAbilityDescription
adds r2, r0, 0
str r4, [sp]
str r5, [sp, 0x4]
@@ -2310,7 +2310,7 @@ _0808FDB0:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_8092524
+ bl GetFriendAreaName
adds r1, r0, 0
ldr r4, _0808FEFC
adds r0, r4, 0
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
index 42f5e90..7030d9b 100644
--- a/asm/code_8092334.s
+++ b/asm/code_8092334.s
@@ -5,616 +5,6 @@
.text
- thumb_func_start sub_8092404
-sub_8092404:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r6, 0
- movs r4, 0
- mov r5, r10
-_08092426:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _08092494
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092472
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- beq _08092448
- mov r0, r8
- cmp r0, 0
- beq _08092472
-_08092448:
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _08092452
- movs r1, 0x1
-_08092452:
- cmp r1, 0
- beq _0809245A
- cmp r7, 0
- beq _08092472
-_0809245A:
- adds r0, r4, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r9
- bne _08092472
- cmp r6, 0xF
- bgt _08092472
- strh r4, [r5]
- adds r5, 0x2
- adds r6, 0x1
-_08092472:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08092426
- lsls r0, r6, 1
- add r0, r10
- ldr r2, _08092498
- adds r1, r2, 0
- strh r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092494: .4byte gUnknown_203B45C
-_08092498: .4byte 0x0000ffff
- thumb_func_end sub_8092404
-
- thumb_func_start sub_809249C
-sub_809249C:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080924F8
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809251A
- movs r5, 0
-_080924B4:
- ldr r2, _080924FC
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092502
- adds r0, r5, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- bne _08092502
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080924E2
- movs r1, 0x1
-_080924E2:
- cmp r1, 0
- bne _080924F2
- ldrb r1, [r4, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- cmp r0, 0
- beq _08092500
-_080924F2:
- movs r7, 0
- b _08092502
- .align 2, 0
-_080924F8: .4byte gUnknown_203B468
-_080924FC: .4byte gUnknown_203B45C
-_08092500:
- strh r0, [r4]
-_08092502:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _080924B4
- cmp r7, 0
- beq _0809251A
- ldr r0, _08092520
- ldr r0, [r0]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
-_0809251A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092520: .4byte gUnknown_203B468
- thumb_func_end sub_809249C
-
- thumb_func_start sub_8092524
-sub_8092524:
- lsls r0, 24
- ldr r1, _08092530
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092530: .4byte gFriendAreaNames
- thumb_func_end sub_8092524
-
- thumb_func_start sub_8092534
-sub_8092534:
- lsls r0, 24
- ldr r1, _08092540
- lsrs r0, 21
- adds r0, r1
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_08092540: .4byte gUnknown_810AA90
- thumb_func_end sub_8092534
-
- thumb_func_start sub_8092544
-sub_8092544:
- lsls r0, 24
- ldr r1, _08092554
- lsrs r0, 21
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092554: .4byte gUnknown_810AA90
- thumb_func_end sub_8092544
-
- thumb_func_start sub_8092558
-sub_8092558:
- push {lr}
- lsls r2, r1, 24
- ldr r1, _08092570
- ldr r3, _08092574
- lsrs r2, 22
- adds r2, r3
- ldr r2, [r2]
- bl sub_800D158
- pop {r0}
- bx r0
- .align 2, 0
-_08092570: .4byte gUnknown_81098A4
-_08092574: .4byte gFriendAreaNames
- thumb_func_end sub_8092558
-
- thumb_func_start sub_8092578
-sub_8092578:
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- cmp r2, 0
- beq _080925C0
- ldr r0, _080925B4
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_8090FEC
- ldr r1, _080925B8
- ldr r2, _080925BC
- lsls r0, r4, 2
- adds r0, r2
- ldr r2, [r0]
- add r0, sp, 0x4
- str r0, [sp]
- adds r0, r5, 0
- movs r3, 0x60
- bl sub_800D158
- b _080925CE
- .align 2, 0
-_080925B4: .4byte gUnknown_810AA90
-_080925B8: .4byte gUnknown_81098AC
-_080925BC: .4byte gFriendAreaNames
-_080925C0:
- ldr r0, _080925D8
- lsls r1, r4, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl strcpy
-_080925CE:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080925D8: .4byte gFriendAreaNames
- thumb_func_end sub_8092578
-
- thumb_func_start GetFriendAreaDescription
-GetFriendAreaDescription:
- lsls r0, 24
- ldr r1, _080925E8
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080925E8: .4byte gFriendAreaDescriptions
- thumb_func_end GetFriendAreaDescription
-
- thumb_func_start sub_80925EC
-sub_80925EC:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080925FC
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080925FC: .4byte gUnknown_203B468
- thumb_func_end sub_80925EC
-
- thumb_func_start sub_8092600
-sub_8092600:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092610
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_08092610: .4byte gUnknown_203B468
- thumb_func_end sub_8092600
-
- thumb_func_start sub_8092614
-sub_8092614:
- push {lr}
- movs r1, 0x1
- ldr r0, _08092628
- ldr r2, [r0]
-_0809261C:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809262C
- movs r0, 0
- b _08092634
- .align 2, 0
-_08092628: .4byte gUnknown_203B468
-_0809262C:
- adds r1, 0x1
- cmp r1, 0x39
- ble _0809261C
- movs r0, 0x1
-_08092634:
- pop {r1}
- bx r1
- thumb_func_end sub_8092614
-
- thumb_func_start sub_8092638
-sub_8092638:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r6, 0
- movs r3, 0
- ldr r2, _080926DC
- cmp r3, r5
- bge _0809266E
- ldr r1, _080926E0
- adds r3, r5, 0
-_0809265E:
- movs r7, 0
- ldrsh r0, [r1, r7]
- adds r6, r0
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bne _0809265E
- adds r3, r5, 0
-_0809266E:
- str r6, [r4, 0x8]
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080926E8
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r1, _080926E0
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r3, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _080926EC
- ldr r5, _080926E4
-_0809269A:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080926CC
- mov r7, r12
- cmp r7, 0
- beq _080926BA
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _080926CC
-_080926BA:
- mov r0, r8
- cmp r0, 0
- beq _080926C6
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- beq _080926CC
-_080926C6:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_080926CC:
- adds r3, 0x1
- adds r6, 0x1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r3, r0
- blt _0809269A
- b _080926EC
- .align 2, 0
-_080926DC: .4byte gUnknown_203B468
-_080926E0: .4byte gUnknown_810AA90
-_080926E4: .4byte gUnknown_203B45C
-_080926E8:
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080926EC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092638
-
- thumb_func_start sub_80926F8
-sub_80926F8:
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r2, 24
- lsrs r7, r2, 24
- movs r5, 0
- movs r2, 0
- ldr r0, _08092780
- mov r12, r0
- cmp r2, r3
- bge _08092724
- ldr r1, _08092784
- adds r2, r3, 0
-_08092714:
- movs r6, 0
- ldrsh r0, [r1, r6]
- adds r5, r0
- adds r1, 0x8
- subs r2, 0x1
- cmp r2, 0
- bne _08092714
- adds r2, r3, 0
-_08092724:
- str r5, [r4, 0x8]
- mov r1, r12
- ldr r0, [r1]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0809279C
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r1, _08092784
- lsls r0, r2, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r6, 0
- ldrsh r0, [r4, r6]
- cmp r0, 0
- ble _080927A0
- ldr r6, _08092788
- adds r2, r0, 0
-_08092752:
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r6]
- adds r3, r0, r1
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092792
- ldrb r0, [r3, 0x2]
- cmp r0, 0
- bne _08092776
- cmp r7, 0
- bne _0809278C
- ldrb r0, [r3, 0x4]
- cmp r0, 0x41
- bne _0809278C
-_08092776:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- b _08092792
- .align 2, 0
-_08092780: .4byte gUnknown_203B468
-_08092784: .4byte gUnknown_810AA90
-_08092788: .4byte gUnknown_203B45C
-_0809278C:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_08092792:
- subs r2, 0x1
- adds r5, 0x1
- cmp r2, 0
- bne _08092752
- b _080927A0
-_0809279C:
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080927A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80926F8
-
- thumb_func_start sub_80927A8
-sub_80927A8:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- movs r4, 0
- add r5, sp, 0x10
-_080927BC:
- ldr r0, _080927F0
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080927CC
- movs r0, 0x1
- negs r0, r0
-_080927CC:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_809488C
- adds r4, 0x1
- cmp r4, 0x39
- ble _080927BC
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080927F0: .4byte gUnknown_203B468
- thumb_func_end sub_80927A8
-
- thumb_func_start sub_80927F4
-sub_80927F4:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r4, 0
- add r7, sp, 0x10
- movs r6, 0x1
- ldr r5, _08092828
-_0809280C:
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- ands r1, r6
- cmp r1, 0
- beq _0809282C
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- b _08092832
- .align 2, 0
-_08092828: .4byte gUnknown_203B468
-_0809282C:
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
-_08092832:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0809280C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80927F4
-
thumb_func_start LoadWazaParameters
LoadWazaParameters:
push {lr}
diff --git a/asm/code_8095014.s b/asm/code_8095014.s
index 7a3d217..e7081c3 100644
--- a/asm/code_8095014.s
+++ b/asm/code_8095014.s
@@ -1306,7 +1306,7 @@ _08095AD4:
cmp r0, 0x9
bne _08095B20
ldrb r0, [r5, 0x13]
- bl sub_8092534
+ bl GetFriendAreaUnlockCondition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -1789,7 +1789,7 @@ _08095E84:
bne _08095EF6
lsls r0, r5, 24
lsrs r0, 24
- bl sub_8092534
+ bl GetFriendAreaUnlockCondition
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -1848,7 +1848,7 @@ _08095EF6:
movs r0, 0
b _08095F1A
.align 2, 0
-_08095F04: .4byte gUnknown_203B468
+_08095F04: .4byte gFriendAreas
_08095F08: .4byte gUnknown_203B490
_08095F0C: .4byte 0x00000101
_08095F10:
diff --git a/asm/code_809747C.s b/asm/code_809747C.s
index 17e2dab..640d62c 100644
--- a/asm/code_809747C.s
+++ b/asm/code_809747C.s
@@ -680,7 +680,7 @@ sub_8097944:
lsls r0, 24
cmp r0, 0
bne _08097974
- bl sub_8092614
+ bl HasAllFriendAreas
lsls r0, 24
cmp r0, 0
beq _08097974
diff --git a/asm/code_809D148.s b/asm/code_809D148.s
index 4ad534c..5a0f8ec 100644
--- a/asm/code_809D148.s
+++ b/asm/code_809D148.s
@@ -7926,7 +7926,7 @@ _080A151C:
.4byte _080A1840
.4byte _080A185E
.4byte _080A18C2
- .4byte _080A18E2
+ .4byte _080A18E2 @ Wigglytuff Club Opening
.4byte _080A18F2
.4byte _080A1904
.4byte _080A197C
@@ -8293,11 +8293,11 @@ _080A18D8:
cmp r0, r1
bge _080A18D8
b _080A1EBE
-_080A18E2:
- movs r0, 0xC
- bl sub_80925EC
- movs r0, 0x12
- bl sub_80925EC
+_080A18E2: @ Wigglytuff Guild Opening
+ movs r0, 0xC @ Wild Plains
+ bl UnlockFriendArea
+ movs r0, 0x12 @ Mist-Rise Forest
+ bl UnlockFriendArea
bl _080A236A
_080A18F2:
ldr r0, _080A1900
@@ -8313,7 +8313,7 @@ _080A1904:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_80925EC
+ bl UnlockFriendArea
add r1, sp, 0x4
ldr r0, _080A1970
ldm r0!, {r2,r3,r6}
@@ -8375,7 +8375,7 @@ _080A1988:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_80925EC
+ bl UnlockFriendArea
add r1, sp, 0x84
adds r2, r1, 0
ldr r0, _080A19D8
@@ -8594,7 +8594,7 @@ _080A1B64:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
bne _080A1B88
@@ -8602,7 +8602,7 @@ _080A1B64:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_80925EC
+ bl UnlockFriendArea
_080A1B88:
add r1, sp, 0x188
adds r2, r1, 0
@@ -8849,7 +8849,7 @@ _080A1CCC:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _080A1D9E
@@ -8886,7 +8886,7 @@ _080A1DA8:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
bne _080A1EBE
@@ -8918,7 +8918,7 @@ _080A1E14:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
bne _080A1EBE
@@ -8959,7 +8959,7 @@ _080A1E6C:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
bne _080A1E8E
@@ -8967,7 +8967,7 @@ _080A1E6C:
bl GetFriendArea
lsls r0, 24
lsrs r0, 24
- bl sub_80925EC
+ bl UnlockFriendArea
_080A1E8E:
ldr r3, _080A1EC8
movs r0, 0
diff --git a/asm/event_flag.s b/asm/event_flag.s
index 572f258..3995181 100644
--- a/asm/event_flag.s
+++ b/asm/event_flag.s
@@ -1379,7 +1379,7 @@ _08001E08:
cmp r0, 0
beq _08001E36
movs r0, 0xE
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001E36
@@ -1425,7 +1425,7 @@ _08001E72:
bl sub_80973A8
_08001E7A:
movs r0, 0x2B
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001E8E
@@ -1434,7 +1434,7 @@ _08001E7A:
bl sub_80973A8
_08001E8E:
movs r0, 0x24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001EA2
@@ -1443,7 +1443,7 @@ _08001E8E:
bl sub_80973A8
_08001EA2:
movs r0, 0x23
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001EB6
@@ -1452,7 +1452,7 @@ _08001EA2:
bl sub_80973A8
_08001EB6:
movs r0, 0x19
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001ECA
@@ -1461,7 +1461,7 @@ _08001EB6:
bl sub_80973A8
_08001ECA:
movs r0, 0x3
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001EE6
@@ -1473,12 +1473,12 @@ _08001ECA:
bl sub_80973A8
_08001EE6:
movs r0, 0x2C
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001F06
movs r0, 0x2D
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001F06
@@ -1533,7 +1533,7 @@ _08001F58:
cmp r0, 0
beq _08001F7E
movs r0, 0x37
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08001F7E
@@ -1591,7 +1591,7 @@ _08001FCC:
cmp r0, 0
beq _08002002
movs r0, 0xE
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08002002
@@ -1601,7 +1601,7 @@ _08001FCC:
bl sub_8001BB4
_08002002:
movs r0, 0xE
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _08002016
@@ -1610,7 +1610,7 @@ _08002002:
bl sub_80973A8
_08002016:
movs r0, 0xE
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _0800202A
@@ -2497,7 +2497,7 @@ sub_80026CC:
bl sub_8002658
lsls r0, 24
lsrs r0, 24
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
lsrs r0, 24
pop {r1}
@@ -2512,7 +2512,7 @@ sub_80026E8:
bl sub_8002658
lsls r0, 24
lsrs r0, 24
- bl sub_80925EC
+ bl UnlockFriendArea
pop {r0}
bx r0
thumb_func_end sub_80026E8
diff --git a/asm/friend_area_1.s b/asm/friend_area_1.s
new file mode 100644
index 0000000..28deea6
--- /dev/null
+++ b/asm/friend_area_1.s
@@ -0,0 +1,209 @@
+ .include "constants/gba_constants.inc"
+ .include "asm/macros.inc"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8092638
+sub_8092638:
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r5, r0, 24
+ lsls r2, 24
+ lsrs r2, 24
+ mov r12, r2
+ lsls r3, 24
+ lsrs r3, 24
+ mov r8, r3
+ movs r6, 0
+ movs r3, 0
+ ldr r2, _080926DC
+ cmp r3, r5
+ bge _0809266E
+ ldr r1, _080926E0
+ adds r3, r5, 0
+_0809265E:
+ movs r7, 0
+ ldrsh r0, [r1, r7]
+ adds r6, r0
+ adds r1, 0x8
+ subs r3, 0x1
+ cmp r3, 0
+ bne _0809265E
+ adds r3, r5, 0
+_0809266E:
+ str r6, [r4, 0x8]
+ ldr r0, [r2]
+ adds r0, r3
+ ldrb r0, [r0]
+ strb r0, [r4, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _080926E8
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldr r1, _080926E0
+ lsls r0, r3, 3
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r3, 0
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r3, r0
+ bge _080926EC
+ ldr r5, _080926E4
+_0809269A:
+ movs r0, 0x58
+ adds r1, r6, 0
+ muls r1, r0
+ ldr r0, [r5]
+ adds r2, r0, r1
+ ldrb r1, [r2]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _080926CC
+ mov r7, r12
+ cmp r7, 0
+ beq _080926BA
+ ldrb r0, [r2, 0x2]
+ cmp r0, 0
+ bne _080926CC
+_080926BA:
+ mov r0, r8
+ cmp r0, 0
+ beq _080926C6
+ ldrb r0, [r2, 0x4]
+ cmp r0, 0x41
+ beq _080926CC
+_080926C6:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+_080926CC:
+ adds r3, 0x1
+ adds r6, 0x1
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r3, r0
+ blt _0809269A
+ b _080926EC
+ .align 2, 0
+_080926DC: .4byte gFriendAreas
+_080926E0: .4byte gFriendAreaSettings
+_080926E4: .4byte gUnknown_203B45C
+_080926E8:
+ strh r0, [r4, 0x2]
+ strh r0, [r4]
+_080926EC:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8092638
+
+ thumb_func_start sub_80926F8
+sub_80926F8:
+ push {r4-r7,lr}
+ adds r4, r1, 0
+ lsls r0, 24
+ lsrs r3, r0, 24
+ lsls r2, 24
+ lsrs r7, r2, 24
+ movs r5, 0
+ movs r2, 0
+ ldr r0, _08092780
+ mov r12, r0
+ cmp r2, r3
+ bge _08092724
+ ldr r1, _08092784
+ adds r2, r3, 0
+_08092714:
+ movs r6, 0
+ ldrsh r0, [r1, r6]
+ adds r5, r0
+ adds r1, 0x8
+ subs r2, 0x1
+ cmp r2, 0
+ bne _08092714
+ adds r2, r3, 0
+_08092724:
+ str r5, [r4, 0x8]
+ mov r1, r12
+ ldr r0, [r1]
+ adds r0, r2
+ ldrb r0, [r0]
+ strb r0, [r4, 0x4]
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0
+ beq _0809279C
+ movs r0, 0
+ strh r0, [r4, 0x2]
+ ldr r1, _08092784
+ lsls r0, r2, 3
+ adds r0, r1
+ ldrh r0, [r0]
+ strh r0, [r4]
+ movs r6, 0
+ ldrsh r0, [r4, r6]
+ cmp r0, 0
+ ble _080927A0
+ ldr r6, _08092788
+ adds r2, r0, 0
+_08092752:
+ movs r0, 0x58
+ adds r1, r5, 0
+ muls r1, r0
+ ldr r0, [r6]
+ adds r3, r0, r1
+ ldrb r1, [r3]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ beq _08092792
+ ldrb r0, [r3, 0x2]
+ cmp r0, 0
+ bne _08092776
+ cmp r7, 0
+ bne _0809278C
+ ldrb r0, [r3, 0x4]
+ cmp r0, 0x41
+ bne _0809278C
+_08092776:
+ ldrh r0, [r4]
+ subs r0, 0x1
+ strh r0, [r4]
+ b _08092792
+ .align 2, 0
+_08092780: .4byte gFriendAreas
+_08092784: .4byte gFriendAreaSettings
+_08092788: .4byte gUnknown_203B45C
+_0809278C:
+ ldrh r0, [r4, 0x2]
+ adds r0, 0x1
+ strh r0, [r4, 0x2]
+_08092792:
+ subs r2, 0x1
+ adds r5, 0x1
+ cmp r2, 0
+ bne _08092752
+ b _080927A0
+_0809279C:
+ strh r0, [r4, 0x2]
+ strh r0, [r4]
+_080927A0:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_80926F8
+
+ .align 2,0 @ Don't pad with nop
+
diff --git a/asm/pokemon.s b/asm/pokemon.s
index 587e47c..2030fcf 100644
--- a/asm/pokemon.s
+++ b/asm/pokemon.s
@@ -170,7 +170,7 @@ _0808CF36:
bl sub_80980B4
b _0808CFB8
.align 2, 0
-_0808CF58: .4byte gUnknown_203B468
+_0808CF58: .4byte gFriendAreas
_0808CF5C:
movs r2, 0
lsls r4, r7, 3
@@ -522,7 +522,7 @@ sub_808D1DC:
b _0808D268
.align 2, 0
_0808D204: .4byte gMonsterParameters
-_0808D208: .4byte gUnknown_203B468
+_0808D208: .4byte gFriendAreas
_0808D20C:
ldr r0, [r7]
adds r0, r5
@@ -603,7 +603,7 @@ sub_808D278:
b _0808D2DA
.align 2, 0
_0808D29C: .4byte gMonsterParameters
-_0808D2A0: .4byte gUnknown_203B468
+_0808D2A0: .4byte gFriendAreas
_0808D2A4:
ldr r0, [r7]
adds r0, r5
diff --git a/asm/wonder_mail.s b/asm/wonder_mail.s
index 5b90271..569f81d 100644
--- a/asm/wonder_mail.s
+++ b/asm/wonder_mail.s
@@ -11265,7 +11265,7 @@ _0802F494:
ldr r0, [r0, 0x10]
adds r0, 0x20
ldrb r0, [r0]
- bl sub_8092600
+ bl GetFriendAreaStatus
lsls r0, 24
cmp r0, 0
beq _0802F4BC
@@ -11286,7 +11286,7 @@ _0802F4BC:
ldr r0, [r0, 0x10]
adds r0, 0x20
ldrb r0, [r0]
- bl sub_80925EC
+ bl UnlockFriendArea
movs r0, 0xCE
bl sub_8011988
ldr r0, _0802F4E8
@@ -11304,7 +11304,7 @@ _0802F4F0:
ldr r0, [r0, 0x10]
adds r0, 0x20
ldrb r0, [r0]
- bl sub_80925EC
+ bl UnlockFriendArea
movs r0, 0xCE
bl sub_8011988
ldr r0, _0802F518
@@ -33033,7 +33033,7 @@ sub_803A3BC:
_0803A3D6:
lsls r0, r5, 24
lsrs r0, 24
- bl sub_80925EC
+ bl UnlockFriendArea
adds r5, 0x1
cmp r5, 0x39
ble _0803A3D6
@@ -33867,7 +33867,7 @@ sub_803AA34:
str r0, [r1, 0x10]
b _0803AA82
.align 2, 0
-_0803AA64: .4byte gUnknown_203B468
+_0803AA64: .4byte gFriendAreas
_0803AA68: .4byte gUnknown_203B3F4
_0803AA6C: .4byte gUnknown_80E7EBC
_0803AA70:
@@ -34004,7 +34004,7 @@ _0803AB70:
_0803AB7A:
ldr r0, [r4]
ldrb r0, [r0, 0x4]
- bl sub_80925EC
+ bl UnlockFriendArea
b _0803AB8E
_0803AB84:
ldr r0, [r4]