.text
.thumb
.thumb_func
.align 2
main:
push {r5}
sub sp, sp, #0x20
ldr r0, [r4] [MENTION=12671]pokemon[/MENTION] summary pointer
add r0, #0xA3 [MENTION=19050]poke[/MENTION] nature
ldrb r1, [r0]
ldr r0, nature_stat_table
lsl r2, r1, #2
add r2, r1, r2 @multiply by 5
add r2, r2, r0 @r2 contains nature info
add r2, #3 @r2 contains beg of spatk stat
ldr r3, right_stats_string
mov r1, sp
mov r5, #0
handle_spatk:
ldrb r0, [r2]
cmp r0, #1
beq red_font_spatk
cmp r0, #0xFF
bne copy_spatk
bl blue_font
b copy_spatk
red_font_spatk:
bl red_font
copy_spatk:
ldrb r0, [r3, r5]
strb r0, [r1, r5]
add r5, #1
cmp r5, #3
bne copy_spatk
add r3, #3
add r1, #3
mov r5, #0
handle_spdef:
add r2, #1
ldrb r0, [r2]
cmp r0, #1
beq red_font_spdef
cmp r0, #0xFF
beq blue_font_spdef
bl default_font
b copy_spdef
red_font_spdef:
bl red_font
b copy_spdef
blue_font_spdef:
bl blue_font
copy_spdef:
ldrb r0, [r3, r5]
strb r0, [r1, r5]
add r5, #1
cmp r5, #3
bne copy_spdef
add r3, #3
add r1, #3
mov r5, #0
handle_spd:
sub r2, #2
ldrb r0, [r2]
cmp r0, #1
beq red_font_spd
cmp r0, #0xFF
beq blue_font_spd
bl default_font
b copy_spd
red_font_spd:
bl red_font
b copy_spd
blue_font_spd:
bl blue_font
copy_spd:
ldrb r0, [r3, r5]
strb r0, [r1, r5]
add r5, #1
cmp r5, #3
bne copy_spd
add r3, #3
add r1, #3
return:
ldr r0, displayed_string
mov r1, sp
ldr r2, special_f7_string_fct
bl callvia_r2
add sp, sp, #0x20
pop {r5}
ldr r2, =(0x081C348C + 1)
bx r2
blue_font: @FC 01 07
mov r0, #0xFC
strb r0, [r1]
add r1, #1
mov r0, #1
strb r0, [r1]
add r1, #1
mov r0, #7 @color of the lowered stat
strb r0, [r1]
add r1, #1
bx lr
red_font: @FC 01 05
mov r0, #0xFC
strb r0, [r1]
add r1, #1
mov r0, #1
strb r0, [r1]
add r1, #1
mov r0, #5 @color of the raised stat
strb r0, [r1]
add r1, #1
bx lr
default_font: @FC 01 01
mov r0, #0xFC
strb r0, [r1]
add r1, #1
mov r0, #1
strb r0, [r1]
add r1, #1
strb r0, [r1]
add r1, #1
bx lr
callvia_r2:
bx r2
.align 2
nature_stat_table: .word 0x08324AD4
right_stats_string: .word 0x0861F79E
displayed_string: .word 0x02021FC4
special_f7_string_fct: .word 0x081AF849