mirror of
https://github.com/FunKey-Project/Bibi.git
synced 2025-12-12 09:48:51 +01:00
audio working, better button mappings
This commit is contained in:
parent
0559a26d1f
commit
7b143fd775
BIN
audio/mix_1_p.ogg
Normal file
BIN
audio/mix_1_p.ogg
Normal file
Binary file not shown.
BIN
audio/mm2air.ogg
Normal file
BIN
audio/mm2air.ogg
Normal file
Binary file not shown.
BIN
audio/mm2boss.ogg
Normal file
BIN
audio/mm2boss.ogg
Normal file
Binary file not shown.
BIN
audio/mm2bubbl.ogg
Normal file
BIN
audio/mm2bubbl.ogg
Normal file
Binary file not shown.
BIN
audio/mm2cras2.ogg
Normal file
BIN
audio/mm2cras2.ogg
Normal file
Binary file not shown.
BIN
audio/mm2crash.ogg
Normal file
BIN
audio/mm2crash.ogg
Normal file
Binary file not shown.
BIN
audio/mm2end.ogg
Normal file
BIN
audio/mm2end.ogg
Normal file
Binary file not shown.
BIN
audio/mm2flas2.ogg
Normal file
BIN
audio/mm2flas2.ogg
Normal file
Binary file not shown.
BIN
audio/mm2flash.ogg
Normal file
BIN
audio/mm2flash.ogg
Normal file
Binary file not shown.
BIN
audio/mm2heat.ogg
Normal file
BIN
audio/mm2heat.ogg
Normal file
Binary file not shown.
BIN
audio/mm2intro.ogg
Normal file
BIN
audio/mm2intro.ogg
Normal file
Binary file not shown.
BIN
audio/mm2meta2.ogg
Normal file
BIN
audio/mm2meta2.ogg
Normal file
Binary file not shown.
BIN
audio/mm2metal.ogg
Normal file
BIN
audio/mm2metal.ogg
Normal file
Binary file not shown.
BIN
audio/mm2passw.ogg
Normal file
BIN
audio/mm2passw.ogg
Normal file
Binary file not shown.
BIN
audio/mm2quick.ogg
Normal file
BIN
audio/mm2quick.ogg
Normal file
Binary file not shown.
BIN
audio/mm2selec.ogg
Normal file
BIN
audio/mm2selec.ogg
Normal file
Binary file not shown.
BIN
audio/mm2titl2.ogg
Normal file
BIN
audio/mm2titl2.ogg
Normal file
Binary file not shown.
BIN
audio/mm2title.ogg
Normal file
BIN
audio/mm2title.ogg
Normal file
Binary file not shown.
BIN
audio/mm2w1rm.ogg
Normal file
BIN
audio/mm2w1rm.ogg
Normal file
Binary file not shown.
BIN
audio/mm2wily1.ogg
Normal file
BIN
audio/mm2wily1.ogg
Normal file
Binary file not shown.
BIN
audio/mm2wood.ogg
Normal file
BIN
audio/mm2wood.ogg
Normal file
Binary file not shown.
BIN
audio/mm2wy1.ogg
Normal file
BIN
audio/mm2wy1.ogg
Normal file
Binary file not shown.
18
src/game.c
18
src/game.c
@ -28,14 +28,22 @@ t_game game_new(int nb_joueur, int niveau, int mode, int kill_bomb) {
|
||||
game_time_init();
|
||||
|
||||
FILE *level;
|
||||
const char *file_path;
|
||||
if (mode==1){
|
||||
if (nb_joueur==1)
|
||||
level=fopen(SRC_LEVELS_1_PLAYER,"r");
|
||||
else
|
||||
level=fopen(SRC_LEVELS_2_PLAYERS,"r");
|
||||
if (nb_joueur==1){
|
||||
file_path = SRC_LEVELS_1_PLAYER;
|
||||
}
|
||||
else{
|
||||
level=fopen(SRC_LEVELS_EDITOR,"r");
|
||||
file_path = SRC_LEVELS_2_PLAYERS;
|
||||
}
|
||||
}
|
||||
else{
|
||||
file_path = SRC_LEVELS_EDITOR;
|
||||
}
|
||||
|
||||
level=fopen(file_path,"r");
|
||||
if(level==NULL){
|
||||
printf("ERROR: cannot open file: %s\n", file_path);
|
||||
}
|
||||
the_game.map = map_load_dynamic(level,niveau,nb_joueur);
|
||||
the_game.player1 = player_init(2,1,1,1);
|
||||
|
||||
109
src/main.c
109
src/main.c
@ -263,7 +263,6 @@ int main_game(SDL_Surface *screen, int nb_joueur, int niveau, int mode, int kill
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
else if (nb_joueur==2){ // boucle principale d'un jeu à 2 joueurs:
|
||||
while (done==0 && player_get_dead(player1)!=0 && player_get_dead(player2)!=0) {
|
||||
|
||||
@ -367,9 +366,14 @@ int main_game(SDL_Surface *screen, int nb_joueur, int niveau, int mode, int kill
|
||||
boucle=1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 0, 0, 0));
|
||||
if(menu != NULL){
|
||||
SDL_BlitSurface(menu, NULL, screen, &positionMenu);
|
||||
SDL_FreeSurface(menu);
|
||||
}
|
||||
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
SDL_FillRect(hw_screen, NULL, 0x000000);
|
||||
flip_NNOptimized_AllowOutOfScreen(screen, hw_screen,
|
||||
@ -380,6 +384,7 @@ int main_game(SDL_Surface *screen, int nb_joueur, int niveau, int mode, int kill
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
|
||||
|
||||
bool continu = false;
|
||||
if (boucle==1){
|
||||
while (!continu)
|
||||
@ -388,7 +393,7 @@ int main_game(SDL_Surface *screen, int nb_joueur, int niveau, int mode, int kill
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
continu = 1;
|
||||
continu = true;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym){
|
||||
@ -397,7 +402,7 @@ int main_game(SDL_Surface *screen, int nb_joueur, int niveau, int mode, int kill
|
||||
case SDLK_RETURN:
|
||||
case SDLK_a:
|
||||
case SDLK_b:
|
||||
continu = 1;
|
||||
continu = true;
|
||||
default: break;
|
||||
}
|
||||
break;
|
||||
@ -437,6 +442,7 @@ int main(int argc, char *argv[]) {
|
||||
error("Can't init SDL: %s\n", SDL_GetError());
|
||||
}
|
||||
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
|
||||
SDL_ShowCursor(SDL_DISABLE);
|
||||
|
||||
/** Init Video */
|
||||
#ifdef HW_SCREEN_RESIZE
|
||||
@ -489,17 +495,39 @@ int main(int argc, char *argv[]) {
|
||||
Mix_Music *musique_p_e = NULL;
|
||||
|
||||
//if(Mix_OpenAudio(22050, AUDIO_S16SYS, 2, 640)==-1){
|
||||
if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1){
|
||||
if(Mix_OpenAudio(44100, AUDIO_S16, 1, 4096) < 0){
|
||||
//if(Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 1024)==-1){
|
||||
printf("Mix_OpenAudio: %s\n", Mix_GetError());
|
||||
//exit(2);
|
||||
}
|
||||
else{
|
||||
audio_init_ok = true;
|
||||
musique_menu_p = Mix_LoadMUS("audio/mm2titl2.mid");
|
||||
musique_editeur = Mix_LoadMUS("audio/mm2crash.mid");
|
||||
musique_2_p = Mix_LoadMUS("audio/mm2wy1.mid");
|
||||
musique_1_p = Mix_LoadMUS("audio/mix_1_p.mid");
|
||||
musique_p_e = Mix_LoadMUS("audio/mm2flash.mid");
|
||||
const char *music_file;
|
||||
music_file = "audio/mm2titl2.ogg";
|
||||
musique_menu_p = Mix_LoadMUS(music_file);
|
||||
if(musique_menu_p == NULL){
|
||||
printf("Mix_LoadMUS(\"%s\"): %s\n", Mix_GetError(), music_file);
|
||||
}
|
||||
music_file = "audio/mm2crash.ogg";
|
||||
musique_editeur = Mix_LoadMUS(music_file);
|
||||
if(musique_editeur == NULL){
|
||||
printf("Mix_LoadMUS(\"%s\"): %s\n", Mix_GetError(), music_file);
|
||||
}
|
||||
music_file = "audio/mm2wy1.ogg";
|
||||
musique_2_p = Mix_LoadMUS(music_file);
|
||||
if(musique_2_p == NULL){
|
||||
printf("Mix_LoadMUS(\"%s\"): %s\n", Mix_GetError(), music_file);
|
||||
}
|
||||
music_file = "audio/mix_1_p.ogg";
|
||||
musique_1_p = Mix_LoadMUS(music_file);
|
||||
if(musique_1_p == NULL){
|
||||
printf("Mix_LoadMUS(\"%s\"): %s\n", Mix_GetError(), music_file);
|
||||
}
|
||||
music_file = "audio/mm2flash.ogg";
|
||||
musique_p_e = Mix_LoadMUS(music_file);
|
||||
if(musique_p_e == NULL){
|
||||
printf("Mix_LoadMUS(\"%s\"): %s\n", Mix_GetError(), music_file);
|
||||
}
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
|
||||
@ -540,7 +568,10 @@ int main(int argc, char *argv[]) {
|
||||
#ifdef SOUND_FMOD_ACTIVATED
|
||||
FMUSIC_PlaySong(musique_menu_p);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_PlayMusic(musique_menu_p, -1);
|
||||
if(Mix_PlayMusic(musique_menu_p, -1) < 0){
|
||||
printf("Error in File: %s, func: %s, l.%d - Cannot play music!\n",
|
||||
__FILE__, __func__, __LINE__);
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
}
|
||||
play_music=0;
|
||||
@ -560,16 +591,20 @@ int main(int argc, char *argv[]) {
|
||||
break;
|
||||
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym){
|
||||
|
||||
if(event.key.keysym.sym==SDLK_ESCAPE){ // Veut arrêter le jeu
|
||||
case SDLK_ESCAPE: // Veut arrêter le jeu
|
||||
case SDLK_q: // Veut arrêter le jeu
|
||||
#ifdef SOUND_FMOD_ACTIVATED
|
||||
//FMUSIC_StopSong(musique_menu_p);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_HaltMusic();
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
done = 1;
|
||||
}
|
||||
else if(event.key.keysym.sym==SDLK_UP || event.key.keysym.sym==SDLK_u){
|
||||
break;
|
||||
|
||||
case SDLK_UP:
|
||||
case SDLK_u:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/menu_q.png");
|
||||
@ -596,8 +631,10 @@ int main(int argc, char *argv[]) {
|
||||
choix_actuel=5;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(event.key.keysym.sym==SDLK_DOWN || event.key.keysym.sym==SDLK_d){
|
||||
break;
|
||||
|
||||
case SDLK_DOWN:
|
||||
case SDLK_d:
|
||||
switch(choix_actuel){
|
||||
case 1:
|
||||
menu = IMG_Load("sprite/menu_2_p.png");
|
||||
@ -624,9 +661,11 @@ int main(int argc, char *argv[]) {
|
||||
choix_actuel=1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if(event.key.keysym.sym==SDLK_RETURN || event.key.keysym.sym==SDLK_KP_ENTER
|
||||
|| event.key.keysym.sym==SDLK_a){
|
||||
break;
|
||||
|
||||
case SDLK_RETURN:
|
||||
case SDLK_KP_ENTER:
|
||||
case SDLK_a:
|
||||
switch(choix_actuel){
|
||||
|
||||
case 1: //on rentre dans le mode 1 joueur.
|
||||
@ -636,7 +675,10 @@ int main(int argc, char *argv[]) {
|
||||
FMUSIC_PlaySong(musique_1_p);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_HaltMusic();
|
||||
Mix_PlayMusic(musique_1_p, -1);
|
||||
if(Mix_PlayMusic(musique_1_p, -1) < 0){
|
||||
printf("Error in File: %s, func: %s, l.%d - Cannot play music!\n",
|
||||
__FILE__, __func__, __LINE__);
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
}
|
||||
while (niveau_reussi< 10){ //En effet il n'y a que 10 niveaux dans ce jeu
|
||||
@ -645,7 +687,6 @@ int main(int argc, char *argv[]) {
|
||||
niveau_reussi=0; //après game over le joueur repart du niveau 1;
|
||||
game_over=NB_DECES;
|
||||
}
|
||||
|
||||
choix_entrer_dans_niveau = niveau_1_joueur(screen,niveau_reussi+1);
|
||||
if (choix_entrer_dans_niveau==0){
|
||||
ancien_niveau=niveau_reussi;
|
||||
@ -668,7 +709,6 @@ int main(int argc, char *argv[]) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
else{
|
||||
if(are_you_sure(screen)==1){ //si l'utilisateur veut quitter le mode 1 joueur
|
||||
play_music=1;
|
||||
@ -693,7 +733,10 @@ int main(int argc, char *argv[]) {
|
||||
FMUSIC_PlaySong(musique_2_p);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_HaltMusic();
|
||||
Mix_PlayMusic(musique_2_p, -1);
|
||||
if(Mix_PlayMusic(musique_2_p, -1) < 0){
|
||||
printf("Error in File: %s, func: %s, l.%d - Cannot play music!\n",
|
||||
__FILE__, __func__, __LINE__);
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
}
|
||||
sure=2;
|
||||
@ -731,7 +774,10 @@ int main(int argc, char *argv[]) {
|
||||
FMUSIC_PlaySong(musique_editeur);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_HaltMusic();
|
||||
Mix_PlayMusic(musique_editeur, -1);
|
||||
if(Mix_PlayMusic(musique_editeur, -1) < 0){
|
||||
printf("Error in File: %s, func: %s, l.%d - Cannot play music!\n",
|
||||
__FILE__, __func__, __LINE__);
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
}
|
||||
sure=2;
|
||||
@ -769,7 +815,10 @@ int main(int argc, char *argv[]) {
|
||||
FMUSIC_PlaySong(musique_p_e);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_HaltMusic();
|
||||
Mix_PlayMusic(musique_p_e, -1);
|
||||
if(Mix_PlayMusic(musique_p_e, -1) < 0){
|
||||
printf("Error in File: %s, func: %s, l.%d - Cannot play music!\n",
|
||||
__FILE__, __func__, __LINE__);
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
}
|
||||
sure=2;
|
||||
@ -819,7 +868,10 @@ int main(int argc, char *argv[]) {
|
||||
#ifdef SOUND_FMOD_ACTIVATED
|
||||
FMUSIC_PlaySong(musique_menu_p);
|
||||
#elif defined(SOUND_SDL_ACTIVATED)
|
||||
Mix_PlayMusic(musique_menu_p, -1);
|
||||
if(Mix_PlayMusic(musique_menu_p, -1) < 0){
|
||||
printf("Error in File: %s, func: %s, l.%d - Cannot play music!\n",
|
||||
__FILE__, __func__, __LINE__);
|
||||
}
|
||||
#endif //SOUND_SDL_ACTIVATED
|
||||
}
|
||||
audio=1;
|
||||
@ -869,8 +921,13 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
default: break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
30
src/niveau.c
30
src/niveau.c
@ -76,15 +76,16 @@ int niveau_1_joueur(SDL_Surface *screen, int niveau){
|
||||
switch(event.type)
|
||||
{
|
||||
case SDL_QUIT:
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 1;
|
||||
break;
|
||||
case SDL_KEYDOWN:
|
||||
switch(event.key.keysym.sym)
|
||||
{
|
||||
case SDLK_ESCAPE:
|
||||
case SDLK_q:
|
||||
case SDLK_b:
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 1;
|
||||
break;
|
||||
case SDLK_RETURN:
|
||||
@ -107,7 +108,7 @@ int niveau_1_joueur(SDL_Surface *screen, int niveau){
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -163,6 +164,7 @@ int niveau_2_joueur(SDL_Surface *screen, int choix_niveau){
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arrêter le jeu
|
||||
case SDLK_b: // Veut arrêter le jeu
|
||||
case SDLK_q:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
@ -226,7 +228,7 @@ int niveau_2_joueur(SDL_Surface *screen, int choix_niveau){
|
||||
case SDLK_RETURN:
|
||||
case SDLK_KP_ENTER:
|
||||
case SDLK_a:
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
@ -247,7 +249,7 @@ int niveau_2_joueur(SDL_Surface *screen, int choix_niveau){
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -283,6 +285,7 @@ int editeur_choix_niveau(SDL_Surface *screen){
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arrêter le jeu
|
||||
case SDLK_b: // Veut arrêter le jeu
|
||||
case SDLK_q:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
@ -346,7 +349,7 @@ int editeur_choix_niveau(SDL_Surface *screen){
|
||||
case SDLK_RETURN:
|
||||
case SDLK_KP_ENTER:
|
||||
case SDLK_a:
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
@ -367,7 +370,7 @@ int editeur_choix_niveau(SDL_Surface *screen){
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -410,6 +413,7 @@ int are_you_sure(SDL_Surface *screen){
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arrêter le jeu
|
||||
case SDLK_b: // Veut arrêter le jeu
|
||||
case SDLK_q:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
@ -466,7 +470,7 @@ int are_you_sure(SDL_Surface *screen){
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -502,6 +506,7 @@ int choix_nb_joueurs(SDL_Surface *screen){
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arrêter le jeu
|
||||
case SDLK_b: // Veut arrêter le jeu
|
||||
case SDLK_q:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_UP:
|
||||
@ -533,7 +538,7 @@ int choix_nb_joueurs(SDL_Surface *screen){
|
||||
case SDLK_RETURN:
|
||||
case SDLK_KP_ENTER:
|
||||
case SDLK_a:
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
@ -554,7 +559,7 @@ int choix_nb_joueurs(SDL_Surface *screen){
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -590,6 +595,7 @@ int options(SDL_Surface *screen){
|
||||
{
|
||||
case SDLK_ESCAPE: // Veut arrêter le jeu
|
||||
case SDLK_b: // Veut arrêter le jeu
|
||||
case SDLK_q:
|
||||
continuer=0;
|
||||
break;
|
||||
case SDLK_LEFT:
|
||||
@ -679,7 +685,7 @@ int options(SDL_Surface *screen){
|
||||
case SDLK_RETURN:
|
||||
case SDLK_KP_ENTER:
|
||||
case SDLK_a:
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return choix_actuel;
|
||||
break;
|
||||
|
||||
@ -700,6 +706,6 @@ int options(SDL_Surface *screen){
|
||||
SDL_Flip(screen);
|
||||
#endif //HW_SCREEN_RESIZE
|
||||
}
|
||||
SDL_FreeSurface(menu);
|
||||
if(menu != NULL) SDL_FreeSurface(menu);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user