Registrarse

[pokeruby] Reemplazar la velocidad de texto Rápida por velocidad Instantánea

Lunos

Enfrentando a La Organización
Miembro insignia
Holi. El titulo se explica solo.
Antes de comenzar, hay que decir que los creditos van para DoesntKnowHowToPlay quien diseñó este cambio que es de publico acceso.

Requisitos:
-Leer mi tema de introducción a Pokeruby.
-Editor de texto (yo usaré Notepad++)

Instrucciones:
1) Abriremos el archivo pokeruby\data\strings2.s con nuestro editor de texto.
Buscaremos "gSystemText_Slow" usando Ctrl+F lo que nos llevara hasta la Linea 46, donde veremos lo siguiente:
Código:
gSystemText_Slow:: @ 842C409
	.string "{PALETTE 15}SLOW$"

gSystemText_Mid:: @ 842C411
	.string "{PALETTE 15}MID$"

gSystemText_Fast:: @ 842C418
.string "{PALETTE 15}FAST$"
Aquí reemplazaremos las lineas de texto "SLOW", "MID" y "FAST".
Como hoy reemplazaremos la velocidad de texto rapida por instantanea, moveremos un poco los textos, cosa que SLOW sea MID, MID sea FAST y FAST sea INST.
El resultado deberia ser este:
Código:
gSystemText_Slow:: @ 842C409
	.string "{PALETTE 15}MID$"

gSystemText_Mid:: @ 842C411
	.string "{PALETTE 15}FAST$"

gSystemText_Fast:: @ 842C418
	.string "{PALETTE 15}INST.$"
Hecho eso, guardan los cambios.

2) Ahora nos vamos a pokeruby\src\option_menu.c
Acá buscamos mediante Ctrl+F "TEXTSPEED_MIX_LEFT", lo que nos llevará al a Linea 321, donde veremos esto:
Código:
#if ENGLISH
#define TEXTSPEED_SLOW_LEFT (120)
#define TEXTSPEED_MIX_LEFT (155)
#define TEXTSPEED_FAST_LEFT (184)
#endif
Acá vamos a jugar con las posiciones de las lineas de texto que modificamos previamente, para que todo luzca bien.
Lo unico que hay que hacer es reemplazar ese 155 por un 151 y guardar los cambios.

3) Y los ultimos cambios los haremos en pokeruby\src\text.c
Buscamos mediante Ctrl+F "static const u8 sTextSpeedDelays[]" lo que nos llevará a la Linea 436, donde veremos esto:
Código:
static const u8 sTextSpeedDelays[] = { 6, 3, 1 }; // slow, mid, fast
Aquí simplemente tenemos que cambiar el "1" que determina el delay de la velocidad de texto rapida por un "0".
Lo que resultará en:
Código:
static const u8 sTextSpeedDelays[] = { 6, 3, 0 }; // slow, mid, fast
Nota: Si quieren, tambien pueden cambiar los comentarios slow, mid, fast. Eso es totalmente opcional.

Y por ultimo buscaremos mediante Ctrl+F "return TRUE; // done printing text" lo que nos llevará a la Linea 2492, donde podemos observar esto:
Código:
    PrintNextChar(win);
    switch (win->state)
    {
    case WIN_STATE_END:
        return TRUE;  // done printing text
    case WIN_STATE_WAIT_BUTTON:
    case WIN_STATE_WAIT_CLEAR:
    case WIN_STATE_WAIT_SCROLL:
        if (PlayerCanInterruptDelay(win))
            return 0;
        win->delayCounter = 60;
        break;
    case WIN_STATE_PAUSE:
    case WIN_STATE_NEWLINE:
    case WIN_STATE_WAIT_SOUND:
        break;
    default:
        win->state = WIN_STATE_CHAR_DELAY;
        win->delayCounter = GetTextDelay(win);
        break;
    }
Simplemente lo reemplazamos por lo siguiente:
Código:
	do
	{
		PrintNextChar(win);
		switch (win->state)
		{
		case WIN_STATE_END:
			return TRUE;  // done printing text
		case WIN_STATE_WAIT_BUTTON:
		case WIN_STATE_WAIT_CLEAR:
		case WIN_STATE_WAIT_SCROLL:
			if (PlayerCanInterruptDelay(win))
				return 0;
			win->delayCounter = 60;
			break;
		case WIN_STATE_PAUSE:
		case WIN_STATE_NEWLINE:
		case WIN_STATE_WAIT_SOUND:
			break;
		default:
			win->state = WIN_STATE_CHAR_DELAY;
			win->delayCounter = GetTextDelay(win);
			break;
		}
	} while (win->state == WIN_STATE_CHAR_DELAY && win->delayCounter == 0);
Guardamos los cambios.

4) C:\cygwin64\cygwin.bat
cd pokeruby
make

Aquí una muestra del resultado:


Si por algun motivo no entendieron este tutorial, pueden echarle un vistazo al commit donde se modificaron estos archivos que está enlazado al inicio del post.

Y eso es todo.​
 
Última edición:

Nachoius

Caminante del cielo
Respuesta: Reemplazar la velocidad de texto Rapida por velocidad Instantanea

Romhackers del año tu y todos los demas que estan trabajan en este proyecto. Felicitaciones, estas cosas llevarán al hacking a otro nivel. Una pregunta como se esta desarrollando este tema en pokeco o es exclusivo de wah? Saludos genial aporte
 

Lunos

Enfrentando a La Organización
Miembro insignia
Re: Respuesta: Reemplazar la velocidad de texto Rapida por velocidad Instantanea

Иacho;428901 dijo:
Romhackers del año tu y todos los demas que estan trabajan en este proyecto. Felicitaciones, estas cosas llevarán al hacking a otro nivel. Una pregunta como se esta desarrollando este tema en pokeco o es exclusivo de wah? Saludos genial aporte
En PokeCommunity hay casi que 0 actividad.
La gente que manosea con los proyectos de desensamblaje están todos desperdigados.
Algunos en una comunidades ocultas, otros en Discord. Yo diria que aquí es donde hay mayor concentración de aportes y documentación.
 

KleinStudio

Un plato es un plato
Miembro del equipo
Webmaster
Respuesta: Reemplazar la velocidad de texto Rapida por velocidad Instantanea

Menuda maravilla de aporte, no soporto un juego lento y creo que esto es una grandísima adición a cualquier proyecto ;)
 

Lumbreon

Soy nuevo XD :3
Respuesta: [Pokeruby] Reemplazar la velocidad de texto Rapida por velocidad Instantanea

Te faltó un cambio que es necesario para que todo funcione. Este es en src/text.c en la linea 436 donde se cambian estos valores
static const u8 sTextSpeedDelays[] = { 6, 3, 1 }; // slow, mid, fast
por estos
static const u8 sTextSpeedDelays[] = { 3, 1, 0 }; // slow, mid, fast

Y aprovecho para decir que me estoy iniciando en pokeruby y tus tutoriales me están ayudando mucho a entender como va todo esto.
Gracias por traer este tipo de aportes.
¡Grande Crack!
 
Arriba