diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-29 16:48:14 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-29 16:48:14 -0400 |
commit | d66f96520c03faf342e04502aa94462f14d3701d (patch) | |
tree | 2cdb4eeebfcd544279f8363ef2f8c17e72e91116 | |
parent | 90556b6b3eabc0a90cf7fdcf54826e362053f4c0 (diff) |
through ContestEffect_30
-rw-r--r-- | asm/contest_effect.s | 222 | ||||
-rw-r--r-- | src/contest_effect.c | 67 |
2 files changed, 67 insertions, 222 deletions
diff --git a/asm/contest_effect.s b/asm/contest_effect.s index cbab264d5..bcc49aa02 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -5,228 +5,6 @@ .text - thumb_func_start ContestEffect_27 -ContestEffect_27: @ 80B84F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - movs r6, 0 - ldr r7, _080B8580 @ =gSharedMem + 0x192D0 - adds r5, r7, 0 - subs r5, 0x63 -_080B850A: - ldrb r0, [r7, 0x11] - adds r0, r7 - adds r1, r6, r7 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B8556 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - ble _080B8556 - lsls r0, r6, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_80B90C0 - lsls r0, 24 - cmp r0, 0 - beq _080B8556 - movs r0, 0 - strb r0, [r5] - ldrb r1, [r5, 0x3] - movs r2, 0x31 - negs r2, r2 - adds r0, r2, 0 - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r5, 0x3] - adds r0, r4, 0 - movs r1, 0xD - bl SetContestantStatusUnk13 - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 -_080B8556: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _080B850A - ldr r4, _080B8580 @ =gSharedMem + 0x192D0 - ldrb r0, [r4, 0x11] - movs r1, 0xC - bl SetContestantStatusUnk13 - mov r0, r8 - cmp r0, 0 - bne _080B8576 - ldrb r0, [r4, 0x11] - movs r1, 0x39 - bl SetContestantStatusUnk14 -_080B8576: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B8580: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_27 - - thumb_func_start ContestEffect_28 -ContestEffect_28: @ 80B8584 - push {r4-r7,lr} - movs r7, 0 - movs r5, 0 - ldr r4, _080B85B0 @ =gSharedMem + 0x192D0 - movs r6, 0 -_080B858E: - ldrb r0, [r4, 0x11] - adds r0, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B85CE - adds r0, r4, 0 - subs r0, 0x70 - adds r0, r6, r0 - ldrb r0, [r0, 0xD] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - ble _080B85B4 - movs r0, 0x28 - b _080B85B6 - .align 2, 0 -_080B85B0: .4byte gSharedMem + 0x192D0 -_080B85B4: - movs r0, 0xA -_080B85B6: - strh r0, [r4, 0x4] - strb r5, [r4, 0x8] - movs r0, 0xFF - strb r0, [r4, 0x9] - bl sub_80B9120 - lsls r0, 24 - cmp r0, 0 - beq _080B85CE - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 -_080B85CE: - adds r6, 0x1C - adds r5, 0x1 - cmp r5, 0x3 - ble _080B858E - ldr r4, _080B85F4 @ =gSharedMem + 0x192D0 - ldrb r0, [r4, 0x11] - movs r1, 0xE - bl SetContestantStatusUnk13 - cmp r7, 0 - bne _080B85EC - ldrb r0, [r4, 0x11] - movs r1, 0x39 - bl SetContestantStatusUnk14 -_080B85EC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B85F4: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_28 - - thumb_func_start ContestEffect_29 -ContestEffect_29: @ 80B85F8 - push {r4,lr} - ldr r0, _080B863C @ =gUnknown_02038696 - ldr r4, _080B8640 @ =gSharedMem + 0x192D0 - ldrb r2, [r4, 0x11] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0 - bne _080B8636 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, _080B8644 @ =gContestEffects - ldr r2, _080B8648 @ =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0xF - bl SetContestantStatusUnk13 -_080B8636: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B863C: .4byte gUnknown_02038696 -_080B8640: .4byte gSharedMem + 0x192D0 -_080B8644: .4byte gContestEffects -_080B8648: .4byte gContestMoves - thumb_func_end ContestEffect_29 - - thumb_func_start ContestEffect_30 -ContestEffect_30: @ 80B864C - push {r4,lr} - ldr r0, _080B8690 @ =gUnknown_02038696 - ldr r4, _080B8694 @ =gSharedMem + 0x192D0 - ldrb r2, [r4, 0x11] - adds r0, r2, r0 - ldrb r0, [r0] - cmp r0, 0x3 - bne _080B868A - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - adds r0, r4, 0 - subs r0, 0x70 - adds r1, r0 - ldrh r0, [r1, 0x6] - ldr r3, _080B8698 @ =gContestEffects - ldr r2, _080B869C @ =gContestMoves - lsls r0, 3 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - lsls r0, 1 - ldrh r2, [r1, 0x2] - adds r0, r2 - strh r0, [r1, 0x2] - ldrb r0, [r4, 0x11] - movs r1, 0x10 - bl SetContestantStatusUnk13 -_080B868A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B8690: .4byte gUnknown_02038696 -_080B8694: .4byte gSharedMem + 0x192D0 -_080B8698: .4byte gContestEffects -_080B869C: .4byte gContestMoves - thumb_func_end ContestEffect_30 - thumb_func_start ContestEffect_31 ContestEffect_31: @ 80B86A0 push {r4-r7,lr} diff --git a/src/contest_effect.c b/src/contest_effect.c index bbd56493b..546ab0fc8 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -376,3 +376,70 @@ void ContestEffect_26(void) if (r9 == 0) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } + +void ContestEffect_27(void) +{ + u8 r8 = 0; + int r6; + + for (r6 = 0; r6 < 4; r6++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r6] && + sContestantStatus[r6].unkD > 0 && + sub_80B90C0(r6)) + { + sContestantStatus[r6].unkD = 0; + sContestantStatus[r6].unk10_4 = 2; + SetContestantStatusUnk13(r6, 13); + r8++; + } + } + + SetContestantStatusUnk13(shared192D0.unk11, 12); + if (r8 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x39); +} + +void ContestEffect_28(void) +{ + u8 r7 = 0; + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[shared192D0.unk11] > shared192D0.unk0[r5]) + { + if (sContestantStatus[r5].unkD > 0) + shared192D0.unk4 = 40; + else + shared192D0.unk4 = 10; + shared192D0.unk8[0] = r5; + shared192D0.unk8[1] = 0xFF; + if (sub_80B9120()) + r7++; + } + } + SetContestantStatusUnk13(shared192D0.unk11, 14); + if (r7 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x39); +} + +void ContestEffect_29(void) +{ + if (gUnknown_02038696[shared192D0.unk11] == 0) + { + u16 move = curContestant->currMove; + curContestant->appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantStatusUnk13(shared192D0.unk11, 15); + } +} + +void ContestEffect_30(void) +{ + if (gUnknown_02038696[shared192D0.unk11] == 3) + { + u16 move = curContestant->currMove; + curContestant->appeal2 += 2 * gContestEffects[gContestMoves[move].effect].appeal; + SetContestantStatusUnk13(shared192D0.unk11, 16); + } +} |