Registrarse

[RH - ASM] Compilar Recolor de Stats Pokemon Emeralda

Estado
Cerrado para nuevas respuestas.

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
.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

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
 

Loz

_______
Bueno @Elyseum, mmm, creo que responderé por partes.

trate de compilar el codigo con la correccion pero ni el programa thumb ni asm compiler me funcionan no me crean ningun archivo,
No utilizo Windows 8, pero si mal no recuerdo, thumb funciona sin problemas en ese sistema operativo.

el cual explica como ejecutar una rutina cuando no te abre pero el link de desarga ya no funciona
Este programa lo puedes descargar de la sección 'Recursos' que está en la parte superior, a lado de la pestaña 'Foro', vas a la pestaña 'Herramientas GBA' y ahí buscas el programa 'thumb'.

mi duda es si acaso esos programas no funcionan en windows 8 o como puedo hacer para que me funcionen,
Como explica en el enlace que colocaste, para compilar una rutina ASM, tienes que arrastrar y colocar el archivo ASM encima del archivo 'thumb.bat', haciendo esto, podrás compilar una rutina ASM, también se puede compilar una rutina por medio de MS-DOS o símbolo del sistema, un dato importante es que la rutina que intentas compilar tenga la extensión ASM, es decir, 'rutina.asm'.

Con respecto a la inserción de las rutinas, tienes que pegar las dos rutinas al ROM, tanto el lado izquierdo como el lado derecho, también tienes que cambiar los bytes en los offsets 0x1C33BE y 0x1C3484, como lo menciona en la guía de Colorear los Stats .
 

Acimut

Profesional de WaH
El compilador Thumb funciona perfectamente en Windows 8.
Intenta hacer lo siguiente: Descarga nuevamente Thumb y prueba compilar las rutinas asm que mencionas. Recuerda que, así como menciona @Loz debes de asegurarte que las rutinas tengan extensión .asm
Luego con ayuda de un editor Hexadecimal, compara los archivos .bin que genera el compilador con los siguientes códigos compilados:
Rutina 1:
Código:
20 B4 88 B0 20 68 A3 30 01 78 2E 48 8A 00 8A 18 12 18 2D 4B 69 46 00 25 58 5D 48 55 01 35 06 2D FA D1 06 33 06 31 00 25 10 78 01 28 04 D0 FF 28 04 D1 00 F0 28 F8 01 E0 00 F0 2F F8 58 5D 48 55 01 35 03 2D FA D1 03 33 03 31 00 25 01 32 10 78 01 28 04 D0 FF 28 05 D0 00 F0 29 F8 04 E0 00 F0 1C F8 01 E0 00 F0 0F F8 58 5D 48 55 01 35 03 2D FA D1 16 48 69 46 16 4A 00 F0 22 F8 48 46 08 B0 20 BC 14 4A 1C E0 FC 20 08 70 01 31 01 20 08 70 01 31 07 20 08 70 01 31 70 47 FC 20 08 70 01 31 01 20 08 70 01 31 05 20 08 70 01 31 70 47 FC 20 08 70 01 31 01 20 08 70 01 31 08 70 01 31 70 47 10 47 C0 46 D4 4A 32 08 9E F7 61 08 C4 1F 02 02 49 F8 1A 08 C9 33 1C 08
Rutina2:
Código:
20 B4 88 B0 20 68 A3 30 01 78 36 48 8A 00 8A 18 12 18 03 32 34 4B 69 46 00 25 10 78 01 28 04 D0 FF 28 04 D1 00 F0 3F F8 01 E0 00 F0 46 F8 58 5D 48 55 01 35 03 2D FA D1 03 33 03 31 00 25 01 32 10 78 01 28 04 D0 FF 28 05 D0 00 F0 40 F8 04 E0 00 F0 33 F8 01 E0 00 F0 26 F8 58 5D 48 55 01 35 03 2D FA D1 03 33 03 31 00 25 02 3A 10 78 01 28 04 D0 FF 28 05 D0 00 F0 2A F8 04 E0 00 F0 1D F8 01 E0 00 F0 10 F8 58 5D 48 55 01 35 03 2D FA D1 03 33 03 31 15 48 69 46 15 4A 00 F0 21 F8 08 B0 20 BC 14 4A 10 47 FC 20 08 70 01 31 01 20 08 70 01 31 07 20 08 70 01 31 70 47 FC 20 08 70 01 31 01 20 08 70 01 31 05 20 08 70 01 31 70 47 FC 20 08 70 01 31 01 20 08 70 01 31 08 70 01 31 70 47 10 47 C0 46 D4 4A 32 08 AA F7 61 08 C4 1F 02 02 49 F8 1A 08 8D 34 1C 08
Si son iguales, felicitaciones!
Si sigues sin obtener el .bin prueba compilando otra rutina diferente. Si las otras rutinas si compilan prueba copiando nuevamente el código desde la fuente (o algo anda mal en la rutina). Aclaro que la rutina que pusiste la pude compilar, así como las del post original (son las que acabo de poner ya compiladas).
Si sigues sin poder compilar, no sabría como ayudarte, tal vez puedas en una máquina virtual?

Recuerda que te paso el código compilado para que compruebes que no tengas problemas con el compilador Thumb. Personalmente acabo de probar las rutinas y funcionan correctamente.
 

Elyseum

Usuario de platino
Gracias por su ayuda, sigo sin poder compilar imagino que es un problema de mi sitema operativo por que probe en la compu de mi hermana y si me dejo compilar, bueno ya probe las rutinas compiladas que dejaste ACIMUT y ahora si funciona bien el recolor de stats en pokemon esmeralda Gracias
 
Estado
Cerrado para nuevas respuestas.
Arriba