summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-11-12 18:26:02 -0600
committerSeth Barberee <seth.barberee@gmail.com>2020-11-12 18:26:02 -0600
commit9237db777e49204e8f09ec6607caefedb469da05 (patch)
tree73b881bd4c278707b99f54a6f3231150ab620354
parent0578f4a0623b0e3078f922c37a587d6bbafdbf4d (diff)
3% decompiled woo
-rw-r--r--asm/code_801D760.s111
-rw-r--r--asm/code_8092334.s30
-rw-r--r--src/code_801D760.c101
-rw-r--r--src/code_8092334.c19
4 files changed, 120 insertions, 141 deletions
diff --git a/asm/code_801D760.s b/asm/code_801D760.s
index 341e154..8b6a04b 100644
--- a/asm/code_801D760.s
+++ b/asm/code_801D760.s
@@ -5,117 +5,6 @@
.text
- thumb_func_start sub_801D7CC
-sub_801D7CC:
- push {r4,lr}
- bl sub_8025354
- cmp r0, 0x1
- bls _0801D802
- cmp r0, 0x3
- bhi _0801D802
- bl sub_802540C
- ldr r4, _0801D7F8
- ldr r1, [r4]
- strb r0, [r1, 0x7]
- bl sub_8025418
- ldr r0, [r4]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0801D7FC
- movs r0, 0x2
- bl sub_801D208
- b _0801D802
- .align 2, 0
-_0801D7F8: .4byte gUnknown_203B250
-_0801D7FC:
- movs r0, 0x1
- bl sub_801D208
-_0801D802:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D7CC
-
- thumb_func_start sub_801D808
-sub_801D808:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _0801D820
- cmp r0, 0x3
- bhi _0801D820
- bl sub_802453C
- movs r0, 0x1
- bl sub_801D208
-_0801D820:
- pop {r0}
- bx r0
- thumb_func_end sub_801D808
-
- thumb_func_start sub_801D824
-sub_801D824:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _0801D83C
- cmp r0, 0x3
- bhi _0801D83C
- bl sub_801BF98
- movs r0, 0x1
- bl sub_801D208
-_0801D83C:
- pop {r0}
- bx r0
- thumb_func_end sub_801D824
-
- thumb_func_start sub_801D840
-sub_801D840:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _0801D858
- cmp r0, 0x3
- bhi _0801D858
- bl sub_8021830
- movs r0, 0x1
- bl sub_801D208
-_0801D858:
- pop {r0}
- bx r0
- thumb_func_end sub_801D840
-
- thumb_func_start sub_801D85C
-sub_801D85C:
- push {lr}
- bl sub_802C898
- cmp r0, 0x1
- bls _0801D874
- cmp r0, 0x3
- bhi _0801D874
- bl sub_802C8F4
- movs r0, 0x1
- bl sub_801D208
-_0801D874:
- pop {r0}
- bx r0
- thumb_func_end sub_801D85C
-
- thumb_func_start sub_801D878
-sub_801D878:
- push {lr}
- bl sub_801DCE8
- cmp r0, 0x1
- bls _0801D890
- cmp r0, 0x3
- bhi _0801D890
- bl sub_801DD50
- movs r0, 0x1
- bl sub_801D208
-_0801D890:
- pop {r0}
- bx r0
- thumb_func_end sub_801D878
-
thumb_func_start sub_801D894
sub_801D894:
push {r4-r6,lr}
diff --git a/asm/code_8092334.s b/asm/code_8092334.s
index cd890b2..9048c87 100644
--- a/asm/code_8092334.s
+++ b/asm/code_8092334.s
@@ -5,36 +5,6 @@
.text
- thumb_func_start sub_80923D4
-sub_80923D4:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r1, 0
- ldr r2, _080923F0
-_080923DE:
- movs r5, 0
- ldrsh r0, [r2, r5]
- adds r3, r0
- cmp r3, r4
- ble _080923F4
- lsls r0, r1, 24
- lsrs r0, 24
- b _080923FE
- .align 2, 0
-_080923F0: .4byte gUnknown_810AA90
-_080923F4:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x39
- ble _080923DE
- movs r0, 0
-_080923FE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80923D4
-
thumb_func_start sub_8092404
sub_8092404:
push {r4-r7,lr}
diff --git a/src/code_801D760.c b/src/code_801D760.c
index 89cd661..e2e6617 100644
--- a/src/code_801D760.c
+++ b/src/code_801D760.c
@@ -8,6 +8,19 @@ extern u32 sub_80270A4();
extern u32 sub_8025F68();
extern u8 sub_802604C();
extern void sub_8026058();
+extern u32 sub_8025354(void);
+extern u8 sub_802540C(void);
+extern void sub_8025418(void);
+extern u32 sub_80244E4(void);
+extern void sub_802453C(void);
+extern u32 sub_801BF48(void);
+extern void sub_801BF98(void);
+extern u32 sub_80217EC(void);
+extern void sub_8021830(void);
+extern u32 sub_802C898(void);
+extern void sub_802C8F4(void);
+extern u32 sub_801DCE8(void);
+extern void sub_801DD50(void);
struct unk_203B250
{
@@ -58,3 +71,91 @@ void sub_801D798(void)
sub_8026058();
sub_801D208(2);
}
+
+void sub_801D7CC()
+{
+ u32 check;
+ u32 temp2;
+
+ check = sub_8025354();
+ if(check <= 1)
+ return;
+ if(check > 3)
+ return;
+
+ temp2 = sub_802540C();
+ gUnknown_203B250->unk7 = temp2;
+
+ sub_8025418();
+
+ if(gUnknown_203B250->unk7 != 0)
+ {
+ sub_801D208(2);
+ }
+ else
+ {
+ sub_801D208(1);
+ }
+}
+
+void sub_801D808(void)
+{
+ u32 check;
+
+ check = sub_80244E4();
+ if(check <= 1)
+ return;
+ if(check > 3)
+ return;
+
+ sub_802453C();
+ sub_801D208(1);
+}
+
+void sub_801D824(void)
+{
+ u32 check;
+ check = sub_801BF48();
+ if(check <= 1)
+ return;
+ if(check > 3)
+ return;
+ sub_801BF98();
+ sub_801D208(1);
+}
+
+void sub_801D840(void)
+{
+ u32 check;
+ check = sub_80217EC();
+ if(check <= 1)
+ return;
+ if(check > 3)
+ return;
+ sub_8021830();
+ sub_801D208(1);
+}
+
+void sub_801D85C(void)
+{
+ u32 check;
+ check = sub_802C898();
+ if(check <= 1)
+ return;
+ if(check > 3)
+ return;
+ sub_802C8F4();
+ sub_801D208(1);
+}
+
+void sub_801D878(void)
+{
+ u32 check;
+ check = sub_801DCE8();
+ if(check <= 1)
+ return;
+ if(check > 3)
+ return;
+ sub_801DD50();
+ sub_801D208(1);
+}
diff --git a/src/code_8092334.c b/src/code_8092334.c
index d5d17ee..1fba58e 100644
--- a/src/code_8092334.c
+++ b/src/code_8092334.c
@@ -14,6 +14,7 @@ extern u8 *AbilityDescriptions[];
extern u8 gBoughtFriendAreas[NUM_FRIEND_AREAS];
extern u8 *gUnknown_203B468;
+extern s16 gUnknown_810AA90[];
u32 GetUnformattedTypeString(u8 type)
{
@@ -63,3 +64,21 @@ void sub_80923B8(void)
gUnknown_203B468[counter] = 0;
}
}
+
+u8 sub_80923D4(s32 target)
+{
+ s32 counter;
+ s32 index;
+ s32 sum = 0;
+ index = 0;
+ for(counter = 0; counter < NUM_FRIEND_AREAS; counter++)
+ {
+ sum += gUnknown_810AA90[index];
+ if(sum > target)
+ {
+ return counter;
+ }
+ index += 4;
+ }
+ return 0;
+}