Página 22 de 37

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Vie, 09 May 2014, 16:17
por iforeve
radastan escribió:
Nightwolf escribió:Me vais a perdonar la ordinariez, pero la churrera, y los mojon twins, son la ostia.


La puta polla en verso, dilo bien, no pasa nada.


lo que es la puta polla el spectrum y tos los putos ordenadores de nuestro tiempo :mrgreen: Me rio cuando escucho a la gente decir que tarda el guindos en cargar jojojojo. Anda que como te ponga el combat school de 128 kas te vas a cagar y mear to junto :lol: :lol: :lol:

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Vie, 09 May 2014, 16:24
por Hark0
iforeve escribió:
radastan escribió:
Nightwolf escribió:Me vais a perdonar la ordinariez, pero la churrera, y los mojon twins, son la ostia.


La puta polla en verso, dilo bien, no pasa nada.


lo que es la puta polla el spectrum y tos los putos ordenadores de nuestro tiempo :mrgreen: Me rio cuando escucho a la gente decir que tarda el guindos en cargar jojojojo. Anda que como te ponga el combat school de 128 kas te vas a cagar y mear to junto :lol: :lol: :lol:



:jias:

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Sab, 10 May 2014, 13:59
por Nightwolf
Una preguntilla.

Dentro de engine.h, en la línea 386 está la función:


Código: Seleccionar todo

void espera_activa (int espera) {
   do {
#ifndef MODE_128K
      gpjt = 250; do { gpit = 1; } while (--gpjt);
#else
      #asm
         halt
      #endasm
#endif
      if (sp_GetKey ()) break;
   } while (--espera);
}


Bueno, el problema está que no reconoce si se pulsa el botón de disparo del joystic para saltar esa espera activa. He intentado hacerlo poniendo

Código: Seleccionar todo

      gpit = (joyfunc) (&keys);
      if (gpit) break;


o incluso

Código: Seleccionar todo

if (sp_GetKey () || joyfunc) break;


Pero sigue sin funcionar (siempre lo considera como true) ¿Se os ocurre como hacerlo? :)

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Dom, 11 May 2014, 11:50
por elborra
Nightwolf escribió:...
Bueno, el problema está que no reconoce si se pulsa el botón de disparo del joystic para saltar esa espera activa. He intentado hacerlo poniendo

Código: Seleccionar todo

      gpit = (joyfunc) (&keys);
      if (gpit) break;


o incluso

Código: Seleccionar todo

if (sp_GetKey () || joyfunc) break;


Pero sigue sin funcionar (siempre lo considera como true) ¿Se os ocurre como hacerlo? :)

A mi me da que está bien lo primero que has probado pero la comprobación posterior es erronea:

Código: Seleccionar todo

   gpit = (joyfunc) (&keys);
   if ( (gpit & sp_FIRE) == 0 || sp_GetKey () ) break;

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Lun, 12 May 2014, 13:55
por Nightwolf
Gracias Elborra. Lo pruebo y te comento :D

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Lun, 12 May 2014, 13:58
por na_th_an
Ains, llego tarde :lol: Debería funcionar, o si no, quedarse muy cerca (así, a ojete) :lol:

Re: Proyecto Churrero: AVORCHA - Dudas y sugerencias

Publicado: Mar, 20 May 2014, 22:57
por Nightwolf
na_th_an escribió:Mira, este sirve para esto. Coge tu png y saca dos binarios. La idea es cargar esos binarios en el librarian y ver qué número de recursos se le asignan.

Luego debería ser tan sencillo como descomprimir esos recursos con get_resource en el sitio correcto... Podrías tener todo esto en tu función EXTERN y codificarlo de alguna forma.

Los pasos serían:

1.- Hacer los spritesets que necesites. Sabiendo que el conversor saca los 8 primeros frames en un archivo y los 8 siguientes en otro, organízate como quieras.
2.- Cuando tengas todos los binarios de enemigos y protas que necesites, los comprimes con apack uno a uno.
3.- Añades todos en la lista de recursos de librarian (list.txt). Ejecuta librarian y abre librarian.h para ver qué IDs tiene cada set de sprites.
4.- Luego te codificas do_extern_action para que descomprima lo que quieras en el sitio correcto.

Por ejemplo, imaginate que tenemos tres sets de enemigos y dos sets para el prota en los recursos 10, 11, 12, 13 y 14, en ese orden.

Podemos usar n = 1, 2 y 3 para poner los enemigos y 4 y 5 para poner al prota.

Código: Seleccionar todo

void do_extern_action (unsigned char n) {
    switch (n) {
        // Cambiar enemigos:
        case 1:
            get_resource (10, sprite_1_a + 144 * 8);
            break;
        case 2:
            get_resource (11, sprite_1_a + 144 * 8);
            break;
        case 3:
            get_resource (12, sprite_1_a + 144 * 8);
            break;
        // Cambiar prota:
        case 4:
            get_resource (13, sprite_1_a);
            break;
        case 5:
            get_resource (14, sprite_1_a);
            break;
    }
}


Desde el script, para poner el segundo set de enemigos haríamos un EXTERN 2. Para poner el segundo set del prota, EXTERN 5.... Y así.



Buenas. Pues me he puesto a ver si soy capaz de poner esto. He añadido 4 .bin que corresponden a dos bin enemigos y dos bin de prota.

Al compilar, me da este error:

sccz80:"extern.h" L:163 Warning:#9:Converting pointer to integer without cast
sccz80:"extern.h" L:166 Warning:#9:Converting pointer to integer without cast
sccz80:"extern.h" L:169 Warning:#9:Converting pointer to integer without cast
sccz80:"extern.h" L:173 Warning:#9:Converting pointer to integer without cast
sccz80:"extern.h" L:176 Warning:#9:Converting pointer to integer without cast
[/code]


Esta es la parte que puse del extern, parece algo relacionado con el tipo de variable sprite_1_a

Código: Seleccionar todo

void do_extern_action (unsigned char n) {
    switch (n) {
        // Cambiar enemigos:
        default:
         saca_a_todo_el_mundo_de_aqui ();
         draw_rectangle (4, BOX_Y, 26, BOX_Y + 1 + *(cads [n - 1]), 10); // 15
         draw_texts (4, 7, 15, cads [n - 1], 24);
         espera_activa (50 * (1 + *(cads [n - 1])));
         break;
      case 11:
            get_resource (6, sprite_1_a + 144 * 8);
            break;
        case 12:
            get_resource (7, sprite_1_a + 144 * 8);
            break;
        case 13:
            get_resource (6, sprite_1_a + 144 * 8);
            break;
        // Cambiar prota:
        case 14:
            get_resource (4, sprite_1_a);
            break;
        case 15:
            get_resource (5, sprite_1_a);
            break;
    }
}


¿Alguna manilla con ésto? :boots:


EDIT: Nada, que soy un burranco. Funciona perfectamente. ¡Que no había comprimido los gráficos! :P

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Mié, 21 May 2014, 15:23
por Nightwolf
¡Otra pregunta!

¿El cambio del tileado se haría igual con un get_resource? En tal caso habría que pasar los tiles a .bin ¿algún apunte de cómo se podría hacer? Gracias! ^^

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Mié, 21 May 2014, 15:45
por na_th_an
Sí, puede hacerse igual.

Bájate las fuentes de Ninjajar y mira en utils. Verás un ts2bin que hace lo que tu quieres. Y un ss2bin... Y un map2bin... y un... ;)

De hecho, mira levels128.h y mira cómo se definen recursos para sprites, tiles, mapas, comportamientos y enemigos para cada fase. De ahí puedes pillar ideas para hacerte un manager personalizado para todas estas cosas hasta que nosotros tengamos tiempo de sacar el Mojon Engine MK2 (evolución de la churrera y corazón de Ninjajar) limpito y listo para que todos podáis usarlo.

Re: Proyecto Churrero: AVORCHA - Pentacorn Quest

Publicado: Mié, 21 May 2014, 15:48
por Nightwolf
Vale, me refroto entonces las manos....