Registrarse

FR | Insertar gráficos de separación Físico/Especial a mano

Estado
Cerrado para nuevas respuestas.

Adke

weeeh
Sé que la gran mayoría usa el parche de MrDS para esto, pero si eres como yo y no quieres insertar el parche de MrDS este tutorial es para ti :p

Lo primero de todo es insertar y aplicar este parche creado por DoesntKnowHowToPlay que además incluye el Boost de un 50% de Defensa Especial en tormentas de arena a todos los pokemon de tipo roca.

Una vez aplicado este parche solo queda insertar los iconos.



Lo primero de todo es guardar esta imagen
Para insertarla hay que tener cuidado porque tienen que estar DEScomprimidas. Para insertarlas yo uso NLZ-GBA, pero podéis usar cualquier otro programa para insertar imágenes. Simplemente hay que desmarcar esta casilla:


y se verá algo así:

Ahora buscáis un sitio con espacio en la ROM y la escribís donde pone Offset. Después escribís en la paleta la dirección E95DBC y le dais a Import a Bitmap. Abrís la imagen de antes y si se os abre una pestañita de la paleta, dadle a la X porque sino sobreescribirá la paleta buena.
Se os abrirá una pestaña como esta:

Desmarcáis todas las casillas y le dais a OK.

Ahora se verán los iconos pero con paletas cambiadas. Para arreglar esto le damos a Save as Bitmap. Lo abrimos en Paint o donde sea y pegamos encima de los iconos la imagen del principio con las paletas buenas, guardamos y volvemos a insertar en el NLZ en la misma dirección.
Ahora debería verse con las paletas buenas.

Una vez hecho esto solo queda insertar esta rutina ASM y aplicar un par de cambios hex.
Código:
.align 2
.thumb
Start:
 push {r0-r4}
 ldr r0, .CurMoveIndex
 ldrb r1, [r0]
 lsl r1, r1, #1
 ldr r0, .Move_List_Loc
 ldr r0, [r0]
 ldr r3, .number
 add r0, r0, r3
 add r0, r0, r1
 ldrh r3, [r0]
 cmp r3, #0x0
 beq Finish
 lsl r0, r3, #1
 add r0, r0, r3
 lsl r0, r0, #2
 ldr r1, .MoveBase
 add r0, r0, r1
 ldrb r4, [r0, #10]
 lsl r0, r4, #1
 add r4, r4, r0
 lsl r4, r4, #6
 ldr r0, .SplitImages
 add r0, r4
 ldr r1, .VRAM
 mov r2, #0x30
 swi #0xB 
 ldr r0, .SplitImages
 add r0, r4
 add r0, #0x60
 ldr r1, .VRAM
 mov r2, #0x1E
 lsl r2, #0x04
 add r1, r1, r2
 mov r2, #0x30
 swi #0xB 
Finish:
 pop {r0-r4}
 ldr r4, .Some_Offset
 ldr r0, [r4]
 ldr r1, .Return_Addr
 bx r1
.align 2
.MoveBase:  .word 0x08250C04
.number: .word 0x00003258
.CurMoveIndex: .word 0x0203B16D
.Move_List_Loc:  .word 0x0203B140
.VRAM:   .word 0x06001800
.SplitImages: .word 0x08YYYYYY
.Some_Offset: .word 0x0203B148
.Return_Addr: .word 0x0813A17D
Donde pone YYYYYY lo cambiáis por la dirección donde insertasteis la imagen de los iconos (sin sumar +1 ni nada).

Código:
13A130: 0x2F
13A17B: 0x47
13A1A0: Dirección donde insertaste la rutina +1 (permutado)
Y con esto ya solo queda ir a un editor de ataques como PGE o G3T y editar desde ahí si el ataque es físico o especial.

Espero que sirva :)

PD: Todos los créditos van para Doesnt, Darthatron y Jambo51.
 

Toni

Leyenda de WaH
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Súper buen tutorial. Ya lo había visto por algún lado, pero se agradece.
Sigue aportando igual, vas por muy buen camino.
 

Fran

Profesional de WaH
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

¡Tutoralazo!(?

Me sorprende que sea tan poco reconocido cuando sirve mucho para la gente que no quiere insertar muchos parches, o no insertarlos.
Te dejo mi +Gracias y repu(si claro Cecil, si no sabes dar repus xD)
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Si mal no recuerdo existe un parche que hacía solo eso sin modificar offsets importantes, y hasta tenía ya los datos de los movimientos separados, pero creo que ya no existe el link, igual gracias por traer este aporte muy útil a la comunidad.
 

Drakko

Aprendiz De Sabio
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Se que el post es del año pasado pero aun así pongo mi duda, porque mas vale prevenir que lamentar :b @SirAdke
¿Que pasa si sigo el tutorial al pie de la letra y todo sale bien pero no inserte el parche de DoesntKnowHowToPlay?
 

MichaKing

Grafista avanzado
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Se que el post es del año pasado pero aun así pongo mi duda, porque mas vale prevenir que lamentar :b @SirAdke
¿Que pasa si sigo el tutorial al pie de la letra y todo sale bien pero no inserte el parche de DoesntKnowHowToPlay?
Sé que esto no tiene que ver con lo que preguntas, pero por lo visto este tutorial es algo complejo al tener que hacer TODO a mano, inclusive cuenta con una rutina ASM. No es por querer menospreciar el trabajo hecho por Sis Adke ni mucho menos, pero te recomiendo este tutorial:
FR | Grafico | agrega tus iconos de Mov. Fisico. Spe. Status. a mano.

Yo lo seguí al pie de la letra y me funcionó a la primera sin mayores dificultades, espero te sirva a ti también. Luego solo te quedaría editar la categoría de los movimientos con un programa como G3T o PEG.

-¡Saludos! :D
 

Drakko

Aprendiz De Sabio
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Sé que esto no tiene que ver con lo que preguntas, pero por lo visto este tutorial es algo complejo al tener que hacer TODO a mano, inclusive cuenta con una rutina ASM. No es por querer menospreciar el trabajo hecho por Sis Adke ni mucho menos, pero te recomiendo este tutorial:
FR | Grafico | agrega tus iconos de Mov. Fisico. Spe. Status. a mano.

Yo lo seguí al pie de la letra y me funcionó a la primera sin mayores dificultades, espero te sirva a ti también. Luego solo te quedaría editar la categoría de los movimientos con un programa como G3T o PEG.

-¡Saludos! :D
Gracias por la ayuda amigo, ese tema lo eh leído y me a parecido bueno, pero en lo personal prefiero el de @Sir Adke y ya eh seguido el tutorial en una rom de pruebas y me a funcionado perfecto, solo cambio las clasificaciones en el G3T o el PGE y ya, pero se me ha olvidado o pasado insertar el parche del principio :p , a pesar de eso todo funciona bien, por eso la pregunta ¿Que pasa si hago todo pero no inserto el parche del comienzo? , aun asi gracias por contestar amigo :)
 

Adke

weeeh
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Gracias por la ayuda amigo, ese tema lo eh leído y me a parecido bueno, pero en lo personal prefiero el de @Sir Adke y ya eh seguido el tutorial en una rom de pruebas y me a funcionado perfecto, solo cambio las clasificaciones en el G3T o el PGE y ya, pero se me ha olvidado o pasado insertar el parche del principio :p , a pesar de eso todo funciona bien, por eso la pregunta ¿Que pasa si hago todo pero no inserto el parche del comienzo? , aun asi gracias por contestar amigo :)
En teoría no pasa nada por no insertar el parche, pero es recomendable aplicarlo porque corrige errores y así evitas que te de algún bug raro ^^
 

Bugrhak

A long time ago I used to call myself "Subzero".
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Gracias por la ayuda amigo, ese tema lo eh leído y me a parecido bueno, pero en lo personal prefiero el de @Sir Adke y ya eh seguido el tutorial en una rom de pruebas y me a funcionado perfecto, solo cambio las clasificaciones en el G3T o el PGE y ya, pero se me ha olvidado o pasado insertar el parche del principio :p , a pesar de eso todo funciona bien, por eso la pregunta ¿Que pasa si hago todo pero no inserto el parche del comienzo? , aun asi gracias por contestar amigo :)
El parche principalmente añade el boost del 50% de defensa especial en tormentas de arena, como bien menciona Adke al inicio del tutorial.
Las correcciones que hace no son en gran medida significativas, así que, podría decirse que da prácticamente igual insertarlo, salvo que quieras el boost, por supuesto.

En cuanto a la rutina, podría decirse que hace poco mas que cargar la imagen de la separación físico/special/status, por lo que, no supondría problemas o errores futuros si no insertas el parche.

Recuerda que aunque estén marcados los pasos en el tutorial, tu puedes escoger que tomar de el y que no. ;)

♠Un saludo!♠
 

JkiisRuizKill

Jkiis Ruiz
Sé que la gran mayoría usa el parche de MrDS para esto, pero si eres como yo y no quieres insertar el parche de MrDS este tutorial es para ti :p

Lo primero de todo es insertar y aplicar este parche creado por DoesntKnowHowToPlay que además incluye el Boost de un 50% de Defensa Especial en tormentas de arena a todos los pokemon de tipo roca.

Una vez aplicado este parche solo queda insertar los iconos.



Lo primero de todo es guardar esta imagen
Para insertarla hay que tener cuidado porque tienen que estar DEScomprimidas. Para insertarlas yo uso NLZ-GBA, pero podéis usar cualquier otro programa para insertar imágenes. Simplemente hay que desmarcar esta casilla:


y se verá algo así:

Ahora buscáis un sitio con espacio en la ROM y la escribís donde pone Offset. Después escribís en la paleta la dirección E95DBC y le dais a Import a Bitmap. Abrís la imagen de antes y si se os abre una pestañita de la paleta, dadle a la X porque sino sobreescribirá la paleta buena.
Se os abrirá una pestaña como esta:

Desmarcáis todas las casillas y le dais a OK.

Ahora se verán los iconos pero con paletas cambiadas. Para arreglar esto le damos a Save as Bitmap. Lo abrimos en Paint o donde sea y pegamos encima de los iconos la imagen del principio con las paletas buenas, guardamos y volvemos a insertar en el NLZ en la misma dirección.
Ahora debería verse con las paletas buenas.

Una vez hecho esto solo queda insertar esta rutina ASM y aplicar un par de cambios hex.
Código:
.align 2
.thumb
Start:
 push {r0-r4}
 ldr r0, .CurMoveIndex
 ldrb r1, [r0]
 lsl r1, r1, #1
 ldr r0, .Move_List_Loc
 ldr r0, [r0]
 ldr r3, .number
 add r0, r0, r3
 add r0, r0, r1
 ldrh r3, [r0]
 cmp r3, #0x0
 beq Finish
 lsl r0, r3, #1
 add r0, r0, r3
 lsl r0, r0, #2
 ldr r1, .MoveBase
 add r0, r0, r1
 ldrb r4, [r0, #10]
 lsl r0, r4, #1
 add r4, r4, r0
 lsl r4, r4, #6
 ldr r0, .SplitImages
 add r0, r4
 ldr r1, .VRAM
 mov r2, #0x30
 swi #0xB 
 ldr r0, .SplitImages
 add r0, r4
 add r0, #0x60
 ldr r1, .VRAM
 mov r2, #0x1E
 lsl r2, #0x04
 add r1, r1, r2
 mov r2, #0x30
 swi #0xB 
Finish:
 pop {r0-r4}
 ldr r4, .Some_Offset
 ldr r0, [r4]
 ldr r1, .Return_Addr
 bx r1
.align 2
.MoveBase:  .word 0x08250C04
.number: .word 0x00003258
.CurMoveIndex: .word 0x0203B16D
.Move_List_Loc:  .word 0x0203B140
.VRAM:   .word 0x06001800
.SplitImages: .word 0x08YYYYYY
.Some_Offset: .word 0x0203B148
.Return_Addr: .word 0x0813A17D
Donde pone YYYYYY lo cambiáis por la dirección donde insertasteis la imagen de los iconos (sin sumar +1 ni nada).

Código:
13A130: 0x2F
13A17B: 0x47
13A1A0: Dirección donde insertaste la rutina +1 (permutado)
Y con esto ya solo queda ir a un editor de ataques como PGE o G3T y editar desde ahí si el ataque es físico o especial.

Espero que sirva :)

PD: Todos los créditos van para Doesnt, Darthatron y Jambo51.
LOS code que hay abajo hay que insertarlos en la rutina también o en un script o algo?
13A130: 0x2F
13A17B: 0x47
13A1A0: Dirección donde insertaste la rutina +1 (permutado
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
@JkiisRuizKill
Código:
13A130: 0x2F
13A17B: 0x47
13A1A0: Dirección donde insertaste la rutina +1 (permutado)
Lo que tienes que hacer es abrir tu ROM con el HxD e ir a la dirección 14A130 usando Ctrl+G y escribir 2F Luego repites el proceso con el offset y el byte de abajo.

Por último debes sumarle +1 al offset donde tienes la rutina y después permutarla. Una vez hecho eso lo insertar con Ctrl+B o lo escribes directametne en el offset 14A1A0

Espero haberte ayudado
 
Última edición:

JkiisRuizKill

Jkiis Ruiz
@JkiisRuizKill
Código:
13A130: 0x2F
13A17B: 0x47
13A1A0: Dirección donde insertaste la rutina +1 (permutado)
Lo que tienes que hacer es abrir tu ROM con el HxD e ir a la dirección 14A130 usando Ctrl+G y escribir 2F Luego repites el proceso con el offset y el byte de abajo.

Por último debes sumarle +1 al offset donde tienes la rutina y después permutarla. Una vez hecho eso lo insertar con Ctrl+B o lo escribes directametne en el offset 14A1A0

Espero haberte ayudado
¿el offset de abajo? te refieres al 14a140?
yo voy al 14a130, pongo 2F al principio del offset, posicion 0, voy al de abajo y hago lo mismo, pongo 2F, cojo el offset de la rutina y lo permuto, que sería por ejemplo 8A1040 - 40108A y si tengo que sumarle uno sería 41108A, vale,¿ lo inserto en el 14a1a0, en el principio, en la posición 0?
 

MetalKaktus

A la luz del quinto día, mira al este
Miembro insignia
¿el offset de abajo? te refieres al 14a140?
yo voy al 14a130, pongo 2F al principio del offset, posicion 0, voy al de abajo y hago lo mismo, pongo 2F, cojo el offset de la rutina y lo permuto, que sería por ejemplo 8A1040 - 40108A y si tengo que sumarle uno sería 41108A, vale,¿ lo inserto en el 14a1a0, en el principio, en la posición 0?
A ver, lo explico más detenidamente.

Primero, usas Ctrl+G y pones 13A130 y sin tocar nada más escribes 2F

Segundo, usas Ctrl+G y pones 13A17B y sin tocar nada más escribes 47

Y lo más complicado. Recuerdas el offset donde insertaste tu rutina? Lo pone abajo a la izquierda del todo. Bien imaginate como ejemplo que lo tengo en el offset 80024A

1. Paso: 80024A +1 =80024B
2. Paso: Permutar, 80 02 4B -> 4B 02 80
3. Paso: Ecribir 4B0280 en el offset 13A1A0. Ya sabes, control G y escribes.

Si no lo entiendes así no se como explicarlo
 

JkiisRuizKill

Jkiis Ruiz
A ver, lo explico más detenidamente.

Primero, usas Ctrl+G y pones 13A130 y sin tocar nada más escribes 2F

Segundo, usas Ctrl+G y pones 13A17B y sin tocar nada más escribes 47

Y lo más complicado. Recuerdas el offset donde insertaste tu rutina? Lo pone abajo a la izquierda del todo. Bien imaginate como ejemplo que lo tengo en el offset 80024A

1. Paso: 80024A +1 =80024B
2. Paso: Permutar, 80 02 4B -> 4B 02 80
3. Paso: Ecribir 4B0280 en el offset 13A1A0. Ya sabes, control G y escribes.

Si no lo entiendes así no se como explicarlo
Si lo entiendo, es que no estaba seguro de lo del 2F y como te has equivocado y has puesto 14 en vez de 13 me he confundido, pero ya sí, muchas gracias.
sin embargo al darle a seleccionar menu, pokemon, datos, ataques y selecionar el ataque me da rom-image has crashed
 
Última edición:

Adke

weeeh
Respuesta: Re: FR | Otros | Insertar Separación Físico/Especial a mano

LOS code que hay abajo hay que insertarlos en la rutina también o en un script o algo?
13A130: 0x2F
13A17B: 0x47
13A1A0: Dirección donde insertaste la rutina +1 (permutado
Es lo que tienes que cambiar en un editor hexadecimal. Vas a esa dirección (13A130 es la primera) y cambias el byte que haya por 2F.

En la última tienes que poner la dirección donde insertaste la rutina, sumarle 1 y permutarlo: si la dirección es 089025AA(habiéndole sumado 1) lo separas en bytes (08 90 25 AA) y los cambias de sentido (AA 25 90 08) de manera que lo que tendrías que escribir en la dirección es AA259008.

Espero que te haya servido ^^
 

hacanoca

Héroe de WaH
Hola a todos.
Bueno, yo me encontré con un error.
Antes de intentar este método intenté el de Munny Gold, pero encontré con el mismo problema que con este método:
Realicé el proceso sin insertar previamente el parche, y cuando finalicé todo funcionó correctamente: Los ataques tenían sus símbolos de Físico o especial.
El problema fue que cuando a un poke rival le asigno movimientos personalizados, uno de los 4 mvtos no funciona; es como si tuviera 3 en vez de 4.
Además si los enfrento con un DITTO, al transformarme, efectivamente aparecen sólo tres movimientos; y aparte los copia en un orden raro de tal forma que DITTO sólo puede usar 2 ataques.
Realicé las mismas pruebas en mi hack antes de aplicar este proceso y estos errores no ocurrían. Por lo que atribuyo el problema a esta rutina.

A por cierto, pensé que este era uno de los errores que corregía el patch.
Así que realicé un nuevo intento desde el principio aplicando el patch previamente; sin embargo obtuve el mismo resultado.

¿Alguien le ha pasado lo mismo?
¿Conocen alguna forma de solucionarlo?
Gracias.

Perdón, perdón.
Resulta que no había hecho exactamente la misma prueba, lo del DITTO también me ocurría antes.
Así que no es problema del proceso de físico/especial.
Lo siento mucho
A mi por lo menos, lo del DITTO me pasa cuando el rival tiene movimientos personalizados sin tener activada la casilla "custom held item". ¡No tenía idea!
Entonces, sí, me funciona bien el proceso.
Gracias
 
Última edición:

AlexPKM

Sr. Lucario
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Gracias por el tuto bro
 
Respuesta: FR | Otros | Insertar Separación Físico/Especial a mano

Hola, estoy empezando mi proyecto y decidí empezar por esto, pude insertarlo perfectamente, sin embargo, al pulsar "Enter" (start) mi juego se congela, y quería preguntarle como se soluciona ese problema, de antemano, gracias.
 
Estado
Cerrado para nuevas respuestas.
Arriba