summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/contest_link_80C2020.s822
-rw-r--r--include/contest.h3
-rw-r--r--include/contest_link_80C857C.h3
-rw-r--r--src/battle/contest_link_80C2020.c275
-rw-r--r--src/battle/contest_link_80C857C.c10
-rw-r--r--src/contest.c16
-rw-r--r--src/contest_ai.c4
-rw-r--r--src/debug/matsuda_debug_menu.c14
-rw-r--r--src/script_pokemon_util_80C4BF0.c10
-rw-r--r--src/script_pokemon_util_80F99CC.c8
-rw-r--r--src/tv.c6
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;
diff --git a/src/tv.c b/src/tv.c
index 68694c058..fa5b0f4d4 100644
--- a/src/tv.c
+++ b/src/tv.c
@@ -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);
}
}