diff options
author | Seth Barberee <seth.barberee@gmail.com> | 2020-12-31 18:30:16 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-31 18:30:16 -0600 |
commit | 87cd9885a9f8b38a76ab6add4a634e2a8a4837ee (patch) | |
tree | 9e7e3352cc63bf5665d192c8ebbdfd6032641f74 /asm | |
parent | 01ec8edb40c0662863e2fd14395a057be852e060 (diff) |
Friend Area Decomp Work (#15)
split out and work on friend area stuff
Diffstat (limited to 'asm')
-rw-r--r-- | asm/code_800D090.s | 2 | ||||
-rw-r--r-- | asm/code_801D760.s | 34 | ||||
-rw-r--r-- | asm/code_8041AD0.s | 221 | ||||
-rw-r--r-- | asm/code_80521D0.s | 14 | ||||
-rw-r--r-- | asm/code_808EAB0.s | 6 | ||||
-rw-r--r-- | asm/code_8092334.s | 610 | ||||
-rw-r--r-- | asm/code_8095014.s | 6 | ||||
-rw-r--r-- | asm/code_809747C.s | 2 | ||||
-rw-r--r-- | asm/code_809D148.s | 30 | ||||
-rw-r--r-- | asm/event_flag.s | 28 | ||||
-rw-r--r-- | asm/friend_area_1.s | 209 | ||||
-rw-r--r-- | asm/pokemon.s | 6 | ||||
-rw-r--r-- | asm/wonder_mail.s | 12 |
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] |