summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/contest_link_80C2020.s47
-rw-r--r--src/battle/contest_link_80C2020.c21
2 files changed, 21 insertions, 47 deletions
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s
index 5d8a008cf..9921b55b4 100644
--- a/asm/contest_link_80C2020.s
+++ b/asm/contest_link_80C2020.s
@@ -5,53 +5,6 @@
.text
- thumb_func_start sub_80C3990
-sub_80C3990: @ 80C3990
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080C39DC @ =gUnknown_02038670
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x3F
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, _080C39E0 @ =0x0000ffff
- ands r0, r1
- cmp r0, 0
- beq _080C39BC
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
-_080C39BC:
- lsrs r1, 16
- cmp r1, 0
- bne _080C39C8
- cmp r4, 0
- beq _080C39C8
- movs r1, 0x1
-_080C39C8:
- cmp r5, 0
- beq _080C39D2
- cmp r1, 0xA
- bls _080C39D2
- movs r1, 0xA
-_080C39D2:
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C39DC: .4byte gUnknown_02038670
-_080C39E0: .4byte 0x0000ffff
- thumb_func_end sub_80C3990
-
thumb_func_start sub_80C39E4
sub_80C39E4: @ 80C39E4
push {r4-r7,lr}
diff --git a/src/battle/contest_link_80C2020.c b/src/battle/contest_link_80C2020.c
index 43f6b970e..bdb773f44 100644
--- a/src/battle/contest_link_80C2020.c
+++ b/src/battle/contest_link_80C2020.c
@@ -1759,3 +1759,24 @@ void sub_80C37E4(void)
}
}
#endif
+
+// fakematching?
+u8 sub_80C3990(u8 monIndex, u8 arg1)
+{
+ u32 var0;
+ u32 var1;
+
+ var0 = gUnknown_02038670[monIndex] << 16;
+ var1 = var0 / 0x3F;
+ if (var1 & 0xFFFF)
+ var1 += 0x10000;
+
+ var1 >>= 16;
+ if (var1 == 0 && var0)
+ var1 = 1;
+
+ if (arg1 && var1 > 10)
+ var1 = 10;
+
+ return var1;
+}