瀏覽代碼

Merge branch 'imp/linux-build'

Replace CMake build system by GNU/Make system.
DricomDragon 4 年之前
父節點
當前提交
29f808b107

+ 40 - 3
.gitignore

@@ -1,3 +1,40 @@
-.idea/
-cmake-build-debug/*
-*.py
+# Created by https://www.toptal.com/developers/gitignore/api/c++
+# Edit at https://www.toptal.com/developers/gitignore?templates=c++
+
+### C++ ###
+# 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
+*.exe
+*.out
+*.app
+
+# End of https://www.toptal.com/developers/gitignore/api/c++
+
+bin/

+ 0 - 39
CMakeLists.txt

@@ -1,39 +0,0 @@
-cmake_minimum_required(VERSION 3.7)
-project(ASCCI_Space_Destroyer_CLion)
-
-set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR})
-
-find_package(SDL)
-find_package(SDL_gfx)
-
-include_directories(${SDL_INCLUDE_DIR} ${SDLGFX_INCLUDE_DIR})
-
-set(CMAKE_CXX_STANDARD 11)
-
-set(SOURCE_FILES
-        main.cpp
-        Ally.cpp
-        Foe.cpp
-        Game.cpp
-        HitManager.cpp
-        Score.cpp
-        Shot.cpp
-        SpaceShip.cpp
-        WaveManager.cpp
-        Control/Input.cpp
-        Control/InputAndJoy.cpp
-        Shot/Brexit.cpp
-        Shot/Cutter.cpp
-        Shot/Disper.cpp
-        Shot/Gun.cpp
-        Shot/Hecto.cpp
-        Shot/Missile.cpp
-        Shot/Part.cpp
-        Shot/Photo.cpp
-        Shot/Sniper.cpp)
-
-add_executable(ASCCI_Space_Destroyer_CLion ${SOURCE_FILES})
-
-target_link_libraries(ASCCI_Space_Destroyer_CLion ${SDL_LIBRARY} ${SDLGFX_LIBRARY})
-
-file(COPY Resources DESTINATION .)

+ 0 - 386
FindPackageHandleStandardArgs.cmake

@@ -1,386 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#[=======================================================================[.rst:
-FindPackageHandleStandardArgs
------------------------------
-
-This module provides a function intended to be used in :ref:`Find Modules`
-implementing :command:`find_package(<PackageName>)` calls.  It handles the
-``REQUIRED``, ``QUIET`` and version-related arguments of ``find_package``.
-It also sets the ``<PackageName>_FOUND`` variable.  The package is
-considered found if all variables listed contain valid results, e.g.
-valid filepaths.
-
-.. command:: find_package_handle_standard_args
-
-  There are two signatures::
-
-    find_package_handle_standard_args(<PackageName>
-      (DEFAULT_MSG|<custom-failure-message>)
-      <required-var>...
-      )
-
-    find_package_handle_standard_args(<PackageName>
-      [FOUND_VAR <result-var>]
-      [REQUIRED_VARS <required-var>...]
-      [VERSION_VAR <version-var>]
-      [HANDLE_COMPONENTS]
-      [CONFIG_MODE]
-      [FAIL_MESSAGE <custom-failure-message>]
-      )
-
-  The ``<PackageName>_FOUND`` variable will be set to ``TRUE`` if all
-  the variables ``<required-var>...`` are valid and any optional
-  constraints are satisfied, and ``FALSE`` otherwise.  A success or
-  failure message may be displayed based on the results and on
-  whether the ``REQUIRED`` and/or ``QUIET`` option was given to
-  the :command:`find_package` call.
-
-  The options are:
-
-  ``(DEFAULT_MSG|<custom-failure-message>)``
-    In the simple signature this specifies the failure message.
-    Use ``DEFAULT_MSG`` to ask for a default message to be computed
-    (recommended).  Not valid in the full signature.
-
-  ``FOUND_VAR <result-var>``
-    Obsolete.  Specifies either ``<PackageName>_FOUND`` or
-    ``<PACKAGENAME>_FOUND`` as the result variable.  This exists only
-    for compatibility with older versions of CMake and is now ignored.
-    Result variables of both names are always set for compatibility.
-
-  ``REQUIRED_VARS <required-var>...``
-    Specify the variables which are required for this package.
-    These may be named in the generated failure message asking the
-    user to set the missing variable values.  Therefore these should
-    typically be cache entries such as ``FOO_LIBRARY`` and not output
-    variables like ``FOO_LIBRARIES``.
-
-  ``VERSION_VAR <version-var>``
-    Specify the name of a variable that holds the version of the package
-    that has been found.  This version will be checked against the
-    (potentially) specified required version given to the
-    :command:`find_package` call, including its ``EXACT`` option.
-    The default messages include information about the required
-    version and the version which has been actually found, both
-    if the version is ok or not.
-
-  ``HANDLE_COMPONENTS``
-    Enable handling of package components.  In this case, the command
-    will report which components have been found and which are missing,
-    and the ``<PackageName>_FOUND`` variable will be set to ``FALSE``
-    if any of the required components (i.e. not the ones listed after
-    the ``OPTIONAL_COMPONENTS`` option of :command:`find_package`) are
-    missing.
-
-  ``CONFIG_MODE``
-    Specify that the calling find module is a wrapper around a
-    call to ``find_package(<PackageName> NO_MODULE)``.  This implies
-    a ``VERSION_VAR`` value of ``<PackageName>_VERSION``.  The command
-    will automatically check whether the package configuration file
-    was found.
-
-  ``FAIL_MESSAGE <custom-failure-message>``
-    Specify a custom failure message instead of using the default
-    generated message.  Not recommended.
-
-Example for the simple signature:
-
-.. code-block:: cmake
-
-  find_package_handle_standard_args(LibXml2 DEFAULT_MSG
-    LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR)
-
-The ``LibXml2`` package is considered to be found if both
-``LIBXML2_LIBRARY`` and ``LIBXML2_INCLUDE_DIR`` are valid.
-Then also ``LibXml2_FOUND`` is set to ``TRUE``.  If it is not found
-and ``REQUIRED`` was used, it fails with a
-:command:`message(FATAL_ERROR)`, independent whether ``QUIET`` was
-used or not.  If it is found, success will be reported, including
-the content of the first ``<required-var>``.  On repeated CMake runs,
-the same message will not be printed again.
-
-Example for the full signature:
-
-.. code-block:: cmake
-
-  find_package_handle_standard_args(LibArchive
-    REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
-    VERSION_VAR LibArchive_VERSION)
-
-In this case, the ``LibArchive`` package is considered to be found if
-both ``LibArchive_LIBRARY`` and ``LibArchive_INCLUDE_DIR`` are valid.
-Also the version of ``LibArchive`` will be checked by using the version
-contained in ``LibArchive_VERSION``.  Since no ``FAIL_MESSAGE`` is given,
-the default messages will be printed.
-
-Another example for the full signature:
-
-.. code-block:: cmake
-
-  find_package(Automoc4 QUIET NO_MODULE HINTS /opt/automoc4)
-  find_package_handle_standard_args(Automoc4  CONFIG_MODE)
-
-In this case, a ``FindAutmoc4.cmake`` module wraps a call to
-``find_package(Automoc4 NO_MODULE)`` and adds an additional search
-directory for ``automoc4``.  Then the call to
-``find_package_handle_standard_args`` produces a proper success/failure
-message.
-#]=======================================================================]
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageMessage.cmake)
-
-# internal helper macro
-macro(_FPHSA_FAILURE_MESSAGE _msg)
-    if (${_NAME}_FIND_REQUIRED)
-        message(FATAL_ERROR "${_msg}")
-    else ()
-        if (NOT ${_NAME}_FIND_QUIETLY)
-            message(STATUS "${_msg}")
-        endif ()
-    endif ()
-endmacro()
-
-
-# internal helper macro to generate the failure message when used in CONFIG_MODE:
-macro(_FPHSA_HANDLE_FAILURE_CONFIG_MODE)
-    # <name>_CONFIG is set, but FOUND is false, this means that some other of the REQUIRED_VARS was not found:
-    if(${_NAME}_CONFIG)
-        _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: missing:${MISSING_VARS} (found ${${_NAME}_CONFIG} ${VERSION_MSG})")
-    else()
-        # If _CONSIDERED_CONFIGS is set, the config-file has been found, but no suitable version.
-        # List them all in the error message:
-        if(${_NAME}_CONSIDERED_CONFIGS)
-            set(configsText "")
-            list(LENGTH ${_NAME}_CONSIDERED_CONFIGS configsCount)
-            math(EXPR configsCount "${configsCount} - 1")
-            foreach(currentConfigIndex RANGE ${configsCount})
-                list(GET ${_NAME}_CONSIDERED_CONFIGS ${currentConfigIndex} filename)
-                list(GET ${_NAME}_CONSIDERED_VERSIONS ${currentConfigIndex} version)
-                string(APPEND configsText "    ${filename} (version ${version})\n")
-            endforeach()
-            if (${_NAME}_NOT_FOUND_MESSAGE)
-                string(APPEND configsText "    Reason given by package: ${${_NAME}_NOT_FOUND_MESSAGE}\n")
-            endif()
-            _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} ${VERSION_MSG}, checked the following files:\n${configsText}")
-
-        else()
-            # Simple case: No Config-file was found at all:
-            _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: found neither ${_NAME}Config.cmake nor ${_NAME_LOWER}-config.cmake ${VERSION_MSG}")
-        endif()
-    endif()
-endmacro()
-
-
-function(FIND_PACKAGE_HANDLE_STANDARD_ARGS _NAME _FIRST_ARG)
-
-    # Set up the arguments for `cmake_parse_arguments`.
-    set(options  CONFIG_MODE  HANDLE_COMPONENTS)
-    set(oneValueArgs  FAIL_MESSAGE  VERSION_VAR  FOUND_VAR)
-    set(multiValueArgs REQUIRED_VARS)
-
-    # Check whether we are in 'simple' or 'extended' mode:
-    set(_KEYWORDS_FOR_EXTENDED_MODE  ${options} ${oneValueArgs} ${multiValueArgs} )
-    list(FIND _KEYWORDS_FOR_EXTENDED_MODE "${_FIRST_ARG}" INDEX)
-
-    if(${INDEX} EQUAL -1)
-        set(FPHSA_FAIL_MESSAGE ${_FIRST_ARG})
-        set(FPHSA_REQUIRED_VARS ${ARGN})
-        set(FPHSA_VERSION_VAR)
-    else()
-        cmake_parse_arguments(FPHSA "${options}" "${oneValueArgs}" "${multiValueArgs}"  ${_FIRST_ARG} ${ARGN})
-
-        if(FPHSA_UNPARSED_ARGUMENTS)
-            message(FATAL_ERROR "Unknown keywords given to FIND_PACKAGE_HANDLE_STANDARD_ARGS(): \"${FPHSA_UNPARSED_ARGUMENTS}\"")
-        endif()
-
-        if(NOT FPHSA_FAIL_MESSAGE)
-            set(FPHSA_FAIL_MESSAGE  "DEFAULT_MSG")
-        endif()
-
-        # In config-mode, we rely on the variable <package>_CONFIG, which is set by find_package()
-        # when it successfully found the config-file, including version checking:
-        if(FPHSA_CONFIG_MODE)
-            list(INSERT FPHSA_REQUIRED_VARS 0 ${_NAME}_CONFIG)
-            list(REMOVE_DUPLICATES FPHSA_REQUIRED_VARS)
-            set(FPHSA_VERSION_VAR ${_NAME}_VERSION)
-        endif()
-
-        if(NOT FPHSA_REQUIRED_VARS)
-            message(FATAL_ERROR "No REQUIRED_VARS specified for FIND_PACKAGE_HANDLE_STANDARD_ARGS()")
-        endif()
-    endif()
-
-    # now that we collected all arguments, process them
-
-    if("x${FPHSA_FAIL_MESSAGE}" STREQUAL "xDEFAULT_MSG")
-        set(FPHSA_FAIL_MESSAGE "Could NOT find ${_NAME}")
-    endif()
-
-    list(GET FPHSA_REQUIRED_VARS 0 _FIRST_REQUIRED_VAR)
-
-    string(TOUPPER ${_NAME} _NAME_UPPER)
-    string(TOLOWER ${_NAME} _NAME_LOWER)
-
-    if(FPHSA_FOUND_VAR)
-        if(FPHSA_FOUND_VAR MATCHES "^${_NAME}_FOUND$"  OR  FPHSA_FOUND_VAR MATCHES "^${_NAME_UPPER}_FOUND$")
-            set(_FOUND_VAR ${FPHSA_FOUND_VAR})
-        else()
-            message(FATAL_ERROR "The argument for FOUND_VAR is \"${FPHSA_FOUND_VAR}\", but only \"${_NAME}_FOUND\" and \"${_NAME_UPPER}_FOUND\" are valid names.")
-        endif()
-    else()
-        set(_FOUND_VAR ${_NAME_UPPER}_FOUND)
-    endif()
-
-    # collect all variables which were not found, so they can be printed, so the
-    # user knows better what went wrong (#6375)
-    set(MISSING_VARS "")
-    set(DETAILS "")
-    # check if all passed variables are valid
-    set(FPHSA_FOUND_${_NAME} TRUE)
-    foreach(_CURRENT_VAR ${FPHSA_REQUIRED_VARS})
-        if(NOT ${_CURRENT_VAR})
-            set(FPHSA_FOUND_${_NAME} FALSE)
-            string(APPEND MISSING_VARS " ${_CURRENT_VAR}")
-        else()
-            string(APPEND DETAILS "[${${_CURRENT_VAR}}]")
-        endif()
-    endforeach()
-    if(FPHSA_FOUND_${_NAME})
-        set(${_NAME}_FOUND TRUE)
-        set(${_NAME_UPPER}_FOUND TRUE)
-    else()
-        set(${_NAME}_FOUND FALSE)
-        set(${_NAME_UPPER}_FOUND FALSE)
-    endif()
-
-    # component handling
-    unset(FOUND_COMPONENTS_MSG)
-    unset(MISSING_COMPONENTS_MSG)
-
-    if(FPHSA_HANDLE_COMPONENTS)
-        foreach(comp ${${_NAME}_FIND_COMPONENTS})
-            if(${_NAME}_${comp}_FOUND)
-
-                if(NOT DEFINED FOUND_COMPONENTS_MSG)
-                    set(FOUND_COMPONENTS_MSG "found components: ")
-                endif()
-                string(APPEND FOUND_COMPONENTS_MSG " ${comp}")
-
-            else()
-
-                if(NOT DEFINED MISSING_COMPONENTS_MSG)
-                    set(MISSING_COMPONENTS_MSG "missing components: ")
-                endif()
-                string(APPEND MISSING_COMPONENTS_MSG " ${comp}")
-
-                if(${_NAME}_FIND_REQUIRED_${comp})
-                    set(${_NAME}_FOUND FALSE)
-                    string(APPEND MISSING_VARS " ${comp}")
-                endif()
-
-            endif()
-        endforeach()
-        set(COMPONENT_MSG "${FOUND_COMPONENTS_MSG} ${MISSING_COMPONENTS_MSG}")
-        string(APPEND DETAILS "[c${COMPONENT_MSG}]")
-    endif()
-
-    # version handling:
-    set(VERSION_MSG "")
-    set(VERSION_OK TRUE)
-
-    # check with DEFINED here as the requested or found version may be "0"
-    if (DEFINED ${_NAME}_FIND_VERSION)
-        if(DEFINED ${FPHSA_VERSION_VAR})
-            set(_FOUND_VERSION ${${FPHSA_VERSION_VAR}})
-
-            if(${_NAME}_FIND_VERSION_EXACT)       # exact version required
-                # count the dots in the version string
-                string(REGEX REPLACE "[^.]" "" _VERSION_DOTS "${_FOUND_VERSION}")
-                # add one dot because there is one dot more than there are components
-                string(LENGTH "${_VERSION_DOTS}." _VERSION_DOTS)
-                if (_VERSION_DOTS GREATER ${_NAME}_FIND_VERSION_COUNT)
-                    # Because of the C++ implementation of find_package() ${_NAME}_FIND_VERSION_COUNT
-                    # is at most 4 here. Therefore a simple lookup table is used.
-                    if (${_NAME}_FIND_VERSION_COUNT EQUAL 1)
-                        set(_VERSION_REGEX "[^.]*")
-                    elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 2)
-                        set(_VERSION_REGEX "[^.]*\\.[^.]*")
-                    elseif (${_NAME}_FIND_VERSION_COUNT EQUAL 3)
-                        set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*")
-                    else ()
-                        set(_VERSION_REGEX "[^.]*\\.[^.]*\\.[^.]*\\.[^.]*")
-                    endif ()
-                    string(REGEX REPLACE "^(${_VERSION_REGEX})\\..*" "\\1" _VERSION_HEAD "${_FOUND_VERSION}")
-                    unset(_VERSION_REGEX)
-                    if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _VERSION_HEAD)
-                        set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
-                        set(VERSION_OK FALSE)
-                    else ()
-                        set(VERSION_MSG "(found suitable exact version \"${_FOUND_VERSION}\")")
-                    endif ()
-                    unset(_VERSION_HEAD)
-                else ()
-                    if (NOT ${_NAME}_FIND_VERSION VERSION_EQUAL _FOUND_VERSION)
-                        set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is exact version \"${${_NAME}_FIND_VERSION}\"")
-                        set(VERSION_OK FALSE)
-                    else ()
-                        set(VERSION_MSG "(found suitable exact version \"${_FOUND_VERSION}\")")
-                    endif ()
-                endif ()
-                unset(_VERSION_DOTS)
-
-            else()     # minimum version specified:
-                if (${_NAME}_FIND_VERSION VERSION_GREATER _FOUND_VERSION)
-                    set(VERSION_MSG "Found unsuitable version \"${_FOUND_VERSION}\", but required is at least \"${${_NAME}_FIND_VERSION}\"")
-                    set(VERSION_OK FALSE)
-                else ()
-                    set(VERSION_MSG "(found suitable version \"${_FOUND_VERSION}\", minimum required is \"${${_NAME}_FIND_VERSION}\")")
-                endif ()
-            endif()
-
-        else()
-
-            # if the package was not found, but a version was given, add that to the output:
-            if(${_NAME}_FIND_VERSION_EXACT)
-                set(VERSION_MSG "(Required is exact version \"${${_NAME}_FIND_VERSION}\")")
-            else()
-                set(VERSION_MSG "(Required is at least version \"${${_NAME}_FIND_VERSION}\")")
-            endif()
-
-        endif()
-    else ()
-        # Check with DEFINED as the found version may be 0.
-        if(DEFINED ${FPHSA_VERSION_VAR})
-            set(VERSION_MSG "(found version \"${${FPHSA_VERSION_VAR}}\")")
-        endif()
-    endif ()
-
-    if(VERSION_OK)
-        string(APPEND DETAILS "[v${${FPHSA_VERSION_VAR}}(${${_NAME}_FIND_VERSION})]")
-    else()
-        set(${_NAME}_FOUND FALSE)
-    endif()
-
-
-    # print the result:
-    if (${_NAME}_FOUND)
-        FIND_PACKAGE_MESSAGE(${_NAME} "Found ${_NAME}: ${${_FIRST_REQUIRED_VAR}} ${VERSION_MSG} ${COMPONENT_MSG}" "${DETAILS}")
-    else ()
-
-        if(FPHSA_CONFIG_MODE)
-            _FPHSA_HANDLE_FAILURE_CONFIG_MODE()
-        else()
-            if(NOT VERSION_OK)
-                _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE}: ${VERSION_MSG} (found ${${_FIRST_REQUIRED_VAR}})")
-            else()
-                _FPHSA_FAILURE_MESSAGE("${FPHSA_FAIL_MESSAGE} (missing:${MISSING_VARS}) ${VERSION_MSG}")
-            endif()
-        endif()
-
-    endif ()
-
-    set(${_NAME}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
-    set(${_NAME_UPPER}_FOUND ${${_NAME}_FOUND} PARENT_SCOPE)
-endfunction()

+ 0 - 47
FindPackageMessage.cmake

@@ -1,47 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#.rst:
-# FindPackageMessage
-# ------------------
-#
-#
-#
-# FIND_PACKAGE_MESSAGE(<name> "message for user" "find result details")
-#
-# This macro is intended to be used in FindXXX.cmake modules files.  It
-# will print a message once for each unique find result.  This is useful
-# for telling the user where a package was found.  The first argument
-# specifies the name (XXX) of the package.  The second argument
-# specifies the message to display.  The third argument lists details
-# about the find result so that if they change the message will be
-# displayed again.  The macro also obeys the QUIET argument to the
-# find_package command.
-#
-# Example:
-#
-# ::
-#
-#   if(X11_FOUND)
-#     FIND_PACKAGE_MESSAGE(X11 "Found X11: ${X11_X11_LIB}"
-#       "[${X11_X11_LIB}][${X11_INCLUDE_DIR}]")
-#   else()
-#    ...
-#   endif()
-
-function(FIND_PACKAGE_MESSAGE pkg msg details)
-    # Avoid printing a message repeatedly for the same find result.
-    if(NOT ${pkg}_FIND_QUIETLY)
-        string(REPLACE "\n" "" details "${details}")
-        set(DETAILS_VAR FIND_PACKAGE_MESSAGE_DETAILS_${pkg})
-        if(NOT "${details}" STREQUAL "${${DETAILS_VAR}}")
-            # The message has not yet been printed.
-            message(STATUS "${msg}")
-
-            # Save the find details in the cache to avoid printing the same
-            # message again.
-            set("${DETAILS_VAR}" "${details}"
-                    CACHE INTERNAL "Details about finding ${pkg}")
-        endif()
-    endif()
-endfunction()

+ 0 - 192
FindSDL.cmake

@@ -1,192 +0,0 @@
-# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
-# file Copyright.txt or https://cmake.org/licensing for details.
-
-#.rst:
-# FindSDL
-# -------
-#
-# Locate SDL library
-#
-# This module defines
-#
-# ::
-#
-#   SDL_LIBRARY, the name of the library to link against
-#   SDL_FOUND, if false, do not try to link to SDL
-#   SDL_INCLUDE_DIR, where to find SDL.h
-#   SDL_VERSION_STRING, human-readable string containing the version of SDL
-#
-#
-#
-# This module responds to the flag:
-#
-# ::
-#
-#   SDL_BUILDING_LIBRARY
-#     If this is defined, then no SDL_main will be linked in because
-#     only applications need main().
-#     Otherwise, it is assumed you are building an application and this
-#     module will attempt to locate and set the proper link flags
-#     as part of the returned SDL_LIBRARY variable.
-#
-#
-#
-# Don't forget to include SDLmain.h and SDLmain.m your project for the
-# OS X framework based version.  (Other versions link to -lSDLmain which
-# this module will try to find on your behalf.) Also for OS X, this
-# module will automatically add the -framework Cocoa on your behalf.
-#
-#
-#
-# Additional Note: If you see an empty SDL_LIBRARY_TEMP in your
-# configuration and no SDL_LIBRARY, it means CMake did not find your SDL
-# library (SDL.dll, libsdl.so, SDL.framework, etc).  Set
-# SDL_LIBRARY_TEMP to point to your SDL library, and configure again.
-# Similarly, if you see an empty SDLMAIN_LIBRARY, you should set this
-# value as appropriate.  These values are used to generate the final
-# SDL_LIBRARY variable, but when these values are unset, SDL_LIBRARY
-# does not get created.
-#
-#
-#
-# $SDLDIR is an environment variable that would correspond to the
-# ./configure --prefix=$SDLDIR used in building SDL.  l.e.galup 9-20-02
-#
-# Modified by Eric Wing.  Added code to assist with automated building
-# by using environmental variables and providing a more
-# controlled/consistent search behavior.  Added new modifications to
-# recognize OS X frameworks and additional Unix paths (FreeBSD, etc).
-# Also corrected the header search path to follow "proper" SDL
-# guidelines.  Added a search for SDLmain which is needed by some
-# platforms.  Added a search for threads which is needed by some
-# platforms.  Added needed compile switches for MinGW.
-#
-# On OSX, this will prefer the Framework version (if found) over others.
-# People will have to manually change the cache values of SDL_LIBRARY to
-# override this selection or set the CMake environment
-# CMAKE_INCLUDE_PATH to modify the search paths.
-#
-# Note that the header path has changed from SDL/SDL.h to just SDL.h
-# This needed to change because "proper" SDL convention is #include
-# "SDL.h", not <SDL/SDL.h>.  This is done for portability reasons
-# because not all systems place things in SDL/ (see FreeBSD).
-
-find_path(SDL_INCLUDE_DIR SDL.h
-        HINTS
-        ENV SDLDIR
-        PATH_SUFFIXES SDL SDL12 SDL11
-        # path suffixes to search inside ENV{SDLDIR}
-        include/SDL include/SDL12 include/SDL11 include
-        )
-
-if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-    set(VC_LIB_PATH_SUFFIX lib/x64)
-else()
-    set(VC_LIB_PATH_SUFFIX lib/x86)
-endif()
-
-# SDL-1.1 is the name used by FreeBSD ports...
-# don't confuse it for the version number.
-find_library(SDL_LIBRARY_TEMP
-        NAMES SDL SDL-1.1
-        HINTS
-        ENV SDLDIR
-        PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-        )
-
-# Hide this cache variable from the user, it's an internal implementation
-# detail. The documented library variable for the user is SDL_LIBRARY
-# which is derived from SDL_LIBRARY_TEMP further below.
-set_property(CACHE SDL_LIBRARY_TEMP PROPERTY TYPE INTERNAL)
-
-if(NOT SDL_BUILDING_LIBRARY)
-    if(NOT SDL_INCLUDE_DIR MATCHES ".framework")
-        # Non-OS X framework versions expect you to also dynamically link to
-        # SDLmain. This is mainly for Windows and OS X. Other (Unix) platforms
-        # seem to provide SDLmain for compatibility even though they don't
-        # necessarily need it.
-        find_library(SDLMAIN_LIBRARY
-                NAMES SDLmain SDLmain-1.1
-                HINTS
-                ENV SDLDIR
-                PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
-                PATHS
-                /sw
-                /opt/local
-                /opt/csw
-                /opt
-                )
-    endif()
-endif()
-
-# SDL may require threads on your system.
-# The Apple build may not need an explicit flag because one of the
-# frameworks may already provide it.
-# But for non-OSX systems, I will use the CMake Threads package.
-if(NOT APPLE)
-    find_package(Threads)
-endif()
-
-# MinGW needs an additional link flag, -mwindows
-# It's total link flags should look like -lmingw32 -lSDLmain -lSDL -mwindows
-if(MINGW)
-    set(MINGW32_LIBRARY mingw32 "-mwindows" CACHE STRING "link flags for MinGW")
-endif()
-
-if(SDL_LIBRARY_TEMP)
-    # For SDLmain
-    if(SDLMAIN_LIBRARY AND NOT SDL_BUILDING_LIBRARY)
-        list(FIND SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" _SDL_MAIN_INDEX)
-        if(_SDL_MAIN_INDEX EQUAL -1)
-            set(SDL_LIBRARY_TEMP "${SDLMAIN_LIBRARY}" ${SDL_LIBRARY_TEMP})
-        endif()
-        unset(_SDL_MAIN_INDEX)
-    endif()
-
-    # For OS X, SDL uses Cocoa as a backend so it must link to Cocoa.
-    # CMake doesn't display the -framework Cocoa string in the UI even
-    # though it actually is there if I modify a pre-used variable.
-    # I think it has something to do with the CACHE STRING.
-    # So I use a temporary variable until the end so I can set the
-    # "real" variable in one-shot.
-    if(APPLE)
-        set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} "-framework Cocoa")
-    endif()
-
-    # For threads, as mentioned Apple doesn't need this.
-    # In fact, there seems to be a problem if I used the Threads package
-    # and try using this line, so I'm just skipping it entirely for OS X.
-    if(NOT APPLE)
-        set(SDL_LIBRARY_TEMP ${SDL_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
-    endif()
-
-    # For MinGW library
-    if(MINGW)
-        set(SDL_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL_LIBRARY_TEMP})
-    endif()
-
-    # Set the final string here so the GUI reflects the final state.
-    set(SDL_LIBRARY ${SDL_LIBRARY_TEMP} CACHE STRING "Where the SDL Library can be found")
-endif()
-
-if(SDL_INCLUDE_DIR AND EXISTS "${SDL_INCLUDE_DIR}/SDL_version.h")
-    file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+[0-9]+$")
-    file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL_MINOR_VERSION[ \t]+[0-9]+$")
-    file(STRINGS "${SDL_INCLUDE_DIR}/SDL_version.h" SDL_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL_PATCHLEVEL[ \t]+[0-9]+$")
-    string(REGEX REPLACE "^#define[ \t]+SDL_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MAJOR "${SDL_VERSION_MAJOR_LINE}")
-    string(REGEX REPLACE "^#define[ \t]+SDL_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL_VERSION_MINOR "${SDL_VERSION_MINOR_LINE}")
-    string(REGEX REPLACE "^#define[ \t]+SDL_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL_VERSION_PATCH "${SDL_VERSION_PATCH_LINE}")
-    set(SDL_VERSION_STRING ${SDL_VERSION_MAJOR}.${SDL_VERSION_MINOR}.${SDL_VERSION_PATCH})
-    unset(SDL_VERSION_MAJOR_LINE)
-    unset(SDL_VERSION_MINOR_LINE)
-    unset(SDL_VERSION_PATCH_LINE)
-    unset(SDL_VERSION_MAJOR)
-    unset(SDL_VERSION_MINOR)
-    unset(SDL_VERSION_PATCH)
-endif()
-
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL
-        REQUIRED_VARS SDL_LIBRARY SDL_INCLUDE_DIR
-        VERSION_VAR SDL_VERSION_STRING)

+ 0 - 73
FindSDL_gfx.cmake

@@ -1,73 +0,0 @@
-# Locate SDL_gfx library
-# This module defines
-# SDLGFX_LIBRARY, the name of the library to link against
-# SDLGFX_FOUND, if false, do not try to link to SDL
-# SDLGFX_INCLUDE_DIR, where to find SDL/SDL.h
-#
-# $SDLDIR is an environment variable that would
-# correspond to the ./configure --prefix=$SDLDIR
-# used in building SDL.
-#
-# Created by David Demelier. This was influenced by the FindSDL_mixer.cmake 
-
-#=============================================================================
-# Copyright 2005-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-FIND_PATH(SDLGFX_INCLUDE_DIR SDL_gfxPrimitives.h
-  HINTS
-  $ENV{SDLGFXDIR}
-  $ENV{SDLDIR}
-  PATH_SUFFIXES include
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /usr/local/include/SDL
-  /usr/include/SDL
-  /usr/local/include/SDL12
-  /usr/local/include/SDL11 # FreeBSD ports
-  /usr/include/SDL12
-  /usr/include/SDL11
-  /usr/local/include
-  /usr/include
-  /sw/include/SDL # Fink
-  /sw/include
-  /opt/local/include/SDL # DarwinPorts
-  /opt/local/include
-  /opt/csw/include/SDL # Blastwave
-  /opt/csw/include 
-  /opt/include/SDL
-  /opt/include
-)
-
-FIND_LIBRARY(SDLGFX_LIBRARY 
-  NAMES SDL_gfx
-  HINTS
-  $ENV{SDLGFXDIR}
-  $ENV{SDLDIR}
-  PATH_SUFFIXES lib64 lib
-  PATHS
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /usr/local
-  /usr
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
-)
-
-SET(SDLGFX_FOUND "NO")
-IF(SDLGFX_LIBRARY AND SDLGFX_INCLUDE_DIR)
-  SET(SDLGFX_FOUND "YES")
-ENDIF(SDLGFX_LIBRARY AND SDLGFX_INCLUDE_DIR)
-

+ 18 - 9
README.md

@@ -29,16 +29,25 @@ My own website where you can find more about this game, like executables (french
 
 ## Installation
 
-### To build
+### Ubuntu
 
-#### Ubuntu
-Execute the following commands to install SDL and SDL GFX :
-`sudo apt install libsdl1.2-dev`
-`sudo apt install libsdl-gfx1.2-dev`
+#### Build
+
+You need `make` and `SDL1` and `SDL_gfx` to build this project.
+
+Example on Ubuntu :
+```sh
+$ sudo apt install make g++ libsdl-dev libsdl-gfx1.2-dev
+$ make
+```
 
-### To play
+To execute :
+```sh
+$ make exec
+```
+
+#### To play
 
-#### Ubuntu
 Execute the following commands to install SDL and SDL GFX :
-`sudo apt install libsdl1.2debian`
-`sudo apt install libsdl-gfx1.2-5`
+
+`sudo apt install libsdl1.2debian libsdl-gfx1.2-5`

+ 26 - 0
makefile

@@ -0,0 +1,26 @@
+CXX=g++
+CXXFLAGS=
+LDFLAGS=-lSDL -lSDL_gfx
+INC=
+LIB=
+
+EXEC=AsciiSpaceDestroyer
+SRC=$(shell find . -name '*.cpp') 
+OBJ=$(SRC:.cpp=.o)
+
+$(EXEC): $(OBJ)
+	@mkdir -p bin
+	$(CXX) -o bin/$@ $^ $(LDFLAGS) $(LIB)
+
+#TODO add .h in case of global variables
+%.o : %.cpp 
+	$(CXX) -o $@ -c $< $(CXXFLAGS) $(INC)
+	
+clean:
+	rm -rf $(OBJ)
+
+distclean: clean
+	rm -rf $(EXEC)
+
+exec: $(EXEC)
+	./bin/$(EXEC)

Ally.cpp → src/Ally.cpp


Ally.h → src/Ally.h


+ 145 - 145
Control/Input.cpp

@@ -1,66 +1,66 @@
-#include "Input.h"
-
-
-// Constructeur et Destructeur
+#include "Input.h"
+
+
+// Constructeur et Destructeur
 Input::Input()
 : m_x(0), m_y(0), m_xRel(0), m_yRel(0),
 m_terminer(false), m_relativeMouse(false), m_windowHalfHeight(0), m_windowHalfWidth(0)
-{
-    // Initialisation du tableau m_touchesHeld[]
-    for(int i(0); i < SDLK_LAST; i++)
+{
+    // Initialisation du tableau m_touchesHeld[]
+    for(int i(0); i < SDLK_LAST; i++)
         m_touchesHeld[i] = false;
-    std::cout << "Il y a "<<SDLK_LAST<<" touches sur le clavier."<<std::endl;
-
-    // Initialisation du tableau m_boutonsSourisHeld[]
-    for(int i(0); i < 8; i++)
-        m_boutonsSourisHeld[i] = false;
-}
-
-
-Input::~Input()
-{}
-
-
-// Méthodes
-void Input::updateEvenements()
-{
-    // Pour éviter des mouvements fictifs de la souris, on réinitialise les coordonnées relatives
-    m_xRel = 0;
+    std::cout << "Il y a "<<SDLK_LAST<<" touches sur le clavier."<<std::endl;
+
+    // Initialisation du tableau m_boutonsSourisHeld[]
+    for(int i(0); i < 8; i++)
+        m_boutonsSourisHeld[i] = false;
+}
+
+
+Input::~Input()
+{}
+
+
+// Méthodes
+void Input::updateEvenements()
+{
+    // Pour éviter des mouvements fictifs de la souris, on réinitialise les coordonnées relatives
+    m_xRel = 0;
     m_yRel = 0;
 
     // Les touches qui viennent d'être appuyées ne le sont plus
     m_touchesInstant.clear();
-    m_boutonsSourisInstant.clear();
-
-    // Boucle d'évènements
-    while(SDL_PollEvent(&m_evenements))
-    {
-        // Switch sur le type d'évènement
-        switch(m_evenements.type)
-        {
-            // Cas d'une touche enfoncée
-            case SDL_KEYDOWN:
+    m_boutonsSourisInstant.clear();
+
+    // Boucle d'évènements
+    while(SDL_PollEvent(&m_evenements))
+    {
+        // Switch sur le type d'évènement
+        switch(m_evenements.type)
+        {
+            // Cas d'une touche enfoncée
+            case SDL_KEYDOWN:
                 m_touchesHeld[m_evenements.key.keysym.sym] = true;
-                m_touchesInstant.push_back( m_evenements.key.keysym.sym );
-            break;
-
-            // Cas d'une touche relâchée
-            case SDL_KEYUP:
-                m_touchesHeld[m_evenements.key.keysym.sym] = false;
-            break;
-
-            // Cas de pression sur un bouton de la souris
-            case SDL_MOUSEBUTTONDOWN:
+                m_touchesInstant.push_back( m_evenements.key.keysym.sym );
+            break;
+
+            // Cas d'une touche relâchée
+            case SDL_KEYUP:
+                m_touchesHeld[m_evenements.key.keysym.sym] = false;
+            break;
+
+            // Cas de pression sur un bouton de la souris
+            case SDL_MOUSEBUTTONDOWN:
                 m_boutonsSourisHeld[m_evenements.button.button] = true;
-                m_boutonsSourisInstant.push_back( m_evenements.button.button );
-            break;
-
-            // Cas du relâchement d'un bouton de la souris
-            case SDL_MOUSEBUTTONUP:
-                m_boutonsSourisHeld[m_evenements.button.button] = false;
-            break;
-
-            // Cas d'un mouvement de souris
+                m_boutonsSourisInstant.push_back( m_evenements.button.button );
+            break;
+
+            // Cas du relâchement d'un bouton de la souris
+            case SDL_MOUSEBUTTONUP:
+                m_boutonsSourisHeld[m_evenements.button.button] = false;
+            break;
+
+            // Cas d'un mouvement de souris
             case SDL_MOUSEMOTION:
                 if (m_relativeMouse)
                 {
@@ -73,115 +73,115 @@ void Input::updateEvenements()
                     m_y = m_evenements.motion.y;
                     m_xRel = m_evenements.motion.xrel;
                     m_yRel = m_evenements.motion.yrel;
-                }
-
-            break;
-
+                }
+
+            break;
+
             // Cas de la fermeture de la fenêtre
             case SDL_QUIT:
                 m_terminer = true;
-            break;
-
-            // Les autres ne nous interessent pas : on évite de faire râler g++
-            default:
-            break;
-        }
+            break;
+
+            // Les autres ne nous interessent pas : on évite de faire râler g++
+            default:
+            break;
+        }
     }
 
     // Pour éviter que la souris se barre en mode relative, on la "warp"
     if (m_relativeMouse)
-         SDL_WarpMouse(m_windowHalfWidth, m_windowHalfHeight);
-}
-
-
-bool Input::terminer() const
-{
-    return m_terminer;
-}
-
-
-void Input::afficherPointeur(bool reponse) const
-{
-    if(reponse)
-        SDL_ShowCursor(SDL_ENABLE);
-
-    else
-        SDL_ShowCursor(SDL_DISABLE);
-}
-
-
-void Input::capturerPointeur(bool reponse)
-{
-    m_relativeMouse = reponse;
-}
-
-
-
-// Getters
-
-bool Input::getToucheHeld(const int touche) const
-{
-    return m_touchesHeld[touche];
-}
-
-
-bool Input::getBoutonSourisHeld(const Uint8 bouton) const
-{
-    return m_boutonsSourisHeld[bouton];
-}
-
-bool Input::getToucheInstant(const int touche) const
-{
+         SDL_WarpMouse(m_windowHalfWidth, m_windowHalfHeight);
+}
+
+
+bool Input::terminer() const
+{
+    return m_terminer;
+}
+
+
+void Input::afficherPointeur(bool reponse) const
+{
+    if(reponse)
+        SDL_ShowCursor(SDL_ENABLE);
+
+    else
+        SDL_ShowCursor(SDL_DISABLE);
+}
+
+
+void Input::capturerPointeur(bool reponse)
+{
+    m_relativeMouse = reponse;
+}
+
+
+
+// Getters
+
+bool Input::getToucheHeld(const int touche) const
+{
+    return m_touchesHeld[touche];
+}
+
+
+bool Input::getBoutonSourisHeld(const Uint8 bouton) const
+{
+    return m_boutonsSourisHeld[bouton];
+}
+
+bool Input::getToucheInstant(const int touche) const
+{
     for ( unsigned int i(0); i < m_touchesInstant.size(); i++ ){
         if ( m_touchesInstant[i] == touche )
             return true;
     }
 
-    return false;
-}
-
-
-bool Input::getBoutonSourisInstant(const Uint8 bouton) const
-{
+    return false;
+}
+
+
+bool Input::getBoutonSourisInstant(const Uint8 bouton) const
+{
     for ( unsigned int i(0); i < m_boutonsSourisInstant.size(); i++ ){
         if ( m_boutonsSourisInstant[i] == bouton )
             return true;
     }
 
-    return false;
-}
-
-
-bool Input::mouvementSouris() const
-{
-    if(m_xRel == 0 && m_yRel == 0)
-        return false;
-
-    else
-        return true;
-}
-
-
-// Getters concernant la position du curseur
-
-int Input::getX() const
-{
-    return m_x;
-}
-
-int Input::getY() const
-{
-    return m_y;
-}
-
-int Input::getXRel() const
-{
-    return m_xRel;
-}
-
-int Input::getYRel() const
-{
-    return m_yRel;
+    return false;
+}
+
+
+bool Input::mouvementSouris() const
+{
+    if(m_xRel == 0 && m_yRel == 0)
+        return false;
+
+    else
+        return true;
+}
+
+
+// Getters concernant la position du curseur
+
+int Input::getX() const
+{
+    return m_x;
+}
+
+int Input::getY() const
+{
+    return m_y;
+}
+
+int Input::getXRel() const
+{
+    return m_xRel;
+}
+
+int Input::getYRel() const
+{
+    return m_yRel;
 }
 
 void Input::placerPtr(SDL_Surface* activWindow)

+ 66 - 66
Control/Input.h

@@ -1,66 +1,66 @@
-#ifndef DEF_INPUT
-#define DEF_INPUT
-
-///Jovian
-///Adaptation pour InputAndJoy
-
-// Include
-#include <iostream>
-#include <SDL.h>
-#include <vector>
-
-
-// Classe
-class Input
-{
-    public:
-
-    Input();
-    virtual ~Input();
-
-    virtual void updateEvenements();
-
-    bool terminer() const;
-    void afficherPointeur(bool reponse) const;
-    void capturerPointeur(bool reponse);
-
-    bool getToucheHeld(const int touche) const;
-    bool getBoutonSourisHeld(const Uint8 bouton) const;
-    bool getToucheInstant(const int touche) const;
-    bool getBoutonSourisInstant(const Uint8 bouton) const;
-    bool mouvementSouris() const;
-
-    int getX() const;
-    int getY() const;
-
-    int getXRel() const;
-    int getYRel() const;
-
-    void placerPtr(SDL_Surface* activWindow);
-
-    int getWinHalfH();
-    int getWinHalfW();
-
-
-    protected:
-
-    SDL_Event m_evenements;
-    bool m_touchesHeld[SDLK_LAST];
-    std::vector<int> m_touchesInstant;
-    bool m_boutonsSourisHeld[8];
-    std::vector<int> m_boutonsSourisInstant;
-
-    int m_x;
-    int m_y;
-    int m_xRel;
-    int m_yRel;
-
-    bool m_terminer;
-    bool m_relativeMouse;
-
-    int m_windowHalfHeight;
-    int m_windowHalfWidth;
-};
-
-#endif
-
+#ifndef DEF_INPUT
+#define DEF_INPUT
+
+///Jovian
+///Adaptation pour InputAndJoy
+
+// Include
+#include <iostream>
+#include <SDL/SDL.h>
+#include <vector>
+
+
+// Classe
+class Input
+{
+    public:
+
+    Input();
+    virtual ~Input();
+
+    virtual void updateEvenements();
+
+    bool terminer() const;
+    void afficherPointeur(bool reponse) const;
+    void capturerPointeur(bool reponse);
+
+    bool getToucheHeld(const int touche) const;
+    bool getBoutonSourisHeld(const Uint8 bouton) const;
+    bool getToucheInstant(const int touche) const;
+    bool getBoutonSourisInstant(const Uint8 bouton) const;
+    bool mouvementSouris() const;
+
+    int getX() const;
+    int getY() const;
+
+    int getXRel() const;
+    int getYRel() const;
+
+    void placerPtr(SDL_Surface* activWindow);
+
+    int getWinHalfH();
+    int getWinHalfW();
+
+
+    protected:
+
+    SDL_Event m_evenements;
+    bool m_touchesHeld[SDLK_LAST];
+    std::vector<int> m_touchesInstant;
+    bool m_boutonsSourisHeld[8];
+    std::vector<int> m_boutonsSourisInstant;
+
+    int m_x;
+    int m_y;
+    int m_xRel;
+    int m_yRel;
+
+    bool m_terminer;
+    bool m_relativeMouse;
+
+    int m_windowHalfHeight;
+    int m_windowHalfWidth;
+};
+
+#endif
+

+ 44 - 44
Control/InputAndJoy.cpp

@@ -31,7 +31,7 @@ InputAndJoy::InputAndJoy()
         }
     }
 }
-
+
 InputAndJoy::~InputAndJoy()
 {
     if (m_manette != 0x0) SDL_JoystickClose(m_manette);
@@ -39,44 +39,44 @@ InputAndJoy::~InputAndJoy()
 
 void InputAndJoy::updateEvenements()
 {
-    // Pour éviter des mouvements fictifs de la souris, on réinitialise les coordonnées relatives
-    m_xRel = 0;
+    // Pour éviter des mouvements fictifs de la souris, on réinitialise les coordonnées relatives
+    m_xRel = 0;
     m_yRel = 0;
 
     // Les touches qui viennent d'être appuyées ne le sont plus
     m_touchesInstant.clear();
-    m_boutonsSourisInstant.clear();
-
-    // Boucle d'évènements
-    while(SDL_PollEvent(&m_evenements))
-    {
-        // Switch sur le type d'évènement
-        switch(m_evenements.type)
+    m_boutonsSourisInstant.clear();
+
+    // Boucle d'évènements
+    while(SDL_PollEvent(&m_evenements))
+    {
+        // Switch sur le type d'évènement
+        switch(m_evenements.type)
         {
-        /// Evenements clavier et souris
-            // Cas d'une touche enfoncée
-            case SDL_KEYDOWN:
+        /// Evenements clavier et souris
+            // Cas d'une touche enfoncée
+            case SDL_KEYDOWN:
                 m_touchesInstant[m_evenements.key.keysym.sym] = true;
-                m_touchesInstant.push_back( m_evenements.key.keysym.sym );
-            break;
-
-            // Cas d'une touche relâchée
-            case SDL_KEYUP:
-                m_touchesInstant[m_evenements.key.keysym.sym] = false;
-            break;
-
-            // Cas de pression sur un bouton de la souris
-            case SDL_MOUSEBUTTONDOWN:
+                m_touchesInstant.push_back( m_evenements.key.keysym.sym );
+            break;
+
+            // Cas d'une touche relâchée
+            case SDL_KEYUP:
+                m_touchesInstant[m_evenements.key.keysym.sym] = false;
+            break;
+
+            // Cas de pression sur un bouton de la souris
+            case SDL_MOUSEBUTTONDOWN:
                 m_boutonsSourisHeld[m_evenements.button.button] = true;
-                m_boutonsSourisInstant.push_back( m_evenements.button.button );
-            break;
-
-            // Cas du relâchement d'un bouton de la souris
-            case SDL_MOUSEBUTTONUP:
-                m_boutonsSourisHeld[m_evenements.button.button] = false;
-            break;
-
-            // Cas d'un mouvement de souris
+                m_boutonsSourisInstant.push_back( m_evenements.button.button );
+            break;
+
+            // Cas du relâchement d'un bouton de la souris
+            case SDL_MOUSEBUTTONUP:
+                m_boutonsSourisHeld[m_evenements.button.button] = false;
+            break;
+
+            // Cas d'un mouvement de souris
             case SDL_MOUSEMOTION:
                 if (m_relativeMouse)
                 {
@@ -89,11 +89,11 @@ void InputAndJoy::updateEvenements()
                     m_y = m_evenements.motion.y;
                     m_xRel = m_evenements.motion.xrel;
                     m_yRel = m_evenements.motion.yrel;
-                }
-
-            break;
-
-            // Cas de la fermeture de la fenêtre
+                }
+
+            break;
+
+            // Cas de la fermeture de la fenêtre
             case SDL_QUIT:
                 m_terminer = true;
             break;
@@ -110,18 +110,18 @@ void InputAndJoy::updateEvenements()
                 break;
             case SDL_JOYBUTTONUP:
                     m_boutonValue[m_evenements.jbutton.button] = false;
-                break;
-
-            default:
-            break;
+                break;
+
+            default:
+            break;
         }
     }
 
     // Pour éviter que la souris se barre en mode relative, on la "warp"
     if (m_relativeMouse)
          SDL_WarpMouse(m_windowHalfWidth, m_windowHalfHeight);
-}
-
+}
+
 int InputAndJoy::getAxeValue(const Uint8 axeID) const
 {
     if (axeID < m_nbAxes)
@@ -130,7 +130,7 @@ int InputAndJoy::getAxeValue(const Uint8 axeID) const
         std::cout << "Axe numéro " << axeID << " non-éxistant." << std::endl;
     return -1;
 }
-
+
 bool InputAndJoy::getBoutonPad(const Uint8 bouton) const
 {
     if (bouton<m_nbBoutons)

+ 23 - 23
Control/InputAndJoy.h

@@ -1,37 +1,37 @@
-#ifndef INPUTANDJOY_H_INCLUDED
+#ifndef INPUTANDJOY_H_INCLUDED
 #define INPUTANDJOY_H_INCLUDED
 
 
 ///Jovian
-///Adaptation pour InputAndJoy
-
+///Adaptation pour InputAndJoy
+
 // Include
 #include <vector>
 #include "Input.h"
 
 //Enum
 #define CLAVIER_SOURIS 1
-#define MANETTE 2
-
-// Classe
-class InputAndJoy : public Input
-{
-    public:
-
-    InputAndJoy();
+#define MANETTE 2
+
+// Classe
+class InputAndJoy : public Input
+{
+    public:
+
+    InputAndJoy();
     virtual ~InputAndJoy();
 
-    virtual void updateEvenements();
-
-    int getAxeValue(const Uint8 axeID) const;
+    virtual void updateEvenements();
+
+    int getAxeValue(const Uint8 axeID) const;
     bool getBoutonPad(const Uint8 bouton) const;
 
     void setMainControleur(int type);
-    int getMainCtrl() const;
-
-
-    private:
-
+    int getMainCtrl() const;
+
+
+    private:
+
     SDL_Joystick* m_manette;
     int m_nbAxes;
     int m_nbBoutons;
@@ -39,7 +39,7 @@ class InputAndJoy : public Input
     int const m_seuil;
 
     std::vector<int> m_axeValue;
-    std::vector<bool> m_boutonValue;
-};
-
-#endif // INPUTANDJOY_H_INCLUDED
+    std::vector<bool> m_boutonValue;
+};
+
+#endif // INPUTANDJOY_H_INCLUDED

Foe.cpp → src/Foe.cpp


Foe.h → src/Foe.h


Game.cpp → src/Game.cpp


+ 1 - 1
Game.h

@@ -7,7 +7,7 @@
 #include <ctime>
 
 // SDL
-#include <SDL.h>
+#include <SDL/SDL.h>
 #undef main
 
 #include <SDL/SDL_gfxPrimitives.h>

HitManager.cpp → src/HitManager.cpp


+ 1 - 1
HitManager.h

@@ -8,7 +8,7 @@
 #include <vector>
 
 // SDL
-#include <SDL.h>
+#include <SDL/SDL.h>
 #undef main
 
 #include <SDL/SDL_gfxPrimitives.h>

Score.cpp → src/Score.cpp


Score.h → src/Score.h


Shot.cpp → src/Shot.cpp


+ 1 - 1
Shot.h

@@ -5,7 +5,7 @@
 #include <cmath>
 
 // SDL
-#include <SDL.h>
+#include <SDL/SDL.h>
 #undef main
 
 #include <SDL/SDL_gfxPrimitives.h>

Shot/Brexit.cpp → src/Shot/Brexit.cpp


Shot/Brexit.h → src/Shot/Brexit.h


Shot/Cutter.cpp → src/Shot/Cutter.cpp


Shot/Cutter.h → src/Shot/Cutter.h


Shot/Disper.cpp → src/Shot/Disper.cpp


Shot/Disper.h → src/Shot/Disper.h


Shot/Gun.cpp → src/Shot/Gun.cpp


Shot/Gun.h → src/Shot/Gun.h


Shot/Hecto.cpp → src/Shot/Hecto.cpp


Shot/Hecto.h → src/Shot/Hecto.h


Shot/Missile.cpp → src/Shot/Missile.cpp


Shot/Missile.h → src/Shot/Missile.h


Shot/Part.cpp → src/Shot/Part.cpp


Shot/Part.h → src/Shot/Part.h


Shot/Photo.cpp → src/Shot/Photo.cpp


Shot/Photo.h → src/Shot/Photo.h


Shot/Sniper.cpp → src/Shot/Sniper.cpp


Shot/Sniper.h → src/Shot/Sniper.h


SpaceShip.cpp → src/SpaceShip.cpp


SpaceShip.h → src/SpaceShip.h


WaveManager.cpp → src/WaveManager.cpp


WaveManager.h → src/WaveManager.h


main.cpp → src/main.cpp