diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-29 11:43:53 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-03-29 11:43:53 -0400 |
commit | af266c9e1bc286e80a451db7e2f95116655a4827 (patch) | |
tree | 58d3334294f27f79bc73194656b344595d0219c4 | |
parent | a8c57a0dd6cf3e3759dda41f7f2c6d89173262e7 (diff) |
through ContestEffect_24
-rw-r--r-- | asm/contest_effect.s | 213 | ||||
-rw-r--r-- | src/contest_effect.c | 114 |
2 files changed, 91 insertions, 236 deletions
diff --git a/asm/contest_effect.s b/asm/contest_effect.s index 1996857eb..35c4b3518 100644 --- a/asm/contest_effect.s +++ b/asm/contest_effect.s @@ -5,219 +5,6 @@ .text - thumb_func_start ContestEffect_17 -ContestEffect_17: @ 80B810C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r0, 0 - mov r9, r0 - ldr r0, _080B8150 @ =gSharedMem + 0x192D0 - ldrb r1, [r0, 0x11] - mov r8, r1 - adds r1, r0 - ldrb r1, [r1] - adds r6, r0, 0 - cmp r1, 0 - beq _080B817C - movs r5, 0 - adds r4, r6, 0 - movs r7, 0 -_080B812E: - mov r2, r8 - adds r0, r2, r4 - adds r1, r5, r4 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bls _080B8172 - adds r0, r6, 0 - subs r0, 0x70 - adds r0, r7, r0 - ldrb r1, [r0, 0x15] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080B8154 - movs r0, 0x32 - b _080B8156 - .align 2, 0 -_080B8150: .4byte gSharedMem + 0x192D0 -_080B8154: - movs r0, 0xA -_080B8156: - 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 _080B8172 - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_080B8172: - adds r7, 0x1C - adds r5, 0x1 - ldr r6, _080B81A0 @ =gSharedMem + 0x192D0 - cmp r5, 0x3 - ble _080B812E -_080B817C: - ldrb r0, [r6, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - mov r0, r9 - cmp r0, 0 - bne _080B8192 - ldrb r0, [r6, 0x11] - movs r1, 0x36 - bl SetContestantStatusUnk14 -_080B8192: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B81A0: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_17 - - thumb_func_start ContestEffect_18 -ContestEffect_18: @ 80B81A4 - push {r4,lr} - ldr r4, _080B81D0 @ =gSharedMem + 0x192D0 - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r4, 0 - subs r1, 0x70 - adds r0, r1 - ldrb r1, [r0, 0x11] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x11] - bl ContestEffect_09 - ldrb r0, [r4, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B81D0: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_18 - - thumb_func_start ContestEffect_19 -ContestEffect_19: @ 80B81D4 - push {r4,lr} - ldr r4, _080B8208 @ =gSharedMem + 0x192D0 - ldrb r1, [r4, 0x11] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r4, 0 - subs r1, 0x70 - adds r0, r1 - ldrh r0, [r0, 0x6] - ldr r1, _080B820C @ =gContestMoves - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x1] - lsls r0, 29 - lsrs r0, 29 - bl sub_80B9038 - ldrb r0, [r4, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B8208: .4byte gSharedMem + 0x192D0 -_080B820C: .4byte gContestMoves - thumb_func_end ContestEffect_19 - - thumb_func_start ContestEffect_20 -ContestEffect_20: @ 80B8210 - push {lr} - movs r0, 0 - bl sub_80B9038 - ldr r0, _080B8228 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r0} - bx r0 - .align 2, 0 -_080B8228: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_20 - - thumb_func_start ContestEffect_21 -ContestEffect_21: @ 80B822C - push {lr} - movs r0, 0x1 - bl sub_80B9038 - ldr r0, _080B8244 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r0} - bx r0 - .align 2, 0 -_080B8244: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_21 - - thumb_func_start ContestEffect_22 -ContestEffect_22: @ 80B8248 - push {lr} - movs r0, 0x2 - bl sub_80B9038 - ldr r0, _080B8260 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r0} - bx r0 - .align 2, 0 -_080B8260: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_22 - - thumb_func_start ContestEffect_23 -ContestEffect_23: @ 80B8264 - push {lr} - movs r0, 0x3 - bl sub_80B9038 - ldr r0, _080B827C @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r0} - bx r0 - .align 2, 0 -_080B827C: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_23 - - thumb_func_start ContestEffect_24 -ContestEffect_24: @ 80B8280 - push {lr} - movs r0, 0x4 - bl sub_80B9038 - ldr r0, _080B8298 @ =gSharedMem + 0x192D0 - ldrb r0, [r0, 0x11] - movs r1, 0x30 - bl SetContestantStatusUnk13 - pop {r0} - bx r0 - .align 2, 0 -_080B8298: .4byte gSharedMem + 0x192D0 - thumb_func_end ContestEffect_24 - thumb_func_start ContestEffect_25 ContestEffect_25: @ 80B829C push {r4-r7,lr} diff --git a/src/contest_effect.c b/src/contest_effect.c index 60dd2f320..7a6ffc0b0 100644 --- a/src/contest_effect.c +++ b/src/contest_effect.c @@ -5,6 +5,7 @@ u8 sub_80B9120(void); bool8 sub_80B90C0(u8); +void sub_80B9038(u8); extern bool8 const gComboStarterLookupTable[]; @@ -117,12 +118,12 @@ void ContestEffect_14(void) { u8 r0 = Random() % 10; int r1 = 20; - if (r0 >= 2) - { + if (r0 < 2) + r1 = 20; + else if (r0 < 8) + r1 = 40; + else r1 = 60; - if (r0 < 8) - r1 = 40; - } shared192D0.unk4 = r1; ContestEffect_08(); } @@ -143,25 +144,19 @@ void ContestEffect_15(void) { shared192D0.unk8[1] = 0xFF; { u8 r0 = Random() % 10; - int r1 = 0; - if (r0 > 0) - { + int r1; + if (r0 == 0) + r1 = 0; + else if (r0 <= 2) r1 = 10; - if (r0 > 2) - { - r1 = 20; - if (r0 > 4) - { - r1 = 30; - if (r0 > 6) - { - r1 = 60; - if (r0 <= 8) - r1 = 40; - } - } - } - } + else if (r0 <= 4) + r1 = 20; + else if (r0 <= 6) + r1 = 30; + else if (r0 <= 8) + r1 = 40; + else + r1 = 60; shared192D0.unk4 = r1; } if (sub_80B9120()) @@ -202,3 +197,76 @@ void ContestEffect_16(void) SetContestantStatusUnk14(shared192D0.unk11, 0x36); } } + +void ContestEffect_17(void) +{ + u8 r9 = 0; + u8 r8 = shared192D0.unk11; + + if (shared192D0.unk0[shared192D0.unk11] != 0) + { + int r5; + + for (r5 = 0; r5 < 4; r5++) + { + if (shared192D0.unk0[r8] > shared192D0.unk0[r5]) + { + if (sContestantStatus[r5].unk15_4) + shared192D0.unk4 = 50; + else + shared192D0.unk4 = 10; + shared192D0.unk8[0] = r5; + shared192D0.unk8[1] = 0xFF; + if (sub_80B9120()) + r9++; + } + } + } + SetContestantStatusUnk13(shared192D0.unk11, 48); + if (r9 == 0) + SetContestantStatusUnk14(shared192D0.unk11, 0x36); +} + +void ContestEffect_18(void) +{ + curContestant->unk11_2 = TRUE; + ContestEffect_09(); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_19(void) +{ + u16 move = curContestant->currMove; + sub_80B9038(gContestMoves[move].contestCategory); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_20(void) +{ + sub_80B9038(CONTEST_CATEGORY_COOL); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_21(void) +{ + sub_80B9038(CONTEST_CATEGORY_BEAUTY); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_22(void) +{ + sub_80B9038(CONTEST_CATEGORY_CUTE); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_23(void) +{ + sub_80B9038(CONTEST_CATEGORY_SMART); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} + +void ContestEffect_24(void) +{ + sub_80B9038(CONTEST_CATEGORY_TOUGH); + SetContestantStatusUnk13(shared192D0.unk11, 48); +} |