Skip to content
Snippets Groups Projects
Commit b95461a8 authored by SmallIshMink's avatar SmallIshMink
Browse files

Ajout du mixer et de la musique de fond

parent a0c04471
No related branches found
No related tags found
No related merge requests found
Showing
with 2993 additions and 6 deletions
......@@ -8,7 +8,8 @@
"sdl2-ttf-light.h": "c",
"stdlib.h": "c",
"utility.h": "c",
"cmath": "c"
"cmath": "c",
"sdl_mixer.h": "c"
},
"C_Cpp.errorSquiggles": "disabled"
}
\ No newline at end of file
CFLAGS = -O3 -Dmain=SDL_main
LDFLAGS = -lm -lmingw32 -lSDL2main -lSDL2 -lSDL2_ttf -lSDL2_image
LDFLAGS = -lm -lmingw32 -lSDL2main -lSDL2 -lSDL2_ttf -lSDL2_image -lSDL2_mixer
SDL2_INCLUDE_DIR = src/include
SDL2_LIBRARIES_DIR = src/lib
INC = sdl2-light.h sdl2-ttf-light.h library/Display/Display.h library/World/world.h library/Sprites/sprites.h library/utility/utility.h library/menu/menu.h
SRC = main.c sdl2-light.c sdl2-ttf-light.c library/Display/Display.c library/World/world.c library/Sprites/sprites.c library/utility/utility.c library/menu/menu.c
INC = sdl2-light.h sdl2-ttf-light.h library/Display/Display.h library/World/world.h library/Sprites/sprites.h library/utility/utility.h library/menu/menu.h library/mixer/mixer.h
SRC = main.c sdl2-light.c sdl2-ttf-light.c library/Display/Display.c library/World/world.c library/Sprites/sprites.c library/utility/utility.c library/menu/menu.c library/mixer/mixer.c
OBJ = $(SRC:%.c=%.o)
......
File added
No preview for this file type
#include "world.h"
#include "../utility/utility.h"
void update_data(world_t *world){
......@@ -68,6 +69,9 @@ void init_data(world_t * world){
world->coins_str = strcats(world->coins_str, 1, "0");
world->actualship = 0;
world->musique = init_music("ressources/sons/music.mp3");
play_music(world->musique, -1);
world->angle = 0.0;
world->isFlipping = 0;
world->gamestate = 1;
......@@ -177,7 +181,7 @@ void collide(sprite_t *sp1, sprite_t *sp2, world_t *world){
world->gamestate = 1;
restart(world);
}else if(strcmp(sp2->id, "2") == 0){
switch (rand() % 3){
switch (rand() % 3){ // random entre 1 et 2
case 1:
if (world->isFlipping == 0){
world->isFlipping = 1;
......@@ -286,6 +290,9 @@ void clean_data(world_t *world){
free(world->Spr_ship);
free(world->shopPrice);
free(world->coin_menu_str);
free(world->exit_shp);
Mix_FreeMusic(world->musique);
Mix_CloseAudio();
printf("clean_data");
}
......
......@@ -5,6 +5,7 @@
#include "../../src/include/SDL2/SDL.h"
#include <stdbool.h>
#include "../menu/menu.h"
#include "../mixer/mixer.h"
/**
* \file world.h
......@@ -57,6 +58,8 @@ struct world_s{
btn_t *exit;
btn_t *magasin;
btn_t *sound;
Mix_Music* musique;
int actualship;
btn_t **ships;
......
No preview for this file type
#include "mixer.h"
#include <stdio.h>
#include <stdlib.h>
void init_mixer(){
if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048) < 0) {
printf("Erreur lors de l'initialisation de SDL Mixer: %s\n", Mix_GetError());
}
}
Mix_Music* init_music(char * path){
Mix_Music* musique = Mix_LoadMUS(path);
if (musique == NULL) {
printf("Erreur lors du chargement de la musique: %s\n", Mix_GetError());
}
printf("musique chargée\n");
return musique;
}
void play_music(Mix_Music* music, int loop){
printf("musique jouée\n");
Mix_PlayMusic(music, loop);
}
\ No newline at end of file
#include "../../src/include/SDL2/SDL_mixer.h"
void init_mixer();
Mix_Music* init_music(char * path);
void play_music(Mix_Music* music, int loop);
\ No newline at end of file
File added
......@@ -12,6 +12,7 @@
#include "library/Display/Display.h"
#include "library/World/world.h"
#include "library/utility/utility.h"
#include "library/mixer/mixer.h"
#include "constante.c"
#include <time.h>
......@@ -141,10 +142,11 @@ void handle_events(SDL_Event *event,world_t *world){
void init(SDL_Window **window, SDL_Renderer ** renderer, ressources_t *textures, world_t * world){
init_sdl(window,renderer,SCREEN_WIDTH, SCREEN_HEIGHT);
srand(time(0));
init_mixer();
init_data(world);
// Initialisation du ttf
init_ttf();
init_ressource(*renderer,textures);
}
......@@ -155,6 +157,7 @@ void init(SDL_Window **window, SDL_Renderer ** renderer, ressources_t *textures,
*/
int main( int argc, char* args[] )
{
SDL_Event event;
......
No preview for this file type
File added
......@@ -10,6 +10,7 @@ void init_ttf(){
TTF_Font * load_font(const char *path, int font_size){
TTF_Font *font = TTF_OpenFont(path, font_size);
if(font == NULL){
......
No preview for this file type
This diff is collapsed.
# sdl2_mixer cmake project-config-version input for ./configure scripts
set(PACKAGE_VERSION "2.6.3")
if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if(PACKAGE_FIND_VERSION STREQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()
# sdl2_mixer cmake project-config input for ./configure scripts
include(FeatureSummary)
set_package_properties(SDL2_mixer PROPERTIES
URL "https://www.libsdl.org/projects/SDL_mixer/"
DESCRIPTION "SDL_mixer is a sample multi-channel audio mixer library"
)
set(SDL2_mixer_FOUND TRUE)
set(SDL2MIXER_VENDORED 0)
set(SDL2MIXER_CMD 0)
set(SDL2MIXER_FLAC_LIBFLAC 0)
set(SDL2MIXER_FLAC_DRFLAC 1)
if(SDL2MIXER_FLAC_LIBFLAC OR SDL2MIXER_FLAC_DRFLAC)
set(SDL2MIXER_FLAC 1)
else()
set(SDL2MIXER_FLAC 0)
endif()
set(SDL2MIXER_MOD_MODPLUG 0)
set(SDL2MIXER_MOD_XMP 0)
set(SDL2MIXER_MOD_XMP_LITE 0)
if(SDL2MIXER_MOD_MODPLUG OR SDL2MIXER_MOD_XMP OR SDL2MIXER_MOD_XMP_LITE)
set(SDL2MIXER_MOD 1)
else()
set(SDL2MIXER_MOD 0)
endif()
set(SDL2MIXER_MP3_DRMP3 1)
set(SDL2MIXER_MP3_MPG123 0)
if(SDL2MIXER_MP3_DRMP3 OR SDL2MIXER_MP3_MPG123)
set(SDL2MIXER_MP3 1)
else()
set(SDL2MIXER_MP3 0)
endif()
set(SDL2MIXER_MIDI_FLUIDSYNTH 0)
set(SDL2MIXER_MIDI_NATIVE 1)
set(SDL2MIXER_MIDI_TIMIDITY 1)
if(SDL2MIXER_MIDI_FLUIDSYNTH OR SDL2MIXER_MIDI_NATIVE OR SDL2MIXER_MIDI_TIMIDITY)
set(SDL2MIXER_MIDI 1)
else()
set(SDL2MIXER_MIDI 0)
endif()
set(SDL2MIXER_OPUS 0)
set(SDL2MIXER_VORBIS)
set(SDL2MIXER_VORBIS_STB 1)
set(SDL2MIXER_VORBIS_VORBISFILE 0)
set(SDL2MIXER_VORBIS_TREMOR 0)
if(SDL2MIXER_VORBIS_STB)
set(SDL2MIXER_VORBIS STB)
endif()
if(SDL2MIXER_VORBIS_VORBISFILE)
set(SDL2MIXER_VORBIS VORBISFILE)
endif()
if(SDL2MIXER_VORBIS_TREMOR)
set(SDL2MIXER_VORBIS TREMOR)
endif()
set(SDL2MIXER_WAVE 1)
set(SDL2MIXER_SDL2_REQUIRED_VERSION 2.0.9)
get_filename_component(prefix "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
set(exec_prefix "${prefix}")
set(bindir "${exec_prefix}/bin")
set(includedir "${prefix}/include")
set(libdir "${exec_prefix}/lib")
set(_sdl2mixer_extra_static_libraries " -lwinmm -lm -lwinmm")
string(STRIP "${_sdl2mixer_extra_static_libraries}" _sdl2mixer_extra_static_libraries)
set(_sdl2mixer_bindir "${bindir}")
set(_sdl2mixer_libdir "${libdir}")
set(_sdl2mixer_incdir "${includedir}/SDL2")
# Convert _sdl2mixer_extra_static_libraries to list and keep only libraries
string(REGEX MATCHALL "(-[lm]([-a-zA-Z0-9._]+))|(-Wl,[^ ]*framework[^ ]*)" _sdl2mixer_extra_static_libraries "${_sdl2mixer_extra_static_libraries}")
string(REGEX REPLACE "^-l" "" _sdl2mixer_extra_static_libraries "${_sdl2mixer_extra_static_libraries}")
string(REGEX REPLACE ";-l" ";" _sdl2mixer_extra_static_libraries "${_sdl2mixer_extra_static_libraries}")
unset(prefix)
unset(exec_prefix)
unset(bindir)
unset(includedir)
unset(libdir)
include(CMakeFindDependencyMacro)
if(NOT TARGET SDL2_mixer::SDL2_mixer)
if(WIN32)
set(_sdl2mixer_dll "${_sdl2mixer_bindir}/SDL2_mixer.dll")
set(_sdl2mixer_imp "${_sdl2mixer_libdir}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2_mixer.dll${CMAKE_STATIC_LIBRARY_SUFFIX}")
if(EXISTS "${_sdl2mixer_dll}" AND EXISTS "${_sdl2mixer_imp}")
add_library(SDL2_mixer::SDL2_mixer SHARED IMPORTED)
set_target_properties(SDL2_mixer::SDL2_mixer
PROPERTIES
IMPORTED_LOCATION "${_sdl2mixer_dll}"
IMPORTED_IMPLIB "${_sdl2mixer_imp}"
)
endif()
unset(_sdl2mixer_dll)
unset(_sdl2mixer_imp)
else()
set(_sdl2mixer_shl "${_sdl2mixer_libdir}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2_mixer${CMAKE_SHARED_LIBRARY_SUFFIX}")
if(EXISTS "${_sdl2mixer_shl}")
add_library(SDL2_mixer::SDL2_mixer SHARED IMPORTED)
set_target_properties(SDL2_mixer::SDL2_mixer
PROPERTIES
IMPORTED_LOCATION "${_sdl2mixer_shl}"
)
endif()
endif()
if(TARGET SDL2_mixer::SDL2_mixer)
set_target_properties(SDL2_mixer::SDL2_mixer
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_sdl2mixer_incdir}"
COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED"
INTERFACE_SDL2_SHARED "ON"
)
endif()
endif()
if(NOT TARGET SDL2_mixer::SDL2_mixer-static)
set(_sdl2mixer_stl "${_sdl2mixer_libdir}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2_mixer${CMAKE_STATIC_LIBRARY_SUFFIX}")
if(EXISTS "${_sdl2mixer_stl}")
add_library(SDL2_mixer::SDL2_mixer-static STATIC IMPORTED)
set_target_properties(SDL2_mixer::SDL2_mixer-static
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_sdl2mixer_incdir}"
IMPORTED_LOCATION "${_sdl2mixer_stl}"
INTERFACE_LINK_LIBRARIES "${_sdl2mixer_extra_static_libraries}"
)
endif()
unset(_sdl2mixer_stl)
endif()
unset(_sdl2mixer_extra_static_libraries)
unset(_sdl2mixer_bindir)
unset(_sdl2mixer_libdir)
unset(_sdl2mixer_incdir)
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment