Registrarse

[Rutina] FR | ASM | MsgBox transparentes.

Isra

Más raro que algo raro.
Buenas, estuve buscando como hacer los textbox transparentes en FireRed mediante ASM pero lo máximo que encontré en WAH fue por WTBO y es más complicado (sí, para mi lo es D: ) que en ASM.

Antes que nada decir que esta rutina pertenece a ep!c de Pokeco y es necesario dar créditos al usarlo (Al estar baneado de pokeco desconozco si hace falta o no, pero se lo merece por el aporte que ha echo)

Sin mas preámbulos empecemos con el tutorial :

Necesitaremos 3 rutinas que yo ya las dejaré compiladas.

1º.
Código:
1FB580233F4C237010223F493F480BDF24483F21017024481F21017023484121017023483F21017022480F21017022480A2101702148FF2101702148FF2101702048002101702048002101701F48002101701F48002101701E48002101701E48002101701D48002101701D48002101701C48002101701C48002101701B48002101701B48002101701A48002101701A48002101701948002101701948002101701FBDC046480000044900000450000004510000045200000453000004DC770302DD770302DA770302DB770302DE770302DF770302EC770302ED770302EE770302EF770302F0770302F1770302F2770302F3770302F4770302F5770302F6770302F7770302C07A0302E0010005XXXXXX08
Las XXXXXX es el offset donde queremos poner la paleta pero permutado, por ejemplo si queremos que la paleta esté en el offset 750000 quitaremos las X y pondremos 000075.

2º.
Código:
1FB528481F21017027481F21017027484021017026481E21017026481021017025480021017025482921017024482521017024485A21017023486721017023481F21017022480021017022489C2101702148772101702148FF21017020487E2101702048332101701F487F2101701F48EF2101701E48722101701E48FF2101701D487F2101701D480E2101701C48532101701C4C10221C491C480BDF402323701FBDC046480000044900000450000004510000045200000453000004DC770302DD770302DA770302DB770302DE770302DF770302EC770302ED770302EE770302EF770302F0770302F1770302F2770302F3770302F4770302F5770302F6770302F7770302C07A0302E00100052C1E4708

Código:
2E530000FF7F0000FF7F0000FF7F0000FF7F0000000000000000000000000000
Procedo a explicar cada rutina. :

- 1º rutina.
Activa el Msgbox transparente para que se vea transparente (Obviously)

- 2º rutina.
Desactiva el Msgbox transparente.
Si no se desactiva, al entrar en un warp el juego se crashea.

- 3º rutina.
Modifica la paleta para que se vea el msgbox o si no se verá asi :




Ahora vamos con insertar la rutina.

La 1º rutina tiene que insertarse en el offset que queramos.
La 2º rutina va debajo de ella, en el offset que queramos.
La 3º rutina va en el offset 0xXXXXXX (offset que pusimos en la primera rutina).

Cuando se inserten todas debería quedar algo como esto.


Por último solo queda introducirlo en nuestro hack mediante un script.
Código:
#dynamic 0x800000
#org @inicio
callasm 0x750021
msgbox @mensaje
callstd 0x2
callasm 0x750131
end

#org @mensaje
= Saludos WAH.\nCreditos a EP!C
Y se vería así:)



Un saludo y cualquier aporte interesante que vea por la web y no esté aquí ya tratare de traducirlo y postearlo^^
 

eing

Miembro de honor
Miembro de honor
Lo cierto, es que según veo el código es demasiado extenso para algo tan simple no?
Si quieres, puedo añadirla a la rutina de pensamiento mi propio textbox invisible.
Asi tendriais varios tipos de msgbox en una sola rutina^^
 

Isra

Más raro que algo raro.
Lo cierto, es que según veo el código es demasiado extenso para algo tan simple no?
Si quieres, puedo añadirla a la rutina de pensamiento mi propio textbox invisible.
Asi tendriais varios tipos de msgbox en una sola rutina^^

Claro, todo tuyo:)
Sinceramente no se como puede ser tan largo y ocupar tantos offsets, aunque así es bastante útil.
 

Isra

Más raro que algo raro.
Pasa dirección, si ves arriba digo que después de tanto buscar aquí esa rutina (la necesitaba) no la encontraba...
Sorry si es así:/
 

Jo7a

Kiero mi nick amarillo D:
Pero una vez desactivada la rutina del t-box transparente, el tBox vuelve a verse como era antes no? O se modifican los colores del t-box original?

Gracias por el aporte, no se si de verdad Gold habia posteado este tuto, pero de ser así no me habia dado cuenta.
 

Guilly Alpha

It's eleven o'clock
Es muybuen aporte, solo una duda. ¿La MsgBox es siempre transparente una vez realizado el script, o hay que poner siempre el script?

Ademas, al insertar la rutina, el juego no carga en el emulador
 

Gold

Porrero a tiempo parcial
Miembro insignia
Pero una vez desactivada la rutina del t-box transparente, el tBox vuelve a verse como era antes no? O se modifican los colores del t-box original?

Gracias por el aporte, no se si de verdad Gold habia posteado este tuto, pero de ser así no me habia dado cuenta.
No, como puedes ver hay un callasm al terminar el msgbox, esta lo que hace es volver a la normalidad la textbox, y por eso tiene una ubicacion de paletas diferente, ya que no afecta en nada a la textbox original, y si eres creativo puedes hacer solo el fondo transparente y conservar los colores de la Frame.

Y si, yo lo habia posteado hace un mes.
 

Isra

Más raro que algo raro.
No, como puedes ver hay un callasm al terminar el msgbox, esta lo que hace es volver a la normalidad la textbox, y por eso tiene una ubicacion de paletas diferente, ya que no afecta en nada a la textbox original, y si eres creativo puedes hacer solo el fondo transparente y conservar los colores de la Frame.

Y si, yo lo habia posteado hace un mes.
Lo vi antes Gold, pero el problema es que tú lo borraste ya que el creador (Que keny no era) se estaba quejando de que no diste créditos y lo borraste para hacerlo al estilo de franco, que es el mismo que yo tengo aquí solo que no explico para cambiar de color el texto y las letras.
Además, franco puso los archivos compilados y descompilados para que tu mismo los abrieras con un editor hex y los cogieras, pero ayer al probarlo yo con esos codigos no funcionaban y si te fijas en el post original en pokeco tiene un offset diferente para cerrar la textbox al que yo he puesto, por que los códigos que yo puse en el post son como "nuevos" y si funcionan...

Es muybuen aporte, solo una duda. ¿La MsgBox es siempre transparente una vez realizado el script, o hay que poner siempre el script?

Ademas, al insertar la rutina, el juego no carga en el emulador
Lo has insertado donde he dicho?
Y un fallo muy grande (me pasó a mi), tienes que insertarlo con CTRL+B y no CTRL+V.


Respecto a lo de que siempre sea transparente, no es así ya que haces un callasm y es un offset diferente al textbox de toda la vida, por eso hay despues que "cerrarlo"... Tienes que ponerlo al principio y al final de cada script.
Si no lo cierras al entrar en un warp el juego se queda pillado.

Saludos:blush:
 

Gold

Porrero a tiempo parcial
Miembro insignia
Viendo la rutina me doy cuenta que esta compilada pwra solo funcionar en esas direcciones, en el tuto de franco se explica como ponerla en cualquier lado de la ROM, al menos esa solo puede funcionar en esa direccion.
 

Isra

Más raro que algo raro.
Copien todo el contenido del “actívate.bin” y vayan al offset 750020.
Si ves, te dice que vayas al offset 750020 para insertar la rutina de inicio de textbox, ayer lo probé en otro offset y se veía mal aunque el juego no se trababa (después pongo captura), si diferencias los códigos que puso franco al que puse yo, estos son un poco mas largos ya que empiezas en el 750020 y terminas en el 750130 creo recordar:S



Dejo la fuente: [Tutorial] [ASM]Transparent Textboxes - The PokéCommunity Forums
Las rutinas son muy largas porque llevan un montón de direcciones al final... y porque de hecho están escritas del modo más ineficiente posible ._. (es una traducción literal del método con WBTO?)
Esta muy mal escrita, lo se... pero al yo no tener ni remota idea de ASM no puedo hacer yo una o intentar hacerlo, solo me ciño a seguir lo que dice sea largo o no:D



EDITO : Acabo de probar las rutinas en otros offsets, funcionan aunque hay un fallo, la rutina de las paletas (3º rutina) tiene que ir a la fuerza en 750000 mientras que las otras 2 pueden ir donde quieran.
Todavía me falta por copiar las paletas de el offset 750000 a otro offset (desconozco si funcionará)
 

Guilly Alpha

It's eleven o'clock
Lo has insertado donde he dicho?
Y un fallo muy grande (me pasó a mi), tienes que insertarlo con CTRL+B y no CTRL+V.


Respecto a lo de que siempre sea transparente, no es así ya que haces un callasm y es un offset diferente al textbox de toda la vida, por eso hay despues que "cerrarlo"... Tienes que ponerlo al principio y al final de cada script.
Si no lo cierras al entrar en un warp el juego se queda pillado.

Saludos:blush:
Muchas Gracias, me sirvio mucho Quien lo iba a decir, una p*** letra xD. Pero... los textos de colores no se ven.
 

eing

Miembro de honor
Miembro de honor
Las paletas tienen que ir, justamente donde indiques en las rutinas.
Da igual donde pongas ambas rutinas, porque las llamas mediante callasm.
Si fuese mediante un bx, habrias de cambiar el offset del registro al que harás el bx y el offset de las paletas.

Así que ningun problema en cambiar las direcciones de donde compilas las rutinas xD Y sí, tal y como dice @cosarara es una chapuza de rutina, dado que es demasiado largo, para algo tan sencillo como: Cargar configuracion textbox invisible, o la normal y sus paletas normales .__.
 

Isra

Más raro que algo raro.
He editado el primer código para decir donde se carga la paleta (algo fácil para algunos pero para los nuevos no).
Esto lo hice por si alguien tenía ocupado ese offset con esto ya podía ponerlo en otro.
Y si se quieren cambiar los colores solo deberíamos ir al APE y insertar el offset donde pusimos el codigo de paletas.

Hay un error el cual al terminar el script sale la msgbox normal durante menos de 1 segundo, si os pasa avisar:D
 

Gold

Porrero a tiempo parcial
Miembro insignia
Con un poquitin de ingenio pude conservar los bordes de mi textbox y tener el fondo transparente a la vez, y la transparencia falla al final, pero es fugaz y casi ni se nota.
 

MegaSceptile9

Usuario mítico
Esto de la MSGbox transparente esta de moda...
tal vez lo implemente en mi hack.

Por cierto, buen tuto Isr. Espero que se perfeccione
la rutina al 100 %.

 

Isra

Más raro que algo raro.
Claro, la rutina que yo sepa no la vuelve transparente entera ( Perdón por el título ) si no semi-transparente.

Que yo sepa, no puedes poner bordes con esta rutina, habrá que esperar a que alguien que lo haya probado diga ya que yo dejé mi hack ( WTF ¿Qué hack? ) de lado y no llegué a probar eso :S
 

Guilly Alpha

It's eleven o'clock
Claro, la rutina que yo sepa no la vuelve transparente entera ( Perdón por el título ) si no semi-transparente.

Que yo sepa, no puedes poner bordes con esta rutina, habrá que esperar a que alguien que lo haya probado diga ya que yo dejé mi hack ( WTF ¿Qué hack? ) de lado y no llegué a probar eso :S
Ya, pero anntes aparecia esto:

Esto pertenaece a la version anterior de la rutina
 
Arriba