Helyut
si
Hola amigos de WaH, vengo a traerles un tutorial de una rutina muy, (lo digo enserio) muy interesante, espero le den un buen uso, ahora, empecemos.
Esto del Sistema de Textbox’s basa en que con el valor de una variable, podrán cambiar de textbox, a cuantas quieran, dependiendo del valor de la variable.
Necesario:
Bueno, empezamos ahora sí.
Lo primero que haremos, crearemos una copia de nuestra rom (Para asegurar), de ahí abriremos el NLZ-GBA u el GBA Graphics Editor, en mi caso NLZ-GBA, cargamos nuestra rom, y vamos a esta dirección 0x41F1C8, como de seguro en NLZ-GBA les aparece una “X” desactivarán la opción “Compressed Graphics” y se verá así:
Y pondrán Width en 5 y Heigth en 4 se verá así:
Ahora, ¿se ven horribles las paletas cierto? Pues, porque deberíamos poner su paleta correspondiente, cuál es 0x471DEC en donde dice “ROM Pallete Offset” si no lo ven, aquí una imagen:
Ahora importemos los textbox’s que tengamos, ah, se me olvidó decirles que todas (TODAS) las textbox’s deben tener la misma paleta, discúlpenme por decirlo tarde, ahora, pueden juguetear un poco con sus textbox’s y continuemos, como normal, importen la textbox de la manera de cualquier otra imagen, también copien en un blog de notas, el offset donde insertaron la misma.
Ahora, no marquen lo de “Repoint Pointers” ya que queremos importar una nueva imagen, no remplazarla, así que, abramos el FSF o lo que tengan a preferencia, y busquen un offset libre, que cuente por lo menos con 12000 bytes libres (El FSF busca valores en Decimal, así que 12000 debería ser en Hexadecimal 2EE0) ojo con eso, ahora su búsqueda debería ser desde un offset, para asegurar no tener un problema, pondré que busque desde 0x800000, así:
Ahora, copien ese offset en NLZ-GBA, y dale a “OK” luego, vayan a ese offset en el NLZ-GBA, y denle a “Write to ROM” y copien el offset de esa en el blog de notas, ahora repitan este paso con la siguiente, pueden insertar cuantas quieran, solo debe tener la misma paleta.
Después de ya haberlas insertado todas, deberíamos hacer algo con sus offset ¿verdad? ¡Pues claro! Debemos de poner sus offsets en esta tabla:
XX XX XX 08 XX XX XX 08 XX XX XX 08 XX XX XX 08 XX XX XX 08 XX XX XX 08
XX XX XX: Lugar donde va el offset de cada textbox permutado.
Ahora, deberían saber, que en el primer “XX XX XX 08” va por lógica, la primera textbox que usarán, si insertaron más de las que tiene la tabla, fácil, solo ven cinco veces “XX XX XX 08” pues, insértenle los que necesiten, para así usar todas sus textbox, (No obstante, no sé hasta cuantas textbox pueden usar, les recomendaría usar por lo menos unas siete, o cinco) aunque yo usé solo cinco xD.
Esta es la mía: C8 F1 41 08 F4 F9 81 08 74 FC 81 08 F4 FE 81 08 74 01 82 08.
Ahora que ya permutaron, y acomodaron la tabla a su gusto, vamos a HxD, a insertarla, no la vamos a dejar de adorno ¿o sí? Bueno, abriendo el HxD, buscaremos un Offset libre (Ctrl+G), yo la inserté en 0x81F9E0 así:
Luego de eso, vamos con la rutina que es para la que usaremos esa tabla, la cuál es:
01 B4 07 48 00 F0 09 F8 00 88 07 49 80 00 09 58 01 BC A0 22 92 00 05 4B 18 47 02 49 08 47 C0 46 XX XX 00 00 55 E4 06 08 XX XX XX 08 CF FE 14 08
XX XX: La variable permutada que usaremos para el cambio de la textbox.
XX XX XX: Aquí va el offset de la tabla permutado.
En mi caso, la variable que usé fue 0x406C, y permutada 6C 40, y con la dirección ya dicha antes 0x81F9E0, sería E0F981 permutada, ahora insertamos la rutina, yo la inserté en 0x81F9B0 así:
Ahora iremos a la dirección 0x14FEC4 y pegaremos esto:
00 49 08 47 XX+1 XX XX 08
En XX+1 XX XX 08 va la dirección de la rutina anterior, permutada +1.
En mi caso fue 0x81F9B0, y permutada +1 sería B1 F9 81, entonces en donde dice:
00 49 08 47 XX+1 XX XX 08 a mi me quedaría así 00 49 08 47 B1 F9 81 08.
Ahora guardamos, y abrimos el XSE, para probar la rutina en mi caso hice este script sencillo:
#dynamic 0x800000
#org @inicio
Msgbox @algo 0x2
Setvar 0x406C 0x1 (Valor de la variable, dependiendo de cuál textbox quieran, cámbienla).
Callasm 0x805BE61 (Para refrescar la pantalla, aunque creo que no hace falta).
Msgbox @1 0x2 (El mensaje que les comprobará que la textbox fue cambiada).
Release
End
#org @algo
= Probando.
#org @1
= Cambio de textbox.
Insertamos ese script, en algún lugar para probarlo.
Resultado:
También olvidé decir, que con la rutina de Textbox transparente, y ese cambio de Textbox, no tendría ningún error, ya que usa la misma paleta, y si quieren modificar la paleta de la Textbox transparente, su paleta se encuentra en 0x750000, es lo primero que inserta la rutina. Aunque dependiendo de si usan el parche, o la insertan manualmente, será diferente, esa paleta la di, porque es la del parche.
Y bueno, como siempre digo, se me cuidan, si alguna duda, no lo piensen dos veces para comentar, u pedir ayuda.
Créditos a Kenny1 de Pokecomunnity y a mi por modificaciones minímas, por algunos bugs.
La probé después de las modificaciones, y ya está seguro su uso.
Como dice @LordBugrhak si encuentra la rutina para cambiar de paleta la textbox será más profesional, espero y la encuentre.
¡Se me cuidan princesos!
Esto del Sistema de Textbox’s basa en que con el valor de una variable, podrán cambiar de textbox, a cuantas quieran, dependiendo del valor de la variable.
Necesario:
- HxD (U cualquiera que usen, aunque yo veo más fácil ese).
- NLZ-GBA (También pueden con el GBA Graphics Editor).
- FSF (O cualquier buscador de espacio libre).
- XSE (Para probar la rutina).
- Blog de Notas (Imposible de encontrar en una computadora).
- Una rom de Fire Red (U).
Bueno, empezamos ahora sí.
Lo primero que haremos, crearemos una copia de nuestra rom (Para asegurar), de ahí abriremos el NLZ-GBA u el GBA Graphics Editor, en mi caso NLZ-GBA, cargamos nuestra rom, y vamos a esta dirección 0x41F1C8, como de seguro en NLZ-GBA les aparece una “X” desactivarán la opción “Compressed Graphics” y se verá así:
Y pondrán Width en 5 y Heigth en 4 se verá así:
Ahora, ¿se ven horribles las paletas cierto? Pues, porque deberíamos poner su paleta correspondiente, cuál es 0x471DEC en donde dice “ROM Pallete Offset” si no lo ven, aquí una imagen:
Ahora importemos los textbox’s que tengamos, ah, se me olvidó decirles que todas (TODAS) las textbox’s deben tener la misma paleta, discúlpenme por decirlo tarde, ahora, pueden juguetear un poco con sus textbox’s y continuemos, como normal, importen la textbox de la manera de cualquier otra imagen, también copien en un blog de notas, el offset donde insertaron la misma.
Ahora, no marquen lo de “Repoint Pointers” ya que queremos importar una nueva imagen, no remplazarla, así que, abramos el FSF o lo que tengan a preferencia, y busquen un offset libre, que cuente por lo menos con 12000 bytes libres (El FSF busca valores en Decimal, así que 12000 debería ser en Hexadecimal 2EE0) ojo con eso, ahora su búsqueda debería ser desde un offset, para asegurar no tener un problema, pondré que busque desde 0x800000, así:
Ahora, copien ese offset en NLZ-GBA, y dale a “OK” luego, vayan a ese offset en el NLZ-GBA, y denle a “Write to ROM” y copien el offset de esa en el blog de notas, ahora repitan este paso con la siguiente, pueden insertar cuantas quieran, solo debe tener la misma paleta.
Después de ya haberlas insertado todas, deberíamos hacer algo con sus offset ¿verdad? ¡Pues claro! Debemos de poner sus offsets en esta tabla:
XX XX XX 08 XX XX XX 08 XX XX XX 08 XX XX XX 08 XX XX XX 08 XX XX XX 08
XX XX XX: Lugar donde va el offset de cada textbox permutado.
Ahora, deberían saber, que en el primer “XX XX XX 08” va por lógica, la primera textbox que usarán, si insertaron más de las que tiene la tabla, fácil, solo ven cinco veces “XX XX XX 08” pues, insértenle los que necesiten, para así usar todas sus textbox, (No obstante, no sé hasta cuantas textbox pueden usar, les recomendaría usar por lo menos unas siete, o cinco) aunque yo usé solo cinco xD.
Esta es la mía: C8 F1 41 08 F4 F9 81 08 74 FC 81 08 F4 FE 81 08 74 01 82 08.
Ahora que ya permutaron, y acomodaron la tabla a su gusto, vamos a HxD, a insertarla, no la vamos a dejar de adorno ¿o sí? Bueno, abriendo el HxD, buscaremos un Offset libre (Ctrl+G), yo la inserté en 0x81F9E0 así:
Luego de eso, vamos con la rutina que es para la que usaremos esa tabla, la cuál es:
01 B4 07 48 00 F0 09 F8 00 88 07 49 80 00 09 58 01 BC A0 22 92 00 05 4B 18 47 02 49 08 47 C0 46 XX XX 00 00 55 E4 06 08 XX XX XX 08 CF FE 14 08
XX XX: La variable permutada que usaremos para el cambio de la textbox.
XX XX XX: Aquí va el offset de la tabla permutado.
En mi caso, la variable que usé fue 0x406C, y permutada 6C 40, y con la dirección ya dicha antes 0x81F9E0, sería E0F981 permutada, ahora insertamos la rutina, yo la inserté en 0x81F9B0 así:
Ahora iremos a la dirección 0x14FEC4 y pegaremos esto:
00 49 08 47 XX+1 XX XX 08
En XX+1 XX XX 08 va la dirección de la rutina anterior, permutada +1.
En mi caso fue 0x81F9B0, y permutada +1 sería B1 F9 81, entonces en donde dice:
00 49 08 47 XX+1 XX XX 08 a mi me quedaría así 00 49 08 47 B1 F9 81 08.
Ahora guardamos, y abrimos el XSE, para probar la rutina en mi caso hice este script sencillo:
#dynamic 0x800000
#org @inicio
Msgbox @algo 0x2
Setvar 0x406C 0x1 (Valor de la variable, dependiendo de cuál textbox quieran, cámbienla).
Callasm 0x805BE61 (Para refrescar la pantalla, aunque creo que no hace falta).
Msgbox @1 0x2 (El mensaje que les comprobará que la textbox fue cambiada).
Release
End
#org @algo
= Probando.
#org @1
= Cambio de textbox.
Insertamos ese script, en algún lugar para probarlo.
Resultado:
También olvidé decir, que con la rutina de Textbox transparente, y ese cambio de Textbox, no tendría ningún error, ya que usa la misma paleta, y si quieren modificar la paleta de la Textbox transparente, su paleta se encuentra en 0x750000, es lo primero que inserta la rutina. Aunque dependiendo de si usan el parche, o la insertan manualmente, será diferente, esa paleta la di, porque es la del parche.
Y bueno, como siempre digo, se me cuidan, si alguna duda, no lo piensen dos veces para comentar, u pedir ayuda.
Créditos a Kenny1 de Pokecomunnity y a mi por modificaciones minímas, por algunos bugs.
La probé después de las modificaciones, y ya está seguro su uso.
Como dice @LordBugrhak si encuentra la rutina para cambiar de paleta la textbox será más profesional, espero y la encuentre.
¡Se me cuidan princesos!
Última edición: