Terminare mi juego churrero? ;)

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Terminare mi juego churrero? ;)

Mensajepor na_th_an » Sab, 04 Jul 2015, 00:26

Es que soy un tontaina, joder, lo que te di estaba mal :oops:

En cuanto tenga un rato lo reviso porque se puede ajustar más.

Las músicas no se hacen con beepola, sino con Wyz Tracker.
Como diría Rorshach: "Urm..."
fupinet
Mensajes: 112
Registrado: Vie, 05 Jun 2015, 12:55

Re: Terminare mi juego churrero? ;)

Mensajepor fupinet » Sab, 04 Jul 2015, 00:33

np :D na_th_an
fupinet
Mensajes: 112
Registrado: Vie, 05 Jun 2015, 12:55

Re: Terminare mi juego churrero? ;)

Mensajepor fupinet » Dom, 05 Jul 2015, 16:33

He estado mirando otros juegos para ver que posibilidades te da el 128k. y me lleve todo el dia de ayer intentandolo pero no lo consigo.

1) como puedo poner que tenga musica la pantalla del loading una vez que ha cargado y que cuando entre el menu siga con la musica del menu.
2) despues del loading como puedo poner una pantalla de creditos, y una pantalla con un logo antes de que salga el menu?
3) he pensado en pone una intro con una imagen y texto solo...me acuerdo que me pasaste 2 archivos extern para hacerlo...pero no se como incluir eso sin que este interfiera ya en mi extern que ya tengo y no quiero quitar.
:cafe:
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Terminare mi juego churrero? ;)

Mensajepor na_th_an » Lun, 06 Jul 2015, 08:21

Estas cosas precisan ya ponerse a modificar los archivos en mayor o menor grado. Si abres mainloop.h y buscas la función principal verás desde el principio cómo, tras la inicialización de todo lo necesario, empieza el código que presenta la pantalla de título y espera a que el usuario elija una opción de control:

$this->bbcode_second_pass_code('', ' while (1) {
// Here the title screen
sp_UpdateNow();
blackout ();
#ifdef MODE_128K
// Resource 0 = title.bin
get_resource (0, 16384);
#else
unpack ((unsigned int) (s_title), 16384);
#endif
#ifdef MODE_128K
wyz_play_music (0);
#endif
select_joyfunc ();
')

Si quieres que salga algo "justo después de la carga" tendrás que colocar el código delante de ese "while (1)". Si quieres que salga algo "justo antes de empezar a jugar", después de select_joyfunc ()...

Ante todo, lo nuevo que necesites debería ir con los demás binarios en /bin y referenciados en la lista del librarian para que se incluya en los binarios que van a las RAM extra.

Tienes un ejemplo sobre cutscenes que no interfieren con el código de Extern en Goku Mal, en el archivo intro.h. Ahí hay una función do_intro (a, b) que presenta los textos desde a hasta b, con una imagen para cada texto. Las imagenes van como recursos del librarian de forma correlativa empezando por donde diga la constante BASE_PIC_RESOURCE. Hay más constantes para configurar al principio del propio intro.h.

Creo que este intro.h lo puse en /spare de la Churrera, porque me resultaba interesante.
Como diría Rorshach: "Urm..."
fupinet
Mensajes: 112
Registrado: Vie, 05 Jun 2015, 12:55

Re: Terminare mi juego churrero? ;)

Mensajepor fupinet » Lun, 06 Jul 2015, 13:16

ok ya se como pone logo y creditos..tengo un error para implementar intro.h
te digo lo que he tenido que hacer hasta ahora...
1)Incluir archivo intro.h en /dev
2)meter las imagenes bin dentro de /bin, incluirlo en list.txt.
3)Dentro de intro.h poner #define BASE_PIC_RESOURCE a 5 que es el numero que empieza mis imagenes de la intro. numero que me dice el archivo librarian.h
4)incluir codigo del menu de idioma dentro de mainloop.h
$this->bbcode_second_pass_code('', '// =======[MENU IDIOMAS]=======
print_str (11, 11, 71, "1. ENGLISH");
print_str (11, 12, 71, "2. SPANISH");
sp_UpdateNow ();
while (language == 99) {
playing = sp_GetKey ();
if (playing == '1' || playing == '2') language = playing - '1';
}
cortina ();
// ')
5) incluir esta linea dentro de definitions.h
$this->bbcode_second_pass_code('', 'unsigned char language = 99;')
6)incluir en rabbitinwonderland.c el archivo intro.h
$this->bbcode_second_pass_code('', '// Cosas del juego:

#include "definitions.h"
#include "intro.h" // <--- ')
7) poner la intro que empieza justo después de seleccionar alguna opcion del menu
$this->bbcode_second_pass_code('', 'select_joyfunc ();
do_intro (0, 3);')

He ido poco a poco metiendo cosas e iba bien..hasta me salia el menu de idiomas. se jodio cuando puse la linea #include "intro.h"
me sale el siguiente error:
Errors in source file rabbitinwonderland.c:
Symbol not defined
^ ---- call _blackout_area

Alguna idea?
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Terminare mi juego churrero? ;)

Mensajepor na_th_an » Lun, 06 Jul 2015, 13:43

La función blackout_area sólo se compila si tu juego es multi-nivel . Como Goku Mal era multi-nivel, en su intro.h llamé a esa función porque estaba disponible.

Si abres printer.h, verás esto al final:

$this->bbcode_second_pass_code('', '#ifdef COMPRESSED_LEVELS
void blackout_area (void) {
// blackens gameplay area for LEVEL XX display
asm_int [0] = 22528 + 32 * VIEWPORT_Y + VIEWPORT_X;
#asm
ld hl, _asm_int
ld a, (hl)
ld e, a
inc hl
ld a, (hl)
ld d, a

ld b, 20
.bal1
push bc
push de
pop hl
ld (hl), 0
inc de
ld bc, 29
ldir
inc de
inc de
pop bc
djnz bal1
#endasm
}
#endif
')

Símplemente elimina las lineas #ifdef del principio y #endif del final para que la función se compile sí o sí, y entonces estará solucionado :)
Como diría Rorshach: "Urm..."
fupinet
Mensajes: 112
Registrado: Vie, 05 Jun 2015, 12:55

Re: Terminare mi juego churrero? ;)

Mensajepor fupinet » Lun, 06 Jul 2015, 14:40

:picha: :picha: :picha:
oleee
ahora si! MUCHAS GRACIAS!!!
pero no seria tan bonito si no tuvieraaa otro fallo :bimba:

jeje

al terminar la ultima imagen de la intro...y sale bien la ventana del juego pero me tapa el marco.
es decir que la ultima imagen de la intro esta encima del marco...
es logico supongo...tendre que volver a cargar el title...porque mirando el codigo veo que carga el marco..pero claro el archivo del marco lo tengo vacio...
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Terminare mi juego churrero? ;)

Mensajepor na_th_an » Lun, 06 Jul 2015, 14:48

La pantalla de título se carga con:

$this->bbcode_second_pass_code('', 'get_resource (0, 16384);')

Si te fijas en list.txt dentro de bin, el primer resource es "title.bin".

Por cierto, un apunte sobre jugabilidad: si pones la intro al principio de cada partida... Puede resultar tedioso. Sobre todo si se espera que un jugador juegue varias veces en la misma sesión. No sé si lo has hecho así; si es así, plantéate moverla a otro lugar.
Como diría Rorshach: "Urm..."
fupinet
Mensajes: 112
Registrado: Vie, 05 Jun 2015, 12:55

Re: Terminare mi juego churrero? ;)

Mensajepor fupinet » Lun, 06 Jul 2015, 15:56

Pues la verdad no lo habia pensado muchas gracias por el consejo. Dejaré un intro de 2 imágenes como mucho. O le dare una buena pensada.
dos cosillas..
1) Al final del juego, sale unas letras con el extern disparado desde el script, no pega mucho que la musica del juego siga sonando. He intentado pararla en el mismo sitio desde se ejecuta el extern (que es al matar todos los enemigos) con SOUND_STOP(me lo invento xD) pero no funciona jajajajaj no se si existe un comando en el script para eso :D
2) ya que tengo lo del "language" me he preguntado como puedo poner los textos de extern en el idioma que corresponda. Creo que se puede de varias formas..una poniendo un if que dependiendo del valor de language carge extern_es o extern_en o otra forma supongo que poner todos los extern juntos en un archivo y llamarlos dependiendo del idioma...alguna idea de como hacer esto?

Mucha caña hoy no se como agradecertelo te debo un cafe...que coño unas pocas de cervezas! ajajajaj

Muchas gracias
fupinet
Mensajes: 112
Registrado: Vie, 05 Jun 2015, 12:55

Re: Terminare mi juego churrero? ;)

Mensajepor fupinet » Mié, 08 Jul 2015, 15:40

na_th_an no me abandones XDDD me siento solo xDDD

:(

Volver a “La Churrera”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 29 invitados