diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-29 12:01:29 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-29 12:01:29 -0400 |
commit | 18e6512599ad5a52ee0046f2504a7b357cc80894 (patch) | |
tree | f5454bbb72ca858a372d2f71ac0e84607e2d43db | |
parent | af266c9e1bc286e80a451db7e2f95116655a4827 (diff) |
ContestEffect_25
-rw-r--r-- | asm/contest_effect.s | 61 | ||||
-rw-r--r-- | include/contest.h | 1 | ||||
-rw-r--r-- | src/contest_effect.c | 31 |
3 files changed, 32 insertions, 61 deletions
diff --git a/asm/contest_effect.s b/asm/contest_effect.s index 35c4b3518..b3d865b3d 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -5,67 +5,6 @@ .text - thumb_func_start ContestEffect_25 -ContestEffect_25: @ 80B829C - push {r4-r7,lr} - movs r4, 0 - ldr r0, _080B82E0 @ =gSharedMem + 0x192D0 - ldrb r1, [r0, 0x11] - adds r1, r0 - ldrb r1, [r1] - adds r7, r0, 0 - cmp r1, 0x3 - beq _080B82F4 - movs r5, 0 - adds r6, r7, 0 -_080B82B2: - ldrb r0, [r6, 0x11] - adds r0, r6 - ldrb r0, [r0] - adds r0, 0x1 - adds r1, r5, r6 - ldrb r1, [r1] - cmp r0, r1 - bne _080B82EE - lsls r0, r5, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80B90C0 - lsls r0, 24 - cmp r0, 0 - beq _080B82E4 - adds r0, r4, 0 - bl sub_80B157C - adds r0, r4, 0 - movs r1, 0xA - b _080B82E8 - .align 2, 0 -_080B82E0: .4byte gSharedMem + 0x192D0 -_080B82E4: - adds r0, r4, 0 - movs r1, 0x3C -_080B82E8: - bl SetContestantStatusUnk13 - movs r4, 0x1 -_080B82EE: - adds r5, 0x1 - cmp r5, 0x3 - ble _080B82B2 -_080B82F4: - ldrb r0, [r7, 0x11] - movs r1, 0x9 - bl SetContestantStatusUnk13 - cmp r4, 0 - bne _080B8308 - ldrb r0, [r7, 0x11] - movs r1, 0x36 - bl SetContestantStatusUnk14 -_080B8308: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end ContestEffect_25 - thumb_func_start ContestEffect_26 ContestEffect_26: @ 80B8310 push {r4-r7,lr} diff --git a/include/contest.h b/include/contest.h index 9ac51b536..24f3331b7 100644 --- a/include/contest.h +++ b/include/contest.h @@ -279,5 +279,6 @@ extern u8 gUnknown_02038696[4]; extern u8 gUnknown_0203869B; void SetContestantStatusUnk13(u8 a, u8 b); void SetContestantStatusUnk14(u8 a, u8 b); +void sub_80B157C(u8 p); #endif // GUARD_CONTEST_H diff --git a/src/contest_effect.c b/src/contest_effect.c index 7a6ffc0b0..c38cb2f96 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -270,3 +270,34 @@ void ContestEffect_24(void) sub_80B9038(CONTEST_CATEGORY_TOUGH); SetContestantStatusUnk13(shared192D0.unk11, 48); } + +void ContestEffect_25(void) +{ + bool32 r4 = FALSE; + + if (shared192D0.unk0[shared192D0.unk11] != 3) + { + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[shared192D0.unk11] + 1 == shared192D0.unk0[r5]) + { + if (sub_80B90C0(r5)) + { + sub_80B157C(r5); + SetContestantStatusUnk13(r5, 10); + r4 = TRUE; + } + else + { + SetContestantStatusUnk13(r5, 60); + r4 = TRUE; + } + } + } + } + SetContestantStatusUnk13(shared192D0.unk11, 9); + if (!r4) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} |