Skip to content

Commit

Permalink
build with CMake
Browse files Browse the repository at this point in the history
  • Loading branch information
plaffitt committed Aug 26, 2022
1 parent ee13256 commit af9012e
Show file tree
Hide file tree
Showing 5 changed files with 96 additions and 23 deletions.
51 changes: 51 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Game files
history
highscore

# Dependencies
lib

# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
shoot-the-aliens
shoot-the-aliens.exe

# CMake
CMakeLists.txt.user
CMakeCache.txt
CMakeFiles
CMakeScripts
Testing
Makefile
cmake_install.cmake
install_manifest.txt
compile_commands.json
CTestTestfile.cmake
_deps
31 changes: 31 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)

# Set project name and version
project(shoot-the-aliens VERSION 0.1.0)

# Set C++ standard
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)

if(MSVC)
# Link statically when building on windows to help distribution of the software
set(SFML_STATIC_LIBRARIES TRUE)
# Hide the console window in visual studio projects
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")
endif()

# Find SFML shared libraries
find_package(SFML 2.5.1 COMPONENTS system window graphics audio REQUIRED)

# Compile executable
add_executable(shoot-the-aliens alien.cpp explosion.cpp fond.cpp gameengine.cpp jeu.cpp joueur.cpp main.cpp soundmanager.cpp tir.cpp vaisseau.cpp)

# Set include directory search paths
target_include_directories(shoot-the-aliens PRIVATE "${PROJECT_BINARY_DIR}")

# Link executable to required SFML libraries
target_link_libraries(shoot-the-aliens sfml-audio sfml-graphics sfml-window sfml-system)

# Install target
install(TARGETS shoot-the-aliens DESTINATION bin)
2 changes: 0 additions & 2 deletions jeu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ bool Collision(AABB objet1, AABB objet2)
return true;
}

Jeu Jeu::m_Jeu;

void Jeu::Init()
{
m_dimensionsJeu.x = 400;
Expand Down
8 changes: 0 additions & 8 deletions jeu.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,18 +33,10 @@ class Jeu : public GameState

void EventFenetre();

static Jeu* Instance() {
return &m_Jeu;
}

protected:
Jeu() { }

private:
sf::Event m_event;
GameEngine* m_shootTheAliens;

static Jeu m_Jeu;
sf::View m_vuePrincipale;
sf::Vector2u m_dimensionsFenetre;
sf::Vector2u m_dimensionsJeu;
Expand Down
27 changes: 14 additions & 13 deletions main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ int main()
{
srand(time(NULL));
GameEngine shootTheAliens;
Jeu jeu;
shootTheAliens.Init("Shoot The Aliens", 400, 700);
//shootTheAliens.getFenetre()->setMouseCursorVisible(false);
shootTheAliens.getFenetre()->setFramerateLimit(60);
shootTheAliens.getFenetre()->setVerticalSyncEnabled(true);
shootTheAliens.ChangeState(Jeu::Instance());
shootTheAliens.ChangeState(&jeu);
sf::Image icon;
icon.loadFromFile("ressources/images/64x64.png");
shootTheAliens.getFenetre()->setIcon(64,64,icon.getPixelsPtr());
Expand All @@ -39,37 +40,37 @@ ALPHA :
+ Permettre le redimensionnement
+ Fond
+ Explosions
+ Fluidifier les déplacements
+ Un seul chronomètre
+ Fluidifier les d�placements
+ Un seul chronom�tre
+ Pause
+ Graphismes
+ Animations
+ Bruitages :
+ Explosions
+ Tirs
+ Réacteurs :
+ R�acteurs :
+ Avancer
+ Strafe
+ Ambiance d'espace
+ Musique
+ Screenshots
BETA :
- Detection des mises à jour
- Detection des mises jour
- Ajouter un curseur
- Multi-threading
- Réglages volume
- R�glages volume
/ Historique des scores
- Bruitages améliorés :
- Bruitages générés aléatoirement à partir de la fusion des bruitages de base
- Bruitages am�lior�s :
- Bruitages g�n�r�s al�atoirement � partir de la fusion des bruitages de base
- Prise en compte de la distance
- Prise en compte du positionnement relatif (droite/gauche)
- Accélération du fond lors de l'accélération des vaisseaux
- Acc�l�ration du fond lors de l'acc�l�ration des vaisseaux
- Intro
- Modes de jeu : Chaqu'un accessibles indépendamment ou simultanéments (cases à cocher)
- Modes de jeu : Chaqu'un accessibles ind�pendamment ou simultan�ments (cases cocher)
+ Normal (gratuit)
- Bouclier (payant) : Bouclier disponible pour une durée limitée, chaque kill rajoutent de l'énergie au bouclier (ou tout les x kills)
- Assassin (payant) : Cooldown de game over remis à zéro par un kill
- Infinite Runner (payant) : Reprend la partie à 80% de la progression précédente (comprend les 3 modes de jeu précédents)
- Bouclier (payant) : Bouclier disponible pour une dur�e limit�e, chaque kill rajoutent de l'�nergie au bouclier (ou tout les x kills)
- Assassin (payant) : Cooldown de game over remis � z�ro par un kill
- Infinite Runner (payant) : Reprend la partie 80% de la progression pr�c�dente (comprend les 3 modes de jeu pr�c�dents)
- Optimisations
*/

0 comments on commit af9012e

Please sign in to comment.