diff --git a/SDL2_mixer.dll b/SDL2_mixer.dll new file mode 100644 index 0000000000000000000000000000000000000000..96abfa1ab759933e80342a202f1b80928d14858d Binary files /dev/null and b/SDL2_mixer.dll differ diff --git a/SDL2_ttf.dll b/SDL2_ttf.dll new file mode 100644 index 0000000000000000000000000000000000000000..2d8929ee5088040be03d89c0b860e7f89dce2927 Binary files /dev/null and b/SDL2_ttf.dll differ diff --git a/libFLAC-8.dll b/libFLAC-8.dll new file mode 100644 index 0000000000000000000000000000000000000000..b56ea2a8c3d9fea131c88d0d3f6c3419b8e01166 Binary files /dev/null and b/libFLAC-8.dll differ diff --git a/libfreetype-6.dll b/libfreetype-6.dll new file mode 100644 index 0000000000000000000000000000000000000000..6b19b3cebc9a0ec7b02824a1e04b9bb0080fdfb4 Binary files /dev/null and b/libfreetype-6.dll differ diff --git a/libmodplug-1.dll b/libmodplug-1.dll new file mode 100644 index 0000000000000000000000000000000000000000..d66a317ddfe8d56309ff2e63fe66d62edb68a710 Binary files /dev/null and b/libmodplug-1.dll differ diff --git a/libmpg123-0.dll b/libmpg123-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..240298bbfc04835998085ab5054ee5111e83c702 Binary files /dev/null and b/libmpg123-0.dll differ diff --git a/libogg-0.dll b/libogg-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..233c0f42a8379b75b3aeb681436519379079fa8e Binary files /dev/null and b/libogg-0.dll differ diff --git a/libopus-0.dll b/libopus-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..94ea541d283adca154b853671e78101ad2625c90 Binary files /dev/null and b/libopus-0.dll differ diff --git a/libopusfile-0.dll b/libopusfile-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..260796b6aa5a7da89c729a465141d8ff7036695b Binary files /dev/null and b/libopusfile-0.dll differ diff --git a/libvorbis-0.dll b/libvorbis-0.dll new file mode 100644 index 0000000000000000000000000000000000000000..4e4aaa543b55575edb1bda0d6c1c5dd341a7727f Binary files /dev/null and b/libvorbis-0.dll differ diff --git a/libvorbisfile-3.dll b/libvorbisfile-3.dll new file mode 100644 index 0000000000000000000000000000000000000000..5d90a235c988cb15b0f9dc2deb7b065a25b47f2e Binary files /dev/null and b/libvorbisfile-3.dll differ diff --git a/listeB.c b/listeB.c index 9c6ccd662172b5d56925555150f264da7eead3a4..c6ef8b9e22c51fe1850d0b740800eb75eff52b59 100644 --- a/listeB.c +++ b/listeB.c @@ -61,14 +61,15 @@ void afficher_listeB(SDL_Renderer *renderer, ListeB L) { } } -ListeB tir_update(ListeB LB, ListeP LP, ListeR LR, ListeE *LE, int time, SDL_Texture *balleLongueJaune, int v, int xCamera, int yCamera, SDL_Texture **sprites){ +ListeB tir_update(ListeB LB, ListeP LP, ListeR LR, ListeE *LE, int time, SDL_Texture *balleLongueJaune, int v, int xCamera, int yCamera, SDL_Texture **sprites, Mix_Chunk **sons){ //Si perso en train de tirer s_ListeP *tmp = LP; while(tmp != NULL){ if(tmp->data.tir && tmp->data.ennemi == false){ //On fait pop une nouvelle balle toutes les X ms - if(time > tmp->data.tempsTirPrecedent + 200) { + if(time > tmp->data.tempsTirPrecedent + 400) { cons_listeB(&LB, nouvelle_balle(balleLongueJaune, tmp->data.angle, tmp->data.degats, tmp->data.pos)); + Mix_PlayChannel(1, sons[0], 0); tmp->data.tempsTirPrecedent = time; } } diff --git a/listeB.h b/listeB.h index 7da1c16488135c8902959b7e86413a7890817bfb..ab28f4b3c2c7b06edb23209a016962150529d220 100644 --- a/listeB.h +++ b/listeB.h @@ -16,6 +16,6 @@ void cons_listeB(ListeB *L, balle data); bool est_vide_listeB(ListeB L); ListeB incrementer_balles(ListeB LB, ListeP LP, ListeR LR, ListeE *LE, int v, int xCamera, int yCamera, SDL_Texture **sprites); void afficher_listeB(SDL_Renderer *renderer, ListeB L); -ListeB tir_update(ListeB LB, ListeP LP, ListeR LR, ListeE *LE, int time, SDL_Texture *balleLongueJaune, int v, int xCamera, int yCamera, SDL_Texture **sprites); +ListeB tir_update(ListeB LB, ListeP LP, ListeR LR, ListeE *LE, int time, SDL_Texture *balleLongueJaune, int v, int xCamera, int yCamera, SDL_Texture **sprites, Mix_Chunk **sons); diff --git a/main.c b/main.c index 827c089763c815e7b69108dbeae840263de5ea78..4a5888db2b598063e8f8fc851b80d16b32006f94 100644 --- a/main.c +++ b/main.c @@ -18,19 +18,26 @@ int main(int argc, char *argv[]) ListeR mursListe; ListeE effetsListe; Perso p, *joueur_ptr; - + Mix_Music *musique; + Mix_Chunk *sons[2]; //Initialisation SDL - if(SDL_Init(SDL_INIT_VIDEO < 0)) + if(SDL_Init(SDL_INIT_EVERYTHING)) { printf("Erreur d'initialisation de la SDL %s", SDL_GetError()); SDL_Quit(); return EXIT_FAILURE; } - //Initialisation SDL_image (PNG) - IMG_Init(IMG_INIT_PNG); + //Mix_Init(MIX_INIT_MP3); + + if( Mix_OpenAudio(44100, AUDIO_S16, 1, 4096) < 0 ) + { + printf("Erreur d'initialisation de la SDL %s", Mix_GetError() ); + SDL_Quit(); + return EXIT_FAILURE; + } //Cr�ation fen�tre fenetre = SDL_CreateWindow("gameName", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 1000, 700, SDL_WINDOW_RESIZABLE); @@ -66,6 +73,11 @@ int main(int argc, char *argv[]) tmp = charger_image("sprites/effets/blood/blood_hitv3.png", ecran, 0, 0, -1); sprites[3] = tmp; + //Sons + musique = NULL; + + charger_sons(&musique, &sons[0]); + exit = false; while(!exit){ @@ -154,6 +166,11 @@ int main(int argc, char *argv[]) } } + if( Mix_PlayingMusic() == 0 ) { + Mix_VolumeMusic(10); + Mix_FadeInMusic(musique, 1, 1000); + } + joueur_ptr = joueur(persosListe); if(joueur_ptr != NULL){ @@ -182,7 +199,7 @@ int main(int argc, char *argv[]) //Tir tempsActuelTir = SDL_GetTicks(); - ballesTirees = tir_update(ballesTirees, persosListe, mursListe, &effetsListe, tempsActuelTir, balleSprite, vitesse, xCamera, yCamera, sprites); + ballesTirees = tir_update(ballesTirees, persosListe, mursListe, &effetsListe, tempsActuelTir, balleSprite, vitesse, xCamera, yCamera, sprites, &sons[0]); //Affichage SDL_RenderClear(ecran); @@ -203,9 +220,11 @@ int main(int argc, char *argv[]) //Nettoyage SDL_DestroyWindow(fenetre); + SDL_DestroyRenderer(ecran); SDL_DestroyTexture(balleSprite);; SDL_DestroyTexture(tmp); - IMG_Quit(); + Mix_FreeMusic(musique); + Mix_CloseAudio(); SDL_Quit(); return EXIT_SUCCESS; } diff --git a/projectile.h b/projectile.h index fd3bd0abceb2679c2953bd1b4201eb2bec5a7a25..d3cc41cde2f7046d071ce7f6e36ab703d7d4ff55 100644 --- a/projectile.h +++ b/projectile.h @@ -2,8 +2,11 @@ #include <stdbool.h> #include <math.h> #include <stdlib.h> +#include "son.h" + #define PI 3.14159265359 + typedef struct s_Balle balle, s_Balle; struct s_Balle { diff --git a/son.c b/son.c new file mode 100644 index 0000000000000000000000000000000000000000..16dd8fe036b7eb9d5a2c674204d7e1acc75b720c --- /dev/null +++ b/son.c @@ -0,0 +1,10 @@ +#include "son.h" + +void charger_sons(Mix_Music **musique, Mix_Chunk **sons){ + + *musique = Mix_LoadMUS("son/musique.mp3"); + sons[0] = Mix_LoadWAV("son/pistolet.mp3"); + Mix_VolumeChunk(sons[0], 50); + return; +} + diff --git a/son.h b/son.h new file mode 100644 index 0000000000000000000000000000000000000000..6b8ad1058e60aeee908c72f9fcba50294ab30fca --- /dev/null +++ b/son.h @@ -0,0 +1,5 @@ +#include <SDL2/SDL_mixer.h> +#include <stdlib.h> + + +void charger_sons(Mix_Music **musique, Mix_Chunk **sons); diff --git a/son/musique.mp3 b/son/musique.mp3 index dc52d260b169213270156c3fe2d8375b8f2dfd66..d9b78091ca781dcfb89a21c37ce182e371a80ca4 100644 Binary files a/son/musique.mp3 and b/son/musique.mp3 differ diff --git a/son/pistolet.flac b/son/pistolet.flac deleted file mode 100644 index cc35a3540ac0feb6d94839f4dc641259ff039915..0000000000000000000000000000000000000000 Binary files a/son/pistolet.flac and /dev/null differ diff --git a/son/pistolet.mp3 b/son/pistolet.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..b63b6beba065786cca099bcbaffa4ae65312e40e Binary files /dev/null and b/son/pistolet.mp3 differ