diff --git a/CMakeLists.txt b/CMakeLists.txt
index e452806204645b61104b8c5e99278512ea25aaae..05f7b7a83fc88cbed00022eb5b1726676927bd84 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,27 +2,24 @@ cmake_minimum_required(VERSION 3.27.0)
 
 project(MCC)
 
-# Indique qu'il faut compiler avec c++.
-set(CMAKE_CXX_COMPILER g++)
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--allow-multiple-definition -g -L../libs/Box2d/lib -L../libs/qrcodegen/lib")
-set(SDL_INCLUDE_DIR "/usr/include/SDL2")
-set(SDL_LIBRARY "SDL2")
-set(SDL2_TTF "SDL2_ttf")
-set(SDL_NET "SDL2_net")
-set(BOX2D_LIB "box2d")
-set(QRCODEGEN_LIB "qrcodegencpp")
-
-include(FindSDL)
+find_package(PkgConfig REQUIRED)
+pkg_check_modules(SDL2 REQUIRED sdl2)
+PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
+pkg_check_modules(SDL2NET REQUIRED SDL2_net)
 
-if(SDL_FOUND)
-  message(STATUS "SDL FOUND")
+if(SDL2_FOUND)
+  message(STATUS "SDL2 FOUND")
+  set(SDL2_TTF "SDL2_ttf")
 endif()
 
-INCLUDE(FindPkgConfig)
+if(SDL2NET_FOUND)
+  message(STATUS "SDL2_net FOUND")
+endif()
 
-PKG_SEARCH_MODULE(SDL2 REQUIRED sdl2)
-PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)
-PKG_SEARCH_MODULE(SDL2mixer REQUIRED SDL2_mixer)
+set(CMAKE_CXX_COMPILER g++)
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wl,--allow-multiple-definition -g -L../libs/Box2d/lib -L../libs/qrcodegen/lib")
+set(BOX2D_LIB "box2d")
+set(QRCODEGEN_LIB "qrcodegencpp")
 
 file(GLOB SRC_FILES
   ${PROJECT_SOURCE_DIR}/src/**/*.cpp
@@ -34,11 +31,21 @@ add_executable(
   ${SRC_FILES}
 )
 
-INCLUDE_DIRECTORIES(
+include_directories(
   ${SDL2_INCLUDE_DIRS} 
+  ${SDL2NET_INCLUDE_DIRS}
   ${SDL2IMAGE_INCLUDE_DIRS}
   ${PROJECT_SOURCE_DIR}/include
   ${PROJECT_SOURCE_DIR}/src
 )
 
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${BOX2D_LIB} ${QRCODEGEN_LIB} ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARIES} ${SDL2} ${SDL2_TTF} ${SDL_NET} ${SDL2mixer_LIBRARIES})
\ No newline at end of file
+target_link_libraries(
+  ${PROJECT_NAME} 
+  ${SDL2_LIBRARIES} 
+  ${SDL2NET_LIBRARIES}
+  ${SDL2IMAGE_LIBRARIES} 
+  ${SDL2_TTF} 
+  ${SDL2MIXER_LIBRARIES}
+  ${BOX2D_LIB} 
+  ${QRCODEGEN_LIB} 
+)
\ No newline at end of file
diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt
index 36e15684e412deee42f6ca7de81bcda46e20b294..09f7ff2bc061ed246c5e13fb80ee41c1a6b6fcfa 100644
--- a/build/CMakeCache.txt
+++ b/build/CMakeCache.txt
@@ -230,12 +230,6 @@ PKG_CONFIG_ARGN:STRING=
 //pkg-config executable
 PKG_CONFIG_EXECUTABLE:FILEPATH=/usr/bin/pkg-config
 
-//Path to a library.
-SDLMAIN_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDLmain.a
-
-//Where the SDL Library can be found
-SDL_LIBRARY:STRING=/usr/lib/x86_64-linux-gnu/libSDLmain.a;/usr/lib/x86_64-linux-gnu/libSDL.so
-
 //Path to a library.
 pkgcfg_lib_SDL2IMAGE_SDL2:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2.so
 
@@ -243,13 +237,13 @@ pkgcfg_lib_SDL2IMAGE_SDL2:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2.so
 pkgcfg_lib_SDL2IMAGE_SDL2_image:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2_image.so
 
 //Path to a library.
-pkgcfg_lib_SDL2_SDL2:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2.so
+pkgcfg_lib_SDL2NET_SDL2:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2.so
 
 //Path to a library.
-pkgcfg_lib_SDL2mixer_SDL2:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2.so
+pkgcfg_lib_SDL2NET_SDL2_net:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2_net.so
 
 //Path to a library.
-pkgcfg_lib_SDL2mixer_SDL2_mixer:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2_mixer.so
+pkgcfg_lib_SDL2_SDL2:FILEPATH=/usr/lib/x86_64-linux-gnu/libSDL2.so
 
 
 ########################
@@ -334,8 +328,6 @@ CMAKE_GENERATOR_INSTANCE:INTERNAL=
 CMAKE_GENERATOR_PLATFORM:INTERNAL=
 //Name of generator toolset.
 CMAKE_GENERATOR_TOOLSET:INTERNAL=
-//Test CMAKE_HAVE_LIBC_PTHREAD
-CMAKE_HAVE_LIBC_PTHREAD:INTERNAL=1
 //Source directory with the top level CMakeLists.txt file for this
 // project
 CMAKE_HOME_DIRECTORY:INTERNAL=/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles
@@ -405,10 +397,6 @@ CMAKE_UNAME:INTERNAL=/usr/bin/uname
 CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
 //Details about finding PkgConfig
 FIND_PACKAGE_MESSAGE_DETAILS_PkgConfig:INTERNAL=[/usr/bin/pkg-config][v1.8.1()]
-//Details about finding SDL
-FIND_PACKAGE_MESSAGE_DETAILS_SDL:INTERNAL=[SDL2][/usr/include/SDL2][v2.28.3()]
-//Details about finding Threads
-FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
 //ADVANCED property for variable: PKG_CONFIG_ARGN
 PKG_CONFIG_ARGN-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: PKG_CONFIG_EXECUTABLE
@@ -448,6 +436,41 @@ SDL2IMAGE_STATIC_LIBS_L:INTERNAL=
 SDL2IMAGE_STATIC_LIBS_OTHER:INTERNAL=
 SDL2IMAGE_STATIC_LIBS_PATHS:INTERNAL=
 SDL2IMAGE_VERSION:INTERNAL=2.6.3
+SDL2NET_CFLAGS:INTERNAL=-I/usr/include/SDL2;-D_REENTRANT
+SDL2NET_CFLAGS_I:INTERNAL=
+SDL2NET_CFLAGS_OTHER:INTERNAL=-D_REENTRANT
+SDL2NET_FOUND:INTERNAL=1
+SDL2NET_INCLUDEDIR:INTERNAL=/usr/include
+SDL2NET_INCLUDE_DIRS:INTERNAL=/usr/include/SDL2
+SDL2NET_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lSDL2_net;-lSDL2
+SDL2NET_LDFLAGS_OTHER:INTERNAL=
+SDL2NET_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
+SDL2NET_LIBRARIES:INTERNAL=SDL2_net;SDL2
+SDL2NET_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu
+SDL2NET_LIBS:INTERNAL=
+SDL2NET_LIBS_L:INTERNAL=
+SDL2NET_LIBS_OTHER:INTERNAL=
+SDL2NET_LIBS_PATHS:INTERNAL=
+SDL2NET_MODULE_NAME:INTERNAL=SDL2_net
+SDL2NET_PREFIX:INTERNAL=/usr
+SDL2NET_SDL2_net_INCLUDEDIR:INTERNAL=
+SDL2NET_SDL2_net_LIBDIR:INTERNAL=
+SDL2NET_SDL2_net_PREFIX:INTERNAL=
+SDL2NET_SDL2_net_VERSION:INTERNAL=
+SDL2NET_STATIC_CFLAGS:INTERNAL=-I/usr/include/SDL2;-D_REENTRANT
+SDL2NET_STATIC_CFLAGS_I:INTERNAL=
+SDL2NET_STATIC_CFLAGS_OTHER:INTERNAL=-D_REENTRANT
+SDL2NET_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/SDL2
+SDL2NET_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lSDL2_net;-lSDL2;-lm;-lasound;-lm;-ldl;-lpthread;-lpulse-simple;-lpulse;-pthread;-lsamplerate;-lX11;-lXext;-lXcursor;-lXi;-lXfixes;-lXrandr;-lXss;-ldrm;-lgbm;-lwayland-egl;-lwayland-client;-lwayland-cursor;-lxkbcommon;-ldecor-0;-lpthread
+SDL2NET_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread
+SDL2NET_STATIC_LIBDIR:INTERNAL=
+SDL2NET_STATIC_LIBRARIES:INTERNAL=SDL2_net;SDL2;m;asound;m;dl;pthread;pulse-simple;pulse;samplerate;X11;Xext;Xcursor;Xi;Xfixes;Xrandr;Xss;drm;gbm;wayland-egl;wayland-client;wayland-cursor;xkbcommon;decor-0;pthread
+SDL2NET_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu
+SDL2NET_STATIC_LIBS:INTERNAL=
+SDL2NET_STATIC_LIBS_L:INTERNAL=
+SDL2NET_STATIC_LIBS_OTHER:INTERNAL=
+SDL2NET_STATIC_LIBS_PATHS:INTERNAL=
+SDL2NET_VERSION:INTERNAL=2.2.0
 SDL2_CFLAGS:INTERNAL=-I/usr/include/SDL2;-D_REENTRANT
 SDL2_CFLAGS_I:INTERNAL=
 SDL2_CFLAGS_OTHER:INTERNAL=-D_REENTRANT
@@ -483,57 +506,22 @@ SDL2_sdl2_INCLUDEDIR:INTERNAL=
 SDL2_sdl2_LIBDIR:INTERNAL=
 SDL2_sdl2_PREFIX:INTERNAL=
 SDL2_sdl2_VERSION:INTERNAL=
-SDL2mixer_CFLAGS:INTERNAL=-I/usr/include/SDL2;-I/usr/include/glib-2.0;-I/usr/lib/x86_64-linux-gnu/glib-2.0/include;-I/usr/include/opus;-I/usr/include/x86_64-linux-gnu;-I/usr/include/pipewire-0.3;-I/usr/include/spa-0.2;-I/usr/include/dbus-1.0;-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include;-I/usr/include/libinstpatch-2;-pthread;-D_REENTRANT;-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
-SDL2mixer_CFLAGS_I:INTERNAL=
-SDL2mixer_CFLAGS_OTHER:INTERNAL=-pthread;-D_REENTRANT;-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
-SDL2mixer_FOUND:INTERNAL=1
-SDL2mixer_INCLUDEDIR:INTERNAL=/usr/include
-SDL2mixer_INCLUDE_DIRS:INTERNAL=/usr/include/SDL2;/usr/include/glib-2.0;/usr/lib/x86_64-linux-gnu/glib-2.0/include;/usr/include/opus;/usr/include/x86_64-linux-gnu;/usr/include/pipewire-0.3;/usr/include/spa-0.2;/usr/include/dbus-1.0;/usr/lib/x86_64-linux-gnu/dbus-1.0/include;/usr/include/libinstpatch-2
-SDL2mixer_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lSDL2_mixer;-lSDL2
-SDL2mixer_LDFLAGS_OTHER:INTERNAL=
-SDL2mixer_LIBDIR:INTERNAL=/usr/lib/x86_64-linux-gnu
-SDL2mixer_LIBRARIES:INTERNAL=SDL2_mixer;SDL2
-SDL2mixer_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu
-SDL2mixer_LIBS:INTERNAL=
-SDL2mixer_LIBS_L:INTERNAL=
-SDL2mixer_LIBS_OTHER:INTERNAL=
-SDL2mixer_LIBS_PATHS:INTERNAL=
-SDL2mixer_MODULE_NAME:INTERNAL=SDL2_mixer
-SDL2mixer_PREFIX:INTERNAL=/usr
-SDL2mixer_SDL2_mixer_INCLUDEDIR:INTERNAL=
-SDL2mixer_SDL2_mixer_LIBDIR:INTERNAL=
-SDL2mixer_SDL2_mixer_PREFIX:INTERNAL=
-SDL2mixer_SDL2_mixer_VERSION:INTERNAL=
-SDL2mixer_STATIC_CFLAGS:INTERNAL=-I/usr/include/SDL2;-I/usr/include/glib-2.0;-I/usr/lib/x86_64-linux-gnu/glib-2.0/include;-I/usr/include/opus;-I/usr/include/x86_64-linux-gnu;-I/usr/include/pipewire-0.3;-I/usr/include/spa-0.2;-I/usr/include/dbus-1.0;-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include;-I/usr/include/libinstpatch-2;-pthread;-D_REENTRANT;-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
-SDL2mixer_STATIC_CFLAGS_I:INTERNAL=
-SDL2mixer_STATIC_CFLAGS_OTHER:INTERNAL=-pthread;-D_REENTRANT;-D_DEFAULT_SOURCE;-D_XOPEN_SOURCE=600
-SDL2mixer_STATIC_INCLUDE_DIRS:INTERNAL=/usr/include/SDL2;/usr/include/glib-2.0;/usr/lib/x86_64-linux-gnu/glib-2.0/include;/usr/include/opus;/usr/include/x86_64-linux-gnu;/usr/include/pipewire-0.3;/usr/include/spa-0.2;/usr/include/dbus-1.0;/usr/lib/x86_64-linux-gnu/dbus-1.0/include;/usr/include/libinstpatch-2
-SDL2mixer_STATIC_LDFLAGS:INTERNAL=-L/usr/lib/x86_64-linux-gnu;-lSDL2_mixer;-lm;-lm;-ldl;-lpthread;-pthread;-lsamplerate;-lX11;-lXext;-lXcursor;-lXi;-lXfixes;-lXrandr;-lXss;-ldrm;-lgbm;-lwayland-egl;-lwayland-client;-lwayland-cursor;-lxkbcommon;-ldecor-0;-lpthread;-L/usr/lib/x86_64-linux-gnu;-lmodplug;-lstdc++;-lm;-lfluidsynth;-lm;/usr/lib/x86_64-linux-gnu/libpulse-simple.so;/usr/lib/x86_64-linux-gnu/libpulse.so;/usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so;/usr/lib/x86_64-linux-gnu/libpthread.a;-L/usr/lib/x86_64-linux-gnu;-lm;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-pthread;-lglib-2.0;-lm;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-lmp3lame;-L/usr/lib/x86_64-linux-gnu;-lFLAC;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lvorbis;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-L/usr/lib/x86_64-linux-gnu;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lm;-lm;-lpulse-simple;-L/usr/lib/x86_64-linux-gnu/pulseaudio;-lpulsecommon-16.1;-lpulse;-L/usr/lib/x86_64-linux-gnu/pulseaudio;-lpulsecommon-16.1;-lasound;-lm;-lrt;-ljack;-lpthread;-lpipewire-0.3;-lsystemd;-ldbus-1;-lsystemd;-Wl,--export-dynamic;-lgmodule-2.0;-pthread;-lglib-2.0;-lm;-pthread;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-lm;-pthread;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-L/usr/lib64;-linstpatch-1.0;-lm;-pthread;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-lgobject-2.0;-lm;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-lffi;-lgthread-2.0;-pthread;-lglib-2.0;-lm;-pthread;-L/usr/lib/x86_64-linux-gnu;-lpcre2-8;-lsndfile;-lmp3lame;-L/usr/lib/x86_64-linux-gnu;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lvorbis;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lvorbisenc;-L/usr/lib/x86_64-linux-gnu;-lvorbis;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lm;-lm;-lSDL2;-lm;-lasound;-lm;-ldl;-lpthread;-lpulse-simple;-lpulse;-pthread;-lsamplerate;-lX11;-lXext;-lXcursor;-lXi;-lXfixes;-lXrandr;-lXss;-ldrm;-lgbm;-lwayland-egl;-lwayland-client;-lwayland-cursor;-lxkbcommon;-ldecor-0;-lpthread;-lreadline;-L/usr/lib/x86_64-linux-gnu;-ltinfo;-lvorbisfile;-L/usr/lib/x86_64-linux-gnu;-lvorbis;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lFLAC;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lmpg123;-lm;-lopusfile;-lm;-L/usr/lib/x86_64-linux-gnu;-logg;-lopus;-lm
-SDL2mixer_STATIC_LDFLAGS_OTHER:INTERNAL=-pthread;/usr/lib/x86_64-linux-gnu/libpulse-simple.so;/usr/lib/x86_64-linux-gnu/libpulse.so;/usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so;/usr/lib/x86_64-linux-gnu/libpthread.a;-pthread;-Wl,--export-dynamic;-pthread;-pthread;-pthread;-pthread;-pthread;-pthread;-pthread
-SDL2mixer_STATIC_LIBDIR:INTERNAL=
-SDL2mixer_STATIC_LIBRARIES:INTERNAL=SDL2_mixer;m;m;dl;pthread;samplerate;X11;Xext;Xcursor;Xi;Xfixes;Xrandr;Xss;drm;gbm;wayland-egl;wayland-client;wayland-cursor;xkbcommon;decor-0;pthread;modplug;stdc++;m;fluidsynth;m;m;pcre2-8;glib-2.0;m;pcre2-8;mp3lame;FLAC;m;ogg;vorbis;m;ogg;m;ogg;m;m;pulse-simple;pulsecommon-16.1;pulse;pulsecommon-16.1;asound;m;rt;jack;pthread;pipewire-0.3;systemd;dbus-1;systemd;gmodule-2.0;glib-2.0;m;pcre2-8;m;pcre2-8;instpatch-1.0;m;pcre2-8;gobject-2.0;m;pcre2-8;ffi;gthread-2.0;glib-2.0;m;pcre2-8;sndfile;mp3lame;m;ogg;vorbis;m;ogg;vorbisenc;vorbis;m;ogg;m;m;SDL2;m;asound;m;dl;pthread;pulse-simple;pulse;samplerate;X11;Xext;Xcursor;Xi;Xfixes;Xrandr;Xss;drm;gbm;wayland-egl;wayland-client;wayland-cursor;xkbcommon;decor-0;pthread;readline;tinfo;vorbisfile;vorbis;m;ogg;FLAC;m;ogg;mpg123;m;opusfile;m;ogg;opus;m
-SDL2mixer_STATIC_LIBRARY_DIRS:INTERNAL=/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu/pulseaudio;/usr/lib/x86_64-linux-gnu/pulseaudio;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib64;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu;/usr/lib/x86_64-linux-gnu
-SDL2mixer_STATIC_LIBS:INTERNAL=
-SDL2mixer_STATIC_LIBS_L:INTERNAL=
-SDL2mixer_STATIC_LIBS_OTHER:INTERNAL=
-SDL2mixer_STATIC_LIBS_PATHS:INTERNAL=
-SDL2mixer_VERSION:INTERNAL=2.6.3
-//Path to a library.
-SDL_LIBRARY_TEMP:INTERNAL=/usr/lib/x86_64-linux-gnu/libSDL.so
 //linker supports push/pop state
 _CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE
+__pkg_config_arguments_SDL2:INTERNAL=REQUIRED;sdl2
+__pkg_config_arguments_SDL2NET:INTERNAL=REQUIRED;SDL2_net
 __pkg_config_checked_SDL2:INTERNAL=1
 __pkg_config_checked_SDL2IMAGE:INTERNAL=1
-__pkg_config_checked_SDL2mixer:INTERNAL=1
+__pkg_config_checked_SDL2NET:INTERNAL=1
 //ADVANCED property for variable: pkgcfg_lib_SDL2IMAGE_SDL2
 pkgcfg_lib_SDL2IMAGE_SDL2-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: pkgcfg_lib_SDL2IMAGE_SDL2_image
 pkgcfg_lib_SDL2IMAGE_SDL2_image-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib_SDL2NET_SDL2
+pkgcfg_lib_SDL2NET_SDL2-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: pkgcfg_lib_SDL2NET_SDL2_net
+pkgcfg_lib_SDL2NET_SDL2_net-ADVANCED:INTERNAL=1
 //ADVANCED property for variable: pkgcfg_lib_SDL2_SDL2
 pkgcfg_lib_SDL2_SDL2-ADVANCED:INTERNAL=1
-//ADVANCED property for variable: pkgcfg_lib_SDL2mixer_SDL2
-pkgcfg_lib_SDL2mixer_SDL2-ADVANCED:INTERNAL=1
-//ADVANCED property for variable: pkgcfg_lib_SDL2mixer_SDL2_mixer
-pkgcfg_lib_SDL2mixer_SDL2_mixer-ADVANCED:INTERNAL=1
 prefix_result:INTERNAL=/usr/lib/x86_64-linux-gnu
 
diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml
index 97812b46065a9a791cabf463e27a07c2df588913..fbf6210b6c8dcd1a185cb336f6f9c1834e6b90f9 100644
--- a/build/CMakeFiles/CMakeConfigureLog.yaml
+++ b/build/CMakeFiles/CMakeConfigureLog.yaml
@@ -61,8 +61,8 @@ events:
     checks:
       - "Detecting C compiler ABI info"
     directories:
-      source: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh"
-      binary: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh"
+      source: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ"
+      binary: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ"
     cmakeVariables:
       CMAKE_C_FLAGS: ""
       CMAKE_C_FLAGS_DEBUG: "-g"
@@ -71,13 +71,13 @@ events:
       variable: "CMAKE_C_ABI_COMPILED"
       cached: true
       stdout: |
-        Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh'
+        Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ'
         
-        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c34ce/fast
-        /usr/bin/gmake  -f CMakeFiles/cmTC_c34ce.dir/build.make CMakeFiles/cmTC_c34ce.dir/build
-        gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh'
-        Building C object CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o
-        /usr/bin/cc   -v -o CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e6ea2/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_e6ea2.dir/build.make CMakeFiles/cmTC_e6ea2.dir/build
+        gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ'
+        Building C object CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o
+        /usr/bin/cc   -v -o CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c
         Using built-in specs.
         COLLECT_GCC=/usr/bin/cc
         OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
@@ -87,8 +87,8 @@ events:
         Thread model: posix
         Supported LTO compression algorithms: zlib zstd
         gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) 
-        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c34ce.dir/'
-         /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c34ce.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccXZKm8w.s
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e6ea2.dir/'
+         /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e6ea2.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc0tQOFx.s
         GNU C17 (Ubuntu 13.2.0-4ubuntu3) version 13.2.0 (x86_64-linux-gnu)
         	compiled by GNU C version 13.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP
         
@@ -105,15 +105,15 @@ events:
          /usr/include
         End of search list.
         Compiler executable checksum: edbc28f9c9bb85637ee0b8e5b79ac141
-        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c34ce.dir/'
-         as -v --64 -o CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o /tmp/ccXZKm8w.s
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e6ea2.dir/'
+         as -v --64 -o CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o /tmp/cc0tQOFx.s
         GNU assembler version 2.41 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.41
         COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
         LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
-        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.'
-        Linking C executable cmTC_c34ce
-        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c34ce.dir/link.txt --verbose=1
-        /usr/bin/cc  -v CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o -o cmTC_c34ce 
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.'
+        Linking C executable cmTC_e6ea2
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e6ea2.dir/link.txt --verbose=1
+        /usr/bin/cc  -v CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o -o cmTC_e6ea2 
         Using built-in specs.
         COLLECT_GCC=/usr/bin/cc
         COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
@@ -126,10 +126,10 @@ events:
         gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) 
         COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
         LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c34ce' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c34ce.'
-         /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccCJ4shH.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_c34ce /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c34ce' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c34ce.'
-        gmake[1]: Leaving directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh'
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e6ea2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e6ea2.'
+         /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdLmlzD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e6ea2 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e6ea2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e6ea2.'
+        gmake[1]: Leaving directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ'
         
       exitCode: 0
   -
@@ -163,13 +163,13 @@ events:
     message: |
       Parsed C implicit link information:
         link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
-        ignore line: [Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh']
+        ignore line: [Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ']
         ignore line: []
-        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_c34ce/fast]
-        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_c34ce.dir/build.make CMakeFiles/cmTC_c34ce.dir/build]
-        ignore line: [gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-W8HoRh']
-        ignore line: [Building C object CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o]
-        ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c]
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_e6ea2/fast]
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_e6ea2.dir/build.make CMakeFiles/cmTC_e6ea2.dir/build]
+        ignore line: [gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-ANKtSJ']
+        ignore line: [Building C object CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o]
+        ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=/usr/bin/cc]
         ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
@@ -179,8 +179,8 @@ events:
         ignore line: [Thread model: posix]
         ignore line: [Supported LTO compression algorithms: zlib zstd]
         ignore line: [gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) ]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c34ce.dir/']
-        ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_c34ce.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccXZKm8w.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e6ea2.dir/']
+        ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_e6ea2.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc0tQOFx.s]
         ignore line: [GNU C17 (Ubuntu 13.2.0-4ubuntu3) version 13.2.0 (x86_64-linux-gnu)]
         ignore line: [	compiled by GNU C version 13.2.0  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.26-GMP]
         ignore line: []
@@ -197,15 +197,15 @@ events:
         ignore line: [ /usr/include]
         ignore line: [End of search list.]
         ignore line: [Compiler executable checksum: edbc28f9c9bb85637ee0b8e5b79ac141]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c34ce.dir/']
-        ignore line: [ as -v --64 -o CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o /tmp/ccXZKm8w.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e6ea2.dir/']
+        ignore line: [ as -v --64 -o CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o /tmp/cc0tQOFx.s]
         ignore line: [GNU assembler version 2.41 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.41]
         ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
         ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.']
-        ignore line: [Linking C executable cmTC_c34ce]
-        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_c34ce.dir/link.txt --verbose=1]
-        ignore line: [/usr/bin/cc  -v CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o -o cmTC_c34ce ]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.']
+        ignore line: [Linking C executable cmTC_e6ea2]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e6ea2.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/cc  -v CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o -o cmTC_e6ea2 ]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=/usr/bin/cc]
         ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper]
@@ -218,13 +218,13 @@ events:
         ignore line: [gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) ]
         ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
         ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_c34ce' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_c34ce.']
-        link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccCJ4shH.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_c34ce /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_e6ea2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_e6ea2.']
+        link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccdLmlzD.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_e6ea2 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o]
           arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore
           arg [-plugin] ==> ignore
           arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore
           arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore
-          arg [-plugin-opt=-fresolution=/tmp/ccCJ4shH.res] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/ccdLmlzD.res] ==> ignore
           arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
           arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
           arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -242,7 +242,7 @@ events:
           arg [-znow] ==> ignore
           arg [-zrelro] ==> ignore
           arg [-o] ==> ignore
-          arg [cmTC_c34ce] ==> ignore
+          arg [cmTC_e6ea2] ==> ignore
           arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o]
           arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o]
           arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o]
@@ -254,7 +254,7 @@ events:
           arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
           arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
           arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..]
-          arg [CMakeFiles/cmTC_c34ce.dir/CMakeCCompilerABI.c.o] ==> ignore
+          arg [CMakeFiles/cmTC_e6ea2.dir/CMakeCCompilerABI.c.o] ==> ignore
           arg [-lgcc] ==> lib [gcc]
           arg [--push-state] ==> ignore
           arg [--as-needed] ==> ignore
@@ -294,8 +294,8 @@ events:
     checks:
       - "Detecting CXX compiler ABI info"
     directories:
-      source: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l"
-      binary: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l"
+      source: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9"
+      binary: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9"
     cmakeVariables:
       CMAKE_CXX_FLAGS: ""
       CMAKE_CXX_FLAGS_DEBUG: "-g"
@@ -304,13 +304,13 @@ events:
       variable: "CMAKE_CXX_ABI_COMPILED"
       cached: true
       stdout: |
-        Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l'
+        Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9'
         
-        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d63e3/fast
-        /usr/bin/gmake  -f CMakeFiles/cmTC_d63e3.dir/build.make CMakeFiles/cmTC_d63e3.dir/build
-        gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l'
-        Building CXX object CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o
-        /usr/bin/c++   -v -o CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp
+        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_790a7/fast
+        /usr/bin/gmake  -f CMakeFiles/cmTC_790a7.dir/build.make CMakeFiles/cmTC_790a7.dir/build
+        gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9'
+        Building CXX object CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o
+        /usr/bin/c++   -v -o CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp
         Using built-in specs.
         COLLECT_GCC=/usr/bin/c++
         OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
@@ -320,8 +320,8 @@ events:
         Thread model: posix
         Supported LTO compression algorithms: zlib zstd
         gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) 
-        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d63e3.dir/'
-         /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_d63e3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccm9g5ei.s
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_790a7.dir/'
+         /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_790a7.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccaQaJqf.s
         GNU C++17 (Ubuntu 13.2.0-4ubuntu3) version 13.2.0 (x86_64-linux-gnu)
         	compiled by GNU C version 13.2.0, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.26-GMP
         
@@ -342,15 +342,15 @@ events:
          /usr/include
         End of search list.
         Compiler executable checksum: 2d107d43320bae9d835c0808be5fcba6
-        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d63e3.dir/'
-         as -v --64 -o CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccm9g5ei.s
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_790a7.dir/'
+         as -v --64 -o CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccaQaJqf.s
         GNU assembler version 2.41 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.41
         COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
         LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
-        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.'
-        Linking CXX executable cmTC_d63e3
-        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d63e3.dir/link.txt --verbose=1
-        /usr/bin/c++  -v CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_d63e3 
+        COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.'
+        Linking CXX executable cmTC_790a7
+        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_790a7.dir/link.txt --verbose=1
+        /usr/bin/c++  -v CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_790a7 
         Using built-in specs.
         COLLECT_GCC=/usr/bin/c++
         COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
@@ -363,10 +363,10 @@ events:
         gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) 
         COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/
         LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d63e3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d63e3.'
-         /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGqQUeU.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d63e3 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o
-        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d63e3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d63e3.'
-        gmake[1]: Leaving directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l'
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_790a7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_790a7.'
+         /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccLdGtOO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_790a7 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o
+        COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_790a7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_790a7.'
+        gmake[1]: Leaving directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9'
         
       exitCode: 0
   -
@@ -406,13 +406,13 @@ events:
     message: |
       Parsed CXX implicit link information:
         link line regex: [^( *|.*[/\\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)]
-        ignore line: [Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l']
+        ignore line: [Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9']
         ignore line: []
-        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_d63e3/fast]
-        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_d63e3.dir/build.make CMakeFiles/cmTC_d63e3.dir/build]
-        ignore line: [gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-XFQV2l']
-        ignore line: [Building CXX object CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o]
-        ignore line: [/usr/bin/c++   -v -o CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp]
+        ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_790a7/fast]
+        ignore line: [/usr/bin/gmake  -f CMakeFiles/cmTC_790a7.dir/build.make CMakeFiles/cmTC_790a7.dir/build]
+        ignore line: [gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-hExSe9']
+        ignore line: [Building CXX object CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o]
+        ignore line: [/usr/bin/c++   -v -o CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=/usr/bin/c++]
         ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa]
@@ -422,8 +422,8 @@ events:
         ignore line: [Thread model: posix]
         ignore line: [Supported LTO compression algorithms: zlib zstd]
         ignore line: [gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) ]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d63e3.dir/']
-        ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_d63e3.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccm9g5ei.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_790a7.dir/']
+        ignore line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_790a7.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccaQaJqf.s]
         ignore line: [GNU C++17 (Ubuntu 13.2.0-4ubuntu3) version 13.2.0 (x86_64-linux-gnu)]
         ignore line: [	compiled by GNU C version 13.2.0  GMP version 6.3.0  MPFR version 4.2.1  MPC version 1.3.1  isl version isl-0.26-GMP]
         ignore line: []
@@ -444,15 +444,15 @@ events:
         ignore line: [ /usr/include]
         ignore line: [End of search list.]
         ignore line: [Compiler executable checksum: 2d107d43320bae9d835c0808be5fcba6]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d63e3.dir/']
-        ignore line: [ as -v --64 -o CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccm9g5ei.s]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_790a7.dir/']
+        ignore line: [ as -v --64 -o CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccaQaJqf.s]
         ignore line: [GNU assembler version 2.41 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.41]
         ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
         ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.']
-        ignore line: [Linking CXX executable cmTC_d63e3]
-        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_d63e3.dir/link.txt --verbose=1]
-        ignore line: [/usr/bin/c++  -v CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_d63e3 ]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.']
+        ignore line: [Linking CXX executable cmTC_790a7]
+        ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_790a7.dir/link.txt --verbose=1]
+        ignore line: [/usr/bin/c++  -v CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_790a7 ]
         ignore line: [Using built-in specs.]
         ignore line: [COLLECT_GCC=/usr/bin/c++]
         ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper]
@@ -465,13 +465,13 @@ events:
         ignore line: [gcc version 13.2.0 (Ubuntu 13.2.0-4ubuntu3) ]
         ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/13/:/usr/libexec/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/]
         ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/13/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/13/../../../:/lib/:/usr/lib/]
-        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_d63e3' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_d63e3.']
-        link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccGqQUeU.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_d63e3 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o]
+        ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_790a7' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_790a7.']
+        link line: [ /usr/libexec/gcc/x86_64-linux-gnu/13/collect2 -plugin /usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper -plugin-opt=-fresolution=/tmp/ccLdGtOO.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_790a7 /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/13 -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/13/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/13/../../.. CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/13/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crtn.o]
           arg [/usr/libexec/gcc/x86_64-linux-gnu/13/collect2] ==> ignore
           arg [-plugin] ==> ignore
           arg [/usr/libexec/gcc/x86_64-linux-gnu/13/liblto_plugin.so] ==> ignore
           arg [-plugin-opt=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper] ==> ignore
-          arg [-plugin-opt=-fresolution=/tmp/ccGqQUeU.res] ==> ignore
+          arg [-plugin-opt=-fresolution=/tmp/ccLdGtOO.res] ==> ignore
           arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore
           arg [-plugin-opt=-pass-through=-lgcc] ==> ignore
           arg [-plugin-opt=-pass-through=-lc] ==> ignore
@@ -489,7 +489,7 @@ events:
           arg [-znow] ==> ignore
           arg [-zrelro] ==> ignore
           arg [-o] ==> ignore
-          arg [cmTC_d63e3] ==> ignore
+          arg [cmTC_790a7] ==> ignore
           arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o]
           arg [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/crti.o]
           arg [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/13/crtbeginS.o]
@@ -501,7 +501,7 @@ events:
           arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu]
           arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib]
           arg [-L/usr/lib/gcc/x86_64-linux-gnu/13/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/13/../../..]
-          arg [CMakeFiles/cmTC_d63e3.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+          arg [CMakeFiles/cmTC_790a7.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
           arg [-lstdc++] ==> lib [stdc++]
           arg [-lm] ==> lib [m]
           arg [-lgcc_s] ==> lib [gcc_s]
@@ -528,39 +528,4 @@ events:
         implicit fwks: []
       
       
-  -
-    kind: "try_compile-v1"
-    backtrace:
-      - "/usr/share/cmake-3.27/Modules/Internal/CheckSourceCompiles.cmake:101 (try_compile)"
-      - "/usr/share/cmake-3.27/Modules/CheckCSourceCompiles.cmake:52 (cmake_check_source_compiles)"
-      - "/usr/share/cmake-3.27/Modules/FindThreads.cmake:97 (CHECK_C_SOURCE_COMPILES)"
-      - "/usr/share/cmake-3.27/Modules/FindThreads.cmake:163 (_threads_check_libc)"
-      - "/usr/share/cmake-3.27/Modules/FindSDL.cmake:163 (find_package)"
-      - "CMakeLists.txt:15 (include)"
-    checks:
-      - "Performing Test CMAKE_HAVE_LIBC_PTHREAD"
-    directories:
-      source: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-wub2MY"
-      binary: "/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-wub2MY"
-    cmakeVariables:
-      CMAKE_C_FLAGS: ""
-      CMAKE_C_FLAGS_DEBUG: "-g"
-      CMAKE_EXE_LINKER_FLAGS: ""
-    buildResult:
-      variable: "CMAKE_HAVE_LIBC_PTHREAD"
-      cached: true
-      stdout: |
-        Change Dir: '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-wub2MY'
-        
-        Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_13ce2/fast
-        /usr/bin/gmake  -f CMakeFiles/cmTC_13ce2.dir/build.make CMakeFiles/cmTC_13ce2.dir/build
-        gmake[1]: Entering directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-wub2MY'
-        Building C object CMakeFiles/cmTC_13ce2.dir/src.c.o
-        /usr/bin/cc -DCMAKE_HAVE_LIBC_PTHREAD   -o CMakeFiles/cmTC_13ce2.dir/src.c.o -c /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-wub2MY/src.c
-        Linking C executable cmTC_13ce2
-        /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_13ce2.dir/link.txt --verbose=1
-        /usr/bin/cc CMakeFiles/cmTC_13ce2.dir/src.c.o -o cmTC_13ce2 
-        gmake[1]: Leaving directory '/home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/build/CMakeFiles/CMakeScratch/TryCompile-wub2MY'
-        
-      exitCode: 0
 ...
diff --git a/build/CMakeFiles/MCC.dir/apps/main.cpp.o b/build/CMakeFiles/MCC.dir/apps/main.cpp.o
index 408c8b5288175c08aaa2cb1e240b88307e9d9350..146c9f8c3c4df5f62c05664d8bfe50b5439754f1 100644
Binary files a/build/CMakeFiles/MCC.dir/apps/main.cpp.o and b/build/CMakeFiles/MCC.dir/apps/main.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/link.txt b/build/CMakeFiles/MCC.dir/link.txt
index b8d3f84634e41d06812a1aa02fb220ecb0cfd7fb..bdc8c408b9bfaa68d22c2c16e3796b39d98d8be0 100644
--- a/build/CMakeFiles/MCC.dir/link.txt
+++ b/build/CMakeFiles/MCC.dir/link.txt
@@ -1 +1 @@
-g++  -Wl,--allow-multiple-definition -g -L../libs/Box2d/lib -L../libs/qrcodegen/lib CMakeFiles/MCC.dir/apps/main.cpp.o CMakeFiles/MCC.dir/src/game/Game.cpp.o CMakeFiles/MCC.dir/src/game/GameEntities.cpp.o CMakeFiles/MCC.dir/src/game/Map.cpp.o CMakeFiles/MCC.dir/src/game/Tile.cpp.o CMakeFiles/MCC.dir/src/manager/BodyFactory.cpp.o CMakeFiles/MCC.dir/src/manager/ContactListener.cpp.o CMakeFiles/MCC.dir/src/manager/Entity.cpp.o CMakeFiles/MCC.dir/src/manager/MenuManager.cpp.o CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o CMakeFiles/MCC.dir/src/manager/RenderManager.cpp.o CMakeFiles/MCC.dir/src/manager/WorldManager.cpp.o -o MCC  -lbox2d -lqrcodegencpp -lSDL2 -lSDL2_image -lSDL2 -lSDL2_ttf -lSDL2_net -lSDL2_mixer -lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_net -lSDL2_mixer 
+g++  -Wl,--allow-multiple-definition -g -L../libs/Box2d/lib -L../libs/qrcodegen/lib CMakeFiles/MCC.dir/apps/main.cpp.o CMakeFiles/MCC.dir/src/game/Game.cpp.o CMakeFiles/MCC.dir/src/game/GameEntities.cpp.o CMakeFiles/MCC.dir/src/game/Map.cpp.o CMakeFiles/MCC.dir/src/game/Tile.cpp.o CMakeFiles/MCC.dir/src/manager/BodyFactory.cpp.o CMakeFiles/MCC.dir/src/manager/ContactListener.cpp.o CMakeFiles/MCC.dir/src/manager/Entity.cpp.o CMakeFiles/MCC.dir/src/manager/MenuManager.cpp.o CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o CMakeFiles/MCC.dir/src/manager/RenderManager.cpp.o CMakeFiles/MCC.dir/src/manager/WorldManager.cpp.o -o MCC  -lSDL2 -lSDL2_net -lSDL2 -lSDL2_image -lSDL2 -lSDL2_ttf -lbox2d -lqrcodegencpp -lSDL2_net -lSDL2_image -lSDL2_ttf -lbox2d -lqrcodegencpp 
diff --git a/build/CMakeFiles/MCC.dir/src/game/Game.cpp.o b/build/CMakeFiles/MCC.dir/src/game/Game.cpp.o
index fd1f843c3abc2b4c676b38e65eddcd9056df57df..fd598442ec1d42362864902d3d9f08a95dbf3b6d 100644
Binary files a/build/CMakeFiles/MCC.dir/src/game/Game.cpp.o and b/build/CMakeFiles/MCC.dir/src/game/Game.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/game/GameEntities.cpp.o b/build/CMakeFiles/MCC.dir/src/game/GameEntities.cpp.o
index fdada1e45d0dcf06ed7ff1bb48c0fefba8788370..6625938c83e2bf60959e53f8af14f0966af54651 100644
Binary files a/build/CMakeFiles/MCC.dir/src/game/GameEntities.cpp.o and b/build/CMakeFiles/MCC.dir/src/game/GameEntities.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/game/Map.cpp.o b/build/CMakeFiles/MCC.dir/src/game/Map.cpp.o
index 4a37db44feaa504444c7470c5e4ef03b31aa7d20..a9fe2732d4ef466949c4859190725b2bf80298dc 100644
Binary files a/build/CMakeFiles/MCC.dir/src/game/Map.cpp.o and b/build/CMakeFiles/MCC.dir/src/game/Map.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/game/Tile.cpp.o b/build/CMakeFiles/MCC.dir/src/game/Tile.cpp.o
index a92bc2ae0dd7b0a6e918f625861c6b2c03f29191..5da24f98c65ca52e4d600ff6510b2dcce5cd5f46 100644
Binary files a/build/CMakeFiles/MCC.dir/src/game/Tile.cpp.o and b/build/CMakeFiles/MCC.dir/src/game/Tile.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/manager/Entity.cpp.o b/build/CMakeFiles/MCC.dir/src/manager/Entity.cpp.o
index dfb8c7df92d488f8e5c7931d70e2a1c084ce6c0b..dd335ac8263d5398dff268bb94e9932f3cf48864 100644
Binary files a/build/CMakeFiles/MCC.dir/src/manager/Entity.cpp.o and b/build/CMakeFiles/MCC.dir/src/manager/Entity.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/manager/MenuManager.cpp.o b/build/CMakeFiles/MCC.dir/src/manager/MenuManager.cpp.o
index b2104896d8c3349f85af56eff52da43565f61dae..fdfc49d0dc845bb23c4cbe9ebc2552941651f8fb 100644
Binary files a/build/CMakeFiles/MCC.dir/src/manager/MenuManager.cpp.o and b/build/CMakeFiles/MCC.dir/src/manager/MenuManager.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o b/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o
index 7f71b4d59374ebfbbbed0935a41f7b24deaf6ebb..31501f8dd819f6c49668395923000d817dbea90c 100644
Binary files a/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o and b/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o.d b/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o.d
index 3a2186aa74ad17d495261cf6e2f52115f7535e81..f0e1b51c9e8244b089f47f6685131b8b65e18b3e 100644
--- a/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o.d
+++ b/build/CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o.d
@@ -191,9 +191,13 @@ CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o: \
  /usr/include/c++/13/bits/stl_uninitialized.h \
  /usr/include/c++/13/bits/stl_vector.h \
  /usr/include/c++/13/bits/stl_bvector.h \
- /usr/include/c++/13/bits/vector.tcc \
- /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/RenderManager.hpp \
- /usr/include/c++/13/stdlib.h /usr/include/c++/13/math.h \
+ /usr/include/c++/13/bits/vector.tcc /usr/include/SDL2/SDL.h \
+ /usr/include/SDL2/SDL_main.h /usr/include/SDL2/SDL_stdinc.h \
+ /usr/include/SDL2/SDL_config.h \
+ /usr/include/x86_64-linux-gnu/SDL2/_real_SDL_config.h \
+ /usr/include/SDL2/SDL_platform.h /usr/include/SDL2/begin_code.h \
+ /usr/include/SDL2/close_code.h /usr/include/c++/13/stdlib.h \
+ /usr/include/inttypes.h /usr/include/c++/13/math.h \
  /usr/include/c++/13/cmath /usr/include/math.h \
  /usr/include/x86_64-linux-gnu/bits/math-vector.h \
  /usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h \
@@ -216,18 +220,7 @@ CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o: \
  /usr/include/c++/13/tr1/modified_bessel_func.tcc \
  /usr/include/c++/13/tr1/poly_hermite.tcc \
  /usr/include/c++/13/tr1/poly_laguerre.tcc \
- /usr/include/c++/13/tr1/riemann_zeta.tcc /usr/include/assert.h \
- /usr/include/c++/13/map /usr/include/c++/13/bits/stl_tree.h \
- /usr/include/c++/13/ext/aligned_buffer.h \
- /usr/include/c++/13/bits/node_handle.h \
- /usr/include/c++/13/bits/stl_map.h \
- /usr/include/c++/13/bits/stl_multimap.h \
- /usr/include/c++/13/bits/erase_if.h /usr/include/SDL2/SDL.h \
- /usr/include/SDL2/SDL_main.h /usr/include/SDL2/SDL_stdinc.h \
- /usr/include/SDL2/SDL_config.h \
- /usr/include/x86_64-linux-gnu/SDL2/_real_SDL_config.h \
- /usr/include/SDL2/SDL_platform.h /usr/include/SDL2/begin_code.h \
- /usr/include/SDL2/close_code.h /usr/include/inttypes.h \
+ /usr/include/c++/13/tr1/riemann_zeta.tcc \
  /usr/lib/gcc/x86_64-linux-gnu/13/include/float.h \
  /usr/include/SDL2/SDL_assert.h /usr/include/SDL2/SDL_atomic.h \
  /usr/include/SDL2/SDL_platform.h /usr/include/SDL2/SDL_audio.h \
@@ -345,8 +338,17 @@ CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o: \
  /usr/include/SDL2/SDL_render.h /usr/include/SDL2/SDL_shape.h \
  /usr/include/SDL2/SDL_system.h /usr/include/SDL2/SDL_timer.h \
  /usr/include/SDL2/SDL_version.h /usr/include/SDL2/SDL_locale.h \
- /usr/include/SDL2/SDL_misc.h /usr/include/SDL2/SDL_image.h \
- /usr/include/SDL2/SDL.h /usr/include/SDL2/SDL_ttf.h \
+ /usr/include/SDL2/SDL_misc.h /usr/include/SDL2/SDL_net.h \
+ /usr/include/SDL2/SDL.h \
+ /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/RenderManager.hpp \
+ /usr/include/assert.h /usr/include/c++/13/map \
+ /usr/include/c++/13/bits/stl_tree.h \
+ /usr/include/c++/13/ext/aligned_buffer.h \
+ /usr/include/c++/13/bits/node_handle.h \
+ /usr/include/c++/13/bits/stl_map.h \
+ /usr/include/c++/13/bits/stl_multimap.h \
+ /usr/include/c++/13/bits/erase_if.h /usr/include/SDL2/SDL_image.h \
+ /usr/include/SDL2/SDL_ttf.h \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../../libs/Nuklear-master/nuklear.h \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../../libs/Nuklear-master/nuklear_sdl_renderer.h \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../utils/include/constante.h \
@@ -387,6 +389,5 @@ CMakeFiles/MCC.dir/src/manager/NetworkManager.cpp.o: \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../../libs/Box2d/include/box2d/b2_revolute_joint.h \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../../libs/Box2d/include/box2d/b2_weld_joint.h \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../../libs/Box2d/include/box2d/b2_wheel_joint.h \
- /usr/include/SDL2/SDL_net.h \
  /home/tompotioubuntu/Documents/Cours/L3/S2/Stage/Mythical_Conquests_Chronicles/src/manager/../../include/manager/../../libs/qrcodegen/include/qrcodegen.hpp \
  /usr/include/c++/13/array /usr/include/c++/13/compare
diff --git a/build/CMakeFiles/MCC.dir/src/manager/RenderManager.cpp.o b/build/CMakeFiles/MCC.dir/src/manager/RenderManager.cpp.o
index f25feef577c792fa2472842278efc5d8de2b674a..a583020731d570c52dd6c4a3d4ddd1f0aaae5399 100644
Binary files a/build/CMakeFiles/MCC.dir/src/manager/RenderManager.cpp.o and b/build/CMakeFiles/MCC.dir/src/manager/RenderManager.cpp.o differ
diff --git a/build/CMakeFiles/MCC.dir/src/manager/WorldManager.cpp.o b/build/CMakeFiles/MCC.dir/src/manager/WorldManager.cpp.o
index 3d91e3dbb6fa114c16b2141148a327d5376cb196..07479044a76b934d8aa6c01e06e55ae375b13c3e 100644
Binary files a/build/CMakeFiles/MCC.dir/src/manager/WorldManager.cpp.o and b/build/CMakeFiles/MCC.dir/src/manager/WorldManager.cpp.o differ
diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake
index 90e44c1046bdad1fde43bfea5b4c081c6326352b..420ea296f409d42b39ff933539c0281ccf89be89 100644
--- a/build/CMakeFiles/Makefile.cmake
+++ b/build/CMakeFiles/Makefile.cmake
@@ -11,102 +11,21 @@ set(CMAKE_MAKEFILE_DEPENDS
   "CMakeFiles/3.27.4/CMakeCCompiler.cmake"
   "CMakeFiles/3.27.4/CMakeCXXCompiler.cmake"
   "CMakeFiles/3.27.4/CMakeSystem.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeCCompiler.cmake.in"
-  "/usr/share/cmake-3.27/Modules/CMakeCCompilerABI.c"
   "/usr/share/cmake-3.27/Modules/CMakeCInformation.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeCXXCompiler.cmake.in"
-  "/usr/share/cmake-3.27/Modules/CMakeCXXCompilerABI.cpp"
   "/usr/share/cmake-3.27/Modules/CMakeCXXInformation.cmake"
   "/usr/share/cmake-3.27/Modules/CMakeCommonLanguageInclude.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeCompilerIdDetection.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineCCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineCXXCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompileFeatures.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerABI.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineCompilerId.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeDetermineSystem.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeFindBinUtils.cmake"
   "/usr/share/cmake-3.27/Modules/CMakeGenericSystem.cmake"
   "/usr/share/cmake-3.27/Modules/CMakeInitializeConfigs.cmake"
   "/usr/share/cmake-3.27/Modules/CMakeLanguageInformation.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeParseImplicitIncludeInfo.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeParseImplicitLinkInfo.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeParseLibraryArchitecture.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeSystem.cmake.in"
   "/usr/share/cmake-3.27/Modules/CMakeSystemSpecificInformation.cmake"
   "/usr/share/cmake-3.27/Modules/CMakeSystemSpecificInitialize.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeTestCXXCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeTestCompilerCommon.cmake"
-  "/usr/share/cmake-3.27/Modules/CMakeUnixFindMake.cmake"
-  "/usr/share/cmake-3.27/Modules/CheckCSourceCompiles.cmake"
-  "/usr/share/cmake-3.27/Modules/CheckIncludeFile.cmake"
-  "/usr/share/cmake-3.27/Modules/CheckLibraryExists.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/ADSP-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/ARMCC-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/ARMClang-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/AppleClang-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Borland-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Bruce-C-DetermineCompiler.cmake"
   "/usr/share/cmake-3.27/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Clang-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Clang-DetermineCompilerInternal.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Compaq-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Cray-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Embarcadero-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Fujitsu-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/GHS-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/GNU-C-DetermineCompiler.cmake"
   "/usr/share/cmake-3.27/Modules/Compiler/GNU-C.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake"
   "/usr/share/cmake-3.27/Modules/Compiler/GNU-CXX.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/GNU-FindBinUtils.cmake"
   "/usr/share/cmake-3.27/Modules/Compiler/GNU.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/HP-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/HP-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/IAR-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Intel-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/LCC-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/MSVC-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/NVHPC-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/NVIDIA-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/PGI-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/PathScale-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/SCO-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/SDCC-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/SunPro-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/TI-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Tasking-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/Watcom-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/XL-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/XL-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/XLClang-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/zOS-C-DetermineCompiler.cmake"
-  "/usr/share/cmake-3.27/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake"
   "/usr/share/cmake-3.27/Modules/FindPackageHandleStandardArgs.cmake"
   "/usr/share/cmake-3.27/Modules/FindPackageMessage.cmake"
   "/usr/share/cmake-3.27/Modules/FindPkgConfig.cmake"
-  "/usr/share/cmake-3.27/Modules/FindSDL.cmake"
-  "/usr/share/cmake-3.27/Modules/FindThreads.cmake"
-  "/usr/share/cmake-3.27/Modules/Internal/CheckSourceCompiles.cmake"
-  "/usr/share/cmake-3.27/Modules/Internal/FeatureTesting.cmake"
-  "/usr/share/cmake-3.27/Modules/Platform/Linux-Determine-CXX.cmake"
   "/usr/share/cmake-3.27/Modules/Platform/Linux-GNU-C.cmake"
   "/usr/share/cmake-3.27/Modules/Platform/Linux-GNU-CXX.cmake"
   "/usr/share/cmake-3.27/Modules/Platform/Linux-GNU.cmake"
@@ -123,11 +42,6 @@ set(CMAKE_MAKEFILE_OUTPUTS
 
 # Byproducts of CMake generate step:
 set(CMAKE_MAKEFILE_PRODUCTS
-  "CMakeFiles/3.27.4/CMakeSystem.cmake"
-  "CMakeFiles/3.27.4/CMakeCCompiler.cmake"
-  "CMakeFiles/3.27.4/CMakeCXXCompiler.cmake"
-  "CMakeFiles/3.27.4/CMakeCCompiler.cmake"
-  "CMakeFiles/3.27.4/CMakeCXXCompiler.cmake"
   "CMakeFiles/CMakeDirectoryInformation.cmake"
   )
 
diff --git a/build/MCC b/build/MCC
index 096fbabb42ed2b917ae4f6147e1b0354bd403a0a..6deec0706d920c72b0779ef708766ac8aa402fd3 100755
Binary files a/build/MCC and b/build/MCC differ
diff --git a/include/game/Entity.hpp b/include/game/Entity.hpp
index d0b29ddd9a49bab44b8c7be8ed2fbfa8ef7e2ce4..1c6cff820efefdb59f39da42d4dbe31ba3ec06ed 100644
--- a/include/game/Entity.hpp
+++ b/include/game/Entity.hpp
@@ -12,6 +12,7 @@ class BodyFactory;
 class Entity {
     public:
         Entity(float x,float y, float w, float h,float d, float f,float r,b2Shape* shape,BodyType type,void* object,uint8 category,ETypeInstance typeInstance,groupIndex index);
+        
         /**
          * @brief Rajoute une animation avec une vitesse.
          */
@@ -21,13 +22,14 @@ class Entity {
          * @brief Rajoute une animation avec un Timer préfait.
          */
         void addAnimation(int state, Timer* timer){ animations.emplace(state,timer); }
-
         void setPosition(int x, int y){body->SetTransform(Vec2(x,y),body->GetAngle());}
         void resetAnimation(EntityState state){animations[state].reset();}
+
         /**
          * @brief Renvoie la largeur en mètres.
          */
         float getWidth(){return w;}
+
         /**
          * @brief Renvoie la hauteur en mètres.
          */
@@ -41,6 +43,12 @@ class Entity {
         }
         
         Animation& getAnimation(int state){return this->animations[state];}
+        /**
+         * @brief Avec cette fonction on peut savoir si l'entité a au moins une texture.
+         * Si elle n'en a pas, la méthode de render qui appelle l'entité, n'a pas besoin de l'afficher.
+         * De cette manière, on peut générer par exemple des entités invisibles.
+         */
+        bool hasAnimation(){return animations.size() > 0;}
 
         virtual void update(float deltaT)=0;
         virtual void onTouch(b2Contact* contact,float deltaT)=0;
diff --git a/include/game/Map.hpp b/include/game/Map.hpp
index a1c4a24958b089b0cc7fe2e01d1eb2e3d6bebfee..cb3c30d1febf7742a03d8dc7c9d9d48363e3d183 100644
--- a/include/game/Map.hpp
+++ b/include/game/Map.hpp
@@ -26,6 +26,7 @@ using namespace rapidjson; // Ajouter l'espace de noms rapidjson
 
 /**
  * @brief Classe qui sous-traite la génération de map.
+ * La classe Map est une extension de WorldManager.
  */
 class Map
 {
diff --git a/include/game/Tile.hpp b/include/game/Tile.hpp
index 923f7f99519e9459db54446bcbdb7aea61430784..c32ea6bf8ae877f4b5b2208de194e68654d21f61 100644
--- a/include/game/Tile.hpp
+++ b/include/game/Tile.hpp
@@ -33,10 +33,7 @@ enum TileType {
 class TileDynamique : public Entity
 {
     public:
-        TileDynamique(int x, int y,int w, int h, int d, int f, b2Shape* shape, BodyType type) : Entity(x,y,w,h,d,f,0.0f,shape,type,this,TILECATEGORY,TILEDYNAMIQUE, TILEINDEX), x(x), y(y) 
-        {
-            
-        }
+        TileDynamique(int x, int y,int w, int h, int d, int f, b2Shape* shape, BodyType type) : Entity(x,y,w,h,d,f,0.0f,shape,type,this,TILECATEGORY,TILEDYNAMIQUE, TILEINDEX), x(x), y(y) {}
 
         void setX(int x){this->x = x;}
         void setY(int y){this->y = y;}
@@ -102,6 +99,7 @@ class Tile {
         int x;
         int y;
         Texture texture;
+        TileType type;
 };
 
 class TileWall : public TileDynamique
diff --git a/include/manager/NetworkManager.hpp b/include/manager/NetworkManager.hpp
index 9f5be5b6d8ca3b870c9e470ad72382ce6533c6db..4823e3d319ff511bad682f209566d446f0d1d196 100644
--- a/include/manager/NetworkManager.hpp
+++ b/include/manager/NetworkManager.hpp
@@ -15,9 +15,11 @@
 #include <sstream>
 #include <vector>
 
-#include "RenderManager.hpp"
+#include <SDL2/SDL.h>
 #include <SDL2/SDL_net.h>
 
+#include "RenderManager.hpp"
+
 #include "../../libs/qrcodegen/include/qrcodegen.hpp"
 
 using namespace std;
@@ -26,18 +28,24 @@ class NetworkManager
 {
     public:
         static NetworkManager& getInstance();
-
+       
         void startApplicationServer();
         void startGameServer();
+        void startGameClient();
         void joinServer();
+        void checkForNewPlayer();
 
         string generateQrCode(string address,int port);
+        string receiveDatasClient();
+        string receiveDatasServer();
 
         NetworkManager(){
             if (SDLNet_Init() < 0) {
                 std::cerr << "SDLNet initialization failed: " << SDLNet_GetError() << std::endl;
                 SDL_Quit();
             }
+            playerZeroSetSocket = SDLNet_AllocSocketSet(1);
+            setJoueurs = SDLNet_AllocSocketSet(4);
         }
 
         ~NetworkManager(){
@@ -53,12 +61,13 @@ class NetworkManager
         int applicationSocket;
 
         IPaddress ip;
+        Uint16 PORT = 1234;
 
         TCPsocket playerZeroSocket;
-        SDLNet_SocketSet playerZeroSetSocket = SDLNet_AllocSocketSet(1);
+        SDLNet_SocketSet playerZeroSetSocket;
 
         std::vector<TCPsocket> joueurs;
-        SDLNet_SocketSet setJoueurs = SDLNet_AllocSocketSet(4);
+        SDLNet_SocketSet setJoueurs;
 };
 
 #endif
\ No newline at end of file
diff --git a/include/manager/WorldManager.hpp b/include/manager/WorldManager.hpp
index 3e3d209abf6d850bdc370fbaae5c0e67dbd36297..c3fc559217f2bff1d21437ea9e1162d5aa96657f 100644
--- a/include/manager/WorldManager.hpp
+++ b/include/manager/WorldManager.hpp
@@ -61,6 +61,13 @@ class WorldManager : public IActor
         };
 
     private:
+        void initializeDefaultDatas();
+        void initializePhysicalWorld();
+        void initializeCamera();
+        void initializePlayer();
+        void loadTest();
+        void loadLobby();
+
         void fpsCounter();
         void changePlayerState(EntityState state);
         void removeMoveInput(SDL_Keycode key);
@@ -74,8 +81,6 @@ class WorldManager : public IActor
         void updateEntities(float deltaT);
         void updatePlayerVelocity();
         void updateGui(float deltaT);
-        void loadTest();
-        void loadLobby();
         void getMouseAngle();
         void renderPlayers();
         void renderEnemies();
@@ -89,6 +94,7 @@ class WorldManager : public IActor
         std::vector<std::string> messages;
         char input_buffer[256];
 
+        string popUpMessage;
         bool showPopUP = false; 
         bool debugMode = false;
         struct nk_context* ctx;
@@ -127,6 +133,7 @@ class WorldManager : public IActor
         int windowHeight;
         int mapH;
         int mapW;
+
         // Vitesse en mètre. (convertir en pixel pour évaluer sur l'écran + le facteur de zoom).
         int fpsCounterWidth;
         int fpsCounterHeight;
diff --git a/maps/tileInfos.json b/maps/tileInfos.json
index 9de92de4516216033110f38bae67b6ecf7609b9c..98d723a64ef36e6ff62a42f96ccf3524688db355 100644
--- a/maps/tileInfos.json
+++ b/maps/tileInfos.json
@@ -111,7 +111,7 @@
             "animated": [false, 0, 0.0]
         },
         {
-            "textureName": "../assets/tiles/other/Grass2.png",
+            "textureName": "../assets/tiles/grass/Grass2.png",
             "tileType": 0,
             "animated": [false, 0, 0.0]
         }
diff --git a/src/game/Map.cpp b/src/game/Map.cpp
index 38e88f317df4720b0c5f4bc8a0544d5d2dd38684..b523b5aec9466fa05678d9e21248b32b78d2fe74 100644
--- a/src/game/Map.cpp
+++ b/src/game/Map.cpp
@@ -1,5 +1,42 @@
 #include "../../include/game/Game.hpp"
 
+
+/**
+ * Dans un premier temps l'instance Map parcourt les différents fichiers csv qui composent les informations du monde : 
+ * 
+ * Un premier fichier CSV contient une matrice des tiles du monde.
+ *  -> Ces tiles peuvent être dynamiques ou statiques ou sans type.
+ * 
+ * Un second fichier CSV contient les tiles qui s'afficheront par dessus les entités du monde.
+ *  -> Ces tiles sont soient statiques ou normales mais pas dynamiques !
+ * 
+ * Un troisième fichier qui contient des tiles dynamiques invisibles.
+ *  -> Soit une tile dynamique Wall ou alors une tile normale invisible.
+ * 
+ * Un troisième fichier CSV qui contient les informations des entités du monde (joueur etc).
+ * Les infos des tiles sont contenues dans le fichier tiles.Json.
+ * 
+ * Pour l'instant on va se contenter que de 3 fichiers CSV pour décrire le monde.
+ * 
+ * 
+ * 
+ * Donc basiquement : 
+ * 
+ * La nature d'une map c'est de contenir des tiles.
+ * Elle se distingue en 3 layers de tiles.
+ * 
+ * 
+ * 
+ * Un json pour les tiles dynamiques, ce sont des tiles dont on veut un comportement.
+ * Lorsqu'il y a  par exemple une potentielle collision avec un joueur ou autre chose...
+ * 
+ * Un json pour les tiles normales. Ce sont juste des tiles qui s'affichent à l'écran.
+ * Elles ont juste besoin de renseigner sur une texture.
+ * 
+ * Ensuite deux id 0 et 1 qui permettent de générer deux tiles uniques. Une dynamique car elle consiste en un mur invisible.
+ * Et une tile normale qui est simplement un carré invisible.
+ */
+
 Map::Map(Camera* camera) : camera(camera){
     RenderManager& rm = RenderManager::getInstance();
     renderManager = &rm;
@@ -56,7 +93,8 @@ void Map::createRandomMap(bool withperlin, const string& fileName, int rows, int
                 }
             }
         }
-    }else{
+    }
+    else{
         std::srand(std::time(nullptr));       
         for (int x = 0; x < rows; ++x)
         {
@@ -110,7 +148,8 @@ void Map::createRandomMap(bool withperlin, const string& fileName, int rows, int
         std::fprintf(outFile, "%s", buffer.GetString());
         std::fclose(outFile);
         cout << "Succès de la création du monde !" << endl;
-    } else {
+    } 
+    else {
         cout << "Erreur : Impossible d'ouvrir le fichier pour l'écriture." << endl;
     }
 }
@@ -366,25 +405,23 @@ void Map::getMapDimension(int* w, int* h){
  */
 void Map::render()
 {   
-    // Code legacy de quand je générais la map.
-    /* Rect srRect = {(int)(camera->x * PPM), (int)(camera->y * PPM), (int) camera->w, (int) camera->h};
-    Rect dstRect = {0, 0, windowWidth, windowHeight};
-    renderManager->draw_PartImage(mapWorldText,srRect,dstRect);*/
-
-    for(Tile& tile : tiles){
+    for(Tile& tile : tiles)
+    {
         if(
             tile.getX() >= camera->x - (TILESIZE / PPM) && tile.getX() <= camera->x + (int) (camera->w / PPM) + (TILESIZE / PPM) &&
-            tile.getY() >= camera->y - (TILESIZE / PPM) && tile.getY() <= camera->y + (int) (camera->h / PPM) + (TILESIZE / PPM)
+            tile.getY() >= camera->y - (TILESIZE / PPM) && tile.getY() <= camera->y + (int) (camera->h / PPM) + (TILESIZE / PPM)       
         ){
             Vec2 coordonnees = renderManager->convertPoint(camera,Vec2(tile.getX(),tile.getY()));
             renderManager->draw_Image(tile.getTexture(),coordonnees.x,coordonnees.y,TILESIZEW,TILESIZEW,255,0);
         }
     }
 
-    for(TileDynamique* tile : dynamicTiles){
+    for(TileDynamique* tile : dynamicTiles)
+    {
         if(
             tile->getX() >= camera->x - (TILESIZE / PPM) && tile->getX() <= camera->x + (int) (camera->w / PPM) + (TILESIZE / PPM) &&
-            tile->getY() >= camera->y - (TILESIZE / PPM) && tile->getY() <= camera->y + (int) (camera->h / PPM) + (TILESIZE / PPM)
+            tile->getY() >= camera->y - (TILESIZE / PPM) && tile->getY() <= camera->y + (int) (camera->h / PPM) + (TILESIZE / PPM) &&
+            tile->hasAnimation()
         ){
             Vec2 coordonnees = renderManager->convertPoint(camera,Vec2(tile->getX(),tile->getY()));
             renderManager->draw_Image((tile->getAnimation(0)).getCurrentFrame(),coordonnees.x,coordonnees.y,TILESIZEW,TILESIZEW,255,0);
diff --git a/src/manager/Entity.cpp b/src/manager/Entity.cpp
index e82e9a6644b79df6833337446fd2367d72c30e18..9aa9f0ee359177cb5c7963244b2bffee7dd38425 100644
--- a/src/manager/Entity.cpp
+++ b/src/manager/Entity.cpp
@@ -1,21 +1,20 @@
 #include "../../include/game/Entity.hpp"
 
-
-
- Entity::Entity(float x,float y, float w, float h,float d, float f,float r,b2Shape* shape,BodyType type,void* object,uint8 category,ETypeInstance typeInstance,groupIndex index) {
-            BodyFactory bf = BodyFactory::getInstance();
-            this->w = w; 
-            this->h = h;
-            Entity* entity = this;
-            switch(type){
-                case Static: 
-                    body = bf.createStaticBody(x,y,w,h,d,f,r,shape,category,object,typeInstance,index);
-                    break;
-                case Dynamic: 
-                    body = bf.createDynamicBody(x,y,w,h,d,f,r,shape,category,object,typeInstance,index);
-                    break;
-                case Kinematic: 
-                    body = bf.createKinematicBody(x,y,w,h,d,f,r,shape,category,object,typeInstance,index);
-                    break;
-            }
-        }
\ No newline at end of file
+Entity::Entity(float x,float y, float w, float h,float d, float f,float r,b2Shape* shape,BodyType type,void* object,uint8 category,ETypeInstance typeInstance,groupIndex index) 
+{
+    BodyFactory bf = BodyFactory::getInstance();
+    this->w = w; 
+    this->h = h;
+    Entity* entity = this;
+    switch(type){
+        case Static: 
+            body = bf.createStaticBody(x,y,w,h,d,f,r,shape,category,object,typeInstance,index);
+            break;
+        case Dynamic: 
+            body = bf.createDynamicBody(x,y,w,h,d,f,r,shape,category,object,typeInstance,index);
+            break;
+        case Kinematic: 
+            body = bf.createKinematicBody(x,y,w,h,d,f,r,shape,category,object,typeInstance,index);
+            break;
+    }
+}
\ No newline at end of file
diff --git a/src/manager/NetworkManager.cpp b/src/manager/NetworkManager.cpp
index 59ff7877bdd656252e1772b74a6a4d0d50ba2b28..49d67d8309a4d888c90f8a09dca530291e619ffe 100644
--- a/src/manager/NetworkManager.cpp
+++ b/src/manager/NetworkManager.cpp
@@ -17,8 +17,68 @@ NetworkManager& NetworkManager::getInstance(){
  * 
  */
 void NetworkManager::startGameServer(){
-    SDLNet_ResolveHost(&ip, NULL, 1234);
-    TCPsocket server = SDLNet_TCP_Open(&ip);
+    if (SDLNet_ResolveHost(&ip, NULL, PORT) == -1) {
+        std::cerr << "Impossible de résoudre l'hôte : " << SDLNet_GetError() << std::endl;
+    }
+
+    playerZeroSocket = SDLNet_TCP_Open(&ip);
+
+    if (!playerZeroSocket) {
+        std::cerr << "Impossible de se connecter au serveur : " << SDLNet_GetError() << std::endl;
+    }
+
+    cout << "Serveur créé !" << endl;
+}
+
+/**
+ * @brief Rejoint un serveur.
+ * 
+ */
+void NetworkManager::startGameClient(){
+    if (SDLNet_ResolveHost(&ip, "localhost", PORT) == -1) {
+        std::cerr << "Impossible de résoudre l'hôte : " << SDLNet_GetError() << std::endl;
+    }
+
+    playerZeroSocket = SDLNet_TCP_Open(&ip);
+
+    if (!playerZeroSocket) {
+        std::cerr << "Impossible de se connecter au serveur : " << SDLNet_GetError() << std::endl;
+    }
+    
+    SDLNet_TCP_AddSocket(playerZeroSetSocket,playerZeroSocket);
+
+    cout << "Connecté au serveur" << endl;
+}
+
+/**
+ * @brief Cherche si un nouveau joueur souhaite se connecter.
+ * 
+ */
+void NetworkManager::checkForNewPlayer(){
+    TCPsocket joueur = SDLNet_TCP_Accept(playerZeroSocket);
+    if (joueur) 
+    { 
+        joueurs.push_back(joueur);
+        SDLNet_TCP_AddSocket(setJoueurs,joueur);
+        std::cout << "Un joueur vient de se connecter ! " << std::endl; 
+    }
+}
+
+/**
+ * @brief Récupère les données envoyées par le serveur.
+ * 
+ * @return string 
+ */
+string NetworkManager::receiveDatasClient(){
+    return nullptr;
+}
+
+/**
+ * @brief Récupère les données envoyées par un joueur et les renvoie aux autres.
+ * 
+ */
+string NetworkManager::receiveDatasServer(){
+    return nullptr;
 }
 
 /**
diff --git a/src/manager/RenderManager.cpp b/src/manager/RenderManager.cpp
index 27c181ae9212682e05eb91ea696eb135635663ec..96d0d6b8dc78d293ea0495ead190c77c3add1c36 100644
--- a/src/manager/RenderManager.cpp
+++ b/src/manager/RenderManager.cpp
@@ -11,7 +11,7 @@ RenderManager::RenderManager(const char title[], int w, int h,bool fullscreen) :
         exit(1);
     }
 
-    if (SDL_Init(SDL_INIT_VIDEO) < 0) {
+    if (SDL_Init(SDL_INIT_EVERYTHING) < 0) {
         cerr << "Error initializing SDL: " << SDL_GetError() << endl;
         exit(1);
     }
diff --git a/src/manager/WorldManager.cpp b/src/manager/WorldManager.cpp
index 9eb2872d7ef754073b778463e775617c08525514..f76ac5db191cccf289f0044caa182830089319ec 100644
--- a/src/manager/WorldManager.cpp
+++ b/src/manager/WorldManager.cpp
@@ -4,9 +4,40 @@
 /**
  * @brief Construct a new World Manager:: World Manager object
  * C'est ici que l'on initialise les données constantes du monde. Comme les joueurs.
+ * On charge le monde avant le joueur.
  * @param game
  */
-WorldManager::WorldManager(Game* game) : game(game) {
+WorldManager::WorldManager(Game* game) : game(game) { 
+    initializeDefaultDatas();
+
+    initializePhysicalWorld();
+
+    initializeCamera();
+
+    mapWorld = new Map(camera);
+
+    loadTest();
+
+    // NB : Orienter en fonction de la souris.
+    debounce[SDLK_g] = false;
+    debounce[SDLK_1] = false;
+}
+
+WorldManager::~WorldManager(){
+    world->~b2World();
+    factory->~BodyFactory();
+}
+
+void WorldManager::initializeCamera(){
+    camera = renderManager->getCamera();
+    camera->h = windowHeight;
+    camera->w = windowWidth;
+}
+
+/**
+ * @brief Chargement des données nécessaires par défaut à WorldManager.
+ */
+void WorldManager::initializeDefaultDatas(){
     RenderManager& rm = RenderManager::getInstance();
     renderManager = &rm;
     input_buffer[0] = '\0';
@@ -19,8 +50,13 @@ WorldManager::WorldManager(Game* game) : game(game) {
     fpsCounterWidth = windowWidth * 0.1;
     fpsCounterHeight = windowHeight * 0.03;
     fps = game->getFps();
+}
 
-    // On instancie un monde spécifique box2d où nos entités prendront vie.
+/**
+ * @brief On instancie un monde spécifique box2d où nos entités prendront vie.
+ * Ce monde n'a pas besoin d'être recréé entre chaque mission, on peut simplement nettoyer toutes les entités.
+ */
+void WorldManager::initializePhysicalWorld(){
     const b2Vec2 gravity = b2Vec2(0.0f,0.0f);
     world = new b2World(gravity);
     world->SetDebugDraw(renderManager);
@@ -32,45 +68,21 @@ WorldManager::WorldManager(Game* game) : game(game) {
     renderManager->SetFlags(b2Draw::e_shapeBit&&b2Draw::e_jointBit&&b2Draw::e_aabbBit&&b2Draw::e_pairBit&&b2Draw::e_centerOfMassBit);
     factory = &(BodyFactory::getInstance(world));
     entityFactory = &EntityFactory::getInstance(this);
+}
 
-    /* Game Datas */
+/**
+ * @brief On instancie le joueur du monde avec sa caméra.
+ */
+void WorldManager::initializePlayer(){
     camera = renderManager->getCamera();
     camera->h = windowHeight;
     camera->w = windowWidth;
 
-    // On instancie la map.
-    mapWorld = new Map(camera);
-    const string mapName = "../maps/test.json";
-
-    //mapWorld->createRandomMap(true,mapName,(int)50 * 1.7,50);
-    mapWorld->loadMap(mapName);
-    mapWorld->getMapDimension(&mapW,&mapH);
-
-    //mise en place des bordure de map
-    factory->setupBorder(mapW,mapH);
-    const float playerWidth = PLAYERSIZE_W / PPM;
-    const float playerHeigth = PLAYERSIZE_H / PPM;
-    /* Instanciation des instances statiques du monde (comme le joueur) */
     entityFactory->makePlayer(mapW/(2.0f*PPM),mapH/(2.0f*PPM));
-    //entityFactory->makeArcherSkeleton(3.0f,3.0f,playerWidth,playerHeigth);
 
     playerZero = &players.back();
     velocity = playerZero->getVelocity();
-    
-    entityFactory->makeSkeleton(10.0f,10.0f,PLAYERSIZE/PPM,PLAYERSIZE/PPM);
-    Vec2 positionJ1 = playerZero->getBody()->GetPosition();
-    camera->x = max(min((positionJ1.x - (camera->w / PPM - playerZero->getWidth())/2),(float) ((mapW - camera->w) / PPM)), 0.0f);
-    camera->y = max(min((positionJ1.y - (camera->h / PPM - playerZero->getHeight())/2),(float) ((mapH - camera->h) / PPM)), 0.0f);
-
-    // NB : Orienter en fonction de la souris.
-    debounce[SDLK_g] = false;
-    debounce[SDLK_1] = false;
-}
-
-WorldManager::~WorldManager(){
-    world->~b2World();
-    factory->~BodyFactory();
-}
+}   
 
 void WorldManager::getMouseAngle(){
     SDL_GetMouseState((&xMouse), (&yMouse));
@@ -179,6 +191,9 @@ void WorldManager::update(float deltaT)
                     case SDLK_LSHIFT:
                         addCommandInput(key);
                         break;
+                    case SDLK_RETURN:
+                        addCommandInput(key);
+                        break;
                     case SDLK_z:
                         addMoveInput(key);
                         break;
@@ -211,6 +226,9 @@ void WorldManager::update(float deltaT)
                         debounce[key] = false;
                         removeCommandInput(key);
                         break;
+                    case SDLK_RETURN:
+                        removeCommandInput(key);
+                        break;
                     default:
                         removeMoveInput(key);
                         changePlayerState(IdleState);
@@ -294,7 +312,7 @@ void WorldManager::update(float deltaT)
     * C'est ici où traite les données du joueur en fonction des états.
     */
 
-    // So me kpieir est en train de courir mettre à jour la vélocité.
+    // Si le player est en train de courir mettre à jour la vélocité.
     if(playerZero->getState() == RunningState){
         *velocity = playerZero->getAcceleration() * (*velocity);
     }
@@ -309,6 +327,16 @@ void WorldManager::update(float deltaT)
 
     /* GUI */
     updateGui(deltaT);
+
+    // Pour le moment on vérifie tout le temps s'il y a un joueur qui se connecte.
+    if(game->isOnline()){
+        if(game->isHost()){
+            networkManager.checkForNewPlayer();
+        }
+        else{
+            
+        }
+    }
 }
 
 void WorldManager::render()
@@ -347,13 +375,6 @@ void WorldManager::render()
         chatBox();
     }
 
-    if (nk_window_is_any_hovered(ctx)){
-        canMove = false;
-    }
-    else {
-        canMove = true;
-    }
-
     renderManager->renderGui();
 }
 
@@ -374,26 +395,41 @@ void WorldManager::server(){
         if (nk_button_label(ctx, "Lancer serveur")) {
             if (game->isOnline()) {
                 showPopUP = true;
-            }else{
+            }
+            else{
                 // Créer le socket serveur et met Online a true si tout s'est bien passé.
+                networkManager.startGameServer();
+                game->setHost(true);
                 game->setOnline(true);
             }
         }
 
         if (nk_button_label(ctx, "Rejoindre serveur")) {
-            // Crée un socket client et met Online a true si on s'est bien connecté ! :D
-            game->setOnline(true);
+            if (game->isOnline()) {
+                showPopUP = true;
+                if(game->isHost()){
+                    popUpMessage = "Vous avez déjà créé un serveur";
+                }
+                else{
+                    popUpMessage = "Vous avez déjà rejoint un serveur";
+                }
+            }
+            else{
+                // Crée un socket client et met Online a true si on s'est bien connecté ! :D
+                game->setOnline(true);
+                networkManager.startGameClient();
+            }
         }
 
         nk_style_pop_color(ctx);
         nk_style_pop_style_item(ctx);
         if (showPopUP) {
             if (nk_popup_begin(ctx, NK_POPUP_STATIC, "Erreur", NK_WINDOW_NO_SCROLLBAR, nk_rect(
-                - (windowWidth - 300 - 200) / 2, -(windowHeight - 123 - 75) / 2,
-                200,75
+                - (windowWidth - 300 - 400) / 2, -(windowHeight - 123 - 75) / 2,
+                400,75
             ))) {
                 nk_layout_row_dynamic(ctx, 30, 1);
-                nk_label(ctx, "Vous êtes déjà connecté !", NK_TEXT_CENTERED);
+                nk_label(ctx, popUpMessage.c_str(), NK_TEXT_CENTERED);
 
                 if (nk_button_label(ctx, "Close")) {
                     showPopUP = false;
@@ -414,7 +450,7 @@ void WorldManager::server(){
  * @brief Génère une petite chatBox pour discuter avec les joueurs connectés.
  * 
  */
-void WorldManager::chatBox(){
+void WorldManager::chatBox(){  
     if (nk_begin(ctx, "Chatbox", nk_rect(0, windowHeight - 300, 400, 300), NK_WINDOW_BORDER | NK_WINDOW_MOVABLE | NK_WINDOW_TITLE)) {
         nk_layout_row_dynamic(ctx, 150, 1);
         // Zone de texte défilante pour les messages
@@ -430,6 +466,18 @@ void WorldManager::chatBox(){
             nk_layout_row_dynamic(ctx, 30, 1);
             nk_edit_string_zero_terminated(ctx, NK_EDIT_FIELD, input_buffer, sizeof(input_buffer), nk_filter_default);
 
+            // Si le joueur appuie sur la touche Entrer et était en train d'écrire, envoie le message.
+            if(
+                nk_window_has_focus(ctx) && 
+                find(commandInputs.begin(), commandInputs.end(), SDLK_RETURN) != commandInputs.end()
+            ){
+                if (input_buffer[0] != '\0') {
+                    messages.push_back(input_buffer);
+                    //cout << messages.back() << endl;
+                    input_buffer[0] = '\0'; // Réinitialiser le buffer d'entrée après envoi
+                }
+            }
+            /*
             // Bouton pour envoyer les messages
             nk_layout_row_dynamic(ctx, 30, 1);
             if (nk_button_label(ctx, "Envoyer")) {
@@ -439,6 +487,7 @@ void WorldManager::chatBox(){
                     input_buffer[0] = '\0'; // Réinitialiser le buffer d'entrée après envoi
                 }
             }
+            */
         }
     }
     nk_end(ctx);
@@ -669,6 +718,14 @@ void WorldManager::updateEntities(float deltaT){
 }
 
 void WorldManager::updateGui(float deltaT){
+    // Si une window est hovered le joueur ne doit pas bouger.
+    if (nk_window_is_any_hovered(ctx)){
+        canMove = false;
+    }
+    else {
+        canMove = true;
+    }
+
     // change la valeur des fps toutes les 2s. Changer en utilisant un timer ? :D
     if((CDFPS >= 2)){CDFPS = 0; fps = (int) game->getFps();}
     CDFPS += deltaT;
@@ -704,14 +761,42 @@ void WorldManager::updateCameraSize(){
     camera->y = max(min((positionJ0.y - (camera->h / PPM - playerZero->getHeight())/2),(float) ((mapH - camera->h) / PPM)), 0.0f);
 }
 
+/**
+ * @brief Monde test.
+ * 
+ */
 void WorldManager::loadTest()
 {
+    const string mapName = "../maps/test.json";
+
+    //mapWorld->createRandomMap(true,mapName,(int)50 * 1.7,50);
+    mapWorld->loadMap(mapName);
+    mapWorld->getMapDimension(&mapW,&mapH);
+
+    //mise en place des bordure de map
+    factory->setupBorder(mapW,mapH);
+    const float playerWidth = PLAYERSIZE_W / PPM;
+    const float playerHeigth = PLAYERSIZE_H / PPM;
+    /* Instanciation des instances statiques du monde (comme le joueur) */
+    entityFactory->makePlayer(mapW/(2.0f*PPM),mapH/(2.0f*PPM));
+    //entityFactory->makeArcherSkeleton(3.0f,3.0f,playerWidth,playerHeigth);
 
+    playerZero = &players.back();
+    velocity = playerZero->getVelocity();
+    
+    entityFactory->makeSkeleton(10.0f,10.0f,PLAYERSIZE/PPM,PLAYERSIZE/PPM);
+    Vec2 positionJ1 = playerZero->getBody()->GetPosition();
+    camera->x = max(min((positionJ1.x - (camera->w / PPM - playerZero->getWidth())/2),(float) ((mapW - camera->w) / PPM)), 0.0f);
+    camera->y = max(min((positionJ1.y - (camera->h / PPM - playerZero->getHeight())/2),(float) ((mapH - camera->h) / PPM)), 0.0f);
 }
 
+/**
+ * @brief Chargement du lobby. 
+ * Lors de la première itération du jeu, les joueurs sont propulsés dans le lobby.
+ */
 void WorldManager::loadLobby()
 {
-
+    
 }
 
 /**