Página 9 de 26

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Vie, 17 Ene 2014, 21:47
por Jarlaxe
Eso sí, entretenido te tiene un rato ese sistema ¬_¬

Pero como sarna con gusto no pica XD

Profe Nathan, no es por presionar, bien lo sabe nuestra Diosa Vah-ka, simplemente es a modo de recordatorio porque se que tienes muchos frentes abiertos.

Miraste si con esta versión de la churrera se pueden mostrar los textos con extern.h al posicionarte en una coordenada concreta y pulsar la tecla "abajo"?

Es que no consigo hacerlo rular. Más que nada porque no tengo ni pajolera, claro... v_v

Edit: Nathan, harémos la prueba a ver si estoy dentro de esa media de 17 tiles por pantalla. Yo creo que por ahí puede ir la cosa, ya que aunque algunas pasarán de esos 17, otras se quedan en la mitad o menos.

Hago una cosa, inserto en el script todos los adornos del mapa y pruebo a compilar a ver si peta. Si lo hace te paso la carpeta y le echas un ojo. Pero no nos anticipemos por ahora... :P

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 00:34
por na_th_an
No te va a petar, sólo digo que si te pasas de los 420 y pico tiles puestos por script te convendría más tener el mapa de 48 tiles porque así ocuparía menos ;)

Lo otro lo comprobaré mañana.

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 11:44
por Davidian
$this->bbcode_second_pass_quote('Jarlaxe', 'P')ero he leido que Nathan comentaba que tu tenías ya unos instrumentos específicos para los juegos de la churrera si no me equivoco.


Como bien dice na_th_an no es que yo tenga instrumentos específicos, sino que se usan los mismos para todas las músicas del proyecto. Además, que los instrumentos son los mismos que puedes encontrar en los módulos de los ejemplos del tracker (Uwol y ejemplos de WYZ). Así que aquí no estamos descubriendo la pólvora ;)

A ver si os puedo pasar algo en breve :wan:

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 12:04
por na_th_an
A ver, dos cosas:

Uno: El script no funcionaba porque soy un bananas y se me había olvidado el "THEN". Si lo pones así, y pulsas ABAJO en la columna de la primera pantalla, saldrá el texto:

$this->bbcode_second_pass_code('', 'PRESS_FIRE AT SCREEN 16
IF PLAYER_TOUCHES 9, 8
THEN
EXTERN 1
REENTER
END
END')

Dos: He aprovechado para mejorar un poco el código custom del extern, para hacerlo más flexible. Descargate el nuevo extern.h de más abajo. El tema funciona así:

1.- La posición "Y" de las cajas de textos se define con este define al principio de extern.h:
$this->bbcode_second_pass_code('', '#define BOX_Y 6')

2.- Para definir un texto, debe crearse un "extern unsigned char cadN [0];" al principio del archivo. Si te fijas, hay tres creados. Si quisieses añadir un cuarto, sería un "extern unsigned char cad4[0]":
$this->bbcode_second_pass_code('', 'extern unsigned char cad1[0];
extern unsigned char cad2[0];
extern unsigned char cad3[0];')

3.- Luego hay que referenciar la nueva cadena en la lista de cadenas, justo después. Fíjate como están las tres cadenas en orden:
$this->bbcode_second_pass_code('', 'unsigned char *cads [] = {cad1, cad2, cad3};')

4.- Luego viene un bloque #asm con el texto en sí. El texto lo define un byte que indica el número de lineas que tiene el texto, seguido de ese número de lineas, cada una terminada en un byte 0. Como mis textos tienen 7 lineas, empiezan por un "defb 7". Si pones textos más cortos o más largos hay que cambiar este número de lineas. El código hará el rectángulo lo suficientemente grande. Fíjate también que cada texto empieza con una etiqueta ._cadN equivalente a la variable que creaste antes.
$this->bbcode_second_pass_code('', ' ._cad1
defb 7
defm " HOLA, QUERIDO RAMIRO! "
defb 0
defm " ASI QUE TU HIJA QUERE "
defb 0
defm " EL TESORO DEL MORO... "
defb 0
defm " PUEDO ABRIR LA CAMARA "
defb 0
defm " PERO NECESITO QUE ME "
defb 0
defm " TRAIGAS LAS 4 PARTES "
defb 0
defm " DEL TALISMAN ALEMAN. "
defb 0')

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 12:06
por na_th_an
Para los demás: he actualizado el archivo de la churrera 3.99.3b con esta versión de extern.h. La he puesto en la carpeta /spare, porque me parece muy interesante para los que quieran hacer videoaventuras.

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 14:22
por Jarlaxe
Nathan... eres un pooto genio!

No es peloteo, en serio, es la impresión que me das.

Y encima explicas las cosas para dummys como yo que es un primor.

Gracias compañero! :adore:

P.D:La ocasión lo merece, voy a estrenarme con la corshoneta de sartá! :corchoneta:

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 14:23
por radastan
$this->bbcode_second_pass_quote('na_th_an', 'P')ara los demás: he actualizado el archivo de la churrera 3.99.3b con esta versión de extern.h. La he puesto en la carpeta /spare, porque me parece muy interesante para los que quieran hacer videoaventuras.


Miaaaaaaaaaaaa, es miaaaaaaaaaaaaaaaa.

:jias:

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 18:05
por Jarlaxe
Hola Nathan!

Una consultilla...

En esta parte del código que hay en el extern.h

$this->bbcode_second_pass_code('', 'void draw_texts (unsigned char x, unsigned char y, unsigned char c, char *cad, unsigned char width) {
extn = *cad ++;
while (extn -- > 0) {
print_str (x, y, c, cad);
y ++;
cad += width;
sp_UpdateNow ();
wyz_play_sound (1);
espera_activa (50);
}
}

void do_extern_action (unsigned char n) {
saca_a_todo_el_mundo_de_aqui ();
draw_rectangle (4, BOX_Y, 26, BOX_Y + 1 + *(cads [n - 1]), 15);
draw_texts (4, 7, 15, cads [n - 1], 24);
espera_activa (500);
}')

Esta en concreto

$this->bbcode_second_pass_code('', ' espera_activa (50);')

¿Es la que indica cuanto tiempo tiene que estar activa la caja de texto en pantalla?

Si esto es así, por lo que veo es un valor genérico para todas las cajas de texto, independientemente de si tienen 7 líneas de texto o tan solo 2.

Esto es fijo? o se puede hacer que en las cajas con menos texto tarde menos en desaparecer la caja?

Gracias!

Edit: O mejor aún... es posible que la caja de texto desaparezca cuando pulses el botón de acción? salto, disparao o lo que sea.

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Sab, 18 Ene 2014, 19:02
por na_th_an
Esa linea espera un segundo entre linea y linea. Es la que hay al final (con valor 500) la que espera al final. Si quieres que espere un tiempo que dependa del número de linea que hay escrita, ten en cuenta que 50 = 1 segundo y que el número de lineas es "*(cads [n - 1])", o sea, puedes llamar por ejemplo así:

$this->bbcode_second_pass_code('', 'espera_activa (50 * (5 + *(cads [n - 1])));') y esperá 5 + número de lineas segundos.

Ahora mismo espera_activa, además de esperar, es capaz de salir cuando pulsas una tecla. El truco es pasarle un valor realmente enorme (32767 es el mayor). Eso espera tanto que a fin de cuentas, es como esperar a que el usuario pulse una tecla.

Re: Dogmole Tuppowski - Las Nuevas Aventuras (o casi...)

Publicado: Dom, 19 Ene 2014, 09:34
por Jarlaxe
Buenas Nathan,

Para que sea el jugador el que salga al pulsar una tecla, (que es la opción que buscaba inicialmente) si no te he entendido mal, debería quedar así el extern.h ??

$this->bbcode_second_pass_code('', '#endasm

unsigned char extx, exty, extn;

void draw_rectangle (unsigned char x1, unsigned char y1, unsigned char x2, unsigned char y2, unsigned char c) {
for (exty = y1; exty <= y2; exty ++)
for (extx = x1; extx <= x2; extx ++)
sp_PrintAtInv (exty, extx, c, 0);
}

void draw_texts (unsigned char x, unsigned char y, unsigned char c, char *cad, unsigned char width) {
extn = *cad ++;
while (extn -- > 0) {
print_str (x, y, c, cad);
y ++;
cad += width;
sp_UpdateNow ();
wyz_play_sound (1);
espera_activa (50);
}
}

void do_extern_action (unsigned char n) {
saca_a_todo_el_mundo_de_aqui ();
draw_rectangle (4, BOX_Y, 26, BOX_Y + 1 + *(cads [n - 1]), 15);
draw_texts (4, 7, 15, cads [n - 1], 24);
espera_activa (32767);
}')

Es que lo he probado pero no me chuta bien,

Te dejo la carpeta y le echas un ojo?

Gracias majo!

Edit: Si consigues avanzar en algún momento con lo que estabas mirando para el juego de NES, de que el prota rebote un poco al saltar sobre un enemigo, y se mantenga un segundo el tile de "explosión" me pegas un toque he!!

Joer, menudo vicio tengo con esto de la shurrera! con decirte que hoy estoy fuera en la montaña de calçotada y ya tengo ganas de volver para seguir cacharreando :lol: