through sub_80DB798
This commit is contained in:
559
asm/contest.s
559
asm/contest.s
@@ -5,481 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80DB4E0
|
||||
sub_80DB4E0: @ 80DB4E0
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x10
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r4, r1, 24
|
||||
ldr r0, =gUnknown_02039F26
|
||||
adds r0, r4, r0
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
adds r0, 0x2
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_80DBCA8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080DB560
|
||||
cmp r5, 0
|
||||
beq _080DB560
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl sub_80DB2EC
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
movs r0, 0x2
|
||||
mov r8, r0
|
||||
str r0, [sp]
|
||||
movs r5, 0x1
|
||||
str r5, [sp, 0x4]
|
||||
movs r6, 0x11
|
||||
str r6, [sp, 0x8]
|
||||
str r5, [sp, 0xC]
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x14
|
||||
adds r3, r7, 0
|
||||
bl sub_80DECB8
|
||||
adds r4, 0x10
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
adds r3, r7, 0x1
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
mov r0, r8
|
||||
str r0, [sp]
|
||||
str r5, [sp, 0x4]
|
||||
str r6, [sp, 0x8]
|
||||
str r5, [sp, 0xC]
|
||||
movs r0, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x14
|
||||
bl sub_80DECB8
|
||||
b _080DB576
|
||||
.pool
|
||||
_080DB560:
|
||||
movs r0, 0x2
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x14
|
||||
adds r3, r7, 0
|
||||
bl sub_80DED10
|
||||
_080DB576:
|
||||
add sp, 0x10
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DB4E0
|
||||
|
||||
thumb_func_start sub_80DB584
|
||||
sub_80DB584: @ 80DB584
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
movs r5, 0
|
||||
_080DB58A:
|
||||
ldr r0, =gContestResources
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, 0x4]
|
||||
adds r0, r5, r0
|
||||
ldrh r0, [r0, 0x6]
|
||||
lsls r1, r4, 24
|
||||
lsrs r1, 24
|
||||
bl sub_80DB4E0
|
||||
adds r5, 0x1C
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x3
|
||||
ble _080DB58A
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80DB584
|
||||
|
||||
thumb_func_start sub_80DB5B0
|
||||
sub_80DB5B0: @ 80DB5B0
|
||||
ldr r0, =0x00002034
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_80DB5B0
|
||||
|
||||
thumb_func_start sub_80DB5B8
|
||||
sub_80DB5B8: @ 80DB5B8
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
mov r8, r1
|
||||
mov r10, r8
|
||||
ldr r0, =gContestResources
|
||||
mov r9, r0
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r0, 0x4]
|
||||
lsls r0, r2, 3
|
||||
subs r0, r2
|
||||
lsls r7, r0, 2
|
||||
adds r3, r7, r1
|
||||
ldrb r0, [r3, 0x10]
|
||||
movs r5, 0x30
|
||||
ands r5, r0
|
||||
cmp r5, 0
|
||||
bne _080DB5F4
|
||||
movs r0, 0
|
||||
b _080DB68A
|
||||
.pool
|
||||
_080DB5F4:
|
||||
ldr r0, =gUnknown_02039F26
|
||||
adds r0, r2, r0
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 2
|
||||
adds r0, r1
|
||||
adds r0, 0x2
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r0, 0xD
|
||||
ldrsb r0, [r3, r0]
|
||||
movs r1, 0xA
|
||||
bl __divsi3
|
||||
lsls r0, 24
|
||||
asrs r4, r0, 24
|
||||
cmp r5, 0x10
|
||||
bne _080DB648
|
||||
bl sub_80DB5B0
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
lsls r0, r4, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r2, 0x13
|
||||
adds r3, r6, 0
|
||||
bl sub_80DED10
|
||||
mov r1, r8
|
||||
cmp r1, 0
|
||||
beq _080DB688
|
||||
movs r0, 0x5B
|
||||
b _080DB672
|
||||
.pool
|
||||
_080DB648:
|
||||
adds r3, r6, r4
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
movs r0, 0x1
|
||||
str r0, [sp]
|
||||
movs r0, 0x3
|
||||
subs r0, r4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x13
|
||||
bl sub_80DED10
|
||||
mov r0, r10
|
||||
cmp r0, 0
|
||||
beq _080DB688
|
||||
movs r0, 0x26
|
||||
_080DB672:
|
||||
bl PlaySE
|
||||
mov r1, r9
|
||||
ldr r0, [r1]
|
||||
ldr r1, [r0, 0x4]
|
||||
adds r1, r7, r1
|
||||
ldrb r2, [r1, 0x10]
|
||||
movs r0, 0x31
|
||||
negs r0, r0
|
||||
ands r0, r2
|
||||
strb r0, [r1, 0x10]
|
||||
_080DB688:
|
||||
movs r0, 0x1
|
||||
_080DB68A:
|
||||
add sp, 0xC
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80DB5B8
|
||||
|
||||
thumb_func_start sub_80DB69C
|
||||
sub_80DB69C: @ 80DB69C
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0xC
|
||||
movs r7, 0
|
||||
movs r0, 0x1
|
||||
mov r10, r0
|
||||
movs r1, 0x11
|
||||
mov r9, r1
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
_080DB6B6:
|
||||
ldr r0, =gUnknown_02039F26
|
||||
adds r0, r7, r0
|
||||
ldrb r0, [r0]
|
||||
lsls r4, r0, 2
|
||||
adds r4, r0
|
||||
adds r4, 0x2
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sub_80DB5B0
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
ldr r0, =gContestResources
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, 0x4]
|
||||
add r0, r8
|
||||
ldrb r0, [r0, 0xD]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
movs r1, 0xA
|
||||
bl __divsi3
|
||||
lsls r0, 24
|
||||
mov r1, r10
|
||||
str r1, [sp]
|
||||
asrs r6, r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x4]
|
||||
mov r0, r9
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x13
|
||||
adds r3, r4, 0
|
||||
bl sub_80DED10
|
||||
adds r4, r6
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
mov r1, r10
|
||||
str r1, [sp]
|
||||
movs r0, 0x3
|
||||
subs r0, r6
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x4]
|
||||
mov r0, r9
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x13
|
||||
adds r3, r4, 0
|
||||
bl sub_80DED10
|
||||
movs r1, 0x1C
|
||||
add r8, r1
|
||||
adds r7, 0x1
|
||||
cmp r7, 0x3
|
||||
ble _080DB6B6
|
||||
add sp, 0xC
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80DB69C
|
||||
|
||||
thumb_func_start sub_80DB748
|
||||
sub_80DB748: @ 80DB748
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
movs r0, 0
|
||||
cmp r1, 0x4
|
||||
bhi _080DB78A
|
||||
lsls r0, r1, 2
|
||||
ldr r1, =_080DB764
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_080DB764:
|
||||
.4byte _080DB778
|
||||
.4byte _080DB77C
|
||||
.4byte _080DB780
|
||||
.4byte _080DB784
|
||||
.4byte _080DB788
|
||||
_080DB778:
|
||||
movs r0, 0x80
|
||||
b _080DB78A
|
||||
_080DB77C:
|
||||
movs r0, 0x84
|
||||
b _080DB78A
|
||||
_080DB780:
|
||||
movs r0, 0x86
|
||||
b _080DB78A
|
||||
_080DB784:
|
||||
movs r0, 0x88
|
||||
b _080DB78A
|
||||
_080DB788:
|
||||
movs r0, 0x82
|
||||
_080DB78A:
|
||||
movs r1, 0x90
|
||||
lsls r1, 8
|
||||
adds r0, r1
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80DB748
|
||||
|
||||
thumb_func_start sub_80DB798
|
||||
sub_80DB798: @ 80DB798
|
||||
push {r4-r7,lr}
|
||||
mov r7, r9
|
||||
mov r6, r8
|
||||
push {r6,r7}
|
||||
sub sp, 0x10
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
mov r9, r1
|
||||
movs r1, 0
|
||||
mov r8, r1
|
||||
ldr r1, =gUnknown_02039F26
|
||||
adds r1, r0, r1
|
||||
ldrb r2, [r1]
|
||||
lsls r1, r2, 2
|
||||
adds r1, r2
|
||||
adds r1, 0x2
|
||||
lsls r1, 24
|
||||
lsrs r7, r1, 24
|
||||
ldr r1, =gContestResources
|
||||
ldr r1, [r1]
|
||||
ldr r2, [r1, 0x4]
|
||||
lsls r1, r0, 3
|
||||
subs r1, r0
|
||||
lsls r1, 2
|
||||
adds r2, r1, r2
|
||||
ldr r0, [r2, 0x10]
|
||||
ldr r1, =0x00ff0003
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080DB7DC
|
||||
ldrb r0, [r2, 0xF]
|
||||
cmp r0, 0
|
||||
beq _080DB7EC
|
||||
_080DB7DC:
|
||||
movs r0, 0
|
||||
b _080DB80E
|
||||
.pool
|
||||
_080DB7EC:
|
||||
ldrb r1, [r2, 0xC]
|
||||
mov r0, r9
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080DB7FA
|
||||
movs r0, 0x1
|
||||
b _080DB80E
|
||||
_080DB7FA:
|
||||
movs r0, 0x6
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080DB80C
|
||||
ldrb r1, [r2, 0xB]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080DB81A
|
||||
_080DB80C:
|
||||
movs r0, 0x2
|
||||
_080DB80E:
|
||||
bl sub_80DB748
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
mov r8, r0
|
||||
b _080DB81E
|
||||
_080DB81A:
|
||||
movs r0, 0
|
||||
mov r9, r0
|
||||
_080DB81E:
|
||||
mov r1, r9
|
||||
cmp r1, 0
|
||||
beq _080DB85E
|
||||
movs r6, 0x2
|
||||
str r6, [sp]
|
||||
movs r4, 0x1
|
||||
str r4, [sp, 0x4]
|
||||
movs r5, 0x11
|
||||
str r5, [sp, 0x8]
|
||||
str r4, [sp, 0xC]
|
||||
movs r0, 0
|
||||
mov r1, r8
|
||||
movs r2, 0x14
|
||||
adds r3, r7, 0
|
||||
bl sub_80DECB8
|
||||
mov r1, r8
|
||||
adds r1, 0x10
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r3, r7, 0x1
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
str r6, [sp]
|
||||
str r4, [sp, 0x4]
|
||||
str r5, [sp, 0x8]
|
||||
str r4, [sp, 0xC]
|
||||
movs r0, 0
|
||||
movs r2, 0x14
|
||||
bl sub_80DECB8
|
||||
b _080DB874
|
||||
_080DB85E:
|
||||
movs r0, 0x2
|
||||
str r0, [sp]
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x14
|
||||
adds r3, r7, 0
|
||||
bl sub_80DED10
|
||||
_080DB874:
|
||||
mov r0, r9
|
||||
add sp, 0x10
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80DB798
|
||||
|
||||
thumb_func_start sub_80DB884
|
||||
sub_80DB884: @ 80DB884
|
||||
push {r4,lr}
|
||||
@@ -506,7 +31,7 @@ sub_80DB89C: @ 80DB89C
|
||||
movs r1, 0x2
|
||||
bl CopyWindowToVram
|
||||
movs r0, 0
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DB89C
|
||||
@@ -1417,7 +942,7 @@ sub_80DBF68: @ 80DBF68
|
||||
bl sub_80DB89C
|
||||
ldr r0, =gUnknown_0827E8DA
|
||||
movs r1, 0
|
||||
bl sub_80DEC30
|
||||
bl Contest_StartTextPrinter
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
@@ -1441,7 +966,7 @@ _080DBF9A:
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x16
|
||||
bl sub_80DED10
|
||||
bl ContestBG_FillBoxWithTile
|
||||
movs r0, 0xA0
|
||||
lsls r0, 19
|
||||
adds r5, r0
|
||||
@@ -1778,7 +1303,7 @@ _080DC226:
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
adds r1, r6, 0
|
||||
bl sub_80DED10
|
||||
bl ContestBG_FillBoxWithTile
|
||||
mov r3, r8
|
||||
cmp r3, 0
|
||||
ble _080DC284
|
||||
@@ -3207,7 +2732,7 @@ _080DCDBC:
|
||||
add r1, sp, 0x4
|
||||
movs r2, 0x37
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
@@ -3250,7 +2775,7 @@ _080DCE14:
|
||||
add r1, sp, 0x4
|
||||
movs r2, 0x5
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
@@ -4146,7 +3671,7 @@ _080DD52C:
|
||||
bl sub_80DB89C
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl sub_80DEC30
|
||||
bl Contest_StartTextPrinter
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
@@ -5640,7 +5165,7 @@ _080DE146:
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x14
|
||||
adds r3, r6, 0
|
||||
bl sub_80DECB8
|
||||
bl ContestBG_FillBoxWithIncrementingTile
|
||||
adds r4, 0x10
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
@@ -5659,7 +5184,7 @@ _080DE146:
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x14
|
||||
adds r3, r5, 0
|
||||
bl sub_80DECB8
|
||||
bl ContestBG_FillBoxWithIncrementingTile
|
||||
movs r0, 0x63
|
||||
bl PlaySE
|
||||
_080DE1CA:
|
||||
@@ -5800,7 +5325,7 @@ sub_80DE224: @ 80DE224
|
||||
movs r3, 0
|
||||
bl CopyToBgTilemapBuffer
|
||||
movs r0, 0x1
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
movs r5, 0
|
||||
ldr r7, =gSprites
|
||||
movs r6, 0x4
|
||||
@@ -5863,7 +5388,7 @@ sub_80DE350: @ 80DE350
|
||||
mov r0, sp
|
||||
bl CpuSet
|
||||
movs r0, 0x1
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
movs r0, 0xA
|
||||
bl GetGpuReg
|
||||
add r3, sp, 0x4
|
||||
@@ -6812,8 +6337,8 @@ _080DEB64:
|
||||
.pool
|
||||
thumb_func_end sub_80DEAA8
|
||||
|
||||
thumb_func_start sub_80DEB70
|
||||
sub_80DEB70: @ 80DEB70
|
||||
thumb_func_start Contest_PrintTextToBg0WindowStd
|
||||
Contest_PrintTextToBg0WindowStd: @ 80DEB70
|
||||
push {r4,lr}
|
||||
sub sp, 0x10
|
||||
adds r4, r0, 0
|
||||
@@ -6853,15 +6378,15 @@ sub_80DEB70: @ 80DEB70
|
||||
adds r0, r4, 0
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
add sp, 0x10
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DEB70
|
||||
thumb_func_end Contest_PrintTextToBg0WindowStd
|
||||
|
||||
thumb_func_start sub_80DEBD0
|
||||
sub_80DEBD0: @ 80DEBD0
|
||||
thumb_func_start Contest_PrintTextToBg0WindowAt
|
||||
Contest_PrintTextToBg0WindowAt: @ 80DEBD0
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x10
|
||||
adds r5, r0, 0
|
||||
@@ -6901,15 +6426,15 @@ sub_80DEBD0: @ 80DEBD0
|
||||
adds r0, r5, 0
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
add sp, 0x10
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DEBD0
|
||||
thumb_func_end Contest_PrintTextToBg0WindowAt
|
||||
|
||||
thumb_func_start sub_80DEC30
|
||||
sub_80DEC30: @ 80DEC30
|
||||
thumb_func_start Contest_StartTextPrinter
|
||||
Contest_StartTextPrinter: @ 80DEC30
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x10
|
||||
str r0, [sp]
|
||||
@@ -6971,15 +6496,15 @@ _080DECA4:
|
||||
movs r0, 0x4
|
||||
bl PutWindowTilemap
|
||||
movs r0, 0
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
add sp, 0x10
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DEC30
|
||||
thumb_func_end Contest_StartTextPrinter
|
||||
|
||||
thumb_func_start sub_80DECB8
|
||||
sub_80DECB8: @ 80DECB8
|
||||
thumb_func_start ContestBG_FillBoxWithIncrementingTile
|
||||
ContestBG_FillBoxWithIncrementingTile: @ 80DECB8
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
@@ -7014,17 +6539,17 @@ sub_80DECB8: @ 80DECB8
|
||||
mov r0, r8
|
||||
bl WriteSequenceToBgTilemapBuffer
|
||||
mov r0, r8
|
||||
bl sub_80DED60
|
||||
bl Contest_SetBgCopyFlags
|
||||
add sp, 0x10
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DECB8
|
||||
thumb_func_end ContestBG_FillBoxWithIncrementingTile
|
||||
|
||||
thumb_func_start sub_80DED10
|
||||
sub_80DED10: @ 80DED10
|
||||
thumb_func_start ContestBG_FillBoxWithTile
|
||||
ContestBG_FillBoxWithTile: @ 80DED10
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x10
|
||||
ldr r4, [sp, 0x20]
|
||||
@@ -7049,15 +6574,15 @@ sub_80DED10: @ 80DED10
|
||||
str r6, [sp, 0x8]
|
||||
movs r4, 0
|
||||
str r4, [sp, 0xC]
|
||||
bl sub_80DECB8
|
||||
bl ContestBG_FillBoxWithIncrementingTile
|
||||
add sp, 0x10
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80DED10
|
||||
thumb_func_end ContestBG_FillBoxWithTile
|
||||
|
||||
thumb_func_start sub_80DED4C
|
||||
sub_80DED4C: @ 80DED4C
|
||||
thumb_func_start Contest_RunTextPrinters
|
||||
Contest_RunTextPrinters: @ 80DED4C
|
||||
push {lr}
|
||||
bl RunTextPrinters
|
||||
movs r0, 0x4
|
||||
@@ -7066,10 +6591,10 @@ sub_80DED4C: @ 80DED4C
|
||||
lsrs r0, 16
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80DED4C
|
||||
thumb_func_end Contest_RunTextPrinters
|
||||
|
||||
thumb_func_start sub_80DED60
|
||||
sub_80DED60: @ 80DED60
|
||||
thumb_func_start Contest_SetBgCopyFlags
|
||||
Contest_SetBgCopyFlags: @ 80DED60
|
||||
ldr r2, =sContestBgCopyFlags
|
||||
movs r1, 0x1
|
||||
lsls r1, r0
|
||||
@@ -7078,7 +6603,7 @@ sub_80DED60: @ 80DED60
|
||||
strb r1, [r2]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_80DED60
|
||||
thumb_func_end Contest_SetBgCopyFlags
|
||||
|
||||
thumb_func_start ResetContestLinkResults
|
||||
ResetContestLinkResults: @ 80DED74
|
||||
@@ -8411,7 +7936,7 @@ _080DF7AE:
|
||||
add r1, sp, 0x4
|
||||
movs r2, 0x5
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
ldr r0, =gContestResources
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r0, 0x1C]
|
||||
@@ -8469,7 +7994,7 @@ _080DF80A:
|
||||
mov r1, r9
|
||||
movs r2, 0x5
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
ldrb r0, [r4]
|
||||
mov r1, sp
|
||||
adds r1, r5
|
||||
@@ -8478,7 +8003,7 @@ _080DF80A:
|
||||
str r2, [sp]
|
||||
movs r2, 0x37
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
mov r1, r8
|
||||
lsls r0, r1, 24
|
||||
lsrs r7, r0, 24
|
||||
@@ -8557,7 +8082,7 @@ _080DF8CC:
|
||||
mov r1, r9
|
||||
movs r2, 0x5
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
ldrb r0, [r4]
|
||||
mov r1, sp
|
||||
adds r1, r5
|
||||
@@ -8566,7 +8091,7 @@ _080DF8CC:
|
||||
str r2, [sp]
|
||||
movs r2, 0x37
|
||||
movs r3, 0x1
|
||||
bl sub_80DEBD0
|
||||
bl Contest_PrintTextToBg0WindowAt
|
||||
mov r1, r8
|
||||
lsls r0, r1, 24
|
||||
lsrs r7, r0, 24
|
||||
|
||||
234
src/contest.c
234
src/contest.c
@@ -131,11 +131,11 @@ void sub_80DE350(void);
|
||||
void sub_80DE424(u8);
|
||||
void sub_80DE69C(u8);
|
||||
void sub_80DEA20(void);
|
||||
void sub_80DEBD0(u32, u8 *, s32, u8, u8);
|
||||
void sub_80DEC30(const u8 *, u8);
|
||||
void sub_80DECB8(u8, u16, u8, u8, u8, u8, u8, u8);
|
||||
bool32 sub_80DED4C(void);
|
||||
void sub_80DED60(u32);
|
||||
void Contest_PrintTextToBg0WindowAt(u32, u8 *, s32, u8, u8);
|
||||
void Contest_StartTextPrinter(const u8 *, u8);
|
||||
void ContestBG_FillBoxWithIncrementingTile(u8, u16, u8, u8, u8, u8, u8, u8);
|
||||
bool32 Contest_RunTextPrinters(void);
|
||||
void Contest_SetBgCopyFlags(u32);
|
||||
void sub_80FC9F8(u8);
|
||||
bool8 AreMovesContestCombo(u16, u16);
|
||||
void sub_80DBD18(void);
|
||||
@@ -171,8 +171,8 @@ void sub_80DC3AC(void);
|
||||
bool8 sub_80DC3C4(void);
|
||||
void sub_80DF9D4(u8 *);
|
||||
void sub_80DF9E0(u8 *, s32);
|
||||
void sub_80DED10(u8, u16, u8, u8, u8, u8, u8);
|
||||
void sub_80DEB70(u8, const u8 *);
|
||||
void ContestBG_FillBoxWithTile(u8, u16, u8, u8, u8, u8, u8);
|
||||
void Contest_PrintTextToBg0WindowStd(u8, const u8 *);
|
||||
|
||||
EWRAM_DATA struct ContestPokemon gContestMons[4] = {0};
|
||||
EWRAM_DATA s16 gContestMonConditions[4] = {0};
|
||||
@@ -730,12 +730,12 @@ void sub_80D833C(u8 taskId)
|
||||
StringCopy(gDisplayedStringBattle, gText_0827D531);
|
||||
sub_80DB89C();
|
||||
StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
gTasks[taskId].data[0] = 0;
|
||||
gTasks[taskId].func = sub_80D8424;
|
||||
@@ -790,7 +790,7 @@ void sub_80D8490(u8 taskId)
|
||||
r5 = StringCopy(r5, gMoveNames[move]);
|
||||
|
||||
FillWindowPixelBuffer(i + 5, 0);
|
||||
sub_80DEBD0(i + 5, sp8, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(i + 5, sp8, 5, 1, 7);
|
||||
}
|
||||
|
||||
sub_80D880C(gContestResources->field_0->playerMoveChoice);
|
||||
@@ -828,7 +828,7 @@ void sub_80D8610(u8 taskId)
|
||||
StringCopy(gDisplayedStringBattle, gText_0827D531);
|
||||
sub_80DB89C();
|
||||
StringExpandPlaceholders(gStringVar4, gDisplayedStringBattle);
|
||||
sub_80DEC30(gStringVar4, 0);
|
||||
Contest_StartTextPrinter(gStringVar4, 0);
|
||||
gBattle_BG0_Y = 0;
|
||||
gBattle_BG2_Y = 0;
|
||||
gTasks[taskId].func = sub_80D8424;
|
||||
@@ -864,13 +864,13 @@ void sub_80D8610(u8 taskId)
|
||||
|
||||
void sub_80D880C(s8 a0)
|
||||
{
|
||||
sub_80DECB8(2, 55, 0, 31 + a0 * 2, 2, 2, 17, 1);
|
||||
ContestBG_FillBoxWithIncrementingTile(2, 55, 0, 31 + a0 * 2, 2, 2, 17, 1);
|
||||
}
|
||||
|
||||
void sub_80D883C(s8 a0)
|
||||
{
|
||||
sub_80DECB8(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1);
|
||||
sub_80DECB8(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1);
|
||||
ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 31 + a0 * 2, 2, 1, 17, 1);
|
||||
ContestBG_FillBoxWithIncrementingTile(2, 11, 0, 32 + a0 * 2, 2, 1, 17, 1);
|
||||
}
|
||||
|
||||
void sub_80D8894(u8 taskId)
|
||||
@@ -915,7 +915,7 @@ void sub_80D895C(u8 taskId)
|
||||
PutWindowTilemap(5 + i);
|
||||
CopyWindowToVram(5 + i, 2);
|
||||
}
|
||||
sub_80DED60(0);
|
||||
Contest_SetBgCopyFlags(0);
|
||||
|
||||
DmaCopy32Defvars(3, gPlttBufferFaded, shared18000.unk18604, 0x400);
|
||||
LoadPalette(shared18000.unk18204, 0, 0x400);
|
||||
@@ -1055,12 +1055,12 @@ void sub_80D8B38(u8 taskId)
|
||||
else
|
||||
StringCopy(gStringVar2, gUnknown_08587F1C[gContestResources->field_4[r6].moveCategory]);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827D55A);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0] = 6;
|
||||
}
|
||||
return;
|
||||
case 6:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
gContestResources->field_0->unk1925E = 0;
|
||||
gTasks[taskId].data[0] = 7;
|
||||
@@ -1138,7 +1138,7 @@ void sub_80D8B38(u8 taskId)
|
||||
}
|
||||
return;
|
||||
case 24:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
gTasks[taskId].data[0] = 23;
|
||||
return;
|
||||
case 48:
|
||||
@@ -1250,7 +1250,7 @@ void sub_80D8B38(u8 taskId)
|
||||
}
|
||||
return;
|
||||
case 27:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
gTasks[taskId].data[0] = 28;
|
||||
return;
|
||||
case 28:
|
||||
@@ -1313,13 +1313,13 @@ void sub_80D8B38(u8 taskId)
|
||||
sub_80DB89C();
|
||||
StringCopy(gStringVar1, gContestMons[r6].nickname);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E793);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
}
|
||||
gTasks[taskId].data[0] = 52;
|
||||
}
|
||||
return;
|
||||
case 52:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
if (!gContestResources->field_4[r6].unk15_6)
|
||||
gTasks[taskId].data[0] = 17;
|
||||
@@ -1333,11 +1333,11 @@ void sub_80D8B38(u8 taskId)
|
||||
{
|
||||
sub_80DB89C();
|
||||
if (r3 == 1)
|
||||
sub_80DEC30(gText_0827E32E, 1);
|
||||
Contest_StartTextPrinter(gText_0827E32E, 1);
|
||||
else if (r3 == 2)
|
||||
sub_80DEC30(gText_0827E35B, 1);
|
||||
Contest_StartTextPrinter(gText_0827E35B, 1);
|
||||
else
|
||||
sub_80DEC30(gText_0827E38D, 1);
|
||||
Contest_StartTextPrinter(gText_0827E38D, 1);
|
||||
sub_80DD720(3);
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gTasks[taskId].data[0] = 45;
|
||||
@@ -1347,7 +1347,7 @@ void sub_80D8B38(u8 taskId)
|
||||
sub_80DB89C();
|
||||
StringCopy(gStringVar1, gContestMons[r6].nickname);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E2FE);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
sub_80DD720(2);
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gTasks[taskId].data[0] = 45;
|
||||
@@ -1361,7 +1361,7 @@ void sub_80D8B38(u8 taskId)
|
||||
}
|
||||
return;
|
||||
case 15:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
if (++gTasks[taskId].data[10] > 50)
|
||||
{
|
||||
@@ -1390,7 +1390,7 @@ void sub_80D8B38(u8 taskId)
|
||||
sub_80DB89C();
|
||||
StringCopy(gStringVar1, gContestMons[r6].nickname);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E6E3);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[10] = 0;
|
||||
sub_80DD720(0);
|
||||
gTasks[taskId].data[0] = 46;
|
||||
@@ -1405,7 +1405,7 @@ void sub_80D8B38(u8 taskId)
|
||||
gTasks[taskId].data[0] = 19;
|
||||
return;
|
||||
case 19:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
sub_80DC028(gContestResources->field_4[r6].appeal2, -gContestResources->field_4[r6].unk18, r6);
|
||||
gContestResources->field_4[r6].appeal2 -= gContestResources->field_4[r6].unk18;
|
||||
@@ -1460,7 +1460,7 @@ void sub_80D8B38(u8 taskId)
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E717);
|
||||
else
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E76A);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[10] = 0;
|
||||
gTasks[taskId].data[11] = 0;
|
||||
if (r3 < 0)
|
||||
@@ -1479,7 +1479,7 @@ void sub_80D8B38(u8 taskId)
|
||||
gTasks[taskId].data[10]++;
|
||||
break;
|
||||
case 1:
|
||||
if (!gContestResources->field_0->unk1920B_0 && !sub_80DED4C())
|
||||
if (!gContestResources->field_0->unk1920B_0 && !Contest_RunTextPrinters())
|
||||
{
|
||||
sub_80DDCDC(-1);
|
||||
gTasks[taskId].data[10]++;
|
||||
@@ -1510,7 +1510,7 @@ void sub_80D8B38(u8 taskId)
|
||||
switch (gTasks[taskId].data[10])
|
||||
{
|
||||
case 0:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
sub_80DDED0(1, 1);
|
||||
gTasks[taskId].data[10]++;
|
||||
@@ -1570,20 +1570,20 @@ void sub_80D8B38(u8 taskId)
|
||||
StringCopy(gStringVar1, gContestMons[r6].nickname);
|
||||
StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E7EA);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0] = 58;
|
||||
return;
|
||||
case 58:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
sub_80DB89C();
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E817);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0] = 59;
|
||||
}
|
||||
return;
|
||||
case 59:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
sub_80DB89C();
|
||||
gTasks[taskId].data[0] = 55;
|
||||
@@ -1596,11 +1596,11 @@ void sub_80D8B38(u8 taskId)
|
||||
StringCopy(gStringVar1, gContestMons[r6].nickname);
|
||||
StringCopy(gStringVar2, gMoveNames[gContestResources->field_4[r6].currMove]);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827E58A);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0] = 34;
|
||||
return;
|
||||
case 34:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
gTasks[taskId].data[0] = 55;
|
||||
return;
|
||||
case 55:
|
||||
@@ -1640,11 +1640,11 @@ void sub_80D8B38(u8 taskId)
|
||||
sub_80DB89C();
|
||||
StringCopy(gStringVar1, gContestMons[r6].nickname);
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827D56F);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0] = 32;
|
||||
return;
|
||||
case 32:
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
gTasks[taskId].data[0] = 21;
|
||||
return;
|
||||
case 21:
|
||||
@@ -1812,12 +1812,12 @@ void sub_80DA3CC(u8 taskId)
|
||||
sub_80DB89C();
|
||||
StringCopy(gStringVar1, gContestMons[gContestPlayerMonIndex].nickname);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_08587D90[r4]);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[0]++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
gTasks[taskId].data[0] = 0;
|
||||
gTasks[taskId].func = sub_80DA464;
|
||||
@@ -1903,14 +1903,14 @@ void sub_80DA5E8(u8 taskId)
|
||||
}
|
||||
gContestRngValue = gRngValue;
|
||||
StringExpandPlaceholders(gStringVar4, gText_0827D597);
|
||||
sub_80DEC30(gStringVar4, 1);
|
||||
Contest_StartTextPrinter(gStringVar4, 1);
|
||||
gTasks[taskId].data[2] = 0;
|
||||
gTasks[taskId].func = sub_80DA6B4;
|
||||
}
|
||||
|
||||
void sub_80DA6B4(u8 taskId)
|
||||
{
|
||||
if (!sub_80DED4C())
|
||||
if (!Contest_RunTextPrinters())
|
||||
{
|
||||
sub_80DE224();
|
||||
gBattle_BG1_X = 0;
|
||||
@@ -2441,7 +2441,7 @@ void sub_80DAF1C(u8 a0, u8 a1)
|
||||
offset = GetStringRightAlignXOffset(7, gDisplayedStringBattle, 0x60);
|
||||
if (offset > 55)
|
||||
offset = 55;
|
||||
sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, offset, 1, 7);
|
||||
}
|
||||
|
||||
void sub_80DAF88(u8 a0)
|
||||
@@ -2452,7 +2452,7 @@ void sub_80DAF88(u8 a0)
|
||||
void sub_80DAFA0(u8 a0, u8 a1)
|
||||
{
|
||||
sub_80DAED4(gContestMons[a0].nickname, a1);
|
||||
sub_80DEBD0(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7);
|
||||
Contest_PrintTextToBg0WindowAt(gUnknown_02039F26[a0], gDisplayedStringBattle, 5, 1, 7);
|
||||
}
|
||||
|
||||
u16 sub_80DAFE0(u8 who, u8 contestCategory)
|
||||
@@ -2609,8 +2609,8 @@ void prints_contest_move_description(u16 a)
|
||||
else
|
||||
categoryTile = 0x408A;
|
||||
|
||||
sub_80DECB8(0, categoryTile, 0x0b, 0x1f, 0x05, 0x01, 0x11, 0x01);
|
||||
sub_80DECB8(0, categoryTile + 0x10, 0x0b, 0x20, 0x05, 0x01, 0x11, 0x01);
|
||||
ContestBG_FillBoxWithIncrementingTile(0, categoryTile, 0x0b, 0x1f, 0x05, 0x01, 0x11, 0x01);
|
||||
ContestBG_FillBoxWithIncrementingTile(0, categoryTile + 0x10, 0x0b, 0x20, 0x05, 0x01, 0x11, 0x01);
|
||||
|
||||
if (gContestEffects[gContestMoves[a].effect].appeal == 0xFF)
|
||||
numHearts = 0;
|
||||
@@ -2618,8 +2618,8 @@ void prints_contest_move_description(u16 a)
|
||||
numHearts = gContestEffects[gContestMoves[a].effect].appeal / 10;
|
||||
if (numHearts > 8)
|
||||
numHearts = 8;
|
||||
sub_80DED10(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11);
|
||||
sub_80DED10(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11);
|
||||
ContestBG_FillBoxWithTile(0, 0x5035, 0x15, 0x1f, 0x08, 0x01, 0x11);
|
||||
ContestBG_FillBoxWithTile(0, 0x5012, 0x15, 0x1f, numHearts, 0x01, 0x11);
|
||||
|
||||
if (gContestEffects[gContestMoves[a].effect].jam == 0xFF)
|
||||
numHearts = 0;
|
||||
@@ -2627,10 +2627,138 @@ void prints_contest_move_description(u16 a)
|
||||
numHearts = gContestEffects[gContestMoves[a].effect].jam / 10;
|
||||
if (numHearts > 8)
|
||||
numHearts = 8;
|
||||
sub_80DED10(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11);
|
||||
sub_80DED10(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11);
|
||||
ContestBG_FillBoxWithTile(0, 0x5036, 0x15, 0x20, 0x08, 0x01, 0x11);
|
||||
ContestBG_FillBoxWithTile(0, 0x5014, 0x15, 0x20, numHearts, 0x01, 0x11);
|
||||
|
||||
FillWindowPixelBuffer(10, 0);
|
||||
sub_80DEB70(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]);
|
||||
sub_80DEB70(9, gText_Slash);
|
||||
Contest_PrintTextToBg0WindowStd(10, gContestEffectDescriptionPointers[gContestMoves[a].effect]);
|
||||
Contest_PrintTextToBg0WindowStd(9, gText_Slash);
|
||||
}
|
||||
|
||||
void sub_80DB4E0(u16 move, u8 b)
|
||||
{
|
||||
u8 r7 = gUnknown_02039F26[b] * 5 + 2;
|
||||
|
||||
if (!sub_80DBCA8(b) && move != MOVE_NONE)
|
||||
{
|
||||
u16 tile = sub_80DB2EC(move, b);
|
||||
|
||||
ContestBG_FillBoxWithIncrementingTile(0, tile, 20, r7, 2, 1, 17, 1);
|
||||
ContestBG_FillBoxWithIncrementingTile(0, tile + 16, 20, r7 + 1, 2, 1, 17, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ContestBG_FillBoxWithTile(0, 0, 20, r7, 2, 2, 17);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80DB584(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
sub_80DB4E0(gContestResources->field_4[i].currMove, i);
|
||||
}
|
||||
|
||||
u16 sub_80DB5B0(void)
|
||||
{
|
||||
return 0x2034;
|
||||
}
|
||||
|
||||
bool8 sub_80DB5B8(u8 contestantIdx, bool8 resetMod)
|
||||
{
|
||||
u8 r6;
|
||||
s32 r4;
|
||||
|
||||
if (sContestantStatus[contestantIdx].conditionMod == 0)
|
||||
return FALSE;
|
||||
r6 = gUnknown_02039F26[contestantIdx] * 5 + 2;
|
||||
r4 = sContestantStatus[contestantIdx].condition / 10;
|
||||
if (sContestantStatus[contestantIdx].conditionMod == 1)
|
||||
{
|
||||
ContestBG_FillBoxWithTile(0, sub_80DB5B0(), 19, r6, 1, r4, 17);
|
||||
if (resetMod)
|
||||
{
|
||||
PlaySE(SE_EXPMAX);
|
||||
sContestantStatus[contestantIdx].conditionMod = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ContestBG_FillBoxWithTile(0, 0, 19, r6 + r4, 1, 3 - r4, 17);
|
||||
if (resetMod)
|
||||
{
|
||||
PlaySE(SE_FU_ZAKU2);
|
||||
sContestantStatus[contestantIdx].conditionMod = 0;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_80DB69C(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 r6;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
{
|
||||
u8 r4 = gUnknown_02039F26[i] * 5 + 2;
|
||||
u16 r5 = sub_80DB5B0();
|
||||
|
||||
r6 = sContestantStatus[i].condition / 10;
|
||||
ContestBG_FillBoxWithTile(0, r5, 19, r4, 1, r6, 17);
|
||||
ContestBG_FillBoxWithTile(0, 0, 19, r4 + r6, 1, 3 - r6, 17);
|
||||
}
|
||||
}
|
||||
|
||||
u16 sub_80DB748(u8 status)
|
||||
{
|
||||
u16 var = 0;
|
||||
|
||||
switch (status)
|
||||
{
|
||||
case 0:
|
||||
var = 0x80;
|
||||
break;
|
||||
case 1:
|
||||
var = 0x84;
|
||||
break;
|
||||
case 2:
|
||||
var = 0x86;
|
||||
break;
|
||||
case 3:
|
||||
var = 0x88;
|
||||
break;
|
||||
case 4:
|
||||
var = 0x82;
|
||||
break;
|
||||
}
|
||||
var += 0x9000;
|
||||
return var;
|
||||
}
|
||||
|
||||
bool8 sub_80DB798(u8 a)
|
||||
{
|
||||
bool8 r9 = TRUE;
|
||||
u16 r8 = 0;
|
||||
u8 r7 = gUnknown_02039F26[a] * 5 + 2;
|
||||
|
||||
if (sContestantStatus[a].resistant != 0 || sContestantStatus[a].immune != 0 || sContestantStatus[a].jamSafetyCount != 0 || sContestantStatus[a].jamReduction != 0)
|
||||
r8 = sub_80DB748(0);
|
||||
else if (sContestantStatus[a].nervous)
|
||||
r8 = sub_80DB748(1);
|
||||
else if (sContestantStatus[a].numTurnsSkipped != 0 || sContestantStatus[a].noMoreTurns)
|
||||
r8 = sub_80DB748(2);
|
||||
else
|
||||
r9 = FALSE;
|
||||
if (r9)
|
||||
{
|
||||
ContestBG_FillBoxWithIncrementingTile(0, r8, 20, r7, 2, 1, 17, 1);
|
||||
ContestBG_FillBoxWithIncrementingTile(0, r8 + 16, 20, r7 + 1, 2, 1, 17, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
ContestBG_FillBoxWithTile(0, 0, 20, r7, 2, 2, 17);
|
||||
}
|
||||
return r9;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user