Elyseum
Usuario de platino
Buenas a todos, encontre un tutorial para recolorear los stats en pokemon esmeralda (Español) https://whackahack.com/foro/t-43502/asm-emerald-esmeralda-colorear-stats-dependiendo-naturaleza sin embargo no me funciona, dando seguimiento a los comentarios se indicaba que habia un error en el codigo:
right_stats_string: .word 0x0861F79E (segun los comentarios esta mal)
El offset correcto es 0x0861F7AA
imagino que esa es la razon por la que no me funciona el tutorial, trate de compilar el codigo con la correccion pero ni el programa thumb ni asm compiler me funcionan no me crean ningun archivo, existe este tutorial de thumb
el cual explica como ejecutar una rutina cuando no te abre pero el link de desarga ya no funciona
mi duda es si acaso esos programas no funcionan en windows 8 o como puedo hacer para que me funcionen, o si hay una persona amable y con tiempo que me pueda compilar este codigo, ya edite el supuesto error listo para ejecutar
Posdata: se dice que la rutina se inserta en un offset que termine en 0,4,8 o C si es que desean probarlo, en mi caso estoy usando un rom de esmerala sin nada agregado limpia y uso estos offset E3CF80 y E3D060, y uso una rom en español y no en ingles por que quiero fomentar el romhack en español
right_stats_string: .word 0x0861F79E (segun los comentarios esta mal)
El offset correcto es 0x0861F7AA
imagino que esa es la razon por la que no me funciona el tutorial, trate de compilar el codigo con la correccion pero ni el programa thumb ni asm compiler me funcionan no me crean ningun archivo, existe este tutorial de thumb
[ASM] - Cómo compilar una rutina ASM
Bueno ya que muchos me han preguntado sobre esto decidí hacer este tuto para aquellos. =============== Herramientas =============== Carpeta Thumb HxD Solo estas, bien empecemos.. ========= Paso 1 ========= Primero descarguen la carpeta Thumb que deje en las herramientas, lo que contiene...
whackahack.com
mi duda es si acaso esos programas no funcionan en windows 8 o como puedo hacer para que me funcionen, o si hay una persona amable y con tiempo que me pueda compilar este codigo, ya edite el supuesto error listo para ejecutar
.text
.thumb
.thumb_func
.align 2
main:
push {r5}
sub sp, sp, #0x20
ldr r0, [r4] @pokemon summary pointer
add r0, #0xA3 @poke 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 0x0861F7AA
displayed_string: .word 0x02021FC4
special_f7_string_fct: .word 0x081AF849
.thumb
.thumb_func
.align 2
main:
push {r5}
sub sp, sp, #0x20
ldr r0, [r4] @pokemon summary pointer
add r0, #0xA3 @poke 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 0x0861F7AA
displayed_string: .word 0x02021FC4
special_f7_string_fct: .word 0x081AF849
Posdata: se dice que la rutina se inserta en un offset que termine en 0,4,8 o C si es que desean probarlo, en mi caso estoy usando un rom de esmerala sin nada agregado limpia y uso estos offset E3CF80 y E3D060, y uso una rom en español y no en ingles por que quiero fomentar el romhack en español