diff options
-rw-r--r-- | asm/contest_link_80C2020.s | 822 | ||||
-rw-r--r-- | include/contest.h | 3 | ||||
-rw-r--r-- | include/contest_link_80C857C.h | 3 | ||||
-rw-r--r-- | src/battle/contest_link_80C2020.c | 275 | ||||
-rw-r--r-- | src/battle/contest_link_80C857C.c | 10 | ||||
-rw-r--r-- | src/contest.c | 16 | ||||
-rw-r--r-- | src/contest_ai.c | 4 | ||||
-rw-r--r-- | src/debug/matsuda_debug_menu.c | 14 | ||||
-rw-r--r-- | src/script_pokemon_util_80C4BF0.c | 10 | ||||
-rw-r--r-- | src/script_pokemon_util_80F99CC.c | 8 | ||||
-rw-r--r-- | src/tv.c | 6 |
11 files changed, 312 insertions, 859 deletions
diff --git a/asm/contest_link_80C2020.s b/asm/contest_link_80C2020.s index 503ccd4be..22f916120 100644 --- a/asm/contest_link_80C2020.s +++ b/asm/contest_link_80C2020.s @@ -5,828 +5,6 @@ .text - thumb_func_start sub_80C43F4 -sub_80C43F4: @ 80C43F4 - push {r4,r5,lr} - ldr r0, _080C442C @ =gUnknown_02038694 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080C4430 @ =gPlayerParty - adds r0, r1 - bl sub_80AE47C - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - cmp r5, 0 - beq _080C4422 - ldr r4, _080C4434 @ =gSpecialVar_ContestCategory - ldrb r0, [r4] - ldr r1, _080C4438 @ =gSpecialVar_ContestRank - ldrb r1, [r1] - bl Contest_InitAllPokemon - ldrb r0, [r4] - bl sub_80AE82C -_080C4422: - ldr r0, _080C443C @ =gSpecialVar_Result - strh r5, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C442C: .4byte gUnknown_02038694 -_080C4430: .4byte gPlayerParty -_080C4434: .4byte gSpecialVar_ContestCategory -_080C4438: .4byte gSpecialVar_ContestRank -_080C443C: .4byte gSpecialVar_Result - thumb_func_end sub_80C43F4 - - thumb_func_start sub_80C4440 -sub_80C4440: @ 80C4440 - push {r4,lr} - movs r4, 0 - ldr r0, _080C4464 @ =gUnknown_02038694 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _080C4468 @ =gPlayerParty - adds r2, r1, r0 - ldr r0, _080C446C @ =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bhi _080C44B2 - lsls r0, 2 - ldr r1, _080C4470 @ =_080C4474 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C4464: .4byte gUnknown_02038694 -_080C4468: .4byte gPlayerParty -_080C446C: .4byte gSpecialVar_ContestCategory -_080C4470: .4byte _080C4474 - .align 2, 0 -_080C4474: - .4byte _080C4488 - .4byte _080C448E - .4byte _080C4494 - .4byte _080C449A - .4byte _080C44A0 -_080C4488: - adds r0, r2, 0 - movs r1, 0x32 - b _080C44A4 -_080C448E: - adds r0, r2, 0 - movs r1, 0x33 - b _080C44A4 -_080C4494: - adds r0, r2, 0 - movs r1, 0x34 - b _080C44A4 -_080C449A: - adds r0, r2, 0 - movs r1, 0x35 - b _080C44A4 -_080C44A0: - adds r0, r2, 0 - movs r1, 0x36 -_080C44A4: - bl GetMonData - ldr r1, _080C44BC @ =gSpecialVar_ContestRank - ldrh r1, [r1] - cmp r0, r1 - bls _080C44B2 - movs r4, 0x1 -_080C44B2: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080C44BC: .4byte gSpecialVar_ContestRank - thumb_func_end sub_80C4440 - - thumb_func_start sub_80C44C0 -sub_80C44C0: @ 80C44C0 - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _080C44E8 @ =gContestFinalStandings - ldr r0, _080C44EC @ =gContestPlayerMonIndex - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080C44D4 - b _080C465E -_080C44D4: - ldr r0, _080C44F0 @ =gSpecialVar_ContestCategory - ldrh r0, [r0] - cmp r0, 0x4 - bls _080C44DE - b _080C465E -_080C44DE: - lsls r0, 2 - ldr r1, _080C44F4 @ =_080C44F8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080C44E8: .4byte gContestFinalStandings -_080C44EC: .4byte gContestPlayerMonIndex -_080C44F0: .4byte gSpecialVar_ContestCategory -_080C44F4: .4byte _080C44F8 - .align 2, 0 -_080C44F8: - .4byte _080C450C - .4byte _080C4554 - .4byte _080C4598 - .4byte _080C45DC - .4byte _080C4624 -_080C450C: - ldr r6, _080C4548 @ =gUnknown_02038694 - ldrb r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, _080C454C @ =gPlayerParty - adds r0, r4 - movs r1, 0x32 - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - mov r0, sp - strb r1, [r0] - ldr r0, _080C4550 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r1, r0 - bls _080C4530 - b _080C465E -_080C4530: - adds r0, r1, 0 - cmp r0, 0x3 - bls _080C4538 - b _080C465E -_080C4538: - adds r1, r0, 0x1 - mov r0, sp - strb r1, [r0] - ldrb r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0x32 - b _080C4610 - .align 2, 0 -_080C4548: .4byte gUnknown_02038694 -_080C454C: .4byte gPlayerParty -_080C4550: .4byte gSpecialVar_ContestRank -_080C4554: - mov r4, sp - ldr r7, _080C458C @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C4590 @ =gPlayerParty - adds r0, r5 - movs r1, 0x33 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C4594 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x33 - b _080C4610 - .align 2, 0 -_080C458C: .4byte gUnknown_02038694 -_080C4590: .4byte gPlayerParty -_080C4594: .4byte gSpecialVar_ContestRank -_080C4598: - mov r4, sp - ldr r7, _080C45D0 @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C45D4 @ =gPlayerParty - adds r0, r5 - movs r1, 0x34 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C45D8 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x34 - b _080C4610 - .align 2, 0 -_080C45D0: .4byte gUnknown_02038694 -_080C45D4: .4byte gPlayerParty -_080C45D8: .4byte gSpecialVar_ContestRank -_080C45DC: - mov r4, sp - ldr r7, _080C4618 @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C461C @ =gPlayerParty - adds r0, r5 - movs r1, 0x35 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C4620 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x35 -_080C4610: - mov r2, sp - bl SetMonData - b _080C465E - .align 2, 0 -_080C4618: .4byte gUnknown_02038694 -_080C461C: .4byte gPlayerParty -_080C4620: .4byte gSpecialVar_ContestRank -_080C4624: - mov r4, sp - ldr r7, _080C4668 @ =gUnknown_02038694 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, _080C466C @ =gPlayerParty - adds r0, r5 - movs r1, 0x36 - bl GetMonData - strb r0, [r4] - mov r0, sp - ldrb r2, [r0] - ldr r0, _080C4670 @ =gSpecialVar_ContestRank - ldrh r0, [r0] - cmp r2, r0 - bhi _080C465E - cmp r2, 0x3 - bhi _080C465E - mov r1, sp - adds r0, r2, 0x1 - strb r0, [r1] - ldrb r0, [r7] - muls r0, r6 - adds r0, r5 - movs r1, 0x36 - mov r2, sp - bl SetMonData -_080C465E: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080C4668: .4byte gUnknown_02038694 -_080C466C: .4byte gPlayerParty -_080C4670: .4byte gSpecialVar_ContestRank - thumb_func_end sub_80C44C0 - - thumb_func_start sub_80C4674 -sub_80C4674: @ 80C4674 - push {r4,lr} - adds r4, r0, 0 - bl StringCopy - ldrb r0, [r4] - cmp r0, 0xFC - bne _080C4690 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _080C4690 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_080C4690: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80C4674 - - thumb_func_start sub_80C4698 -sub_80C4698: @ 80C4698 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r1, r4, 6 - ldr r0, _080C46E0 @ =gContestMons + 0x2 - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - ldr r0, _080C46E4 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C46DA - ldr r0, _080C46E8 @ =gLinkPlayers - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x1A] - cmp r0, 0x1 - bne _080C46DA - adds r0, r5, 0 - bl sub_80C86A0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - bl ConvertInternationalString -_080C46DA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080C46E0: .4byte gContestMons + 0x2 -_080C46E4: .4byte gIsLinkContest -_080C46E8: .4byte gLinkPlayers - thumb_func_end sub_80C4698 - - thumb_func_start sub_80C46EC -sub_80C46EC: @ 80C46EC - push {lr} - ldr r0, _080C4710 @ =gIsLinkContest - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C4720 - ldr r0, _080C4714 @ =gStringVar1 - ldr r1, _080C4718 @ =gSpecialVar_0x8006 - ldrh r2, [r1] - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r2, _080C471C @ =gLinkPlayers + 0x8 - adds r1, r2 - bl sub_80C4674 - b _080C4730 - .align 2, 0 -_080C4710: .4byte gIsLinkContest -_080C4714: .4byte gStringVar1 -_080C4718: .4byte gSpecialVar_0x8006 -_080C471C: .4byte gLinkPlayers + 0x8 -_080C4720: - ldr r0, _080C4734 @ =gStringVar1 - ldr r1, _080C4738 @ =gSpecialVar_0x8006 - ldrh r1, [r1] - lsls r1, 6 - ldr r2, _080C473C @ =gContestMons + 0xD - adds r1, r2 - bl sub_80C4674 -_080C4730: - pop {r0} - bx r0 - .align 2, 0 -_080C4734: .4byte gStringVar1 -_080C4738: .4byte gSpecialVar_0x8006 -_080C473C: .4byte gContestMons + 0xD - thumb_func_end sub_80C46EC - - thumb_func_start sub_80C4740 -sub_80C4740: @ 80C4740 - push {lr} - ldr r0, _080C4750 @ =gStringVar3 - ldr r1, _080C4754 @ =gSpecialVar_0x8006 - ldrb r1, [r1] - bl sub_80C4698 - pop {r0} - bx r0 - .align 2, 0 -_080C4750: .4byte gStringVar3 -_080C4754: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C4740 - - thumb_func_start sub_80C4758 -sub_80C4758: @ 80C4758 - push {r4-r6,lr} - movs r1, 0 - movs r2, 0 - ldr r5, _080C4794 @ =gSpecialVar_0x8004 - ldr r4, _080C4798 @ =gUnknown_02038670 - ldr r0, _080C479C @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r4 - movs r6, 0 - ldrsh r3, [r0, r6] -_080C476E: - lsls r0, r1, 1 - adds r0, r4 - movs r6, 0 - ldrsh r0, [r0, r6] - cmp r3, r0 - bge _080C4780 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080C4780: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _080C476E - strh r2, [r5] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C4794: .4byte gSpecialVar_0x8004 -_080C4798: .4byte gUnknown_02038670 -_080C479C: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C4758 - - thumb_func_start sub_80C47A0 -sub_80C47A0: @ 80C47A0 - ldr r2, _080C47B4 @ =gSpecialVar_0x8004 - ldr r1, _080C47B8 @ =gUnknown_02038670 - ldr r0, _080C47BC @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .align 2, 0 -_080C47B4: .4byte gSpecialVar_0x8004 -_080C47B8: .4byte gUnknown_02038670 -_080C47BC: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C47A0 - - thumb_func_start sub_80C47C0 -sub_80C47C0: @ 80C47C0 - push {lr} - movs r1, 0 - ldr r2, _080C47E8 @ =gContestFinalStandings - ldrb r0, [r2] - ldr r3, _080C47EC @ =gSpecialVar_0x8005 - cmp r0, 0 - beq _080C47E0 -_080C47CE: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080C47E0 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080C47CE -_080C47E0: - strh r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_080C47E8: .4byte gContestFinalStandings -_080C47EC: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80C47C0 - - thumb_func_start sub_80C47F0 -sub_80C47F0: @ 80C47F0 - push {r4,lr} - movs r2, 0 - ldr r3, _080C4830 @ =gContestFinalStandings - ldrb r0, [r3] - ldr r1, _080C4834 @ =gIsLinkContest - ldr r4, _080C4838 @ =gStringVar3 - cmp r0, 0 - beq _080C4812 -_080C4800: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _080C4812 - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080C4800 -_080C4812: - ldrb r1, [r1] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080C4840 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, _080C483C @ =gLinkPlayers + 0x8 - adds r1, r0 - adds r0, r4, 0 - bl sub_80C4674 - b _080C484C - .align 2, 0 -_080C4830: .4byte gContestFinalStandings -_080C4834: .4byte gIsLinkContest -_080C4838: .4byte gStringVar3 -_080C483C: .4byte gLinkPlayers + 0x8 -_080C4840: - lsls r1, r2, 6 - ldr r0, _080C4854 @ =gContestMons + 0xD - adds r1, r0 - adds r0, r4, 0 - bl sub_80C4674 -_080C484C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C4854: .4byte gContestMons + 0xD - thumb_func_end sub_80C47F0 - - thumb_func_start sub_80C4858 -sub_80C4858: @ 80C4858 - push {lr} - movs r1, 0 - ldr r2, _080C4884 @ =gContestFinalStandings - ldrb r0, [r2] - ldr r3, _080C4888 @ =gStringVar1 - cmp r0, 0 - beq _080C4878 -_080C4866: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bhi _080C4878 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _080C4866 -_080C4878: - adds r0, r3, 0 - bl sub_80C4698 - pop {r0} - bx r0 - .align 2, 0 -_080C4884: .4byte gContestFinalStandings -_080C4888: .4byte gStringVar1 - thumb_func_end sub_80C4858 - - thumb_func_start sub_80C488C -sub_80C488C: @ 80C488C - push {lr} - ldr r0, _080C4898 @ =CB2_StartContest - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_080C4898: .4byte CB2_StartContest - thumb_func_end sub_80C488C - - thumb_func_start sub_80C489C -sub_80C489C: @ 80C489C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080C48C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C48BA - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080C48C4 @ =sub_80C488C - bl SetMainCallback2 -_080C48BA: - pop {r0} - bx r0 - .align 2, 0 -_080C48C0: .4byte gPaletteFade -_080C48C4: .4byte sub_80C488C - thumb_func_end sub_80C489C - - thumb_func_start sub_80C48C8 -sub_80C48C8: @ 80C48C8 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080C48F0 @ =sub_80C489C - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080C48F0: .4byte sub_80C489C - thumb_func_end sub_80C48C8 - - thumb_func_start sub_80C48F4 -sub_80C48F4: @ 80C48F4 - ldr r2, _080C4908 @ =gSpecialVar_0x8004 - ldr r1, _080C490C @ =gContestMons - ldr r0, _080C4910 @ =gSpecialVar_0x8006 - ldrh r0, [r0] - lsls r0, 6 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r2] - bx lr - .align 2, 0 -_080C4908: .4byte gSpecialVar_0x8004 -_080C490C: .4byte gContestMons -_080C4910: .4byte gSpecialVar_0x8006 - thumb_func_end sub_80C48F4 - - thumb_func_start sub_80C4914 -sub_80C4914: @ 80C4914 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _080C4938 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080C4932 - adds r0, r2, 0 - bl DestroyTask - ldr r0, _080C493C @ =sub_80C2358 - bl SetMainCallback2 -_080C4932: - pop {r0} - bx r0 - .align 2, 0 -_080C4938: .4byte gPaletteFade -_080C493C: .4byte sub_80C2358 - thumb_func_end sub_80C4914 - - thumb_func_start sub_80C4940 -sub_80C4940: @ 80C4940 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, _080C4968 @ =sub_80C4914 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080C4968: .4byte sub_80C4914 - thumb_func_end sub_80C4940 - - thumb_func_start sub_80C496C -sub_80C496C: @ 80C496C - ldr r0, _080C4978 @ =gSpecialVar_0x8004 - ldr r1, _080C497C @ =gContestPlayerMonIndex - ldrb r1, [r1] - strh r1, [r0] - bx lr - .align 2, 0 -_080C4978: .4byte gSpecialVar_0x8004 -_080C497C: .4byte gContestPlayerMonIndex - thumb_func_end sub_80C496C - - thumb_func_start sub_80C4980 -sub_80C4980: @ 80C4980 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl ScriptContext2_Enable - ldr r6, _080C49B8 @ =sub_80C8604 - adds r0, r6, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _080C49BC @ =sub_80C49C4 - adds r0, r4, 0 - adds r1, r6, 0 - bl SetTaskFuncWithFollowupFunc - ldr r1, _080C49C0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x1A] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080C49B8: .4byte sub_80C8604 -_080C49BC: .4byte sub_80C49C4 -_080C49C0: .4byte gTasks - thumb_func_end sub_80C4980 - - thumb_func_start sub_80C49C4 -sub_80C49C4: @ 80C49C4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080C49E4 @ =gUnknown_02038694 - ldrb r0, [r0] - bl Contest_CreatePlayerMon - ldr r1, _080C49E8 @ =sub_80C8734 - ldr r2, _080C49EC @ =sub_80C49F0 - adds r0, r4, 0 - bl SetTaskFuncWithFollowupFunc - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080C49E4: .4byte gUnknown_02038694 -_080C49E8: .4byte sub_80C8734 -_080C49EC: .4byte sub_80C49F0 - thumb_func_end sub_80C49C4 - - thumb_func_start sub_80C49F0 -sub_80C49F0: @ 80C49F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4A04 @ =sub_80C88AC - ldr r2, _080C4A08 @ =sub_80C4A0C - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C4A04: .4byte sub_80C88AC -_080C4A08: .4byte sub_80C4A0C - thumb_func_end sub_80C49F0 - - thumb_func_start sub_80C4A0C -sub_80C4A0C: @ 80C4A0C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4A20 @ =sub_80C8E1C - ldr r2, _080C4A24 @ =sub_80C4A28 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C4A20: .4byte sub_80C8E1C -_080C4A24: .4byte sub_80C4A28 - thumb_func_end sub_80C4A0C - - thumb_func_start sub_80C4A28 -sub_80C4A28: @ 80C4A28 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080C4A3C @ =sub_80C8938 - ldr r2, _080C4A40 @ =sub_80C4A44 - bl SetTaskFuncWithFollowupFunc - pop {r0} - bx r0 - .align 2, 0 -_080C4A3C: .4byte sub_80C8938 -_080C4A40: .4byte sub_80C4A44 - thumb_func_end sub_80C4A28 - thumb_func_start sub_80C4A44 sub_80C4A44: @ 80C4A44 push {r4-r7,lr} diff --git a/include/contest.h b/include/contest.h index 4e7a28f89..eb40cdb62 100644 --- a/include/contest.h +++ b/include/contest.h @@ -432,7 +432,7 @@ extern u8 gContestPlayerMonIndex; extern u8 gIsLinkContest; extern u32 gContestRngValue; extern u8 gUnknown_02038696[4]; -extern s16 gUnknown_02038670[4]; +extern s16 gContestMonConditions[4]; extern s16 gUnknown_02038678[4]; extern s16 gUnknown_02038680[4]; extern s16 gUnknown_02038688[4]; @@ -441,6 +441,7 @@ extern u8 gUnknown_02038696[4]; extern u8 gUnknown_0203869B; extern u16 gSpecialVar_ContestRank; extern u16 gSpecialVar_ContestCategory; +extern u8 gContestMonPartyIndex; void SetContestantEffectStringID(u8 a, u8 b); void SetContestantEffectStringID2(u8 a, u8 b); diff --git a/include/contest_link_80C857C.h b/include/contest_link_80C857C.h index c0f7088b0..15f41fe7f 100644 --- a/include/contest_link_80C857C.h +++ b/include/contest_link_80C857C.h @@ -7,5 +7,8 @@ void sub_80C89DC(u8); void sub_80C8E1C(u8); void sub_80C8EBC(u8); void sub_80C8F34(u8); +u8 GetStringLanguage(const u8 *string); +void sub_80C8604(u8 taskId); +void sub_80C8938(u8 taskId); #endif // GUARD_CONTEST_LINK_80C857C_H diff --git a/src/battle/contest_link_80C2020.c b/src/battle/contest_link_80C2020.c index 72f78ead5..14424a4bf 100644 --- a/src/battle/contest_link_80C2020.c +++ b/src/battle/contest_link_80C2020.c @@ -27,6 +27,8 @@ #include "contest_link_80C857C.h" #include "contest_link_80C2020.h" #include "pokemon_storage_system.h" +#include "event_data.h" +#include "script.h" #include "trig.h" #define ABS(x) ((x) < 0 ? -(x) : (x)) @@ -115,6 +117,11 @@ void sub_80C3EA4(u8 taskId); void sub_80C3F00(void); void sub_80C40D4(u8 a0, u8 a1); void sub_80C42C0(u8 taskId); +void sub_80C49C4(u8 taskId); +void sub_80C49F0(u8 taskId); +void sub_80C4A0C(u8 taskId); +void sub_80C4A28(u8 taskId); +void sub_80C4A44(u8 taskId); const u16 gUnknown_083D1624[] = INCBIN_U16("graphics/unknown/unknown_3D1624/0.4bpp"); const u16 gUnknown_083D1644[] = INCBIN_U16("graphics/unknown/unknown_3D1624/1.4bpp"); @@ -1777,7 +1784,7 @@ u8 sub_80C3990(u8 monIndex, u8 arg1) u32 var0; u32 var1; - var0 = gUnknown_02038670[monIndex] << 16; + var0 = gContestMonConditions[monIndex] << 16; var1 = var0 / 0x3F; if (var1 & 0xFFFF) var1 += 0x10000; @@ -2106,7 +2113,7 @@ void sub_80C3F00(void) for (i = 0; i < 4; i++) { - r4 = 1000 * gUnknown_02038670[i] / ABS(r2); + r4 = 1000 * gContestMonConditions[i] / ABS(r2); if ((r4 % 10) >= 5) r4 += 10; eContestLink80C2020Struct2018018[i].unk_00 = r4 / 10; @@ -2550,3 +2557,267 @@ void sub_80C42C0(u8 taskId /*r12*/) DestroyTask(taskId); } } + +void sub_80C43F4(void) +{ + u8 result = sub_80AE47C(&gPlayerParty[gContestMonPartyIndex]); + if (result != 0) + { + Contest_InitAllPokemon(gSpecialVar_ContestCategory, gSpecialVar_ContestRank); + sub_80AE82C(gSpecialVar_ContestCategory); + } + gSpecialVar_Result = result; +} + +u16 sub_80C4440(void) +{ + u16 result = 0; + struct Pokemon *mon = &gPlayerParty[gContestMonPartyIndex]; + switch (gSpecialVar_ContestCategory) + { + case CONTEST_CATEGORY_COOL: + if (GetMonData(mon, MON_DATA_COOL_RIBBON) > gSpecialVar_ContestRank) + result = 1; + break; + case CONTEST_CATEGORY_BEAUTY: + if (GetMonData(mon, MON_DATA_BEAUTY_RIBBON) > gSpecialVar_ContestRank) + result = 1; + break; + case CONTEST_CATEGORY_CUTE: + if (GetMonData(mon, MON_DATA_CUTE_RIBBON) > gSpecialVar_ContestRank) + result = 1; + break; + case CONTEST_CATEGORY_SMART: + if (GetMonData(mon, MON_DATA_SMART_RIBBON) > gSpecialVar_ContestRank) + result = 1; + break; + case CONTEST_CATEGORY_TOUGH: + if (GetMonData(mon, MON_DATA_TOUGH_RIBBON) > gSpecialVar_ContestRank) + result = 1; + break; + } + + return result; +} + + +void sub_80C44C0(void) +{ + u8 ribbonData; + + if (gContestFinalStandings[gContestPlayerMonIndex] != 0) + return; + + switch (gSpecialVar_ContestCategory) + { + case CONTEST_CATEGORY_COOL: + ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON); + if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + { + ribbonData++; + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_COOL_RIBBON, &ribbonData); + } + break; + case CONTEST_CATEGORY_BEAUTY: + ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON); + if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + { + ribbonData++; + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_BEAUTY_RIBBON, &ribbonData); + } + break; + case CONTEST_CATEGORY_CUTE: + ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON); + if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + { + ribbonData++; + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_CUTE_RIBBON, &ribbonData); + } + break; + case CONTEST_CATEGORY_SMART: + ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON); + if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + { + ribbonData++; + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SMART_RIBBON, &ribbonData); + } + break; + case CONTEST_CATEGORY_TOUGH: + ribbonData = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON); + if (ribbonData <= gSpecialVar_ContestRank && ribbonData < 4) + { + ribbonData++; + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_TOUGH_RIBBON, &ribbonData); + } + break; + } +} + +void sub_80C4674(u8 * dest, const u8 * src) +{ + StringCopy(dest, src); + if (dest[0] == EXT_CTRL_CODE_BEGIN && dest[1] == 0x15) + ConvertInternationalString(dest, LANGUAGE_JAPANESE); +} + +void sub_80C4698(u8 * dest, u8 idx) +{ + StringCopy(dest, gContestMons[idx].nickname); + if (gIsLinkContest & 1) + { + if (gLinkPlayers[idx].language == LANGUAGE_JAPANESE) + { + ConvertInternationalString(dest, GetStringLanguage(dest)); + } + } +} + +void sub_80C46EC(void) +{ + if (gIsLinkContest & 1) + { + sub_80C4674(gStringVar1, gLinkPlayers[gSpecialVar_0x8006].name); + } + else + { + sub_80C4674(gStringVar1, gContestMons[gSpecialVar_0x8006].trainerName); + } +} + +void sub_80C4740(void) +{ + sub_80C4698(gStringVar3, gSpecialVar_0x8006); +} + +void sub_80C4758(void) +{ + u8 i; + u8 count; + + for (i = 0, count = 0; i < 4; i++) + { + if (gContestMonConditions[gSpecialVar_0x8006] < gContestMonConditions[i]) + count++; + } + + gSpecialVar_0x8004 = count; +} + +void sub_80C47A0(void) +{ + gSpecialVar_0x8004 = gContestMonConditions[gSpecialVar_0x8006]; +} + +void sub_80C47C0(void) +{ + u8 i; + + for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + ; + + gSpecialVar_0x8005 = i; +} + +void sub_80C47F0(void) +{ + u8 i; + + for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + ; + + if (gIsLinkContest & 1) + { + sub_80C4674(gStringVar3, gLinkPlayers[i].name); + } + else + { + sub_80C4674(gStringVar3, gContestMons[i].trainerName); + } +} + +void sub_80C4858(void) +{ + u8 i; + + for (i = 0; i < 4 && gContestFinalStandings[i] != 0; i++) + ; + + sub_80C4698(gStringVar1, i); +} + +void sub_80C488C(void) +{ + SetMainCallback2(CB2_StartContest); +} + +void sub_80C489C(u8 taskId) +{ + if (!gPaletteFade.active) + { + DestroyTask(taskId); + SetMainCallback2(sub_80C488C); + } +} + +void sub_80C48C8(void) +{ + ScriptContext2_Enable(); + CreateTask(sub_80C489C, 10); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); +} + +void sub_80C48F4(void) +{ + gSpecialVar_0x8004 = gContestMons[gSpecialVar_0x8006].species; +} + +void sub_80C4914(u8 taskId) +{ + if (!gPaletteFade.active) + { + DestroyTask(taskId); + SetMainCallback2(sub_80C2358); + } +} + +void sub_80C4940(void) +{ + ScriptContext2_Enable(); + CreateTask(sub_80C4914, 10); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); +} + +void sub_80C496C(void) +{ + gSpecialVar_0x8004 = gContestPlayerMonIndex; +} + +void sub_80C4980(u8 taskId) +{ + u8 taskId2; + ScriptContext2_Enable(); + taskId2 = CreateTask(sub_80C8604, 0); + SetTaskFuncWithFollowupFunc(taskId2, sub_80C8604, sub_80C49C4); + gTasks[taskId2].data[9] = taskId; +} + +void sub_80C49C4(u8 taskId) +{ + Contest_CreatePlayerMon(gContestMonPartyIndex); + SetTaskFuncWithFollowupFunc(taskId, sub_80C8734, sub_80C49F0); +} + +void sub_80C49F0(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80C88AC, sub_80C4A0C); +} + +void sub_80C4A0C(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80C8E1C, sub_80C4A28); +} + +void sub_80C4A28(u8 taskId) +{ + SetTaskFuncWithFollowupFunc(taskId, sub_80C8938, sub_80C4A44); +} diff --git a/src/battle/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c index 94454e45c..a694380df 100644 --- a/src/battle/contest_link_80C857C.c +++ b/src/battle/contest_link_80C857C.c @@ -73,7 +73,7 @@ static void sub_80C8660(u8 taskId) } #ifdef NONMATCHING -u8 sub_80C86A0(const u8 *string) +u8 GetStringLanguage(const u8 *string) { u8 language = GAME_LANGUAGE; if (string[0] == EXT_CTRL_CODE_BEGIN && string[1] == 0x15) @@ -107,7 +107,7 @@ u8 sub_80C86A0(const u8 *string) return language; } #else -NAKED u8 sub_80C86A0(const u8 *string) +NAKED u8 GetStringLanguage(const u8 *string) { asm_unified("\tpush {r4,r5,lr}\n" "\tadds r4, r0, 0\n" @@ -252,7 +252,7 @@ void sub_80C8734(u8 taskId) name = gContestMons[i].nickname; if (gLinkPlayers[i].language == LANGUAGE_JAPANESE) { - ConvertInternationalString(name, sub_80C86A0(name)); + ConvertInternationalString(name, GetStringLanguage(name)); } else if (name[10] == EXT_CTRL_CODE_BEGIN) { @@ -681,14 +681,14 @@ void sub_80C8EBC(u8 taskId) case 0: if (IsLinkTaskFinished()) { - SendBlockToAllOpponents(gUnknown_02038670, sizeof gUnknown_02038670); + SendBlockToAllOpponents(gContestMonConditions, sizeof gContestMonConditions); gTasks[taskId].data[0]++; } break; case 1: if (HaveAllPlayersReceivedBlock()) { - memcpy(gUnknown_02038670, gBlockRecvBuffer[gUnknown_0203869B], sizeof gUnknown_02038670); + memcpy(gContestMonConditions, gBlockRecvBuffer[gUnknown_0203869B], sizeof gContestMonConditions); gTasks[taskId].data[0]++; } break; diff --git a/src/contest.c b/src/contest.c index 2b169196a..4efe18cce 100644 --- a/src/contest.c +++ b/src/contest.c @@ -267,12 +267,12 @@ void SelectContestMoveBankTarget(u16); EWRAM_DATA u8 gUnknown_0203856C = 0; EWRAM_DATA struct ContestPokemon gContestMons[4] = {0}; -EWRAM_DATA s16 gUnknown_02038670[4] = {0}; +EWRAM_DATA s16 gContestMonConditions[4] = {0}; EWRAM_DATA s16 gUnknown_02038678[4] = {0}; EWRAM_DATA s16 gUnknown_02038680[4] = {0}; EWRAM_DATA s16 gUnknown_02038688[4] = {0}; EWRAM_DATA u8 gContestFinalStandings[4] = {0}; // What "place" each participant came in. -EWRAM_DATA u8 gUnknown_02038694 = 0; +EWRAM_DATA u8 gContestMonPartyIndex = 0; EWRAM_DATA u8 gContestPlayerMonIndex = 0; EWRAM_DATA u8 gUnknown_02038696[4] = {0}; EWRAM_DATA u8 gIsLinkContest = 0; @@ -2242,7 +2242,7 @@ void Contest_InitAllPokemon(u8 contestType, u8 rank) asm(""::"r"(i)); #endif - Contest_CreatePlayerMon(gUnknown_02038694); + Contest_CreatePlayerMon(gContestMonPartyIndex); } // GetContestAvailability? @@ -2423,7 +2423,7 @@ void sub_80AE82C(u8 a) u8 i; for (i = 0; i < 4; i++) - gUnknown_02038670[i] = sub_80AE770(i, a); + gContestMonConditions[i] = sub_80AE770(i, a); } u8 CreateJudgeSprite(void) @@ -3024,7 +3024,7 @@ bool8 unref_sub_80AF5D0(u8 a, u8 b) void sub_80AF630(u8 a) { gUnknown_02038688[a] = sub_80AF688(a); - gUnknown_02038678[a] = gUnknown_02038670[a] + gUnknown_02038688[a]; + gUnknown_02038678[a] = gContestMonConditions[a] + gUnknown_02038688[a]; } void sub_80AF668(void) @@ -3067,7 +3067,7 @@ void DetermineFinalStandings(void) for (i = 0; i < 4; i++) { sp8[i].unk0 = gUnknown_02038678[i]; - sp8[i].unk4 = gUnknown_02038670[i]; + sp8[i].unk4 = gContestMonConditions[i]; sp8[i].unk8 = sp0[i]; sp8[i].unkC = i; } @@ -4433,8 +4433,8 @@ void sub_80B0F28(u8 a) gUnknown_02038696[i] = i; for (r4 = 0; r4 < i; r4++) { - if (gUnknown_02038670[gUnknown_02038696[r4]] < gUnknown_02038670[i] - || (gUnknown_02038670[gUnknown_02038696[r4]] == gUnknown_02038670[i] && sp4[gUnknown_02038696[r4]] < sp4[i])) + if (gContestMonConditions[gUnknown_02038696[r4]] < gContestMonConditions[i] + || (gContestMonConditions[gUnknown_02038696[r4]] == gContestMonConditions[i] && sp4[gUnknown_02038696[r4]] < sp4[i])) { for (r2 = i; r2 > r4; r2--) gUnknown_02038696[r2] = gUnknown_02038696[r2 - 1]; diff --git a/src/contest_ai.c b/src/contest_ai.c index a6dde8afe..06d4c11ca 100644 --- a/src/contest_ai.c +++ b/src/contest_ai.c @@ -632,7 +632,7 @@ static void ContestAICmd_unk_19(void) static void ContestAICmd_unk_1A(void) { - eContestAI->scriptResult = gUnknown_02038670[eContestAI->unk41]; + eContestAI->scriptResult = gContestMonConditions[eContestAI->unk41]; gAIScriptPtr += 1; } @@ -1353,7 +1353,7 @@ static void ContestAICmd_unk_5E(void) { u8 var = sub_8128A7C(gAIScriptPtr[1]); - eContestAI->scriptResult = gUnknown_02038670[var] - gUnknown_02038670[eContestAI->unk41]; + eContestAI->scriptResult = gContestMonConditions[var] - gContestMonConditions[eContestAI->unk41]; gAIScriptPtr += 2; } diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c index e24868787..b0fc9b45d 100644 --- a/src/debug/matsuda_debug_menu.c +++ b/src/debug/matsuda_debug_menu.c @@ -19,7 +19,7 @@ #include "ewram.h" extern u8 gUnknown_0203856C; -extern u8 gUnknown_02038694; +extern u8 gContestMonPartyIndex; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; @@ -502,12 +502,12 @@ static void sub_80AA10C(void) SetVBlankCallback(sub_80AA090); SetMainCallback2(sub_80AA064); gPaletteFade.bufferTransferDisabled = 0; - gUnknown_02038694 = 0; + gContestMonPartyIndex = 0; if (!(gContestMons[0].nickname[0])) Contest_InitAllPokemon(0, 0); - Contest_CreatePlayerMon(gUnknown_02038694); + Contest_CreatePlayerMon(gContestMonPartyIndex); for (i = 0; i < 6; i++) { @@ -882,7 +882,7 @@ void sub_80AAD44(struct Sprite *sprite, s8 var2) SetDebugMonForContest(); for (i = 0; i < 4; i++) - gUnknown_02038670[i] = sub_80AE770(i, gSpecialVar_ContestCategory); + gContestMonConditions[i] = sub_80AE770(i, gSpecialVar_ContestCategory); SetMainCallback2(c2_exit_to_overworld_1_sub_8080DEC); } } @@ -950,13 +950,13 @@ void sub_80AAF30(void) for (i = 0; i < 3; i++) { - gUnknown_02038670[i] = 0; + gContestMonConditions[i] = 0; gUnknown_02038680[i] = 0; gUnknown_02038678[i] = 0; gContestMons[i] = gContestMons[3]; } - gUnknown_02038670[3] = 0x12C; + gContestMonConditions[3] = 0x12C; gUnknown_02038680[3] = 0x190; gUnknown_02038678[3] = 0x190; Contest_SaveWinner(0xFE); @@ -976,7 +976,7 @@ u8 MatsudaDebugMenu_ResetHighScore(void) gUnknown_0203856C = 0; for (i = 0; i < 4; i++) { - gUnknown_02038670[i] = 0; + gContestMonConditions[i] = 0; gUnknown_02038680[i] = 0; gUnknown_02038678[i] = 0; } diff --git a/src/script_pokemon_util_80C4BF0.c b/src/script_pokemon_util_80C4BF0.c index 02e66d313..cf6da2cda 100644 --- a/src/script_pokemon_util_80C4BF0.c +++ b/src/script_pokemon_util_80C4BF0.c @@ -37,7 +37,7 @@ extern u8 gSelectedOrderFromParty[]; extern u16 gSpecialVar_ContestCategory; extern u16 gSpecialVar_ContestRank; -extern u8 gUnknown_02038694; +extern u8 gContestMonPartyIndex; extern u8 gUnknown_0203856C; void SetContestTrainerGfxIds(void) @@ -153,7 +153,7 @@ void sub_80C4D80(void) u8 r4_; for (i = 0; i < 4; i++) - sp0[i] = gUnknown_02038670[i]; + sp0[i] = gContestMonConditions[i]; for (i = 0; i < 3; i++) { @@ -194,7 +194,7 @@ void sub_80C4D80(void) for (i = 0; i < 4; i++) { - if (r4 == gUnknown_02038670[i]) + if (r4 == gContestMonConditions[i]) { if (r2 == 1) break; @@ -244,7 +244,7 @@ void sub_80C4F70(void) bool8 GiveMonArtistRibbon(void) { - u8 ribbon = GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_ARTIST_RIBBON); + u8 ribbon = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON); if(ribbon == FALSE && gContestFinalStandings[gContestPlayerMonIndex] == 0 @@ -252,7 +252,7 @@ bool8 GiveMonArtistRibbon(void) && gUnknown_02038678[gContestPlayerMonIndex] >= 800) { ribbon = TRUE; - SetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_ARTIST_RIBBON, &ribbon); + SetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_ARTIST_RIBBON, &ribbon); return TRUE; } else diff --git a/src/script_pokemon_util_80F99CC.c b/src/script_pokemon_util_80F99CC.c index e7bf74a7f..ebdcbf5fd 100644 --- a/src/script_pokemon_util_80F99CC.c +++ b/src/script_pokemon_util_80F99CC.c @@ -24,7 +24,7 @@ extern const u8 gPPUpReadMasks[]; extern u8 gPlayerPartyCount; extern u16 gSpecialVar_0x8004; extern u16 gSpecialVar_0x8005; -extern u8 gUnknown_02038694; +extern u8 gContestMonPartyIndex; extern u16 gSpecialVar_Result; extern void (*gFieldCallback)(void); @@ -162,13 +162,13 @@ void HandleSelectPartyMenu(u8 var) { case A_BUTTON: PlaySE(SE_SELECT); - gUnknown_02038694 = sub_806CA38(var); - gSpecialVar_0x8004 = gUnknown_02038694; + gContestMonPartyIndex = sub_806CA38(var); + gSpecialVar_0x8004 = gContestMonPartyIndex; sub_8123138(var); break; case B_BUTTON: PlaySE(SE_SELECT); - gUnknown_02038694 = 0xFF; + gContestMonPartyIndex = 0xFF; gSpecialVar_0x8004 = 0xFF; sub_8123138(var); break; @@ -61,7 +61,7 @@ struct TVSaleItem { u16 item_amount; }; -extern u8 gUnknown_02038694; +extern u8 gContestMonPartyIndex; extern struct TVSaleItem gMartPurchaseHistory[3]; @@ -975,8 +975,8 @@ void sub_80BE284(u8 contestResult) bravoTrainer->contestResult = contestResult; bravoTrainer->contestCategory = gSpecialVar_ContestCategory; bravoTrainer->contestRank = (u8)gSpecialVar_ContestRank; - bravoTrainer->species = GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_SPECIES, NULL); - GetMonData(&gPlayerParty[gUnknown_02038694], MON_DATA_NICKNAME, bravoTrainer->pokemonNickname); + bravoTrainer->species = GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_SPECIES, NULL); + GetMonData(&gPlayerParty[gContestMonPartyIndex], MON_DATA_NICKNAME, bravoTrainer->pokemonNickname); } } |