Mira aquí, que te expliqué cómo monté el player:
viewtopic.php?p=49060#p49060Antes de nada tienes que saber que cuando exportas con WYZ tracker, cada canción genera dos archivos: uno con extensión .mus y otro con el mismo nombre y extensión .mus.asm.
El primero contiene las notas de la canción (o sea, es la canción). El segundo contiene los instrumentos y efectos que se han empleado para hacerla.
El player de WYZ, sin modificar, sólo permite un set de instrumentos. Es por eso por lo que, dentro de una misma BSO, todas las canciones tienen que utilizar los mismos instrumentos. Eso significa que todos los .mus.asm que te ha pasado el amigo murciano tienen el mismo contenido, por lo que puedes usar cualquiera de ellos.
Para no tener que tocar anda, simplemente coge cualquiera y cambiale el nombre por instrumentos.asm. O eso, o coge el que te he subido yo más arriba, que tendrá el mismo contenido. Lo que más coraje te de.
El archivo con el player, que incluye las músicas, es el que hay en la carpeta .mus y que se llama WYZproPlay47aZX.ASM. Si lo editas, verás que al final hay algo parecido a esto:
$this->bbcode_second_pass_code('', '...
;; INCLUIR LOS DATOS DE LA MUSICA (PATTERNS/EFFECTS)
INCLUDE "instrumentos.asm"
SONG_0: INCBIN "menu.mus"
SONG_1: INCBIN "level1.mus"
SONG_2: INCBIN "gameending.mus"
;; INCLUIR LOS EFECTOS DE SONIDO:
INCLUDE "efectos.asm"
TABLA_SONG: DW SONG_0, SONG_1, SONG_2
TABLA_EFECTOS: DW EFECTO0, EFECTO1, EFECTO2, EFECTO3, EFECTO4, EFECTO5, EFECTO6, EFECTO7, EFECTO8
;; NADA A PARTIR DE AQUI!!!
BUFFERS_CANALES:
DB 0')
Vemos qué es cada cosa:
- Lo primero, son los instrumentos. Si te fijas, lo que hace es incluir el contenido del archivo instrumentos.asm. Ahí se especifican los instrumentos que usan todas las canciones. Como te he dicho, o bien pones cualquier .mus.asm, o bien lo dejas como está y renombras cualquiera de los .mus.asm como instrumentos.asm (o pones el que te he subido yo, es lo mismo). El hecho de que ahora te suene mal es que las canciones que te puse por ejemplo, que son del Maritrini, utilizan otro set de instrumentos diferente.
- Justo abajo, es donde se incluyen los binarios .mus de las canciones. Como ves, cada canción se incluye con un "Incbin" justo detrás de una etiqueta SONGn que lo identifica. En principio tendrías que modificar esas tres lineas para poner tus canciones. Si las pones en el mismo orden, no tendrás que modificar el motor del juego, ya que usa las canciones 0, 1 y 2 para título, ingame y final. Si quisieras añadir una cuarta canción, tendrías que añadir una linea más con la siguiente etiqueta, en este caso SONG3.
- Después se incluyen los efectos de sonido, que están en el archivo efectos.asm. Son los ruidos de saltar, coger algo... Eso los hace Davidian con no sé qué artes mágicas que sólo él entiende
- Después viene algo muy importante: la tabla de las canciones. Aunque ya las hayas incluido más arriba, el player tiene que tener en una lista las canciones que hay. Si te fijas están las etiquetas que se emplearon más arriba para incluir las canciones. Para añadir una canción más (tu SONG3) la tendrías que colocar al final, separada con una coma.
Y con eso tendrías el player configurado y listo para compilar.
Para añadir una música en el game over tienes que editar el motor del juego. La puedes colocar, por ejemplo, en mainloop.h, en este trozo (a partir de la linea 861:
$this->bbcode_second_pass_code('', '#ifdef MODE_128K
//wyz_play_music (8);
#endif
#if defined(TIMER_ENABLE) && defined(TIMER_GAMEOVER_0) && defined(SHOW_TIMER_OVER)
if (ctimer.zero) time_over (); else game_over ();
#else
game_over ();
#endif
mlplaying = 0;
#ifdef MODE_128K
wyz_stop_sound ();
#endif
}')
¿ves ese "wyz_play_music (8)" que está comentado? Pues tienes que descomentarlo y poner ahí un 3, que es el número de tu música del game over (recuerda: es SONG_3 en el player). Y con eso lo tendrías listo.
Hay un detalle importante: las canciones del player se tocan en ciclo. Después de sacar "game over" se espera cierto tiempo. Si la música de game over no tiene un silencio al final igual o mayor que ese tiempo, se repetirá en ciclo y quedará mal. Si ves que la canción se repite antes de que se quite la pantalla de game over, tendrás que pedirle a Davidian que introduzca un silencio mayor al final.