diff options
author | jacopograndi <jacopo.grandi@outlook.it> | 2022-01-04 13:35:02 +0100 |
---|---|---|
committer | jacopograndi <jacopo.grandi@outlook.it> | 2022-01-04 13:35:02 +0100 |
commit | bb16c32bde58cba70e4877aa2d3ebd04332eb575 (patch) | |
tree | de3d82cca043c26cbaa64837a3b2c18efc6ddb64 | |
parent | 411d2f6d6a6e5370d33f0f54b2f2de7147a9d977 (diff) |
linux compile and imgs
76 files changed, 11043 insertions, 11043 deletions
diff --git a/CMakeCache.txt b/CMakeCache.txt index efd93d1..9118535 100644 --- a/CMakeCache.txt +++ b/CMakeCache.txt @@ -1,418 +1,418 @@ -# This is the CMakeCache file. -# For build in directory: c:/Users/jaksk/Desktop/dev/_cpp/age -# It was generated by CMake: C:/Program Files/CMake/bin/cmake.exe -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_ADDR2LINE:FILEPATH=C:/MinGW64/bin/addr2line.exe - -//Path to a program. -CMAKE_AR:FILEPATH=C:/MinGW64/bin/ar.exe - -//Choose the type of build, options are: None Debug Release RelWithDebInfo -// MinSizeRel ... -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler -CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW64/bin/g++.exe - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_AR:FILEPATH=C:/MinGW64/bin/gcc-ar.exe - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_CXX_COMPILER_RANLIB:FILEPATH=C:/MinGW64/bin/gcc-ranlib.exe - -//Flags used by the CXX compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the CXX compiler during DEBUG builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the CXX compiler during MINSIZEREL builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the CXX compiler during RELEASE builds. -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the CXX compiler during RELWITHDEBINFO builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Libraries linked by default with all C++ applications. -CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 - -//C compiler -CMAKE_C_COMPILER:FILEPATH=C:/MinGW64/bin/gcc.exe - -//A wrapper around 'ar' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_AR:FILEPATH=C:/MinGW64/bin/gcc-ar.exe - -//A wrapper around 'ranlib' adding the appropriate '--plugin' option -// for the GCC compiler -CMAKE_C_COMPILER_RANLIB:FILEPATH=C:/MinGW64/bin/gcc-ranlib.exe - -//Flags used by the C compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the C compiler during DEBUG builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the C compiler during MINSIZEREL builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the C compiler during RELEASE builds. -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the C compiler during RELWITHDEBINFO builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG - -//Libraries linked by default with all C applications. -CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 - -//Path to a program. -CMAKE_DLLTOOL:FILEPATH=C:/MinGW64/bin/dlltool.exe - -//Flags used by the linker during all build types. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during DEBUG builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during MINSIZEREL builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during RELEASE builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during RELWITHDEBINFO builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Convert GNU import libraries to MS format (requires Visual Studio) -CMAKE_GNUtoMS:BOOL=OFF - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/sdl_test - -//Path to a program. -CMAKE_LINKER:FILEPATH=C:/MinGW64/bin/ld.exe - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW64/bin/mingw32-make.exe - -//Flags used by the linker during the creation of modules during -// all build types. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of modules during -// DEBUG builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of modules during -// MINSIZEREL builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of modules during -// RELEASE builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of modules during -// RELWITHDEBINFO builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=C:/MinGW64/bin/nm.exe - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=C:/MinGW64/bin/objcopy.exe - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=C:/MinGW64/bin/objdump.exe - -//Value Computed by CMake -CMAKE_PROJECT_DESCRIPTION:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_HOMEPAGE_URL:STATIC= - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=sdl_test - -//Value Computed by CMake -CMAKE_PROJECT_VERSION:STATIC=1.0.0 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MAJOR:STATIC=1 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_MINOR:STATIC=0 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_PATCH:STATIC=0 - -//Value Computed by CMake -CMAKE_PROJECT_VERSION_TWEAK:STATIC= - -//Path to a program. -CMAKE_RANLIB:FILEPATH=C:/MinGW64/bin/ranlib.exe - -//RC compiler -CMAKE_RC_COMPILER:FILEPATH=C:/MinGW64/bin/windres.exe - -//Flags for Windows Resource Compiler during all build types. -CMAKE_RC_FLAGS:STRING= - -//Flags for Windows Resource Compiler during DEBUG builds. -CMAKE_RC_FLAGS_DEBUG:STRING= - -//Flags for Windows Resource Compiler during MINSIZEREL builds. -CMAKE_RC_FLAGS_MINSIZEREL:STRING= - -//Flags for Windows Resource Compiler during RELEASE builds. -CMAKE_RC_FLAGS_RELEASE:STRING= - -//Flags for Windows Resource Compiler during RELWITHDEBINFO builds. -CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_READELF:FILEPATH=C:/MinGW64/bin/readelf.exe - -//Flags used by the linker during the creation of shared libraries -// during all build types. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of shared libraries -// during DEBUG builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of shared libraries -// during MINSIZEREL builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELEASE builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of shared libraries -// during RELWITHDEBINFO builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when installing shared libraries, -// but are added when building. -CMAKE_SKIP_INSTALL_RPATH:BOOL=NO - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Flags used by the linker during the creation of static libraries -// during all build types. -CMAKE_STATIC_LINKER_FLAGS:STRING= - -//Flags used by the linker during the creation of static libraries -// during DEBUG builds. -CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during the creation of static libraries -// during MINSIZEREL builds. -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELEASE builds. -CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during the creation of static libraries -// during RELWITHDEBINFO builds. -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_STRIP:FILEPATH=C:/MinGW64/bin/strip.exe - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Value Computed by CMake -sdl_test_BINARY_DIR:STATIC=C:/Users/jaksk/Desktop/dev/_cpp/age - -//Value Computed by CMake -sdl_test_SOURCE_DIR:STATIC=C:/Users/jaksk/Desktop/dev/_cpp/age - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_ADDR2LINE -CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/jaksk/Desktop/dev/_cpp/age -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=18 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake.exe -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cpack.exe -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/CMake/bin/ctest.exe -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR -CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB -CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES -CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_AR -CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB -CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES -CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_DLLTOOL -CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 -//Path to cache edit program executable. -CMAKE_EDIT_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake-gui.exe -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Name of external makefile project generator. -CMAKE_EXTRA_GENERATOR:INTERNAL= -//Name of generator. -CMAKE_GENERATOR:INTERNAL=MinGW Makefiles -//Generator instance identifier. -CMAKE_GENERATOR_INSTANCE:INTERNAL= -//Name of generator platform. -CMAKE_GENERATOR_PLATFORM:INTERNAL= -//Name of generator toolset. -CMAKE_GENERATOR_TOOLSET:INTERNAL= -//Source directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/jaksk/Desktop/dev/_cpp/age -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//Platform information initialized -CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RC_COMPILER -CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_RC_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RC_FLAGS -CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG -CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL -CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE -CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO -CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_READELF -CMAKE_READELF-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=C:/Program Files/CMake/share/cmake-3.18 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH -CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS -CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG -CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL -CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE -CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 - +# This is the CMakeCache file.
+# For build in directory: c:/Users/jaksk/Desktop/dev/_cpp/age
+# It was generated by CMake: C:/Program Files/CMake/bin/cmake.exe
+# You can edit this file to change values found and used by cmake.
+# If you do not want to change any of the values, simply exit the editor.
+# If you do want to change a value, simply edit, save, and exit the editor.
+# The syntax for the file is as follows:
+# KEY:TYPE=VALUE
+# KEY is the name of a variable in the cache.
+# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
+# VALUE is the current value for the KEY.
+
+########################
+# EXTERNAL cache entries
+########################
+
+//Path to a program.
+CMAKE_ADDR2LINE:FILEPATH=C:/MinGW64/bin/addr2line.exe
+
+//Path to a program.
+CMAKE_AR:FILEPATH=C:/MinGW64/bin/ar.exe
+
+//Choose the type of build, options are: None Debug Release RelWithDebInfo
+// MinSizeRel ...
+CMAKE_BUILD_TYPE:STRING=
+
+//Enable/Disable color output during build.
+CMAKE_COLOR_MAKEFILE:BOOL=ON
+
+//CXX compiler
+CMAKE_CXX_COMPILER:FILEPATH=C:/MinGW64/bin/g++.exe
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_AR:FILEPATH=C:/MinGW64/bin/gcc-ar.exe
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_CXX_COMPILER_RANLIB:FILEPATH=C:/MinGW64/bin/gcc-ranlib.exe
+
+//Flags used by the CXX compiler during all build types.
+CMAKE_CXX_FLAGS:STRING=
+
+//Flags used by the CXX compiler during DEBUG builds.
+CMAKE_CXX_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the CXX compiler during MINSIZEREL builds.
+CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the CXX compiler during RELEASE builds.
+CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the CXX compiler during RELWITHDEBINFO builds.
+CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Libraries linked by default with all C++ applications.
+CMAKE_CXX_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
+
+//C compiler
+CMAKE_C_COMPILER:FILEPATH=C:/MinGW64/bin/gcc.exe
+
+//A wrapper around 'ar' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_AR:FILEPATH=C:/MinGW64/bin/gcc-ar.exe
+
+//A wrapper around 'ranlib' adding the appropriate '--plugin' option
+// for the GCC compiler
+CMAKE_C_COMPILER_RANLIB:FILEPATH=C:/MinGW64/bin/gcc-ranlib.exe
+
+//Flags used by the C compiler during all build types.
+CMAKE_C_FLAGS:STRING=
+
+//Flags used by the C compiler during DEBUG builds.
+CMAKE_C_FLAGS_DEBUG:STRING=-g
+
+//Flags used by the C compiler during MINSIZEREL builds.
+CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
+
+//Flags used by the C compiler during RELEASE builds.
+CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
+
+//Flags used by the C compiler during RELWITHDEBINFO builds.
+CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
+
+//Libraries linked by default with all C applications.
+CMAKE_C_STANDARD_LIBRARIES:STRING=-lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
+
+//Path to a program.
+CMAKE_DLLTOOL:FILEPATH=C:/MinGW64/bin/dlltool.exe
+
+//Flags used by the linker during all build types.
+CMAKE_EXE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during DEBUG builds.
+CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during MINSIZEREL builds.
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during RELEASE builds.
+CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during RELWITHDEBINFO builds.
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Convert GNU import libraries to MS format (requires Visual Studio)
+CMAKE_GNUtoMS:BOOL=OFF
+
+//Install path prefix, prepended onto install directories.
+CMAKE_INSTALL_PREFIX:PATH=C:/Program Files (x86)/sdl_test
+
+//Path to a program.
+CMAKE_LINKER:FILEPATH=C:/MinGW64/bin/ld.exe
+
+//Path to a program.
+CMAKE_MAKE_PROGRAM:FILEPATH=C:/MinGW64/bin/mingw32-make.exe
+
+//Flags used by the linker during the creation of modules during
+// all build types.
+CMAKE_MODULE_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of modules during
+// DEBUG builds.
+CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of modules during
+// MINSIZEREL builds.
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELEASE builds.
+CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of modules during
+// RELWITHDEBINFO builds.
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_NM:FILEPATH=C:/MinGW64/bin/nm.exe
+
+//Path to a program.
+CMAKE_OBJCOPY:FILEPATH=C:/MinGW64/bin/objcopy.exe
+
+//Path to a program.
+CMAKE_OBJDUMP:FILEPATH=C:/MinGW64/bin/objdump.exe
+
+//Value Computed by CMake
+CMAKE_PROJECT_DESCRIPTION:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
+
+//Value Computed by CMake
+CMAKE_PROJECT_NAME:STATIC=sdl_test
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION:STATIC=1.0.0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MAJOR:STATIC=1
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_MINOR:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_PATCH:STATIC=0
+
+//Value Computed by CMake
+CMAKE_PROJECT_VERSION_TWEAK:STATIC=
+
+//Path to a program.
+CMAKE_RANLIB:FILEPATH=C:/MinGW64/bin/ranlib.exe
+
+//RC compiler
+CMAKE_RC_COMPILER:FILEPATH=C:/MinGW64/bin/windres.exe
+
+//Flags for Windows Resource Compiler during all build types.
+CMAKE_RC_FLAGS:STRING=
+
+//Flags for Windows Resource Compiler during DEBUG builds.
+CMAKE_RC_FLAGS_DEBUG:STRING=
+
+//Flags for Windows Resource Compiler during MINSIZEREL builds.
+CMAKE_RC_FLAGS_MINSIZEREL:STRING=
+
+//Flags for Windows Resource Compiler during RELEASE builds.
+CMAKE_RC_FLAGS_RELEASE:STRING=
+
+//Flags for Windows Resource Compiler during RELWITHDEBINFO builds.
+CMAKE_RC_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_READELF:FILEPATH=C:/MinGW64/bin/readelf.exe
+
+//Flags used by the linker during the creation of shared libraries
+// during all build types.
+CMAKE_SHARED_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during DEBUG builds.
+CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during MINSIZEREL builds.
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELEASE builds.
+CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of shared libraries
+// during RELWITHDEBINFO builds.
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//If set, runtime paths are not added when installing shared libraries,
+// but are added when building.
+CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
+
+//If set, runtime paths are not added when using shared libraries.
+CMAKE_SKIP_RPATH:BOOL=NO
+
+//Flags used by the linker during the creation of static libraries
+// during all build types.
+CMAKE_STATIC_LINKER_FLAGS:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during DEBUG builds.
+CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during MINSIZEREL builds.
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELEASE builds.
+CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
+
+//Flags used by the linker during the creation of static libraries
+// during RELWITHDEBINFO builds.
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
+
+//Path to a program.
+CMAKE_STRIP:FILEPATH=C:/MinGW64/bin/strip.exe
+
+//If this value is on, makefiles will be generated without the
+// .SILENT directive, and all commands will be echoed to the console
+// during the make. This is useful for debugging only. With Visual
+// Studio IDE projects all commands are done without /nologo.
+CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
+
+//Value Computed by CMake
+sdl_test_BINARY_DIR:STATIC=C:/Users/jaksk/Desktop/dev/_cpp/age
+
+//Value Computed by CMake
+sdl_test_SOURCE_DIR:STATIC=C:/Users/jaksk/Desktop/dev/_cpp/age
+
+
+########################
+# INTERNAL cache entries
+########################
+
+//ADVANCED property for variable: CMAKE_ADDR2LINE
+CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_AR
+CMAKE_AR-ADVANCED:INTERNAL=1
+//This is the directory where this CMakeCache.txt was created
+CMAKE_CACHEFILE_DIR:INTERNAL=c:/Users/jaksk/Desktop/dev/_cpp/age
+//Major version of cmake used to create the current loaded cache
+CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
+//Minor version of cmake used to create the current loaded cache
+CMAKE_CACHE_MINOR_VERSION:INTERNAL=18
+//Patch version of cmake used to create the current loaded cache
+CMAKE_CACHE_PATCH_VERSION:INTERNAL=1
+//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
+CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
+//Path to CMake executable.
+CMAKE_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake.exe
+//Path to cpack program executable.
+CMAKE_CPACK_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cpack.exe
+//Path to ctest program executable.
+CMAKE_CTEST_COMMAND:INTERNAL=C:/Program Files/CMake/bin/ctest.exe
+//ADVANCED property for variable: CMAKE_CXX_COMPILER
+CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR
+CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB
+CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS
+CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
+CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
+CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
+CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
+CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_CXX_STANDARD_LIBRARIES
+CMAKE_CXX_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER
+CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_AR
+CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB
+CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS
+CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
+CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
+CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
+CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
+CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_C_STANDARD_LIBRARIES
+CMAKE_C_STANDARD_LIBRARIES-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_DLLTOOL
+CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
+//Path to cache edit program executable.
+CMAKE_EDIT_COMMAND:INTERNAL=C:/Program Files/CMake/bin/cmake-gui.exe
+//Executable file format
+CMAKE_EXECUTABLE_FORMAT:INTERNAL=Unknown
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
+CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
+CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
+CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
+CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//Name of external makefile project generator.
+CMAKE_EXTRA_GENERATOR:INTERNAL=
+//Name of generator.
+CMAKE_GENERATOR:INTERNAL=MinGW Makefiles
+//Generator instance identifier.
+CMAKE_GENERATOR_INSTANCE:INTERNAL=
+//Name of generator platform.
+CMAKE_GENERATOR_PLATFORM:INTERNAL=
+//Name of generator toolset.
+CMAKE_GENERATOR_TOOLSET:INTERNAL=
+//Source directory with the top level CMakeLists.txt file for this
+// project
+CMAKE_HOME_DIRECTORY:INTERNAL=C:/Users/jaksk/Desktop/dev/_cpp/age
+//ADVANCED property for variable: CMAKE_LINKER
+CMAKE_LINKER-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
+CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
+CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
+CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
+CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
+CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_NM
+CMAKE_NM-ADVANCED:INTERNAL=1
+//number of local generators
+CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJCOPY
+CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_OBJDUMP
+CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
+//Platform information initialized
+CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RANLIB
+CMAKE_RANLIB-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RC_COMPILER
+CMAKE_RC_COMPILER-ADVANCED:INTERNAL=1
+CMAKE_RC_COMPILER_WORKS:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RC_FLAGS
+CMAKE_RC_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RC_FLAGS_DEBUG
+CMAKE_RC_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RC_FLAGS_MINSIZEREL
+CMAKE_RC_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RC_FLAGS_RELEASE
+CMAKE_RC_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_RC_FLAGS_RELWITHDEBINFO
+CMAKE_RC_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_READELF
+CMAKE_READELF-ADVANCED:INTERNAL=1
+//Path to CMake installation.
+CMAKE_ROOT:INTERNAL=C:/Program Files/CMake/share/cmake-3.18
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
+CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
+CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
+CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
+CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
+CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_SKIP_RPATH
+CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
+CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
+CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
+CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
+CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
+CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_STRIP
+CMAKE_STRIP-ADVANCED:INTERNAL=1
+//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
+CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1
+
diff --git a/CMakeFiles/3.18.1/CMakeCCompiler.cmake b/CMakeFiles/3.18.1/CMakeCCompiler.cmake index 85a74b8..14aed34 100644 --- a/CMakeFiles/3.18.1/CMakeCCompiler.cmake +++ b/CMakeFiles/3.18.1/CMakeCCompiler.cmake @@ -1,77 +1,77 @@ -set(CMAKE_C_COMPILER "C:/MinGW64/bin/gcc.exe") -set(CMAKE_C_COMPILER_ARG1 "") -set(CMAKE_C_COMPILER_ID "GNU") -set(CMAKE_C_COMPILER_VERSION "4.8.3") -set(CMAKE_C_COMPILER_VERSION_INTERNAL "") -set(CMAKE_C_COMPILER_WRAPPER "") -set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90") -set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert") -set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") -set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") -set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") - -set(CMAKE_C_PLATFORM_ID "MinGW") -set(CMAKE_C_SIMULATE_ID "") -set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_C_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "C:/MinGW64/bin/ar.exe") -set(CMAKE_C_COMPILER_AR "C:/MinGW64/bin/gcc-ar.exe") -set(CMAKE_RANLIB "C:/MinGW64/bin/ranlib.exe") -set(CMAKE_C_COMPILER_RANLIB "C:/MinGW64/bin/gcc-ranlib.exe") -set(CMAKE_LINKER "C:/MinGW64/bin/ld.exe") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCC 1) -set(CMAKE_C_COMPILER_LOADED 1) -set(CMAKE_C_COMPILER_WORKS TRUE) -set(CMAKE_C_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW 1) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_C_COMPILER_ENV_VAR "CC") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_C_COMPILER_ID_RUN 1) -set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) -set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -set(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -set(CMAKE_C_SIZEOF_DATA_PTR "8") -set(CMAKE_C_COMPILER_ABI "") -set(CMAKE_C_LIBRARY_ARCHITECTURE "") - -if(CMAKE_C_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_C_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -endif() - -if(CMAKE_C_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "C:/MinGW64/include;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include-fixed;C:/MinGW64/x86_64-w64-mingw32/include") -set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "mingw32;gcc;moldname;mingwex;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc;moldname;mingwex") -set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3;C:/MinGW64/lib64/gcc;C:/MinGW64/x86_64-w64-mingw32/lib;C:/MinGW64/lib64") -set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") +set(CMAKE_C_COMPILER "C:/MinGW64/bin/gcc.exe")
+set(CMAKE_C_COMPILER_ARG1 "")
+set(CMAKE_C_COMPILER_ID "GNU")
+set(CMAKE_C_COMPILER_VERSION "4.8.3")
+set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_C_COMPILER_WRAPPER "")
+set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "90")
+set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert")
+set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
+set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
+set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
+
+set(CMAKE_C_PLATFORM_ID "MinGW")
+set(CMAKE_C_SIMULATE_ID "")
+set(CMAKE_C_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_C_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "C:/MinGW64/bin/ar.exe")
+set(CMAKE_C_COMPILER_AR "C:/MinGW64/bin/gcc-ar.exe")
+set(CMAKE_RANLIB "C:/MinGW64/bin/ranlib.exe")
+set(CMAKE_C_COMPILER_RANLIB "C:/MinGW64/bin/gcc-ranlib.exe")
+set(CMAKE_LINKER "C:/MinGW64/bin/ld.exe")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCC 1)
+set(CMAKE_C_COMPILER_LOADED 1)
+set(CMAKE_C_COMPILER_WORKS TRUE)
+set(CMAKE_C_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW 1)
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_C_COMPILER_ENV_VAR "CC")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_C_COMPILER_ID_RUN 1)
+set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
+set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
+set(CMAKE_C_LINKER_PREFERENCE 10)
+
+# Save compiler ABI information.
+set(CMAKE_C_SIZEOF_DATA_PTR "8")
+set(CMAKE_C_COMPILER_ABI "")
+set(CMAKE_C_LIBRARY_ARCHITECTURE "")
+
+if(CMAKE_C_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_C_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
+endif()
+
+if(CMAKE_C_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "")
+endif()
+
+set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "C:/MinGW64/include;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include-fixed;C:/MinGW64/x86_64-w64-mingw32/include")
+set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "mingw32;gcc;moldname;mingwex;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc;moldname;mingwex")
+set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3;C:/MinGW64/lib64/gcc;C:/MinGW64/x86_64-w64-mingw32/lib;C:/MinGW64/lib64")
+set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/CMakeFiles/3.18.1/CMakeCXXCompiler.cmake b/CMakeFiles/3.18.1/CMakeCXXCompiler.cmake index 1104dbf..eee8870 100644 --- a/CMakeFiles/3.18.1/CMakeCXXCompiler.cmake +++ b/CMakeFiles/3.18.1/CMakeCXXCompiler.cmake @@ -1,89 +1,89 @@ -set(CMAKE_CXX_COMPILER "C:/MinGW64/bin/g++.exe") -set(CMAKE_CXX_COMPILER_ARG1 "") -set(CMAKE_CXX_COMPILER_ID "GNU") -set(CMAKE_CXX_COMPILER_VERSION "4.8.3") -set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") -set(CMAKE_CXX_COMPILER_WRAPPER "") -set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98") -set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_template_template_parameters") -set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") -set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") -set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_template_template_parameters") -set(CMAKE_CXX17_COMPILE_FEATURES "") -set(CMAKE_CXX20_COMPILE_FEATURES "") - -set(CMAKE_CXX_PLATFORM_ID "MinGW") -set(CMAKE_CXX_SIMULATE_ID "") -set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") -set(CMAKE_CXX_SIMULATE_VERSION "") - - - - -set(CMAKE_AR "C:/MinGW64/bin/ar.exe") -set(CMAKE_CXX_COMPILER_AR "C:/MinGW64/bin/gcc-ar.exe") -set(CMAKE_RANLIB "C:/MinGW64/bin/ranlib.exe") -set(CMAKE_CXX_COMPILER_RANLIB "C:/MinGW64/bin/gcc-ranlib.exe") -set(CMAKE_LINKER "C:/MinGW64/bin/ld.exe") -set(CMAKE_MT "") -set(CMAKE_COMPILER_IS_GNUCXX 1) -set(CMAKE_CXX_COMPILER_LOADED 1) -set(CMAKE_CXX_COMPILER_WORKS TRUE) -set(CMAKE_CXX_ABI_COMPILED TRUE) -set(CMAKE_COMPILER_IS_MINGW 1) -set(CMAKE_COMPILER_IS_CYGWIN ) -if(CMAKE_COMPILER_IS_CYGWIN) - set(CYGWIN 1) - set(UNIX 1) -endif() - -set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -if(CMAKE_COMPILER_IS_MINGW) - set(MINGW 1) -endif() -set(CMAKE_CXX_COMPILER_ID_RUN 1) -set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) -set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) - -foreach (lang C OBJC OBJCXX) - if (CMAKE_${lang}_COMPILER_ID_RUN) - foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) - list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) - endforeach() - endif() -endforeach() - -set(CMAKE_CXX_LINKER_PREFERENCE 30) -set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -set(CMAKE_CXX_SIZEOF_DATA_PTR "8") -set(CMAKE_CXX_COMPILER_ABI "") -set(CMAKE_CXX_LIBRARY_ARCHITECTURE "") - -if(CMAKE_CXX_SIZEOF_DATA_PTR) - set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -endif() - -if(CMAKE_CXX_COMPILER_ABI) - set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -endif() - -if(CMAKE_CXX_LIBRARY_ARCHITECTURE) - set(CMAKE_LIBRARY_ARCHITECTURE "") -endif() - -set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") -if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) - set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") -endif() - - - - - -set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "C:/MinGW64/include;C:/MinGW64/include/c++/4.8.3;C:/MinGW64/include/c++/4.8.3/x86_64-w64-mingw32;C:/MinGW64/include/c++/4.8.3/backward;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include-fixed;C:/MinGW64/x86_64-w64-mingw32/include") -set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;mingw32;gcc_s;gcc;moldname;mingwex;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc_s;gcc;moldname;mingwex") -set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3;C:/MinGW64/lib64/gcc;C:/MinGW64/x86_64-w64-mingw32/lib;C:/MinGW64/lib64") -set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") +set(CMAKE_CXX_COMPILER "C:/MinGW64/bin/g++.exe")
+set(CMAKE_CXX_COMPILER_ARG1 "")
+set(CMAKE_CXX_COMPILER_ID "GNU")
+set(CMAKE_CXX_COMPILER_VERSION "4.8.3")
+set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
+set(CMAKE_CXX_COMPILER_WRAPPER "")
+set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
+set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_template_template_parameters")
+set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
+set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
+set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_template_template_parameters")
+set(CMAKE_CXX17_COMPILE_FEATURES "")
+set(CMAKE_CXX20_COMPILE_FEATURES "")
+
+set(CMAKE_CXX_PLATFORM_ID "MinGW")
+set(CMAKE_CXX_SIMULATE_ID "")
+set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "")
+set(CMAKE_CXX_SIMULATE_VERSION "")
+
+
+
+
+set(CMAKE_AR "C:/MinGW64/bin/ar.exe")
+set(CMAKE_CXX_COMPILER_AR "C:/MinGW64/bin/gcc-ar.exe")
+set(CMAKE_RANLIB "C:/MinGW64/bin/ranlib.exe")
+set(CMAKE_CXX_COMPILER_RANLIB "C:/MinGW64/bin/gcc-ranlib.exe")
+set(CMAKE_LINKER "C:/MinGW64/bin/ld.exe")
+set(CMAKE_MT "")
+set(CMAKE_COMPILER_IS_GNUCXX 1)
+set(CMAKE_CXX_COMPILER_LOADED 1)
+set(CMAKE_CXX_COMPILER_WORKS TRUE)
+set(CMAKE_CXX_ABI_COMPILED TRUE)
+set(CMAKE_COMPILER_IS_MINGW 1)
+set(CMAKE_COMPILER_IS_CYGWIN )
+if(CMAKE_COMPILER_IS_CYGWIN)
+ set(CYGWIN 1)
+ set(UNIX 1)
+endif()
+
+set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
+
+if(CMAKE_COMPILER_IS_MINGW)
+ set(MINGW 1)
+endif()
+set(CMAKE_CXX_COMPILER_ID_RUN 1)
+set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP)
+set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
+
+foreach (lang C OBJC OBJCXX)
+ if (CMAKE_${lang}_COMPILER_ID_RUN)
+ foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
+ list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
+ endforeach()
+ endif()
+endforeach()
+
+set(CMAKE_CXX_LINKER_PREFERENCE 30)
+set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
+
+# Save compiler ABI information.
+set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
+set(CMAKE_CXX_COMPILER_ABI "")
+set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
+
+if(CMAKE_CXX_SIZEOF_DATA_PTR)
+ set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
+endif()
+
+if(CMAKE_CXX_COMPILER_ABI)
+ set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
+endif()
+
+if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
+ set(CMAKE_LIBRARY_ARCHITECTURE "")
+endif()
+
+set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
+if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
+ set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
+endif()
+
+
+
+
+
+set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "C:/MinGW64/include;C:/MinGW64/include/c++/4.8.3;C:/MinGW64/include/c++/4.8.3/x86_64-w64-mingw32;C:/MinGW64/include/c++/4.8.3/backward;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include;C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3/include-fixed;C:/MinGW64/x86_64-w64-mingw32/include")
+set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;mingw32;gcc_s;gcc;moldname;mingwex;pthread;advapi32;shell32;user32;kernel32;mingw32;gcc_s;gcc;moldname;mingwex")
+set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "C:/MinGW64/lib64/gcc/x86_64-w64-mingw32/4.8.3;C:/MinGW64/lib64/gcc;C:/MinGW64/x86_64-w64-mingw32/lib;C:/MinGW64/lib64")
+set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")
diff --git a/CMakeFiles/3.18.1/CMakeRCCompiler.cmake b/CMakeFiles/3.18.1/CMakeRCCompiler.cmake index 78afd4c..0262968 100644 --- a/CMakeFiles/3.18.1/CMakeRCCompiler.cmake +++ b/CMakeFiles/3.18.1/CMakeRCCompiler.cmake @@ -1,6 +1,6 @@ -set(CMAKE_RC_COMPILER "C:/MinGW64/bin/windres.exe") -set(CMAKE_RC_COMPILER_ARG1 "") -set(CMAKE_RC_COMPILER_LOADED 1) -set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC) -set(CMAKE_RC_OUTPUT_EXTENSION .obj) -set(CMAKE_RC_COMPILER_ENV_VAR "RC") +set(CMAKE_RC_COMPILER "C:/MinGW64/bin/windres.exe")
+set(CMAKE_RC_COMPILER_ARG1 "")
+set(CMAKE_RC_COMPILER_LOADED 1)
+set(CMAKE_RC_SOURCE_FILE_EXTENSIONS rc;RC)
+set(CMAKE_RC_OUTPUT_EXTENSION .obj)
+set(CMAKE_RC_COMPILER_ENV_VAR "RC")
diff --git a/CMakeFiles/3.18.1/CMakeSystem.cmake b/CMakeFiles/3.18.1/CMakeSystem.cmake index 1bcc695..c4c4321 100644 --- a/CMakeFiles/3.18.1/CMakeSystem.cmake +++ b/CMakeFiles/3.18.1/CMakeSystem.cmake @@ -1,15 +1,15 @@ -set(CMAKE_HOST_SYSTEM "Windows-10.0.19041") -set(CMAKE_HOST_SYSTEM_NAME "Windows") -set(CMAKE_HOST_SYSTEM_VERSION "10.0.19041") -set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64") - - - -set(CMAKE_SYSTEM "Windows-10.0.19041") -set(CMAKE_SYSTEM_NAME "Windows") -set(CMAKE_SYSTEM_VERSION "10.0.19041") -set(CMAKE_SYSTEM_PROCESSOR "AMD64") - -set(CMAKE_CROSSCOMPILING "FALSE") - -set(CMAKE_SYSTEM_LOADED 1) +set(CMAKE_HOST_SYSTEM "Windows-10.0.19041")
+set(CMAKE_HOST_SYSTEM_NAME "Windows")
+set(CMAKE_HOST_SYSTEM_VERSION "10.0.19041")
+set(CMAKE_HOST_SYSTEM_PROCESSOR "AMD64")
+
+
+
+set(CMAKE_SYSTEM "Windows-10.0.19041")
+set(CMAKE_SYSTEM_NAME "Windows")
+set(CMAKE_SYSTEM_VERSION "10.0.19041")
+set(CMAKE_SYSTEM_PROCESSOR "AMD64")
+
+set(CMAKE_CROSSCOMPILING "FALSE")
+
+set(CMAKE_SYSTEM_LOADED 1)
diff --git a/CMakeFiles/3.18.1/CompilerIdC/CMakeCCompilerId.c b/CMakeFiles/3.18.1/CompilerIdC/CMakeCCompilerId.c index 6c0aa93..6af6cc3 100644 --- a/CMakeFiles/3.18.1/CompilerIdC/CMakeCCompilerId.c +++ b/CMakeFiles/3.18.1/CompilerIdC/CMakeCCompilerId.c @@ -1,674 +1,674 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif -#if defined(__CLASSIC_C__) -/* cv-qualifiers did not exist in K&R C */ -# define const -# define volatile -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" -# if __SUNPRO_C >= 0x5100 - /* __SUNPRO_C = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) -# endif - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - /* __HP_cc = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - /* __DECC_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) - -#elif defined(__IBMC__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 -# define COMPILER_ID "XL" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMC__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__TINYC__) -# define COMPILER_ID "TinyCC" - -#elif defined(__BCC__) -# define COMPILER_ID "Bruce" - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - -#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) -# define COMPILER_ID "SDCC" -# if defined(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) -# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) -# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) -# else - /* SDCC = VRP */ -# define COMPILER_VERSION_MAJOR DEC(SDCC/100) -# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) -# define COMPILER_VERSION_PATCH DEC(SDCC % 10) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXE) || defined(__CRAYXC) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - - -#if !defined(__STDC__) -# if (defined(_MSC_VER) && !defined(__clang__)) \ - || (defined(__ibmxl__) || defined(__IBMC__)) -# define C_DIALECT "90" -# else -# define C_DIALECT -# endif -#elif __STDC_VERSION__ >= 201000L -# define C_DIALECT "11" -#elif __STDC_VERSION__ >= 199901L -# define C_DIALECT "99" -#else -# define C_DIALECT "90" -#endif -const char* info_language_dialect_default = - "INFO" ":" "dialect_default[" C_DIALECT "]"; - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -# if defined(__CLASSIC_C__) -int main(argc, argv) int argc; char *argv[]; -# else -int main(int argc, char* argv[]) -# endif -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXE) || defined(__CRAYXC) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} -#endif +#ifdef __cplusplus
+# error "A C++ compiler has been selected for C."
+#endif
+
+#if defined(__18CXX)
+# define ID_VOID_MAIN
+#endif
+#if defined(__CLASSIC_C__)
+/* cv-qualifiers did not exist in K&R C */
+# define const
+# define volatile
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_C)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_C >= 0x5100
+ /* __SUNPRO_C = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF)
+# endif
+
+#elif defined(__HP_cc)
+# define COMPILER_ID "HP"
+ /* __HP_cc = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100)
+
+#elif defined(__DECC)
+# define COMPILER_ID "Compaq"
+ /* __DECC_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000)
+
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMC__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__TINYC__)
+# define COMPILER_ID "TinyCC"
+
+#elif defined(__BCC__)
+# define COMPILER_ID "Bruce"
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__)
+# define COMPILER_ID "GNU"
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)
+# define COMPILER_ID "SDCC"
+# if defined(__SDCC_VERSION_MAJOR)
+# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)
+# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)
+# else
+ /* SDCC = VRP */
+# define COMPILER_VERSION_MAJOR DEC(SDCC/100)
+# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(SDCC % 10)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+# define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if !defined(__STDC__)
+# if (defined(_MSC_VER) && !defined(__clang__)) \
+ || (defined(__ibmxl__) || defined(__IBMC__))
+# define C_DIALECT "90"
+# else
+# define C_DIALECT
+# endif
+#elif __STDC_VERSION__ >= 201000L
+# define C_DIALECT "11"
+#elif __STDC_VERSION__ >= 199901L
+# define C_DIALECT "99"
+#else
+# define C_DIALECT "90"
+#endif
+const char* info_language_dialect_default =
+ "INFO" ":" "dialect_default[" C_DIALECT "]";
+
+/*--------------------------------------------------------------------------*/
+
+#ifdef ID_VOID_MAIN
+void main() {}
+#else
+# if defined(__CLASSIC_C__)
+int main(argc, argv) int argc; char *argv[];
+# else
+int main(int argc, char* argv[])
+# endif
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+ require += info_arch[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
+#endif
diff --git a/CMakeFiles/3.18.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/CMakeFiles/3.18.1/CompilerIdCXX/CMakeCXXCompilerId.cpp index 37c21ca..17def8c 100644 --- a/CMakeFiles/3.18.1/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ b/CMakeFiles/3.18.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -1,663 +1,663 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - - -/* Version number components: V=Version, R=Revision, P=Patch - Version date components: YYYY=Year, MM=Month, DD=Day */ - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - /* __COMO_VERSION__ = VRR */ -# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) -# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# if defined(__GNUC__) -# define SIMULATE_ID "GNU" -# endif - /* __INTEL_COMPILER = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) -# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) -# if defined(__INTEL_COMPILER_UPDATE) -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) -# else -# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) -# endif -# if defined(__INTEL_COMPILER_BUILD_DATE) - /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ -# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) -# endif -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# if defined(__GNUC__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) -# elif defined(__GNUG__) -# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(__PATHCC__) -# define COMPILER_ID "PathScale" -# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) -# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) -# if defined(__PATHCC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) -# endif - -#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) -# define COMPILER_ID "Embarcadero" -# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) -# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) -# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - /* __BORLANDC__ = 0xVRR */ -# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) -# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) - -#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 -# define COMPILER_ID "Watcom" - /* __WATCOMC__ = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__WATCOMC__) -# define COMPILER_ID "OpenWatcom" - /* __WATCOMC__ = VVRP + 1100 */ -# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) -# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) -# if (__WATCOMC__ % 10) > 0 -# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) -# endif - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" -# if __SUNPRO_CC >= 0x5100 - /* __SUNPRO_CC = 0xVRRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# else - /* __SUNPRO_CC = 0xVRP */ -# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) -# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) -# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) -# endif - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - /* __HP_aCC = VVRRPP */ -# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) -# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) -# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - /* __DECCXX_VER = VVRRTPPPP */ -# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) -# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) -# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) - -#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__ibmxl__) && defined(__clang__) -# define COMPILER_ID "XLClang" -# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) -# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) -# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) -# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) - - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 -# define COMPILER_ID "XL" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 -# define COMPILER_ID "VisualAge" - /* __IBMCPP__ = VRP */ -# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) -# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) -# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) - -#elif defined(__PGI) -# define COMPILER_ID "PGI" -# define COMPILER_VERSION_MAJOR DEC(__PGIC__) -# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) -# if defined(__PGIC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) -# endif - -#elif defined(_CRAYC) -# define COMPILER_ID "Cray" -# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) -# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) - -#elif defined(__TI_COMPILER_VERSION__) -# define COMPILER_ID "TI" - /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ -# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) -# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) -# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) - -#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version) -# define COMPILER_ID "Fujitsu" - -#elif defined(__ghs__) -# define COMPILER_ID "GHS" -/* __GHS_VERSION_NUMBER = VVVVRP */ -# ifdef __GHS_VERSION_NUMBER -# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) -# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) -# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) -# endif - -#elif defined(__SCO_VERSION__) -# define COMPILER_ID "SCO" - -#elif defined(__ARMCC_VERSION) && !defined(__clang__) -# define COMPILER_ID "ARMCC" -#if __ARMCC_VERSION >= 1000000 - /* __ARMCC_VERSION = VRRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#else - /* __ARMCC_VERSION = VRPPPP */ - # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) - # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) - # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) -#endif - - -#elif defined(__clang__) && defined(__apple_build_version__) -# define COMPILER_ID "AppleClang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif -# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) - -#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) -# define COMPILER_ID "ARMClang" - # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) - # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) - # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) -# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) - -#elif defined(__clang__) -# define COMPILER_ID "Clang" -# if defined(_MSC_VER) -# define SIMULATE_ID "MSVC" -# endif -# define COMPILER_VERSION_MAJOR DEC(__clang_major__) -# define COMPILER_VERSION_MINOR DEC(__clang_minor__) -# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) -# if defined(_MSC_VER) - /* _MSC_VER = VVRR */ -# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) -# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) -# endif - -#elif defined(__GNUC__) || defined(__GNUG__) -# define COMPILER_ID "GNU" -# if defined(__GNUC__) -# define COMPILER_VERSION_MAJOR DEC(__GNUC__) -# else -# define COMPILER_VERSION_MAJOR DEC(__GNUG__) -# endif -# if defined(__GNUC_MINOR__) -# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) -# endif -# if defined(__GNUC_PATCHLEVEL__) -# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) -# endif - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - /* _MSC_VER = VVRR */ -# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) -# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) -# if defined(_MSC_FULL_VER) -# if _MSC_VER >= 1400 - /* _MSC_FULL_VER = VVRRPPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) -# else - /* _MSC_FULL_VER = VVRRPPPP */ -# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) -# endif -# endif -# if defined(_MSC_BUILD) -# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) -# endif - -#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -# define COMPILER_ID "ADSP" -#if defined(__VISUALDSPVERSION__) - /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ -# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) -# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) -# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) -#endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# define COMPILER_ID "IAR" -# if defined(__VER__) && defined(__ICCARM__) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) -# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) -# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__)) -# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) -# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) -# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) -# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) -# endif - - -/* These compilers are either not known or too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; -#ifdef SIMULATE_ID -char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; -#endif - -#ifdef __QNXNTO__ -char const* qnxnto = "INFO" ":" "qnxnto[]"; -#endif - -#if defined(__CRAYXE) || defined(__CRAYXC) -char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; -#endif - -#define STRINGIFY_HELPER(X) #X -#define STRINGIFY(X) STRINGIFY_HELPER(X) - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU__) -# define PLATFORM_ID "Haiku" - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#elif defined(__WATCOMC__) -# if defined(__LINUX__) -# define PLATFORM_ID "Linux" - -# elif defined(__DOS__) -# define PLATFORM_ID "DOS" - -# elif defined(__OS2__) -# define PLATFORM_ID "OS2" - -# elif defined(__WINDOWS__) -# define PLATFORM_ID "Windows3x" - -# elif defined(__VXWORKS__) -# define PLATFORM_ID "VxWorks" - -# else /* unknown platform */ -# define PLATFORM_ID -# endif - -#elif defined(__INTEGRITY) -# if defined(INT_178B) -# define PLATFORM_ID "Integrity178" - -# else /* regular Integrity */ -# define PLATFORM_ID "Integrity" -# endif - -#else /* unknown platform */ -# define PLATFORM_ID - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is because - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# elif defined(_M_ARM64) -# define ARCHITECTURE_ID "ARM64" - -# elif defined(_M_ARM) -# if _M_ARM == 4 -# define ARCHITECTURE_ID "ARMV4I" -# elif _M_ARM == 5 -# define ARCHITECTURE_ID "ARMV5I" -# else -# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) -# endif - -# elif defined(_M_MIPS) -# define ARCHITECTURE_ID "MIPS" - -# elif defined(_M_SH) -# define ARCHITECTURE_ID "SHx" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__WATCOMC__) -# if defined(_M_I86) -# define ARCHITECTURE_ID "I86" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) -# if defined(__ICCARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__ICCRX__) -# define ARCHITECTURE_ID "RX" - -# elif defined(__ICCRH850__) -# define ARCHITECTURE_ID "RH850" - -# elif defined(__ICCRL78__) -# define ARCHITECTURE_ID "RL78" - -# elif defined(__ICCRISCV__) -# define ARCHITECTURE_ID "RISCV" - -# elif defined(__ICCAVR__) -# define ARCHITECTURE_ID "AVR" - -# elif defined(__ICC430__) -# define ARCHITECTURE_ID "MSP430" - -# elif defined(__ICCV850__) -# define ARCHITECTURE_ID "V850" - -# elif defined(__ICC8051__) -# define ARCHITECTURE_ID "8051" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#elif defined(__ghs__) -# if defined(__PPC64__) -# define ARCHITECTURE_ID "PPC64" - -# elif defined(__ppc__) -# define ARCHITECTURE_ID "PPC" - -# elif defined(__ARM__) -# define ARCHITECTURE_ID "ARM" - -# elif defined(__x86_64__) -# define ARCHITECTURE_ID "x64" - -# elif defined(__i386__) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif -#else -# define ARCHITECTURE_ID -#endif - -/* Convert integer to decimal digit literals. */ -#define DEC(n) \ - ('0' + (((n) / 10000000)%10)), \ - ('0' + (((n) / 1000000)%10)), \ - ('0' + (((n) / 100000)%10)), \ - ('0' + (((n) / 10000)%10)), \ - ('0' + (((n) / 1000)%10)), \ - ('0' + (((n) / 100)%10)), \ - ('0' + (((n) / 10)%10)), \ - ('0' + ((n) % 10)) - -/* Convert integer to hex digit literals. */ -#define HEX(n) \ - ('0' + ((n)>>28 & 0xF)), \ - ('0' + ((n)>>24 & 0xF)), \ - ('0' + ((n)>>20 & 0xF)), \ - ('0' + ((n)>>16 & 0xF)), \ - ('0' + ((n)>>12 & 0xF)), \ - ('0' + ((n)>>8 & 0xF)), \ - ('0' + ((n)>>4 & 0xF)), \ - ('0' + ((n) & 0xF)) - -/* Construct a string literal encoding the version number components. */ -#ifdef COMPILER_VERSION_MAJOR -char const info_version[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', - COMPILER_VERSION_MAJOR, -# ifdef COMPILER_VERSION_MINOR - '.', COMPILER_VERSION_MINOR, -# ifdef COMPILER_VERSION_PATCH - '.', COMPILER_VERSION_PATCH, -# ifdef COMPILER_VERSION_TWEAK - '.', COMPILER_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct a string literal encoding the internal version number. */ -#ifdef COMPILER_VERSION_INTERNAL -char const info_version_internal[] = { - 'I', 'N', 'F', 'O', ':', - 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', - 'i','n','t','e','r','n','a','l','[', - COMPILER_VERSION_INTERNAL,']','\0'}; -#endif - -/* Construct a string literal encoding the version number components. */ -#ifdef SIMULATE_VERSION_MAJOR -char const info_simulate_version[] = { - 'I', 'N', 'F', 'O', ':', - 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', - SIMULATE_VERSION_MAJOR, -# ifdef SIMULATE_VERSION_MINOR - '.', SIMULATE_VERSION_MINOR, -# ifdef SIMULATE_VERSION_PATCH - '.', SIMULATE_VERSION_PATCH, -# ifdef SIMULATE_VERSION_TWEAK - '.', SIMULATE_VERSION_TWEAK, -# endif -# endif -# endif - ']','\0'}; -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - - -#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L -# if defined(__INTEL_CXX11_MODE__) -# if defined(__cpp_aggregate_nsdmi) -# define CXX_STD 201402L -# else -# define CXX_STD 201103L -# endif -# else -# define CXX_STD 199711L -# endif -#elif defined(_MSC_VER) && defined(_MSVC_LANG) -# define CXX_STD _MSVC_LANG -#else -# define CXX_STD __cplusplus -#endif - -const char* info_language_dialect_default = "INFO" ":" "dialect_default[" -#if CXX_STD > 201703L - "20" -#elif CXX_STD >= 201703L - "17" -#elif CXX_STD >= 201402L - "14" -#elif CXX_STD >= 201103L - "11" -#else - "98" -#endif -"]"; - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; -#ifdef COMPILER_VERSION_MAJOR - require += info_version[argc]; -#endif -#ifdef COMPILER_VERSION_INTERNAL - require += info_version_internal[argc]; -#endif -#ifdef SIMULATE_ID - require += info_simulate[argc]; -#endif -#ifdef SIMULATE_VERSION_MAJOR - require += info_simulate_version[argc]; -#endif -#if defined(__CRAYXE) || defined(__CRAYXC) - require += info_cray[argc]; -#endif - require += info_language_dialect_default[argc]; - (void)argv; - return require; -} +/* This source file must have a .cpp extension so that all C++ compilers
+ recognize the extension without flags. Borland does not know .cxx for
+ example. */
+#ifndef __cplusplus
+# error "A C compiler has been selected for C++."
+#endif
+
+
+/* Version number components: V=Version, R=Revision, P=Patch
+ Version date components: YYYY=Year, MM=Month, DD=Day */
+
+#if defined(__COMO__)
+# define COMPILER_ID "Comeau"
+ /* __COMO_VERSION__ = VRR */
+# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100)
+# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100)
+
+#elif defined(__INTEL_COMPILER) || defined(__ICC)
+# define COMPILER_ID "Intel"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_ID "GNU"
+# endif
+ /* __INTEL_COMPILER = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)
+# if defined(__INTEL_COMPILER_UPDATE)
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)
+# else
+# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10)
+# endif
+# if defined(__INTEL_COMPILER_BUILD_DATE)
+ /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
+# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)
+# endif
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# if defined(__GNUC__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUC__)
+# elif defined(__GNUG__)
+# define SIMULATE_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(__PATHCC__)
+# define COMPILER_ID "PathScale"
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)
+# if defined(__PATHCC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)
+# endif
+
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)
+# define COMPILER_ID "Embarcadero"
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF)
+
+#elif defined(__BORLANDC__)
+# define COMPILER_ID "Borland"
+ /* __BORLANDC__ = 0xVRR */
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)
+
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+# define COMPILER_ID "Watcom"
+ /* __WATCOMC__ = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__WATCOMC__)
+# define COMPILER_ID "OpenWatcom"
+ /* __WATCOMC__ = VVRP + 1100 */
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)
+# if (__WATCOMC__ % 10) > 0
+# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)
+# endif
+
+#elif defined(__SUNPRO_CC)
+# define COMPILER_ID "SunPro"
+# if __SUNPRO_CC >= 0x5100
+ /* __SUNPRO_CC = 0xVRRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# else
+ /* __SUNPRO_CC = 0xVRP */
+# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8)
+# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF)
+# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF)
+# endif
+
+#elif defined(__HP_aCC)
+# define COMPILER_ID "HP"
+ /* __HP_aCC = VVRRPP */
+# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000)
+# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100)
+# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100)
+
+#elif defined(__DECCXX)
+# define COMPILER_ID "Compaq"
+ /* __DECCXX_VER = VVRRTPPPP */
+# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000)
+# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100)
+# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000)
+
+#elif defined(__IBMCPP__) && defined(__COMPILER_VER__)
+# define COMPILER_ID "zOS"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__ibmxl__) && defined(__clang__)
+# define COMPILER_ID "XLClang"
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)
+
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800
+# define COMPILER_ID "XL"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800
+# define COMPILER_ID "VisualAge"
+ /* __IBMCPP__ = VRP */
+# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100)
+# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10)
+
+#elif defined(__PGI)
+# define COMPILER_ID "PGI"
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)
+# if defined(__PGIC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)
+# endif
+
+#elif defined(_CRAYC)
+# define COMPILER_ID "Cray"
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)
+
+#elif defined(__TI_COMPILER_VERSION__)
+# define COMPILER_ID "TI"
+ /* __TI_COMPILER_VERSION__ = VVVRRRPPP */
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000)
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000)
+
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)
+# define COMPILER_ID "Fujitsu"
+
+#elif defined(__ghs__)
+# define COMPILER_ID "GHS"
+/* __GHS_VERSION_NUMBER = VVVVRP */
+# ifdef __GHS_VERSION_NUMBER
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10)
+# endif
+
+#elif defined(__SCO_VERSION__)
+# define COMPILER_ID "SCO"
+
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)
+# define COMPILER_ID "ARMCC"
+#if __ARMCC_VERSION >= 1000000
+ /* __ARMCC_VERSION = VRRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#else
+ /* __ARMCC_VERSION = VRPPPP */
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000)
+#endif
+
+
+#elif defined(__clang__) && defined(__apple_build_version__)
+# define COMPILER_ID "AppleClang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)
+
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)
+# define COMPILER_ID "ARMClang"
+ # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)
+ # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)
+ # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000)
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)
+
+#elif defined(__clang__)
+# define COMPILER_ID "Clang"
+# if defined(_MSC_VER)
+# define SIMULATE_ID "MSVC"
+# endif
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)
+# if defined(_MSC_VER)
+ /* _MSC_VER = VVRR */
+# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)
+# endif
+
+#elif defined(__GNUC__) || defined(__GNUG__)
+# define COMPILER_ID "GNU"
+# if defined(__GNUC__)
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)
+# else
+# define COMPILER_VERSION_MAJOR DEC(__GNUG__)
+# endif
+# if defined(__GNUC_MINOR__)
+# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)
+# endif
+
+#elif defined(_MSC_VER)
+# define COMPILER_ID "MSVC"
+ /* _MSC_VER = VVRR */
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)
+# if defined(_MSC_FULL_VER)
+# if _MSC_VER >= 1400
+ /* _MSC_FULL_VER = VVRRPPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)
+# else
+ /* _MSC_FULL_VER = VVRRPPPP */
+# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)
+# endif
+# endif
+# if defined(_MSC_BUILD)
+# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)
+# endif
+
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)
+# define COMPILER_ID "ADSP"
+#if defined(__VISUALDSPVERSION__)
+ /* __VISUALDSPVERSION__ = 0xVVRRPP00 */
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF)
+#endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# define COMPILER_ID "IAR"
+# if defined(__VER__) && defined(__ICCARM__)
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)
+# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)
+# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))
+# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)
+# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))
+# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)
+# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)
+# endif
+
+
+/* These compilers are either not known or too old to define an
+ identification macro. Try to identify the platform and guess that
+ it is the native compiler. */
+#elif defined(__hpux) || defined(__hpua)
+# define COMPILER_ID "HP"
+
+#else /* unknown compiler */
+# define COMPILER_ID ""
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
+#ifdef SIMULATE_ID
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
+#endif
+
+#ifdef __QNXNTO__
+char const* qnxnto = "INFO" ":" "qnxnto[]";
+#endif
+
+#if defined(__CRAYXE) || defined(__CRAYXC)
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";
+#endif
+
+#define STRINGIFY_HELPER(X) #X
+#define STRINGIFY(X) STRINGIFY_HELPER(X)
+
+/* Identify known platforms by name. */
+#if defined(__linux) || defined(__linux__) || defined(linux)
+# define PLATFORM_ID "Linux"
+
+#elif defined(__CYGWIN__)
+# define PLATFORM_ID "Cygwin"
+
+#elif defined(__MINGW32__)
+# define PLATFORM_ID "MinGW"
+
+#elif defined(__APPLE__)
+# define PLATFORM_ID "Darwin"
+
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+# define PLATFORM_ID "Windows"
+
+#elif defined(__FreeBSD__) || defined(__FreeBSD)
+# define PLATFORM_ID "FreeBSD"
+
+#elif defined(__NetBSD__) || defined(__NetBSD)
+# define PLATFORM_ID "NetBSD"
+
+#elif defined(__OpenBSD__) || defined(__OPENBSD)
+# define PLATFORM_ID "OpenBSD"
+
+#elif defined(__sun) || defined(sun)
+# define PLATFORM_ID "SunOS"
+
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)
+# define PLATFORM_ID "AIX"
+
+#elif defined(__hpux) || defined(__hpux__)
+# define PLATFORM_ID "HP-UX"
+
+#elif defined(__HAIKU__)
+# define PLATFORM_ID "Haiku"
+
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)
+# define PLATFORM_ID "BeOS"
+
+#elif defined(__QNX__) || defined(__QNXNTO__)
+# define PLATFORM_ID "QNX"
+
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)
+# define PLATFORM_ID "Tru64"
+
+#elif defined(__riscos) || defined(__riscos__)
+# define PLATFORM_ID "RISCos"
+
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)
+# define PLATFORM_ID "SINIX"
+
+#elif defined(__UNIX_SV__)
+# define PLATFORM_ID "UNIX_SV"
+
+#elif defined(__bsdos__)
+# define PLATFORM_ID "BSDOS"
+
+#elif defined(_MPRAS) || defined(MPRAS)
+# define PLATFORM_ID "MP-RAS"
+
+#elif defined(__osf) || defined(__osf__)
+# define PLATFORM_ID "OSF1"
+
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)
+# define PLATFORM_ID "SCO_SV"
+
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)
+# define PLATFORM_ID "ULTRIX"
+
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)
+# define PLATFORM_ID "Xenix"
+
+#elif defined(__WATCOMC__)
+# if defined(__LINUX__)
+# define PLATFORM_ID "Linux"
+
+# elif defined(__DOS__)
+# define PLATFORM_ID "DOS"
+
+# elif defined(__OS2__)
+# define PLATFORM_ID "OS2"
+
+# elif defined(__WINDOWS__)
+# define PLATFORM_ID "Windows3x"
+
+# elif defined(__VXWORKS__)
+# define PLATFORM_ID "VxWorks"
+
+# else /* unknown platform */
+# define PLATFORM_ID
+# endif
+
+#elif defined(__INTEGRITY)
+# if defined(INT_178B)
+# define PLATFORM_ID "Integrity178"
+
+# else /* regular Integrity */
+# define PLATFORM_ID "Integrity"
+# endif
+
+#else /* unknown platform */
+# define PLATFORM_ID
+
+#endif
+
+/* For windows compilers MSVC and Intel we can determine
+ the architecture of the compiler being used. This is because
+ the compilers do not have flags that can change the architecture,
+ but rather depend on which compiler is being used
+*/
+#if defined(_WIN32) && defined(_MSC_VER)
+# if defined(_M_IA64)
+# define ARCHITECTURE_ID "IA64"
+
+# elif defined(_M_X64) || defined(_M_AMD64)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# elif defined(_M_ARM64)
+# define ARCHITECTURE_ID "ARM64"
+
+# elif defined(_M_ARM)
+# if _M_ARM == 4
+# define ARCHITECTURE_ID "ARMV4I"
+# elif _M_ARM == 5
+# define ARCHITECTURE_ID "ARMV5I"
+# else
+# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)
+# endif
+
+# elif defined(_M_MIPS)
+# define ARCHITECTURE_ID "MIPS"
+
+# elif defined(_M_SH)
+# define ARCHITECTURE_ID "SHx"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__WATCOMC__)
+# if defined(_M_I86)
+# define ARCHITECTURE_ID "I86"
+
+# elif defined(_M_IX86)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)
+# if defined(__ICCARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__ICCRX__)
+# define ARCHITECTURE_ID "RX"
+
+# elif defined(__ICCRH850__)
+# define ARCHITECTURE_ID "RH850"
+
+# elif defined(__ICCRL78__)
+# define ARCHITECTURE_ID "RL78"
+
+# elif defined(__ICCRISCV__)
+# define ARCHITECTURE_ID "RISCV"
+
+# elif defined(__ICCAVR__)
+# define ARCHITECTURE_ID "AVR"
+
+# elif defined(__ICC430__)
+# define ARCHITECTURE_ID "MSP430"
+
+# elif defined(__ICCV850__)
+# define ARCHITECTURE_ID "V850"
+
+# elif defined(__ICC8051__)
+# define ARCHITECTURE_ID "8051"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+
+#elif defined(__ghs__)
+# if defined(__PPC64__)
+# define ARCHITECTURE_ID "PPC64"
+
+# elif defined(__ppc__)
+# define ARCHITECTURE_ID "PPC"
+
+# elif defined(__ARM__)
+# define ARCHITECTURE_ID "ARM"
+
+# elif defined(__x86_64__)
+# define ARCHITECTURE_ID "x64"
+
+# elif defined(__i386__)
+# define ARCHITECTURE_ID "X86"
+
+# else /* unknown architecture */
+# define ARCHITECTURE_ID ""
+# endif
+#else
+# define ARCHITECTURE_ID
+#endif
+
+/* Convert integer to decimal digit literals. */
+#define DEC(n) \
+ ('0' + (((n) / 10000000)%10)), \
+ ('0' + (((n) / 1000000)%10)), \
+ ('0' + (((n) / 100000)%10)), \
+ ('0' + (((n) / 10000)%10)), \
+ ('0' + (((n) / 1000)%10)), \
+ ('0' + (((n) / 100)%10)), \
+ ('0' + (((n) / 10)%10)), \
+ ('0' + ((n) % 10))
+
+/* Convert integer to hex digit literals. */
+#define HEX(n) \
+ ('0' + ((n)>>28 & 0xF)), \
+ ('0' + ((n)>>24 & 0xF)), \
+ ('0' + ((n)>>20 & 0xF)), \
+ ('0' + ((n)>>16 & 0xF)), \
+ ('0' + ((n)>>12 & 0xF)), \
+ ('0' + ((n)>>8 & 0xF)), \
+ ('0' + ((n)>>4 & 0xF)), \
+ ('0' + ((n) & 0xF))
+
+/* Construct a string literal encoding the version number components. */
+#ifdef COMPILER_VERSION_MAJOR
+char const info_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',
+ COMPILER_VERSION_MAJOR,
+# ifdef COMPILER_VERSION_MINOR
+ '.', COMPILER_VERSION_MINOR,
+# ifdef COMPILER_VERSION_PATCH
+ '.', COMPILER_VERSION_PATCH,
+# ifdef COMPILER_VERSION_TWEAK
+ '.', COMPILER_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct a string literal encoding the internal version number. */
+#ifdef COMPILER_VERSION_INTERNAL
+char const info_version_internal[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',
+ 'i','n','t','e','r','n','a','l','[',
+ COMPILER_VERSION_INTERNAL,']','\0'};
+#endif
+
+/* Construct a string literal encoding the version number components. */
+#ifdef SIMULATE_VERSION_MAJOR
+char const info_simulate_version[] = {
+ 'I', 'N', 'F', 'O', ':',
+ 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',
+ SIMULATE_VERSION_MAJOR,
+# ifdef SIMULATE_VERSION_MINOR
+ '.', SIMULATE_VERSION_MINOR,
+# ifdef SIMULATE_VERSION_PATCH
+ '.', SIMULATE_VERSION_PATCH,
+# ifdef SIMULATE_VERSION_TWEAK
+ '.', SIMULATE_VERSION_TWEAK,
+# endif
+# endif
+# endif
+ ']','\0'};
+#endif
+
+/* Construct the string literal in pieces to prevent the source from
+ getting matched. Store it in a pointer rather than an array
+ because some compilers will just produce instructions to fill the
+ array rather than assigning a pointer to a static array. */
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";
+
+
+
+
+#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L
+# if defined(__INTEL_CXX11_MODE__)
+# if defined(__cpp_aggregate_nsdmi)
+# define CXX_STD 201402L
+# else
+# define CXX_STD 201103L
+# endif
+# else
+# define CXX_STD 199711L
+# endif
+#elif defined(_MSC_VER) && defined(_MSVC_LANG)
+# define CXX_STD _MSVC_LANG
+#else
+# define CXX_STD __cplusplus
+#endif
+
+const char* info_language_dialect_default = "INFO" ":" "dialect_default["
+#if CXX_STD > 201703L
+ "20"
+#elif CXX_STD >= 201703L
+ "17"
+#elif CXX_STD >= 201402L
+ "14"
+#elif CXX_STD >= 201103L
+ "11"
+#else
+ "98"
+#endif
+"]";
+
+/*--------------------------------------------------------------------------*/
+
+int main(int argc, char* argv[])
+{
+ int require = 0;
+ require += info_compiler[argc];
+ require += info_platform[argc];
+#ifdef COMPILER_VERSION_MAJOR
+ require += info_version[argc];
+#endif
+#ifdef COMPILER_VERSION_INTERNAL
+ require += info_version_internal[argc];
+#endif
+#ifdef SIMULATE_ID
+ require += info_simulate[argc];
+#endif
+#ifdef SIMULATE_VERSION_MAJOR
+ require += info_simulate_version[argc];
+#endif
+#if defined(__CRAYXE) || defined(__CRAYXC)
+ require += info_cray[argc];
+#endif
+ require += info_language_dialect_default[argc];
+ (void)argv;
+ return require;
+}
diff --git a/CMakeFiles/CMakeDirectoryInformation.cmake b/CMakeFiles/CMakeDirectoryInformation.cmake index fe32db3..1ddd1af 100644 --- a/CMakeFiles/CMakeDirectoryInformation.cmake +++ b/CMakeFiles/CMakeDirectoryInformation.cmake @@ -1,16 +1,16 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "C:/Users/jaksk/Desktop/dev/_cpp/age") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "C:/Users/jaksk/Desktop/dev/_cpp/age") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+# Relative path conversion top directories.
+set(CMAKE_RELATIVE_PATH_TOP_SOURCE "C:/Users/jaksk/Desktop/dev/_cpp/age")
+set(CMAKE_RELATIVE_PATH_TOP_BINARY "C:/Users/jaksk/Desktop/dev/_cpp/age")
+
+# Force unix paths in dependencies.
+set(CMAKE_FORCE_UNIX_PATHS 1)
+
+
+# The C and CXX include file regular expressions for this directory.
+set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$")
+set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$")
+set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN})
+set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN})
diff --git a/CMakeFiles/Makefile.cmake b/CMakeFiles/Makefile.cmake index 50a0369..32bbdf6 100644 --- a/CMakeFiles/Makefile.cmake +++ b/CMakeFiles/Makefile.cmake @@ -1,54 +1,54 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "MinGW Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCInformation.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCXXInformation.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCommonLanguageInclude.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeGenericSystem.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeInitializeConfigs.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeLanguageInformation.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeRCInformation.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeSystemSpecificInformation.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeSystemSpecificInitialize.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/GNU-C.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/GNU-CXX.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/GNU.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Internal/CMakeCheckCompilerFlag.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-C-ABI.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-C.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-CXX-ABI.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-CXX.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-windres.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows.cmake" - "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/WindowsPaths.cmake" - "CMakeFiles/3.18.1/CMakeCCompiler.cmake" - "CMakeFiles/3.18.1/CMakeCXXCompiler.cmake" - "CMakeFiles/3.18.1/CMakeRCCompiler.cmake" - "CMakeFiles/3.18.1/CMakeSystem.cmake" - "CMakeLists.txt" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/sdl_test.dir/DependInfo.cmake" - ) +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+# The generator used is:
+set(CMAKE_DEPENDS_GENERATOR "MinGW Makefiles")
+
+# The top level Makefile was generated from the following files:
+set(CMAKE_MAKEFILE_DEPENDS
+ "CMakeCache.txt"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCInformation.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCXXInformation.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCheckCompilerFlagCommonPatterns.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeCommonLanguageInclude.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeGenericSystem.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeInitializeConfigs.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeLanguageInformation.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeRCInformation.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeSystemSpecificInformation.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/CMakeSystemSpecificInitialize.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/GNU-C.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/GNU-CXX.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Compiler/GNU.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Internal/CMakeCheckCompilerFlag.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-C-ABI.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-C.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-CXX-ABI.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU-CXX.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-GNU.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows-windres.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/Windows.cmake"
+ "C:/Program Files/CMake/share/cmake-3.18/Modules/Platform/WindowsPaths.cmake"
+ "CMakeFiles/3.18.1/CMakeCCompiler.cmake"
+ "CMakeFiles/3.18.1/CMakeCXXCompiler.cmake"
+ "CMakeFiles/3.18.1/CMakeRCCompiler.cmake"
+ "CMakeFiles/3.18.1/CMakeSystem.cmake"
+ "CMakeLists.txt"
+ )
+
+# The corresponding makefile is:
+set(CMAKE_MAKEFILE_OUTPUTS
+ "Makefile"
+ "CMakeFiles/cmake.check_cache"
+ )
+
+# Byproducts of CMake generate step:
+set(CMAKE_MAKEFILE_PRODUCTS
+ "CMakeFiles/CMakeDirectoryInformation.cmake"
+ )
+
+# Dependency information for all targets:
+set(CMAKE_DEPEND_INFO_FILES
+ "CMakeFiles/sdl_test.dir/DependInfo.cmake"
+ )
diff --git a/CMakeFiles/Makefile2 b/CMakeFiles/Makefile2 index 123b2dd..48264c9 100644 --- a/CMakeFiles/Makefile2 +++ b/CMakeFiles/Makefile2 @@ -1,124 +1,124 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -SHELL = cmd.exe - -# The CMake executable. -CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe" - -# The command to remove a file. -RM = "C:\Program Files\CMake\bin\cmake.exe" -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age - -#============================================================================= -# Directory level rules for the build root directory - -# The main recursive "all" target. -all: CMakeFiles/sdl_test.dir/all - -.PHONY : all - -# The main recursive "preinstall" target. -preinstall: - -.PHONY : preinstall - -# The main recursive "clean" target. -clean: CMakeFiles/sdl_test.dir/clean - -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/sdl_test.dir - -# All Build rule for target. -CMakeFiles/sdl_test.dir/all: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 "Built target sdl_test" -.PHONY : CMakeFiles/sdl_test.dir/all - -# Build rule for subdir invocation for target. -CMakeFiles/sdl_test.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles 15 - $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 CMakeFiles/sdl_test.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles 0 -.PHONY : CMakeFiles/sdl_test.dir/rule - -# Convenience name for target. -sdl_test: CMakeFiles/sdl_test.dir/rule - -.PHONY : sdl_test - -# clean rule for target. -CMakeFiles/sdl_test.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/clean -.PHONY : CMakeFiles/sdl_test.dir/clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 -.PHONY : cmake_check_build_system - +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+SHELL = cmd.exe
+
+# The CMake executable.
+CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe"
+
+# The command to remove a file.
+RM = "C:\Program Files\CMake\bin\cmake.exe" -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age
+
+#=============================================================================
+# Directory level rules for the build root directory
+
+# The main recursive "all" target.
+all: CMakeFiles/sdl_test.dir/all
+
+.PHONY : all
+
+# The main recursive "preinstall" target.
+preinstall:
+
+.PHONY : preinstall
+
+# The main recursive "clean" target.
+clean: CMakeFiles/sdl_test.dir/clean
+
+.PHONY : clean
+
+#=============================================================================
+# Target rules for target CMakeFiles/sdl_test.dir
+
+# All Build rule for target.
+CMakeFiles/sdl_test.dir/all:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/depend
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/build
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 "Built target sdl_test"
+.PHONY : CMakeFiles/sdl_test.dir/all
+
+# Build rule for subdir invocation for target.
+CMakeFiles/sdl_test.dir/rule: cmake_check_build_system
+ $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles 15
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 CMakeFiles/sdl_test.dir/all
+ $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles 0
+.PHONY : CMakeFiles/sdl_test.dir/rule
+
+# Convenience name for target.
+sdl_test: CMakeFiles/sdl_test.dir/rule
+
+.PHONY : sdl_test
+
+# clean rule for target.
+CMakeFiles/sdl_test.dir/clean:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/clean
+.PHONY : CMakeFiles/sdl_test.dir/clean
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/CMakeFiles/TargetDirectories.txt b/CMakeFiles/TargetDirectories.txt index 8e375f4..bf1ad51 100644 --- a/CMakeFiles/TargetDirectories.txt +++ b/CMakeFiles/TargetDirectories.txt @@ -1,3 +1,3 @@ -C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir -C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/edit_cache.dir -C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/rebuild_cache.dir +C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir
+C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/edit_cache.dir
+C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/rebuild_cache.dir
diff --git a/CMakeFiles/cmake.check_cache b/CMakeFiles/cmake.check_cache index 3dccd73..56c437b 100644 --- a/CMakeFiles/cmake.check_cache +++ b/CMakeFiles/cmake.check_cache @@ -1 +1 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file +# This file is generated by cmake for dependency checking of the CMakeCache.txt file
diff --git a/CMakeFiles/feature_tests.cxx b/CMakeFiles/feature_tests.cxx index ea528b4..9c9063e 100644 --- a/CMakeFiles/feature_tests.cxx +++ b/CMakeFiles/feature_tests.cxx @@ -1,405 +1,405 @@ - - const char features[] = {"\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus -"1" -#else -"0" -#endif -"cxx_template_template_parameters\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_alias_templates\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_alignas\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_alignof\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_attributes\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_auto_type\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_constexpr\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_decltype\n" -"CXX_FEATURE:" -#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_decltype_incomplete_return_types\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_default_function_template_args\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_defaulted_functions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_defaulted_move_initializers\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_delegating_constructors\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_deleted_functions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_enum_forward_declarations\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_explicit_conversions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_extended_friend_declarations\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_extern_templates\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_final\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_func_identifier\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_generalized_initializers\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_inheriting_constructors\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_inline_namespaces\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_lambdas\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_local_type_template_args\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_long_long_type\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_noexcept\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_nonstatic_member_init\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_nullptr\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_override\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_range_for\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_raw_string_literals\n" -"CXX_FEATURE:" -#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_reference_qualified_functions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_right_angle_brackets\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_rvalue_references\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_sizeof_member\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_static_assert\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_strong_enums\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_thread_local\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_trailing_return_types\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_unicode_literals\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_uniform_initialization\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_unrestricted_unions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L -"1" -#else -"0" -#endif -"cxx_user_literals\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_variadic_macros\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__)) -"1" -#else -"0" -#endif -"cxx_variadic_templates\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L -"1" -#else -"0" -#endif -"cxx_aggregate_default_initializers\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_attribute_deprecated\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_binary_literals\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_contextual_conversions\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_decltype_auto\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_digit_separators\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_generic_lambdas\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_lambda_init_captures\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L -"1" -#else -"0" -#endif -"cxx_relaxed_constexpr\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L -"1" -#else -"0" -#endif -"cxx_return_type_deduction\n" -"CXX_FEATURE:" -#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L -"1" -#else -"0" -#endif -"cxx_variable_templates\n" - -}; - -int main(int argc, char** argv) { (void)argv; return features[argc]; } +
+ const char features[] = {"\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
+"1"
+#else
+"0"
+#endif
+"cxx_template_template_parameters\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alias_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alignas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_alignof\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_attributes\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_auto_type\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_constexpr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_decltype\n"
+"CXX_FEATURE:"
+#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_decltype_incomplete_return_types\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_default_function_template_args\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_defaulted_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_defaulted_move_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_delegating_constructors\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_deleted_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_enum_forward_declarations\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_explicit_conversions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_extended_friend_declarations\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_extern_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_final\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_func_identifier\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_generalized_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_inheriting_constructors\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_inline_namespaces\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_lambdas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_local_type_template_args\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_long_long_type\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_noexcept\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_nonstatic_member_init\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_nullptr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_override\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_range_for\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_raw_string_literals\n"
+"CXX_FEATURE:"
+#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_reference_qualified_functions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_right_angle_brackets\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_rvalue_references\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_sizeof_member\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_static_assert\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_strong_enums\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_thread_local\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_trailing_return_types\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_unicode_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_uniform_initialization\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_unrestricted_unions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_user_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_variadic_macros\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
+"1"
+#else
+"0"
+#endif
+"cxx_variadic_templates\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_aggregate_default_initializers\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_attribute_deprecated\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_binary_literals\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_contextual_conversions\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_decltype_auto\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_digit_separators\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_generic_lambdas\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_lambda_init_captures\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_relaxed_constexpr\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
+"1"
+#else
+"0"
+#endif
+"cxx_return_type_deduction\n"
+"CXX_FEATURE:"
+#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
+"1"
+#else
+"0"
+#endif
+"cxx_variable_templates\n"
+
+};
+
+int main(int argc, char** argv) { (void)argv; return features[argc]; }
diff --git a/CMakeFiles/progress.marks b/CMakeFiles/progress.marks index 60d3b2f..53457f8 100644 --- a/CMakeFiles/progress.marks +++ b/CMakeFiles/progress.marks @@ -1 +1 @@ -15 +15
diff --git a/CMakeFiles/sdl_test.dir/CXX.includecache b/CMakeFiles/sdl_test.dir/CXX.includecache index 44aa3c5..f57c2f7 100644 --- a/CMakeFiles/sdl_test.dir/CXX.includecache +++ b/CMakeFiles/sdl_test.dir/CXX.includecache @@ -1,876 +1,876 @@ -#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -C:/MinGW_libs/include/SDL2/SDL.h -SDL_main.h -C:/MinGW_libs/include/SDL2/SDL_main.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_assert.h -C:/MinGW_libs/include/SDL2/SDL_assert.h -SDL_atomic.h -C:/MinGW_libs/include/SDL2/SDL_atomic.h -SDL_audio.h -C:/MinGW_libs/include/SDL2/SDL_audio.h -SDL_clipboard.h -C:/MinGW_libs/include/SDL2/SDL_clipboard.h -SDL_cpuinfo.h -C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h -SDL_endian.h -C:/MinGW_libs/include/SDL2/SDL_endian.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_events.h -C:/MinGW_libs/include/SDL2/SDL_events.h -SDL_filesystem.h -C:/MinGW_libs/include/SDL2/SDL_filesystem.h -SDL_gamecontroller.h -C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -SDL_haptic.h -C:/MinGW_libs/include/SDL2/SDL_haptic.h -SDL_hints.h -C:/MinGW_libs/include/SDL2/SDL_hints.h -SDL_joystick.h -C:/MinGW_libs/include/SDL2/SDL_joystick.h -SDL_loadso.h -C:/MinGW_libs/include/SDL2/SDL_loadso.h -SDL_log.h -C:/MinGW_libs/include/SDL2/SDL_log.h -SDL_messagebox.h -C:/MinGW_libs/include/SDL2/SDL_messagebox.h -SDL_metal.h -C:/MinGW_libs/include/SDL2/SDL_metal.h -SDL_mutex.h -C:/MinGW_libs/include/SDL2/SDL_mutex.h -SDL_power.h -C:/MinGW_libs/include/SDL2/SDL_power.h -SDL_render.h -C:/MinGW_libs/include/SDL2/SDL_render.h -SDL_rwops.h -C:/MinGW_libs/include/SDL2/SDL_rwops.h -SDL_sensor.h -C:/MinGW_libs/include/SDL2/SDL_sensor.h -SDL_shape.h -C:/MinGW_libs/include/SDL2/SDL_shape.h -SDL_system.h -C:/MinGW_libs/include/SDL2/SDL_system.h -SDL_thread.h -C:/MinGW_libs/include/SDL2/SDL_thread.h -SDL_timer.h -C:/MinGW_libs/include/SDL2/SDL_timer.h -SDL_version.h -C:/MinGW_libs/include/SDL2/SDL_version.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_assert.h -SDL_config.h -C:/MinGW_libs/include/SDL2/SDL_config.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -signal.h -- -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_atomic.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_platform.h -C:/MinGW_libs/include/SDL2/SDL_platform.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -sys/cpuinline.h -- -mbarrier.h -- -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_audio.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_endian.h -C:/MinGW_libs/include/SDL2/SDL_endian.h -SDL_mutex.h -C:/MinGW_libs/include/SDL2/SDL_mutex.h -SDL_thread.h -C:/MinGW_libs/include/SDL2/SDL_thread.h -SDL_rwops.h -C:/MinGW_libs/include/SDL2/SDL_rwops.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_blendmode.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_clipboard.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_config.h -SDL_platform.h -C:/MinGW_libs/include/SDL2/SDL_platform.h - -C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -intrin.h -- -intrin.h -- -altivec.h -- -arm_neon.h -- -armintr.h -- -arm_neon.h -- -arm64intr.h -- -arm64_neon.h -- -mm3dnow.h -- -immintrin.h -- -mmintrin.h -- -xmmintrin.h -- -emmintrin.h -- -pmmintrin.h -- -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_endian.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -endian.h -- -endian.h -- -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_events.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -SDL_keyboard.h -C:/MinGW_libs/include/SDL2/SDL_keyboard.h -SDL_mouse.h -C:/MinGW_libs/include/SDL2/SDL_mouse.h -SDL_joystick.h -C:/MinGW_libs/include/SDL2/SDL_joystick.h -SDL_gamecontroller.h -C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -SDL_quit.h -C:/MinGW_libs/include/SDL2/SDL_quit.h -SDL_gesture.h -C:/MinGW_libs/include/SDL2/SDL_gesture.h -SDL_touch.h -C:/MinGW_libs/include/SDL2/SDL_touch.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_filesystem.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_rwops.h -C:/MinGW_libs/include/SDL2/SDL_rwops.h -SDL_joystick.h -C:/MinGW_libs/include/SDL2/SDL_joystick.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_gesture.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -SDL_touch.h -C:/MinGW_libs/include/SDL2/SDL_touch.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_haptic.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_joystick.h -C:/MinGW_libs/include/SDL2/SDL_joystick.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_hints.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_joystick.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_keyboard.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_keycode.h -C:/MinGW_libs/include/SDL2/SDL_keycode.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_keycode.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_scancode.h -C:/MinGW_libs/include/SDL2/SDL_scancode.h - -C:/MinGW_libs/include/SDL2/SDL_loadso.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_log.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_main.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_messagebox.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_metal.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_mouse.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_mutex.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_pixels.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_endian.h -C:/MinGW_libs/include/SDL2/SDL_endian.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_platform.h -AvailabilityMacros.h -C:/MinGW_libs/include/SDL2/AvailabilityMacros.h -TargetConditionals.h -C:/MinGW_libs/include/SDL2/TargetConditionals.h -winapifamily.h -- -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_power.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_quit.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h - -C:/MinGW_libs/include/SDL2/SDL_rect.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_pixels.h -C:/MinGW_libs/include/SDL2/SDL_pixels.h -SDL_rwops.h -C:/MinGW_libs/include/SDL2/SDL_rwops.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_render.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_rect.h -C:/MinGW_libs/include/SDL2/SDL_rect.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_rwops.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_scancode.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h - -C:/MinGW_libs/include/SDL2/SDL_sensor.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_shape.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_pixels.h -C:/MinGW_libs/include/SDL2/SDL_pixels.h -SDL_rect.h -C:/MinGW_libs/include/SDL2/SDL_rect.h -SDL_surface.h -C:/MinGW_libs/include/SDL2/SDL_surface.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_config.h -C:/MinGW_libs/include/SDL2/SDL_config.h -sys/types.h -- -stdio.h -- -stdlib.h -- -stddef.h -- -stdarg.h -- -stdlib.h -- -malloc.h -- -stddef.h -- -stdarg.h -- -memory.h -- -string.h -- -strings.h -- -wchar.h -- -inttypes.h -- -stdint.h -- -ctype.h -- -math.h -- -float.h -- -alloca.h -- -malloc.h -- -malloc.h -- -malloc.h -- -stdlib.h -- -sal.h -- -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_surface.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_pixels.h -C:/MinGW_libs/include/SDL2/SDL_pixels.h -SDL_rect.h -C:/MinGW_libs/include/SDL2/SDL_rect.h -SDL_blendmode.h -C:/MinGW_libs/include/SDL2/SDL_blendmode.h -SDL_rwops.h -C:/MinGW_libs/include/SDL2/SDL_rwops.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_system.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_keyboard.h -C:/MinGW_libs/include/SDL2/SDL_keyboard.h -SDL_render.h -C:/MinGW_libs/include/SDL2/SDL_render.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_thread.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_atomic.h -C:/MinGW_libs/include/SDL2/SDL_atomic.h -SDL_mutex.h -C:/MinGW_libs/include/SDL2/SDL_mutex.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -process.h -- -process.h -- -stdlib.h -- -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_timer.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_touch.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_error.h -C:/MinGW_libs/include/SDL2/SDL_error.h -SDL_video.h -C:/MinGW_libs/include/SDL2/SDL_video.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_version.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/SDL_video.h -SDL_stdinc.h -C:/MinGW_libs/include/SDL2/SDL_stdinc.h -SDL_pixels.h -C:/MinGW_libs/include/SDL2/SDL_pixels.h -SDL_rect.h -C:/MinGW_libs/include/SDL2/SDL_rect.h -SDL_surface.h -C:/MinGW_libs/include/SDL2/SDL_surface.h -begin_code.h -C:/MinGW_libs/include/SDL2/begin_code.h -close_code.h -C:/MinGW_libs/include/SDL2/close_code.h - -C:/MinGW_libs/include/SDL2/begin_code.h - -C:/MinGW_libs/include/SDL2/close_code.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h -iostream -- -vector -- -SDL2/SDL.h -- - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h -string -- -vector -- - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/engine.h -iostream -- -string -- -vector -- -limits -- -cmath -- -../ground.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -../gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -action.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h -tactic.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h -generator.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/generator.h -evaluator.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/evaluator.h -performer.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/evaluator.h -iostream -- -string -- -vector -- -../ground.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -../gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/generator.h -iostream -- -string -- -vector -- -../ground.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -../gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -action.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h -tactic.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h -performer.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h -iostream -- -string -- -vector -- -../ground.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -../gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -action.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h -tactic.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h -string -- -vector -- -action.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h -vector -- -string -- -iostream -- -../umath/vec2.h -C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -entity.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -iostream -- -algorithm -- -string -- -vector -- -functional -- -random -- -ground.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -entity.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h -tile.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h -player.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h -tech.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h -gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h -vector -- -string -- -../umath/vec2.h -C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -tech.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h -vector -- -tech.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h -iostream -- -gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -view.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h -vector -- -functional -- - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h -vector -- -unordered_map -- -string -- -math.h -- -iostream -- -../umath/vec2.h -C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h -vector -- -string -- -../umath/vec2.h -C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h -vector -- -functional -- -gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -menu.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h -vector -- - -C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h -vector -- -string -- -SDL2/SDL.h -- -../game/gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -../game/view.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h -cam.h -C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h -string -- - -C:/Users/jaksk/Desktop/dev/_cpp/age/main.cpp -iostream -- -vector -- -umath/vec2.h -C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -graphics/graphics.h -C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h -commands/commands.h -C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h -timing/timing.h -C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h -game/entity.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h -game/ground.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h -game/playercontrol.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h -game/gst.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h -game/tile.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h -game/load.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h -game/ai/engine.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/engine.h -game/ai/performer.h -C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h - -C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h -SDL2/SDL.h -- - -C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h - +#IncludeRegexLine: ^[ ]*[#%][ ]*(include|import)[ ]*[<"]([^">]+)([">])
+
+#IncludeRegexScan: ^.*$
+
+#IncludeRegexComplain: ^$
+
+#IncludeRegexTransform:
+
+C:/MinGW_libs/include/SDL2/SDL.h
+SDL_main.h
+C:/MinGW_libs/include/SDL2/SDL_main.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_assert.h
+C:/MinGW_libs/include/SDL2/SDL_assert.h
+SDL_atomic.h
+C:/MinGW_libs/include/SDL2/SDL_atomic.h
+SDL_audio.h
+C:/MinGW_libs/include/SDL2/SDL_audio.h
+SDL_clipboard.h
+C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+SDL_cpuinfo.h
+C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+SDL_endian.h
+C:/MinGW_libs/include/SDL2/SDL_endian.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_events.h
+C:/MinGW_libs/include/SDL2/SDL_events.h
+SDL_filesystem.h
+C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+SDL_gamecontroller.h
+C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+SDL_haptic.h
+C:/MinGW_libs/include/SDL2/SDL_haptic.h
+SDL_hints.h
+C:/MinGW_libs/include/SDL2/SDL_hints.h
+SDL_joystick.h
+C:/MinGW_libs/include/SDL2/SDL_joystick.h
+SDL_loadso.h
+C:/MinGW_libs/include/SDL2/SDL_loadso.h
+SDL_log.h
+C:/MinGW_libs/include/SDL2/SDL_log.h
+SDL_messagebox.h
+C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+SDL_metal.h
+C:/MinGW_libs/include/SDL2/SDL_metal.h
+SDL_mutex.h
+C:/MinGW_libs/include/SDL2/SDL_mutex.h
+SDL_power.h
+C:/MinGW_libs/include/SDL2/SDL_power.h
+SDL_render.h
+C:/MinGW_libs/include/SDL2/SDL_render.h
+SDL_rwops.h
+C:/MinGW_libs/include/SDL2/SDL_rwops.h
+SDL_sensor.h
+C:/MinGW_libs/include/SDL2/SDL_sensor.h
+SDL_shape.h
+C:/MinGW_libs/include/SDL2/SDL_shape.h
+SDL_system.h
+C:/MinGW_libs/include/SDL2/SDL_system.h
+SDL_thread.h
+C:/MinGW_libs/include/SDL2/SDL_thread.h
+SDL_timer.h
+C:/MinGW_libs/include/SDL2/SDL_timer.h
+SDL_version.h
+C:/MinGW_libs/include/SDL2/SDL_version.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_assert.h
+SDL_config.h
+C:/MinGW_libs/include/SDL2/SDL_config.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+signal.h
+-
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_atomic.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_platform.h
+C:/MinGW_libs/include/SDL2/SDL_platform.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+sys/cpuinline.h
+-
+mbarrier.h
+-
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_audio.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_endian.h
+C:/MinGW_libs/include/SDL2/SDL_endian.h
+SDL_mutex.h
+C:/MinGW_libs/include/SDL2/SDL_mutex.h
+SDL_thread.h
+C:/MinGW_libs/include/SDL2/SDL_thread.h
+SDL_rwops.h
+C:/MinGW_libs/include/SDL2/SDL_rwops.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_config.h
+SDL_platform.h
+C:/MinGW_libs/include/SDL2/SDL_platform.h
+
+C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+intrin.h
+-
+intrin.h
+-
+altivec.h
+-
+arm_neon.h
+-
+armintr.h
+-
+arm_neon.h
+-
+arm64intr.h
+-
+arm64_neon.h
+-
+mm3dnow.h
+-
+immintrin.h
+-
+mmintrin.h
+-
+xmmintrin.h
+-
+emmintrin.h
+-
+pmmintrin.h
+-
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_endian.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+endian.h
+-
+endian.h
+-
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_events.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+SDL_keyboard.h
+C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+SDL_mouse.h
+C:/MinGW_libs/include/SDL2/SDL_mouse.h
+SDL_joystick.h
+C:/MinGW_libs/include/SDL2/SDL_joystick.h
+SDL_gamecontroller.h
+C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+SDL_quit.h
+C:/MinGW_libs/include/SDL2/SDL_quit.h
+SDL_gesture.h
+C:/MinGW_libs/include/SDL2/SDL_gesture.h
+SDL_touch.h
+C:/MinGW_libs/include/SDL2/SDL_touch.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_rwops.h
+C:/MinGW_libs/include/SDL2/SDL_rwops.h
+SDL_joystick.h
+C:/MinGW_libs/include/SDL2/SDL_joystick.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_gesture.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+SDL_touch.h
+C:/MinGW_libs/include/SDL2/SDL_touch.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_haptic.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_joystick.h
+C:/MinGW_libs/include/SDL2/SDL_joystick.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_hints.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_joystick.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_keycode.h
+C:/MinGW_libs/include/SDL2/SDL_keycode.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_keycode.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_scancode.h
+C:/MinGW_libs/include/SDL2/SDL_scancode.h
+
+C:/MinGW_libs/include/SDL2/SDL_loadso.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_log.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_main.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_metal.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_mouse.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_mutex.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_pixels.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_endian.h
+C:/MinGW_libs/include/SDL2/SDL_endian.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_platform.h
+AvailabilityMacros.h
+C:/MinGW_libs/include/SDL2/AvailabilityMacros.h
+TargetConditionals.h
+C:/MinGW_libs/include/SDL2/TargetConditionals.h
+winapifamily.h
+-
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_power.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_quit.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+
+C:/MinGW_libs/include/SDL2/SDL_rect.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_pixels.h
+C:/MinGW_libs/include/SDL2/SDL_pixels.h
+SDL_rwops.h
+C:/MinGW_libs/include/SDL2/SDL_rwops.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_render.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_rect.h
+C:/MinGW_libs/include/SDL2/SDL_rect.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_rwops.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_scancode.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+
+C:/MinGW_libs/include/SDL2/SDL_sensor.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_shape.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_pixels.h
+C:/MinGW_libs/include/SDL2/SDL_pixels.h
+SDL_rect.h
+C:/MinGW_libs/include/SDL2/SDL_rect.h
+SDL_surface.h
+C:/MinGW_libs/include/SDL2/SDL_surface.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_config.h
+C:/MinGW_libs/include/SDL2/SDL_config.h
+sys/types.h
+-
+stdio.h
+-
+stdlib.h
+-
+stddef.h
+-
+stdarg.h
+-
+stdlib.h
+-
+malloc.h
+-
+stddef.h
+-
+stdarg.h
+-
+memory.h
+-
+string.h
+-
+strings.h
+-
+wchar.h
+-
+inttypes.h
+-
+stdint.h
+-
+ctype.h
+-
+math.h
+-
+float.h
+-
+alloca.h
+-
+malloc.h
+-
+malloc.h
+-
+malloc.h
+-
+stdlib.h
+-
+sal.h
+-
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_surface.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_pixels.h
+C:/MinGW_libs/include/SDL2/SDL_pixels.h
+SDL_rect.h
+C:/MinGW_libs/include/SDL2/SDL_rect.h
+SDL_blendmode.h
+C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+SDL_rwops.h
+C:/MinGW_libs/include/SDL2/SDL_rwops.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_system.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_keyboard.h
+C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+SDL_render.h
+C:/MinGW_libs/include/SDL2/SDL_render.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_thread.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_atomic.h
+C:/MinGW_libs/include/SDL2/SDL_atomic.h
+SDL_mutex.h
+C:/MinGW_libs/include/SDL2/SDL_mutex.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+process.h
+-
+process.h
+-
+stdlib.h
+-
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_timer.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_touch.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_error.h
+C:/MinGW_libs/include/SDL2/SDL_error.h
+SDL_video.h
+C:/MinGW_libs/include/SDL2/SDL_video.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_version.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/SDL_video.h
+SDL_stdinc.h
+C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+SDL_pixels.h
+C:/MinGW_libs/include/SDL2/SDL_pixels.h
+SDL_rect.h
+C:/MinGW_libs/include/SDL2/SDL_rect.h
+SDL_surface.h
+C:/MinGW_libs/include/SDL2/SDL_surface.h
+begin_code.h
+C:/MinGW_libs/include/SDL2/begin_code.h
+close_code.h
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/MinGW_libs/include/SDL2/begin_code.h
+
+C:/MinGW_libs/include/SDL2/close_code.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h
+iostream
+-
+vector
+-
+SDL2/SDL.h
+-
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+string
+-
+vector
+-
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/engine.h
+iostream
+-
+string
+-
+vector
+-
+limits
+-
+cmath
+-
+../ground.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+../gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+action.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+tactic.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h
+generator.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/generator.h
+evaluator.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/evaluator.h
+performer.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/evaluator.h
+iostream
+-
+string
+-
+vector
+-
+../ground.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+../gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/generator.h
+iostream
+-
+string
+-
+vector
+-
+../ground.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+../gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+action.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+tactic.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h
+performer.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h
+iostream
+-
+string
+-
+vector
+-
+../ground.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+../gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+action.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+tactic.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h
+string
+-
+vector
+-
+action.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+vector
+-
+string
+-
+iostream
+-
+../umath/vec2.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+entity.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+iostream
+-
+algorithm
+-
+string
+-
+vector
+-
+functional
+-
+random
+-
+ground.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+entity.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+tile.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+player.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+tech.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h
+gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+vector
+-
+string
+-
+../umath/vec2.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+tech.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+vector
+-
+tech.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h
+iostream
+-
+gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+view.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+vector
+-
+functional
+-
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+vector
+-
+unordered_map
+-
+string
+-
+math.h
+-
+iostream
+-
+../umath/vec2.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+vector
+-
+string
+-
+../umath/vec2.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+vector
+-
+functional
+-
+gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+menu.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h
+vector
+-
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h
+vector
+-
+string
+-
+SDL2/SDL.h
+-
+../game/gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+../game/view.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+cam.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h
+string
+-
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/main.cpp
+iostream
+-
+vector
+-
+umath/vec2.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+graphics/graphics.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h
+commands/commands.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h
+timing/timing.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h
+game/entity.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+game/ground.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+game/playercontrol.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h
+game/gst.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+game/tile.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+game/load.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h
+game/ai/engine.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/engine.h
+game/ai/performer.h
+C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h
+SDL2/SDL.h
+-
+
+C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+
diff --git a/CMakeFiles/sdl_test.dir/DependInfo.cmake b/CMakeFiles/sdl_test.dir/DependInfo.cmake index 47792b8..7f11140 100644 --- a/CMakeFiles/sdl_test.dir/DependInfo.cmake +++ b/CMakeFiles/sdl_test.dir/DependInfo.cmake @@ -1,34 +1,34 @@ -# The set of languages for which implicit dependencies are needed: -set(CMAKE_DEPENDS_LANGUAGES - "CXX" - ) -# The set of files for implicit dependencies of each language: -set(CMAKE_DEPENDS_CHECK_CXX - "C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/commands/commands.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/entity.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/ground.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/gst.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/load.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/menu.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/tech.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/tile.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/view.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/main.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/main.cpp.obj" - "C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/timing/timing.cpp.obj" - ) -set(CMAKE_CXX_COMPILER_ID "GNU") - -# The include file search paths: -set(CMAKE_CXX_TARGET_INCLUDE_PATH - "C:/MinGW_libs/include" - ) - -# Targets to which this target links. -set(CMAKE_TARGET_LINKED_INFO_FILES - ) - -# Fortran module output directory. -set(CMAKE_Fortran_TARGET_MODULE_DIR "") +# The set of languages for which implicit dependencies are needed:
+set(CMAKE_DEPENDS_LANGUAGES
+ "CXX"
+ )
+# The set of files for implicit dependencies of each language:
+set(CMAKE_DEPENDS_CHECK_CXX
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/commands/commands.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/entity.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/ground.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/gst.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/load.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/menu.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/tech.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/tile.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/game/view.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/main.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/main.cpp.obj"
+ "C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.cpp" "C:/Users/jaksk/Desktop/dev/_cpp/age/CMakeFiles/sdl_test.dir/timing/timing.cpp.obj"
+ )
+set(CMAKE_CXX_COMPILER_ID "GNU")
+
+# The include file search paths:
+set(CMAKE_CXX_TARGET_INCLUDE_PATH
+ "C:/MinGW_libs/include"
+ )
+
+# Targets to which this target links.
+set(CMAKE_TARGET_LINKED_INFO_FILES
+ )
+
+# Fortran module output directory.
+set(CMAKE_Fortran_TARGET_MODULE_DIR "")
diff --git a/CMakeFiles/sdl_test.dir/build.make b/CMakeFiles/sdl_test.dir/build.make index 0fee87f..b82fea1 100644 --- a/CMakeFiles/sdl_test.dir/build.make +++ b/CMakeFiles/sdl_test.dir/build.make @@ -1,327 +1,327 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -# Delete rule output on recipe failure. -.DELETE_ON_ERROR: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -SHELL = cmd.exe - -# The CMake executable. -CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe" - -# The command to remove a file. -RM = "C:\Program Files\CMake\bin\cmake.exe" -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age - -# Include any dependencies generated for this target. -include CMakeFiles/sdl_test.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/sdl_test.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/sdl_test.dir/flags.make - -CMakeFiles/sdl_test.dir/main.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/main.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/main.cpp.obj: main.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/sdl_test.dir/main.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\main.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\main.cpp - -CMakeFiles/sdl_test.dir/main.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/main.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\main.cpp > CMakeFiles\sdl_test.dir\main.cpp.i - -CMakeFiles/sdl_test.dir/main.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/main.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\main.cpp -o CMakeFiles\sdl_test.dir\main.cpp.s - -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/graphics.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\graphics\graphics.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\graphics\graphics.cpp - -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/graphics/graphics.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\graphics\graphics.cpp > CMakeFiles\sdl_test.dir\graphics\graphics.cpp.i - -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/graphics/graphics.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\graphics\graphics.cpp -o CMakeFiles\sdl_test.dir\graphics\graphics.cpp.s - -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: commands/commands.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/sdl_test.dir/commands/commands.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\commands\commands.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\commands\commands.cpp - -CMakeFiles/sdl_test.dir/commands/commands.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/commands/commands.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\commands\commands.cpp > CMakeFiles\sdl_test.dir\commands\commands.cpp.i - -CMakeFiles/sdl_test.dir/commands/commands.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/commands/commands.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\commands\commands.cpp -o CMakeFiles\sdl_test.dir\commands\commands.cpp.s - -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: timing/timing.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/sdl_test.dir/timing/timing.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\timing\timing.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\timing\timing.cpp - -CMakeFiles/sdl_test.dir/timing/timing.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/timing/timing.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\timing\timing.cpp > CMakeFiles\sdl_test.dir\timing\timing.cpp.i - -CMakeFiles/sdl_test.dir/timing/timing.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/timing/timing.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\timing\timing.cpp -o CMakeFiles\sdl_test.dir\timing\timing.cpp.s - -CMakeFiles/sdl_test.dir/game/entity.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/entity.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/entity.cpp.obj: game/entity.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/sdl_test.dir/game/entity.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\entity.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\entity.cpp - -CMakeFiles/sdl_test.dir/game/entity.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/entity.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\entity.cpp > CMakeFiles\sdl_test.dir\game\entity.cpp.i - -CMakeFiles/sdl_test.dir/game/entity.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/entity.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\entity.cpp -o CMakeFiles\sdl_test.dir\game\entity.cpp.s - -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/ground.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/sdl_test.dir/game/ground.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\ground.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\ground.cpp - -CMakeFiles/sdl_test.dir/game/ground.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/ground.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\ground.cpp > CMakeFiles\sdl_test.dir\game\ground.cpp.i - -CMakeFiles/sdl_test.dir/game/ground.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/ground.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\ground.cpp -o CMakeFiles\sdl_test.dir\game\ground.cpp.s - -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/playercontrol.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\playercontrol.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\playercontrol.cpp - -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/playercontrol.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\playercontrol.cpp > CMakeFiles\sdl_test.dir\game\playercontrol.cpp.i - -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/playercontrol.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\playercontrol.cpp -o CMakeFiles\sdl_test.dir\game\playercontrol.cpp.s - -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/gst.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/sdl_test.dir/game/gst.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\gst.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\gst.cpp - -CMakeFiles/sdl_test.dir/game/gst.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/gst.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\gst.cpp > CMakeFiles\sdl_test.dir\game\gst.cpp.i - -CMakeFiles/sdl_test.dir/game/gst.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/gst.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\gst.cpp -o CMakeFiles\sdl_test.dir\game\gst.cpp.s - -CMakeFiles/sdl_test.dir/game/view.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/view.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/view.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/sdl_test.dir/game/view.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\view.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\view.cpp - -CMakeFiles/sdl_test.dir/game/view.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/view.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\view.cpp > CMakeFiles\sdl_test.dir\game\view.cpp.i - -CMakeFiles/sdl_test.dir/game/view.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/view.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\view.cpp -o CMakeFiles\sdl_test.dir\game\view.cpp.s - -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/menu.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/sdl_test.dir/game/menu.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\menu.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\menu.cpp - -CMakeFiles/sdl_test.dir/game/menu.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/menu.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\menu.cpp > CMakeFiles\sdl_test.dir\game\menu.cpp.i - -CMakeFiles/sdl_test.dir/game/menu.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/menu.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\menu.cpp -o CMakeFiles\sdl_test.dir\game\menu.cpp.s - -CMakeFiles/sdl_test.dir/game/tile.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/tile.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/tile.cpp.obj: game/tile.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/sdl_test.dir/game/tile.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\tile.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\tile.cpp - -CMakeFiles/sdl_test.dir/game/tile.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/tile.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\tile.cpp > CMakeFiles\sdl_test.dir\game\tile.cpp.i - -CMakeFiles/sdl_test.dir/game/tile.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/tile.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\tile.cpp -o CMakeFiles\sdl_test.dir\game\tile.cpp.s - -CMakeFiles/sdl_test.dir/game/load.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/load.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/load.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/sdl_test.dir/game/load.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\load.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\load.cpp - -CMakeFiles/sdl_test.dir/game/load.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/load.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\load.cpp > CMakeFiles\sdl_test.dir\game\load.cpp.i - -CMakeFiles/sdl_test.dir/game/load.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/load.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\load.cpp -o CMakeFiles\sdl_test.dir\game\load.cpp.s - -CMakeFiles/sdl_test.dir/game/tech.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/tech.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/tech.cpp.obj: game/tech.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/sdl_test.dir/game/tech.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\tech.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\tech.cpp - -CMakeFiles/sdl_test.dir/game/tech.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/tech.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\tech.cpp > CMakeFiles\sdl_test.dir\game\tech.cpp.i - -CMakeFiles/sdl_test.dir/game/tech.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/tech.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\tech.cpp -o CMakeFiles\sdl_test.dir\game\tech.cpp.s - -CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: CMakeFiles/sdl_test.dir/flags.make -CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp -CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: game/ai/action.cpp - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\ai\action.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\ai\action.cpp - -CMakeFiles/sdl_test.dir/game/ai/action.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/ai/action.cpp.i" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\ai\action.cpp > CMakeFiles\sdl_test.dir\game\ai\action.cpp.i - -CMakeFiles/sdl_test.dir/game/ai/action.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/ai/action.cpp.s" - C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\ai\action.cpp -o CMakeFiles\sdl_test.dir\game\ai\action.cpp.s - -# Object files for target sdl_test -sdl_test_OBJECTS = \ -"CMakeFiles/sdl_test.dir/main.cpp.obj" \ -"CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj" \ -"CMakeFiles/sdl_test.dir/commands/commands.cpp.obj" \ -"CMakeFiles/sdl_test.dir/timing/timing.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/entity.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/ground.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/gst.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/view.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/menu.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/tile.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/load.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/tech.cpp.obj" \ -"CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj" - -# External object files for target sdl_test -sdl_test_EXTERNAL_OBJECTS = - -build/sdl_test.exe: CMakeFiles/sdl_test.dir/main.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/commands/commands.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/timing/timing.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/entity.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/ground.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/gst.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/view.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/menu.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/tile.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/load.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/tech.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj -build/sdl_test.exe: CMakeFiles/sdl_test.dir/build.make -build/sdl_test.exe: CMakeFiles/sdl_test.dir/linklibs.rsp -build/sdl_test.exe: CMakeFiles/sdl_test.dir/objects1.rsp -build/sdl_test.exe: CMakeFiles/sdl_test.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Linking CXX executable build\sdl_test.exe" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles\sdl_test.dir\link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/sdl_test.dir/build: build/sdl_test.exe - -.PHONY : CMakeFiles/sdl_test.dir/build - -CMakeFiles/sdl_test.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles\sdl_test.dir\cmake_clean.cmake -.PHONY : CMakeFiles/sdl_test.dir/clean - -CMakeFiles/sdl_test.dir/depend: - $(CMAKE_COMMAND) -E cmake_depends "MinGW Makefiles" C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles\sdl_test.dir\DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/sdl_test.dir/depend - +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+# Delete rule output on recipe failure.
+.DELETE_ON_ERROR:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+SHELL = cmd.exe
+
+# The CMake executable.
+CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe"
+
+# The command to remove a file.
+RM = "C:\Program Files\CMake\bin\cmake.exe" -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age
+
+# Include any dependencies generated for this target.
+include CMakeFiles/sdl_test.dir/depend.make
+
+# Include the progress variables for this target.
+include CMakeFiles/sdl_test.dir/progress.make
+
+# Include the compile flags for this target's objects.
+include CMakeFiles/sdl_test.dir/flags.make
+
+CMakeFiles/sdl_test.dir/main.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/main.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/main.cpp.obj: main.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/sdl_test.dir/main.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\main.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\main.cpp
+
+CMakeFiles/sdl_test.dir/main.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/main.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\main.cpp > CMakeFiles\sdl_test.dir\main.cpp.i
+
+CMakeFiles/sdl_test.dir/main.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/main.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\main.cpp -o CMakeFiles\sdl_test.dir\main.cpp.s
+
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/graphics.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\graphics\graphics.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\graphics\graphics.cpp
+
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/graphics/graphics.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\graphics\graphics.cpp > CMakeFiles\sdl_test.dir\graphics\graphics.cpp.i
+
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/graphics/graphics.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\graphics\graphics.cpp -o CMakeFiles\sdl_test.dir\graphics\graphics.cpp.s
+
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: commands/commands.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building CXX object CMakeFiles/sdl_test.dir/commands/commands.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\commands\commands.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\commands\commands.cpp
+
+CMakeFiles/sdl_test.dir/commands/commands.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/commands/commands.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\commands\commands.cpp > CMakeFiles\sdl_test.dir\commands\commands.cpp.i
+
+CMakeFiles/sdl_test.dir/commands/commands.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/commands/commands.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\commands\commands.cpp -o CMakeFiles\sdl_test.dir\commands\commands.cpp.s
+
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: timing/timing.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building CXX object CMakeFiles/sdl_test.dir/timing/timing.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\timing\timing.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\timing\timing.cpp
+
+CMakeFiles/sdl_test.dir/timing/timing.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/timing/timing.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\timing\timing.cpp > CMakeFiles\sdl_test.dir\timing\timing.cpp.i
+
+CMakeFiles/sdl_test.dir/timing/timing.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/timing/timing.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\timing\timing.cpp -o CMakeFiles\sdl_test.dir\timing\timing.cpp.s
+
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj: game/entity.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Building CXX object CMakeFiles/sdl_test.dir/game/entity.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\entity.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\entity.cpp
+
+CMakeFiles/sdl_test.dir/game/entity.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/entity.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\entity.cpp > CMakeFiles\sdl_test.dir\game\entity.cpp.i
+
+CMakeFiles/sdl_test.dir/game/entity.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/entity.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\entity.cpp -o CMakeFiles\sdl_test.dir\game\entity.cpp.s
+
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/ground.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_6) "Building CXX object CMakeFiles/sdl_test.dir/game/ground.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\ground.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\ground.cpp
+
+CMakeFiles/sdl_test.dir/game/ground.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/ground.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\ground.cpp > CMakeFiles\sdl_test.dir\game\ground.cpp.i
+
+CMakeFiles/sdl_test.dir/game/ground.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/ground.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\ground.cpp -o CMakeFiles\sdl_test.dir\game\ground.cpp.s
+
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/playercontrol.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_7) "Building CXX object CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\playercontrol.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\playercontrol.cpp
+
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/playercontrol.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\playercontrol.cpp > CMakeFiles\sdl_test.dir\game\playercontrol.cpp.i
+
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/playercontrol.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\playercontrol.cpp -o CMakeFiles\sdl_test.dir\game\playercontrol.cpp.s
+
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/gst.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_8) "Building CXX object CMakeFiles/sdl_test.dir/game/gst.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\gst.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\gst.cpp
+
+CMakeFiles/sdl_test.dir/game/gst.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/gst.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\gst.cpp > CMakeFiles\sdl_test.dir\game\gst.cpp.i
+
+CMakeFiles/sdl_test.dir/game/gst.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/gst.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\gst.cpp -o CMakeFiles\sdl_test.dir\game\gst.cpp.s
+
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/view.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_9) "Building CXX object CMakeFiles/sdl_test.dir/game/view.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\view.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\view.cpp
+
+CMakeFiles/sdl_test.dir/game/view.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/view.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\view.cpp > CMakeFiles\sdl_test.dir\game\view.cpp.i
+
+CMakeFiles/sdl_test.dir/game/view.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/view.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\view.cpp -o CMakeFiles\sdl_test.dir\game\view.cpp.s
+
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/menu.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_10) "Building CXX object CMakeFiles/sdl_test.dir/game/menu.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\menu.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\menu.cpp
+
+CMakeFiles/sdl_test.dir/game/menu.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/menu.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\menu.cpp > CMakeFiles\sdl_test.dir\game\menu.cpp.i
+
+CMakeFiles/sdl_test.dir/game/menu.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/menu.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\menu.cpp -o CMakeFiles\sdl_test.dir\game\menu.cpp.s
+
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj: game/tile.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_11) "Building CXX object CMakeFiles/sdl_test.dir/game/tile.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\tile.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\tile.cpp
+
+CMakeFiles/sdl_test.dir/game/tile.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/tile.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\tile.cpp > CMakeFiles\sdl_test.dir\game\tile.cpp.i
+
+CMakeFiles/sdl_test.dir/game/tile.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/tile.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\tile.cpp -o CMakeFiles\sdl_test.dir\game\tile.cpp.s
+
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/load.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_12) "Building CXX object CMakeFiles/sdl_test.dir/game/load.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\load.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\load.cpp
+
+CMakeFiles/sdl_test.dir/game/load.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/load.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\load.cpp > CMakeFiles\sdl_test.dir\game\load.cpp.i
+
+CMakeFiles/sdl_test.dir/game/load.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/load.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\load.cpp -o CMakeFiles\sdl_test.dir\game\load.cpp.s
+
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj: game/tech.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_13) "Building CXX object CMakeFiles/sdl_test.dir/game/tech.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\tech.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\tech.cpp
+
+CMakeFiles/sdl_test.dir/game/tech.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/tech.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\tech.cpp > CMakeFiles\sdl_test.dir\game\tech.cpp.i
+
+CMakeFiles/sdl_test.dir/game/tech.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/tech.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\tech.cpp -o CMakeFiles\sdl_test.dir\game\tech.cpp.s
+
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: CMakeFiles/sdl_test.dir/flags.make
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: CMakeFiles/sdl_test.dir/includes_CXX.rsp
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: game/ai/action.cpp
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_14) "Building CXX object CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -o CMakeFiles\sdl_test.dir\game\ai\action.cpp.obj -c C:\Users\jaksk\Desktop\dev\_cpp\age\game\ai\action.cpp
+
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.i: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/sdl_test.dir/game/ai/action.cpp.i"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E C:\Users\jaksk\Desktop\dev\_cpp\age\game\ai\action.cpp > CMakeFiles\sdl_test.dir\game\ai\action.cpp.i
+
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.s: cmake_force
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/sdl_test.dir/game/ai/action.cpp.s"
+ C:\MinGW64\bin\g++.exe $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S C:\Users\jaksk\Desktop\dev\_cpp\age\game\ai\action.cpp -o CMakeFiles\sdl_test.dir\game\ai\action.cpp.s
+
+# Object files for target sdl_test
+sdl_test_OBJECTS = \
+"CMakeFiles/sdl_test.dir/main.cpp.obj" \
+"CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj" \
+"CMakeFiles/sdl_test.dir/commands/commands.cpp.obj" \
+"CMakeFiles/sdl_test.dir/timing/timing.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/entity.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/ground.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/gst.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/view.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/menu.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/tile.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/load.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/tech.cpp.obj" \
+"CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj"
+
+# External object files for target sdl_test
+sdl_test_EXTERNAL_OBJECTS =
+
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/main.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/commands/commands.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/timing/timing.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/entity.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/ground.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/gst.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/view.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/menu.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/tile.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/load.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/tech.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/build.make
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/linklibs.rsp
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/objects1.rsp
+build/sdl_test.exe: CMakeFiles/sdl_test.dir/link.txt
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles --progress-num=$(CMAKE_PROGRESS_15) "Linking CXX executable build\sdl_test.exe"
+ $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles\sdl_test.dir\link.txt --verbose=$(VERBOSE)
+
+# Rule to build all files generated by this target.
+CMakeFiles/sdl_test.dir/build: build/sdl_test.exe
+
+.PHONY : CMakeFiles/sdl_test.dir/build
+
+CMakeFiles/sdl_test.dir/clean:
+ $(CMAKE_COMMAND) -P CMakeFiles\sdl_test.dir\cmake_clean.cmake
+.PHONY : CMakeFiles/sdl_test.dir/clean
+
+CMakeFiles/sdl_test.dir/depend:
+ $(CMAKE_COMMAND) -E cmake_depends "MinGW Makefiles" C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles\sdl_test.dir\DependInfo.cmake --color=$(COLOR)
+.PHONY : CMakeFiles/sdl_test.dir/depend
+
diff --git a/CMakeFiles/sdl_test.dir/cmake_clean.cmake b/CMakeFiles/sdl_test.dir/cmake_clean.cmake index cabfeec..a50e8ab 100644 --- a/CMakeFiles/sdl_test.dir/cmake_clean.cmake +++ b/CMakeFiles/sdl_test.dir/cmake_clean.cmake @@ -1,25 +1,25 @@ -file(REMOVE_RECURSE - "CMakeFiles/sdl_test.dir/commands/commands.cpp.obj" - "CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj" - "CMakeFiles/sdl_test.dir/game/entity.cpp.obj" - "CMakeFiles/sdl_test.dir/game/ground.cpp.obj" - "CMakeFiles/sdl_test.dir/game/gst.cpp.obj" - "CMakeFiles/sdl_test.dir/game/load.cpp.obj" - "CMakeFiles/sdl_test.dir/game/menu.cpp.obj" - "CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj" - "CMakeFiles/sdl_test.dir/game/tech.cpp.obj" - "CMakeFiles/sdl_test.dir/game/tile.cpp.obj" - "CMakeFiles/sdl_test.dir/game/view.cpp.obj" - "CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj" - "CMakeFiles/sdl_test.dir/main.cpp.obj" - "CMakeFiles/sdl_test.dir/timing/timing.cpp.obj" - "build/libsdl_test.dll.a" - "build/sdl_test.exe" - "build/sdl_test.exe.manifest" - "build/sdl_test.pdb" -) - -# Per-language clean rules from dependency scanning. -foreach(lang CXX) - include(CMakeFiles/sdl_test.dir/cmake_clean_${lang}.cmake OPTIONAL) -endforeach() +file(REMOVE_RECURSE
+ "CMakeFiles/sdl_test.dir/commands/commands.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/entity.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/ground.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/gst.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/load.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/menu.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/tech.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/tile.cpp.obj"
+ "CMakeFiles/sdl_test.dir/game/view.cpp.obj"
+ "CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj"
+ "CMakeFiles/sdl_test.dir/main.cpp.obj"
+ "CMakeFiles/sdl_test.dir/timing/timing.cpp.obj"
+ "build/libsdl_test.dll.a"
+ "build/sdl_test.exe"
+ "build/sdl_test.exe.manifest"
+ "build/sdl_test.pdb"
+)
+
+# Per-language clean rules from dependency scanning.
+foreach(lang CXX)
+ include(CMakeFiles/sdl_test.dir/cmake_clean_${lang}.cmake OPTIONAL)
+endforeach()
diff --git a/CMakeFiles/sdl_test.dir/depend.internal b/CMakeFiles/sdl_test.dir/depend.internal index 5edf746..2211c3e 100644 --- a/CMakeFiles/sdl_test.dir/depend.internal +++ b/CMakeFiles/sdl_test.dir/depend.internal @@ -1,302 +1,302 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj - C:/MinGW_libs/include/SDL2/SDL.h - C:/MinGW_libs/include/SDL2/SDL_assert.h - C:/MinGW_libs/include/SDL2/SDL_atomic.h - C:/MinGW_libs/include/SDL2/SDL_audio.h - C:/MinGW_libs/include/SDL2/SDL_blendmode.h - C:/MinGW_libs/include/SDL2/SDL_clipboard.h - C:/MinGW_libs/include/SDL2/SDL_config.h - C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h - C:/MinGW_libs/include/SDL2/SDL_endian.h - C:/MinGW_libs/include/SDL2/SDL_error.h - C:/MinGW_libs/include/SDL2/SDL_events.h - C:/MinGW_libs/include/SDL2/SDL_filesystem.h - C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h - C:/MinGW_libs/include/SDL2/SDL_gesture.h - C:/MinGW_libs/include/SDL2/SDL_haptic.h - C:/MinGW_libs/include/SDL2/SDL_hints.h - C:/MinGW_libs/include/SDL2/SDL_joystick.h - C:/MinGW_libs/include/SDL2/SDL_keyboard.h - C:/MinGW_libs/include/SDL2/SDL_keycode.h - C:/MinGW_libs/include/SDL2/SDL_loadso.h - C:/MinGW_libs/include/SDL2/SDL_log.h - C:/MinGW_libs/include/SDL2/SDL_main.h - C:/MinGW_libs/include/SDL2/SDL_messagebox.h - C:/MinGW_libs/include/SDL2/SDL_metal.h - C:/MinGW_libs/include/SDL2/SDL_mouse.h - C:/MinGW_libs/include/SDL2/SDL_mutex.h - C:/MinGW_libs/include/SDL2/SDL_pixels.h - C:/MinGW_libs/include/SDL2/SDL_platform.h - C:/MinGW_libs/include/SDL2/SDL_power.h - C:/MinGW_libs/include/SDL2/SDL_quit.h - C:/MinGW_libs/include/SDL2/SDL_rect.h - C:/MinGW_libs/include/SDL2/SDL_render.h - C:/MinGW_libs/include/SDL2/SDL_rwops.h - C:/MinGW_libs/include/SDL2/SDL_scancode.h - C:/MinGW_libs/include/SDL2/SDL_sensor.h - C:/MinGW_libs/include/SDL2/SDL_shape.h - C:/MinGW_libs/include/SDL2/SDL_stdinc.h - C:/MinGW_libs/include/SDL2/SDL_surface.h - C:/MinGW_libs/include/SDL2/SDL_system.h - C:/MinGW_libs/include/SDL2/SDL_thread.h - C:/MinGW_libs/include/SDL2/SDL_timer.h - C:/MinGW_libs/include/SDL2/SDL_touch.h - C:/MinGW_libs/include/SDL2/SDL_version.h - C:/MinGW_libs/include/SDL2/SDL_video.h - C:/MinGW_libs/include/SDL2/begin_code.h - C:/MinGW_libs/include/SDL2/close_code.h - C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h -CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h -CMakeFiles/sdl_test.dir/game/entity.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/nlohmann/json.hpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/menu.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/tech.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/tile.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj - C:/MinGW_libs/include/SDL2/SDL.h - C:/MinGW_libs/include/SDL2/SDL_assert.h - C:/MinGW_libs/include/SDL2/SDL_atomic.h - C:/MinGW_libs/include/SDL2/SDL_audio.h - C:/MinGW_libs/include/SDL2/SDL_blendmode.h - C:/MinGW_libs/include/SDL2/SDL_clipboard.h - C:/MinGW_libs/include/SDL2/SDL_config.h - C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h - C:/MinGW_libs/include/SDL2/SDL_endian.h - C:/MinGW_libs/include/SDL2/SDL_error.h - C:/MinGW_libs/include/SDL2/SDL_events.h - C:/MinGW_libs/include/SDL2/SDL_filesystem.h - C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h - C:/MinGW_libs/include/SDL2/SDL_gesture.h - C:/MinGW_libs/include/SDL2/SDL_haptic.h - C:/MinGW_libs/include/SDL2/SDL_hints.h - C:/MinGW_libs/include/SDL2/SDL_joystick.h - C:/MinGW_libs/include/SDL2/SDL_keyboard.h - C:/MinGW_libs/include/SDL2/SDL_keycode.h - C:/MinGW_libs/include/SDL2/SDL_loadso.h - C:/MinGW_libs/include/SDL2/SDL_log.h - C:/MinGW_libs/include/SDL2/SDL_main.h - C:/MinGW_libs/include/SDL2/SDL_messagebox.h - C:/MinGW_libs/include/SDL2/SDL_metal.h - C:/MinGW_libs/include/SDL2/SDL_mouse.h - C:/MinGW_libs/include/SDL2/SDL_mutex.h - C:/MinGW_libs/include/SDL2/SDL_pixels.h - C:/MinGW_libs/include/SDL2/SDL_platform.h - C:/MinGW_libs/include/SDL2/SDL_power.h - C:/MinGW_libs/include/SDL2/SDL_quit.h - C:/MinGW_libs/include/SDL2/SDL_rect.h - C:/MinGW_libs/include/SDL2/SDL_render.h - C:/MinGW_libs/include/SDL2/SDL_rwops.h - C:/MinGW_libs/include/SDL2/SDL_scancode.h - C:/MinGW_libs/include/SDL2/SDL_sensor.h - C:/MinGW_libs/include/SDL2/SDL_shape.h - C:/MinGW_libs/include/SDL2/SDL_stdinc.h - C:/MinGW_libs/include/SDL2/SDL_surface.h - C:/MinGW_libs/include/SDL2/SDL_system.h - C:/MinGW_libs/include/SDL2/SDL_thread.h - C:/MinGW_libs/include/SDL2/SDL_timer.h - C:/MinGW_libs/include/SDL2/SDL_touch.h - C:/MinGW_libs/include/SDL2/SDL_version.h - C:/MinGW_libs/include/SDL2/SDL_video.h - C:/MinGW_libs/include/SDL2/begin_code.h - C:/MinGW_libs/include/SDL2/close_code.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/constants.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h - C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h - C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/main.cpp.obj - C:/MinGW_libs/include/SDL2/SDL.h - C:/MinGW_libs/include/SDL2/SDL_assert.h - C:/MinGW_libs/include/SDL2/SDL_atomic.h - C:/MinGW_libs/include/SDL2/SDL_audio.h - C:/MinGW_libs/include/SDL2/SDL_blendmode.h - C:/MinGW_libs/include/SDL2/SDL_clipboard.h - C:/MinGW_libs/include/SDL2/SDL_config.h - C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h - C:/MinGW_libs/include/SDL2/SDL_endian.h - C:/MinGW_libs/include/SDL2/SDL_error.h - C:/MinGW_libs/include/SDL2/SDL_events.h - C:/MinGW_libs/include/SDL2/SDL_filesystem.h - C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h - C:/MinGW_libs/include/SDL2/SDL_gesture.h - C:/MinGW_libs/include/SDL2/SDL_haptic.h - C:/MinGW_libs/include/SDL2/SDL_hints.h - C:/MinGW_libs/include/SDL2/SDL_joystick.h - C:/MinGW_libs/include/SDL2/SDL_keyboard.h - C:/MinGW_libs/include/SDL2/SDL_keycode.h - C:/MinGW_libs/include/SDL2/SDL_loadso.h - C:/MinGW_libs/include/SDL2/SDL_log.h - C:/MinGW_libs/include/SDL2/SDL_main.h - C:/MinGW_libs/include/SDL2/SDL_messagebox.h - C:/MinGW_libs/include/SDL2/SDL_metal.h - C:/MinGW_libs/include/SDL2/SDL_mouse.h - C:/MinGW_libs/include/SDL2/SDL_mutex.h - C:/MinGW_libs/include/SDL2/SDL_pixels.h - C:/MinGW_libs/include/SDL2/SDL_platform.h - C:/MinGW_libs/include/SDL2/SDL_power.h - C:/MinGW_libs/include/SDL2/SDL_quit.h - C:/MinGW_libs/include/SDL2/SDL_rect.h - C:/MinGW_libs/include/SDL2/SDL_render.h - C:/MinGW_libs/include/SDL2/SDL_rwops.h - C:/MinGW_libs/include/SDL2/SDL_scancode.h - C:/MinGW_libs/include/SDL2/SDL_sensor.h - C:/MinGW_libs/include/SDL2/SDL_shape.h - C:/MinGW_libs/include/SDL2/SDL_stdinc.h - C:/MinGW_libs/include/SDL2/SDL_surface.h - C:/MinGW_libs/include/SDL2/SDL_system.h - C:/MinGW_libs/include/SDL2/SDL_thread.h - C:/MinGW_libs/include/SDL2/SDL_timer.h - C:/MinGW_libs/include/SDL2/SDL_touch.h - C:/MinGW_libs/include/SDL2/SDL_version.h - C:/MinGW_libs/include/SDL2/SDL_video.h - C:/MinGW_libs/include/SDL2/begin_code.h - C:/MinGW_libs/include/SDL2/close_code.h - C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/engine.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/evaluator.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/generator.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h - C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h - C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h - C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h - C:/Users/jaksk/Desktop/dev/_cpp/age/main.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h - C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj - C:/MinGW_libs/include/SDL2/SDL.h - C:/MinGW_libs/include/SDL2/SDL_assert.h - C:/MinGW_libs/include/SDL2/SDL_atomic.h - C:/MinGW_libs/include/SDL2/SDL_audio.h - C:/MinGW_libs/include/SDL2/SDL_blendmode.h - C:/MinGW_libs/include/SDL2/SDL_clipboard.h - C:/MinGW_libs/include/SDL2/SDL_config.h - C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h - C:/MinGW_libs/include/SDL2/SDL_endian.h - C:/MinGW_libs/include/SDL2/SDL_error.h - C:/MinGW_libs/include/SDL2/SDL_events.h - C:/MinGW_libs/include/SDL2/SDL_filesystem.h - C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h - C:/MinGW_libs/include/SDL2/SDL_gesture.h - C:/MinGW_libs/include/SDL2/SDL_haptic.h - C:/MinGW_libs/include/SDL2/SDL_hints.h - C:/MinGW_libs/include/SDL2/SDL_joystick.h - C:/MinGW_libs/include/SDL2/SDL_keyboard.h - C:/MinGW_libs/include/SDL2/SDL_keycode.h - C:/MinGW_libs/include/SDL2/SDL_loadso.h - C:/MinGW_libs/include/SDL2/SDL_log.h - C:/MinGW_libs/include/SDL2/SDL_main.h - C:/MinGW_libs/include/SDL2/SDL_messagebox.h - C:/MinGW_libs/include/SDL2/SDL_metal.h - C:/MinGW_libs/include/SDL2/SDL_mouse.h - C:/MinGW_libs/include/SDL2/SDL_mutex.h - C:/MinGW_libs/include/SDL2/SDL_pixels.h - C:/MinGW_libs/include/SDL2/SDL_platform.h - C:/MinGW_libs/include/SDL2/SDL_power.h - C:/MinGW_libs/include/SDL2/SDL_quit.h - C:/MinGW_libs/include/SDL2/SDL_rect.h - C:/MinGW_libs/include/SDL2/SDL_render.h - C:/MinGW_libs/include/SDL2/SDL_rwops.h - C:/MinGW_libs/include/SDL2/SDL_scancode.h - C:/MinGW_libs/include/SDL2/SDL_sensor.h - C:/MinGW_libs/include/SDL2/SDL_shape.h - C:/MinGW_libs/include/SDL2/SDL_stdinc.h - C:/MinGW_libs/include/SDL2/SDL_surface.h - C:/MinGW_libs/include/SDL2/SDL_system.h - C:/MinGW_libs/include/SDL2/SDL_thread.h - C:/MinGW_libs/include/SDL2/SDL_timer.h - C:/MinGW_libs/include/SDL2/SDL_touch.h - C:/MinGW_libs/include/SDL2/SDL_version.h - C:/MinGW_libs/include/SDL2/SDL_video.h - C:/MinGW_libs/include/SDL2/begin_code.h - C:/MinGW_libs/include/SDL2/close_code.h - C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.cpp - C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj
+ C:/MinGW_libs/include/SDL2/SDL.h
+ C:/MinGW_libs/include/SDL2/SDL_assert.h
+ C:/MinGW_libs/include/SDL2/SDL_atomic.h
+ C:/MinGW_libs/include/SDL2/SDL_audio.h
+ C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+ C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+ C:/MinGW_libs/include/SDL2/SDL_config.h
+ C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+ C:/MinGW_libs/include/SDL2/SDL_endian.h
+ C:/MinGW_libs/include/SDL2/SDL_error.h
+ C:/MinGW_libs/include/SDL2/SDL_events.h
+ C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+ C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+ C:/MinGW_libs/include/SDL2/SDL_gesture.h
+ C:/MinGW_libs/include/SDL2/SDL_haptic.h
+ C:/MinGW_libs/include/SDL2/SDL_hints.h
+ C:/MinGW_libs/include/SDL2/SDL_joystick.h
+ C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+ C:/MinGW_libs/include/SDL2/SDL_keycode.h
+ C:/MinGW_libs/include/SDL2/SDL_loadso.h
+ C:/MinGW_libs/include/SDL2/SDL_log.h
+ C:/MinGW_libs/include/SDL2/SDL_main.h
+ C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+ C:/MinGW_libs/include/SDL2/SDL_metal.h
+ C:/MinGW_libs/include/SDL2/SDL_mouse.h
+ C:/MinGW_libs/include/SDL2/SDL_mutex.h
+ C:/MinGW_libs/include/SDL2/SDL_pixels.h
+ C:/MinGW_libs/include/SDL2/SDL_platform.h
+ C:/MinGW_libs/include/SDL2/SDL_power.h
+ C:/MinGW_libs/include/SDL2/SDL_quit.h
+ C:/MinGW_libs/include/SDL2/SDL_rect.h
+ C:/MinGW_libs/include/SDL2/SDL_render.h
+ C:/MinGW_libs/include/SDL2/SDL_rwops.h
+ C:/MinGW_libs/include/SDL2/SDL_scancode.h
+ C:/MinGW_libs/include/SDL2/SDL_sensor.h
+ C:/MinGW_libs/include/SDL2/SDL_shape.h
+ C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+ C:/MinGW_libs/include/SDL2/SDL_surface.h
+ C:/MinGW_libs/include/SDL2/SDL_system.h
+ C:/MinGW_libs/include/SDL2/SDL_thread.h
+ C:/MinGW_libs/include/SDL2/SDL_timer.h
+ C:/MinGW_libs/include/SDL2/SDL_touch.h
+ C:/MinGW_libs/include/SDL2/SDL_version.h
+ C:/MinGW_libs/include/SDL2/SDL_video.h
+ C:/MinGW_libs/include/SDL2/begin_code.h
+ C:/MinGW_libs/include/SDL2/close_code.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/nlohmann/json.hpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj
+ C:/MinGW_libs/include/SDL2/SDL.h
+ C:/MinGW_libs/include/SDL2/SDL_assert.h
+ C:/MinGW_libs/include/SDL2/SDL_atomic.h
+ C:/MinGW_libs/include/SDL2/SDL_audio.h
+ C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+ C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+ C:/MinGW_libs/include/SDL2/SDL_config.h
+ C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+ C:/MinGW_libs/include/SDL2/SDL_endian.h
+ C:/MinGW_libs/include/SDL2/SDL_error.h
+ C:/MinGW_libs/include/SDL2/SDL_events.h
+ C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+ C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+ C:/MinGW_libs/include/SDL2/SDL_gesture.h
+ C:/MinGW_libs/include/SDL2/SDL_haptic.h
+ C:/MinGW_libs/include/SDL2/SDL_hints.h
+ C:/MinGW_libs/include/SDL2/SDL_joystick.h
+ C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+ C:/MinGW_libs/include/SDL2/SDL_keycode.h
+ C:/MinGW_libs/include/SDL2/SDL_loadso.h
+ C:/MinGW_libs/include/SDL2/SDL_log.h
+ C:/MinGW_libs/include/SDL2/SDL_main.h
+ C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+ C:/MinGW_libs/include/SDL2/SDL_metal.h
+ C:/MinGW_libs/include/SDL2/SDL_mouse.h
+ C:/MinGW_libs/include/SDL2/SDL_mutex.h
+ C:/MinGW_libs/include/SDL2/SDL_pixels.h
+ C:/MinGW_libs/include/SDL2/SDL_platform.h
+ C:/MinGW_libs/include/SDL2/SDL_power.h
+ C:/MinGW_libs/include/SDL2/SDL_quit.h
+ C:/MinGW_libs/include/SDL2/SDL_rect.h
+ C:/MinGW_libs/include/SDL2/SDL_render.h
+ C:/MinGW_libs/include/SDL2/SDL_rwops.h
+ C:/MinGW_libs/include/SDL2/SDL_scancode.h
+ C:/MinGW_libs/include/SDL2/SDL_sensor.h
+ C:/MinGW_libs/include/SDL2/SDL_shape.h
+ C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+ C:/MinGW_libs/include/SDL2/SDL_surface.h
+ C:/MinGW_libs/include/SDL2/SDL_system.h
+ C:/MinGW_libs/include/SDL2/SDL_thread.h
+ C:/MinGW_libs/include/SDL2/SDL_timer.h
+ C:/MinGW_libs/include/SDL2/SDL_touch.h
+ C:/MinGW_libs/include/SDL2/SDL_version.h
+ C:/MinGW_libs/include/SDL2/SDL_video.h
+ C:/MinGW_libs/include/SDL2/begin_code.h
+ C:/MinGW_libs/include/SDL2/close_code.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/constants.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/main.cpp.obj
+ C:/MinGW_libs/include/SDL2/SDL.h
+ C:/MinGW_libs/include/SDL2/SDL_assert.h
+ C:/MinGW_libs/include/SDL2/SDL_atomic.h
+ C:/MinGW_libs/include/SDL2/SDL_audio.h
+ C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+ C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+ C:/MinGW_libs/include/SDL2/SDL_config.h
+ C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+ C:/MinGW_libs/include/SDL2/SDL_endian.h
+ C:/MinGW_libs/include/SDL2/SDL_error.h
+ C:/MinGW_libs/include/SDL2/SDL_events.h
+ C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+ C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+ C:/MinGW_libs/include/SDL2/SDL_gesture.h
+ C:/MinGW_libs/include/SDL2/SDL_haptic.h
+ C:/MinGW_libs/include/SDL2/SDL_hints.h
+ C:/MinGW_libs/include/SDL2/SDL_joystick.h
+ C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+ C:/MinGW_libs/include/SDL2/SDL_keycode.h
+ C:/MinGW_libs/include/SDL2/SDL_loadso.h
+ C:/MinGW_libs/include/SDL2/SDL_log.h
+ C:/MinGW_libs/include/SDL2/SDL_main.h
+ C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+ C:/MinGW_libs/include/SDL2/SDL_metal.h
+ C:/MinGW_libs/include/SDL2/SDL_mouse.h
+ C:/MinGW_libs/include/SDL2/SDL_mutex.h
+ C:/MinGW_libs/include/SDL2/SDL_pixels.h
+ C:/MinGW_libs/include/SDL2/SDL_platform.h
+ C:/MinGW_libs/include/SDL2/SDL_power.h
+ C:/MinGW_libs/include/SDL2/SDL_quit.h
+ C:/MinGW_libs/include/SDL2/SDL_rect.h
+ C:/MinGW_libs/include/SDL2/SDL_render.h
+ C:/MinGW_libs/include/SDL2/SDL_rwops.h
+ C:/MinGW_libs/include/SDL2/SDL_scancode.h
+ C:/MinGW_libs/include/SDL2/SDL_sensor.h
+ C:/MinGW_libs/include/SDL2/SDL_shape.h
+ C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+ C:/MinGW_libs/include/SDL2/SDL_surface.h
+ C:/MinGW_libs/include/SDL2/SDL_system.h
+ C:/MinGW_libs/include/SDL2/SDL_thread.h
+ C:/MinGW_libs/include/SDL2/SDL_timer.h
+ C:/MinGW_libs/include/SDL2/SDL_touch.h
+ C:/MinGW_libs/include/SDL2/SDL_version.h
+ C:/MinGW_libs/include/SDL2/SDL_video.h
+ C:/MinGW_libs/include/SDL2/begin_code.h
+ C:/MinGW_libs/include/SDL2/close_code.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/commands/commands.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/action.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/engine.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/evaluator.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/generator.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/performer.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ai/tactic.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/entity.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/ground.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/gst.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/load.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/menu.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/player.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/playercontrol.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tech.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/tile.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/game/view.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/cam.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/graphics/graphics.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/main.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/umath/vec2.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj
+ C:/MinGW_libs/include/SDL2/SDL.h
+ C:/MinGW_libs/include/SDL2/SDL_assert.h
+ C:/MinGW_libs/include/SDL2/SDL_atomic.h
+ C:/MinGW_libs/include/SDL2/SDL_audio.h
+ C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+ C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+ C:/MinGW_libs/include/SDL2/SDL_config.h
+ C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+ C:/MinGW_libs/include/SDL2/SDL_endian.h
+ C:/MinGW_libs/include/SDL2/SDL_error.h
+ C:/MinGW_libs/include/SDL2/SDL_events.h
+ C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+ C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+ C:/MinGW_libs/include/SDL2/SDL_gesture.h
+ C:/MinGW_libs/include/SDL2/SDL_haptic.h
+ C:/MinGW_libs/include/SDL2/SDL_hints.h
+ C:/MinGW_libs/include/SDL2/SDL_joystick.h
+ C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+ C:/MinGW_libs/include/SDL2/SDL_keycode.h
+ C:/MinGW_libs/include/SDL2/SDL_loadso.h
+ C:/MinGW_libs/include/SDL2/SDL_log.h
+ C:/MinGW_libs/include/SDL2/SDL_main.h
+ C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+ C:/MinGW_libs/include/SDL2/SDL_metal.h
+ C:/MinGW_libs/include/SDL2/SDL_mouse.h
+ C:/MinGW_libs/include/SDL2/SDL_mutex.h
+ C:/MinGW_libs/include/SDL2/SDL_pixels.h
+ C:/MinGW_libs/include/SDL2/SDL_platform.h
+ C:/MinGW_libs/include/SDL2/SDL_power.h
+ C:/MinGW_libs/include/SDL2/SDL_quit.h
+ C:/MinGW_libs/include/SDL2/SDL_rect.h
+ C:/MinGW_libs/include/SDL2/SDL_render.h
+ C:/MinGW_libs/include/SDL2/SDL_rwops.h
+ C:/MinGW_libs/include/SDL2/SDL_scancode.h
+ C:/MinGW_libs/include/SDL2/SDL_sensor.h
+ C:/MinGW_libs/include/SDL2/SDL_shape.h
+ C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+ C:/MinGW_libs/include/SDL2/SDL_surface.h
+ C:/MinGW_libs/include/SDL2/SDL_system.h
+ C:/MinGW_libs/include/SDL2/SDL_thread.h
+ C:/MinGW_libs/include/SDL2/SDL_timer.h
+ C:/MinGW_libs/include/SDL2/SDL_touch.h
+ C:/MinGW_libs/include/SDL2/SDL_version.h
+ C:/MinGW_libs/include/SDL2/SDL_video.h
+ C:/MinGW_libs/include/SDL2/begin_code.h
+ C:/MinGW_libs/include/SDL2/close_code.h
+ C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.cpp
+ C:/Users/jaksk/Desktop/dev/_cpp/age/timing/timing.h
diff --git a/CMakeFiles/sdl_test.dir/depend.make b/CMakeFiles/sdl_test.dir/depend.make index 0d1b776..1cc1c35 100644 --- a/CMakeFiles/sdl_test.dir/depend.make +++ b/CMakeFiles/sdl_test.dir/depend.make @@ -1,302 +1,302 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: commands/commands.cpp -CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: commands/commands.h - -CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: game/ai/action.cpp -CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: game/ai/action.h - -CMakeFiles/sdl_test.dir/game/entity.cpp.obj: game/entity.cpp -CMakeFiles/sdl_test.dir/game/entity.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/game/entity.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/ground.cpp -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/game/ground.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/gst.cpp -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/game/gst.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/load.cpp -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/load.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/nlohmann/json.hpp -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/game/load.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/menu.cpp -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/menu.h -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/menu.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/menu.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/playercontrol.cpp -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/playercontrol.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/view.h -CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/tech.cpp.obj: game/tech.cpp -CMakeFiles/sdl_test.dir/game/tech.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/tech.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/tile.cpp.obj: game/tile.cpp -CMakeFiles/sdl_test.dir/game/tile.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/game/tile.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/menu.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/view.cpp -CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/view.h -CMakeFiles/sdl_test.dir/game/view.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/constants.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/menu.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/view.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/cam.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/graphics.cpp -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/graphics.h -CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h -CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h -CMakeFiles/sdl_test.dir/main.cpp.obj: commands/commands.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/action.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/engine.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/evaluator.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/generator.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/performer.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/tactic.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/entity.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/ground.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/gst.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/load.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/menu.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/player.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/playercontrol.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/tech.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/tile.h -CMakeFiles/sdl_test.dir/main.cpp.obj: game/view.h -CMakeFiles/sdl_test.dir/main.cpp.obj: graphics/cam.h -CMakeFiles/sdl_test.dir/main.cpp.obj: graphics/graphics.h -CMakeFiles/sdl_test.dir/main.cpp.obj: main.cpp -CMakeFiles/sdl_test.dir/main.cpp.obj: timing/timing.h -CMakeFiles/sdl_test.dir/main.cpp.obj: umath/vec2.h - -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: timing/timing.cpp -CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: timing/timing.h - +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: commands/commands.cpp
+CMakeFiles/sdl_test.dir/commands/commands.cpp.obj: commands/commands.h
+
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: game/ai/action.cpp
+CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj: game/ai/action.h
+
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj: game/entity.cpp
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/game/entity.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/ground.cpp
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/game/ground.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/gst.cpp
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/game/gst.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/load.cpp
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/load.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/nlohmann/json.hpp
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/game/load.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/menu.cpp
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/menu.h
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/menu.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/menu.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/playercontrol.cpp
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/playercontrol.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: game/view.h
+CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj: game/tech.cpp
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/tech.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj: game/tile.cpp
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/game/tile.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/menu.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/view.cpp
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: game/view.h
+CMakeFiles/sdl_test.dir/game/view.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/constants.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/menu.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: game/view.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/cam.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/graphics.cpp
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: graphics/graphics.h
+CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: commands/commands.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/action.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/engine.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/evaluator.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/generator.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/performer.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ai/tactic.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/entity.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/ground.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/gst.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/load.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/menu.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/player.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/playercontrol.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/tech.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/tile.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: game/view.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: graphics/cam.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: graphics/graphics.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: main.cpp
+CMakeFiles/sdl_test.dir/main.cpp.obj: timing/timing.h
+CMakeFiles/sdl_test.dir/main.cpp.obj: umath/vec2.h
+
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_assert.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_atomic.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_audio.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_blendmode.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_clipboard.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_config.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_cpuinfo.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_endian.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_error.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_events.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_filesystem.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gamecontroller.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_gesture.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_haptic.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_hints.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_joystick.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keyboard.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_keycode.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_loadso.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_log.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_main.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_messagebox.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_metal.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mouse.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_mutex.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_pixels.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_platform.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_power.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_quit.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rect.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_render.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_rwops.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_scancode.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_sensor.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_shape.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_stdinc.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_surface.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_system.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_thread.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_timer.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_touch.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_version.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/SDL_video.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/begin_code.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: C:/MinGW_libs/include/SDL2/close_code.h
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: timing/timing.cpp
+CMakeFiles/sdl_test.dir/timing/timing.cpp.obj: timing/timing.h
+
diff --git a/CMakeFiles/sdl_test.dir/flags.make b/CMakeFiles/sdl_test.dir/flags.make index 4b02a46..8773aaa 100644 --- a/CMakeFiles/sdl_test.dir/flags.make +++ b/CMakeFiles/sdl_test.dir/flags.make @@ -1,10 +1,10 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -# compile CXX with C:/MinGW64/bin/g++.exe -CXX_DEFINES = - -CXX_INCLUDES = @CMakeFiles/sdl_test.dir/includes_CXX.rsp - -CXX_FLAGS = -std=c++11 - +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+# compile CXX with C:/MinGW64/bin/g++.exe
+CXX_DEFINES =
+
+CXX_INCLUDES = @CMakeFiles/sdl_test.dir/includes_CXX.rsp
+
+CXX_FLAGS = -std=c++11
+
diff --git a/CMakeFiles/sdl_test.dir/includes_CXX.rsp b/CMakeFiles/sdl_test.dir/includes_CXX.rsp index ee67c49..2557c64 100644 --- a/CMakeFiles/sdl_test.dir/includes_CXX.rsp +++ b/CMakeFiles/sdl_test.dir/includes_CXX.rsp @@ -1 +1 @@ --IC:/MinGW_libs/include +-IC:/MinGW_libs/include
diff --git a/CMakeFiles/sdl_test.dir/link.txt b/CMakeFiles/sdl_test.dir/link.txt index 84a2ca2..4b46697 100644 --- a/CMakeFiles/sdl_test.dir/link.txt +++ b/CMakeFiles/sdl_test.dir/link.txt @@ -1,3 +1,3 @@ -"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\sdl_test.dir/objects.a -C:\MinGW64\bin\ar.exe cr CMakeFiles\sdl_test.dir/objects.a @CMakeFiles\sdl_test.dir\objects1.rsp -C:\MinGW64\bin\g++.exe -Wl,--whole-archive CMakeFiles\sdl_test.dir/objects.a -Wl,--no-whole-archive -o build\sdl_test.exe -Wl,--out-implib,build\libsdl_test.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\sdl_test.dir\linklibs.rsp +"C:\Program Files\CMake\bin\cmake.exe" -E rm -f CMakeFiles\sdl_test.dir/objects.a
+C:\MinGW64\bin\ar.exe cr CMakeFiles\sdl_test.dir/objects.a @CMakeFiles\sdl_test.dir\objects1.rsp
+C:\MinGW64\bin\g++.exe -Wl,--whole-archive CMakeFiles\sdl_test.dir/objects.a -Wl,--no-whole-archive -o build\sdl_test.exe -Wl,--out-implib,build\libsdl_test.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\sdl_test.dir\linklibs.rsp
diff --git a/CMakeFiles/sdl_test.dir/linklibs.rsp b/CMakeFiles/sdl_test.dir/linklibs.rsp index 7824870..7c80ae1 100644 --- a/CMakeFiles/sdl_test.dir/linklibs.rsp +++ b/CMakeFiles/sdl_test.dir/linklibs.rsp @@ -1 +1 @@ - -LC:/MinGW_libs/lib -lSDL2main -lSDL2 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32 + -LC:/MinGW_libs/lib -lSDL2main -lSDL2 -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
diff --git a/CMakeFiles/sdl_test.dir/objects1.rsp b/CMakeFiles/sdl_test.dir/objects1.rsp index 764058d..8a59fac 100644 --- a/CMakeFiles/sdl_test.dir/objects1.rsp +++ b/CMakeFiles/sdl_test.dir/objects1.rsp @@ -1 +1 @@ -CMakeFiles/sdl_test.dir/main.cpp.obj CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj CMakeFiles/sdl_test.dir/commands/commands.cpp.obj CMakeFiles/sdl_test.dir/timing/timing.cpp.obj CMakeFiles/sdl_test.dir/game/entity.cpp.obj CMakeFiles/sdl_test.dir/game/ground.cpp.obj CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj CMakeFiles/sdl_test.dir/game/gst.cpp.obj CMakeFiles/sdl_test.dir/game/view.cpp.obj CMakeFiles/sdl_test.dir/game/menu.cpp.obj CMakeFiles/sdl_test.dir/game/tile.cpp.obj CMakeFiles/sdl_test.dir/game/load.cpp.obj CMakeFiles/sdl_test.dir/game/tech.cpp.obj CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj +CMakeFiles/sdl_test.dir/main.cpp.obj CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj CMakeFiles/sdl_test.dir/commands/commands.cpp.obj CMakeFiles/sdl_test.dir/timing/timing.cpp.obj CMakeFiles/sdl_test.dir/game/entity.cpp.obj CMakeFiles/sdl_test.dir/game/ground.cpp.obj CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj CMakeFiles/sdl_test.dir/game/gst.cpp.obj CMakeFiles/sdl_test.dir/game/view.cpp.obj CMakeFiles/sdl_test.dir/game/menu.cpp.obj CMakeFiles/sdl_test.dir/game/tile.cpp.obj CMakeFiles/sdl_test.dir/game/load.cpp.obj CMakeFiles/sdl_test.dir/game/tech.cpp.obj CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj
diff --git a/CMakeFiles/sdl_test.dir/progress.make b/CMakeFiles/sdl_test.dir/progress.make index 1029366..21578a7 100644 --- a/CMakeFiles/sdl_test.dir/progress.make +++ b/CMakeFiles/sdl_test.dir/progress.make @@ -1,16 +1,16 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 -CMAKE_PROGRESS_3 = 3 -CMAKE_PROGRESS_4 = 4 -CMAKE_PROGRESS_5 = 5 -CMAKE_PROGRESS_6 = 6 -CMAKE_PROGRESS_7 = 7 -CMAKE_PROGRESS_8 = 8 -CMAKE_PROGRESS_9 = 9 -CMAKE_PROGRESS_10 = 10 -CMAKE_PROGRESS_11 = 11 -CMAKE_PROGRESS_12 = 12 -CMAKE_PROGRESS_13 = 13 -CMAKE_PROGRESS_14 = 14 -CMAKE_PROGRESS_15 = 15 - +CMAKE_PROGRESS_1 = 1
+CMAKE_PROGRESS_2 = 2
+CMAKE_PROGRESS_3 = 3
+CMAKE_PROGRESS_4 = 4
+CMAKE_PROGRESS_5 = 5
+CMAKE_PROGRESS_6 = 6
+CMAKE_PROGRESS_7 = 7
+CMAKE_PROGRESS_8 = 8
+CMAKE_PROGRESS_9 = 9
+CMAKE_PROGRESS_10 = 10
+CMAKE_PROGRESS_11 = 11
+CMAKE_PROGRESS_12 = 12
+CMAKE_PROGRESS_13 = 13
+CMAKE_PROGRESS_14 = 14
+CMAKE_PROGRESS_15 = 15
+
diff --git a/CMakeLists.txt b/CMakeLists.txt index ed7acb4..b91379d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,36 +1,36 @@ -cmake_minimum_required(VERSION 3.16) -project(sdl_test VERSION 1.0.0) - -set(CMAKE_CXX_STANDARD 11) -set(CMAKE_CXX_STANDARD_REQUIRED YES) -set(CMAKE_CXX_EXTENSIONS OFF) - -set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/build) - -add_executable(sdl_test - main.cpp - graphics/graphics.cpp graphics/graphics.h - graphics/cam.h - commands/commands.cpp commands/commands.h - timing/timing.cpp timing/timing.h - game/entity.cpp game/entity.h - game/ground.cpp game/ground.h - game/playercontrol.cpp game/playercontrol.h - game/gst.cpp game/gst.h - game/view.cpp game/view.h - game/menu.cpp game/menu.h - game/tile.cpp game/tile.h - game/load.cpp game/load.h - game/tech.cpp game/tech.h - game/player.h - game/constants.h - game/ai/action.cpp game/ai/action.h - game/ai/generator.h - game/ai/engine.h - game/ai/evaluator.h - game/ai/tactic.h - umath/vec2.h) - -target_include_directories(sdl_test PUBLIC "C:/MinGW_libs/include") -target_link_libraries(sdl_test -LC:/MinGW_libs/lib) +cmake_minimum_required(VERSION 3.16)
+project(sdl_test VERSION 1.0.0)
+
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED YES)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
+set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/build)
+
+add_executable(sdl_test
+ main.cpp
+ graphics/graphics.cpp graphics/graphics.h
+ graphics/cam.h
+ commands/commands.cpp commands/commands.h
+ timing/timing.cpp timing/timing.h
+ game/entity.cpp game/entity.h
+ game/ground.cpp game/ground.h
+ game/playercontrol.cpp game/playercontrol.h
+ game/gst.cpp game/gst.h
+ game/view.cpp game/view.h
+ game/menu.cpp game/menu.h
+ game/tile.cpp game/tile.h
+ game/load.cpp game/load.h
+ game/tech.cpp game/tech.h
+ game/player.h
+ game/constants.h
+ game/ai/action.cpp game/ai/action.h
+ game/ai/generator.h
+ game/ai/engine.h
+ game/ai/evaluator.h
+ game/ai/tactic.h
+ umath/vec2.h)
+
+target_include_directories(sdl_test PUBLIC "C:/MinGW_libs/include")
+target_link_libraries(sdl_test -LC:/MinGW_libs/lib)
target_link_libraries(sdl_test -lSDL2main -lSDL2)
\ No newline at end of file @@ -1,586 +1,586 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "MinGW Makefiles" Generator, CMake Version 3.18 - -# Default target executed when no arguments are given to make. -default_target: all - -.PHONY : default_target - -# Allow only one "make -f Makefile2" at a time, but pass parallelism. -.NOTPARALLEL: - - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canonical targets will work. -.SUFFIXES: - - -# Disable VCS-based implicit rules. -% : %,v - - -# Disable VCS-based implicit rules. -% : RCS/% - - -# Disable VCS-based implicit rules. -% : RCS/%,v - - -# Disable VCS-based implicit rules. -% : SCCS/s.% - - -# Disable VCS-based implicit rules. -% : s.% - - -.SUFFIXES: .hpux_make_needs_suffix_list - - -# Command-line flag to silence nested $(MAKE). -$(VERBOSE)MAKESILENT = -s - -#Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: - -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -SHELL = cmd.exe - -# The CMake executable. -CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe" - -# The command to remove a file. -RM = "C:\Program Files\CMake\bin\cmake.exe" -E rm -f - -# Escaping for special characters. -EQUALS = = - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." - "C:\Program Files\CMake\bin\cmake-gui.exe" -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache - -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - "C:\Program Files\CMake\bin\cmake.exe" --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache - -.PHONY : rebuild_cache/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles C:\Users\jaksk\Desktop\dev\_cpp\age\\CMakeFiles\progress.marks - $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean - -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named sdl_test - -# Build rule for target. -sdl_test: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 sdl_test -.PHONY : sdl_test - -# fast build rule for target. -sdl_test/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/build -.PHONY : sdl_test/fast - -commands/commands.obj: commands/commands.cpp.obj - -.PHONY : commands/commands.obj - -# target to build an object file -commands/commands.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/commands/commands.cpp.obj -.PHONY : commands/commands.cpp.obj - -commands/commands.i: commands/commands.cpp.i - -.PHONY : commands/commands.i - -# target to preprocess a source file -commands/commands.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/commands/commands.cpp.i -.PHONY : commands/commands.cpp.i - -commands/commands.s: commands/commands.cpp.s - -.PHONY : commands/commands.s - -# target to generate assembly for a file -commands/commands.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/commands/commands.cpp.s -.PHONY : commands/commands.cpp.s - -game/ai/action.obj: game/ai/action.cpp.obj - -.PHONY : game/ai/action.obj - -# target to build an object file -game/ai/action.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj -.PHONY : game/ai/action.cpp.obj - -game/ai/action.i: game/ai/action.cpp.i - -.PHONY : game/ai/action.i - -# target to preprocess a source file -game/ai/action.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ai/action.cpp.i -.PHONY : game/ai/action.cpp.i - -game/ai/action.s: game/ai/action.cpp.s - -.PHONY : game/ai/action.s - -# target to generate assembly for a file -game/ai/action.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ai/action.cpp.s -.PHONY : game/ai/action.cpp.s - -game/entity.obj: game/entity.cpp.obj - -.PHONY : game/entity.obj - -# target to build an object file -game/entity.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/entity.cpp.obj -.PHONY : game/entity.cpp.obj - -game/entity.i: game/entity.cpp.i - -.PHONY : game/entity.i - -# target to preprocess a source file -game/entity.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/entity.cpp.i -.PHONY : game/entity.cpp.i - -game/entity.s: game/entity.cpp.s - -.PHONY : game/entity.s - -# target to generate assembly for a file -game/entity.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/entity.cpp.s -.PHONY : game/entity.cpp.s - -game/ground.obj: game/ground.cpp.obj - -.PHONY : game/ground.obj - -# target to build an object file -game/ground.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ground.cpp.obj -.PHONY : game/ground.cpp.obj - -game/ground.i: game/ground.cpp.i - -.PHONY : game/ground.i - -# target to preprocess a source file -game/ground.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ground.cpp.i -.PHONY : game/ground.cpp.i - -game/ground.s: game/ground.cpp.s - -.PHONY : game/ground.s - -# target to generate assembly for a file -game/ground.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ground.cpp.s -.PHONY : game/ground.cpp.s - -game/gst.obj: game/gst.cpp.obj - -.PHONY : game/gst.obj - -# target to build an object file -game/gst.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/gst.cpp.obj -.PHONY : game/gst.cpp.obj - -game/gst.i: game/gst.cpp.i - -.PHONY : game/gst.i - -# target to preprocess a source file -game/gst.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/gst.cpp.i -.PHONY : game/gst.cpp.i - -game/gst.s: game/gst.cpp.s - -.PHONY : game/gst.s - -# target to generate assembly for a file -game/gst.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/gst.cpp.s -.PHONY : game/gst.cpp.s - -game/load.obj: game/load.cpp.obj - -.PHONY : game/load.obj - -# target to build an object file -game/load.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/load.cpp.obj -.PHONY : game/load.cpp.obj - -game/load.i: game/load.cpp.i - -.PHONY : game/load.i - -# target to preprocess a source file -game/load.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/load.cpp.i -.PHONY : game/load.cpp.i - -game/load.s: game/load.cpp.s - -.PHONY : game/load.s - -# target to generate assembly for a file -game/load.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/load.cpp.s -.PHONY : game/load.cpp.s - -game/menu.obj: game/menu.cpp.obj - -.PHONY : game/menu.obj - -# target to build an object file -game/menu.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/menu.cpp.obj -.PHONY : game/menu.cpp.obj - -game/menu.i: game/menu.cpp.i - -.PHONY : game/menu.i - -# target to preprocess a source file -game/menu.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/menu.cpp.i -.PHONY : game/menu.cpp.i - -game/menu.s: game/menu.cpp.s - -.PHONY : game/menu.s - -# target to generate assembly for a file -game/menu.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/menu.cpp.s -.PHONY : game/menu.cpp.s - -game/playercontrol.obj: game/playercontrol.cpp.obj - -.PHONY : game/playercontrol.obj - -# target to build an object file -game/playercontrol.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj -.PHONY : game/playercontrol.cpp.obj - -game/playercontrol.i: game/playercontrol.cpp.i - -.PHONY : game/playercontrol.i - -# target to preprocess a source file -game/playercontrol.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/playercontrol.cpp.i -.PHONY : game/playercontrol.cpp.i - -game/playercontrol.s: game/playercontrol.cpp.s - -.PHONY : game/playercontrol.s - -# target to generate assembly for a file -game/playercontrol.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/playercontrol.cpp.s -.PHONY : game/playercontrol.cpp.s - -game/tech.obj: game/tech.cpp.obj - -.PHONY : game/tech.obj - -# target to build an object file -game/tech.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tech.cpp.obj -.PHONY : game/tech.cpp.obj - -game/tech.i: game/tech.cpp.i - -.PHONY : game/tech.i - -# target to preprocess a source file -game/tech.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tech.cpp.i -.PHONY : game/tech.cpp.i - -game/tech.s: game/tech.cpp.s - -.PHONY : game/tech.s - -# target to generate assembly for a file -game/tech.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tech.cpp.s -.PHONY : game/tech.cpp.s - -game/tile.obj: game/tile.cpp.obj - -.PHONY : game/tile.obj - -# target to build an object file -game/tile.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tile.cpp.obj -.PHONY : game/tile.cpp.obj - -game/tile.i: game/tile.cpp.i - -.PHONY : game/tile.i - -# target to preprocess a source file -game/tile.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tile.cpp.i -.PHONY : game/tile.cpp.i - -game/tile.s: game/tile.cpp.s - -.PHONY : game/tile.s - -# target to generate assembly for a file -game/tile.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tile.cpp.s -.PHONY : game/tile.cpp.s - -game/view.obj: game/view.cpp.obj - -.PHONY : game/view.obj - -# target to build an object file -game/view.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/view.cpp.obj -.PHONY : game/view.cpp.obj - -game/view.i: game/view.cpp.i - -.PHONY : game/view.i - -# target to preprocess a source file -game/view.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/view.cpp.i -.PHONY : game/view.cpp.i - -game/view.s: game/view.cpp.s - -.PHONY : game/view.s - -# target to generate assembly for a file -game/view.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/view.cpp.s -.PHONY : game/view.cpp.s - -graphics/graphics.obj: graphics/graphics.cpp.obj - -.PHONY : graphics/graphics.obj - -# target to build an object file -graphics/graphics.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj -.PHONY : graphics/graphics.cpp.obj - -graphics/graphics.i: graphics/graphics.cpp.i - -.PHONY : graphics/graphics.i - -# target to preprocess a source file -graphics/graphics.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/graphics/graphics.cpp.i -.PHONY : graphics/graphics.cpp.i - -graphics/graphics.s: graphics/graphics.cpp.s - -.PHONY : graphics/graphics.s - -# target to generate assembly for a file -graphics/graphics.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/graphics/graphics.cpp.s -.PHONY : graphics/graphics.cpp.s - -main.obj: main.cpp.obj - -.PHONY : main.obj - -# target to build an object file -main.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/main.cpp.obj -.PHONY : main.cpp.obj - -main.i: main.cpp.i - -.PHONY : main.i - -# target to preprocess a source file -main.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/main.cpp.i -.PHONY : main.cpp.i - -main.s: main.cpp.s - -.PHONY : main.s - -# target to generate assembly for a file -main.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/main.cpp.s -.PHONY : main.cpp.s - -timing/timing.obj: timing/timing.cpp.obj - -.PHONY : timing/timing.obj - -# target to build an object file -timing/timing.cpp.obj: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/timing/timing.cpp.obj -.PHONY : timing/timing.cpp.obj - -timing/timing.i: timing/timing.cpp.i - -.PHONY : timing/timing.i - -# target to preprocess a source file -timing/timing.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/timing/timing.cpp.i -.PHONY : timing/timing.cpp.i - -timing/timing.s: timing/timing.cpp.s - -.PHONY : timing/timing.s - -# target to generate assembly for a file -timing/timing.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/timing/timing.cpp.s -.PHONY : timing/timing.cpp.s - -# Help Target -help: - @echo The following are some of the valid targets for this Makefile: - @echo ... all (the default if no target is provided) - @echo ... clean - @echo ... depend - @echo ... edit_cache - @echo ... rebuild_cache - @echo ... sdl_test - @echo ... commands/commands.obj - @echo ... commands/commands.i - @echo ... commands/commands.s - @echo ... game/ai/action.obj - @echo ... game/ai/action.i - @echo ... game/ai/action.s - @echo ... game/entity.obj - @echo ... game/entity.i - @echo ... game/entity.s - @echo ... game/ground.obj - @echo ... game/ground.i - @echo ... game/ground.s - @echo ... game/gst.obj - @echo ... game/gst.i - @echo ... game/gst.s - @echo ... game/load.obj - @echo ... game/load.i - @echo ... game/load.s - @echo ... game/menu.obj - @echo ... game/menu.i - @echo ... game/menu.s - @echo ... game/playercontrol.obj - @echo ... game/playercontrol.i - @echo ... game/playercontrol.s - @echo ... game/tech.obj - @echo ... game/tech.i - @echo ... game/tech.s - @echo ... game/tile.obj - @echo ... game/tile.i - @echo ... game/tile.s - @echo ... game/view.obj - @echo ... game/view.i - @echo ... game/view.s - @echo ... graphics/graphics.obj - @echo ... graphics/graphics.i - @echo ... graphics/graphics.s - @echo ... main.obj - @echo ... main.i - @echo ... main.s - @echo ... timing/timing.obj - @echo ... timing/timing.i - @echo ... timing/timing.s -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0 -.PHONY : cmake_check_build_system - +# CMAKE generated file: DO NOT EDIT!
+# Generated by "MinGW Makefiles" Generator, CMake Version 3.18
+
+# Default target executed when no arguments are given to make.
+default_target: all
+
+.PHONY : default_target
+
+# Allow only one "make -f Makefile2" at a time, but pass parallelism.
+.NOTPARALLEL:
+
+
+#=============================================================================
+# Special targets provided by cmake.
+
+# Disable implicit rules so canonical targets will work.
+.SUFFIXES:
+
+
+# Disable VCS-based implicit rules.
+% : %,v
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%
+
+
+# Disable VCS-based implicit rules.
+% : RCS/%,v
+
+
+# Disable VCS-based implicit rules.
+% : SCCS/s.%
+
+
+# Disable VCS-based implicit rules.
+% : s.%
+
+
+.SUFFIXES: .hpux_make_needs_suffix_list
+
+
+# Command-line flag to silence nested $(MAKE).
+$(VERBOSE)MAKESILENT = -s
+
+#Suppress display of executed commands.
+$(VERBOSE).SILENT:
+
+# A target that is always out of date.
+cmake_force:
+
+.PHONY : cmake_force
+
+#=============================================================================
+# Set environment variables for the build.
+
+SHELL = cmd.exe
+
+# The CMake executable.
+CMAKE_COMMAND = "C:\Program Files\CMake\bin\cmake.exe"
+
+# The command to remove a file.
+RM = "C:\Program Files\CMake\bin\cmake.exe" -E rm -f
+
+# Escaping for special characters.
+EQUALS = =
+
+# The top-level source directory on which CMake was run.
+CMAKE_SOURCE_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age
+
+# The top-level build directory on which CMake was run.
+CMAKE_BINARY_DIR = C:\Users\jaksk\Desktop\dev\_cpp\age
+
+#=============================================================================
+# Targets provided globally by CMake.
+
+# Special rule for the target edit_cache
+edit_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..."
+ "C:\Program Files\CMake\bin\cmake-gui.exe" -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : edit_cache
+
+# Special rule for the target edit_cache
+edit_cache/fast: edit_cache
+
+.PHONY : edit_cache/fast
+
+# Special rule for the target rebuild_cache
+rebuild_cache:
+ @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..."
+ "C:\Program Files\CMake\bin\cmake.exe" --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
+.PHONY : rebuild_cache
+
+# Special rule for the target rebuild_cache
+rebuild_cache/fast: rebuild_cache
+
+.PHONY : rebuild_cache/fast
+
+# The main all target
+all: cmake_check_build_system
+ $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles C:\Users\jaksk\Desktop\dev\_cpp\age\\CMakeFiles\progress.marks
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 all
+ $(CMAKE_COMMAND) -E cmake_progress_start C:\Users\jaksk\Desktop\dev\_cpp\age\CMakeFiles 0
+.PHONY : all
+
+# The main clean target
+clean:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 clean
+.PHONY : clean
+
+# The main clean target
+clean/fast: clean
+
+.PHONY : clean/fast
+
+# Prepare targets for installation.
+preinstall: all
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 preinstall
+.PHONY : preinstall
+
+# Prepare targets for installation.
+preinstall/fast:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 preinstall
+.PHONY : preinstall/fast
+
+# clear depends
+depend:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 1
+.PHONY : depend
+
+#=============================================================================
+# Target rules for targets named sdl_test
+
+# Build rule for target.
+sdl_test: cmake_check_build_system
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\Makefile2 sdl_test
+.PHONY : sdl_test
+
+# fast build rule for target.
+sdl_test/fast:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/build
+.PHONY : sdl_test/fast
+
+commands/commands.obj: commands/commands.cpp.obj
+
+.PHONY : commands/commands.obj
+
+# target to build an object file
+commands/commands.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/commands/commands.cpp.obj
+.PHONY : commands/commands.cpp.obj
+
+commands/commands.i: commands/commands.cpp.i
+
+.PHONY : commands/commands.i
+
+# target to preprocess a source file
+commands/commands.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/commands/commands.cpp.i
+.PHONY : commands/commands.cpp.i
+
+commands/commands.s: commands/commands.cpp.s
+
+.PHONY : commands/commands.s
+
+# target to generate assembly for a file
+commands/commands.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/commands/commands.cpp.s
+.PHONY : commands/commands.cpp.s
+
+game/ai/action.obj: game/ai/action.cpp.obj
+
+.PHONY : game/ai/action.obj
+
+# target to build an object file
+game/ai/action.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ai/action.cpp.obj
+.PHONY : game/ai/action.cpp.obj
+
+game/ai/action.i: game/ai/action.cpp.i
+
+.PHONY : game/ai/action.i
+
+# target to preprocess a source file
+game/ai/action.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ai/action.cpp.i
+.PHONY : game/ai/action.cpp.i
+
+game/ai/action.s: game/ai/action.cpp.s
+
+.PHONY : game/ai/action.s
+
+# target to generate assembly for a file
+game/ai/action.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ai/action.cpp.s
+.PHONY : game/ai/action.cpp.s
+
+game/entity.obj: game/entity.cpp.obj
+
+.PHONY : game/entity.obj
+
+# target to build an object file
+game/entity.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/entity.cpp.obj
+.PHONY : game/entity.cpp.obj
+
+game/entity.i: game/entity.cpp.i
+
+.PHONY : game/entity.i
+
+# target to preprocess a source file
+game/entity.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/entity.cpp.i
+.PHONY : game/entity.cpp.i
+
+game/entity.s: game/entity.cpp.s
+
+.PHONY : game/entity.s
+
+# target to generate assembly for a file
+game/entity.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/entity.cpp.s
+.PHONY : game/entity.cpp.s
+
+game/ground.obj: game/ground.cpp.obj
+
+.PHONY : game/ground.obj
+
+# target to build an object file
+game/ground.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ground.cpp.obj
+.PHONY : game/ground.cpp.obj
+
+game/ground.i: game/ground.cpp.i
+
+.PHONY : game/ground.i
+
+# target to preprocess a source file
+game/ground.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ground.cpp.i
+.PHONY : game/ground.cpp.i
+
+game/ground.s: game/ground.cpp.s
+
+.PHONY : game/ground.s
+
+# target to generate assembly for a file
+game/ground.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/ground.cpp.s
+.PHONY : game/ground.cpp.s
+
+game/gst.obj: game/gst.cpp.obj
+
+.PHONY : game/gst.obj
+
+# target to build an object file
+game/gst.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/gst.cpp.obj
+.PHONY : game/gst.cpp.obj
+
+game/gst.i: game/gst.cpp.i
+
+.PHONY : game/gst.i
+
+# target to preprocess a source file
+game/gst.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/gst.cpp.i
+.PHONY : game/gst.cpp.i
+
+game/gst.s: game/gst.cpp.s
+
+.PHONY : game/gst.s
+
+# target to generate assembly for a file
+game/gst.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/gst.cpp.s
+.PHONY : game/gst.cpp.s
+
+game/load.obj: game/load.cpp.obj
+
+.PHONY : game/load.obj
+
+# target to build an object file
+game/load.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/load.cpp.obj
+.PHONY : game/load.cpp.obj
+
+game/load.i: game/load.cpp.i
+
+.PHONY : game/load.i
+
+# target to preprocess a source file
+game/load.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/load.cpp.i
+.PHONY : game/load.cpp.i
+
+game/load.s: game/load.cpp.s
+
+.PHONY : game/load.s
+
+# target to generate assembly for a file
+game/load.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/load.cpp.s
+.PHONY : game/load.cpp.s
+
+game/menu.obj: game/menu.cpp.obj
+
+.PHONY : game/menu.obj
+
+# target to build an object file
+game/menu.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/menu.cpp.obj
+.PHONY : game/menu.cpp.obj
+
+game/menu.i: game/menu.cpp.i
+
+.PHONY : game/menu.i
+
+# target to preprocess a source file
+game/menu.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/menu.cpp.i
+.PHONY : game/menu.cpp.i
+
+game/menu.s: game/menu.cpp.s
+
+.PHONY : game/menu.s
+
+# target to generate assembly for a file
+game/menu.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/menu.cpp.s
+.PHONY : game/menu.cpp.s
+
+game/playercontrol.obj: game/playercontrol.cpp.obj
+
+.PHONY : game/playercontrol.obj
+
+# target to build an object file
+game/playercontrol.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/playercontrol.cpp.obj
+.PHONY : game/playercontrol.cpp.obj
+
+game/playercontrol.i: game/playercontrol.cpp.i
+
+.PHONY : game/playercontrol.i
+
+# target to preprocess a source file
+game/playercontrol.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/playercontrol.cpp.i
+.PHONY : game/playercontrol.cpp.i
+
+game/playercontrol.s: game/playercontrol.cpp.s
+
+.PHONY : game/playercontrol.s
+
+# target to generate assembly for a file
+game/playercontrol.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/playercontrol.cpp.s
+.PHONY : game/playercontrol.cpp.s
+
+game/tech.obj: game/tech.cpp.obj
+
+.PHONY : game/tech.obj
+
+# target to build an object file
+game/tech.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tech.cpp.obj
+.PHONY : game/tech.cpp.obj
+
+game/tech.i: game/tech.cpp.i
+
+.PHONY : game/tech.i
+
+# target to preprocess a source file
+game/tech.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tech.cpp.i
+.PHONY : game/tech.cpp.i
+
+game/tech.s: game/tech.cpp.s
+
+.PHONY : game/tech.s
+
+# target to generate assembly for a file
+game/tech.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tech.cpp.s
+.PHONY : game/tech.cpp.s
+
+game/tile.obj: game/tile.cpp.obj
+
+.PHONY : game/tile.obj
+
+# target to build an object file
+game/tile.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tile.cpp.obj
+.PHONY : game/tile.cpp.obj
+
+game/tile.i: game/tile.cpp.i
+
+.PHONY : game/tile.i
+
+# target to preprocess a source file
+game/tile.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tile.cpp.i
+.PHONY : game/tile.cpp.i
+
+game/tile.s: game/tile.cpp.s
+
+.PHONY : game/tile.s
+
+# target to generate assembly for a file
+game/tile.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/tile.cpp.s
+.PHONY : game/tile.cpp.s
+
+game/view.obj: game/view.cpp.obj
+
+.PHONY : game/view.obj
+
+# target to build an object file
+game/view.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/view.cpp.obj
+.PHONY : game/view.cpp.obj
+
+game/view.i: game/view.cpp.i
+
+.PHONY : game/view.i
+
+# target to preprocess a source file
+game/view.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/view.cpp.i
+.PHONY : game/view.cpp.i
+
+game/view.s: game/view.cpp.s
+
+.PHONY : game/view.s
+
+# target to generate assembly for a file
+game/view.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/game/view.cpp.s
+.PHONY : game/view.cpp.s
+
+graphics/graphics.obj: graphics/graphics.cpp.obj
+
+.PHONY : graphics/graphics.obj
+
+# target to build an object file
+graphics/graphics.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/graphics/graphics.cpp.obj
+.PHONY : graphics/graphics.cpp.obj
+
+graphics/graphics.i: graphics/graphics.cpp.i
+
+.PHONY : graphics/graphics.i
+
+# target to preprocess a source file
+graphics/graphics.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/graphics/graphics.cpp.i
+.PHONY : graphics/graphics.cpp.i
+
+graphics/graphics.s: graphics/graphics.cpp.s
+
+.PHONY : graphics/graphics.s
+
+# target to generate assembly for a file
+graphics/graphics.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/graphics/graphics.cpp.s
+.PHONY : graphics/graphics.cpp.s
+
+main.obj: main.cpp.obj
+
+.PHONY : main.obj
+
+# target to build an object file
+main.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/main.cpp.obj
+.PHONY : main.cpp.obj
+
+main.i: main.cpp.i
+
+.PHONY : main.i
+
+# target to preprocess a source file
+main.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/main.cpp.i
+.PHONY : main.cpp.i
+
+main.s: main.cpp.s
+
+.PHONY : main.s
+
+# target to generate assembly for a file
+main.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/main.cpp.s
+.PHONY : main.cpp.s
+
+timing/timing.obj: timing/timing.cpp.obj
+
+.PHONY : timing/timing.obj
+
+# target to build an object file
+timing/timing.cpp.obj:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/timing/timing.cpp.obj
+.PHONY : timing/timing.cpp.obj
+
+timing/timing.i: timing/timing.cpp.i
+
+.PHONY : timing/timing.i
+
+# target to preprocess a source file
+timing/timing.cpp.i:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/timing/timing.cpp.i
+.PHONY : timing/timing.cpp.i
+
+timing/timing.s: timing/timing.cpp.s
+
+.PHONY : timing/timing.s
+
+# target to generate assembly for a file
+timing/timing.cpp.s:
+ $(MAKE) $(MAKESILENT) -f CMakeFiles\sdl_test.dir\build.make CMakeFiles/sdl_test.dir/timing/timing.cpp.s
+.PHONY : timing/timing.cpp.s
+
+# Help Target
+help:
+ @echo The following are some of the valid targets for this Makefile:
+ @echo ... all (the default if no target is provided)
+ @echo ... clean
+ @echo ... depend
+ @echo ... edit_cache
+ @echo ... rebuild_cache
+ @echo ... sdl_test
+ @echo ... commands/commands.obj
+ @echo ... commands/commands.i
+ @echo ... commands/commands.s
+ @echo ... game/ai/action.obj
+ @echo ... game/ai/action.i
+ @echo ... game/ai/action.s
+ @echo ... game/entity.obj
+ @echo ... game/entity.i
+ @echo ... game/entity.s
+ @echo ... game/ground.obj
+ @echo ... game/ground.i
+ @echo ... game/ground.s
+ @echo ... game/gst.obj
+ @echo ... game/gst.i
+ @echo ... game/gst.s
+ @echo ... game/load.obj
+ @echo ... game/load.i
+ @echo ... game/load.s
+ @echo ... game/menu.obj
+ @echo ... game/menu.i
+ @echo ... game/menu.s
+ @echo ... game/playercontrol.obj
+ @echo ... game/playercontrol.i
+ @echo ... game/playercontrol.s
+ @echo ... game/tech.obj
+ @echo ... game/tech.i
+ @echo ... game/tech.s
+ @echo ... game/tile.obj
+ @echo ... game/tile.i
+ @echo ... game/tile.s
+ @echo ... game/view.obj
+ @echo ... game/view.i
+ @echo ... game/view.s
+ @echo ... graphics/graphics.obj
+ @echo ... graphics/graphics.i
+ @echo ... graphics/graphics.s
+ @echo ... main.obj
+ @echo ... main.i
+ @echo ... main.s
+ @echo ... timing/timing.obj
+ @echo ... timing/timing.i
+ @echo ... timing/timing.s
+.PHONY : help
+
+
+
+#=============================================================================
+# Special targets to cleanup operation of make.
+
+# Special rule to run CMake to check the build system integrity.
+# No rule that depends on this can have commands that come from listfiles
+# because they might be regenerated.
+cmake_check_build_system:
+ $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles\Makefile.cmake 0
+.PHONY : cmake_check_build_system
+
diff --git a/age_gameplay.png b/age_gameplay.png Binary files differnew file mode 100644 index 0000000..4f0dfae --- /dev/null +++ b/age_gameplay.png diff --git a/age_unit.png b/age_unit.png Binary files differnew file mode 100644 index 0000000..be31359 --- /dev/null +++ b/age_unit.png diff --git a/age_unit_detail.png b/age_unit_detail.png Binary files differnew file mode 100644 index 0000000..973f5cf --- /dev/null +++ b/age_unit_detail.png diff --git a/build/abilities.txt b/build/abilities.txt index 1f81a35..411dd58 100644 --- a/build/abilities.txt +++ b/build/abilities.txt @@ -1,33 +1,33 @@ -> Combat Order -Anti-Cavalry - When fighting cavalry, gets 83% ATK and DEF bonus and "First Strike." -Skirmish - Gains First Strike against all units with a range of 1. -First Strike - Always strike first, even when defending (unless fighting another First Strike unit). -Rapid Fire - When attacking, gets additional attack after opponent's counter-attack. - -> Attack targets filter -Units Only - May not attack buildings. -Buildings Only - May only attack buildings. -No Counter - May not counterattack when attacked. -No Move & Attack - May not attack in the turn that it moves. - -> Battle bonuses -Causes Fear - Opponents always suffer -25% ATK and DEF. -Desert Charge - Gain +33% ATK when attacking units on Desert that don't have "Desert Charge" -Plains Charge - Gains +33% ATK when attacking units on Plains that don't have "Plains Charge" -Scares Horses - +33% ATK and DEF when fighting horse units. -Woodsman - +33% ATK and DEF when fighting in the forest. -Volley - When health greater than 50% +33% ATK. -Frenzy - Attack and counterattack at full health (100) until completely dead. -Zeal - Automatically heals 20 Health after any battle against another unit (but not buildings) - -> Movement discounts -Scout - Mountains, forests, hills, and swamps only cost 2 move points. - -> Activated Abilities -Convert - May attempt to convert enemy units. -Heal - May heal units; 20% per use (increased by certain techs) - -> Veteran -Seasoned Veteran - Achieves Veteran Status more quickly: 2 battles, 4, and 6. - +> Combat Order
+Anti-Cavalry - When fighting cavalry, gets 83% ATK and DEF bonus and "First Strike."
+Skirmish - Gains First Strike against all units with a range of 1.
+First Strike - Always strike first, even when defending (unless fighting another First Strike unit).
+Rapid Fire - When attacking, gets additional attack after opponent's counter-attack.
+
+> Attack targets filter
+Units Only - May not attack buildings.
+Buildings Only - May only attack buildings.
+No Counter - May not counterattack when attacked.
+No Move & Attack - May not attack in the turn that it moves.
+
+> Battle bonuses
+Causes Fear - Opponents always suffer -25% ATK and DEF.
+Desert Charge - Gain +33% ATK when attacking units on Desert that don't have "Desert Charge"
+Plains Charge - Gains +33% ATK when attacking units on Plains that don't have "Plains Charge"
+Scares Horses - +33% ATK and DEF when fighting horse units.
+Woodsman - +33% ATK and DEF when fighting in the forest.
+Volley - When health greater than 50% +33% ATK.
+Frenzy - Attack and counterattack at full health (100) until completely dead.
+Zeal - Automatically heals 20 Health after any battle against another unit (but not buildings)
+
+> Movement discounts
+Scout - Mountains, forests, hills, and swamps only cost 2 move points.
+
+> Activated Abilities
+Convert - May attempt to convert enemy units.
+Heal - May heal units; 20% per use (increased by certain techs)
+
+> Veteran
+Seasoned Veteran - Achieves Veteran Status more quickly: 2 battles, 4, and 6.
+
Hero Powers - Has Hero Powers (see section 2.1 - Heroes)
\ No newline at end of file diff --git a/build/content/entities.json b/build/content/entities.json index 45d9b78..d0f3e75 100644 --- a/build/content/entities.json +++ b/build/content/entities.json @@ -1,571 +1,571 @@ -[ - { - "name": "Town Center", - "id": 100, "unit": 0, "class": "bld", "level": 0, - "move" : 0, "attack": 0, "defence": 500, - "range": 0, "sight": 10, - "spritebounds": [ 528, 16 ], - "train_id": [ 0 ], - "prod": [ 30, 25 ], - "cost": [ 600, 400 ], - "defence_bonus": 0.2 - },{ - "name": "Mill", - "id": 101, "unit": 0, "class": "bld", "level": 0, - "move" : 0, "attack": 0, "defence": 250, - "range": 0, "sight": 7, - "spritebounds": [ 544, 16 ], - "prod": [ 50, 0 ], - "cost": [ 120, 90 ], - "defence_bonus": 0.2 - },{ - "name": "Mine", - "id": 102, "unit": 0, "class": "bld", "level": 0, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 560, 16 ], - "prod": [ 0, 150 ], - "cost": [ 360, 240 ], - "defence_bonus": 0.2 - },{ - "name": "Farm", - "id": 103, "unit": 0, "class": "bld", "level": 0, - "move" : 0, "attack": 0, "defence": 100, - "range": 0, "sight": 7, - "spritebounds": [ 576, 16 ], - "prod": [ 50, 0 ], - "cost": [ 90, 60 ], - "adjacent": [ 101 ], - "defence_bonus": 0.1 - },{ - "name": "Barracks", - "id": 104, "unit": 0, "class": "bld", "level": 0, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 592, 16 ], - "train_id": [ 1, 6, 7, 10, 11, 27, 28, 40 ], - "prod": [ 0, 0 ], - "cost": [ 360, 240 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Archery Range", - "id": 105, "unit": 0, "class": "bld", "level": 1, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 608, 32 ], - "train_id": [ 3, 4, 13, 14, 15, 24, 29, 30, 31, 32, 39 ], - "prod": [ 0, 0 ], - "cost": [ 360, 240 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Blacksmith", - "id": 106, "unit": 0, "class": "bld", "level": 1, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 624, 32 ], - "prod": [ 0, 0 ], - "cost": [ 285, 165 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Market", - "id": 107, "unit": 0, "class": "bld", "level": 1, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 640, 32 ], - "train_class": [ "inf", "cav", "ran", "sie" ], - "prod": [ 0, 0 ], - "cost": [ 360, 240 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Stable", - "id": 108, "unit": 0, "class": "bld", "level": 0, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 656, 16 ], - "train_id": [ 2, 5, 8, 9, 33, 34, 41 ], - "prod": [ 0, 0 ], - "cost": [ 360, 240 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Siege Workshop", - "id": 109, "unit": 0, "class": "bld", "level": 2, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 672, 48 ], - "train_id": [ 20, 21, 22, 38, 42, 43 ], - "prod": [ 0, 0 ], - "cost": [ 450, 300 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Church", - "id": 110, "unit": 0, "class": "bld", "level": 2, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 688, 48 ], - "train_id": [ 23, 44 ], - "prod": [ 0, 0 ], - "cost": [ 360, 240 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "University", - "id": 111, "unit": 0, "class": "bld", "level": 2, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 704, 48 ], - "prod": [ 0, 0 ], - "cost": [ 450, 300 ], - "adjacent": [ 100 ], - "defence_bonus": 0.2 - },{ - "name": "Tower", - "id": 112, "unit": 0, "class": "bld", "level": 1, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 720, 48 ], - "prod": [ 0, 0 ], - "cost": [ 360, 240 ], - "diagonal": [ 100 ], - "defence_bonus": 0.4, - "defence_bonus_adj": 0.25 - },{ - "name": "Castle", - "id": 113, "unit": 0, "class": "bld", "level": 2, - "move" : 0, "attack": 0, "defence": 300, - "range": 0, "sight": 7, - "spritebounds": [ 720, 48 ], - "train_id": [ 10, 27, 37 ], - "prod": [ 0, 0 ], - "cost": [ 900, 600 ], - "defence_bonus": 0.4 - },{ - "name": "Villager", - "id": 0, "unit": 1, "class": "inf", "level": -1, - "move" : 7, "attack": 50, "defence": 50, - "range": 1, "sight": 7, - "spritebounds": [ 96, 16 ], - "build": [ - 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, - 111, 112, 113 - ], - "cost": [ 100, 100 ] - },{ - "name": "Militia", - "id": 1, "unit": 1, "class": "inf", "level": 0, - "move" : 7, "attack": 100, "defence": 100, - "range": 1, "sight": 7, - "spritebounds": [ 112, 16 ], - "cost": [ 75, 25 ], - "upgrade": 6 - },{ - "name": "Scout Cavalry", - "id": 2, "unit": 1, "class": "cav", "level": 0, - "move" : 12, "attack": 100, "defence": 100, - "range": 1, "sight": 7, - "spritebounds": [ 128, 16 ], - "cost": [ 120, 30 ], - "abilities": [ "Scout" ] - },{ - "name": "Archers", - "id": 3, "unit": 1, "class": "ran", "level": 1, - "move" : 7, "attack": 150, "defence": 100, - "range": 3, "sight": 7, - "spritebounds": [ 160, 32 ], - "cost": [ 105, 45 ], - "upgrade": 24 - },{ - "name": "Skirmishers", - "id": 4, "unit": 1, "class": "ran", "level": 1, - "move" : 7, "attack": 110, "defence": 110, - "range": 2, "sight": 7, - "spritebounds": [ 176, 32 ], - "cost": [ 95, 40 ], - "abilities": [ "Skirmish" ], - "upgrade": 14 - },{ - "name": "Light Cavalry", - "id": 5, "unit": 1, "class": "cav", "level": 1, - "move" : 10, "attack": 150, "defence": 150, - "range": 1, "sight": 7, - "spritebounds": [ 128, 32 ], - "cost": [ 140, 35 ], - "abilities": [ "Plains Charge" ], - "upgrade": 8 - },{ - "name": "Men at Arms", - "id": 6, "unit": 1, "class": "inf", "level": 1, - "move" : 7, "attack": 150, "defence": 150, - "range": 1, "sight": 7, - "spritebounds": [ 112, 32 ], - "cost": [ 95, 30 ], - "upgrade": 10 - },{ - "name": "Spearmen", - "id": 7, "unit": 1, "class": "inf", "level": 1, - "move" : 7, "attack": 150, "defence": 150, - "range": 1, "sight": 7, - "spritebounds": [ 144, 32 ], - "cost": [ 115, 40 ], - "abilities": [ "Anti-Cavalry" ], - "upgrade": 11 - },{ - "name": "Knight", - "id": 8, "unit": 1, "class": "cav", "level": 2, - "move" : 10, "attack": 200, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 128, 48 ], - "cost": [ 190, 45 ], - "abilities": [ "Plains Charge" ], - "upgrade": 33 - },{ - "name": "Camels", - "id": 9, "unit": 1, "class": "cav", "level": 2, - "move" : 10, "attack": 200, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 192, 48 ], - "cost": [ 200, 50 ], - "abilities": [ "Desert Charge", "Scares Horses" ], - "upgrade": 34 - },{ - "name": "Longswordmen", - "id": 10, "unit": 1, "class": "inf", "level": 2, - "move" : 7, "attack": 200, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 112, 48 ], - "cost": [ 130, 45 ], - "upgrade": 27 - },{ - "name": "Pikemen", - "id": 11, "unit": 1, "class": "inf", "level": 2, - "move" : 7, "attack": 150, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 144, 48 ], - "cost": [ 160, 55 ], - "abilities": [ "Anti-Cavalry" ], - "upgrade": 28 - },{ - "name": "Viking Berserkers", - "id": 12, "unit": 1, "class": "inf", "level": 2, - "move" : 7, "attack": 200, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 208, 48 ], - "cost": [ 170, 55 ], - "abilities": [ "Frenzy" ], - "upgrade": 35 - },{ - "name": "Crossbowmen", - "id": 13, "unit": 1, "class": "ran", "level": 2, - "move" : 7, "attack": 200, "defence": 175, - "range": 3, "sight": 7, - "spritebounds": [ 224, 48 ], - "cost": [ 125, 50 ], - "abilities": [ "No Move & Attack" ], - "upgrade": 30 - },{ - "name": "Elite Skirmishers", - "id": 14, "unit": 1, "class": "ran", "level": 2, - "move" : 7, "attack": 150, "defence": 150, - "range": 2, "sight": 7, - "spritebounds": [ 176, 48 ], - "cost": [ 125, 50 ], - "abilities": [ "Skirmish" ], - "upgrade": 31 - },{ - "name": "Horse Archers", - "id": 15, "unit": 1, "class": "ran", "level": 2, - "move" : 10, "attack": 150, "defence": 150, - "range": 2, "sight": 7, - "spritebounds": [ 240, 48 ], - "cost": [ 125, 50 ], - "upgrade": 32 - },{ - "name": "Throwing Axemen", - "id": 16, "unit": 1, "class": "inf", "level": 2, - "move" : 7, "attack": 225, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 256, 48 ], - "cost": [ 125, 50 ], - "abilities": [ "Skirmish", "Woodsman" ], - "upgrade": 49 - },{ - "name": "Persian War Elephants", - "id": 17, "unit": 1, "class": "cav", "level": 2, - "move" : 7, "attack": 200, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 272, 48 ], - "cost": [ 210, 55 ], - "abilities": [ "Causes Fear" ], - "upgrade": 47 - },{ - "name": "Celtic Woad Raiders", - "id": 18, "unit": 1, "class": "inf", "level": 2, - "move" : 7, "attack": 200, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 288, 48 ], - "cost": [ 200, 65 ], - "abilities": [ "Causes Fear" ], - "upgrade": 36 - },{ - "name": "Knights Templar", - "id": 19, "unit": 1, "class": "cav", "level": 2, - "move" : 7, "attack": 200, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 304, 48 ], - "cost": [ 215, 55 ], - "abilities": [ "Plains Charge", "Zeal" ], - "upgrade": 45 - },{ - "name": "Scorpions", - "id": 20, "unit": 1, "class": "sie", "level": 2, - "move" : 7, "attack": 350, "defence": 250, - "range": 3, "sight": 7, - "spritebounds": [ 320, 48 ], - "cost": [ 65, 190 ], - "abilities": [ "Units Only", "No Counter", "No Move & Attack" ], - "upgrade": 42 - },{ - "name": "Battering Rams", - "id": 21, "unit": 1, "class": "sie", "level": 2, - "move" : 7, "attack": 400, "defence": 325, - "range": 1, "sight": 7, - "spritebounds": [ 336, 48 ], - "cost": [ 50, 155 ], - "abilities": [ "Buildings Only", "No Counter" ], - "upgrade": 43 - },{ - "name": "Onagers", - "id": 22, "unit": 1, "class": "sie", "level": 2, - "move" : 7, "attack": 275, "defence": 275, - "range": 1, "sight": 7, - "spritebounds": [ 352, 48 ], - "cost": [ 60, 180 ], - "abilities": [ "No Move & Attack", "No Counter" ] - },{ - "name": "Monks", - "id": 23, "unit": 1, "class": "inf", "level": 2, - "move" : 9, "attack": 50, "defence": 150, - "range": 1, "sight": 7, - "spritebounds": [ 368, 48 ], - "cost": [ 50, 155 ], - "abilities": [ "Heal", "Convert" ], - "upgrade": 44 - },{ - "name": "Archers", - "id": 24, "unit": 1, "class": "ran", "level": 2, - "move" : 7, "attack": 150, "defence": 100, - "range": 3, "sight": 7, - "spritebounds": [ 160, 32 ], - "cost": [ 105, 45 ], - "upgrade": 29 - },{ - "name": "Turkish Janissaries", - "id": 25, "unit": 1, "class": "ran", "level": 2, - "move" : 7, "attack": 250, "defence": 175, - "range": 3, "sight": 7, - "spritebounds": [ 432, 48 ], - "cost": [ 145, 60 ], - "abilities": [ "No Move & Attack" ], - "upgrade": 46 - },{ - "name": "Chinese Chu Ko Nu", - "id": 26, "unit": 1, "class": "ran", "level": 2, - "move" : 7, "attack": 150, "defence": 150, - "range": 3, "sight": 7, - "spritebounds": [ 384, 48 ], - "cost": [ 125, 55 ], - "abilities": [ "No Move & Attack", "Rapid Fire" ], - "upgrade": 48 - },{ - "name": "Two Handed Swordsman", - "id": 27, "unit": 1, "class": "inf", "level": 3, - "move" : 7, "attack": 250, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 112, 64 ], - "cost": [ 190, 65 ] - },{ - "name": "Halberdier", - "id": 28, "unit": 1, "class": "inf", "level": 3, - "move" : 7, "attack": 200, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 144, 64 ], - "cost": [ 230, 75 ], - "abilities": [ "Anti-Cavalry" ] - },{ - "name": "Elite Archers", - "id": 29, "unit": 1, "class": "ran", "level": 3, - "move" : 7, "attack": 200, "defence": 200, - "range": 3, "sight": 7, - "spritebounds": [ 160, 64 ], - "cost": [ 205, 90 ] - },{ - "name": "Arbalests", - "id": 30, "unit": 1, "class": "ran", "level": 3, - "move" : 7, "attack": 250, "defence": 225, - "range": 3, "sight": 7, - "spritebounds": [ 224, 64 ], - "cost": [ 180, 75 ], - "abilities": [ "No Move & Attack" ] - },{ - "name": "Expert Skirmishers", - "id": 31, "unit": 1, "class": "ran", "level": 3, - "move" : 7, "attack": 190, "defence": 190, - "range": 2, "sight": 7, - "spritebounds": [ 176, 64 ], - "cost": [ 160, 70 ], - "abilities": [ "Skirmish" ] - },{ - "name": "Heavy Horse Archers", - "id": 32, "unit": 1, "class": "ran", "level": 3, - "move" : 10, "attack": 200, "defence": 200, - "range": 2, "sight": 7, - "spritebounds": [ 240, 64 ], - "cost": [ 180, 75 ] - },{ - "name": "Cavaliers", - "id": 33, "unit": 1, "class": "cav", "level": 3, - "move" : 10, "attack": 250, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 128, 64 ], - "cost": [ 260, 65 ] - },{ - "name": "Heavy Camels", - "id": 34, "unit": 1, "class": "cav", "level": 3, - "move" : 10, "attack": 250, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 192, 64 ], - "cost": [ 275, 70 ], - "abilities": [ "Desert Charge", "Scares Horses" ] - },{ - "name": "Elite Berserkers", - "id": 35, "unit": 1, "class": "inf", "level": 3, - "move" : 7, "attack": 250, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 208, 64 ], - "cost": [ 235, 80 ], - "abilities": [ "Frenzy" ] - },{ - "name": "Elite Woad Raiders", - "id": 36, "unit": 1, "class": "inf", "level": 3, - "move" : 7, "attack": 250, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 288, 64 ], - "cost": [ 270, 90 ], - "abilities": [ "Causes Fear" ] - },{ - "name": "Trebuchets", - "id": 37, "unit": 1, "class": "sie", "level": 3, - "move" : 7, "attack": 375, "defence": 350, - "range": 3, "sight": 7, - "spritebounds": [ 400, 64 ], - "cost": [ 90, 270 ], - "abilities": [ "Min Range 2", "No Counter", "No Move & Attack" ], - "req_tech": [ 55 ] - },{ - "name": "Bombard Cannons", - "id": 38, "unit": 1, "class": "sie", "level": 3, - "move" : 7, "attack": 325, "defence": 325, - "range": 3, "sight": 7, - "spritebounds": [ 448, 64 ], - "cost": [ 85, 250 ], - "abilities": [ "No Counter", "No Move & Attack" ], - "req_tech": [ 57 ] - },{ - "name": "Hand Cannoneers", - "id": 39, "unit": 1, "class": "ran", "level": 3, - "move" : 7, "attack": 300, "defence": 225, - "range": 3, "sight": 7, - "spritebounds": [ 416, 64 ], - "cost": [ 205, 90 ], - "abilities": [ "No Move & Attack" ], - "req_tech": [ 57 ] - },{ - "name": "Champions", - "id": 40, "unit": 1, "class": "inf", "level": 3, - "move" : 7, "attack": 300, "defence": 300, - "range": 1, "sight": 7, - "spritebounds": [ 250, 85 ], - "cost": [ 250, 85 ], - "req_tech": [ 43 ] - },{ - "name": "Paladins", - "id": 41, "unit": 1, "class": "cav", "level": 3, - "move" : 7, "attack": 300, "defence": 300, - "range": 1, "sight": 7, - "spritebounds": [ 128, 80 ], - "cost": [ 330, 80 ], - "abilities": [ "Plains Charge" ], - "req_tech": [ 44 ] - },{ - "name": "Heavy Scorpions", - "id": 42, "unit": 1, "class": "sie", "level": 3, - "move" : 7, "attack": 400, "defence": 300, - "range": 3, "sight": 7, - "spritebounds": [ 320, 64 ], - "cost": [ 95, 265 ], - "abilities": [ "Units Only", "No Counter", "No Move & Attack" ], - "req_tech": [ 55 ] - },{ - "name": "Siege Rams", - "id": 43, "unit": 1, "class": "sie", "level": 3, - "move" : 7, "attack": 500, "defence": 375, - "range": 1, "sight": 7, - "spritebounds": [ 336, 64 ], - "cost": [ 85, 245 ], - "abilities": [ "Buildings Only", "No Counter" ], - "req_tech": [ 55 ] - },{ - "name": "Elite Monks", - "id": 44, "unit": 1, "class": "inf", "level": 3, - "move" : 9, "attack": 50, "defence": 200, - "range": 1, "sight": 7, - "spritebounds": [ 368, 64 ], - "cost": [ 75, 220 ], - "abilities": [ "Heal", "Convert" ] - },{ - "name": "Elite Knights Templar", - "id": 45, "unit": 1, "class": "cav", "level": 3, - "move" : 10, "attack": 250, "defence": 250, - "range": 1, "sight": 7, - "spritebounds": [ 304, 64 ], - "cost": [ 300, 75 ], - "abilities": [ "Plains Charge", "Zeal" ] - },{ - "name": "Elite Janissaries", - "id": 46, "unit": 1, "class": "ran", "level": 3, - "move" : 7, "attack": 300, "defence": 225, - "range": 3, "sight": 7, - "spritebounds": [ 432, 64 ], - "cost": [ 205, 90 ], - "abilities": [ "No Move & Attack" ] - },{ - "name": "Elite War Elephants", - "id": 47, "unit": 1, "class": "cav", "level": 3, - "move" : 7, "attack": 250, "defence": 300, - "range": 1, "sight": 7, - "spritebounds": [ 272, 64 ], - "cost": [ 290, 75 ], - "abilities": [ "Causes Fear" ] - },{ - "name": "Elite Chu Ko Nu", - "id": 48, "unit": 1, "class": "ran", "level": 3, - "move" : 7, "attack": 200, "defence": 200, - "range": 3, "sight": 7, - "spritebounds": [ 272, 64 ], - "cost": [ 180, 75 ], - "abilities": [ "No Move & Attack", "Rapid Fire" ] - },{ - "name": "Elite Throwing Axemen", - "id": 49, "unit": 1, "class": "inf", "level": 3, - "move" : 7, "attack": 275, "defence": 300, - "range": 1, "sight": 7, - "spritebounds": [ 256, 64 ], - "cost": [ 295, 95 ], - "abilities": [ "Skirmish", "Woodsman" ] - } +[
+ {
+ "name": "Town Center",
+ "id": 100, "unit": 0, "class": "bld", "level": 0,
+ "move" : 0, "attack": 0, "defence": 500,
+ "range": 0, "sight": 10,
+ "spritebounds": [ 528, 16 ],
+ "train_id": [ 0 ],
+ "prod": [ 30, 25 ],
+ "cost": [ 600, 400 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Mill",
+ "id": 101, "unit": 0, "class": "bld", "level": 0,
+ "move" : 0, "attack": 0, "defence": 250,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 544, 16 ],
+ "prod": [ 50, 0 ],
+ "cost": [ 120, 90 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Mine",
+ "id": 102, "unit": 0, "class": "bld", "level": 0,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 560, 16 ],
+ "prod": [ 0, 150 ],
+ "cost": [ 360, 240 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Farm",
+ "id": 103, "unit": 0, "class": "bld", "level": 0,
+ "move" : 0, "attack": 0, "defence": 100,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 576, 16 ],
+ "prod": [ 50, 0 ],
+ "cost": [ 90, 60 ],
+ "adjacent": [ 101 ],
+ "defence_bonus": 0.1
+ },{
+ "name": "Barracks",
+ "id": 104, "unit": 0, "class": "bld", "level": 0,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 592, 16 ],
+ "train_id": [ 1, 6, 7, 10, 11, 27, 28, 40 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 360, 240 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Archery Range",
+ "id": 105, "unit": 0, "class": "bld", "level": 1,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 608, 32 ],
+ "train_id": [ 3, 4, 13, 14, 15, 24, 29, 30, 31, 32, 39 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 360, 240 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Blacksmith",
+ "id": 106, "unit": 0, "class": "bld", "level": 1,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 624, 32 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 285, 165 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Market",
+ "id": 107, "unit": 0, "class": "bld", "level": 1,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 640, 32 ],
+ "train_class": [ "inf", "cav", "ran", "sie" ],
+ "prod": [ 0, 0 ],
+ "cost": [ 360, 240 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Stable",
+ "id": 108, "unit": 0, "class": "bld", "level": 0,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 656, 16 ],
+ "train_id": [ 2, 5, 8, 9, 33, 34, 41 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 360, 240 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Siege Workshop",
+ "id": 109, "unit": 0, "class": "bld", "level": 2,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 672, 48 ],
+ "train_id": [ 20, 21, 22, 38, 42, 43 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 450, 300 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Church",
+ "id": 110, "unit": 0, "class": "bld", "level": 2,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 688, 48 ],
+ "train_id": [ 23, 44 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 360, 240 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "University",
+ "id": 111, "unit": 0, "class": "bld", "level": 2,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 704, 48 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 450, 300 ],
+ "adjacent": [ 100 ],
+ "defence_bonus": 0.2
+ },{
+ "name": "Tower",
+ "id": 112, "unit": 0, "class": "bld", "level": 1,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 720, 48 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 360, 240 ],
+ "diagonal": [ 100 ],
+ "defence_bonus": 0.4,
+ "defence_bonus_adj": 0.25
+ },{
+ "name": "Castle",
+ "id": 113, "unit": 0, "class": "bld", "level": 2,
+ "move" : 0, "attack": 0, "defence": 300,
+ "range": 0, "sight": 7,
+ "spritebounds": [ 720, 48 ],
+ "train_id": [ 10, 27, 37 ],
+ "prod": [ 0, 0 ],
+ "cost": [ 900, 600 ],
+ "defence_bonus": 0.4
+ },{
+ "name": "Villager",
+ "id": 0, "unit": 1, "class": "inf", "level": -1,
+ "move" : 7, "attack": 50, "defence": 50,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 96, 16 ],
+ "build": [
+ 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
+ 111, 112, 113
+ ],
+ "cost": [ 100, 100 ]
+ },{
+ "name": "Militia",
+ "id": 1, "unit": 1, "class": "inf", "level": 0,
+ "move" : 7, "attack": 100, "defence": 100,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 112, 16 ],
+ "cost": [ 75, 25 ],
+ "upgrade": 6
+ },{
+ "name": "Scout Cavalry",
+ "id": 2, "unit": 1, "class": "cav", "level": 0,
+ "move" : 12, "attack": 100, "defence": 100,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 128, 16 ],
+ "cost": [ 120, 30 ],
+ "abilities": [ "Scout" ]
+ },{
+ "name": "Archers",
+ "id": 3, "unit": 1, "class": "ran", "level": 1,
+ "move" : 7, "attack": 150, "defence": 100,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 160, 32 ],
+ "cost": [ 105, 45 ],
+ "upgrade": 24
+ },{
+ "name": "Skirmishers",
+ "id": 4, "unit": 1, "class": "ran", "level": 1,
+ "move" : 7, "attack": 110, "defence": 110,
+ "range": 2, "sight": 7,
+ "spritebounds": [ 176, 32 ],
+ "cost": [ 95, 40 ],
+ "abilities": [ "Skirmish" ],
+ "upgrade": 14
+ },{
+ "name": "Light Cavalry",
+ "id": 5, "unit": 1, "class": "cav", "level": 1,
+ "move" : 10, "attack": 150, "defence": 150,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 128, 32 ],
+ "cost": [ 140, 35 ],
+ "abilities": [ "Plains Charge" ],
+ "upgrade": 8
+ },{
+ "name": "Men at Arms",
+ "id": 6, "unit": 1, "class": "inf", "level": 1,
+ "move" : 7, "attack": 150, "defence": 150,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 112, 32 ],
+ "cost": [ 95, 30 ],
+ "upgrade": 10
+ },{
+ "name": "Spearmen",
+ "id": 7, "unit": 1, "class": "inf", "level": 1,
+ "move" : 7, "attack": 150, "defence": 150,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 144, 32 ],
+ "cost": [ 115, 40 ],
+ "abilities": [ "Anti-Cavalry" ],
+ "upgrade": 11
+ },{
+ "name": "Knight",
+ "id": 8, "unit": 1, "class": "cav", "level": 2,
+ "move" : 10, "attack": 200, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 128, 48 ],
+ "cost": [ 190, 45 ],
+ "abilities": [ "Plains Charge" ],
+ "upgrade": 33
+ },{
+ "name": "Camels",
+ "id": 9, "unit": 1, "class": "cav", "level": 2,
+ "move" : 10, "attack": 200, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 192, 48 ],
+ "cost": [ 200, 50 ],
+ "abilities": [ "Desert Charge", "Scares Horses" ],
+ "upgrade": 34
+ },{
+ "name": "Longswordmen",
+ "id": 10, "unit": 1, "class": "inf", "level": 2,
+ "move" : 7, "attack": 200, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 112, 48 ],
+ "cost": [ 130, 45 ],
+ "upgrade": 27
+ },{
+ "name": "Pikemen",
+ "id": 11, "unit": 1, "class": "inf", "level": 2,
+ "move" : 7, "attack": 150, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 144, 48 ],
+ "cost": [ 160, 55 ],
+ "abilities": [ "Anti-Cavalry" ],
+ "upgrade": 28
+ },{
+ "name": "Viking Berserkers",
+ "id": 12, "unit": 1, "class": "inf", "level": 2,
+ "move" : 7, "attack": 200, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 208, 48 ],
+ "cost": [ 170, 55 ],
+ "abilities": [ "Frenzy" ],
+ "upgrade": 35
+ },{
+ "name": "Crossbowmen",
+ "id": 13, "unit": 1, "class": "ran", "level": 2,
+ "move" : 7, "attack": 200, "defence": 175,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 224, 48 ],
+ "cost": [ 125, 50 ],
+ "abilities": [ "No Move & Attack" ],
+ "upgrade": 30
+ },{
+ "name": "Elite Skirmishers",
+ "id": 14, "unit": 1, "class": "ran", "level": 2,
+ "move" : 7, "attack": 150, "defence": 150,
+ "range": 2, "sight": 7,
+ "spritebounds": [ 176, 48 ],
+ "cost": [ 125, 50 ],
+ "abilities": [ "Skirmish" ],
+ "upgrade": 31
+ },{
+ "name": "Horse Archers",
+ "id": 15, "unit": 1, "class": "ran", "level": 2,
+ "move" : 10, "attack": 150, "defence": 150,
+ "range": 2, "sight": 7,
+ "spritebounds": [ 240, 48 ],
+ "cost": [ 125, 50 ],
+ "upgrade": 32
+ },{
+ "name": "Throwing Axemen",
+ "id": 16, "unit": 1, "class": "inf", "level": 2,
+ "move" : 7, "attack": 225, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 256, 48 ],
+ "cost": [ 125, 50 ],
+ "abilities": [ "Skirmish", "Woodsman" ],
+ "upgrade": 49
+ },{
+ "name": "Persian War Elephants",
+ "id": 17, "unit": 1, "class": "cav", "level": 2,
+ "move" : 7, "attack": 200, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 272, 48 ],
+ "cost": [ 210, 55 ],
+ "abilities": [ "Causes Fear" ],
+ "upgrade": 47
+ },{
+ "name": "Celtic Woad Raiders",
+ "id": 18, "unit": 1, "class": "inf", "level": 2,
+ "move" : 7, "attack": 200, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 288, 48 ],
+ "cost": [ 200, 65 ],
+ "abilities": [ "Causes Fear" ],
+ "upgrade": 36
+ },{
+ "name": "Knights Templar",
+ "id": 19, "unit": 1, "class": "cav", "level": 2,
+ "move" : 7, "attack": 200, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 304, 48 ],
+ "cost": [ 215, 55 ],
+ "abilities": [ "Plains Charge", "Zeal" ],
+ "upgrade": 45
+ },{
+ "name": "Scorpions",
+ "id": 20, "unit": 1, "class": "sie", "level": 2,
+ "move" : 7, "attack": 350, "defence": 250,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 320, 48 ],
+ "cost": [ 65, 190 ],
+ "abilities": [ "Units Only", "No Counter", "No Move & Attack" ],
+ "upgrade": 42
+ },{
+ "name": "Battering Rams",
+ "id": 21, "unit": 1, "class": "sie", "level": 2,
+ "move" : 7, "attack": 400, "defence": 325,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 336, 48 ],
+ "cost": [ 50, 155 ],
+ "abilities": [ "Buildings Only", "No Counter" ],
+ "upgrade": 43
+ },{
+ "name": "Onagers",
+ "id": 22, "unit": 1, "class": "sie", "level": 2,
+ "move" : 7, "attack": 275, "defence": 275,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 352, 48 ],
+ "cost": [ 60, 180 ],
+ "abilities": [ "No Move & Attack", "No Counter" ]
+ },{
+ "name": "Monks",
+ "id": 23, "unit": 1, "class": "inf", "level": 2,
+ "move" : 9, "attack": 50, "defence": 150,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 368, 48 ],
+ "cost": [ 50, 155 ],
+ "abilities": [ "Heal", "Convert" ],
+ "upgrade": 44
+ },{
+ "name": "Archers",
+ "id": 24, "unit": 1, "class": "ran", "level": 2,
+ "move" : 7, "attack": 150, "defence": 100,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 160, 32 ],
+ "cost": [ 105, 45 ],
+ "upgrade": 29
+ },{
+ "name": "Turkish Janissaries",
+ "id": 25, "unit": 1, "class": "ran", "level": 2,
+ "move" : 7, "attack": 250, "defence": 175,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 432, 48 ],
+ "cost": [ 145, 60 ],
+ "abilities": [ "No Move & Attack" ],
+ "upgrade": 46
+ },{
+ "name": "Chinese Chu Ko Nu",
+ "id": 26, "unit": 1, "class": "ran", "level": 2,
+ "move" : 7, "attack": 150, "defence": 150,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 384, 48 ],
+ "cost": [ 125, 55 ],
+ "abilities": [ "No Move & Attack", "Rapid Fire" ],
+ "upgrade": 48
+ },{
+ "name": "Two Handed Swordsman",
+ "id": 27, "unit": 1, "class": "inf", "level": 3,
+ "move" : 7, "attack": 250, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 112, 64 ],
+ "cost": [ 190, 65 ]
+ },{
+ "name": "Halberdier",
+ "id": 28, "unit": 1, "class": "inf", "level": 3,
+ "move" : 7, "attack": 200, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 144, 64 ],
+ "cost": [ 230, 75 ],
+ "abilities": [ "Anti-Cavalry" ]
+ },{
+ "name": "Elite Archers",
+ "id": 29, "unit": 1, "class": "ran", "level": 3,
+ "move" : 7, "attack": 200, "defence": 200,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 160, 64 ],
+ "cost": [ 205, 90 ]
+ },{
+ "name": "Arbalests",
+ "id": 30, "unit": 1, "class": "ran", "level": 3,
+ "move" : 7, "attack": 250, "defence": 225,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 224, 64 ],
+ "cost": [ 180, 75 ],
+ "abilities": [ "No Move & Attack" ]
+ },{
+ "name": "Expert Skirmishers",
+ "id": 31, "unit": 1, "class": "ran", "level": 3,
+ "move" : 7, "attack": 190, "defence": 190,
+ "range": 2, "sight": 7,
+ "spritebounds": [ 176, 64 ],
+ "cost": [ 160, 70 ],
+ "abilities": [ "Skirmish" ]
+ },{
+ "name": "Heavy Horse Archers",
+ "id": 32, "unit": 1, "class": "ran", "level": 3,
+ "move" : 10, "attack": 200, "defence": 200,
+ "range": 2, "sight": 7,
+ "spritebounds": [ 240, 64 ],
+ "cost": [ 180, 75 ]
+ },{
+ "name": "Cavaliers",
+ "id": 33, "unit": 1, "class": "cav", "level": 3,
+ "move" : 10, "attack": 250, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 128, 64 ],
+ "cost": [ 260, 65 ]
+ },{
+ "name": "Heavy Camels",
+ "id": 34, "unit": 1, "class": "cav", "level": 3,
+ "move" : 10, "attack": 250, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 192, 64 ],
+ "cost": [ 275, 70 ],
+ "abilities": [ "Desert Charge", "Scares Horses" ]
+ },{
+ "name": "Elite Berserkers",
+ "id": 35, "unit": 1, "class": "inf", "level": 3,
+ "move" : 7, "attack": 250, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 208, 64 ],
+ "cost": [ 235, 80 ],
+ "abilities": [ "Frenzy" ]
+ },{
+ "name": "Elite Woad Raiders",
+ "id": 36, "unit": 1, "class": "inf", "level": 3,
+ "move" : 7, "attack": 250, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 288, 64 ],
+ "cost": [ 270, 90 ],
+ "abilities": [ "Causes Fear" ]
+ },{
+ "name": "Trebuchets",
+ "id": 37, "unit": 1, "class": "sie", "level": 3,
+ "move" : 7, "attack": 375, "defence": 350,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 400, 64 ],
+ "cost": [ 90, 270 ],
+ "abilities": [ "Min Range 2", "No Counter", "No Move & Attack" ],
+ "req_tech": [ 55 ]
+ },{
+ "name": "Bombard Cannons",
+ "id": 38, "unit": 1, "class": "sie", "level": 3,
+ "move" : 7, "attack": 325, "defence": 325,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 448, 64 ],
+ "cost": [ 85, 250 ],
+ "abilities": [ "No Counter", "No Move & Attack" ],
+ "req_tech": [ 57 ]
+ },{
+ "name": "Hand Cannoneers",
+ "id": 39, "unit": 1, "class": "ran", "level": 3,
+ "move" : 7, "attack": 300, "defence": 225,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 416, 64 ],
+ "cost": [ 205, 90 ],
+ "abilities": [ "No Move & Attack" ],
+ "req_tech": [ 57 ]
+ },{
+ "name": "Champions",
+ "id": 40, "unit": 1, "class": "inf", "level": 3,
+ "move" : 7, "attack": 300, "defence": 300,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 250, 85 ],
+ "cost": [ 250, 85 ],
+ "req_tech": [ 43 ]
+ },{
+ "name": "Paladins",
+ "id": 41, "unit": 1, "class": "cav", "level": 3,
+ "move" : 7, "attack": 300, "defence": 300,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 128, 80 ],
+ "cost": [ 330, 80 ],
+ "abilities": [ "Plains Charge" ],
+ "req_tech": [ 44 ]
+ },{
+ "name": "Heavy Scorpions",
+ "id": 42, "unit": 1, "class": "sie", "level": 3,
+ "move" : 7, "attack": 400, "defence": 300,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 320, 64 ],
+ "cost": [ 95, 265 ],
+ "abilities": [ "Units Only", "No Counter", "No Move & Attack" ],
+ "req_tech": [ 55 ]
+ },{
+ "name": "Siege Rams",
+ "id": 43, "unit": 1, "class": "sie", "level": 3,
+ "move" : 7, "attack": 500, "defence": 375,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 336, 64 ],
+ "cost": [ 85, 245 ],
+ "abilities": [ "Buildings Only", "No Counter" ],
+ "req_tech": [ 55 ]
+ },{
+ "name": "Elite Monks",
+ "id": 44, "unit": 1, "class": "inf", "level": 3,
+ "move" : 9, "attack": 50, "defence": 200,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 368, 64 ],
+ "cost": [ 75, 220 ],
+ "abilities": [ "Heal", "Convert" ]
+ },{
+ "name": "Elite Knights Templar",
+ "id": 45, "unit": 1, "class": "cav", "level": 3,
+ "move" : 10, "attack": 250, "defence": 250,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 304, 64 ],
+ "cost": [ 300, 75 ],
+ "abilities": [ "Plains Charge", "Zeal" ]
+ },{
+ "name": "Elite Janissaries",
+ "id": 46, "unit": 1, "class": "ran", "level": 3,
+ "move" : 7, "attack": 300, "defence": 225,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 432, 64 ],
+ "cost": [ 205, 90 ],
+ "abilities": [ "No Move & Attack" ]
+ },{
+ "name": "Elite War Elephants",
+ "id": 47, "unit": 1, "class": "cav", "level": 3,
+ "move" : 7, "attack": 250, "defence": 300,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 272, 64 ],
+ "cost": [ 290, 75 ],
+ "abilities": [ "Causes Fear" ]
+ },{
+ "name": "Elite Chu Ko Nu",
+ "id": 48, "unit": 1, "class": "ran", "level": 3,
+ "move" : 7, "attack": 200, "defence": 200,
+ "range": 3, "sight": 7,
+ "spritebounds": [ 272, 64 ],
+ "cost": [ 180, 75 ],
+ "abilities": [ "No Move & Attack", "Rapid Fire" ]
+ },{
+ "name": "Elite Throwing Axemen",
+ "id": 49, "unit": 1, "class": "inf", "level": 3,
+ "move" : 7, "attack": 275, "defence": 300,
+ "range": 1, "sight": 7,
+ "spritebounds": [ 256, 64 ],
+ "cost": [ 295, 95 ],
+ "abilities": [ "Skirmish", "Woodsman" ]
+ }
]
\ No newline at end of file diff --git a/build/content/raw_ents name.json b/build/content/raw_ents name.json index e80a1c3..0a5163c 100644 --- a/build/content/raw_ents name.json +++ b/build/content/raw_ents name.json @@ -1,94 +1,94 @@ -Buildings: -Town Center -Mill -Mine -Farm -Barracks -Archery Range -Blacksmith -University -Stable -Market -Siege Workshop -Church -Castle -Tower - - -Age 1: - -Unit name: Villagers -Unit name: Militia -Unit name: Scout Cavalry - -Age 2: - -Unit name: Archers -Unit name: Skirmishers -Unit name: Light Cavalry -Unit name: Men-at-Arms -Unit name: Spearmen - -Age 3: - -Unit name: Knights -Unit name: Camels -Unit name: Longswordmen -Unit name: Pikemen -Unit name: Viking Berserkers -Unit name: Crossbowmen -Unit name: Elite Skirmishers -Unit name: Horse Archers -Unit name: Throwing Axmen -Unit name: Persian War Elephants -Unit name: Celtic Woad Raiders -Unit name: Knights Templar -Unit name: Scorpions -Unit name: Battering Rams -Unit name: Onagers -Unit name: Monks - -Age 4: - -Unit name: Two Handed Swordsmen -Unit name: Elite Pikemen -Unit name: Elite Archers -Unit name: Arbalests -Unit name: Expert Skirmishers -Unit name: Hvy Horse Archers -Unit name: Cavaliers -Unit name: Heavy Camels -Unit name: Elite Berserkers -Unit name: Elite Woad Raiders -Unit name: Trebuchets -Unit name: Bombard Cannons -Unit name: Hand Cannoneers -Unit name: Champions -Unit name: Paladins -Unit name: Heavy Scorpions -Unit name: Siege Rams -Unit name: Elite Monks -Unit name: Elite Knights Templar -Unit name: Elite Janissaries - -Civ Specific Units: - --Franks -Unit name: Throwing Axmen -Unit name: Elite Throwing Axmen - --Britons -Unit name: Longbowmen -Unit name: Elite Longbowmen - --Mongols -Unit name: Mangudai -Unit name: Elite Mangudai - --Saracens -Unit name: Mamelukes -Unit name: Elite Mamelukes - --Japanese -Unit name: Samurai +Buildings:
+Town Center
+Mill
+Mine
+Farm
+Barracks
+Archery Range
+Blacksmith
+University
+Stable
+Market
+Siege Workshop
+Church
+Castle
+Tower
+
+
+Age 1:
+
+Unit name: Villagers
+Unit name: Militia
+Unit name: Scout Cavalry
+
+Age 2:
+
+Unit name: Archers
+Unit name: Skirmishers
+Unit name: Light Cavalry
+Unit name: Men-at-Arms
+Unit name: Spearmen
+
+Age 3:
+
+Unit name: Knights
+Unit name: Camels
+Unit name: Longswordmen
+Unit name: Pikemen
+Unit name: Viking Berserkers
+Unit name: Crossbowmen
+Unit name: Elite Skirmishers
+Unit name: Horse Archers
+Unit name: Throwing Axmen
+Unit name: Persian War Elephants
+Unit name: Celtic Woad Raiders
+Unit name: Knights Templar
+Unit name: Scorpions
+Unit name: Battering Rams
+Unit name: Onagers
+Unit name: Monks
+
+Age 4:
+
+Unit name: Two Handed Swordsmen
+Unit name: Elite Pikemen
+Unit name: Elite Archers
+Unit name: Arbalests
+Unit name: Expert Skirmishers
+Unit name: Hvy Horse Archers
+Unit name: Cavaliers
+Unit name: Heavy Camels
+Unit name: Elite Berserkers
+Unit name: Elite Woad Raiders
+Unit name: Trebuchets
+Unit name: Bombard Cannons
+Unit name: Hand Cannoneers
+Unit name: Champions
+Unit name: Paladins
+Unit name: Heavy Scorpions
+Unit name: Siege Rams
+Unit name: Elite Monks
+Unit name: Elite Knights Templar
+Unit name: Elite Janissaries
+
+Civ Specific Units:
+
+-Franks
+Unit name: Throwing Axmen
+Unit name: Elite Throwing Axmen
+
+-Britons
+Unit name: Longbowmen
+Unit name: Elite Longbowmen
+
+-Mongols
+Unit name: Mangudai
+Unit name: Elite Mangudai
+
+-Saracens
+Unit name: Mamelukes
+Unit name: Elite Mamelukes
+
+-Japanese
+Unit name: Samurai
Unit name: Elite Samurai
\ No newline at end of file diff --git a/build/content/raw_ents.json b/build/content/raw_ents.json index 9d513ba..2a141bd 100644 --- a/build/content/raw_ents.json +++ b/build/content/raw_ents.json @@ -1,564 +1,564 @@ -Unit name: Militia -Unit type: Infantry -Bonuses: +33% vs. siege +33% vs. Building -Move: 7 -Attack: 100 -Defense: 100 -Sight: 7 -Range: 1 -Specials: None - - -Unit name: Villagers -Unit type: Infantry -Bonuses: +33% vs. siege +33% vs. Building -Move: 7 -Attack: 50 -Defense: 50 -Sight: 7 -Range: 1 -Specials: Build - - -Unit name: Scout Cavalry -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building -Move: 12 -Attack: 100 -Defense: 100 -Sight: 10 -Range: 1 -Specials: Scout - - -Age 2: - -Unit name: Archers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 150 -Defense: 100 -Sight: 7 -Range: 3 -Specials: None - - -Unit name: Skirmishers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 110 -Defense: 110 -Sight: 7 -Range: 2 -Specials: Skirmish - - -Unit name: Light Cavalry -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% vs. Building -Move: 10 -Attack: 150 -Defense: 150 -Sight: 7 -Range: 1 -Specials: Plains Charge - - -Unit name: Men-at-Arms -Unit type: Infantry -Bonuses: +33% vs. siege +33% vs. Building -Move: 7 -Attack: 150 -Defense: 150 -Sight: 7 -Range: 1 -Specials: None - - -Unit name: Spearmen -Unit type: Infantry -Bonuses: +33% vs. siege +33% vs. Building -Move: 7 -Attack: 100 -Defense: 150 -Sight: 7 -Range: 1 -Specials: Anti-Cavalry - - -Age 3: - -Unit name: Knights -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building -Move: 10 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Plains Charge - - -Unit name: Camels -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building -Move: 10 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Desert Charge, Scares Horses. - - -Unit name: Longswordmen -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 1 -Specials: None - -Unit name: Pikemen -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 150 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Anti-Cavalry - -Unit name: Viking Berserkers -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Frenzy - -Unit name: Crossbowmen -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 200 -Defense: 175 -Sight: 7 -Range: 3 -Specials: No Move & Attack. - -Unit name: Elite Skirmishers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 150 -Defense: 150 -Sight: 7 -Range: 2 -Specials: Skirmish - -Unit name: Horse Archers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 10 -Attack: 150 -Defense: 150 -Sight: 7 -Range: 2 -Specials: None - -Unit name: Throwing Axmen -Unit type: Infantry -Bonuses: 33% vs. Siege 33% vs. Building -Move: 7 -Attack: 225 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Skirmish, Woodsman - -Unit name: Persian War Elephants -Unit type: Cavalry -Bonuses: 33% vs. Infantry 33% vs. Ranged -50% vs. Building -Move: 7 -Attack: 200 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Causes Fear - -Unit name: Celtic Woad Raiders -Unit type: Infantry -Bonuses: 33% vs. Siege 33% vs. Building -Move: 7 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Causes Fear - -Unit name: Knights Templar -Unit type: Cavalry -Bonuses: 33% vs. Infantry 33% vs. Ranged -50% vs. Building -Move: 10 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Plains Charge, Zeal - -Unit name: Scorpions -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 350 -Defense: 250 -Sight: 7 -Range: 3 -Specials: Units only, No Counter, No Move & Attack - -Unit name: Battering Rams -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 400 -Defense: 325 -Sight: 7 -Range: 1 -Specials: Buildings only, No Counter. - -Unit name: Onagers -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 275 -Defense: 275 -Sight: 7 -Range: 3 -Specials: No Counter, No Move & Attack - - -Age 4: - -Unit name: Two Handed Swordsmen -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: None - -Unit name: Elite Pikemen -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 200 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Anti-Cavalry - -Unit name: Archers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 3 -Specials: None - -Unit name: Arbalests -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 250 -Defense: 225 -Sight: 7 -Range: 3 -Specials: No Move & Attack. - -Unit name: Expert Skirmishers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 190 -Defense: 190 -Sight: 7 -Range: 2 -Specials: Skirmish - -Unit name: Hvy Horse Archers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 10 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 2 -Specials: None - -Unit name: Cavaliers -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building -Move: 10 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Plains Charge - -Unit name: Heavy Camels -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building -Move: 10 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Desert Charge, Scares Horses. - -Unit name: Elite Berserkers -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Frenzy - -Unit name: Elite Woad Raiders -Unit type: Infantry -Bonuses: 33% vs. Siege 33% vs. Building -Move: 7 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Causes Fear - -Unit name: Trebuchets -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 375 -Defense: 350 -Sight: 7 -Range: 3 -Specials: Min Range 2, No Counter, No Move & Attack - -Unit name: Bombard Cannons -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 325 -Defense: 325 -Sight: 7 -Range: 3 -Specials: No Counter, No Move & Attack -(Notes: You need to research 'Chemistry' To raise these.) - -Unit name: Hand Cannoneers -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 300 -Defense: 225 -Sight: 7 -Range: 3 -Specials: No Move & Attack -(Notes: You need to research 'Chemistry' To raise these.) - -Unit name: Champions -Unit type: Infantry -Bonuses: +33% vs. Siege +33% vs. Building -Move: 7 -Attack: 300 -Defense: 300 -Sight: 7 -Range: 1 -Specials: None -(Notes: You need to research 'Arena' To raise these.) - -Unit name: Paladins -Unit type: Cavalry -Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building -Move: 10 -Attack: 300 -Defense: 300 -Sight: 7 -Range: 1 -Specials: Plains Charge -(Note: You need to research 'Squire' to create Paladins) - -Unit name: Heavy Scorpions -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 400 -Defense: 300 -Sight: 7 -Range: 3 -Specials: Units only, No Counter, No Move & Attack -(Note: You need to Research Siege Engineers to raise these.) - -Unit name: Siege Rams -Unit type: Siege -Bonuses: 50% vs. Building -Move: 7 -Attack: 500 -Defense: 375 -Sight: 7 -Range: 3 -Specials: Buildings only, No Counter. - - -Unit name: Elite Monks -Unit type: Infantry -Bonuses: 33% vs. Siege 33% vs. Building -Move: 7 -Attack: 50 -Defense: 200 -Sight: 7 -Range: 1 -Specials: Improved Heal, Improved Convert - -Unit name: Elite Knights Templar -Unit type: Cavalry -Bonuses: 33% vs. Infantry 33% vs. Ranged -50% vs. Building -Move: 10 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Plains Charge, Zeal - - -Unit name: Elite Janissaries -Unit type: Ranged -Bonuses: -50% vs. Building -Move: 7 -Attack: 300 -Defense: 225 -Sight: 7 -Range: 1 -Specials: No Move & Attack - -Civ Specific Units: - --Franks -Unit name: Throwing Axmen -Unit type: Infantry -Bonuses: 33% vs. Siege 33% vs. Building -Move: 7 -Attack: 250 -Defense: 275 -Sight: 7 -Range: 1 -Specials: Skirmish, Woodsman - - -Unit name: Elite Throwing Axmen -Unit type: Infantry -Bonuses: 33% vs. Siege 33% vs. Building -Move: 7 -Attack: 275 -Defense: 300 -Sight: 7 -Range: 1 -Specials: Skirmish, Woodsman - --Britons -Unit name: Longbowmen -Unit type: Ranged -Bonuses: -50% vs. Buildings -Move: 7 -Attack: 250 -Defense: 200 -Sight: 7 -Range: 3 -Specials: Volley - - -Unit name: Elite Longbowmen -Unit type: Ranged -Bonuses: -50% vs. Buildings -Move: 7 -Attack: 275 -Defense: 250 -Sight: 7 -Range: 3 -Specials: Volley - --Mongols -Unit name: Mangudai -Unit type: Ranged -Bonuses: -50% vs. Buildings -Move: 7 -Attack: 150 -Defense: 150 -Sight: 7 -Range: 2 -Specials: First Strike - -Unit name: Elite Mangudai -Unit type: Ranged -Bonuses: -50% vs. Buildings -Move: 7 -Attack: 200 -Defense: 200 -Sight: 7 -Range: 2 -Specials: First Strike - --Saracens -Unit name: Mamelukes -Unit type: Cavalry -Bonuses: +33% vs. Infantry & Ranged, -50% vs. Buildings -Move: 7 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Desert Charge, Scares Horses - - -Unit name: Elite Mamelukes -Unit type: Cavalry -Bonuses: +33% vs. Infantry & Ranged, -50% vs. Buildings -Move: 7 -Attack: 300 -Defense: 300 -Sight: 7 -Range: 1 -Specials: Desert Charge, Scares Horses - --Japanese -Unit name: Samurai -Unit type: Infantry -Bonuses: +33% vs. Siege & Buildings -Move: 9 -Attack: 250 -Defense: 250 -Sight: 7 -Range: 1 -Specials: Seasoned Veteran - - -Unit name: Elite Samurai -Unit type: Infantry -Bonuses: +33% vs. Siege & Buildings -Move: 9 -Attack: 300 -Defense: 300 -Sight: 7 -Range: 1 +Unit name: Militia
+Unit type: Infantry
+Bonuses: +33% vs. siege +33% vs. Building
+Move: 7
+Attack: 100
+Defense: 100
+Sight: 7
+Range: 1
+Specials: None
+
+
+Unit name: Villagers
+Unit type: Infantry
+Bonuses: +33% vs. siege +33% vs. Building
+Move: 7
+Attack: 50
+Defense: 50
+Sight: 7
+Range: 1
+Specials: Build
+
+
+Unit name: Scout Cavalry
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building
+Move: 12
+Attack: 100
+Defense: 100
+Sight: 10
+Range: 1
+Specials: Scout
+
+
+Age 2:
+
+Unit name: Archers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 150
+Defense: 100
+Sight: 7
+Range: 3
+Specials: None
+
+
+Unit name: Skirmishers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 110
+Defense: 110
+Sight: 7
+Range: 2
+Specials: Skirmish
+
+
+Unit name: Light Cavalry
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% vs. Building
+Move: 10
+Attack: 150
+Defense: 150
+Sight: 7
+Range: 1
+Specials: Plains Charge
+
+
+Unit name: Men-at-Arms
+Unit type: Infantry
+Bonuses: +33% vs. siege +33% vs. Building
+Move: 7
+Attack: 150
+Defense: 150
+Sight: 7
+Range: 1
+Specials: None
+
+
+Unit name: Spearmen
+Unit type: Infantry
+Bonuses: +33% vs. siege +33% vs. Building
+Move: 7
+Attack: 100
+Defense: 150
+Sight: 7
+Range: 1
+Specials: Anti-Cavalry
+
+
+Age 3:
+
+Unit name: Knights
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building
+Move: 10
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Plains Charge
+
+
+Unit name: Camels
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building
+Move: 10
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Desert Charge, Scares Horses.
+
+
+Unit name: Longswordmen
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 1
+Specials: None
+
+Unit name: Pikemen
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 150
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Anti-Cavalry
+
+Unit name: Viking Berserkers
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Frenzy
+
+Unit name: Crossbowmen
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 200
+Defense: 175
+Sight: 7
+Range: 3
+Specials: No Move & Attack.
+
+Unit name: Elite Skirmishers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 150
+Defense: 150
+Sight: 7
+Range: 2
+Specials: Skirmish
+
+Unit name: Horse Archers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 10
+Attack: 150
+Defense: 150
+Sight: 7
+Range: 2
+Specials: None
+
+Unit name: Throwing Axmen
+Unit type: Infantry
+Bonuses: 33% vs. Siege 33% vs. Building
+Move: 7
+Attack: 225
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Skirmish, Woodsman
+
+Unit name: Persian War Elephants
+Unit type: Cavalry
+Bonuses: 33% vs. Infantry 33% vs. Ranged -50% vs. Building
+Move: 7
+Attack: 200
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Causes Fear
+
+Unit name: Celtic Woad Raiders
+Unit type: Infantry
+Bonuses: 33% vs. Siege 33% vs. Building
+Move: 7
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Causes Fear
+
+Unit name: Knights Templar
+Unit type: Cavalry
+Bonuses: 33% vs. Infantry 33% vs. Ranged -50% vs. Building
+Move: 10
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Plains Charge, Zeal
+
+Unit name: Scorpions
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 350
+Defense: 250
+Sight: 7
+Range: 3
+Specials: Units only, No Counter, No Move & Attack
+
+Unit name: Battering Rams
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 400
+Defense: 325
+Sight: 7
+Range: 1
+Specials: Buildings only, No Counter.
+
+Unit name: Onagers
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 275
+Defense: 275
+Sight: 7
+Range: 3
+Specials: No Counter, No Move & Attack
+
+
+Age 4:
+
+Unit name: Two Handed Swordsmen
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: None
+
+Unit name: Elite Pikemen
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 200
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Anti-Cavalry
+
+Unit name: Archers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 3
+Specials: None
+
+Unit name: Arbalests
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 250
+Defense: 225
+Sight: 7
+Range: 3
+Specials: No Move & Attack.
+
+Unit name: Expert Skirmishers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 190
+Defense: 190
+Sight: 7
+Range: 2
+Specials: Skirmish
+
+Unit name: Hvy Horse Archers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 10
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 2
+Specials: None
+
+Unit name: Cavaliers
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building
+Move: 10
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Plains Charge
+
+Unit name: Heavy Camels
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building
+Move: 10
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Desert Charge, Scares Horses.
+
+Unit name: Elite Berserkers
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Frenzy
+
+Unit name: Elite Woad Raiders
+Unit type: Infantry
+Bonuses: 33% vs. Siege 33% vs. Building
+Move: 7
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Causes Fear
+
+Unit name: Trebuchets
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 375
+Defense: 350
+Sight: 7
+Range: 3
+Specials: Min Range 2, No Counter, No Move & Attack
+
+Unit name: Bombard Cannons
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 325
+Defense: 325
+Sight: 7
+Range: 3
+Specials: No Counter, No Move & Attack
+(Notes: You need to research 'Chemistry' To raise these.)
+
+Unit name: Hand Cannoneers
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 300
+Defense: 225
+Sight: 7
+Range: 3
+Specials: No Move & Attack
+(Notes: You need to research 'Chemistry' To raise these.)
+
+Unit name: Champions
+Unit type: Infantry
+Bonuses: +33% vs. Siege +33% vs. Building
+Move: 7
+Attack: 300
+Defense: 300
+Sight: 7
+Range: 1
+Specials: None
+(Notes: You need to research 'Arena' To raise these.)
+
+Unit name: Paladins
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry +33% vs. Ranged -50% Vs. Building
+Move: 10
+Attack: 300
+Defense: 300
+Sight: 7
+Range: 1
+Specials: Plains Charge
+(Note: You need to research 'Squire' to create Paladins)
+
+Unit name: Heavy Scorpions
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 400
+Defense: 300
+Sight: 7
+Range: 3
+Specials: Units only, No Counter, No Move & Attack
+(Note: You need to Research Siege Engineers to raise these.)
+
+Unit name: Siege Rams
+Unit type: Siege
+Bonuses: 50% vs. Building
+Move: 7
+Attack: 500
+Defense: 375
+Sight: 7
+Range: 3
+Specials: Buildings only, No Counter.
+
+
+Unit name: Elite Monks
+Unit type: Infantry
+Bonuses: 33% vs. Siege 33% vs. Building
+Move: 7
+Attack: 50
+Defense: 200
+Sight: 7
+Range: 1
+Specials: Improved Heal, Improved Convert
+
+Unit name: Elite Knights Templar
+Unit type: Cavalry
+Bonuses: 33% vs. Infantry 33% vs. Ranged -50% vs. Building
+Move: 10
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Plains Charge, Zeal
+
+
+Unit name: Elite Janissaries
+Unit type: Ranged
+Bonuses: -50% vs. Building
+Move: 7
+Attack: 300
+Defense: 225
+Sight: 7
+Range: 1
+Specials: No Move & Attack
+
+Civ Specific Units:
+
+-Franks
+Unit name: Throwing Axmen
+Unit type: Infantry
+Bonuses: 33% vs. Siege 33% vs. Building
+Move: 7
+Attack: 250
+Defense: 275
+Sight: 7
+Range: 1
+Specials: Skirmish, Woodsman
+
+
+Unit name: Elite Throwing Axmen
+Unit type: Infantry
+Bonuses: 33% vs. Siege 33% vs. Building
+Move: 7
+Attack: 275
+Defense: 300
+Sight: 7
+Range: 1
+Specials: Skirmish, Woodsman
+
+-Britons
+Unit name: Longbowmen
+Unit type: Ranged
+Bonuses: -50% vs. Buildings
+Move: 7
+Attack: 250
+Defense: 200
+Sight: 7
+Range: 3
+Specials: Volley
+
+
+Unit name: Elite Longbowmen
+Unit type: Ranged
+Bonuses: -50% vs. Buildings
+Move: 7
+Attack: 275
+Defense: 250
+Sight: 7
+Range: 3
+Specials: Volley
+
+-Mongols
+Unit name: Mangudai
+Unit type: Ranged
+Bonuses: -50% vs. Buildings
+Move: 7
+Attack: 150
+Defense: 150
+Sight: 7
+Range: 2
+Specials: First Strike
+
+Unit name: Elite Mangudai
+Unit type: Ranged
+Bonuses: -50% vs. Buildings
+Move: 7
+Attack: 200
+Defense: 200
+Sight: 7
+Range: 2
+Specials: First Strike
+
+-Saracens
+Unit name: Mamelukes
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry & Ranged, -50% vs. Buildings
+Move: 7
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Desert Charge, Scares Horses
+
+
+Unit name: Elite Mamelukes
+Unit type: Cavalry
+Bonuses: +33% vs. Infantry & Ranged, -50% vs. Buildings
+Move: 7
+Attack: 300
+Defense: 300
+Sight: 7
+Range: 1
+Specials: Desert Charge, Scares Horses
+
+-Japanese
+Unit name: Samurai
+Unit type: Infantry
+Bonuses: +33% vs. Siege & Buildings
+Move: 9
+Attack: 250
+Defense: 250
+Sight: 7
+Range: 1
+Specials: Seasoned Veteran
+
+
+Unit name: Elite Samurai
+Unit type: Infantry
+Bonuses: +33% vs. Siege & Buildings
+Move: 9
+Attack: 300
+Defense: 300
+Sight: 7
+Range: 1
Specials: Seasoned Veteran
\ No newline at end of file diff --git a/build/content/raw_techs.json b/build/content/raw_techs.json index 3f27597..5a39e01 100644 --- a/build/content/raw_techs.json +++ b/build/content/raw_techs.json @@ -1,303 +1,303 @@ -[A1] List of Technologies - ---------- -Dark Age: ---------- - -* Loom -Requires: Town Center -Cost: 50f 150g -All Villagers get +25 DEF - -* Town Scouts -Requires: Town Center -Cost: 50f 150g -Town Centers gain +4 Sight - -* Leather Soles -Prereqs: Town Center -Cost: 50f 150g -Villagers gain +1 Move - -* Weaponsmith -Requires: Barracks -Cost: 50f 150g -Militia gain +25 ATT - -============ --Feudal Age: -============ - -* Town Watch -Requires: Town Center -Cost: 95f 280g -Improves Town Center DEF by +20% and Sight by +2 - -* Wheelbarrow -Requires: Town Center -Cost: 125f 375g -Cost of buildings is reduced by 10% - -* Advanced Mining -Requires: Mine -Cost: 95f 280g -+15% to Mine income - -* Horse Collar -Requires: Mill -Cost: 95f 280g -+15% to food income - -* Scale Mail Armor -Requires: Blacksmith -Cost: 95f 280g -+25% DEF for Infantry - -* Scale Barding -Requires: Blacksmith -Cost: 95f 280g -+25% DEF for Cavalry - -* Fletching -Requires: Blacksmith -Cost: 95f 280g -+25% ATT for Ranged Units - -* Padded Armor -Requires: Blacksmith -Cost: 95f 280g -+25% DEF for Ranged Units - -* Forging -Requires: Blacksmith -Cost: 155f 470g -+25% ATT for Infantry and Cavalry - -* Tracking -Requires: Barracks -Cost: 95f 280g -+2 Sight for Infantry - -* Cartography -Requires: Market -Cost: 95f 280g -+1 Sight for all units - -++++++++++++ --Castle Age: -++++++++++++ - -* Town Patrol -Requires: Town Center -Cost: 150f 450g -+2 Sight and +20% DEF for Town Center - -* Hand Cart -Requires: Town Center -Cost: 150f 450g -Cost of Building is reduced by 10% - -* Shaft Mining -Requires: Mine -Cost: 150f 450g -+15% to Mine income - -* Heavy Plow -Requires: Mill -Cost: 150f 450g -+15% to food income - -* Chain Mail Armor -Requires: Blacksmith -Cost: 150f 450g -+25% DEF to Age 3 infantry - -* Chain Barding -Requires: Blacksmith -Cost: 150f 450g -+25% DEF to Age 3 Cavalry - -* Bodkin Arrow -Requires: Blacksmith -Cost: 150f 450g -+25% ATT to Age 3 Ranged Units - -* Leather Armor -Requires: Blacksmith -Cost: 150f 450g -+25% DEF to Age 3 Ranged Units - -* Iron Casting -Requires: Blacksmith -Cost: 250f 750g -+25% ATT to Age 3 Infantry and Cavalry - -* Conscription -Requires: Barracks -Cost: 150f 450g -Cost of Infantry is reduced by 15 food and 15 gold - -* Husbandry -Requires: Stable -Cost: 150f 450g -Cost of Cavalry is reduced by 15 food and 15 gold - -* Archery Tournaments -Requires: Archery Range -Cost: 150f 450g -Cost of Ranged Units is reduced by 15 food and 15 gold - -* Mechanics Guild -Requires: Siege Workshop -Cost: 150f 450g -Cost of Siege Units is reduced by 15 food and 15 gold - -* Banking -Requires: Market -Cost: 200f 600g -+ 5% gold Income and improved Trade Rate - -* Merchant Network -Requires: Market -Cost: 150f 450g -Price for Mercenaries is reduced by 25% - -* Redemption -Requires: Church -Cost: 150f 450g -Improves Heal ability of Monks and Elite Monks - -* Fervor -Requires: Church -Cost: 150f 450g -Improves Convert ability of Monks and Elite Monks - -* Sanctity -Requires: Church -Cost: 150f 450g -+25% DEF for Monks and Elite Monks - -* Murder Holes -Requires: University -Cost: 95f 280g -+25% DEF for Towers - -* Masonry -Requires: University -Cost: 150f 450g -+5% DEF for all buildings - -///////////// -Imperial Age: -\\\\\\\\\\\\\ - - -* Crop Rotation -Requires: Mill -Cost: 250f 750g -+10% to food income - -* Plate Mail Armor -Requires: Blacksmith -Cost: 250f 750g -Age 4 Infantry units gain +25% DEF - -* Plate Barding -Requires: Blacksmith -Cost: 250f 750g -Age 4 Cavalry units gain +25% DEF - -* Bracers -Requires: Blacksmith -Cost: 250f 750g -Age 4 Ranged units gain +25% ATK - -* Ring Archer Armor -Requires: Blacksmith -Cost: 250f 750g -Age 4 Ranged units gain +25% DEF - -* Blast Furnace -Requires: Blacksmith -Cost: 625f 975g -Age 4 INF and CAV units gain +25% ATK - -* Arena -Requires: Barracks -Cost: 250f 750g -Allows Champions - -* Squires -Requires: Stables -Cost: 250f 750g -Allows Paladins - -* Flaming Arrows -Requires: Archery Range -Cost: 300f 900g -RNG units no longer suffer penalty vs. BLDGS - -* Sappers -Requires: Castle -Cost: 300f 900g -All INF units improve in +50% ATK vs. buildings - -* Hoardings -Requires: Castle -Cost: 250f 750g -Improves Castle DEF by +35% - -* Spies -Requires: Castles -Cost: 300f 900g -All enemy Town Complexes are now sighted - -* Guilds -Requires: Market -Cost: 300f 900g -+5% gold income and improves Trade rate - -* Atonement -Requires: Church -Cost: 250f 750g -Improves Heal ability of Monks or Elite Monks - -* Block Printing -Requires: Church -Cost: 250f 750g -Improves Convert ability of Monks or Elite Monks - -* Illumination -Requires: Church -Cost: 250f 750g -+505 gold income from all relics - -* Faith -Requires: Church -Cost: 250f 750g -Monks and Elite Monks gain +25% DEF - -* Treadmill Crane -Requires: University -Cost: 250f 750g -Cost of buildings is reduced by 10% - -* Siege Engineers -Requires: University -Cost: 250f 750g -Allows Imperial Age Siege units to be built - -* Architecture -Requires: University -Cost: 250f 750g -+5% DEF for all buildings - -* Chemistry -Requires: University -Cost: 250f 750g -Allows Hand Cannondeers and Bombard Cannons - -* Ballistics -Requires: University -Cost: 300f 900g +[A1] List of Technologies
+
+---------
+Dark Age:
+---------
+
+* Loom
+Requires: Town Center
+Cost: 50f 150g
+All Villagers get +25 DEF
+
+* Town Scouts
+Requires: Town Center
+Cost: 50f 150g
+Town Centers gain +4 Sight
+
+* Leather Soles
+Prereqs: Town Center
+Cost: 50f 150g
+Villagers gain +1 Move
+
+* Weaponsmith
+Requires: Barracks
+Cost: 50f 150g
+Militia gain +25 ATT
+
+============
+-Feudal Age:
+============
+
+* Town Watch
+Requires: Town Center
+Cost: 95f 280g
+Improves Town Center DEF by +20% and Sight by +2
+
+* Wheelbarrow
+Requires: Town Center
+Cost: 125f 375g
+Cost of buildings is reduced by 10%
+
+* Advanced Mining
+Requires: Mine
+Cost: 95f 280g
++15% to Mine income
+
+* Horse Collar
+Requires: Mill
+Cost: 95f 280g
++15% to food income
+
+* Scale Mail Armor
+Requires: Blacksmith
+Cost: 95f 280g
++25% DEF for Infantry
+
+* Scale Barding
+Requires: Blacksmith
+Cost: 95f 280g
++25% DEF for Cavalry
+
+* Fletching
+Requires: Blacksmith
+Cost: 95f 280g
++25% ATT for Ranged Units
+
+* Padded Armor
+Requires: Blacksmith
+Cost: 95f 280g
++25% DEF for Ranged Units
+
+* Forging
+Requires: Blacksmith
+Cost: 155f 470g
++25% ATT for Infantry and Cavalry
+
+* Tracking
+Requires: Barracks
+Cost: 95f 280g
++2 Sight for Infantry
+
+* Cartography
+Requires: Market
+Cost: 95f 280g
++1 Sight for all units
+
+++++++++++++
+-Castle Age:
+++++++++++++
+
+* Town Patrol
+Requires: Town Center
+Cost: 150f 450g
++2 Sight and +20% DEF for Town Center
+
+* Hand Cart
+Requires: Town Center
+Cost: 150f 450g
+Cost of Building is reduced by 10%
+
+* Shaft Mining
+Requires: Mine
+Cost: 150f 450g
++15% to Mine income
+
+* Heavy Plow
+Requires: Mill
+Cost: 150f 450g
++15% to food income
+
+* Chain Mail Armor
+Requires: Blacksmith
+Cost: 150f 450g
++25% DEF to Age 3 infantry
+
+* Chain Barding
+Requires: Blacksmith
+Cost: 150f 450g
++25% DEF to Age 3 Cavalry
+
+* Bodkin Arrow
+Requires: Blacksmith
+Cost: 150f 450g
++25% ATT to Age 3 Ranged Units
+
+* Leather Armor
+Requires: Blacksmith
+Cost: 150f 450g
++25% DEF to Age 3 Ranged Units
+
+* Iron Casting
+Requires: Blacksmith
+Cost: 250f 750g
++25% ATT to Age 3 Infantry and Cavalry
+
+* Conscription
+Requires: Barracks
+Cost: 150f 450g
+Cost of Infantry is reduced by 15 food and 15 gold
+
+* Husbandry
+Requires: Stable
+Cost: 150f 450g
+Cost of Cavalry is reduced by 15 food and 15 gold
+
+* Archery Tournaments
+Requires: Archery Range
+Cost: 150f 450g
+Cost of Ranged Units is reduced by 15 food and 15 gold
+
+* Mechanics Guild
+Requires: Siege Workshop
+Cost: 150f 450g
+Cost of Siege Units is reduced by 15 food and 15 gold
+
+* Banking
+Requires: Market
+Cost: 200f 600g
++ 5% gold Income and improved Trade Rate
+
+* Merchant Network
+Requires: Market
+Cost: 150f 450g
+Price for Mercenaries is reduced by 25%
+
+* Redemption
+Requires: Church
+Cost: 150f 450g
+Improves Heal ability of Monks and Elite Monks
+
+* Fervor
+Requires: Church
+Cost: 150f 450g
+Improves Convert ability of Monks and Elite Monks
+
+* Sanctity
+Requires: Church
+Cost: 150f 450g
++25% DEF for Monks and Elite Monks
+
+* Murder Holes
+Requires: University
+Cost: 95f 280g
++25% DEF for Towers
+
+* Masonry
+Requires: University
+Cost: 150f 450g
++5% DEF for all buildings
+
+/////////////
+Imperial Age:
+\\\\\\\\\\\\\
+
+
+* Crop Rotation
+Requires: Mill
+Cost: 250f 750g
++10% to food income
+
+* Plate Mail Armor
+Requires: Blacksmith
+Cost: 250f 750g
+Age 4 Infantry units gain +25% DEF
+
+* Plate Barding
+Requires: Blacksmith
+Cost: 250f 750g
+Age 4 Cavalry units gain +25% DEF
+
+* Bracers
+Requires: Blacksmith
+Cost: 250f 750g
+Age 4 Ranged units gain +25% ATK
+
+* Ring Archer Armor
+Requires: Blacksmith
+Cost: 250f 750g
+Age 4 Ranged units gain +25% DEF
+
+* Blast Furnace
+Requires: Blacksmith
+Cost: 625f 975g
+Age 4 INF and CAV units gain +25% ATK
+
+* Arena
+Requires: Barracks
+Cost: 250f 750g
+Allows Champions
+
+* Squires
+Requires: Stables
+Cost: 250f 750g
+Allows Paladins
+
+* Flaming Arrows
+Requires: Archery Range
+Cost: 300f 900g
+RNG units no longer suffer penalty vs. BLDGS
+
+* Sappers
+Requires: Castle
+Cost: 300f 900g
+All INF units improve in +50% ATK vs. buildings
+
+* Hoardings
+Requires: Castle
+Cost: 250f 750g
+Improves Castle DEF by +35%
+
+* Spies
+Requires: Castles
+Cost: 300f 900g
+All enemy Town Complexes are now sighted
+
+* Guilds
+Requires: Market
+Cost: 300f 900g
++5% gold income and improves Trade rate
+
+* Atonement
+Requires: Church
+Cost: 250f 750g
+Improves Heal ability of Monks or Elite Monks
+
+* Block Printing
+Requires: Church
+Cost: 250f 750g
+Improves Convert ability of Monks or Elite Monks
+
+* Illumination
+Requires: Church
+Cost: 250f 750g
++505 gold income from all relics
+
+* Faith
+Requires: Church
+Cost: 250f 750g
+Monks and Elite Monks gain +25% DEF
+
+* Treadmill Crane
+Requires: University
+Cost: 250f 750g
+Cost of buildings is reduced by 10%
+
+* Siege Engineers
+Requires: University
+Cost: 250f 750g
+Allows Imperial Age Siege units to be built
+
+* Architecture
+Requires: University
+Cost: 250f 750g
++5% DEF for all buildings
+
+* Chemistry
+Requires: University
+Cost: 250f 750g
+Allows Hand Cannondeers and Bombard Cannons
+
+* Ballistics
+Requires: University
+Cost: 300f 900g
+25% ATK for Siege units with Range above 1
\ No newline at end of file diff --git a/build/content/techs.json b/build/content/techs.json index 871b5e2..4cadf44 100644 --- a/build/content/techs.json +++ b/build/content/techs.json @@ -1,394 +1,394 @@ -[ - { - "name": "Loom", "id": 0, "level": 0, - "cost": [ 50, 150 ], "req_id": 100, - "bonus": { - "aff_id": [ 0 ], - "defence": 0.25 - } - },{ - "name": "Town Scouts", "id": 1, "level": 0, - "cost": [ 50, 150 ], "req_id": 100, - "bonus": { - "aff_id": [ 100 ], - "sight": 4 - } - },{ - "name": "Leather Soles", "id": 2, "level": 0, - "cost": [ 50, 150 ], "req_id": 100, - "bonus": { - "aff_id": [ 0 ], - "move": 1 - } - },{ - "name": "Weaponsmith", "id": 3, "level": 0, - "cost": [ 50, 150 ], "req_id": 104, - "bonus": { - "aff_id": [ 1 ], - "attack": 0.25 - } - },{ - "name": "Town Watch", "id": 4, "level": 1, - "cost": [ 95, 280 ], "req_id": 100, - "bonus": { - "aff_id": [ 100 ], - "defence": 0.2, "sight": 2 - } - },{ - "name": "Wheelbarrow", "id": 5, "level": 1, - "cost": [ 125, 375 ], "req_id": 100, - "bonus": { - "aff_class": [ "bld" ], - "cost": [ -0.1, -0.1 ] - } - },{ - "name": "Advanced Mining", "id": 6, "level": 1, - "cost": [ 95, 280 ], "req_id": 102, - "bonus": { - "aff_id": [ 102 ], - "prod": [ 0, 0.15 ] - } - },{ - "name": "Horse Collar", "id": 7, "level": 1, - "cost": [ 95, 280 ], "req_id": 101, - "bonus": { - "prod": [ 0.15, 0 ] - } - },{ - "name": "Scale Mail Armor", "id": 8, "level": 1, - "cost": [ 95, 280 ], "req_id": 106, - "bonus": { - "aff_class": [ "inf" ], - "aff_level": 1, - "defence": 0.25 - } - },{ - "name": "Scale Barding", "id": 9, "level": 1, - "cost": [ 95, 280 ], "req_id": 106, - "bonus": { - "aff_class": [ "cav" ], - "aff_level": 1, - "defence": 0.25 - } - },{ - "name": "Fletching", "id": 10, "level": 1, - "cost": [ 95, 280 ], "req_id": 106, - "bonus": { - "aff_class": [ "ran" ], - "aff_level": 1, - "attack": 0.25 - } - },{ - "name": "Padded Armor", "id": 11, "level": 1, - "cost": [ 95, 280 ], "req_id": 106, - "bonus": { - "aff_class": [ "ran" ], - "aff_level": 1, - "defence": 0.25 - } - },{ - "name": "Forging", "id": 12, "level": 1, - "cost": [ 155, 470 ], "req_id": 106, - "bonus": { - "aff_class": [ "inf", "cav" ], - "aff_level": 1, - "attack": 0.25 - } - },{ - "name": "Tracking", "id": 13, "level": 1, - "cost": [ 95, 280 ], "req_id": 104, - "bonus": { - "aff_class": [ "inf" ], - "sight": 2 - } - },{ - "name": "Cartography", "id": 14, "level": 1, - "cost": [ 95, 280 ], "req_id": 107, - "bonus": { - "sight": 1 - } - },{ - "name": "Trading", "id": 15, "level": 1, - "cost": [ 95, 280 ], "req_id": 107, - "bonus": { - "trade": 1 - } - },{ - "name": "Coniage", "id": 16, "level": 1, - "cost": [ 125, 375 ], "req_id": 107, - "bonus": { - "prod": [ 0, 0.1 ] - } - },{ - "name": "Town Patrol", "id": 17, "level": 2, - "cost": [ 150, 450 ], "req_id": 100, - "bonus": { - "aff_id": [ 100 ], - "defence": 0.2, "sight": 2 - } - },{ - "name": "Hand Cart", "id": 18, "level": 2, - "cost": [ 150, 450 ], "req_id": 100, - "bonus": { - "aff_class": [ "bld" ], - "cost": [ -0.1, -0.1 ] - } - },{ - "name": "Shaft Mining", "id": 19, "level": 2, - "cost": [ 150, 450 ], "req_id": 102, - "bonus": { - "aff_id": [ 102 ], - "prod": [ 0, 0.15 ] - } - },{ - "name": "Heavy Plow", "id": 20, "level": 2, - "cost": [ 150, 450 ], "req_id": 101, - "bonus": { - "prod": [ 0.1, 0 ] - } - },{ - "name": "Chain Mail Armor", "id": 21, "level": 2, - "cost": [ 150, 450 ], "req_id": 106, - "bonus": { - "aff_level": 2, - "aff_class": [ "inf" ], - "defence": 0.25 - } - },{ - "name": "Chain Barding", "id": 22, "level": 2, - "cost": [ 150, 450 ], "req_id": 106, - "bonus": { - "aff_level": 2, - "aff_class": [ "cav" ], - "defence": 0.25 - } - },{ - "name": "Bodkin Arrow", "id": 23, "level": 2, - "cost": [ 150, 450 ], "req_id": 106, - "bonus": { - "aff_level": 2, - "aff_class": [ "ran" ], - "attack": 0.25 - } - },{ - "name": "Leather Armor", "id": 24, "level": 2, - "cost": [ 150, 450 ], "req_id": 106, - "bonus": { - "aff_level": 2, - "aff_class": [ "ran" ], - "defence": 0.25 - } - },{ - "name": "Iron Casting", "id": 25, "level": 2, - "cost": [ 250, 750 ], "req_id": 106, - "bonus": { - "aff_level": 2, - "aff_class": [ "inf", "cav" ], - "attack": 0.25 - } - },{ - "name": "Conscription", "id": 26, "level": 2, - "cost": [ 150, 450 ], "req_id": 104, - "bonus": { - "aff_class": [ "inf" ], - "cost_abs": [ -15, -15 ] - } - },{ - "name": "Husbandry", "id": 27, "level": 2, - "cost": [ 150, 450 ], "req_id": 108, - "bonus": { - "aff_class": [ "cav" ], - "cost_abs": [ -15, -15 ] - } - },{ - "name": "Tournaments", "id": 28, "level": 2, - "cost": [ 150, 450 ], "req_id": 105, - "bonus": { - "aff_class": [ "ran" ], - "cost_abs": [ -15, -15 ] - } - },{ - "name": "Mechanics Guild", "id": 29, "level": 2, - "cost": [ 150, 450 ], "req_id": 109, - "bonus": { - "aff_class": [ "sie" ], - "cost_abs": [ -15, -15 ] - } - },{ - "name": "Banking", "id": 30, "level": 2, - "cost": [ 200, 600 ], "req_id": 107, - "bonus": { - "trade": 1, - "prod": [ 0, 0.05 ] - } - },{ - "name": "Merchant Network", "id": 31, "level": 2, - "cost": [ 150, 450 ], "req_id": 107 - },{ - "name": "Redemption", "id": 32, "level": 2, - "cost": [ 150, 450 ], "req_id": 110, - "bonus": { - "aff_id": [ 23 ], - "improved_heal": 1 - } - },{ - "name": "Fervor", "id": 33, "level": 2, - "cost": [ 150, 450 ], "req_id": 110, - "bonus": { - "aff_id": [ 23 ], - "improved_convert": 1 - } - },{ - "name": "Sanctity", "id": 34, "level": 2, - "cost": [ 150, 450 ], "req_id": 110, - "bonus": { - "aff_id": [ 23 ], - "defence": 0.25 - } - },{ - "name": "Murder Holes", "id": 35, "level": 2, - "cost": [ 95, 280 ], "req_id": 111, - "bonus": { - "aff_id": [ 112 ], - "defence": 0.25 - } - },{ - "name": "Masonry", "id": 36, "level": 2, - "cost": [ 95, 280 ], "req_id": 111, - "bonus": { - "aff_class": [ "bld" ], - "defence": 0.05 - } - },{ - "name": "Crop Rotation", "id": 37, "level": 3, - "cost": [ 250, 750 ], "req_id": 101, - "bonus": { - "prod": [ 0.1, 0 ] - } - },{ - "name": "Plate Mail", "id": 38, "level": 3, - "cost": [ 250, 750 ], "req_id": 106, - "bonus": { - "aff_level": 3, - "aff_class": [ "inf" ], - "defence": 0.25 - } - },{ - "name": "Plate Barding", "id": 39, "level": 3, - "cost": [ 250, 750 ], "req_id": 106, - "bonus": { - "aff_level": 3, - "aff_class": [ "cav" ], - "defence": 0.25 - } - },{ - "name": "Bracers", "id": 40, "level": 3, - "cost": [ 250, 750 ], "req_id": 106, - "bonus": { - "aff_level": 3, - "aff_class": [ "ran" ], - "attack": 0.25 - } - },{ - "name": "Ring Archer Armor", "id": 41, "level": 3, - "cost": [ 250, 750 ], "req_id": 106, - "bonus": { - "aff_level": 3, - "aff_class": [ "ran" ], - "defence": 0.25 - } - },{ - "name": "Blast Furnace", "id": 42, "level": 3, - "cost": [ 625, 975 ], "req_id": 106, - "bonus": { - "aff_level": 3, - "aff_class": [ "inf", "cav" ], - "attack": 0.25 - } - },{ - "name": "Arena", "id": 43, "level": 3, - "cost": [ 250, 750 ], "req_id": 104 - },{ - "name": "Squires", "id": 44, "level": 3, - "cost": [ 250, 750 ], "req_id": 108 - },{ - "name": "Flaming Arrows", "id": 45, "level": 3, - "cost": [ 300, 900 ], "req_id": 105 - },{ - "name": "Sappers", "id": 46, "level": 3, - "cost": [ 300, 900 ], "req_id": 113 - },{ - "name": "Hoardings", "id": 47, "level": 3, - "cost": [ 250, 750 ], "req_id": 113, - "bonus": { - "aff_id": [ 113 ], - "defence": 0.35 - } - },{ - "name": "Spies", "id": 48, "level": 3, - "cost": [ 300, 900 ], "req_id": 113 - },{ - "name": "Guilds", "id": 49, "level": 3, - "cost": [ 250, 750 ], "req_id": 107, - "bonus": { - "trade": 1, - "prod": [ 0, 0.05 ] - } - },{ - "name": "Atonement", "id": 50, "level": 3, - "cost": [ 250, 750 ], "req_id": 110, - "bonus": { - "aff_id": [ 23 ], - "improved_heal": 1 - } - },{ - "name": "Block Printing", "id": 51, "level": 3, - "cost": [ 250, 750 ], "req_id": 110, - "bonus": { - "aff_id": [ 23 ], - "improved_convert": 1 - } - },{ - "name": "Illumination", "id": 52, "level": 3, - "cost": [ 250, 750 ], "req_id": 110, - "bonus": { - "aff_id": [ 110 ], - "prod": [ 0, 0.5 ] - } - },{ - "name": "Faith", "id": 53, "level": 3, - "cost": [ 250, 750 ], "req_id": 110, - "bonus": { - "aff_id": [ 23 ], - "defence": 0.25 - } - },{ - "name": "Treadmill Crane", "id": 54, "level": 3, - "cost": [ 250, 750 ], "req_id": 111, - "bonus": { - "aff_class": [ "bld" ], - "cost": [ 0.1, 0.1 ] - } - },{ - "name": "Siege Engineers", "id": 55, "level": 3, - "cost": [ 250, 750 ], "req_id": 111 - },{ - "name": "Architecture", "id": 56, "level": 3, - "cost": [ 250, 750 ], "req_id": 111, - "bonus": { - "aff_class": [ "bld" ], - "defence": 0.05 - } - },{ - "name": "Chemistry", "id": 57, "level": 3, - "cost": [ 250, 750 ], "req_id": 111 - },{ - "name": "Ballistics", "id": 58, "level": 3, - "cost": [ 300, 900 ], "req_id": 111, - "bonus": { - "aff_class": [ "sie" ], - "req_range": 1, - "attack": 0.25 - } - } +[
+ {
+ "name": "Loom", "id": 0, "level": 0,
+ "cost": [ 50, 150 ], "req_id": 100,
+ "bonus": {
+ "aff_id": [ 0 ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Town Scouts", "id": 1, "level": 0,
+ "cost": [ 50, 150 ], "req_id": 100,
+ "bonus": {
+ "aff_id": [ 100 ],
+ "sight": 4
+ }
+ },{
+ "name": "Leather Soles", "id": 2, "level": 0,
+ "cost": [ 50, 150 ], "req_id": 100,
+ "bonus": {
+ "aff_id": [ 0 ],
+ "move": 1
+ }
+ },{
+ "name": "Weaponsmith", "id": 3, "level": 0,
+ "cost": [ 50, 150 ], "req_id": 104,
+ "bonus": {
+ "aff_id": [ 1 ],
+ "attack": 0.25
+ }
+ },{
+ "name": "Town Watch", "id": 4, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 100,
+ "bonus": {
+ "aff_id": [ 100 ],
+ "defence": 0.2, "sight": 2
+ }
+ },{
+ "name": "Wheelbarrow", "id": 5, "level": 1,
+ "cost": [ 125, 375 ], "req_id": 100,
+ "bonus": {
+ "aff_class": [ "bld" ],
+ "cost": [ -0.1, -0.1 ]
+ }
+ },{
+ "name": "Advanced Mining", "id": 6, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 102,
+ "bonus": {
+ "aff_id": [ 102 ],
+ "prod": [ 0, 0.15 ]
+ }
+ },{
+ "name": "Horse Collar", "id": 7, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 101,
+ "bonus": {
+ "prod": [ 0.15, 0 ]
+ }
+ },{
+ "name": "Scale Mail Armor", "id": 8, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 106,
+ "bonus": {
+ "aff_class": [ "inf" ],
+ "aff_level": 1,
+ "defence": 0.25
+ }
+ },{
+ "name": "Scale Barding", "id": 9, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 106,
+ "bonus": {
+ "aff_class": [ "cav" ],
+ "aff_level": 1,
+ "defence": 0.25
+ }
+ },{
+ "name": "Fletching", "id": 10, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 106,
+ "bonus": {
+ "aff_class": [ "ran" ],
+ "aff_level": 1,
+ "attack": 0.25
+ }
+ },{
+ "name": "Padded Armor", "id": 11, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 106,
+ "bonus": {
+ "aff_class": [ "ran" ],
+ "aff_level": 1,
+ "defence": 0.25
+ }
+ },{
+ "name": "Forging", "id": 12, "level": 1,
+ "cost": [ 155, 470 ], "req_id": 106,
+ "bonus": {
+ "aff_class": [ "inf", "cav" ],
+ "aff_level": 1,
+ "attack": 0.25
+ }
+ },{
+ "name": "Tracking", "id": 13, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 104,
+ "bonus": {
+ "aff_class": [ "inf" ],
+ "sight": 2
+ }
+ },{
+ "name": "Cartography", "id": 14, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 107,
+ "bonus": {
+ "sight": 1
+ }
+ },{
+ "name": "Trading", "id": 15, "level": 1,
+ "cost": [ 95, 280 ], "req_id": 107,
+ "bonus": {
+ "trade": 1
+ }
+ },{
+ "name": "Coniage", "id": 16, "level": 1,
+ "cost": [ 125, 375 ], "req_id": 107,
+ "bonus": {
+ "prod": [ 0, 0.1 ]
+ }
+ },{
+ "name": "Town Patrol", "id": 17, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 100,
+ "bonus": {
+ "aff_id": [ 100 ],
+ "defence": 0.2, "sight": 2
+ }
+ },{
+ "name": "Hand Cart", "id": 18, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 100,
+ "bonus": {
+ "aff_class": [ "bld" ],
+ "cost": [ -0.1, -0.1 ]
+ }
+ },{
+ "name": "Shaft Mining", "id": 19, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 102,
+ "bonus": {
+ "aff_id": [ 102 ],
+ "prod": [ 0, 0.15 ]
+ }
+ },{
+ "name": "Heavy Plow", "id": 20, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 101,
+ "bonus": {
+ "prod": [ 0.1, 0 ]
+ }
+ },{
+ "name": "Chain Mail Armor", "id": 21, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 2,
+ "aff_class": [ "inf" ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Chain Barding", "id": 22, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 2,
+ "aff_class": [ "cav" ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Bodkin Arrow", "id": 23, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 2,
+ "aff_class": [ "ran" ],
+ "attack": 0.25
+ }
+ },{
+ "name": "Leather Armor", "id": 24, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 2,
+ "aff_class": [ "ran" ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Iron Casting", "id": 25, "level": 2,
+ "cost": [ 250, 750 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 2,
+ "aff_class": [ "inf", "cav" ],
+ "attack": 0.25
+ }
+ },{
+ "name": "Conscription", "id": 26, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 104,
+ "bonus": {
+ "aff_class": [ "inf" ],
+ "cost_abs": [ -15, -15 ]
+ }
+ },{
+ "name": "Husbandry", "id": 27, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 108,
+ "bonus": {
+ "aff_class": [ "cav" ],
+ "cost_abs": [ -15, -15 ]
+ }
+ },{
+ "name": "Tournaments", "id": 28, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 105,
+ "bonus": {
+ "aff_class": [ "ran" ],
+ "cost_abs": [ -15, -15 ]
+ }
+ },{
+ "name": "Mechanics Guild", "id": 29, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 109,
+ "bonus": {
+ "aff_class": [ "sie" ],
+ "cost_abs": [ -15, -15 ]
+ }
+ },{
+ "name": "Banking", "id": 30, "level": 2,
+ "cost": [ 200, 600 ], "req_id": 107,
+ "bonus": {
+ "trade": 1,
+ "prod": [ 0, 0.05 ]
+ }
+ },{
+ "name": "Merchant Network", "id": 31, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 107
+ },{
+ "name": "Redemption", "id": 32, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 23 ],
+ "improved_heal": 1
+ }
+ },{
+ "name": "Fervor", "id": 33, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 23 ],
+ "improved_convert": 1
+ }
+ },{
+ "name": "Sanctity", "id": 34, "level": 2,
+ "cost": [ 150, 450 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 23 ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Murder Holes", "id": 35, "level": 2,
+ "cost": [ 95, 280 ], "req_id": 111,
+ "bonus": {
+ "aff_id": [ 112 ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Masonry", "id": 36, "level": 2,
+ "cost": [ 95, 280 ], "req_id": 111,
+ "bonus": {
+ "aff_class": [ "bld" ],
+ "defence": 0.05
+ }
+ },{
+ "name": "Crop Rotation", "id": 37, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 101,
+ "bonus": {
+ "prod": [ 0.1, 0 ]
+ }
+ },{
+ "name": "Plate Mail", "id": 38, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 3,
+ "aff_class": [ "inf" ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Plate Barding", "id": 39, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 3,
+ "aff_class": [ "cav" ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Bracers", "id": 40, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 3,
+ "aff_class": [ "ran" ],
+ "attack": 0.25
+ }
+ },{
+ "name": "Ring Archer Armor", "id": 41, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 3,
+ "aff_class": [ "ran" ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Blast Furnace", "id": 42, "level": 3,
+ "cost": [ 625, 975 ], "req_id": 106,
+ "bonus": {
+ "aff_level": 3,
+ "aff_class": [ "inf", "cav" ],
+ "attack": 0.25
+ }
+ },{
+ "name": "Arena", "id": 43, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 104
+ },{
+ "name": "Squires", "id": 44, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 108
+ },{
+ "name": "Flaming Arrows", "id": 45, "level": 3,
+ "cost": [ 300, 900 ], "req_id": 105
+ },{
+ "name": "Sappers", "id": 46, "level": 3,
+ "cost": [ 300, 900 ], "req_id": 113
+ },{
+ "name": "Hoardings", "id": 47, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 113,
+ "bonus": {
+ "aff_id": [ 113 ],
+ "defence": 0.35
+ }
+ },{
+ "name": "Spies", "id": 48, "level": 3,
+ "cost": [ 300, 900 ], "req_id": 113
+ },{
+ "name": "Guilds", "id": 49, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 107,
+ "bonus": {
+ "trade": 1,
+ "prod": [ 0, 0.05 ]
+ }
+ },{
+ "name": "Atonement", "id": 50, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 23 ],
+ "improved_heal": 1
+ }
+ },{
+ "name": "Block Printing", "id": 51, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 23 ],
+ "improved_convert": 1
+ }
+ },{
+ "name": "Illumination", "id": 52, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 110 ],
+ "prod": [ 0, 0.5 ]
+ }
+ },{
+ "name": "Faith", "id": 53, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 110,
+ "bonus": {
+ "aff_id": [ 23 ],
+ "defence": 0.25
+ }
+ },{
+ "name": "Treadmill Crane", "id": 54, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 111,
+ "bonus": {
+ "aff_class": [ "bld" ],
+ "cost": [ 0.1, 0.1 ]
+ }
+ },{
+ "name": "Siege Engineers", "id": 55, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 111
+ },{
+ "name": "Architecture", "id": 56, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 111,
+ "bonus": {
+ "aff_class": [ "bld" ],
+ "defence": 0.05
+ }
+ },{
+ "name": "Chemistry", "id": 57, "level": 3,
+ "cost": [ 250, 750 ], "req_id": 111
+ },{
+ "name": "Ballistics", "id": 58, "level": 3,
+ "cost": [ 300, 900 ], "req_id": 111,
+ "bonus": {
+ "aff_class": [ "sie" ],
+ "req_range": 1,
+ "attack": 0.25
+ }
+ }
]
\ No newline at end of file diff --git a/build/content/tiles.json b/build/content/tiles.json index 40373ed..05e7975 100644 --- a/build/content/tiles.json +++ b/build/content/tiles.json @@ -1,24 +1,24 @@ -[ - { - "name": "Plains", - "move_cost": 2, - "sight_cost": 2, - "range_bonus": 0, - "defence_bonus": 0.0, - "spritebounds": [ 0, 16 ] - },{ - "name": "Mountain", - "move_cost": 4, - "sight_cost": 4, - "range_bonus": 1, - "defence_bonus": 0.4, - "spritebounds": [ 16, 16 ] - },{ - "name": "Forest", - "move_cost": 3, - "sight_cost": 4, - "range_bonus": -1, - "defence_bonus": 0.2, - "spritebounds": [ 80, 16 ] - } +[
+ {
+ "name": "Plains",
+ "move_cost": 2,
+ "sight_cost": 2,
+ "range_bonus": 0,
+ "defence_bonus": 0.0,
+ "spritebounds": [ 0, 16 ]
+ },{
+ "name": "Mountain",
+ "move_cost": 4,
+ "sight_cost": 4,
+ "range_bonus": 1,
+ "defence_bonus": 0.4,
+ "spritebounds": [ 16, 16 ]
+ },{
+ "name": "Forest",
+ "move_cost": 3,
+ "sight_cost": 4,
+ "range_bonus": -1,
+ "defence_bonus": 0.2,
+ "spritebounds": [ 80, 16 ]
+ }
]
\ No newline at end of file diff --git a/cmake_install.cmake b/cmake_install.cmake index cbfda33..3bda814 100644 --- a/cmake_install.cmake +++ b/cmake_install.cmake @@ -1,49 +1,49 @@ -# Install script for directory: C:/Users/jaksk/Desktop/dev/_cpp/age - -# Set the install prefix -if(NOT DEFINED CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/sdl_test") -endif() -string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - if(BUILD_TYPE) - string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - else() - set(CMAKE_INSTALL_CONFIG_NAME "") - endif() - message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -endif() - -# Set the component getting installed. -if(NOT CMAKE_INSTALL_COMPONENT) - if(COMPONENT) - message(STATUS "Install component: \"${COMPONENT}\"") - set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - else() - set(CMAKE_INSTALL_COMPONENT) - endif() -endif() - -# Is this installation the result of a crosscompile? -if(NOT DEFINED CMAKE_CROSSCOMPILING) - set(CMAKE_CROSSCOMPILING "FALSE") -endif() - -# Set default install directory permissions. -if(NOT DEFINED CMAKE_OBJDUMP) - set(CMAKE_OBJDUMP "C:/MinGW64/bin/objdump.exe") -endif() - -if(CMAKE_INSTALL_COMPONENT) - set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -else() - set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -endif() - -string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT - "${CMAKE_INSTALL_MANIFEST_FILES}") -file(WRITE "C:/Users/jaksk/Desktop/dev/_cpp/age/${CMAKE_INSTALL_MANIFEST}" - "${CMAKE_INSTALL_MANIFEST_CONTENT}") +# Install script for directory: C:/Users/jaksk/Desktop/dev/_cpp/age
+
+# Set the install prefix
+if(NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/sdl_test")
+endif()
+string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
+
+# Set the install configuration name.
+if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
+ if(BUILD_TYPE)
+ string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
+ CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
+ else()
+ set(CMAKE_INSTALL_CONFIG_NAME "")
+ endif()
+ message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
+endif()
+
+# Set the component getting installed.
+if(NOT CMAKE_INSTALL_COMPONENT)
+ if(COMPONENT)
+ message(STATUS "Install component: \"${COMPONENT}\"")
+ set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
+ else()
+ set(CMAKE_INSTALL_COMPONENT)
+ endif()
+endif()
+
+# Is this installation the result of a crosscompile?
+if(NOT DEFINED CMAKE_CROSSCOMPILING)
+ set(CMAKE_CROSSCOMPILING "FALSE")
+endif()
+
+# Set default install directory permissions.
+if(NOT DEFINED CMAKE_OBJDUMP)
+ set(CMAKE_OBJDUMP "C:/MinGW64/bin/objdump.exe")
+endif()
+
+if(CMAKE_INSTALL_COMPONENT)
+ set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
+else()
+ set(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
+endif()
+
+string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT
+ "${CMAKE_INSTALL_MANIFEST_FILES}")
+file(WRITE "C:/Users/jaksk/Desktop/dev/_cpp/age/${CMAKE_INSTALL_MANIFEST}"
+ "${CMAKE_INSTALL_MANIFEST_CONTENT}")
diff --git a/commands/commands.cpp b/commands/commands.cpp index 7053316..cdaf30b 100644 --- a/commands/commands.cpp +++ b/commands/commands.cpp @@ -1,70 +1,70 @@ -#include <algorithm> - -#include "commands.h" - -Commands_sdl::Commands_sdl () { - for (int i=0; i<3; i++) { - mclick[i] = 0; - mheld[i] = 0; - } -} - -Commands_sdl::~Commands_sdl () { - -} - -bool Commands_sdl::check_keydown (SDL_Scancode key) { - return std::find(keysdown.begin(), keysdown.end(), key) != keysdown.end(); -} -bool Commands_sdl::check_key (SDL_Scancode key) { - return std::find(keys.begin(), keys.end(), key) != keys.end(); -} - -bool Commands_sdl::process_events () { - SDL_GetMouseState(&mx, &my); - - resx = -1; resy = -1; - - SDL_Event e; - while(SDL_PollEvent(&e) != 0) { - if(e.type == SDL_QUIT) { - return true; - } - if(e.type == SDL_KEYDOWN && e.key.repeat == 0) { - keys.push_back(e.key.keysym.scancode); - keysdown.push_back(e.key.keysym.scancode); - } - if(e.type == SDL_KEYUP) { - keysdown.erase(std::remove(keysdown.begin(), keysdown.end(), - e.key.keysym.scancode), keysdown.end()); - } - - if(e.type == SDL_MOUSEBUTTONDOWN) { - if (e.button.button == SDL_BUTTON_LEFT) { mclick[0] = 1; } - if (e.button.button == SDL_BUTTON_MIDDLE) { mclick[1] = 1; } - if (e.button.button == SDL_BUTTON_RIGHT) { mclick[2] = 1; } - } - if(e.type == SDL_MOUSEBUTTONUP) { - if (e.button.button == SDL_BUTTON_LEFT) { mclick[0] = 0; } - if (e.button.button == SDL_BUTTON_MIDDLE) { mclick[1] = 0; } - if (e.button.button == SDL_BUTTON_RIGHT) { mclick[2] = 0; } - } - if(e.type == SDL_WINDOWEVENT - && e.window.event == SDL_WINDOWEVENT_RESIZED ) { - resx = e.window.data1; resy = e.window.data2; - } - } - return false; -} - -void Commands_sdl::process_clicks () { - for (int i=0; i<3; i++) { - if (mclick[i] > 0) { mheld[i] += 1; } - else if (mheld[i] > 0) { mheld[i] = -1; } - else { mheld[i] = 0; } - } -} - -void Commands_sdl::process_keys () { - keys.clear(); +#include <algorithm>
+
+#include "commands.h"
+
+Commands_sdl::Commands_sdl () {
+ for (int i=0; i<3; i++) {
+ mclick[i] = 0;
+ mheld[i] = 0;
+ }
+}
+
+Commands_sdl::~Commands_sdl () {
+
+}
+
+bool Commands_sdl::check_keydown (SDL_Scancode key) {
+ return std::find(keysdown.begin(), keysdown.end(), key) != keysdown.end();
+}
+bool Commands_sdl::check_key (SDL_Scancode key) {
+ return std::find(keys.begin(), keys.end(), key) != keys.end();
+}
+
+bool Commands_sdl::process_events () {
+ SDL_GetMouseState(&mx, &my);
+
+ resx = -1; resy = -1;
+
+ SDL_Event e;
+ while(SDL_PollEvent(&e) != 0) {
+ if(e.type == SDL_QUIT) {
+ return true;
+ }
+ if(e.type == SDL_KEYDOWN && e.key.repeat == 0) {
+ keys.push_back(e.key.keysym.scancode);
+ keysdown.push_back(e.key.keysym.scancode);
+ }
+ if(e.type == SDL_KEYUP) {
+ keysdown.erase(std::remove(keysdown.begin(), keysdown.end(),
+ e.key.keysym.scancode), keysdown.end());
+ }
+
+ if(e.type == SDL_MOUSEBUTTONDOWN) {
+ if (e.button.button == SDL_BUTTON_LEFT) { mclick[0] = 1; }
+ if (e.button.button == SDL_BUTTON_MIDDLE) { mclick[1] = 1; }
+ if (e.button.button == SDL_BUTTON_RIGHT) { mclick[2] = 1; }
+ }
+ if(e.type == SDL_MOUSEBUTTONUP) {
+ if (e.button.button == SDL_BUTTON_LEFT) { mclick[0] = 0; }
+ if (e.button.button == SDL_BUTTON_MIDDLE) { mclick[1] = 0; }
+ if (e.button.button == SDL_BUTTON_RIGHT) { mclick[2] = 0; }
+ }
+ if(e.type == SDL_WINDOWEVENT
+ && e.window.event == SDL_WINDOWEVENT_RESIZED ) {
+ resx = e.window.data1; resy = e.window.data2;
+ }
+ }
+ return false;
+}
+
+void Commands_sdl::process_clicks () {
+ for (int i=0; i<3; i++) {
+ if (mclick[i] > 0) { mheld[i] += 1; }
+ else if (mheld[i] > 0) { mheld[i] = -1; }
+ else { mheld[i] = 0; }
+ }
+}
+
+void Commands_sdl::process_keys () {
+ keys.clear();
}
\ No newline at end of file diff --git a/commands/commands.h b/commands/commands.h index 5513790..020f186 100644 --- a/commands/commands.h +++ b/commands/commands.h @@ -1,30 +1,30 @@ -#ifndef COMMANDS_H -#define COMMANDS_H - -#include <iostream> -#include <vector> - -#define SDL_MAIN_HANDLED -#include <SDL2/SDL.h> - -class Commands_sdl { - public: - Commands_sdl (); - ~Commands_sdl (); - bool process_events (); - void process_clicks (); - void process_keys (); - bool check_keydown(SDL_Scancode key); - bool check_key(SDL_Scancode key); - int mx, my; - int mclick[3]; - int mheld[3]; - - int resx, resy; - - private: - std::vector<SDL_Scancode> keys; - std::vector<SDL_Scancode> keysdown; -}; - +#ifndef COMMANDS_H
+#define COMMANDS_H
+
+#include <iostream>
+#include <vector>
+
+#define SDL_MAIN_HANDLED
+#include <SDL2/SDL.h>
+
+class Commands_sdl {
+ public:
+ Commands_sdl ();
+ ~Commands_sdl ();
+ bool process_events ();
+ void process_clicks ();
+ void process_keys ();
+ bool check_keydown(SDL_Scancode key);
+ bool check_key(SDL_Scancode key);
+ int mx, my;
+ int mclick[3];
+ int mheld[3];
+
+ int resx, resy;
+
+ private:
+ std::vector<SDL_Scancode> keys;
+ std::vector<SDL_Scancode> keysdown;
+};
+
#endif
\ No newline at end of file diff --git a/game/ai/action.cpp b/game/ai/action.cpp index 63218ba..d85eb4d 100644 --- a/game/ai/action.cpp +++ b/game/ai/action.cpp @@ -1,76 +1,76 @@ -#include "action.h" - -bool ai::compare_action(ai::action a, ai::action b) { - return (a.heuristic < b.heuristic); -} - -std::string ai::action::to_string () { - if (type == actype::attack) { - if (abs(x-mx)+abs(y-my) != 0) { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " move " + - "[" + std::to_string(mx) + ", " + std::to_string(my) + "]" - + " attack " + - "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]"; - } else { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " attack " + - "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]"; - } - } - if (type == actype::heal) { - if (abs(x-mx)+abs(y-my) != 0) { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " move " + - "[" + std::to_string(mx) + ", " + std::to_string(my) + "]" - + " heal " + - "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]"; - } else { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " heal " + - "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]"; - } - } - if (type == actype::convert) { - if (abs(x-mx)+abs(y-my) != 0) { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " move " + - "[" + std::to_string(mx) + ", " + std::to_string(my) + "]" - + " convert " + - "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]"; - } else { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " convert " + - "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]"; - } - } - if (type == actype::move) { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" - + " move " + - "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"; - } - if (type == actype::build) { - if (abs(x-mx)+abs(y-my) != 0) { - return "[" + std::to_string(x) + ", " + std::to_string(y) - + "]" + " move " + - "[" + std::to_string(mx) + ", " + std::to_string(my) - + "]" + " build " + - std::to_string(v); - } else { - return "[" + std::to_string(mx) + ", " + std::to_string(my) - + "]" + " build " + - std::to_string(v); - } - } - if (type == actype::train) { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" + - " train " + std::to_string(v); - } - if (type == actype::trade) { - return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" + - " trade " + std::to_string(v); - } - if (type == actype::tech) { - return "tech " + std::to_string(v); - } +#include "action.h"
+
+bool ai::compare_action(ai::action a, ai::action b) {
+ return (a.heuristic < b.heuristic);
+}
+
+std::string ai::action::to_string () {
+ if (type == actype::attack) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
+ + " attack " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ } else {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " attack " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ }
+ }
+ if (type == actype::heal) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
+ + " heal " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ } else {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " heal " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ }
+ }
+ if (type == actype::convert) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]"
+ + " convert " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ } else {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " convert " +
+ "[" + std::to_string(tx) + ", " + std::to_string(ty) + "]";
+ }
+ }
+ if (type == actype::move) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]"
+ + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my) + "]";
+ }
+ if (type == actype::build) {
+ if (abs(x-mx)+abs(y-my) != 0) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y)
+ + "]" + " move " +
+ "[" + std::to_string(mx) + ", " + std::to_string(my)
+ + "]" + " build " +
+ std::to_string(v);
+ } else {
+ return "[" + std::to_string(mx) + ", " + std::to_string(my)
+ + "]" + " build " +
+ std::to_string(v);
+ }
+ }
+ if (type == actype::train) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" +
+ " train " + std::to_string(v);
+ }
+ if (type == actype::trade) {
+ return "[" + std::to_string(x) + ", " + std::to_string(y) + "]" +
+ " trade " + std::to_string(v);
+ }
+ if (type == actype::tech) {
+ return "tech " + std::to_string(v);
+ }
}
\ No newline at end of file diff --git a/game/ai/action.h b/game/ai/action.h index 12da451..6b631ca 100644 --- a/game/ai/action.h +++ b/game/ai/action.h @@ -1,52 +1,52 @@ -#ifndef ACTION_H -#define ACTION_H - -#include <string> -#include <vector> - -namespace ai { - -enum actype { - attack, heal, convert, build, train, trade, move, tech -}; - -class action { - public: - action (actype type, int v) : - type(type), v(v) {} - action (actype type, int x, int y, int v) : - type(type), x(x), y(y), v(v) {} - action (actype type, int x, int y, int mx, int my) : - type(type), x(x), y(y), mx(mx), my(my) {} - action (actype type, int x, int y, int mx, int my, int v) : - type(type), x(x), y(y), mx(mx), my(my), v(v) {} - action (actype type, int x, int y, int mx, int my, int tx, int ty) : - type(type), x(x), y(y), mx(mx), my(my), tx(tx), ty(ty) {} - action (actype type, int x, int y, int mx, int my, int tx, int ty, int v) : - type(type), x(x), y(y), mx(mx), my(my), tx(tx), ty(ty), v(v) {} - - action (const action& rhs) { - type = rhs.type; x = rhs.x; y = rhs.y; mx = rhs.mx; my = rhs.my; - tx = rhs.tx; ty = rhs.ty; v = rhs.v; - } - action& operator=(const action& rhs) { - type = rhs.type; x = rhs.x; y = rhs.y; mx = rhs.mx; my = rhs.my; - tx = rhs.tx; ty = rhs.ty; v = rhs.v; - } - - actype type; - int x, y; // start - int mx, my; // moved - int tx, ty; // target - int v; // value (id of trainee, building or f/g trade, or tech id) - - float heuristic { 0 }; - - std::string to_string (); -}; - -bool compare_action(action a, action b); - -} - +#ifndef ACTION_H
+#define ACTION_H
+
+#include <string>
+#include <vector>
+
+namespace ai {
+
+enum actype {
+ attack, heal, convert, build, train, trade, move, tech
+};
+
+class action {
+ public:
+ action (actype type, int v) :
+ type(type), v(v) {}
+ action (actype type, int x, int y, int v) :
+ type(type), x(x), y(y), v(v) {}
+ action (actype type, int x, int y, int mx, int my) :
+ type(type), x(x), y(y), mx(mx), my(my) {}
+ action (actype type, int x, int y, int mx, int my, int v) :
+ type(type), x(x), y(y), mx(mx), my(my), v(v) {}
+ action (actype type, int x, int y, int mx, int my, int tx, int ty) :
+ type(type), x(x), y(y), mx(mx), my(my), tx(tx), ty(ty) {}
+ action (actype type, int x, int y, int mx, int my, int tx, int ty, int v) :
+ type(type), x(x), y(y), mx(mx), my(my), tx(tx), ty(ty), v(v) {}
+
+ action (const action& rhs) {
+ type = rhs.type; x = rhs.x; y = rhs.y; mx = rhs.mx; my = rhs.my;
+ tx = rhs.tx; ty = rhs.ty; v = rhs.v;
+ }
+ action& operator=(const action& rhs) {
+ type = rhs.type; x = rhs.x; y = rhs.y; mx = rhs.mx; my = rhs.my;
+ tx = rhs.tx; ty = rhs.ty; v = rhs.v;
+ }
+
+ actype type;
+ int x, y; // start
+ int mx, my; // moved
+ int tx, ty; // target
+ int v; // value (id of trainee, building or f/g trade, or tech id)
+
+ float heuristic { 0 };
+
+ std::string to_string ();
+};
+
+bool compare_action(action a, action b);
+
+}
+
#endif
\ No newline at end of file diff --git a/game/ai/engine.h b/game/ai/engine.h index d3755e1..584cb11 100644 --- a/game/ai/engine.h +++ b/game/ai/engine.h @@ -1,66 +1,66 @@ -#ifndef ENGINE_H -#define ENGINE_H - -#include <iostream> - -#include <string> -#include <vector> -#include <limits> -#include <cmath> - -#include "../ground.h" -#include "../gst.h" - -#include "action.h" -#include "tactic.h" -#include "generator.h" -#include "evaluator.h" -#include "performer.h" - -namespace ai { - -class engine { - public: - engine (Gst &gst) : init(gst) {} - Gst &init; - - tactic get_best () { - tactic t { search(init, 4) }; - std::cout << t.to_string(); - return t; - } - - tactic search (Gst &gst, int depth) { - generator gen { gst }; - std::vector<tactic> tactics = gen.tactics(); - tactic best; best.eval = std::numeric_limits<float>::lowest(); - for (tactic t : tactics) { - performer perf { gst }; - Gst next { perf.apply(t) }; - t.eval = negamax(next, depth, gst.turn); - std::cout << "depth " << depth << " eval " << t.eval << "\n"; - if (t.eval > best.eval) best = t; - } - return best; - } - - float negamax (Gst gst, int depth, int player) { - //for (int i=0; i<3-depth; i++) std::cout << " "; std::cout << depth << "\n"; - if (depth == 0) { - evaluator eval { gst }; - return eval.eval(player); - } - float value = std::numeric_limits<float>::lowest(); - generator gen { gst }; - auto tactics = gen.tactics(); - for (tactic t : tactics) { - performer perf { gst }; - Gst next { perf.apply(t) }; - value = fmax(value, negamax(next, depth-1, -player)); - } - return -value; - } -}; - -} +#ifndef ENGINE_H
+#define ENGINE_H
+
+#include <iostream>
+
+#include <string>
+#include <vector>
+#include <limits>
+#include <cmath>
+
+#include "../ground.h"
+#include "../gst.h"
+
+#include "action.h"
+#include "tactic.h"
+#include "generator.h"
+#include "evaluator.h"
+#include "performer.h"
+
+namespace ai {
+
+class engine {
+ public:
+ engine (Gst &gst) : init(gst) {}
+ Gst &init;
+
+ tactic get_best () {
+ tactic t { search(init, 4) };
+ std::cout << t.to_string();
+ return t;
+ }
+
+ tactic search (Gst &gst, int depth) {
+ generator gen { gst };
+ std::vector<tactic> tactics = gen.tactics();
+ tactic best; best.eval = std::numeric_limits<float>::lowest();
+ for (tactic t : tactics) {
+ performer perf { gst };
+ Gst next { perf.apply(t) };
+ t.eval = negamax(next, depth, gst.turn);
+ std::cout << "depth " << depth << " eval " << t.eval << "\n";
+ if (t.eval > best.eval) best = t;
+ }
+ return best;
+ }
+
+ float negamax (Gst gst, int depth, int player) {
+ //for (int i=0; i<3-depth; i++) std::cout << " "; std::cout << depth << "\n";
+ if (depth == 0) {
+ evaluator eval { gst };
+ return eval.eval(player);
+ }
+ float value = std::numeric_limits<float>::lowest();
+ generator gen { gst };
+ auto tactics = gen.tactics();
+ for (tactic t : tactics) {
+ performer perf { gst };
+ Gst next { perf.apply(t) };
+ value = fmax(value, negamax(next, depth-1, -player));
+ }
+ return -value;
+ }
+};
+
+}
#endif
\ No newline at end of file diff --git a/game/ai/evaluator.h b/game/ai/evaluator.h index 75684de..b288076 100644 --- a/game/ai/evaluator.h +++ b/game/ai/evaluator.h @@ -1,30 +1,30 @@ -#ifndef EVALUATOR_H -#define EVALUATOR_H - -#include <iostream> - -#include <string> -#include <vector> - -#include "../ground.h" -#include "../gst.h" - -namespace ai { - -class evaluator { - public: - evaluator (Gst gst) : gst(gst) {} - Gst gst; - - float eval (int player) { - float val = 0; - for (Entity &ent : gst.entities) { - int own = (int)(ent.owner != player)*2-1; - val += own*(ent.info->cost[0] + ent.info->cost[1])*(ent.hp/100.0f); - } - return val; - } -}; - -} +#ifndef EVALUATOR_H
+#define EVALUATOR_H
+
+#include <iostream>
+
+#include <string>
+#include <vector>
+
+#include "../ground.h"
+#include "../gst.h"
+
+namespace ai {
+
+class evaluator {
+ public:
+ evaluator (Gst gst) : gst(gst) {}
+ Gst gst;
+
+ float eval (int player) {
+ float val = 0;
+ for (Entity &ent : gst.entities) {
+ int own = (int)(ent.owner != player)*2-1;
+ val += own*(ent.info->cost[0] + ent.info->cost[1])*(ent.hp/100.0f);
+ }
+ return val;
+ }
+};
+
+}
#endif
\ No newline at end of file diff --git a/game/ai/generator.h b/game/ai/generator.h index c6cb288..39bde4f 100644 --- a/game/ai/generator.h +++ b/game/ai/generator.h @@ -1,102 +1,102 @@ -#ifndef GENERATOR_H -#define GENERATOR_H - -#include <iostream> - -#include <string> -#include <vector> - -#include "../ground.h" -#include "../gst.h" -#include "action.h" -#include "tactic.h" -#include "performer.h" - -namespace ai { - -const int maxiter = 100000; - - -class generator { - public: - generator (Gst &gst) : init(gst) {} - Gst &init; - - std::vector<action> valid_actions (Gst &gst) { - Ground &gr = gst.inv->ground; - std::vector<action> acts; - for (Entity &ent : gst.entities) { - if (ent.done) continue; - if (ent.owner != gst.turn) continue; - - std::vector<action> ent_acts; - - std::vector<int> moves = gr.move_area(gst, ent); - for (auto move : moves) { - int mx = move%gr.sizex, my = move/gr.sizex; - action act { actype::move, ent.x, ent.y, mx, my }; - - performer perf { gst }; - Gst next { gst }; - next = perf.act(next, act); - Entity &matk = next.get_at(mx, my); - std::vector<int> atks = gr.attack_targets(next, matk); - for (auto atk : atks) { - int tx = atk%gr.sizex, ty = atk/gr.sizex; - action act_atk { actype::attack, ent.x, ent.y, - mx, my, tx, ty }; - Entity &mdef = next.get_at(tx, ty); - - BattleResult res = gst.battle_res(matk, mdef); - float heur = (mdef.hp-res.def_hp); - heur *= (mdef.info->cost[0] + mdef.info->cost[1]); - act_atk.heuristic = heur; - ent_acts.push_back(act_atk); - } - - int dist = 999999; - int pos = gst.get_nearest_enemy(ent, dist); - float heur = 1.0f/dist; - act.heuristic = heur; - ent_acts.push_back(act); - } - std::sort(ent_acts.begin(), ent_acts.end(), compare_action); - for (int i=0; i<3 && i<ent_acts.size(); i++) { - acts.push_back(ent_acts[i]); - } - } - std::sort(acts.begin(), acts.end(), compare_action); - return acts; - } - - tactic valid_tactic (int &n) { - tactic t; - Gst gst { init }; - for (int i=0; i<ai::maxiter; i++) { - std::vector<action> acts { valid_actions(gst) }; - if (acts.size() == 0) break; - performer perf { gst }; - int j = n % (acts.size()); - n /= acts.size(); - action &act = acts[j]; - gst = perf.act(gst, act); - t.acts.push_back(act); - //std::cout << act.to_string() << std::endl; - } - return t; - } - - std::vector<tactic> tactics () { - std::vector<tactic> ts; - for (int i=0; i<3; i++) { - int n = i; - tactic t = valid_tactic(n); - if (n > 0) break; - ts.push_back(t); - } - return ts; - } -}; - -} +#ifndef GENERATOR_H
+#define GENERATOR_H
+
+#include <iostream>
+
+#include <string>
+#include <vector>
+
+#include "../ground.h"
+#include "../gst.h"
+#include "action.h"
+#include "tactic.h"
+#include "performer.h"
+
+namespace ai {
+
+const int maxiter = 100000;
+
+
+class generator {
+ public:
+ generator (Gst &gst) : init(gst) {}
+ Gst &init;
+
+ std::vector<action> valid_actions (Gst &gst) {
+ Ground &gr = gst.inv->ground;
+ std::vector<action> acts;
+ for (Entity &ent : gst.entities) {
+ if (ent.done) continue;
+ if (ent.owner != gst.turn) continue;
+
+ std::vector<action> ent_acts;
+
+ std::vector<int> moves = gr.move_area(gst, ent);
+ for (auto move : moves) {
+ int mx = move%gr.sizex, my = move/gr.sizex;
+ action act { actype::move, ent.x, ent.y, mx, my };
+
+ performer perf { gst };
+ Gst next { gst };
+ next = perf.act(next, act);
+ Entity &matk = next.get_at(mx, my);
+ std::vector<int> atks = gr.attack_targets(next, matk);
+ for (auto atk : atks) {
+ int tx = atk%gr.sizex, ty = atk/gr.sizex;
+ action act_atk { actype::attack, ent.x, ent.y,
+ mx, my, tx, ty };
+ Entity &mdef = next.get_at(tx, ty);
+
+ BattleResult res = gst.battle_res(matk, mdef);
+ float heur = (mdef.hp-res.def_hp);
+ heur *= (mdef.info->cost[0] + mdef.info->cost[1]);
+ act_atk.heuristic = heur;
+ ent_acts.push_back(act_atk);
+ }
+
+ int dist = 999999;
+ int pos = gst.get_nearest_enemy(ent, dist);
+ float heur = 1.0f/dist;
+ act.heuristic = heur;
+ ent_acts.push_back(act);
+ }
+ std::sort(ent_acts.begin(), ent_acts.end(), compare_action);
+ for (int i=0; i<3 && i<ent_acts.size(); i++) {
+ acts.push_back(ent_acts[i]);
+ }
+ }
+ std::sort(acts.begin(), acts.end(), compare_action);
+ return acts;
+ }
+
+ tactic valid_tactic (int &n) {
+ tactic t;
+ Gst gst { init };
+ for (int i=0; i<ai::maxiter; i++) {
+ std::vector<action> acts { valid_actions(gst) };
+ if (acts.size() == 0) break;
+ performer perf { gst };
+ int j = n % (acts.size());
+ n /= acts.size();
+ action &act = acts[j];
+ gst = perf.act(gst, act);
+ t.acts.push_back(act);
+ //std::cout << act.to_string() << std::endl;
+ }
+ return t;
+ }
+
+ std::vector<tactic> tactics () {
+ std::vector<tactic> ts;
+ for (int i=0; i<3; i++) {
+ int n = i;
+ tactic t = valid_tactic(n);
+ if (n > 0) break;
+ ts.push_back(t);
+ }
+ return ts;
+ }
+};
+
+}
#endif
\ No newline at end of file diff --git a/game/ai/performer.h b/game/ai/performer.h index 472773b..17be028 100644 --- a/game/ai/performer.h +++ b/game/ai/performer.h @@ -1,49 +1,49 @@ -#ifndef PERFORMER_H -#define PERFORMER_H - -#include <iostream> - -#include <string> -#include <vector> - -#include "../ground.h" -#include "../gst.h" -#include "action.h" -#include "tactic.h" - -namespace ai { - -class performer { - public: - performer (Gst &gst) : init(gst) {} - Gst &init; - - Gst apply (tactic t) { - Gst next { init }; - for (action a : t.acts) { - next = act(next, a); - } - next.end_day(); - return next; - } - - Gst& act (Gst &gst, action a) { - if (a.type == actype::move) { - Entity &ent = gst.get_at(a.x, a.y); - ent.x = a.mx; ent.y = a.my; - ent.moved = 1; ent.done = true; - } - if (a.type == actype::attack) { - Entity &ent = gst.get_at(a.x, a.y); - ent.x = a.mx; ent.y = a.my; - ent.moved = 1; - Entity &def = gst.get_at(a.tx, a.ty); - gst.battle(ent, def); - ent.done = true; - } - return gst; - } -}; - -} +#ifndef PERFORMER_H
+#define PERFORMER_H
+
+#include <iostream>
+
+#include <string>
+#include <vector>
+
+#include "../ground.h"
+#include "../gst.h"
+#include "action.h"
+#include "tactic.h"
+
+namespace ai {
+
+class performer {
+ public:
+ performer (Gst &gst) : init(gst) {}
+ Gst &init;
+
+ Gst apply (tactic t) {
+ Gst next { init };
+ for (action a : t.acts) {
+ next = act(next, a);
+ }
+ next.end_day();
+ return next;
+ }
+
+ Gst& act (Gst &gst, action a) {
+ if (a.type == actype::move) {
+ Entity &ent = gst.get_at(a.x, a.y);
+ ent.x = a.mx; ent.y = a.my;
+ ent.moved = 1; ent.done = true;
+ }
+ if (a.type == actype::attack) {
+ Entity &ent = gst.get_at(a.x, a.y);
+ ent.x = a.mx; ent.y = a.my;
+ ent.moved = 1;
+ Entity &def = gst.get_at(a.tx, a.ty);
+ gst.battle(ent, def);
+ ent.done = true;
+ }
+ return gst;
+ }
+};
+
+}
#endif
\ No newline at end of file diff --git a/game/ai/tactic.h b/game/ai/tactic.h index 7eefef9..ec2e382 100644 --- a/game/ai/tactic.h +++ b/game/ai/tactic.h @@ -1,32 +1,32 @@ -#ifndef TACTIC_H -#define TACTIC_H - -#include <string> -#include <vector> - -#include "action.h" - -namespace ai { - -class tactic { - public: - tactic () { } - - std::vector<action> acts; - float eval = 0; - - // copy constructor - tactic (const tactic& rhs) { acts = rhs.acts; eval = rhs.eval; } - tactic& operator=(const tactic& rhs) { acts = rhs.acts; eval = rhs.eval; } - - std::string to_string () { - std::string str = "tactic eval= " + std::to_string(eval) + "\n"; - for (action act : acts) { - str += act.to_string() + "\n"; - } - return str; - } -}; - -} +#ifndef TACTIC_H
+#define TACTIC_H
+
+#include <string>
+#include <vector>
+
+#include "action.h"
+
+namespace ai {
+
+class tactic {
+ public:
+ tactic () { }
+
+ std::vector<action> acts;
+ float eval = 0;
+
+ // copy constructor
+ tactic (const tactic& rhs) { acts = rhs.acts; eval = rhs.eval; }
+ tactic& operator=(const tactic& rhs) { acts = rhs.acts; eval = rhs.eval; }
+
+ std::string to_string () {
+ std::string str = "tactic eval= " + std::to_string(eval) + "\n";
+ for (action act : acts) {
+ str += act.to_string() + "\n";
+ }
+ return str;
+ }
+};
+
+}
#endif
\ No newline at end of file diff --git a/game/constants.h b/game/constants.h index 2ba343a..ef6a477 100644 --- a/game/constants.h +++ b/game/constants.h @@ -1,17 +1,17 @@ -#ifndef CONSTANTS_H -#define CONSTANTS_H - -namespace constants { - const int col_gud_r = 40; - const int col_gud_g = 120; - const int col_gud_b = 0; - const int col_bad_r = 255; - const int col_bad_g = 120; - const int col_bad_b = 0; - - const float menu_attack_margin_amt = 60; - const float menu_attack_margin_arrow = 80; - const float menu_attack_margin_mod = 93; -} - +#ifndef CONSTANTS_H
+#define CONSTANTS_H
+
+namespace constants {
+ const int col_gud_r = 40;
+ const int col_gud_g = 120;
+ const int col_gud_b = 0;
+ const int col_bad_r = 255;
+ const int col_bad_g = 120;
+ const int col_bad_b = 0;
+
+ const float menu_attack_margin_amt = 60;
+ const float menu_attack_margin_arrow = 80;
+ const float menu_attack_margin_mod = 93;
+}
+
#endif
\ No newline at end of file diff --git a/game/entity.cpp b/game/entity.cpp index f127150..8539045 100644 --- a/game/entity.cpp +++ b/game/entity.cpp @@ -1,11 +1,11 @@ -#include "entity.h" -#include <iostream> - - -int EntityClass::from_string (std::string str) { - if (str == "inf") return EntityInfo::Class::inf; - if (str == "cav") return EntityInfo::Class::cav; - if (str == "ran") return EntityInfo::Class::ran; - if (str == "sie") return EntityInfo::Class::sie; - if (str == "bld") return EntityInfo::Class::bld; +#include "entity.h"
+#include <iostream>
+
+
+int EntityClass::from_string (std::string str) {
+ if (str == "inf") return EntityInfo::Class::inf;
+ if (str == "cav") return EntityInfo::Class::cav;
+ if (str == "ran") return EntityInfo::Class::ran;
+ if (str == "sie") return EntityInfo::Class::sie;
+ if (str == "bld") return EntityInfo::Class::bld;
}
\ No newline at end of file diff --git a/game/entity.h b/game/entity.h index a15ebdb..f9f6781 100644 --- a/game/entity.h +++ b/game/entity.h @@ -1,82 +1,82 @@ -#ifndef ENTITIES_H -#define ENTITIES_H - -#include <vector> -#include <string> - -#include <iostream> - -#include "../umath/vec2.h" - - -class EntityInfo { - public: - EntityInfo() { spritebounds = vec2 { 16*6, 16 }; } - - enum Class { inf, cav, ran, sie, bld }; - Class ent_class; - - std::string name; - - int id; - int level; - - float hp; - float attack; - float defence; - int range; - float sight; - int move; - int unit; - std::vector<int> abilities; - std::vector<int> build; - std::vector<int> train_id; - std::vector<Class> train_class; - - std::vector<float> prod { 0, 0 }; - std::vector<float> cost { 0, 0 }; - - std::vector<int> adjacent; - std::vector<int> diagonal; - float defence_bonus { 0 }; - int upgrade { -1 }; - - vec2 spritebounds; -}; - -namespace EntityClass { - int from_string(std::string str); -} - -class Entity { - public: - Entity (int x, int y, EntityInfo *info, int owner) - : x(x), y(y), info(info), owner(owner) { moved = 0; hp = 100; } - - // copy constructor - Entity (const Entity& rhs) { - building = rhs.building; hp = rhs.hp; x = rhs.x; y = rhs.y; - done = rhs.done; moved = rhs.moved; info = rhs.info; - fights = rhs.fights; owner = rhs.owner; - } - Entity& operator=(const Entity& rhs) { - building = rhs.building; hp = rhs.hp; x = rhs.x; y = rhs.y; - done = rhs.done; moved = rhs.moved; info = rhs.info; - fights = rhs.fights; owner = rhs.owner; - }; - - bool operator==(Entity oth) { - return x == oth.x && y == oth.y && info->unit == oth.info->unit; - } - - int building { 0 }; - float hp; - int x, y; - bool done = false; - int moved; - EntityInfo *info; - int fights { 0 }; - int owner; -}; - +#ifndef ENTITIES_H
+#define ENTITIES_H
+
+#include <vector>
+#include <string>
+
+#include <iostream>
+
+#include "../umath/vec2.h"
+
+
+class EntityInfo {
+ public:
+ EntityInfo() { spritebounds = vec2 { 16*6, 16 }; }
+
+ enum Class { inf, cav, ran, sie, bld };
+ Class ent_class;
+
+ std::string name;
+
+ int id;
+ int level;
+
+ float hp;
+ float attack;
+ float defence;
+ int range;
+ float sight;
+ int move;
+ int unit;
+ std::vector<int> abilities;
+ std::vector<int> build;
+ std::vector<int> train_id;
+ std::vector<Class> train_class;
+
+ std::vector<float> prod { 0, 0 };
+ std::vector<float> cost { 0, 0 };
+
+ std::vector<int> adjacent;
+ std::vector<int> diagonal;
+ float defence_bonus { 0 };
+ int upgrade { -1 };
+
+ vec2 spritebounds;
+};
+
+namespace EntityClass {
+ int from_string(std::string str);
+}
+
+class Entity {
+ public:
+ Entity (int x, int y, EntityInfo *info, int owner)
+ : x(x), y(y), info(info), owner(owner) { moved = 0; hp = 100; }
+
+ // copy constructor
+ Entity (const Entity& rhs) {
+ building = rhs.building; hp = rhs.hp; x = rhs.x; y = rhs.y;
+ done = rhs.done; moved = rhs.moved; info = rhs.info;
+ fights = rhs.fights; owner = rhs.owner;
+ }
+ Entity& operator=(const Entity& rhs) {
+ building = rhs.building; hp = rhs.hp; x = rhs.x; y = rhs.y;
+ done = rhs.done; moved = rhs.moved; info = rhs.info;
+ fights = rhs.fights; owner = rhs.owner;
+ };
+
+ bool operator==(Entity oth) {
+ return x == oth.x && y == oth.y && info->unit == oth.info->unit;
+ }
+
+ int building { 0 };
+ float hp;
+ int x, y;
+ bool done = false;
+ int moved;
+ EntityInfo *info;
+ int fights { 0 };
+ int owner;
+};
+
#endif
\ No newline at end of file diff --git a/game/ground.cpp b/game/ground.cpp index cd67751..610b096 100644 --- a/game/ground.cpp +++ b/game/ground.cpp @@ -1,132 +1,132 @@ -#include "ground.h" -#include "gst.h" - -#include <iostream> -#include <algorithm> - -void Ground::build (int sx, int sy) { - sizex = sx; sizey = sy; - tiles = new int[sx*sy]; - for (int i=0; i<sx*sy; i++) tiles[i] = 0; -} - -int Ground::at(int x, int y) { - return x+y*sizex; -} - - -// areas -std::vector<int> Ground::star (int pos) { - std::vector<int> fs; - int x = pos % sizex, y = pos / sizex; - if (x-1 >= 0) { fs.push_back(at(x-1, y)); } - if (x+1 < sizex) { fs.push_back(at(x+1, y)); } - if (y-1 >= 0) { fs.push_back(at(x, y-1)); } - if (y+1 < sizey) { fs.push_back(at(x, y+1)); } - return fs; -} - -class step { public: - step(int pos, int m) : pos(pos), m(m) {}; - bool operator==(step oth) { return pos==oth.pos && m==oth.m; } - bool operator==(int p) { return pos==p; } - int pos, m; -}; - -std::vector<int> Ground::move_area (Gst &gst, Entity &ent) { - Player &player = gst.players[ent.owner]; - int move_num = ent.info->move; - move_num += player.tech_lookup.id(ent.info->id).move; - - std::vector<int> moves; - std::vector<int> visited { at(ent.x, ent.y) }; - std::vector<step> frontier { step { at(ent.x, ent.y), move_num } }; - - int maxcost = 99; - if (gst.inv->info_has_ability(ent.info, "Scout")) maxcost = 2; - - int iter=0; - for (; iter<10000; iter++) { - - if (frontier.size() == 0) break; - step maxf {-1, -1}; - for (step t : frontier) { - if (t.m > maxf.m) { - maxf.pos = t.pos; - maxf.m = t.m; - } - } - frontier.erase(std::remove(frontier.begin(), frontier.end(), maxf), - frontier.end()); - auto forward_star = star(maxf.pos); - for (int t : forward_star) { - if (!(std::find(visited.begin(), visited.end(), t) != visited.end()) - && !(std::find(frontier.begin(), frontier.end(), t) != frontier.end())) { - int movecost = gst.inv->tiles[tiles[t]].move_cost; - if (movecost > maxcost) movecost = maxcost; - int walkedm = maxf.m - movecost; - bool obs_enemy = false, obs_friend = false; - for (Entity &e : gst.entities) { - if (at(e.x, e.y) == t) { - if (e.owner != ent.owner) obs_enemy = true; - else obs_friend = true; - break; - } - } - if (walkedm >= 0 && !obs_enemy) { - frontier.emplace_back(t, walkedm); - if (!obs_friend) { - moves.push_back(t); - } - } - } - } - visited.push_back(maxf.pos); - } - - - return moves; -} - -std::vector<int> Ground::attack_targets (Gst &gst, Entity &ent) { - std::vector<int> attacks; - int range = gst.get_range(ent); - bool builds = !gst.inv->info_has_ability(ent.info, "Units Only"); - bool units = !gst.inv->info_has_ability(ent.info, "Buildings Only"); - for (Entity &e : gst.entities) { - if (!units && e.info->unit == 1) continue; - if (!builds && e.info->unit == 0) continue; - int dist = abs(e.x-ent.x)+abs(e.y-ent.y); - if (dist > 0 && e.owner != ent.owner && dist <= range) { - attacks.push_back(at(e.x, e.y)); - } - } - return attacks; -} - -std::vector<int> Ground::heal_targets (Gst &gst, Entity &ent) { - std::vector<int> heals; - int range = gst.get_range(ent); - for (Entity &e : gst.entities) { - if (e.info->unit == 0) continue; - if (e.info->ent_class == EntityInfo::Class::sie) continue; - int dist = abs(e.x-ent.x)+abs(e.y-ent.y); - if (dist > 0 && e.owner == ent.owner && dist <= range) { - heals.push_back(at(e.x, e.y)); - } - } - return heals; -} - -std::vector<int> Ground::convert_targets (Gst &gst, Entity &ent) { - std::vector<int> converts; - int range = gst.get_range(ent); - for (Entity &e : gst.entities) { - if (e.info->unit == 0) continue; - int dist = abs(e.x-ent.x)+abs(e.y-ent.y); - if (dist > 0 && e.owner != ent.owner && dist <= range) { - converts.push_back(at(e.x, e.y)); - } - } - return converts; +#include "ground.h"
+#include "gst.h"
+
+#include <iostream>
+#include <algorithm>
+
+void Ground::build (int sx, int sy) {
+ sizex = sx; sizey = sy;
+ tiles = new int[sx*sy];
+ for (int i=0; i<sx*sy; i++) tiles[i] = 0;
+}
+
+int Ground::at(int x, int y) {
+ return x+y*sizex;
+}
+
+
+// areas
+std::vector<int> Ground::star (int pos) {
+ std::vector<int> fs;
+ int x = pos % sizex, y = pos / sizex;
+ if (x-1 >= 0) { fs.push_back(at(x-1, y)); }
+ if (x+1 < sizex) { fs.push_back(at(x+1, y)); }
+ if (y-1 >= 0) { fs.push_back(at(x, y-1)); }
+ if (y+1 < sizey) { fs.push_back(at(x, y+1)); }
+ return fs;
+}
+
+class step { public:
+ step(int pos, int m) : pos(pos), m(m) {};
+ bool operator==(step oth) { return pos==oth.pos && m==oth.m; }
+ bool operator==(int p) { return pos==p; }
+ int pos, m;
+};
+
+std::vector<int> Ground::move_area (Gst &gst, Entity &ent) {
+ Player &player = gst.players[ent.owner];
+ int move_num = ent.info->move;
+ move_num += player.tech_lookup.id(ent.info->id).move;
+
+ std::vector<int> moves;
+ std::vector<int> visited { at(ent.x, ent.y) };
+ std::vector<step> frontier { step { at(ent.x, ent.y), move_num } };
+
+ int maxcost = 99;
+ if (gst.inv->info_has_ability(ent.info, "Scout")) maxcost = 2;
+
+ int iter=0;
+ for (; iter<10000; iter++) {
+
+ if (frontier.size() == 0) break;
+ step maxf {-1, -1};
+ for (step t : frontier) {
+ if (t.m > maxf.m) {
+ maxf.pos = t.pos;
+ maxf.m = t.m;
+ }
+ }
+ frontier.erase(std::remove(frontier.begin(), frontier.end(), maxf),
+ frontier.end());
+ auto forward_star = star(maxf.pos);
+ for (int t : forward_star) {
+ if (!(std::find(visited.begin(), visited.end(), t) != visited.end())
+ && !(std::find(frontier.begin(), frontier.end(), t) != frontier.end())) {
+ int movecost = gst.inv->tiles[tiles[t]].move_cost;
+ if (movecost > maxcost) movecost = maxcost;
+ int walkedm = maxf.m - movecost;
+ bool obs_enemy = false, obs_friend = false;
+ for (Entity &e : gst.entities) {
+ if (at(e.x, e.y) == t) {
+ if (e.owner != ent.owner) obs_enemy = true;
+ else obs_friend = true;
+ break;
+ }
+ }
+ if (walkedm >= 0 && !obs_enemy) {
+ frontier.emplace_back(t, walkedm);
+ if (!obs_friend) {
+ moves.push_back(t);
+ }
+ }
+ }
+ }
+ visited.push_back(maxf.pos);
+ }
+
+
+ return moves;
+}
+
+std::vector<int> Ground::attack_targets (Gst &gst, Entity &ent) {
+ std::vector<int> attacks;
+ int range = gst.get_range(ent);
+ bool builds = !gst.inv->info_has_ability(ent.info, "Units Only");
+ bool units = !gst.inv->info_has_ability(ent.info, "Buildings Only");
+ for (Entity &e : gst.entities) {
+ if (!units && e.info->unit == 1) continue;
+ if (!builds && e.info->unit == 0) continue;
+ int dist = abs(e.x-ent.x)+abs(e.y-ent.y);
+ if (dist > 0 && e.owner != ent.owner && dist <= range) {
+ attacks.push_back(at(e.x, e.y));
+ }
+ }
+ return attacks;
+}
+
+std::vector<int> Ground::heal_targets (Gst &gst, Entity &ent) {
+ std::vector<int> heals;
+ int range = gst.get_range(ent);
+ for (Entity &e : gst.entities) {
+ if (e.info->unit == 0) continue;
+ if (e.info->ent_class == EntityInfo::Class::sie) continue;
+ int dist = abs(e.x-ent.x)+abs(e.y-ent.y);
+ if (dist > 0 && e.owner == ent.owner && dist <= range) {
+ heals.push_back(at(e.x, e.y));
+ }
+ }
+ return heals;
+}
+
+std::vector<int> Ground::convert_targets (Gst &gst, Entity &ent) {
+ std::vector<int> converts;
+ int range = gst.get_range(ent);
+ for (Entity &e : gst.entities) {
+ if (e.info->unit == 0) continue;
+ int dist = abs(e.x-ent.x)+abs(e.y-ent.y);
+ if (dist > 0 && e.owner != ent.owner && dist <= range) {
+ converts.push_back(at(e.x, e.y));
+ }
+ }
+ return converts;
}
\ No newline at end of file diff --git a/game/ground.h b/game/ground.h index d1a4f34..fcded29 100644 --- a/game/ground.h +++ b/game/ground.h @@ -1,37 +1,37 @@ -#ifndef GROUND_H -#define GROUND_H - -#include "entity.h" - -class Gst; - -class Resource { - public: - Resource (int pos, int kind) : pos(pos), kind(kind) {} - - enum Type { gold, food }; - - int pos, kind; -}; - -class Ground { - public: - Ground () {} - - int *tiles; - - std::vector<Resource> resources; - - void build (int sx, int sy); - - int sizex; - int sizey; - int at (int x, int y); - std::vector<int> star (int pos); - std::vector<int> move_area (Gst &gst, Entity &ent); - std::vector<int> attack_targets (Gst &gst, Entity &ent); - std::vector<int> heal_targets (Gst &gst, Entity &ent); - std::vector<int> convert_targets (Gst &gst, Entity &ent); -}; - +#ifndef GROUND_H
+#define GROUND_H
+
+#include "entity.h"
+
+class Gst;
+
+class Resource {
+ public:
+ Resource (int pos, int kind) : pos(pos), kind(kind) {}
+
+ enum Type { gold, food };
+
+ int pos, kind;
+};
+
+class Ground {
+ public:
+ Ground () {}
+
+ int *tiles;
+
+ std::vector<Resource> resources;
+
+ void build (int sx, int sy);
+
+ int sizex;
+ int sizey;
+ int at (int x, int y);
+ std::vector<int> star (int pos);
+ std::vector<int> move_area (Gst &gst, Entity &ent);
+ std::vector<int> attack_targets (Gst &gst, Entity &ent);
+ std::vector<int> heal_targets (Gst &gst, Entity &ent);
+ std::vector<int> convert_targets (Gst &gst, Entity &ent);
+};
+
#endif
\ No newline at end of file diff --git a/game/gst.cpp b/game/gst.cpp index 334844a..35f2b44 100644 --- a/game/gst.cpp +++ b/game/gst.cpp @@ -1,605 +1,605 @@ -#include "gst.h" - -#include <map> -#include <iostream> - - -Tech* Inv::get_tech (int id) { - for (auto &tech : techs) { - if (id == tech.id) return &tech; - } -} - -EntityInfo* Inv::get_info (std::string name) { - for (EntityInfo &info : infos) { - if (name == info.name) return &info; - } -} - -EntityInfo* Inv::get_info (int id) { - for (EntityInfo &info : infos) { - if (id == info.id) return &info; - } -} - -bool Inv::info_has_ability (EntityInfo* info, std::string name) { - for (int ab : info->abilities) { - if (abilities[ab].name == name) return true; - } - return false; -} - - - -Player& Gst::get_player (int id) { - for (auto &player : players) { - if (id == player.id) return player; - } -} - -Entity& Gst::get_at (int x, int y) { - for (Entity &e : entities) { - if (e.x ==x && e.y == y) return e; - } -} - -std::vector<float> Gst::get_cost (EntityInfo *info, Player &player) { - std::vector<float> cost = info->cost; - - std::cout << "cost : " << player.tech_lookup.id(info->id).cost[0] << " " << player.tech_lookup.id(info->id).cost[1] << "\n"; - for (int i=0; i<info->cost.size(); i++) { - cost[i] *= 1+player.tech_lookup.id(info->id).cost[i]; - cost[i] += player.tech_lookup.id(info->id).cost_abs[i]; - } - return cost; -} - -float Gst::get_trade_rate (Player &player) { - float rate = 250; - rate -= player.tech_lookup.id(0).trade * 25; - return rate; -} - -float Gst::get_type_bonus (Entity &atk, Entity &def) { - float b = 0; - switch(atk.info->ent_class) { - case EntityInfo::Class::inf: - if (def.info->ent_class == EntityInfo::Class::bld) b += 1.0f/3.0f; - if (def.info->ent_class == EntityInfo::Class::sie) b += 1.0f/3.0f; - break; - - case EntityInfo::Class::cav: - if (def.info->ent_class == EntityInfo::Class::bld) b += -0.5; - if (def.info->ent_class == EntityInfo::Class::inf) b += 1.0f/3.0f; - if (def.info->ent_class == EntityInfo::Class::ran) b += 1.0f/3.0f; - break; - - case EntityInfo::Class::ran: - if (def.info->ent_class == EntityInfo::Class::bld) b += -0.5f; - break; - - case EntityInfo::Class::sie: - if (def.info->ent_class == EntityInfo::Class::bld) b += +0.5f; - break; - } - return b; -} - -int Gst::get_vet_level (Entity &ent) { return std::min(3, ent.fights/3); } - -std::vector<Bonus> Gst::get_bonuses (Entity &atk, Entity &def) { - auto &tiles = inv->tiles; - auto &ground = inv->ground; - std::vector<Bonus> bs; - if (tiles[ground.tiles[ground.at(atk.x, atk.y)]].attack_bonus != 0) { - - bs.emplace_back( - tiles[ground.tiles[ground.at(atk.x, atk.y)]].attack_bonus, - Bonus::Id::ground, true); - } - if (tiles[ground.tiles[ground.at(def.x, def.y)]].defence_bonus != 0) { - bs.emplace_back( - tiles[ground.tiles[ground.at(def.x, def.y)]].defence_bonus, - Bonus::Id::ground, false); - } - - if (check_obstructed(def)) { - for (Entity &e : entities) { - if (&def != &e && e.x == def.x && def.y == e.y) { - bs.emplace_back(e.info->defence_bonus, - Bonus::Id::on_bld, false); - } - } - } - - if (get_type_bonus(atk, def) != 0) { - bs.emplace_back(get_type_bonus(atk, def), Bonus::Id::type, true); - } - /* only attack bonuses - if (get_type_bonus(def, atk) != 0) { - bs.emplace_back(get_type_bonus(def, atk), Bonus::Id::type, false); - }*/ - - if (inv->info_has_ability(atk.info, "Causes Fear")) - bs.emplace_back(-1.0f/3, Bonus::Id::ability, false); - if (inv->info_has_ability(def.info, "Causes Fear")) - bs.emplace_back(-1.0f/3, Bonus::Id::ability, true); - - if (inv->info_has_ability(atk.info, "Anti-Cavalry")) - bs.emplace_back(4.0f/3, Bonus::Id::ability, true); - if (inv->info_has_ability(def.info, "Anti-Cavalry")) - bs.emplace_back(4.0f/3, Bonus::Id::ability, false); - - if (inv->info_has_ability(atk.info, "Desert Charge") - && !inv->info_has_ability(def.info, "Desert Charge") - && tiles[ground.tiles[ground.at(def.x, def.y)]].name == "Desert") - bs.emplace_back(1.0f/3, Bonus::Id::ability, true); - - if (inv->info_has_ability(atk.info, "Plains Charge") - && !inv->info_has_ability(def.info, "Plains Charge") - && tiles[ground.tiles[ground.at(def.x, def.y)]].name == "Plains") - bs.emplace_back(1.0f/3, Bonus::Id::ability, true); - - if (inv->info_has_ability(atk.info, "Woodsman") - && !inv->info_has_ability(def.info, "Woodsman") - && tiles[ground.tiles[ground.at(def.x, def.y)]].name == "Forest") - bs.emplace_back(1.0f/3, Bonus::Id::ability, true); - - if (inv->info_has_ability(atk.info, "Volley") && atk.hp >= 50) - bs.emplace_back(1.0f/3, Bonus::Id::ability, true); - - if (inv->info_has_ability(atk.info, "Frenzy")) - bs.emplace_back(1/atk.hp, Bonus::Id::ability, true); - - Player &player_atk = players[atk.owner]; - Player &player_def = players[def.owner]; - float tech_attack = player_atk.tech_lookup.id(atk.info->id).attack; - if (tech_attack != 0) - bs.emplace_back(tech_attack, Bonus::Id::tech, true); - float tech_defence = player_def.tech_lookup.id(def.info->id).defence; - if (tech_defence != 0) - bs.emplace_back(tech_defence, Bonus::Id::tech, false); - - float atk_vet = get_vet_level(atk) * 0.15f; - if (atk_vet > 0) - bs.emplace_back(atk_vet, Bonus::Id::veteran, true); - float def_vet = get_vet_level(def) * 0.15f; - if (def_vet > 0) - bs.emplace_back(def_vet, Bonus::Id::veteran, false); - - return bs; -} - -float Gst::get_damage (Entity &atk, Entity &def, float atk_hp) { - float atkmul = 1; - float defmul = 1; - - auto bonuses = get_bonuses(atk, def); - for (auto bonus : bonuses) { - if (bonus.atk) { atkmul += bonus.amt; } - else { defmul += bonus.amt; } - } - - float dam = (atk.info->attack * atk_hp * atkmul) - / (2.0f*def.info->defence * defmul); - - return dam; -} - -float Gst::get_damage (Entity &atk, Entity &def) { - return get_damage(atk, def, atk.hp); -} - -bool Gst::get_first_strike (Entity &atk, Entity &def) { - bool fs { false }; - fs = inv->info_has_ability(atk.info, "First Strike"); - return fs; -} - -float clamp_hp (float hp) { - if (hp > 100) hp = 100; - if (hp < 0) hp = 0; - return hp; -} - -BattleResult Gst::battle_res (Entity &atk, Entity &def) { - BattleResult result { atk.hp, def.hp }; - bool first_strike_atk = inv->info_has_ability(atk.info, "First Strike"); - bool first_strike_def = inv->info_has_ability(def.info, "First Strike"); - bool skirmish_atk = inv->info_has_ability(atk.info, "Skirmish"); - bool skirmish_def = inv->info_has_ability(def.info, "Skirmish"); - bool anticav_atk = inv->info_has_ability(atk.info, "Anti-Cavalry"); - bool anticav_def = inv->info_has_ability(def.info, "Anti-Cavalry"); - first_strike_atk = first_strike_atk - || (skirmish_atk && def.info->range == 1); - first_strike_def = first_strike_def - || (skirmish_def && atk.info->range == 1); - first_strike_atk = first_strike_atk - || (anticav_atk && def.info->ent_class == EntityInfo::Class::cav); - first_strike_def = first_strike_def - || (anticav_def && atk.info->ent_class == EntityInfo::Class::cav); - - int dist = abs(atk.x-def.x) + abs(atk.y-def.y); - bool def_inrange = (dist <= get_range(def)) ? true : false; - - bool swap = false; - if (first_strike_def && !first_strike_atk) swap = true; - if (swap) { - if (def_inrange) { - result.atk_hp = clamp_hp( - result.atk_hp - get_damage(def, atk, result.def_hp)); - } - if (!inv->info_has_ability(atk.info, "No Counter")) - if (result.atk_hp > 0) - result.def_hp = clamp_hp( - result.def_hp - get_damage(atk, def, result.atk_hp)); - } else { - result.def_hp = clamp_hp( - result.def_hp - get_damage(atk, def, result.atk_hp)); - if (!inv->info_has_ability(def.info, "No Counter") && def_inrange) - if (result.def_hp > 0) - result.atk_hp = clamp_hp( - result.atk_hp - get_damage(def, atk, result.def_hp)); - } - - if (inv->info_has_ability(atk.info, "Rapid Fire")) - if (result.def_hp > 0) - result.def_hp = clamp_hp( - result.def_hp - get_damage(atk, def, result.def_hp)); - - if (inv->info_has_ability(def.info, "Rapid Fire") && def_inrange) - if (result.atk_hp > 0) - result.atk_hp = clamp_hp( - result.atk_hp - get_damage(def, atk, result.def_hp)); - - if (result.atk_hp > 0 && inv->info_has_ability(atk.info, "Zeal")) - result.atk_hp = clamp_hp(result.atk_hp + 20); - if (result.def_hp > 0 && inv->info_has_ability(def.info, "Zeal")) - result.def_hp = clamp_hp(result.def_hp + 20); - - return result; -} - -void Gst::battle (Entity &atk, Entity &def) { - /*std::cout << "! attack " << atk.info->name << "(hp:" << atk.hp << "), " - << def.info->name << "(hp:" << def.hp << ") \n";*/ - - auto result = battle_res(atk, def); - atk.hp = result.atk_hp; - def.hp = result.def_hp; - - if (atk.info->unit == 1) atk.fights += 1; - if (def.info->unit == 1) def.fights += 1; - - /*std::cout << "! result " << atk.info->name << "(hp:" << atk.hp << "), " - << def.info->name << "(hp:" << def.hp << ") \n";*/ - clear_dead(); -} - -void Gst::clear_dead() { - auto i = std::begin(entities); - while (i != std::end(entities)) { - if (i->hp <= 0) { - entities.erase(i); - } - else i++; - } -} - -int Gst::get_range (Entity &ent) { - int range = ent.info->range; - if (range > 1) { - auto &tiles = inv->tiles; - auto &ground = inv->ground; - range += tiles[ground.tiles[ground.at(ent.x, ent.y)]].range_bonus; - } - if (range < 1) range = 1; - return range; -} - - -void Gst::heal (Entity &atk, Entity &def) { - Player &player = get_player(atk.owner); - float amt = 20; - if (atk.info->level == 3) { amt += 10; } // improved heal - if (player.has_tech(52)) { amt += 10; } // tech illumination - def.hp = clamp_hp(def.hp + amt); -} - -void Gst::convert (Entity &atk, Entity &def) { - Player &player = get_player(atk.owner); - float amt = 0.20f; - if (player.has_tech(53)) { amt += 0.10f; } // tech faith - // caution, randomness - std::uniform_real_distribution<float> odds(0, 1); - float value = odds(inv->engine); - std::cout << value << " / " << amt << " odds\n"; - if (value < amt) { - def.owner = atk.owner; - } -} - - -int Gst::get_nearest_enemy (Entity &ent, int &mindist) { - auto &ground = inv->ground; - int pos = -1; mindist = 9999999; - for (Entity &oth : entities) { - if (oth.owner == ent.owner) continue; - int dist = abs(oth.x-ent.x) + abs(oth.y-ent.y); - if (dist < mindist) { - mindist = dist; - pos = ground.at(oth.x, oth.y); - } - } -} - - -std::vector<int> Gst::get_possible_trains (Entity &ent) { - Player &player = get_player(ent.owner); - auto &cls = ent.info->train_class; - std::vector<int> trains; - if (ent.info->id == 107) { // market special case - std::vector<int> candidates; - for (EntityInfo &info : inv->infos) { - if (info.id == 0) continue; // villager only in train_id - if (info.level > player.level) continue; - if (info.level < player.level && info.upgrade != -1) continue; - if (std::find(cls.begin(), cls.end(), info.ent_class) != cls.end()) - { - candidates.push_back(info.id); - } - } - std::shuffle(candidates.begin(), candidates.end(), inv->engine); - // pick 3 cands at random - for (int i=0; i<3; i++) trains.push_back(candidates[i]); - return trains; - } - - for (int id : ent.info->train_id) { - auto info = inv->get_info(id); - if (info->level > player.level) continue; - if (info->level < player.level && info->upgrade != -1) continue; - trains.push_back(id); - } - /* - // get all train class ids, highest upgrade level - for (EntityInfo &info : infos) { - if (info.id == 0) continue; // villager only in train_id - if (info.level > player.level) continue; - if (info.level < player.level && info.upgrade != -1) continue; - if (std::find(cls.begin(), cls.end(), info.ent_class) != cls.end()) { - if (std::find(trains.begin(), trains.end(), info.id) - != trains.end()) - { - trains.push_back(info.id); - } - } - }*/ - return trains; -} - -std::vector<int> Gst::get_possible_builds (Entity &ent) { - std::vector<int> builds; - for (int id : ent.info->build) { - if (check_req_build(ent, inv->get_info(id))) { - builds.push_back(id); - } - } - return builds; -} - - -bool Gst::check_req_build(Entity &ent, EntityInfo *info) { - auto &ground = inv->ground; - Player &player = players[ent.owner]; - if (player.level < info->level) return false; - for (int id : info->adjacent) { - bool adj = false; - for (Entity &e : entities) { - if (e.info->id == id && ent.owner == e.owner) { - int dist = abs(e.x-ent.x) + abs(e.y-ent.y); - if (dist == 1) { - adj = true; - } - } - } - if (!adj) return false; - } - for (int id : info->diagonal) { - bool diag = false; - for (Entity &e : entities) { - if (e.info->id == id && ent.owner == e.owner) { - int dx = abs(e.x-ent.x), dy = abs(e.y-ent.y); - int dist = dx + dy; - if (dx == 1 && dy == 1) { - diag = true; - } - } - } - if (!diag) return false; - } - if (info->id == 100) { - for (Resource &r : ground.resources) { - if (r.pos == ground.at(ent.x, ent.y)) { - return false; - } - } - int mindist = 9999; - for (Entity &e : entities) { - if (e.info->id == 100 && ent.owner == e.owner) { - int dist = abs(e.x-ent.x) + abs(ent.y-e.y); - if (dist < mindist) { - mindist = dist; - } - } - } - if (mindist < 5) { - return false; - } - return true; - } - if (info->id == 101) { - for (Resource &r : ground.resources) { - if (r.kind == Resource::Type::food - && r.pos == ground.at(ent.x, ent.y)) { - return true; - } - } - return false; - } - if (info->id == 102) { - for (Resource &r : ground.resources) { - if (r.kind == Resource::Type::gold - && r.pos == ground.at(ent.x, ent.y)) { - return true; - } - } - return false; - } - return true; -} - - -bool Gst::check_req_tech (Tech *tech, Player &player) { - if (player.leveling_up == 1) return false; - if (tech->level > player.level) { - return false; - } - if (tech->cost[0] > player.res[0] - || tech->cost[1] > player.res[1] ) - { - return false; - } - if (player.has_tech(tech->id)) { - return false; - } - bool req_id = false; - for (auto &ent : entities) { - if (ent.owner == turn // WARNING: turn is not player.id - && ent.info->id == tech->req_id - && ent.building == 0) - { - req_id = true; - break; - } - } - if (!req_id) { - return false; - } - return true; -} - -bool Gst::check_req_level (Player &player) { - if (player.leveling_up == 1) return false; - - for (float v : player.res) { - if (v <= (player.level+1)*500) return false; - } - - std::map<int, int> lv_techs; - for (int id : player.techs) lv_techs[inv->get_tech(id)->level] ++; - if (player.level == 0) { - if (lv_techs[0] >= 3) return true; - } - if (player.level == 1) { - if (lv_techs[1] >= 7) return true; - } - if (player.level == 2) { - if (lv_techs[2] >= 11) return true; - } - return false; -} - -bool Gst::check_obstructed (Entity &ent) { - for (Entity &e : entities) { - if (&ent != &e && e.x == ent.x && ent.y == e.y) return true; - } - return false; -} - -void Gst::end_day () { - turn++; - if (turn >= players.size()) { - turn = 0; - day++; - } - Player &player = players[turn]; - if (player.leveling_up != -1) { - level_upgrade(player); - player.level ++; - player.leveling_up = -1; - } - for (Entity &e : entities) { - e.done = false; - e.moved = 0; - if (get_player(e.owner) == player) { - for (int i=0; i<player.res.size(); i++) { - player.res[i] += e.info->prod[i] * - (1+player.tech_lookup.id(e.info->id).prod[i]); - } - if (e.building < 0) { - e.building++; - if (e.building == 0) { - e.hp = clamp_hp(e.hp + 50); - } - } - if (e.info->unit == 1 && check_obstructed(e)) { - e.hp = clamp_hp(e.hp + 20); - } - } - } - if (player.researching != -1) { - player.techs.push_back(player.researching); - update_tech_lookup(player); - player.researching = -1; - } -} - -void Gst::level_upgrade (Player &player) { - for (Entity &e : entities) { - if (get_player(e.owner) == player) { - if (e.info->upgrade != -1 && e.info->level == player.level) { - e.info = inv->get_info(e.info->upgrade); - } - } - } -} - - -void Gst::update_tech_lookup (Player &player) { - player.tech_lookup.map_id.clear(); - for (int i : player.techs) { - Tech *tech = inv->get_tech(i); - std::vector<int> ids { }; - bool noaff = true; - if (tech->bonus.aff_id.size() > 0) { - ids = tech->bonus.aff_id; - noaff = false; - } else { - if (tech->bonus.aff_level != -1) { - for (EntityInfo info : inv->infos) { - if (info.level == tech->bonus.aff_level) { - ids.push_back(info.id); - } - } - noaff = false; - } - if (tech->bonus.aff_class.size() > 0) { - for (EntityInfo info : inv->infos) { - auto &cls = tech->bonus.aff_class; - if (std::find(cls.begin(), cls.end(), - info.ent_class) != cls.end()) - { - ids.push_back(info.id); - } - } - noaff = false; - } - } - if (noaff) { for (auto info : inv->infos) ids.push_back(info.id); } - for (int id : ids) { - player.tech_lookup.map_id[id] = - player.tech_lookup.map_id[id] + tech->bonus; - } - } +#include "gst.h"
+
+#include <map>
+#include <iostream>
+
+
+Tech* Inv::get_tech (int id) {
+ for (auto &tech : techs) {
+ if (id == tech.id) return &tech;
+ }
+}
+
+EntityInfo* Inv::get_info (std::string name) {
+ for (EntityInfo &info : infos) {
+ if (name == info.name) return &info;
+ }
+}
+
+EntityInfo* Inv::get_info (int id) {
+ for (EntityInfo &info : infos) {
+ if (id == info.id) return &info;
+ }
+}
+
+bool Inv::info_has_ability (EntityInfo* info, std::string name) {
+ for (int ab : info->abilities) {
+ if (abilities[ab].name == name) return true;
+ }
+ return false;
+}
+
+
+
+Player& Gst::get_player (int id) {
+ for (auto &player : players) {
+ if (id == player.id) return player;
+ }
+}
+
+Entity& Gst::get_at (int x, int y) {
+ for (Entity &e : entities) {
+ if (e.x ==x && e.y == y) return e;
+ }
+}
+
+std::vector<float> Gst::get_cost (EntityInfo *info, Player &player) {
+ std::vector<float> cost = info->cost;
+
+ std::cout << "cost : " << player.tech_lookup.id(info->id).cost[0] << " " << player.tech_lookup.id(info->id).cost[1] << "\n";
+ for (int i=0; i<info->cost.size(); i++) {
+ cost[i] *= 1+player.tech_lookup.id(info->id).cost[i];
+ cost[i] += player.tech_lookup.id(info->id).cost_abs[i];
+ }
+ return cost;
+}
+
+float Gst::get_trade_rate (Player &player) {
+ float rate = 250;
+ rate -= player.tech_lookup.id(0).trade * 25;
+ return rate;
+}
+
+float Gst::get_type_bonus (Entity &atk, Entity &def) {
+ float b = 0;
+ switch(atk.info->ent_class) {
+ case EntityInfo::Class::inf:
+ if (def.info->ent_class == EntityInfo::Class::bld) b += 1.0f/3.0f;
+ if (def.info->ent_class == EntityInfo::Class::sie) b += 1.0f/3.0f;
+ break;
+
+ case EntityInfo::Class::cav:
+ if (def.info->ent_class == EntityInfo::Class::bld) b += -0.5;
+ if (def.info->ent_class == EntityInfo::Class::inf) b += 1.0f/3.0f;
+ if (def.info->ent_class == EntityInfo::Class::ran) b += 1.0f/3.0f;
+ break;
+
+ case EntityInfo::Class::ran:
+ if (def.info->ent_class == EntityInfo::Class::bld) b += -0.5f;
+ break;
+
+ case EntityInfo::Class::sie:
+ if (def.info->ent_class == EntityInfo::Class::bld) b += +0.5f;
+ break;
+ }
+ return b;
+}
+
+int Gst::get_vet_level (Entity &ent) { return std::min(3, ent.fights/3); }
+
+std::vector<Bonus> Gst::get_bonuses (Entity &atk, Entity &def) {
+ auto &tiles = inv->tiles;
+ auto &ground = inv->ground;
+ std::vector<Bonus> bs;
+ if (tiles[ground.tiles[ground.at(atk.x, atk.y)]].attack_bonus != 0) {
+
+ bs.emplace_back(
+ tiles[ground.tiles[ground.at(atk.x, atk.y)]].attack_bonus,
+ Bonus::Id::ground, true);
+ }
+ if (tiles[ground.tiles[ground.at(def.x, def.y)]].defence_bonus != 0) {
+ bs.emplace_back(
+ tiles[ground.tiles[ground.at(def.x, def.y)]].defence_bonus,
+ Bonus::Id::ground, false);
+ }
+
+ if (check_obstructed(def)) {
+ for (Entity &e : entities) {
+ if (&def != &e && e.x == def.x && def.y == e.y) {
+ bs.emplace_back(e.info->defence_bonus,
+ Bonus::Id::on_bld, false);
+ }
+ }
+ }
+
+ if (get_type_bonus(atk, def) != 0) {
+ bs.emplace_back(get_type_bonus(atk, def), Bonus::Id::type, true);
+ }
+ /* only attack bonuses
+ if (get_type_bonus(def, atk) != 0) {
+ bs.emplace_back(get_type_bonus(def, atk), Bonus::Id::type, false);
+ }*/
+
+ if (inv->info_has_ability(atk.info, "Causes Fear"))
+ bs.emplace_back(-1.0f/3, Bonus::Id::ability, false);
+ if (inv->info_has_ability(def.info, "Causes Fear"))
+ bs.emplace_back(-1.0f/3, Bonus::Id::ability, true);
+
+ if (inv->info_has_ability(atk.info, "Anti-Cavalry"))
+ bs.emplace_back(4.0f/3, Bonus::Id::ability, true);
+ if (inv->info_has_ability(def.info, "Anti-Cavalry"))
+ bs.emplace_back(4.0f/3, Bonus::Id::ability, false);
+
+ if (inv->info_has_ability(atk.info, "Desert Charge")
+ && !inv->info_has_ability(def.info, "Desert Charge")
+ && tiles[ground.tiles[ground.at(def.x, def.y)]].name == "Desert")
+ bs.emplace_back(1.0f/3, Bonus::Id::ability, true);
+
+ if (inv->info_has_ability(atk.info, "Plains Charge")
+ && !inv->info_has_ability(def.info, "Plains Charge")
+ && tiles[ground.tiles[ground.at(def.x, def.y)]].name == "Plains")
+ bs.emplace_back(1.0f/3, Bonus::Id::ability, true);
+
+ if (inv->info_has_ability(atk.info, "Woodsman")
+ && !inv->info_has_ability(def.info, "Woodsman")
+ && tiles[ground.tiles[ground.at(def.x, def.y)]].name == "Forest")
+ bs.emplace_back(1.0f/3, Bonus::Id::ability, true);
+
+ if (inv->info_has_ability(atk.info, "Volley") && atk.hp >= 50)
+ bs.emplace_back(1.0f/3, Bonus::Id::ability, true);
+
+ if (inv->info_has_ability(atk.info, "Frenzy"))
+ bs.emplace_back(1/atk.hp, Bonus::Id::ability, true);
+
+ Player &player_atk = players[atk.owner];
+ Player &player_def = players[def.owner];
+ float tech_attack = player_atk.tech_lookup.id(atk.info->id).attack;
+ if (tech_attack != 0)
+ bs.emplace_back(tech_attack, Bonus::Id::tech, true);
+ float tech_defence = player_def.tech_lookup.id(def.info->id).defence;
+ if (tech_defence != 0)
+ bs.emplace_back(tech_defence, Bonus::Id::tech, false);
+
+ float atk_vet = get_vet_level(atk) * 0.15f;
+ if (atk_vet > 0)
+ bs.emplace_back(atk_vet, Bonus::Id::veteran, true);
+ float def_vet = get_vet_level(def) * 0.15f;
+ if (def_vet > 0)
+ bs.emplace_back(def_vet, Bonus::Id::veteran, false);
+
+ return bs;
+}
+
+float Gst::get_damage (Entity &atk, Entity &def, float atk_hp) {
+ float atkmul = 1;
+ float defmul = 1;
+
+ auto bonuses = get_bonuses(atk, def);
+ for (auto bonus : bonuses) {
+ if (bonus.atk) { atkmul += bonus.amt; }
+ else { defmul += bonus.amt; }
+ }
+
+ float dam = (atk.info->attack * atk_hp * atkmul)
+ / (2.0f*def.info->defence * defmul);
+
+ return dam;
+}
+
+float Gst::get_damage (Entity &atk, Entity &def) {
+ return get_damage(atk, def, atk.hp);
+}
+
+bool Gst::get_first_strike (Entity &atk, Entity &def) {
+ bool fs { false };
+ fs = inv->info_has_ability(atk.info, "First Strike");
+ return fs;
+}
+
+float clamp_hp (float hp) {
+ if (hp > 100) hp = 100;
+ if (hp < 0) hp = 0;
+ return hp;
+}
+
+BattleResult Gst::battle_res (Entity &atk, Entity &def) {
+ BattleResult result { atk.hp, def.hp };
+ bool first_strike_atk = inv->info_has_ability(atk.info, "First Strike");
+ bool first_strike_def = inv->info_has_ability(def.info, "First Strike");
+ bool skirmish_atk = inv->info_has_ability(atk.info, "Skirmish");
+ bool skirmish_def = inv->info_has_ability(def.info, "Skirmish");
+ bool anticav_atk = inv->info_has_ability(atk.info, "Anti-Cavalry");
+ bool anticav_def = inv->info_has_ability(def.info, "Anti-Cavalry");
+ first_strike_atk = first_strike_atk
+ || (skirmish_atk && def.info->range == 1);
+ first_strike_def = first_strike_def
+ || (skirmish_def && atk.info->range == 1);
+ first_strike_atk = first_strike_atk
+ || (anticav_atk && def.info->ent_class == EntityInfo::Class::cav);
+ first_strike_def = first_strike_def
+ || (anticav_def && atk.info->ent_class == EntityInfo::Class::cav);
+
+ int dist = abs(atk.x-def.x) + abs(atk.y-def.y);
+ bool def_inrange = (dist <= get_range(def)) ? true : false;
+
+ bool swap = false;
+ if (first_strike_def && !first_strike_atk) swap = true;
+ if (swap) {
+ if (def_inrange) {
+ result.atk_hp = clamp_hp(
+ result.atk_hp - get_damage(def, atk, result.def_hp));
+ }
+ if (!inv->info_has_ability(atk.info, "No Counter"))
+ if (result.atk_hp > 0)
+ result.def_hp = clamp_hp(
+ result.def_hp - get_damage(atk, def, result.atk_hp));
+ } else {
+ result.def_hp = clamp_hp(
+ result.def_hp - get_damage(atk, def, result.atk_hp));
+ if (!inv->info_has_ability(def.info, "No Counter") && def_inrange)
+ if (result.def_hp > 0)
+ result.atk_hp = clamp_hp(
+ result.atk_hp - get_damage(def, atk, result.def_hp));
+ }
+
+ if (inv->info_has_ability(atk.info, "Rapid Fire"))
+ if (result.def_hp > 0)
+ result.def_hp = clamp_hp(
+ result.def_hp - get_damage(atk, def, result.def_hp));
+
+ if (inv->info_has_ability(def.info, "Rapid Fire") && def_inrange)
+ if (result.atk_hp > 0)
+ result.atk_hp = clamp_hp(
+ result.atk_hp - get_damage(def, atk, result.def_hp));
+
+ if (result.atk_hp > 0 && inv->info_has_ability(atk.info, "Zeal"))
+ result.atk_hp = clamp_hp(result.atk_hp + 20);
+ if (result.def_hp > 0 && inv->info_has_ability(def.info, "Zeal"))
+ result.def_hp = clamp_hp(result.def_hp + 20);
+
+ return result;
+}
+
+void Gst::battle (Entity &atk, Entity &def) {
+ /*std::cout << "! attack " << atk.info->name << "(hp:" << atk.hp << "), "
+ << def.info->name << "(hp:" << def.hp << ") \n";*/
+
+ auto result = battle_res(atk, def);
+ atk.hp = result.atk_hp;
+ def.hp = result.def_hp;
+
+ if (atk.info->unit == 1) atk.fights += 1;
+ if (def.info->unit == 1) def.fights += 1;
+
+ /*std::cout << "! result " << atk.info->name << "(hp:" << atk.hp << "), "
+ << def.info->name << "(hp:" << def.hp << ") \n";*/
+ clear_dead();
+}
+
+void Gst::clear_dead() {
+ auto i = std::begin(entities);
+ while (i != std::end(entities)) {
+ if (i->hp <= 0) {
+ entities.erase(i);
+ }
+ else i++;
+ }
+}
+
+int Gst::get_range (Entity &ent) {
+ int range = ent.info->range;
+ if (range > 1) {
+ auto &tiles = inv->tiles;
+ auto &ground = inv->ground;
+ range += tiles[ground.tiles[ground.at(ent.x, ent.y)]].range_bonus;
+ }
+ if (range < 1) range = 1;
+ return range;
+}
+
+
+void Gst::heal (Entity &atk, Entity &def) {
+ Player &player = get_player(atk.owner);
+ float amt = 20;
+ if (atk.info->level == 3) { amt += 10; } // improved heal
+ if (player.has_tech(52)) { amt += 10; } // tech illumination
+ def.hp = clamp_hp(def.hp + amt);
+}
+
+void Gst::convert (Entity &atk, Entity &def) {
+ Player &player = get_player(atk.owner);
+ float amt = 0.20f;
+ if (player.has_tech(53)) { amt += 0.10f; } // tech faith
+ // caution, randomness
+ std::uniform_real_distribution<float> odds(0, 1);
+ float value = odds(inv->engine);
+ std::cout << value << " / " << amt << " odds\n";
+ if (value < amt) {
+ def.owner = atk.owner;
+ }
+}
+
+
+int Gst::get_nearest_enemy (Entity &ent, int &mindist) {
+ auto &ground = inv->ground;
+ int pos = -1; mindist = 9999999;
+ for (Entity &oth : entities) {
+ if (oth.owner == ent.owner) continue;
+ int dist = abs(oth.x-ent.x) + abs(oth.y-ent.y);
+ if (dist < mindist) {
+ mindist = dist;
+ pos = ground.at(oth.x, oth.y);
+ }
+ }
+}
+
+
+std::vector<int> Gst::get_possible_trains (Entity &ent) {
+ Player &player = get_player(ent.owner);
+ auto &cls = ent.info->train_class;
+ std::vector<int> trains;
+ if (ent.info->id == 107) { // market special case
+ std::vector<int> candidates;
+ for (EntityInfo &info : inv->infos) {
+ if (info.id == 0) continue; // villager only in train_id
+ if (info.level > player.level) continue;
+ if (info.level < player.level && info.upgrade != -1) continue;
+ if (std::find(cls.begin(), cls.end(), info.ent_class) != cls.end())
+ {
+ candidates.push_back(info.id);
+ }
+ }
+ std::shuffle(candidates.begin(), candidates.end(), inv->engine);
+ // pick 3 cands at random
+ for (int i=0; i<3; i++) trains.push_back(candidates[i]);
+ return trains;
+ }
+
+ for (int id : ent.info->train_id) {
+ auto info = inv->get_info(id);
+ if (info->level > player.level) continue;
+ if (info->level < player.level && info->upgrade != -1) continue;
+ trains.push_back(id);
+ }
+ /*
+ // get all train class ids, highest upgrade level
+ for (EntityInfo &info : infos) {
+ if (info.id == 0) continue; // villager only in train_id
+ if (info.level > player.level) continue;
+ if (info.level < player.level && info.upgrade != -1) continue;
+ if (std::find(cls.begin(), cls.end(), info.ent_class) != cls.end()) {
+ if (std::find(trains.begin(), trains.end(), info.id)
+ != trains.end())
+ {
+ trains.push_back(info.id);
+ }
+ }
+ }*/
+ return trains;
+}
+
+std::vector<int> Gst::get_possible_builds (Entity &ent) {
+ std::vector<int> builds;
+ for (int id : ent.info->build) {
+ if (check_req_build(ent, inv->get_info(id))) {
+ builds.push_back(id);
+ }
+ }
+ return builds;
+}
+
+
+bool Gst::check_req_build(Entity &ent, EntityInfo *info) {
+ auto &ground = inv->ground;
+ Player &player = players[ent.owner];
+ if (player.level < info->level) return false;
+ for (int id : info->adjacent) {
+ bool adj = false;
+ for (Entity &e : entities) {
+ if (e.info->id == id && ent.owner == e.owner) {
+ int dist = abs(e.x-ent.x) + abs(e.y-ent.y);
+ if (dist == 1) {
+ adj = true;
+ }
+ }
+ }
+ if (!adj) return false;
+ }
+ for (int id : info->diagonal) {
+ bool diag = false;
+ for (Entity &e : entities) {
+ if (e.info->id == id && ent.owner == e.owner) {
+ int dx = abs(e.x-ent.x), dy = abs(e.y-ent.y);
+ int dist = dx + dy;
+ if (dx == 1 && dy == 1) {
+ diag = true;
+ }
+ }
+ }
+ if (!diag) return false;
+ }
+ if (info->id == 100) {
+ for (Resource &r : ground.resources) {
+ if (r.pos == ground.at(ent.x, ent.y)) {
+ return false;
+ }
+ }
+ int mindist = 9999;
+ for (Entity &e : entities) {
+ if (e.info->id == 100 && ent.owner == e.owner) {
+ int dist = abs(e.x-ent.x) + abs(ent.y-e.y);
+ if (dist < mindist) {
+ mindist = dist;
+ }
+ }
+ }
+ if (mindist < 5) {
+ return false;
+ }
+ return true;
+ }
+ if (info->id == 101) {
+ for (Resource &r : ground.resources) {
+ if (r.kind == Resource::Type::food
+ && r.pos == ground.at(ent.x, ent.y)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ if (info->id == 102) {
+ for (Resource &r : ground.resources) {
+ if (r.kind == Resource::Type::gold
+ && r.pos == ground.at(ent.x, ent.y)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ return true;
+}
+
+
+bool Gst::check_req_tech (Tech *tech, Player &player) {
+ if (player.leveling_up == 1) return false;
+ if (tech->level > player.level) {
+ return false;
+ }
+ if (tech->cost[0] > player.res[0]
+ || tech->cost[1] > player.res[1] )
+ {
+ return false;
+ }
+ if (player.has_tech(tech->id)) {
+ return false;
+ }
+ bool req_id = false;
+ for (auto &ent : entities) {
+ if (ent.owner == turn // WARNING: turn is not player.id
+ && ent.info->id == tech->req_id
+ && ent.building == 0)
+ {
+ req_id = true;
+ break;
+ }
+ }
+ if (!req_id) {
+ return false;
+ }
+ return true;
+}
+
+bool Gst::check_req_level (Player &player) {
+ if (player.leveling_up == 1) return false;
+
+ for (float v : player.res) {
+ if (v <= (player.level+1)*500) return false;
+ }
+
+ std::map<int, int> lv_techs;
+ for (int id : player.techs) lv_techs[inv->get_tech(id)->level] ++;
+ if (player.level == 0) {
+ if (lv_techs[0] >= 3) return true;
+ }
+ if (player.level == 1) {
+ if (lv_techs[1] >= 7) return true;
+ }
+ if (player.level == 2) {
+ if (lv_techs[2] >= 11) return true;
+ }
+ return false;
+}
+
+bool Gst::check_obstructed (Entity &ent) {
+ for (Entity &e : entities) {
+ if (&ent != &e && e.x == ent.x && ent.y == e.y) return true;
+ }
+ return false;
+}
+
+void Gst::end_day () {
+ turn++;
+ if (turn >= players.size()) {
+ turn = 0;
+ day++;
+ }
+ Player &player = players[turn];
+ if (player.leveling_up != -1) {
+ level_upgrade(player);
+ player.level ++;
+ player.leveling_up = -1;
+ }
+ for (Entity &e : entities) {
+ e.done = false;
+ e.moved = 0;
+ if (get_player(e.owner) == player) {
+ for (int i=0; i<player.res.size(); i++) {
+ player.res[i] += e.info->prod[i] *
+ (1+player.tech_lookup.id(e.info->id).prod[i]);
+ }
+ if (e.building < 0) {
+ e.building++;
+ if (e.building == 0) {
+ e.hp = clamp_hp(e.hp + 50);
+ }
+ }
+ if (e.info->unit == 1 && check_obstructed(e)) {
+ e.hp = clamp_hp(e.hp + 20);
+ }
+ }
+ }
+ if (player.researching != -1) {
+ player.techs.push_back(player.researching);
+ update_tech_lookup(player);
+ player.researching = -1;
+ }
+}
+
+void Gst::level_upgrade (Player &player) {
+ for (Entity &e : entities) {
+ if (get_player(e.owner) == player) {
+ if (e.info->upgrade != -1 && e.info->level == player.level) {
+ e.info = inv->get_info(e.info->upgrade);
+ }
+ }
+ }
+}
+
+
+void Gst::update_tech_lookup (Player &player) {
+ player.tech_lookup.map_id.clear();
+ for (int i : player.techs) {
+ Tech *tech = inv->get_tech(i);
+ std::vector<int> ids { };
+ bool noaff = true;
+ if (tech->bonus.aff_id.size() > 0) {
+ ids = tech->bonus.aff_id;
+ noaff = false;
+ } else {
+ if (tech->bonus.aff_level != -1) {
+ for (EntityInfo info : inv->infos) {
+ if (info.level == tech->bonus.aff_level) {
+ ids.push_back(info.id);
+ }
+ }
+ noaff = false;
+ }
+ if (tech->bonus.aff_class.size() > 0) {
+ for (EntityInfo info : inv->infos) {
+ auto &cls = tech->bonus.aff_class;
+ if (std::find(cls.begin(), cls.end(),
+ info.ent_class) != cls.end())
+ {
+ ids.push_back(info.id);
+ }
+ }
+ noaff = false;
+ }
+ }
+ if (noaff) { for (auto info : inv->infos) ids.push_back(info.id); }
+ for (int id : ids) {
+ player.tech_lookup.map_id[id] =
+ player.tech_lookup.map_id[id] + tech->bonus;
+ }
+ }
}
\ No newline at end of file @@ -1,125 +1,125 @@ -#ifndef GST_H -#define GST_H - -#include <iostream> -#include <algorithm> -#include <string> -#include <vector> -#include <functional> - -#include <random> // just for picking market trains - -#include "ground.h" -#include "entity.h" -#include "tile.h" -#include "player.h" -#include "tech.h" - -class Ability { - public: - Ability(std::string name) : name(name) {} - std::string name; -}; - -class Bonus { - public: - Bonus(float amt, int id, bool atk) : amt(amt), id(id), atk(atk) {} - float amt; int id; bool atk; - enum Id { ground, type, ability, tech, veteran, on_bld, adjacency }; - std::string id_string () { - switch (id) { - case ground: return "Ground"; - case type: return "Class"; - case ability: return "Ability"; - case tech: return "Tech"; - case veteran: return "Veteran"; - case on_bld: return "On Building"; - case adjacency: return "Adjacency"; - } - } -}; - -class BattleResult { - public: - BattleResult(float atk_hp, float def_hp) - : atk_hp(atk_hp), def_hp(def_hp) {} - float atk_hp, def_hp; -}; - -class Inv { - public: - Inv () {} - - std::vector<Tech> techs; - std::vector<Ability> abilities; - std::vector<EntityInfo> infos; - std::vector<Tile> tiles; - Ground ground; - - Tech* get_tech (int id); - EntityInfo* get_info (std::string name); - EntityInfo* get_info (int id); - bool info_has_ability (EntityInfo* info, std::string name); - - std::default_random_engine engine = std::default_random_engine{}; -}; - -class Gst { - public: - Gst(Inv *inv) : inv(inv) { } - - // copy constructor - Gst (const Gst& rhs) { - inv = rhs.inv; entities = rhs.entities; players = rhs.players; - turn = rhs.turn; day = rhs.day; - } - Gst& operator=(const Gst& rhs) { - inv = rhs.inv; entities = rhs.entities; players = rhs.players; - turn = rhs.turn; day = rhs.day; - }; - - Inv *inv; - - std::vector<Entity> entities; - std::vector<Player> players; - int turn { 0 }; - int day { 0 }; - - Player& get_player (int id); - - Entity& get_at (int x, int y); - std::vector<float> get_cost (EntityInfo *info, Player &player); - float get_trade_rate (Player &player); - - int get_vet_level (Entity &ent); - float get_type_bonus (Entity &atk, Entity &def); - std::vector<Bonus> get_bonuses (Entity &atk, Entity &def); - float get_damage (Entity &atk, Entity &def); - float get_damage (Entity &atk, Entity &def, float atk_hp); - bool get_first_strike (Entity &atk, Entity &def); - BattleResult battle_res (Entity &atk, Entity &def); - void clear_dead(); - int get_range(Entity &ent); - - void battle (Entity &atk, Entity &def); - - void heal (Entity &atk, Entity &def); - void convert (Entity &atk, Entity &def); - - int get_nearest_enemy (Entity &ent, int &mindist); - - std::vector<int> get_possible_trains (Entity &ent); - std::vector<int> get_possible_builds (Entity &ent); - - bool check_req_build (Entity &ent, EntityInfo *info); - bool check_req_tech (Tech *tech, Player &player); - bool check_req_level (Player &player); - bool check_obstructed (Entity &ent); - - void end_day (); - void level_upgrade (Player &player); - - void update_tech_lookup (Player &player); -}; - +#ifndef GST_H
+#define GST_H
+
+#include <iostream>
+#include <algorithm>
+#include <string>
+#include <vector>
+#include <functional>
+
+#include <random> // just for picking market trains
+
+#include "ground.h"
+#include "entity.h"
+#include "tile.h"
+#include "player.h"
+#include "tech.h"
+
+class Ability {
+ public:
+ Ability(std::string name) : name(name) {}
+ std::string name;
+};
+
+class Bonus {
+ public:
+ Bonus(float amt, int id, bool atk) : amt(amt), id(id), atk(atk) {}
+ float amt; int id; bool atk;
+ enum Id { ground, type, ability, tech, veteran, on_bld, adjacency };
+ std::string id_string () {
+ switch (id) {
+ case ground: return "Ground";
+ case type: return "Class";
+ case ability: return "Ability";
+ case tech: return "Tech";
+ case veteran: return "Veteran";
+ case on_bld: return "On Building";
+ case adjacency: return "Adjacency";
+ }
+ }
+};
+
+class BattleResult {
+ public:
+ BattleResult(float atk_hp, float def_hp)
+ : atk_hp(atk_hp), def_hp(def_hp) {}
+ float atk_hp, def_hp;
+};
+
+class Inv {
+ public:
+ Inv () {}
+
+ std::vector<Tech> techs;
+ std::vector<Ability> abilities;
+ std::vector<EntityInfo> infos;
+ std::vector<Tile> tiles;
+ Ground ground;
+
+ Tech* get_tech (int id);
+ EntityInfo* get_info (std::string name);
+ EntityInfo* get_info (int id);
+ bool info_has_ability (EntityInfo* info, std::string name);
+
+ std::default_random_engine engine = std::default_random_engine{};
+};
+
+class Gst {
+ public:
+ Gst(Inv *inv) : inv(inv) { }
+
+ // copy constructor
+ Gst (const Gst& rhs) {
+ inv = rhs.inv; entities = rhs.entities; players = rhs.players;
+ turn = rhs.turn; day = rhs.day;
+ }
+ Gst& operator=(const Gst& rhs) {
+ inv = rhs.inv; entities = rhs.entities; players = rhs.players;
+ turn = rhs.turn; day = rhs.day;
+ };
+
+ Inv *inv;
+
+ std::vector<Entity> entities;
+ std::vector<Player> players;
+ int turn { 0 };
+ int day { 0 };
+
+ Player& get_player (int id);
+
+ Entity& get_at (int x, int y);
+ std::vector<float> get_cost (EntityInfo *info, Player &player);
+ float get_trade_rate (Player &player);
+
+ int get_vet_level (Entity &ent);
+ float get_type_bonus (Entity &atk, Entity &def);
+ std::vector<Bonus> get_bonuses (Entity &atk, Entity &def);
+ float get_damage (Entity &atk, Entity &def);
+ float get_damage (Entity &atk, Entity &def, float atk_hp);
+ bool get_first_strike (Entity &atk, Entity &def);
+ BattleResult battle_res (Entity &atk, Entity &def);
+ void clear_dead();
+ int get_range(Entity &ent);
+
+ void battle (Entity &atk, Entity &def);
+
+ void heal (Entity &atk, Entity &def);
+ void convert (Entity &atk, Entity &def);
+
+ int get_nearest_enemy (Entity &ent, int &mindist);
+
+ std::vector<int> get_possible_trains (Entity &ent);
+ std::vector<int> get_possible_builds (Entity &ent);
+
+ bool check_req_build (Entity &ent, EntityInfo *info);
+ bool check_req_tech (Tech *tech, Player &player);
+ bool check_req_level (Player &player);
+ bool check_obstructed (Entity &ent);
+
+ void end_day ();
+ void level_upgrade (Player &player);
+
+ void update_tech_lookup (Player &player);
+};
+
#endif
\ No newline at end of file diff --git a/game/load.cpp b/game/load.cpp index ea4e9e7..f9b0135 100644 --- a/game/load.cpp +++ b/game/load.cpp @@ -1,150 +1,150 @@ -#include <iostream> -#include <fstream> -#include <vector> - -#include "load.h" - -#include "nlohmann/json.hpp" -using json = nlohmann::json; - -std::vector<Ability> load_abilities () { - std::vector<Ability> abs; - abs.emplace_back("Anti-Cavalry"); - abs.emplace_back("Skirmish"); - abs.emplace_back("First Strike"); - abs.emplace_back("Rapid Fire"); - abs.emplace_back("Units Only"); - abs.emplace_back("Buildings Only"); - abs.emplace_back("No Counter"); - abs.emplace_back("No Move & Attack"); - abs.emplace_back("Causes Fear"); - abs.emplace_back("Desert Charge"); - abs.emplace_back("Plains Charge"); - abs.emplace_back("Scares Horses"); - abs.emplace_back("Woodsman"); - abs.emplace_back("Volley"); - abs.emplace_back("Frenzy"); - abs.emplace_back("Zeal"); - abs.emplace_back("Scout"); - abs.emplace_back("Convert"); - abs.emplace_back("Heal"); - abs.emplace_back("Seasoned Veteran"); - return abs; -} - -void load_json (Inv &inv) { - inv.abilities = load_abilities(); - - std::ifstream file_tiles("content/tiles.json"); - json j_tiles; file_tiles >> j_tiles; - for (auto it : j_tiles) { - Tile tile; - tile.name = it["name"]; - tile.move_cost = it["move_cost"]; - tile.defence_bonus = it["defence_bonus"]; - tile.range_bonus = it["range_bonus"]; - tile.spritebounds = vec2 { it["spritebounds"][0], it["spritebounds"][1] }; - inv.tiles.push_back(tile); - } - - std::ifstream file_ents("content/entities.json"); - json j_ents; file_ents >> j_ents; - for (auto it : j_ents) { - EntityInfo ent; - ent.id = it["id"]; - ent.name = it["name"]; - ent.level = it["level"]; - ent.range = it["range"]; - ent.move = it["move"]; - ent.attack = it["attack"]; - ent.defence = it["defence"]; - ent.sight = it["sight"]; - ent.unit = it["unit"]; - for (int i=0; i<it["prod"].size(); i++) { - ent.prod[i] = it["prod"][i]; - } - for (int i=0; i<it["cost"].size(); i++) { - ent.cost[i] = it["cost"][i]; - } - for (auto blds : it["build"]) { - ent.build.push_back(blds); - } - for (auto train : it["train_id"]) { - ent.train_id.push_back(train); - } - for (auto train : it["train_class"]) { - ent.train_class.push_back((EntityInfo::Class) - EntityClass::from_string(train.get<std::string>())); - } - for (auto ad : it["adjacent"]) { - ent.adjacent.push_back(ad); - } - for (auto ad : it["diagonal"]) { - ent.diagonal.push_back(ad); - } - ent.ent_class = (EntityInfo::Class) EntityClass::from_string( - it["class"].get<std::string>()); - for (auto ab : it["abilities"]) { - int index = 0; - for (int i=0; i<inv.abilities.size(); i++) { - if (inv.abilities[i].name == ab) { index = i; break; } - } - ent.abilities.push_back(index); - } - ent.spritebounds = vec2 { it["spritebounds"][0], it["spritebounds"][1] }; - if (it.contains("upgrade")) { ent.upgrade = it["upgrade"]; } - if (it.contains("defence_bonus")) { - ent.defence_bonus = it["defence_bonus"]; - } - inv.infos.push_back(ent); - } - - std::ifstream file_techs("content/techs.json"); - json j_techs; file_techs >> j_techs; - for (auto it : j_techs) { - Tech tech; - tech.name = it["name"]; - tech.id = it["id"]; - tech.level = it["level"]; - tech.req_id = it["req_id"]; - for (int i=0; i<it["cost"].size(); i++) { - tech.cost[i] = it["cost"][i]; - } - auto b = it["bonus"]; - if (b != nullptr) { - if (b.contains("attack")) { tech.bonus.attack = b["attack"]; } - if (b.contains("defence")) { tech.bonus.defence = b["defence"]; } - if (b.contains("sight")) { tech.bonus.sight = b["sight"]; } - if (b.contains("move")) { tech.bonus.move = b["move"]; } - if (b.contains("trade")) { tech.bonus.trade = b["trade"]; } - if (b.contains("req_range")) { - tech.bonus.req_range = b["req_range"]; - } - if (b.contains("improved_heal")) { - tech.bonus.improved_heal = b["improved_heal"]; - } - if (b.contains("improved_convert")) { - tech.bonus.improved_convert = b["improved_convert"]; - } - if (b.contains("cost")) tech.bonus.cost.clear(); - for (auto v : b["cost"]) { tech.bonus.cost.push_back(v); } - if (b.contains("cost_abs")) tech.bonus.cost_abs.clear(); - for (auto v : b["cost_abs"]) { tech.bonus.cost_abs.push_back(v); } - if (b.contains("prod")) tech.bonus.prod.clear(); - for (auto v : b["prod"]) { tech.bonus.prod.push_back(v); } - - for (auto v : b["aff_id"]) { tech.bonus.aff_id.push_back(v); } - for (auto v : b["aff_class"]) { - tech.bonus.aff_class.push_back(EntityClass::from_string( - v.get<std::string>())); - } - if (b.contains("aff_level")) { - tech.bonus.aff_level = b["aff_level"]; - } - if (b.contains("aff_all")) { - tech.bonus.aff_all = b["aff_all"]; - } - } - inv.techs.push_back(tech); - } +#include <iostream>
+#include <fstream>
+#include <vector>
+
+#include "load.h"
+
+#include "nlohmann/json.hpp"
+using json = nlohmann::json;
+
+std::vector<Ability> load_abilities () {
+ std::vector<Ability> abs;
+ abs.emplace_back("Anti-Cavalry");
+ abs.emplace_back("Skirmish");
+ abs.emplace_back("First Strike");
+ abs.emplace_back("Rapid Fire");
+ abs.emplace_back("Units Only");
+ abs.emplace_back("Buildings Only");
+ abs.emplace_back("No Counter");
+ abs.emplace_back("No Move & Attack");
+ abs.emplace_back("Causes Fear");
+ abs.emplace_back("Desert Charge");
+ abs.emplace_back("Plains Charge");
+ abs.emplace_back("Scares Horses");
+ abs.emplace_back("Woodsman");
+ abs.emplace_back("Volley");
+ abs.emplace_back("Frenzy");
+ abs.emplace_back("Zeal");
+ abs.emplace_back("Scout");
+ abs.emplace_back("Convert");
+ abs.emplace_back("Heal");
+ abs.emplace_back("Seasoned Veteran");
+ return abs;
+}
+
+void load_json (Inv &inv) {
+ inv.abilities = load_abilities();
+
+ std::ifstream file_tiles("content/tiles.json");
+ json j_tiles; file_tiles >> j_tiles;
+ for (auto it : j_tiles) {
+ Tile tile;
+ tile.name = it["name"];
+ tile.move_cost = it["move_cost"];
+ tile.defence_bonus = it["defence_bonus"];
+ tile.range_bonus = it["range_bonus"];
+ tile.spritebounds = vec2 { it["spritebounds"][0], it["spritebounds"][1] };
+ inv.tiles.push_back(tile);
+ }
+
+ std::ifstream file_ents("content/entities.json");
+ json j_ents; file_ents >> j_ents;
+ for (auto it : j_ents) {
+ EntityInfo ent;
+ ent.id = it["id"];
+ ent.name = it["name"];
+ ent.level = it["level"];
+ ent.range = it["range"];
+ ent.move = it["move"];
+ ent.attack = it["attack"];
+ ent.defence = it["defence"];
+ ent.sight = it["sight"];
+ ent.unit = it["unit"];
+ for (int i=0; i<it["prod"].size(); i++) {
+ ent.prod[i] = it["prod"][i];
+ }
+ for (int i=0; i<it["cost"].size(); i++) {
+ ent.cost[i] = it["cost"][i];
+ }
+ for (auto blds : it["build"]) {
+ ent.build.push_back(blds);
+ }
+ for (auto train : it["train_id"]) {
+ ent.train_id.push_back(train);
+ }
+ for (auto train : it["train_class"]) {
+ ent.train_class.push_back((EntityInfo::Class)
+ EntityClass::from_string(train.get<std::string>()));
+ }
+ for (auto ad : it["adjacent"]) {
+ ent.adjacent.push_back(ad);
+ }
+ for (auto ad : it["diagonal"]) {
+ ent.diagonal.push_back(ad);
+ }
+ ent.ent_class = (EntityInfo::Class) EntityClass::from_string(
+ it["class"].get<std::string>());
+ for (auto ab : it["abilities"]) {
+ int index = 0;
+ for (int i=0; i<inv.abilities.size(); i++) {
+ if (inv.abilities[i].name == ab) { index = i; break; }
+ }
+ ent.abilities.push_back(index);
+ }
+ ent.spritebounds = vec2 { it["spritebounds"][0], it["spritebounds"][1] };
+ if (it.contains("upgrade")) { ent.upgrade = it["upgrade"]; }
+ if (it.contains("defence_bonus")) {
+ ent.defence_bonus = it["defence_bonus"];
+ }
+ inv.infos.push_back(ent);
+ }
+
+ std::ifstream file_techs("content/techs.json");
+ json j_techs; file_techs >> j_techs;
+ for (auto it : j_techs) {
+ Tech tech;
+ tech.name = it["name"];
+ tech.id = it["id"];
+ tech.level = it["level"];
+ tech.req_id = it["req_id"];
+ for (int i=0; i<it["cost"].size(); i++) {
+ tech.cost[i] = it["cost"][i];
+ }
+ auto b = it["bonus"];
+ if (b != nullptr) {
+ if (b.contains("attack")) { tech.bonus.attack = b["attack"]; }
+ if (b.contains("defence")) { tech.bonus.defence = b["defence"]; }
+ if (b.contains("sight")) { tech.bonus.sight = b["sight"]; }
+ if (b.contains("move")) { tech.bonus.move = b["move"]; }
+ if (b.contains("trade")) { tech.bonus.trade = b["trade"]; }
+ if (b.contains("req_range")) {
+ tech.bonus.req_range = b["req_range"];
+ }
+ if (b.contains("improved_heal")) {
+ tech.bonus.improved_heal = b["improved_heal"];
+ }
+ if (b.contains("improved_convert")) {
+ tech.bonus.improved_convert = b["improved_convert"];
+ }
+ if (b.contains("cost")) tech.bonus.cost.clear();
+ for (auto v : b["cost"]) { tech.bonus.cost.push_back(v); }
+ if (b.contains("cost_abs")) tech.bonus.cost_abs.clear();
+ for (auto v : b["cost_abs"]) { tech.bonus.cost_abs.push_back(v); }
+ if (b.contains("prod")) tech.bonus.prod.clear();
+ for (auto v : b["prod"]) { tech.bonus.prod.push_back(v); }
+
+ for (auto v : b["aff_id"]) { tech.bonus.aff_id.push_back(v); }
+ for (auto v : b["aff_class"]) {
+ tech.bonus.aff_class.push_back(EntityClass::from_string(
+ v.get<std::string>()));
+ }
+ if (b.contains("aff_level")) {
+ tech.bonus.aff_level = b["aff_level"];
+ }
+ if (b.contains("aff_all")) {
+ tech.bonus.aff_all = b["aff_all"];
+ }
+ }
+ inv.techs.push_back(tech);
+ }
}
\ No newline at end of file diff --git a/game/load.h b/game/load.h index d9da659..7dce21e 100644 --- a/game/load.h +++ b/game/load.h @@ -1,8 +1,8 @@ -#ifndef LOAD_H -#define LOAD_H - -#include "gst.h" - -void load_json (Inv &inv); - +#ifndef LOAD_H
+#define LOAD_H
+
+#include "gst.h"
+
+void load_json (Inv &inv);
+
#endif
\ No newline at end of file diff --git a/game/menu.cpp b/game/menu.cpp index b5a91b9..6349f29 100644 --- a/game/menu.cpp +++ b/game/menu.cpp @@ -1,77 +1,77 @@ -#include <iostream> - -#include "menu.h" - -void Menu::close () { - active = false; -} - -void Menu::open (vec2 res) { - over = -1; - active = true; - pos = vec2 { (float)res.x, (float)res.y }; - float height = options.size() * 20; - size = vec2 { 150, height+10 }; - pos *= 0.5f; - pos -= size/2; -} - -int Menu::mouse_option (vec2 mouse) { - int i=0; - for (Option opt : options) { - vec2 off { 0, 5.0f + i*20 }; - vec2 sizeopt { 150, 20 }; - off += pos; - if (off.x < mouse.x && mouse.x < off.x+sizeopt.x - && off.y < mouse.y && mouse.y < off.y+sizeopt.y ) { - return opt.id; - } - i++; - } - return -1; -} - - -void Menu_tech::open (vec2 res) { - over = -1; - active = true; - pos = vec2 { (float)res.x, (float)res.y }; - - tech_opt_ordered.clear(); - tech_opt_ordered.emplace_back(); - tech_opt_ordered.emplace_back(); - tech_opt_ordered.emplace_back(); - tech_opt_ordered.emplace_back(); - - for (OptionTech opt : tech_options) { - tech_opt_ordered[opt.tech->level].emplace_back(opt); - } - int maxsize = 0; - for (auto v : tech_opt_ordered) { - maxsize = maxsize < v.size() ? v.size() : maxsize; - } - - float width = 150 * tech_opt_ordered.size(); - float height = maxsize * 10; - size = vec2 { width, height+20 }; - pos *= 0.5f; - pos -= size/2; -} - -int Menu_tech::mouse_option (vec2 mouse) { - float x = 0, y = 0; - for (auto v : tech_opt_ordered) { - for (auto opt : v) { - vec2 off { x*150, 10.0f + y*10 }; - vec2 sizeopt { 150, 10 }; - off += pos; - if (off.x < mouse.x && mouse.x < off.x+sizeopt.x - && off.y < mouse.y && mouse.y < off.y+sizeopt.y ) { - return opt.tech->id; - } - y++; - } - x++; y=0; - } - return -1; +#include <iostream>
+
+#include "menu.h"
+
+void Menu::close () {
+ active = false;
+}
+
+void Menu::open (vec2 res) {
+ over = -1;
+ active = true;
+ pos = vec2 { (float)res.x, (float)res.y };
+ float height = options.size() * 20;
+ size = vec2 { 150, height+10 };
+ pos *= 0.5f;
+ pos -= size/2;
+}
+
+int Menu::mouse_option (vec2 mouse) {
+ int i=0;
+ for (Option opt : options) {
+ vec2 off { 0, 5.0f + i*20 };
+ vec2 sizeopt { 150, 20 };
+ off += pos;
+ if (off.x < mouse.x && mouse.x < off.x+sizeopt.x
+ && off.y < mouse.y && mouse.y < off.y+sizeopt.y ) {
+ return opt.id;
+ }
+ i++;
+ }
+ return -1;
+}
+
+
+void Menu_tech::open (vec2 res) {
+ over = -1;
+ active = true;
+ pos = vec2 { (float)res.x, (float)res.y };
+
+ tech_opt_ordered.clear();
+ tech_opt_ordered.emplace_back();
+ tech_opt_ordered.emplace_back();
+ tech_opt_ordered.emplace_back();
+ tech_opt_ordered.emplace_back();
+
+ for (OptionTech opt : tech_options) {
+ tech_opt_ordered[opt.tech->level].emplace_back(opt);
+ }
+ int maxsize = 0;
+ for (auto v : tech_opt_ordered) {
+ maxsize = maxsize < v.size() ? v.size() : maxsize;
+ }
+
+ float width = 150 * tech_opt_ordered.size();
+ float height = maxsize * 10;
+ size = vec2 { width, height+20 };
+ pos *= 0.5f;
+ pos -= size/2;
+}
+
+int Menu_tech::mouse_option (vec2 mouse) {
+ float x = 0, y = 0;
+ for (auto v : tech_opt_ordered) {
+ for (auto opt : v) {
+ vec2 off { x*150, 10.0f + y*10 };
+ vec2 sizeopt { 150, 10 };
+ off += pos;
+ if (off.x < mouse.x && mouse.x < off.x+sizeopt.x
+ && off.y < mouse.y && mouse.y < off.y+sizeopt.y ) {
+ return opt.tech->id;
+ }
+ y++;
+ }
+ x++; y=0;
+ }
+ return -1;
}
\ No newline at end of file diff --git a/game/menu.h b/game/menu.h index 41348a7..471bfd7 100644 --- a/game/menu.h +++ b/game/menu.h @@ -1,90 +1,90 @@ -#ifndef MENU_H -#define MENU_H - -#include <vector> -#include <string> - -#include "../umath/vec2.h" -#include "tech.h" - -class Option { - public: - Option(std::string name, int id) : name(name), id(id) {} - - std::string name; - int id; - - std::vector<float> cost; -}; - - -class Menu { - public: - bool active { false }; - std::vector<Option> options; - vec2 pos, size; - int over; - - void close (); - virtual void open (vec2 res); - virtual int mouse_option (vec2 mouse); -}; - -class Menu_unit : public Menu { - public: - Menu_unit () {} - - enum Opts { - move, attack, done, build, train, trade, age_up, heal, convert - }; -}; - -class Menu_day : public Menu { - public: - Menu_day () {} - - enum Opts { - end_day, tech, empire_review, scoring - }; -}; - -class Menu_build : public Menu { - public: - Menu_build () {} -}; -class Menu_train : public Menu { - public: - Menu_train () {} -}; -class Menu_trade : public Menu { - public: - Menu_trade () {} - - enum Opts { - food, gold - }; -}; -class Menu_age_up : public Menu { - public: - Menu_age_up () {} -}; - -class OptionTech { - public: - OptionTech(std::string name, Tech *tech) : name(name), tech(tech) {} - - std::string name; - Tech *tech; -}; - -class Menu_tech : public Menu { - public: - Menu_tech () {} - std::vector<OptionTech> tech_options; - std::vector<std::vector<OptionTech>> tech_opt_ordered; - - void open (vec2 res) override; - int mouse_option (vec2 mouse) override; -}; - +#ifndef MENU_H
+#define MENU_H
+
+#include <vector>
+#include <string>
+
+#include "../umath/vec2.h"
+#include "tech.h"
+
+class Option {
+ public:
+ Option(std::string name, int id) : name(name), id(id) {}
+
+ std::string name;
+ int id;
+
+ std::vector<float> cost;
+};
+
+
+class Menu {
+ public:
+ bool active { false };
+ std::vector<Option> options;
+ vec2 pos, size;
+ int over;
+
+ void close ();
+ virtual void open (vec2 res);
+ virtual int mouse_option (vec2 mouse);
+};
+
+class Menu_unit : public Menu {
+ public:
+ Menu_unit () {}
+
+ enum Opts {
+ move, attack, done, build, train, trade, age_up, heal, convert
+ };
+};
+
+class Menu_day : public Menu {
+ public:
+ Menu_day () {}
+
+ enum Opts {
+ end_day, tech, empire_review, scoring
+ };
+};
+
+class Menu_build : public Menu {
+ public:
+ Menu_build () {}
+};
+class Menu_train : public Menu {
+ public:
+ Menu_train () {}
+};
+class Menu_trade : public Menu {
+ public:
+ Menu_trade () {}
+
+ enum Opts {
+ food, gold
+ };
+};
+class Menu_age_up : public Menu {
+ public:
+ Menu_age_up () {}
+};
+
+class OptionTech {
+ public:
+ OptionTech(std::string name, Tech *tech) : name(name), tech(tech) {}
+
+ std::string name;
+ Tech *tech;
+};
+
+class Menu_tech : public Menu {
+ public:
+ Menu_tech () {}
+ std::vector<OptionTech> tech_options;
+ std::vector<std::vector<OptionTech>> tech_opt_ordered;
+
+ void open (vec2 res) override;
+ int mouse_option (vec2 mouse) override;
+};
+
#endif
\ No newline at end of file diff --git a/game/player.h b/game/player.h index cf4146f..c29ea7e 100644 --- a/game/player.h +++ b/game/player.h @@ -1,46 +1,46 @@ -#ifndef PLAYER_H -#define PLAYER_H - -#include <vector> - -#include "tech.h" - - -class Player { - public: - Player (int r, int g, int b, int id) : r(r), g(g), b(b), id(id) { } - - void pay (std::vector<float> cost) { - for (int i=0; i<res.size(); i++) { - res[i] -= cost[i]; - } - } - void gain (std::vector<float> gain) { - for (int i=0; i<res.size(); i++) { - res[i] += gain[i]; - } - } - - bool has_tech (int id) { - if (std::find(techs.begin(), techs.end(), id) != techs.end()) - return true; - return false; - } - - bool operator== (Player &oth) { return id == oth.id; } - - int id; - - std::vector<float> res { 0, 0 }; - std::vector<int> techs; - - TechLookup tech_lookup; - - int researching { -1 }; - int leveling_up { -1 }; - int level { 0 }; - - int r, g, b; -}; - +#ifndef PLAYER_H
+#define PLAYER_H
+
+#include <vector>
+
+#include "tech.h"
+
+
+class Player {
+ public:
+ Player (int r, int g, int b, int id) : r(r), g(g), b(b), id(id) { }
+
+ void pay (std::vector<float> cost) {
+ for (int i=0; i<res.size(); i++) {
+ res[i] -= cost[i];
+ }
+ }
+ void gain (std::vector<float> gain) {
+ for (int i=0; i<res.size(); i++) {
+ res[i] += gain[i];
+ }
+ }
+
+ bool has_tech (int id) {
+ if (std::find(techs.begin(), techs.end(), id) != techs.end())
+ return true;
+ return false;
+ }
+
+ bool operator== (Player &oth) { return id == oth.id; }
+
+ int id;
+
+ std::vector<float> res { 0, 0 };
+ std::vector<int> techs;
+
+ TechLookup tech_lookup;
+
+ int researching { -1 };
+ int leveling_up { -1 };
+ int level { 0 };
+
+ int r, g, b;
+};
+
#endif
\ No newline at end of file diff --git a/game/playercontrol.cpp b/game/playercontrol.cpp index 3fe178a..dad5b2a 100644 --- a/game/playercontrol.cpp +++ b/game/playercontrol.cpp @@ -1,449 +1,449 @@ -#include <iostream> -#include <string> - -#include "playercontrol.h" -#include "entity.h" - -void open_unit_menu (Gst &gst, View &view, Fsm &fsm, int p) { - Entity &ent = gst.entities[view.selected_entity]; - Player &player = gst.players[ent.owner]; - view.menu_unit.options.clear(); - if (ent.info->unit == 1) { - if (gst.inv->ground.move_area(gst, ent).size() > 0 - && ent.moved == 0) - { - view.menu_unit.options.emplace_back("Move", - Menu_unit::Opts::move); - } - if (gst.inv->ground.attack_targets(gst, ent).size() > 0 - && (!gst.inv->info_has_ability(ent.info, "No Move & Attack") - || ent.moved == 0)) { - view.menu_unit.options.emplace_back("Attack", - Menu_unit::Opts::attack); - } - if (ent.info->build.size() > 0 - && !gst.check_obstructed(ent) - && gst.get_possible_builds(ent).size() > 0) - { - view.menu_unit.options.emplace_back("Build", - Menu_unit::Opts::build); - } - if (gst.inv->ground.heal_targets(gst, ent).size() > 0 - && (gst.inv->info_has_ability(ent.info, "Heal"))) - { - view.menu_unit.options.emplace_back("Heal", - Menu_unit::Opts::heal); - } - if (gst.inv->ground.convert_targets(gst, ent).size() > 0 - && (gst.inv->info_has_ability(ent.info, "Convert"))) - { - view.menu_unit.options.emplace_back("Convert", - Menu_unit::Opts::convert); - } - view.menu_unit.options.emplace_back("Done", - Menu_unit::Opts::done); - } else { - if (gst.get_possible_trains(ent).size() - && !gst.check_obstructed(ent)) - { - view.menu_unit.options.emplace_back("Train", - Menu_unit::Opts::train); - } - if (ent.info->id == 100 - || ent.info->id == 101) { - int rate = (int)gst.get_trade_rate(player); - if (player.res[0] >= rate || player.res[1] >= rate) { - view.menu_unit.options.emplace_back("Trade", - Menu_unit::Opts::trade); - } - } - if (ent.info->id == 100) { - view.menu_unit.options.emplace_back("Age Up", - Menu_unit::Opts::age_up); - } - } - view.menu_unit.open(view.res); -} - -Player_control::Player_control () { - fsm.arcs.emplace_back( - select, sel_ground, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.selected_ground = p; - std::cout << "selected ground " << p << "\n"; - view.menu_day.options.clear(); - view.menu_day.options.emplace_back("End Day", - Menu_day::Opts::end_day); - view.menu_day.options.emplace_back("Research", - Menu_day::Opts::tech); - view.menu_day.options.emplace_back("Empire Review", - Menu_day::Opts::empire_review); - view.menu_day.options.emplace_back("Scoring", - Menu_day::Opts::scoring); - view.menu_day.open(view.res); - return menu_day; - } - ); - fsm.arcs.emplace_back( - menu_day, opt, Menu_day::Opts::end_day, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_day.close(); - view.selected_ground = -1; - gst.end_day(); - std::cout << "end day " << p << "\n"; - return select; - } - ); - fsm.arcs.emplace_back( - menu_day, back, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_day.close(); - view.selected_ground = -1; - return select; - } - ); - fsm.arcs.emplace_back( - menu_day, opt, Menu_day::Opts::tech, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_day.close(); - view.menu_tech.tech_options.clear(); - for (Tech &tech : gst.inv->techs) { - view.menu_tech.tech_options.emplace_back(tech.name, &tech); - } - view.menu_tech.open(view.res); - std::cout << "tech screen " << "\n"; - return menu_tech; - } - ); - fsm.arcs.emplace_back( - menu_tech, opt, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - if (p == -1) - return menu_tech; - Player &player = gst.players[gst.turn]; - Tech *tech = gst.inv->get_tech(p); - if (!gst.check_req_tech(tech, player)) { - return menu_tech; - } - if (player.researching != -1) { - player.gain(tech->cost); - } - player.researching = p; - player.pay(tech->cost); - view.menu_tech.close(); - view.selected_ground = -1; - std::cout << "selected tech " << p << "\n"; - return select; - } - ); - fsm.arcs.emplace_back( - menu_tech, back, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_tech.close(); - view.selected_ground = -1; - return select; - } - ); - fsm.arcs.emplace_back( - select, sel_unit, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.selected_entity = p; - open_unit_menu(gst, view, fsm, p); - std::cout << "selected unit " << p << "\n"; - return menu_unit; - } - ); - fsm.arcs.emplace_back( - menu_unit, back, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.selected_entity = -1; - view.menu_unit.close(); - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::train, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_unit.close(); - std::cout << "train " << p << "\n"; - Entity &ent = gst.entities[view.selected_entity]; - Player &player = gst.players[ent.owner]; - view.menu_train.options.clear(); - auto trains = gst.get_possible_trains(ent); - for (int id : trains) { - EntityInfo *info = gst.inv->get_info(id); - Option opt { info->name, id }; - opt.cost = gst.get_cost(info, player); - if (ent.info->id == 107) { // market - // tech.id = 31 -> merc network - opt.cost[1] += 50 - (int)player.has_tech(31)*25; - } - view.menu_train.options.push_back(opt); - } - view.menu_train.open(view.res); - return menu_train; - } - ); - fsm.arcs.emplace_back( - menu_train, opt, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - std::vector<float> cost { -1, -1 }; - for (auto o : view.menu_train.options) { - if (o.id == p) {cost = o.cost; break; } - } - view.menu_train.close(); - Entity &ent = gst.entities[view.selected_entity]; - ent.done = true; - Entity entb { ent.x, ent.y, gst.inv->get_info(p), ent.owner }; - entb.building = -1; - entb.done = true; - entb.hp = 50; - gst.entities.push_back(entb); - Player &player = gst.players[gst.turn]; - player.pay(cost); - view.selected_entity = -1; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::build, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_unit.close(); - std::cout << "build " << p << "\n"; - Entity &ent = gst.entities[view.selected_entity]; - Player &player = gst.players[ent.owner]; - view.menu_build.options.clear(); - for (int id : ent.info->build) { - EntityInfo *info = gst.inv->get_info(id); - if(!gst.check_req_build(ent, info)) continue; - Option opt { info->name, id }; - opt.cost = gst.get_cost(info, player); - view.menu_build.options.push_back(opt); - } - view.menu_build.open(view.res); - return menu_build; - } - ); - fsm.arcs.emplace_back( - menu_build, opt, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_build.close(); - std::cout << "building " << p << "\n"; - Entity &ent = gst.entities[view.selected_entity]; - ent.done = true; - Entity entb { ent.x, ent.y, gst.inv->get_info(p), ent.owner }; - entb.building = -1; - entb.done = true; - entb.hp = 50; - gst.entities.push_back(entb); - Player &player = gst.players[gst.turn]; - player.pay(gst.get_cost(entb.info, player)); - view.selected_entity = -1; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::move, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_unit.close(); - std::cout << "move " << p << "\n"; - Entity &ent = gst.entities[view.selected_entity]; - view.moves = gst.inv->ground.move_area(gst, ent); - return move; - } - ); - fsm.arcs.emplace_back( - move, sel_ground, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - std::cout << "moved to " << p << "\n"; - Entity &ent = gst.entities[view.selected_entity]; - view.moves.clear(); - ent.x = p % gst.inv->ground.sizex; - ent.y = p / gst.inv->ground.sizex; - ent.moved = 1; - open_unit_menu(gst, view, fsm, p); - return menu_unit; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::attack, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_unit.close(); - std::cout << "attack " << p << "\n"; - Entity &ent = gst.entities[view.selected_entity]; - view.attacks = gst.inv->ground.attack_targets(gst, ent); - return attack; - } - ); - fsm.arcs.emplace_back( - attack, sel_ground, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - std::cout << "attacked " << p << "\n"; - Entity &atk = gst.entities[view.selected_entity]; - int x = view.cursor_ground % gst.inv->ground.sizex; - int y = view.cursor_ground / gst.inv->ground.sizex; - std::cout << "selg " << x << " " << y << "\n"; - Entity &def = gst.get_at(x, y); - atk.done = true; - gst.battle(atk, def); - view.attacks.clear(); - view.selected_entity = -1; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::trade, - [](Gst &gst, View &view, Fsm &fsm, int p) { - Player &player = gst.players[gst.turn]; - view.menu_unit.close(); - view.menu_trade.options.clear(); - int rate = (int)gst.get_trade_rate(player); - if (player.res[0] >= rate) { - view.menu_trade.options.emplace_back( - std::to_string(rate) + " Food for 100 Gold", - Menu_trade::Opts::food); - } - if (player.res[1] >= rate) { - view.menu_trade.options.emplace_back( - std::to_string(rate) + " Gold for 100 Food", - Menu_trade::Opts::gold); - } - view.menu_trade.open(view.res); - std::cout << "trade open " << p << "\n"; - return menu_trade; - } - ); - fsm.arcs.emplace_back( - menu_trade, opt, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - Player &player = gst.players[gst.turn]; - view.menu_trade.close(); - int rate = (int)gst.get_trade_rate(player); - int sel = p; - player.pay(std::vector<float> - { (float)rate*(1-sel), (float)rate*sel }); - player.gain(std::vector<float> - { 100.0f*sel, 100.0f*(1-sel) }); - gst.entities[view.selected_entity].done = true; - view.selected_entity = -1; - std::cout << "done trading " << p << "\n"; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::age_up, - [](Gst &gst, View &view, Fsm &fsm, int p) { - Player &player = gst.players[gst.turn]; - view.menu_unit.close(); - view.menu_age_up.options.clear(); - if (gst.check_req_level(player)) { - view.menu_age_up.options.emplace_back("Age Up", 0); - } - view.menu_age_up.open(view.res); - std::cout << "age up open " << p << "\n"; - return menu_age_up; - } - ); - fsm.arcs.emplace_back( - menu_age_up, opt, 0, - [](Gst &gst, View &view, Fsm &fsm, int p) { - Player &player = gst.players[gst.turn]; - player.leveling_up = 1; - float cost = (player.level+1)*500; - player.pay(std::vector<float>{ cost, cost }); - view.menu_age_up.close(); - gst.entities[view.selected_entity].done = true; - view.selected_entity = -1; - std::cout << "aged up " << p << "\n"; - return select; - } - ); - fsm.arcs.emplace_back( - menu_age_up, back, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_age_up.close(); - view.selected_entity = -1; - std::cout << "closed ageup " << p << "\n"; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::heal, - [](Gst &gst, View &view, Fsm &fsm, int p) { - Player &player = gst.players[gst.turn]; - view.menu_unit.close(); - Entity &ent = gst.entities[view.selected_entity]; - view.heals = gst.inv->ground.heal_targets(gst, ent); - std::cout << "heal targeting " << p << "\n"; - return target_heal; - } - ); - fsm.arcs.emplace_back( - target_heal, sel_ground, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - std::cout << "healed " << p << "\n"; - Entity &atk = gst.entities[view.selected_entity]; - int x = view.cursor_ground % gst.inv->ground.sizex; - int y = view.cursor_ground / gst.inv->ground.sizex; - std::cout << "selg " << x << " " << y << "\n"; - Entity &def = gst.get_at(x, y); - atk.done = true; - gst.heal(atk, def); - view.heals.clear(); - view.selected_entity = -1; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::convert, - [](Gst &gst, View &view, Fsm &fsm, int p) { - Player &player = gst.players[gst.turn]; - view.menu_unit.close(); - Entity &ent = gst.entities[view.selected_entity]; - view.converts = gst.inv->ground.convert_targets(gst, ent); - std::cout << "convert targeting " << p << "\n"; - return target_convert; - } - ); - fsm.arcs.emplace_back( - target_convert, sel_ground, -1, - [](Gst &gst, View &view, Fsm &fsm, int p) { - std::cout << "converted " << p << "\n"; - Entity &atk = gst.entities[view.selected_entity]; - int x = view.cursor_ground % gst.inv->ground.sizex; - int y = view.cursor_ground / gst.inv->ground.sizex; - std::cout << "selg " << x << " " << y << "\n"; - Entity &def = gst.get_at(x, y); - atk.done = true; - gst.convert(atk, def); - view.converts.clear(); - view.selected_entity = -1; - return select; - } - ); - fsm.arcs.emplace_back( - menu_unit, opt, Menu_unit::Opts::done, - [](Gst &gst, View &view, Fsm &fsm, int p) { - view.menu_unit.close(); - gst.entities[view.selected_entity].done = true; - view.selected_entity = -1; - std::cout << "done " << p << "\n"; - return select; - } - ); -} - -void Player_control::process (Gst &gst, View &view) { - if (view.cursor_entity != -1) { - fsm.transition(gst, view, fsm, sel_unit, view.cursor_entity); - } - if (view.cursor_ground != -1) { - fsm.transition(gst, view, fsm, sel_ground, view.cursor_ground); - } - if (view.back != -1) { - fsm.transition(gst, view, fsm, back, 0); - } - if (view.opt != -1) { - fsm.transition(gst, view, fsm, opt, view.opt); - } +#include <iostream>
+#include <string>
+
+#include "playercontrol.h"
+#include "entity.h"
+
+void open_unit_menu (Gst &gst, View &view, Fsm &fsm, int p) {
+ Entity &ent = gst.entities[view.selected_entity];
+ Player &player = gst.players[ent.owner];
+ view.menu_unit.options.clear();
+ if (ent.info->unit == 1) {
+ if (gst.inv->ground.move_area(gst, ent).size() > 0
+ && ent.moved == 0)
+ {
+ view.menu_unit.options.emplace_back("Move",
+ Menu_unit::Opts::move);
+ }
+ if (gst.inv->ground.attack_targets(gst, ent).size() > 0
+ && (!gst.inv->info_has_ability(ent.info, "No Move & Attack")
+ || ent.moved == 0)) {
+ view.menu_unit.options.emplace_back("Attack",
+ Menu_unit::Opts::attack);
+ }
+ if (ent.info->build.size() > 0
+ && !gst.check_obstructed(ent)
+ && gst.get_possible_builds(ent).size() > 0)
+ {
+ view.menu_unit.options.emplace_back("Build",
+ Menu_unit::Opts::build);
+ }
+ if (gst.inv->ground.heal_targets(gst, ent).size() > 0
+ && (gst.inv->info_has_ability(ent.info, "Heal")))
+ {
+ view.menu_unit.options.emplace_back("Heal",
+ Menu_unit::Opts::heal);
+ }
+ if (gst.inv->ground.convert_targets(gst, ent).size() > 0
+ && (gst.inv->info_has_ability(ent.info, "Convert")))
+ {
+ view.menu_unit.options.emplace_back("Convert",
+ Menu_unit::Opts::convert);
+ }
+ view.menu_unit.options.emplace_back("Done",
+ Menu_unit::Opts::done);
+ } else {
+ if (gst.get_possible_trains(ent).size()
+ && !gst.check_obstructed(ent))
+ {
+ view.menu_unit.options.emplace_back("Train",
+ Menu_unit::Opts::train);
+ }
+ if (ent.info->id == 100
+ || ent.info->id == 101) {
+ int rate = (int)gst.get_trade_rate(player);
+ if (player.res[0] >= rate || player.res[1] >= rate) {
+ view.menu_unit.options.emplace_back("Trade",
+ Menu_unit::Opts::trade);
+ }
+ }
+ if (ent.info->id == 100) {
+ view.menu_unit.options.emplace_back("Age Up",
+ Menu_unit::Opts::age_up);
+ }
+ }
+ view.menu_unit.open(view.res);
+}
+
+Player_control::Player_control () {
+ fsm.arcs.emplace_back(
+ select, sel_ground, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.selected_ground = p;
+ std::cout << "selected ground " << p << "\n";
+ view.menu_day.options.clear();
+ view.menu_day.options.emplace_back("End Day",
+ Menu_day::Opts::end_day);
+ view.menu_day.options.emplace_back("Research",
+ Menu_day::Opts::tech);
+ view.menu_day.options.emplace_back("Empire Review",
+ Menu_day::Opts::empire_review);
+ view.menu_day.options.emplace_back("Scoring",
+ Menu_day::Opts::scoring);
+ view.menu_day.open(view.res);
+ return menu_day;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_day, opt, Menu_day::Opts::end_day,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_day.close();
+ view.selected_ground = -1;
+ gst.end_day();
+ std::cout << "end day " << p << "\n";
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_day, back, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_day.close();
+ view.selected_ground = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_day, opt, Menu_day::Opts::tech,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_day.close();
+ view.menu_tech.tech_options.clear();
+ for (Tech &tech : gst.inv->techs) {
+ view.menu_tech.tech_options.emplace_back(tech.name, &tech);
+ }
+ view.menu_tech.open(view.res);
+ std::cout << "tech screen " << "\n";
+ return menu_tech;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_tech, opt, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ if (p == -1)
+ return menu_tech;
+ Player &player = gst.players[gst.turn];
+ Tech *tech = gst.inv->get_tech(p);
+ if (!gst.check_req_tech(tech, player)) {
+ return menu_tech;
+ }
+ if (player.researching != -1) {
+ player.gain(tech->cost);
+ }
+ player.researching = p;
+ player.pay(tech->cost);
+ view.menu_tech.close();
+ view.selected_ground = -1;
+ std::cout << "selected tech " << p << "\n";
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_tech, back, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_tech.close();
+ view.selected_ground = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ select, sel_unit, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.selected_entity = p;
+ open_unit_menu(gst, view, fsm, p);
+ std::cout << "selected unit " << p << "\n";
+ return menu_unit;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, back, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.selected_entity = -1;
+ view.menu_unit.close();
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::train,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_unit.close();
+ std::cout << "train " << p << "\n";
+ Entity &ent = gst.entities[view.selected_entity];
+ Player &player = gst.players[ent.owner];
+ view.menu_train.options.clear();
+ auto trains = gst.get_possible_trains(ent);
+ for (int id : trains) {
+ EntityInfo *info = gst.inv->get_info(id);
+ Option opt { info->name, id };
+ opt.cost = gst.get_cost(info, player);
+ if (ent.info->id == 107) { // market
+ // tech.id = 31 -> merc network
+ opt.cost[1] += 50 - (int)player.has_tech(31)*25;
+ }
+ view.menu_train.options.push_back(opt);
+ }
+ view.menu_train.open(view.res);
+ return menu_train;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_train, opt, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ std::vector<float> cost { -1, -1 };
+ for (auto o : view.menu_train.options) {
+ if (o.id == p) {cost = o.cost; break; }
+ }
+ view.menu_train.close();
+ Entity &ent = gst.entities[view.selected_entity];
+ ent.done = true;
+ Entity entb { ent.x, ent.y, gst.inv->get_info(p), ent.owner };
+ entb.building = -1;
+ entb.done = true;
+ entb.hp = 50;
+ gst.entities.push_back(entb);
+ Player &player = gst.players[gst.turn];
+ player.pay(cost);
+ view.selected_entity = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::build,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_unit.close();
+ std::cout << "build " << p << "\n";
+ Entity &ent = gst.entities[view.selected_entity];
+ Player &player = gst.players[ent.owner];
+ view.menu_build.options.clear();
+ for (int id : ent.info->build) {
+ EntityInfo *info = gst.inv->get_info(id);
+ if(!gst.check_req_build(ent, info)) continue;
+ Option opt { info->name, id };
+ opt.cost = gst.get_cost(info, player);
+ view.menu_build.options.push_back(opt);
+ }
+ view.menu_build.open(view.res);
+ return menu_build;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_build, opt, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_build.close();
+ std::cout << "building " << p << "\n";
+ Entity &ent = gst.entities[view.selected_entity];
+ ent.done = true;
+ Entity entb { ent.x, ent.y, gst.inv->get_info(p), ent.owner };
+ entb.building = -1;
+ entb.done = true;
+ entb.hp = 50;
+ gst.entities.push_back(entb);
+ Player &player = gst.players[gst.turn];
+ player.pay(gst.get_cost(entb.info, player));
+ view.selected_entity = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::move,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_unit.close();
+ std::cout << "move " << p << "\n";
+ Entity &ent = gst.entities[view.selected_entity];
+ view.moves = gst.inv->ground.move_area(gst, ent);
+ return move;
+ }
+ );
+ fsm.arcs.emplace_back(
+ move, sel_ground, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ std::cout << "moved to " << p << "\n";
+ Entity &ent = gst.entities[view.selected_entity];
+ view.moves.clear();
+ ent.x = p % gst.inv->ground.sizex;
+ ent.y = p / gst.inv->ground.sizex;
+ ent.moved = 1;
+ open_unit_menu(gst, view, fsm, p);
+ return menu_unit;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::attack,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_unit.close();
+ std::cout << "attack " << p << "\n";
+ Entity &ent = gst.entities[view.selected_entity];
+ view.attacks = gst.inv->ground.attack_targets(gst, ent);
+ return attack;
+ }
+ );
+ fsm.arcs.emplace_back(
+ attack, sel_ground, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ std::cout << "attacked " << p << "\n";
+ Entity &atk = gst.entities[view.selected_entity];
+ int x = view.cursor_ground % gst.inv->ground.sizex;
+ int y = view.cursor_ground / gst.inv->ground.sizex;
+ std::cout << "selg " << x << " " << y << "\n";
+ Entity &def = gst.get_at(x, y);
+ atk.done = true;
+ gst.battle(atk, def);
+ view.attacks.clear();
+ view.selected_entity = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::trade,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ Player &player = gst.players[gst.turn];
+ view.menu_unit.close();
+ view.menu_trade.options.clear();
+ int rate = (int)gst.get_trade_rate(player);
+ if (player.res[0] >= rate) {
+ view.menu_trade.options.emplace_back(
+ std::to_string(rate) + " Food for 100 Gold",
+ Menu_trade::Opts::food);
+ }
+ if (player.res[1] >= rate) {
+ view.menu_trade.options.emplace_back(
+ std::to_string(rate) + " Gold for 100 Food",
+ Menu_trade::Opts::gold);
+ }
+ view.menu_trade.open(view.res);
+ std::cout << "trade open " << p << "\n";
+ return menu_trade;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_trade, opt, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ Player &player = gst.players[gst.turn];
+ view.menu_trade.close();
+ int rate = (int)gst.get_trade_rate(player);
+ int sel = p;
+ player.pay(std::vector<float>
+ { (float)rate*(1-sel), (float)rate*sel });
+ player.gain(std::vector<float>
+ { 100.0f*sel, 100.0f*(1-sel) });
+ gst.entities[view.selected_entity].done = true;
+ view.selected_entity = -1;
+ std::cout << "done trading " << p << "\n";
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::age_up,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ Player &player = gst.players[gst.turn];
+ view.menu_unit.close();
+ view.menu_age_up.options.clear();
+ if (gst.check_req_level(player)) {
+ view.menu_age_up.options.emplace_back("Age Up", 0);
+ }
+ view.menu_age_up.open(view.res);
+ std::cout << "age up open " << p << "\n";
+ return menu_age_up;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_age_up, opt, 0,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ Player &player = gst.players[gst.turn];
+ player.leveling_up = 1;
+ float cost = (player.level+1)*500;
+ player.pay(std::vector<float>{ cost, cost });
+ view.menu_age_up.close();
+ gst.entities[view.selected_entity].done = true;
+ view.selected_entity = -1;
+ std::cout << "aged up " << p << "\n";
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_age_up, back, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_age_up.close();
+ view.selected_entity = -1;
+ std::cout << "closed ageup " << p << "\n";
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::heal,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ Player &player = gst.players[gst.turn];
+ view.menu_unit.close();
+ Entity &ent = gst.entities[view.selected_entity];
+ view.heals = gst.inv->ground.heal_targets(gst, ent);
+ std::cout << "heal targeting " << p << "\n";
+ return target_heal;
+ }
+ );
+ fsm.arcs.emplace_back(
+ target_heal, sel_ground, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ std::cout << "healed " << p << "\n";
+ Entity &atk = gst.entities[view.selected_entity];
+ int x = view.cursor_ground % gst.inv->ground.sizex;
+ int y = view.cursor_ground / gst.inv->ground.sizex;
+ std::cout << "selg " << x << " " << y << "\n";
+ Entity &def = gst.get_at(x, y);
+ atk.done = true;
+ gst.heal(atk, def);
+ view.heals.clear();
+ view.selected_entity = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::convert,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ Player &player = gst.players[gst.turn];
+ view.menu_unit.close();
+ Entity &ent = gst.entities[view.selected_entity];
+ view.converts = gst.inv->ground.convert_targets(gst, ent);
+ std::cout << "convert targeting " << p << "\n";
+ return target_convert;
+ }
+ );
+ fsm.arcs.emplace_back(
+ target_convert, sel_ground, -1,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ std::cout << "converted " << p << "\n";
+ Entity &atk = gst.entities[view.selected_entity];
+ int x = view.cursor_ground % gst.inv->ground.sizex;
+ int y = view.cursor_ground / gst.inv->ground.sizex;
+ std::cout << "selg " << x << " " << y << "\n";
+ Entity &def = gst.get_at(x, y);
+ atk.done = true;
+ gst.convert(atk, def);
+ view.converts.clear();
+ view.selected_entity = -1;
+ return select;
+ }
+ );
+ fsm.arcs.emplace_back(
+ menu_unit, opt, Menu_unit::Opts::done,
+ [](Gst &gst, View &view, Fsm &fsm, int p) {
+ view.menu_unit.close();
+ gst.entities[view.selected_entity].done = true;
+ view.selected_entity = -1;
+ std::cout << "done " << p << "\n";
+ return select;
+ }
+ );
+}
+
+void Player_control::process (Gst &gst, View &view) {
+ if (view.cursor_entity != -1) {
+ fsm.transition(gst, view, fsm, sel_unit, view.cursor_entity);
+ }
+ if (view.cursor_ground != -1) {
+ fsm.transition(gst, view, fsm, sel_ground, view.cursor_ground);
+ }
+ if (view.back != -1) {
+ fsm.transition(gst, view, fsm, back, 0);
+ }
+ if (view.opt != -1) {
+ fsm.transition(gst, view, fsm, opt, view.opt);
+ }
}
\ No newline at end of file diff --git a/game/playercontrol.h b/game/playercontrol.h index c0075d4..d6b1fd7 100644 --- a/game/playercontrol.h +++ b/game/playercontrol.h @@ -1,92 +1,92 @@ -#ifndef PLAYERCONTROL_H -#define PLAYERCONTROL_H - -#include <iostream> - -#include "gst.h" -#include "view.h" -#include <vector> -#include <functional> - - -enum pc_state { - select, - move, - attack, - train, - build, - merge, - trade, - age_up, - heal, - power, - move_target, - attack_target, - menu_train, - menu_build, - target_build, - merge_target, - target_heal, - target_convert, - menu_power, - target_power, - menu_unit, - menu_day, - menu_tech, - menu_trade, - menu_age_up, - end -}; - -enum pc_action { - sel_unit, - sel_ground, - opt, - back -}; - - -class Fsm; -using lambda = std::function<pc_state(Gst&, View&, Fsm&, int p)>; - - -class Arc { - public: - Arc (pc_state from, pc_action act, int p, lambda f) - : from(from), act(act), p(p), f(f) {}; - pc_state from; - pc_action act; - int p; - - lambda f; -}; - -class Fsm { - public: - Fsm() { state = select; } - - void transition (Gst &gst, View &view, Fsm &fsm, pc_action act, int p) { - std::cout << "> transitioning from " << state << " with " << act << std::endl; - for (Arc a : arcs) { - if (a.from == state && a.act == act && (a.p == p || a.p == -1)) { - state = a.f(gst, view, fsm, p); - break; - } - } - } - std::vector<Arc> arcs; - - private: - pc_state state; -}; - - -class Player_control { - public: - Player_control (); - void process (Gst &gst, View &view); - - Fsm fsm; -}; - +#ifndef PLAYERCONTROL_H
+#define PLAYERCONTROL_H
+
+#include <iostream>
+
+#include "gst.h"
+#include "view.h"
+#include <vector>
+#include <functional>
+
+
+enum pc_state {
+ select,
+ move,
+ attack,
+ train,
+ build,
+ merge,
+ trade,
+ age_up,
+ heal,
+ power,
+ move_target,
+ attack_target,
+ menu_train,
+ menu_build,
+ target_build,
+ merge_target,
+ target_heal,
+ target_convert,
+ menu_power,
+ target_power,
+ menu_unit,
+ menu_day,
+ menu_tech,
+ menu_trade,
+ menu_age_up,
+ end
+};
+
+enum pc_action {
+ sel_unit,
+ sel_ground,
+ opt,
+ back
+};
+
+
+class Fsm;
+using lambda = std::function<pc_state(Gst&, View&, Fsm&, int p)>;
+
+
+class Arc {
+ public:
+ Arc (pc_state from, pc_action act, int p, lambda f)
+ : from(from), act(act), p(p), f(f) {};
+ pc_state from;
+ pc_action act;
+ int p;
+
+ lambda f;
+};
+
+class Fsm {
+ public:
+ Fsm() { state = select; }
+
+ void transition (Gst &gst, View &view, Fsm &fsm, pc_action act, int p) {
+ std::cout << "> transitioning from " << state << " with " << act << std::endl;
+ for (Arc a : arcs) {
+ if (a.from == state && a.act == act && (a.p == p || a.p == -1)) {
+ state = a.f(gst, view, fsm, p);
+ break;
+ }
+ }
+ }
+ std::vector<Arc> arcs;
+
+ private:
+ pc_state state;
+};
+
+
+class Player_control {
+ public:
+ Player_control ();
+ void process (Gst &gst, View &view);
+
+ Fsm fsm;
+};
+
#endif
\ No newline at end of file diff --git a/game/tech.cpp b/game/tech.cpp index 848b211..d540236 100644 --- a/game/tech.cpp +++ b/game/tech.cpp @@ -1 +1 @@ -#include "tech.h" +#include "tech.h"
diff --git a/game/tech.h b/game/tech.h index b22b173..d5a9e24 100644 --- a/game/tech.h +++ b/game/tech.h @@ -1,132 +1,132 @@ -#ifndef TECH_H -#define TECH_H - -#include <vector> -#include <unordered_map> -#include <string> - -#include <math.h> - -#include <iostream> - -#include "../umath/vec2.h" - -class TechBonus { - public: - float attack { 0 }; - float defence { 0 }; - int sight { 0 }; - int range { 0 }; - int move { 0 }; - std::vector<float> cost { 0, 0 }; - std::vector<float> cost_abs { 0, 0 }; - std::vector<float> prod { 0, 0 }; - int trade { 0 } ; - int improved_heal { 0 }; - int improved_convert { 0 }; - int req_range { 999 }; - - std::vector<int> aff_id; - std::vector<int> aff_class; - int aff_level { -1 }; - int aff_all { 0 }; - - TechBonus operator+(const TechBonus &rhs) { - TechBonus b; - b.attack = attack + rhs.attack; - b.defence = defence + rhs.defence; - b.sight = sight + rhs.sight; - b.move = move + rhs.move; - for (int i=0; i<cost.size(); i++) { - b.cost[i] = cost[i] + rhs.cost[i]; - b.cost_abs[i] = cost_abs[i] + rhs.cost_abs[i]; - b.prod[i] = prod[i] + rhs.prod[i]; - } - b.trade = trade + rhs.trade; - b.improved_heal = improved_heal + rhs.improved_heal; - b.improved_convert = improved_convert + rhs.improved_convert; - return b; - } - - std::string to_string () { - std::string str = ""; - if (attack != 0) { - int value = (int)roundf(attack*100); - str += "Attack: " + std::to_string(value) + "%\n"; - } - if (defence != 0) { - int value = (int)roundf(defence*100); - str += "Defence: " + std::to_string(value) + "%\n"; - } - if (sight != 0) { - str += "Sight: " + std::to_string(sight) + "\n"; - } - if (range != 0) { - str += "Range: " + std::to_string(range) + "\n"; - } - if (move != 0) { - str += "Range: " + std::to_string(range) + "\n"; - } - if (cost[0] != 0 || cost[1] != 0) { - int vf = (int)roundf(cost[0]*100); - int vg = (int)roundf(cost[1]*100); - str += "Cost f: " + std::to_string(vf); - str += "%, g: " + std::to_string(vg) + "%\n"; - } - if (cost_abs[0] != 0 || cost_abs[1] != 0) { - int vf = (int)roundf(cost_abs[0]); - int vg = (int)roundf(cost_abs[1]); - str += "Cost f: " + std::to_string(vf); - str += ", g: " + std::to_string(vg) + "\n"; - } - if (prod[0] != 0 || prod[1] != 0) { - int vf = (int)roundf(prod[0]*100); - int vg = (int)roundf(prod[1]*100); - str += "Production f: " + std::to_string(vf); - str += "%, g: " + std::to_string(vg) + "%\n"; - } - if (trade != 0) { str += "Improves Trade Rate\n"; } - if (improved_heal != 0) { str += "Improves Heal Ability\n"; } - if (improved_convert != 0) { str += "Improves Convert Ability\n"; } - if (aff_id.size() > 0) { - str += "of entitiy "; - for (int id : aff_id) str += std::to_string(id) + " "; - str += "\n"; - } - if (aff_class.size() > 0) { - str += "of class "; - for (int c : aff_class) str += std::to_string(c) + " "; - str += "\n"; - } - if (aff_level != -1) { - str += "of level " + std::to_string(aff_level) + "\n"; - } - return str; - } -}; - -class TechLookup { - public: - TechLookup() {} - - TechBonus id (int i) { return map_id[i]; } - - std::unordered_map<int, TechBonus> map_id; -}; - -class Tech { - public: - Tech() {} - - std::string name; - int id; - int level; - int req_id; - std::vector<float> cost { 0, 0 }; - - TechBonus bonus; - - vec2 spritebounds { 0, 0 }; -}; - +#ifndef TECH_H
+#define TECH_H
+
+#include <vector>
+#include <unordered_map>
+#include <string>
+
+#include <math.h>
+
+#include <iostream>
+
+#include "../umath/vec2.h"
+
+class TechBonus {
+ public:
+ float attack { 0 };
+ float defence { 0 };
+ int sight { 0 };
+ int range { 0 };
+ int move { 0 };
+ std::vector<float> cost { 0, 0 };
+ std::vector<float> cost_abs { 0, 0 };
+ std::vector<float> prod { 0, 0 };
+ int trade { 0 } ;
+ int improved_heal { 0 };
+ int improved_convert { 0 };
+ int req_range { 999 };
+
+ std::vector<int> aff_id;
+ std::vector<int> aff_class;
+ int aff_level { -1 };
+ int aff_all { 0 };
+
+ TechBonus operator+(const TechBonus &rhs) {
+ TechBonus b;
+ b.attack = attack + rhs.attack;
+ b.defence = defence + rhs.defence;
+ b.sight = sight + rhs.sight;
+ b.move = move + rhs.move;
+ for (int i=0; i<cost.size(); i++) {
+ b.cost[i] = cost[i] + rhs.cost[i];
+ b.cost_abs[i] = cost_abs[i] + rhs.cost_abs[i];
+ b.prod[i] = prod[i] + rhs.prod[i];
+ }
+ b.trade = trade + rhs.trade;
+ b.improved_heal = improved_heal + rhs.improved_heal;
+ b.improved_convert = improved_convert + rhs.improved_convert;
+ return b;
+ }
+
+ std::string to_string () {
+ std::string str = "";
+ if (attack != 0) {
+ int value = (int)roundf(attack*100);
+ str += "Attack: " + std::to_string(value) + "%\n";
+ }
+ if (defence != 0) {
+ int value = (int)roundf(defence*100);
+ str += "Defence: " + std::to_string(value) + "%\n";
+ }
+ if (sight != 0) {
+ str += "Sight: " + std::to_string(sight) + "\n";
+ }
+ if (range != 0) {
+ str += "Range: " + std::to_string(range) + "\n";
+ }
+ if (move != 0) {
+ str += "Range: " + std::to_string(range) + "\n";
+ }
+ if (cost[0] != 0 || cost[1] != 0) {
+ int vf = (int)roundf(cost[0]*100);
+ int vg = (int)roundf(cost[1]*100);
+ str += "Cost f: " + std::to_string(vf);
+ str += "%, g: " + std::to_string(vg) + "%\n";
+ }
+ if (cost_abs[0] != 0 || cost_abs[1] != 0) {
+ int vf = (int)roundf(cost_abs[0]);
+ int vg = (int)roundf(cost_abs[1]);
+ str += "Cost f: " + std::to_string(vf);
+ str += ", g: " + std::to_string(vg) + "\n";
+ }
+ if (prod[0] != 0 || prod[1] != 0) {
+ int vf = (int)roundf(prod[0]*100);
+ int vg = (int)roundf(prod[1]*100);
+ str += "Production f: " + std::to_string(vf);
+ str += "%, g: " + std::to_string(vg) + "%\n";
+ }
+ if (trade != 0) { str += "Improves Trade Rate\n"; }
+ if (improved_heal != 0) { str += "Improves Heal Ability\n"; }
+ if (improved_convert != 0) { str += "Improves Convert Ability\n"; }
+ if (aff_id.size() > 0) {
+ str += "of entitiy ";
+ for (int id : aff_id) str += std::to_string(id) + " ";
+ str += "\n";
+ }
+ if (aff_class.size() > 0) {
+ str += "of class ";
+ for (int c : aff_class) str += std::to_string(c) + " ";
+ str += "\n";
+ }
+ if (aff_level != -1) {
+ str += "of level " + std::to_string(aff_level) + "\n";
+ }
+ return str;
+ }
+};
+
+class TechLookup {
+ public:
+ TechLookup() {}
+
+ TechBonus id (int i) { return map_id[i]; }
+
+ std::unordered_map<int, TechBonus> map_id;
+};
+
+class Tech {
+ public:
+ Tech() {}
+
+ std::string name;
+ int id;
+ int level;
+ int req_id;
+ std::vector<float> cost { 0, 0 };
+
+ TechBonus bonus;
+
+ vec2 spritebounds { 0, 0 };
+};
+
#endif
\ No newline at end of file diff --git a/game/tile.h b/game/tile.h index 64e9132..c5c46c6 100644 --- a/game/tile.h +++ b/game/tile.h @@ -1,23 +1,23 @@ -#ifndef TILE_H -#define TILE_H - -#include <vector> -#include <string> - -#include "../umath/vec2.h" - -class Tile { - public: - Tile() {} - - std::string name; - int move_cost { 1 }; - int sight_cost { 1 }; - int range_bonus { 0 }; - float attack_bonus { 0 }; - float defence_bonus { 0 }; - - vec2 spritebounds; -}; - +#ifndef TILE_H
+#define TILE_H
+
+#include <vector>
+#include <string>
+
+#include "../umath/vec2.h"
+
+class Tile {
+ public:
+ Tile() {}
+
+ std::string name;
+ int move_cost { 1 };
+ int sight_cost { 1 };
+ int range_bonus { 0 };
+ float attack_bonus { 0 };
+ float defence_bonus { 0 };
+
+ vec2 spritebounds;
+};
+
#endif
\ No newline at end of file diff --git a/game/view.cpp b/game/view.cpp index 190bd53..1542fa5 100644 --- a/game/view.cpp +++ b/game/view.cpp @@ -1,207 +1,207 @@ -#include "view.h" - -void View::process (Gst &gst, vec2 cam, vec2 mouse, int *mheld) { - Ground &gr = gst.inv->ground; - std::vector<Entity> &entities = gst.entities; - - vec2 absmouse { mouse }; - absmouse -= cam; - - cursor_ground = -1; - cursor_entity = -1; - back = -1; - opt = -1; - hover_ground = -1; - - bool hfound = false; - for (int y=0; y<gr.sizey && !hfound; y++) { - for (int x=0; x<gr.sizex && !hfound; x++) { - vec2 pos { (float)x*32, (float)y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - hover_ground = x+y*gr.sizex; - hfound = true; - } - } - } - - if (menu_train.active) { - menu_train.over = menu_train.mouse_option(mouse); - } - if (menu_build.active) { - menu_build.over = menu_build.mouse_option(mouse); - } - if (menu_unit.active) { - menu_unit.over = menu_unit.mouse_option(mouse); - } - if (menu_day.active) { - menu_day.over = menu_day.mouse_option(mouse); - } - if (menu_tech.active) { - menu_tech.over = menu_tech.mouse_option(mouse); - } - if (menu_trade.active) { - menu_trade.over = menu_trade.mouse_option(mouse); - } - if (menu_age_up.active) { - menu_age_up.over = menu_age_up.mouse_option(mouse); - } - - if (mheld[0] == 1) { - bool found = false; - - if (moves.size() > 0 && !found) { - for (int i=0; i<moves.size() && !found; i++) { - int x = moves[i] % gr.sizex; - int y = moves[i] / gr.sizex; - int valid = 1; - for (Entity &e : gst.entities) { - if (e.x == x && e.y == y && e.info->unit == 1) { - valid = 0; - } - } - if (!valid) continue; - vec2 pos { (float)x*32, (float)y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - cursor_ground = moves[i]; - } - } - found = true; - } - - if (attacks.size() > 0 && !found) { - for (int i=0; i<attacks.size() && !found; i++) { - int x = attacks[i] % gr.sizex; - int y = attacks[i] / gr.sizex; - vec2 pos { (float)x*32, (float)y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - cursor_ground = attacks[i]; - } - } - found = true; - } - - if (heals.size() > 0 && !found) { - for (int i=0; i<heals.size() && !found; i++) { - int x = heals[i] % gr.sizex; - int y = heals[i] / gr.sizex; - vec2 pos { (float)x*32, (float)y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - cursor_ground = heals[i]; - } - } - found = true; - } - - if (converts.size() > 0 && !found) { - for (int i=0; i<converts.size() && !found; i++) { - int x = converts[i] % gr.sizex; - int y = converts[i] / gr.sizex; - vec2 pos { (float)x*32, (float)y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - cursor_ground = converts[i]; - } - } - found = true; - } - - if (menu_train.active && !found) { - int selected = menu_train.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - if (menu_build.active && !found) { - int selected = menu_build.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - if (menu_unit.active && !found) { - int selected = menu_unit.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - if (menu_day.active && !found) { - int selected = menu_day.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - if (menu_tech.active && !found) { - int selected = menu_tech.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - if (menu_trade.active && !found) { - int selected = menu_trade.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - if (menu_age_up.active && !found) { - int selected = menu_age_up.mouse_option(mouse); - if (selected != -1) { - opt = selected; found = true; - } else { - back = 1; found = 1; - } - } - - for (int i=0; i<entities.size() && !found; i++) { - if (entities[i].done) continue; - if (entities[i].owner != gst.turn) continue; - vec2 pos { (float)entities[i].x*32, (float)entities[i].y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - cursor_entity = i; - if (entities[i].info->unit == 1) { - found = true; - } - } - } - if (cursor_entity != -1) found = true; - - for (int y=0; y<gr.sizey && !found; y++) { - for (int x=0; x<gr.sizex && !found; x++) { - vec2 pos { (float)x*32, (float)y*32 }; - if (pos.x < absmouse.x && absmouse.x <= pos.x+32 - && pos.y < absmouse.y && absmouse.y <= pos.y+32) - { - cursor_ground = x+y*gr.sizex; - found = true; - } - } - } - } +#include "view.h"
+
+void View::process (Gst &gst, vec2 cam, vec2 mouse, int *mheld) {
+ Ground &gr = gst.inv->ground;
+ std::vector<Entity> &entities = gst.entities;
+
+ vec2 absmouse { mouse };
+ absmouse -= cam;
+
+ cursor_ground = -1;
+ cursor_entity = -1;
+ back = -1;
+ opt = -1;
+ hover_ground = -1;
+
+ bool hfound = false;
+ for (int y=0; y<gr.sizey && !hfound; y++) {
+ for (int x=0; x<gr.sizex && !hfound; x++) {
+ vec2 pos { (float)x*32, (float)y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ hover_ground = x+y*gr.sizex;
+ hfound = true;
+ }
+ }
+ }
+
+ if (menu_train.active) {
+ menu_train.over = menu_train.mouse_option(mouse);
+ }
+ if (menu_build.active) {
+ menu_build.over = menu_build.mouse_option(mouse);
+ }
+ if (menu_unit.active) {
+ menu_unit.over = menu_unit.mouse_option(mouse);
+ }
+ if (menu_day.active) {
+ menu_day.over = menu_day.mouse_option(mouse);
+ }
+ if (menu_tech.active) {
+ menu_tech.over = menu_tech.mouse_option(mouse);
+ }
+ if (menu_trade.active) {
+ menu_trade.over = menu_trade.mouse_option(mouse);
+ }
+ if (menu_age_up.active) {
+ menu_age_up.over = menu_age_up.mouse_option(mouse);
+ }
+
+ if (mheld[0] == 1) {
+ bool found = false;
+
+ if (moves.size() > 0 && !found) {
+ for (int i=0; i<moves.size() && !found; i++) {
+ int x = moves[i] % gr.sizex;
+ int y = moves[i] / gr.sizex;
+ int valid = 1;
+ for (Entity &e : gst.entities) {
+ if (e.x == x && e.y == y && e.info->unit == 1) {
+ valid = 0;
+ }
+ }
+ if (!valid) continue;
+ vec2 pos { (float)x*32, (float)y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ cursor_ground = moves[i];
+ }
+ }
+ found = true;
+ }
+
+ if (attacks.size() > 0 && !found) {
+ for (int i=0; i<attacks.size() && !found; i++) {
+ int x = attacks[i] % gr.sizex;
+ int y = attacks[i] / gr.sizex;
+ vec2 pos { (float)x*32, (float)y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ cursor_ground = attacks[i];
+ }
+ }
+ found = true;
+ }
+
+ if (heals.size() > 0 && !found) {
+ for (int i=0; i<heals.size() && !found; i++) {
+ int x = heals[i] % gr.sizex;
+ int y = heals[i] / gr.sizex;
+ vec2 pos { (float)x*32, (float)y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ cursor_ground = heals[i];
+ }
+ }
+ found = true;
+ }
+
+ if (converts.size() > 0 && !found) {
+ for (int i=0; i<converts.size() && !found; i++) {
+ int x = converts[i] % gr.sizex;
+ int y = converts[i] / gr.sizex;
+ vec2 pos { (float)x*32, (float)y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ cursor_ground = converts[i];
+ }
+ }
+ found = true;
+ }
+
+ if (menu_train.active && !found) {
+ int selected = menu_train.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ if (menu_build.active && !found) {
+ int selected = menu_build.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ if (menu_unit.active && !found) {
+ int selected = menu_unit.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ if (menu_day.active && !found) {
+ int selected = menu_day.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ if (menu_tech.active && !found) {
+ int selected = menu_tech.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ if (menu_trade.active && !found) {
+ int selected = menu_trade.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ if (menu_age_up.active && !found) {
+ int selected = menu_age_up.mouse_option(mouse);
+ if (selected != -1) {
+ opt = selected; found = true;
+ } else {
+ back = 1; found = 1;
+ }
+ }
+
+ for (int i=0; i<entities.size() && !found; i++) {
+ if (entities[i].done) continue;
+ if (entities[i].owner != gst.turn) continue;
+ vec2 pos { (float)entities[i].x*32, (float)entities[i].y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ cursor_entity = i;
+ if (entities[i].info->unit == 1) {
+ found = true;
+ }
+ }
+ }
+ if (cursor_entity != -1) found = true;
+
+ for (int y=0; y<gr.sizey && !found; y++) {
+ for (int x=0; x<gr.sizex && !found; x++) {
+ vec2 pos { (float)x*32, (float)y*32 };
+ if (pos.x < absmouse.x && absmouse.x <= pos.x+32
+ && pos.y < absmouse.y && absmouse.y <= pos.y+32)
+ {
+ cursor_ground = x+y*gr.sizex;
+ found = true;
+ }
+ }
+ }
+ }
}
\ No newline at end of file diff --git a/game/view.h b/game/view.h index 6a316de..26ef3fc 100644 --- a/game/view.h +++ b/game/view.h @@ -1,40 +1,40 @@ -#ifndef VIEW_H -#define VIEW_H - -#include <vector> -#include <functional> - -#include "gst.h" -#include "menu.h" - -class View { - public: - View (vec2 res) : res(res) {} - - vec2 res; - - int hover_ground {-1}; - int selected_ground {-1}; - int selected_entity {-1}; - int cursor_ground {-1}; - int cursor_entity {-1}; - int back {-1}; - int opt {-1}; - std::vector<int> moves; - std::vector<int> attacks; - std::vector<int> builds; - std::vector<int> heals; - std::vector<int> converts; - - Menu_unit menu_unit; - Menu_day menu_day; - Menu_build menu_build; - Menu_train menu_train; - Menu_tech menu_tech; - Menu_trade menu_trade; - Menu_age_up menu_age_up; - - void process (Gst &gst, vec2 cam, vec2 mouse, int *mheld); -}; - +#ifndef VIEW_H
+#define VIEW_H
+
+#include <vector>
+#include <functional>
+
+#include "gst.h"
+#include "menu.h"
+
+class View {
+ public:
+ View (vec2 res) : res(res) {}
+
+ vec2 res;
+
+ int hover_ground {-1};
+ int selected_ground {-1};
+ int selected_entity {-1};
+ int cursor_ground {-1};
+ int cursor_entity {-1};
+ int back {-1};
+ int opt {-1};
+ std::vector<int> moves;
+ std::vector<int> attacks;
+ std::vector<int> builds;
+ std::vector<int> heals;
+ std::vector<int> converts;
+
+ Menu_unit menu_unit;
+ Menu_day menu_day;
+ Menu_build menu_build;
+ Menu_train menu_train;
+ Menu_tech menu_tech;
+ Menu_trade menu_trade;
+ Menu_age_up menu_age_up;
+
+ void process (Gst &gst, vec2 cam, vec2 mouse, int *mheld);
+};
+
#endif
\ No newline at end of file diff --git a/graphics/cam.h b/graphics/cam.h index e3e158f..3f1496f 100644 --- a/graphics/cam.h +++ b/graphics/cam.h @@ -1,14 +1,14 @@ -#ifndef CAM_H -#define CAM_H - -#include <vector> - - -class Cam { - public: - Cam () { pos = vec2(); scale = 1; } - vec2 pos; - float scale; -}; - +#ifndef CAM_H
+#define CAM_H
+
+#include <vector>
+
+
+class Cam {
+ public:
+ Cam () { pos = vec2(); scale = 1; }
+ vec2 pos;
+ float scale;
+};
+
#endif
\ No newline at end of file diff --git a/graphics/graphics.cpp b/graphics/graphics.cpp index fa0c9c8..823668a 100644 --- a/graphics/graphics.cpp +++ b/graphics/graphics.cpp @@ -1,794 +1,794 @@ -#include <algorithm> -#include <iostream> -#include <string> - -#include <math.h> - -#include "graphics.h" -#include "../game/menu.h" -#include "../game/tile.h" -#include "../game/constants.h" - -Graphics::~Graphics () { -} - -void Graphics::present () { - backend.present(); -} - -void render_ent (Graphics *graphics, Gst &gst, Entity &ent, - vec2 pos, int dflag) -{ - Player &player = gst.players[ent.owner]; - float bound_y = ent.info->spritebounds.y; - if (ent.info->unit == 0) { bound_y = player.level*16+16; } - int done = 0; - if (dflag == 1) done = 512; - graphics->backend.render_sprite( - (int)ent.info->spritebounds.x, - (int)bound_y+done, 16, 16, - (int)pos.x, (int)pos.y, 32, 32 - ); - if (dflag == 0) { - graphics->backend.render_sprite( - (int)ent.info->spritebounds.x, - (int)bound_y+768, 16, 16, - (int)pos.x, (int)pos.y, 32, 32, - player.r, player.g, player.b - ); - } -} - -void render_ents (Graphics *graphics, Gst &gst, int unit) { - std::vector<Entity> &entities = gst.entities; - for (int i=0; i<entities.size(); i++) { - if (entities[i].info->unit != unit) continue; - Player &player = gst.players[entities[i].owner]; - int dflag = 0; - if (unit) dflag = entities[i].done; - vec2 pos { - graphics->cam.pos.x + entities[i].x*32, - graphics->cam.pos.y + entities[i].y*32 - }; - render_ent(graphics, gst, entities[i], pos, dflag); - } -} - -void render_menu (Graphics *graphics, Gst &gst, Menu &menu) { - vec2 res { (float)graphics->resx, (float)graphics->resy }; - if (menu.active) { - vec2 pos { res }; - float height = menu.options.size() * 20; - vec2 size { 120, height+10 }; - pos *= 0.5f; - pos -= size/2; - graphics->backend.render_rect( - 255,255,255,255, - menu.pos.x,menu.pos.y,menu.size.x,menu.size.y - ); - float acc = 0; - for (Option opt : menu.options) { - int r=0, g=0, b=0; - if (opt.id == menu.over) { - Player &player = gst.players[gst.turn]; - r = player.r; g = player.g; b = player.b; - } - graphics->backend.txt.render_text( - opt.name, menu.pos + vec2 {10, 10 + acc}, r, g, b); - float width = graphics->backend.txt.get_width(opt.name); - if (opt.cost.size() > 0) { - graphics->backend.txt.render_text( - std::to_string((int)roundf(opt.cost[0])) + "f", - menu.pos + vec2 { width + 20, 10 + acc }); - graphics->backend.txt.render_text( - std::to_string((int)roundf(opt.cost[1])) + "g", - menu.pos + vec2 { width + 50, 10 + acc }); - } - acc += 20; - } - } -} - -void render_menu_tech (Graphics *graphics, Gst &gst, View &view) { - vec2 res { (float)graphics->resx, (float)graphics->resy }; - if (view.menu_tech.active) { - vec2 pos { res }; - float height = view.menu_tech.options.size() * 20; - vec2 size { 120, height+10 }; - pos *= 0.5f; - pos -= size/2; - graphics->backend.render_rect( - 255,255,255,255, - view.menu_tech.pos.x,view.menu_tech.pos.y, - view.menu_tech.size.x,view.menu_tech.size.y - ); - - float x = 0, y = 0; - for (auto v : view.menu_tech.tech_opt_ordered) { - for (auto opt : v) { - int r=0, g=0, b=0; - Player &player = gst.players[gst.turn]; - if (opt.tech->id == view.menu_tech.over) { - r = player.r; g = player.g; b = player.b; - } - if (!gst.check_req_tech(opt.tech, player)) { - r = 100; g = 100; b = 100; - } - if (player.has_tech(opt.tech->id)) { - r = constants::col_gud_r; - g = constants::col_gud_g; - b = constants::col_gud_b; - } - graphics->backend.txt.render_text(opt.name, - view.menu_tech.pos + vec2 {10 + x, 10 + y}, r, g, b); - float width = graphics->backend.txt.get_width(opt.name); - /* - if (opt.tech->cost.size() > 0) { - graphics->backend.txt.render_text( - std::to_string (opt.tech->cost[0]) + "f", - view.menu_tech.pos + vec2 { width + 20 + x, 10 + y }); - graphics->backend.txt.render_text( - std::to_string (opt.tech->cost[1]) + "g", - view.menu_tech.pos + vec2 { width + 50 + x, 10 + y }); - }*/ - y += 10; - } - x += 150; y = 0; - } - } -} - - -int get_entity_info_height (Entity &ent) { - return 155+10*ent.info->abilities.size(); -} - -void render_entity_info (Graphics *graphics, Gst &gst, vec2 pos, int i) { - Entity &ent = gst.entities[i]; - Player &player = gst.players[ent.owner]; - auto &tech = player.tech_lookup; - int id = ent.info->id; - int w = 200, h = get_entity_info_height(ent); - - graphics->backend.render_rect (0,0,0,255, - (int)pos.x,(int)pos.y,w,h); - graphics->backend.render_rect (255,255,255,255, - (int)pos.x+1,(int)pos.y+1,w-2,h-2); - - graphics->backend.render_rect ( - 0,0,0,255, (int)pos.x+w-32-10-1, (int)pos.y+10-1,34,34); - graphics->backend.render_rect ( - 255,255,255,255, (int)pos.x+w-32-10, (int)pos.y+10,32,32); - - render_ent(graphics, gst, ent, vec2 { w-32-10.0f, 10 } + pos, 0); - - graphics->backend.txt.render_text(ent.info->name, pos + vec2 { 10, 10 }); - graphics->backend.txt.render_text("Attack", pos + vec2 { 10, 30 }); - float attack = ent.info->attack * (1+tech.id(id).attack); - graphics->backend.txt.render_text( - std::to_string((int)roundf(attack)), pos + vec2 { 90, 30 }); - graphics->backend.txt.render_text("Defence", pos + vec2 { 10, 45 }); - float defence = ent.info->defence * (1+tech.id(id).defence); - graphics->backend.txt.render_text( - std::to_string((int)roundf(defence)), pos + vec2 { 90, 45 }); - graphics->backend.txt.render_text("Move", pos + vec2 { 10, 60 }); - int move = ent.info->move + tech.id(id).move; - graphics->backend.txt.render_text( - std::to_string(move), pos + vec2 { 90, 60 }); - graphics->backend.txt.render_text("Range", pos + vec2 { 10, 75 }); - int range = ent.info->range + tech.id(id).range; - graphics->backend.txt.render_text( - std::to_string(range), pos + vec2 { 90, 75 }); - graphics->backend.txt.render_text("Sight", pos + vec2 { 10, 90 }); - int sight = ent.info->sight + tech.id(id).sight; - graphics->backend.txt.render_text( - std::to_string(sight), pos + vec2 { 90, 90 }); - graphics->backend.txt.render_text("Health", pos + vec2 { 10, 105 }); - graphics->backend.txt.render_text( - std::to_string((int)roundf(ent.hp)), pos + vec2 { 90, 105 }); - graphics->backend.txt.render_text("Class", pos + vec2 { 10, 120 }); - std::string ent_class = ""; - switch (ent.info->ent_class) { - case EntityInfo::Class::inf: ent_class = "Infantry"; break; - case EntityInfo::Class::cav: ent_class = "Cavalry"; break; - case EntityInfo::Class::ran: ent_class = "Ranged"; break; - case EntityInfo::Class::sie: ent_class = "Siege"; break; - case EntityInfo::Class::bld: ent_class = "Building"; break; - } - graphics->backend.txt.render_text(ent_class, pos + vec2 { 90, 120 }); - graphics->backend.txt.render_text("Abilities", pos + vec2 { 10, 135 }); - std::string abname; - for (int s=0; s<ent.info->abilities.size(); s++) { - abname = gst.inv->abilities[ent.info->abilities[s]].name; - graphics->backend.txt.render_text(abname, - pos + vec2 { 90, 135+s*10.0f }); - } -} - -void render_tile_info (Graphics *graphics, Gst &gst, vec2 pos, int i) { - int x = i % gst.inv->ground.sizex; - int y = i / gst.inv->ground.sizex; - Tile &tile = gst.inv->tiles[gst.inv->ground.tiles[gst.inv->ground.at(x,y)]]; - - int w = 200, h = 95; - graphics->backend.render_rect ( - 0,0,0,255, - (int)pos.x,(int)pos.y,w,h - ); - graphics->backend.render_rect ( - 255,255,255,255, - (int)pos.x+1,(int)pos.y+1,w-2,h-2 - ); - - graphics->backend.render_sprite ( - (int)tile.spritebounds.x, - (int)tile.spritebounds.y-16, 16, 32, - (int)pos.x + w-32-10, - (int)pos.y + 10-32, 32, 64 - ); - - graphics->backend.txt.render_text(tile.name, pos + vec2 { 10, 10 }); - graphics->backend.txt.render_text("Move", pos + vec2 { 10, 30 }); - graphics->backend.txt.render_text( - std::to_string(tile.move_cost), pos + vec2 { 90, 30 }); - graphics->backend.txt.render_text("Sight", pos + vec2 { 10, 45 }); - graphics->backend.txt.render_text( - std::to_string(tile.sight_cost), pos + vec2 { 90, 45 }); - graphics->backend.txt.render_text("Defence Bonus", pos + vec2 { 10, 60 }); - graphics->backend.txt.render_text( - std::to_string((int)roundf(tile.defence_bonus*100))+"%", pos + vec2 { 90, 60 }); - graphics->backend.txt.render_text("Range Bonus", pos + vec2 { 10, 75 }); - graphics->backend.txt.render_text( - std::to_string(tile.range_bonus), pos + vec2 { 90, 75 }); -} - -int render_attack_info_bonus (Graphics *graphics, Gst &gst, vec2 pos, - Entity &atk, Entity &def, bool attack, int rtl) -{ - float margin_amt = constants::menu_attack_margin_amt; - float margin_arrow = constants::menu_attack_margin_arrow; - float margin_mod = constants::menu_attack_margin_mod; - - std::vector<Bonus> bonuses; - if (attack) { bonuses = gst.get_bonuses(atk, def); } - else { bonuses = gst.get_bonuses(def, atk); } - - float value = attack ? atk.info->attack : atk.info->defence; - - { - std::string nlabel = attack ? "Attack" : "Defence"; - float labw = graphics->backend.txt.get_width(nlabel); - graphics->backend.txt.render_text(nlabel, - pos + vec2 { -labw*rtl, 0 }); - } { - std::string nlabel = std::to_string((int)roundf(value)); - float labw = graphics->backend.txt.get_width(nlabel); - graphics->backend.txt.render_text(nlabel, - pos + vec2 { margin_amt*(1-rtl*2)-labw*rtl, 0 }); - } - - int bonusnum = 0; float atk_mod = 1; - for (int s=0; s<bonuses.size(); s++) { - Bonus &b = bonuses[s]; - if (b.atk == attack) { - float idw = graphics->backend.txt.get_width(b.id_string()); - graphics->backend.txt.render_text( - b.id_string(), pos + vec2 { -idw*rtl, 10.0f+bonusnum*10 }); - std::string amt; - if (b.amt > 0) amt += "+"; - amt += std::to_string((int)roundf(b.amt*100)) + "%"; - float labw = graphics->backend.txt.get_width(amt); - graphics->backend.txt.render_text( - amt, pos + vec2 { - margin_amt*(1-rtl*2)-labw*rtl, - 10.0f+bonusnum*10 }); - atk_mod += b.amt; - bonusnum ++; - } - } - - if (bonusnum > 0) { - { - std::string label = rtl ? "<-" : "->"; - float labw = graphics->backend.txt.get_width(label); - graphics->backend.txt.render_text(label, - pos + vec2 { margin_arrow*(1-rtl*2)-labw*rtl, 0 }); - } - { - std::string label = std::to_string((int)roundf(value * atk_mod)); - float labw = graphics->backend.txt.get_width(label); - graphics->backend.txt.render_text(label, - pos + vec2 { margin_mod*(1-rtl*2)-labw*rtl, 0 }); - } - } - - return bonusnum*10; -} - - -void render_attack_info (Graphics *graphics, Gst &gst, vec2 pos, int i, int j) { - float margin_amt = constants::menu_attack_margin_amt; - float margin_arrow = constants::menu_attack_margin_arrow; - float margin_mod = constants::menu_attack_margin_mod; - - Entity &atk = gst.entities[i]; - Entity &def = gst.entities[j]; - int w = 300, h = 250; - - graphics->backend.render_rect (0,0,0,255, - (int)pos.x,(int)pos.y,w,h); - graphics->backend.render_rect (255,255,255,255, - (int)pos.x+1,(int)pos.y+1,w-2,h-2); - - graphics->backend.render_rect ( - 0,0,0,255, (int)pos.x+10-1, (int)pos.y+35-1,34,34); - graphics->backend.render_rect ( - 255,255,255,255, (int)pos.x+10, (int)pos.y+35,32,32); - graphics->backend.render_sprite ( - (int)atk.info->spritebounds.x, - (int)atk.info->spritebounds.y, 16, 16, - (int)pos.x + 10, - (int)pos.y + 35, 32, 32 - ); - { - Tile &tile = gst.inv->tiles[gst.inv->ground.tiles[ - gst.inv->ground.at(atk.x,atk.y)]]; - graphics->backend.render_sprite ( - (int)tile.spritebounds.x, - (int)tile.spritebounds.y-16, 16, 32, - (int)pos.x + 52, - (int)pos.y + 35-32, 32, 64 - ); - } - - graphics->backend.render_rect ( - 0,0,0,255, (int)pos.x+w-42-1, (int)pos.y+35-1,34,34); - graphics->backend.render_rect ( - 255,255,255,255, (int)pos.x+w-42, (int)pos.y+35,32,32); - graphics->backend.render_sprite ( - (int)def.info->spritebounds.x, - (int)def.info->spritebounds.y, 16, 16, - (int)pos.x + w-42, - (int)pos.y + 35, 32, 32 - ); - { - Tile &tile = gst.inv->tiles[gst.inv->ground.tiles[ - gst.inv->ground.at(def.x,def.y)]]; - graphics->backend.render_sprite ( - (int)tile.spritebounds.x, - (int)tile.spritebounds.y-16, 16, 32, - (int)pos.x + w-84, - (int)pos.y + 35-32, 32, 64 - ); - } - - graphics->backend.txt.render_text(atk.info->name, pos + vec2 { 10, 10 }); - { - int txtwidth = graphics->backend.txt.get_width(def.info->name); - graphics->backend.txt.render_text(def.info->name, - pos + vec2 { w-10.0f-txtwidth, 10 }); - } - - BattleResult result = gst.battle_res(atk, def); - std::vector<std::string> sres = { "++", "+", "=", "-", "--" }; - float atk_loss = atk.hp-result.atk_hp; - float def_loss = def.hp-result.def_hp; - float est_atk = def_loss - atk_loss; - float est_def = atk_loss - def_loss; - int atk_res = 2; - int def_res = 2; - if (est_atk > 40) { atk_res = 0; } - else if (est_atk > 5) { atk_res = 1; } - if (est_atk < -40) { atk_res = 4; } - else if (est_atk < -5) { atk_res = 3; } - if (est_def > 40) { def_res = 0; } - else if (est_def > 5) { def_res = 1; } - if (est_def < -40) { def_res = 4; } - else if (est_def < -5) { def_res = 3; } - - graphics->backend.txt.render_text("Health", pos + vec2 { 10, 80 }); - graphics->backend.txt.render_text( - std::to_string((int)roundf(atk.hp)), - pos + vec2 { 10+margin_amt, 80 }); - graphics->backend.txt.render_text("->", - pos + vec2 { 10+margin_arrow, 80 }); - graphics->backend.txt.render_text( - std::to_string((int)roundf(result.atk_hp)), - pos + vec2 { 10+margin_mod, 80 }); - graphics->backend.txt.render_text( - sres[atk_res], - pos + vec2 { 10+margin_mod+20, 80 }); - { - int txtwidth = graphics->backend.txt.get_width("Health"); - graphics->backend.txt.render_text("Health", - pos + vec2 { w-10.0f-txtwidth, 80 }); - std::string label = std::to_string((int)roundf(def.hp)); - int txtwidthlabel = graphics->backend.txt.get_width(label); - graphics->backend.txt.render_text(label, - pos + vec2 { w-10.0f-margin_amt-txtwidthlabel, 80 }); - } { - int txtwidth = graphics->backend.txt.get_width("<-"); - graphics->backend.txt.render_text("<-", - pos + vec2 { w-10.0f-margin_arrow-txtwidth, 80 }); - } { - std::string label = std::to_string((int)roundf(result.def_hp)); - int txtwidth = graphics->backend.txt.get_width(label); - graphics->backend.txt.render_text(label, - pos + vec2 { w-10.0f-margin_mod-txtwidth, 80 }); - } { - int txtwidth = graphics->backend.txt.get_width(sres[def_res]); - graphics->backend.txt.render_text(sres[def_res], - pos + vec2 { w-10.0f-margin_mod-20-txtwidth, 80 }); - } - - { - int batkh = render_attack_info_bonus(graphics, gst, - pos + vec2 { 10, 95 }, atk, def, true, 0); - int bdefh = render_attack_info_bonus(graphics, gst, - pos + vec2 { 10, 95 + batkh + 15.0f }, atk, def, false, 0); - } { - int batkh = render_attack_info_bonus(graphics, gst, - pos + vec2 { w-10.0f, 95 }, def, atk, true, 1); - int bdefh = render_attack_info_bonus(graphics, gst, - pos + vec2 { w-10.0f, 95 + batkh + 15.0f }, def, atk, false, 1); - } -} - -void Graphics::render (Gst &gst, View &view) -{ - Ground &gr = gst.inv->ground; - std::vector<Entity> &entities = gst.entities; - vec2 res { (float)resx, (float)resy }; - - for (int y=0; y<gr.sizey; y++) { - for (int x=0; x<gr.sizex; x++) { - Tile &tile = gst.inv->tiles[gr.tiles[gr.at(x,y)]]; - backend.render_sprite( - (int)tile.spritebounds.x, - (int)tile.spritebounds.y, 16, 16, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32 - ); - } - } - - for (Resource res : gr.resources) { - int x = res.pos % gr.sizex; - int y = res.pos / gr.sizex; - backend.render_sprite( - 16*res.kind, 16*2, 16, 16, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32 - ); - } - - render_ents(this, gst, 0); - render_ents(this, gst, 1); - - /* overlay */ - for (int y=0; y<gr.sizey; y++) { - for (int x=0; x<gr.sizex; x++) { - Tile &tile = gst.inv->tiles[gr.tiles[gr.at(x,y)]]; - backend.render_sprite( - (int)tile.spritebounds.x, - (int)tile.spritebounds.y-16, 16, 16, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32-32, 32, 32 - ); - } - } - - if (view.selected_entity != -1) { - int i = view.selected_entity; - Entity &ent = entities[i]; - Player &player = gst.get_player(ent.owner); - float bound_y = ent.info->spritebounds.y; - if (ent.info->unit == 0) { bound_y = player.level*16+16; } - vec2 pos { (float)ent.x*32, (float)ent.y*32 }; - backend.render_sprite ( - (int)ent.info->spritebounds.x, - (int)bound_y+256, 16, 16, - (int)cam.pos.x + (int)pos.x, - (int)cam.pos.y + (int)pos.y, 32, 32 - ); - } - - if (view.selected_ground != -1) { - int x = view.selected_ground % gr.sizex; - int y = view.selected_ground / gr.sizex; - vec2 pos { (float)x*32, (float)y*32 }; - Tile &tile = gst.inv->tiles[gr.tiles[gr.at(x,y)]]; - backend.render_sprite( - (int)tile.spritebounds.x, - (int)tile.spritebounds.y+256-16, 16, 32, - (int)cam.pos.x + (int)pos.x, - (int)cam.pos.y + (int)pos.y-32, 32, 64 - ); - } - - for (int i=0; i<entities.size(); i++) { - Entity &ent = entities[i]; - if (ent.info->unit == 1) { - backend.render_rect( - 0, 0, 0, 255, - (int)cam.pos.x + (int)ent.x*32+2, - (int)cam.pos.y + (int)ent.y*32+30, 28, 2 - ); - int amt = 28 * (entities[i].hp / 100); - Player &player = gst.get_player(ent.owner); - backend.render_rect( - player.r, player.g, player.b, 255, - (int)cam.pos.x + (int)ent.x*32+2, - (int)cam.pos.y + (int)ent.y*32+30, amt, 2 - ); - } - } - - render_menu(this, gst, view.menu_unit); - render_menu(this, gst, view.menu_day); - render_menu(this, gst, view.menu_build); - render_menu(this, gst, view.menu_train); - render_menu(this, gst, view.menu_trade); - render_menu(this, gst, view.menu_age_up); - render_menu_tech(this, gst, view); - - if (view.moves.size() > 0) { - for (int m : view.moves) { - int x = m % gr.sizex; int y = m / gr.sizex; - backend.render_rect( - 0, 120, 255, 100, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32 - ); - } - } - - if (view.attacks.size() > 0) { - for (int m : view.attacks) { - int x = m % gr.sizex; int y = m / gr.sizex; - backend.render_rect( - 255, 120, 0, 100, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32 - ); - } - } - - if (view.heals.size() > 0) { - for (int m : view.heals) { - int x = m % gr.sizex; int y = m / gr.sizex; - backend.render_rect( - 0, 200, 0, 100, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32 - ); - } - } - - if (view.converts.size() > 0) { - for (int m : view.converts) { - int x = m % gr.sizex; int y = m / gr.sizex; - backend.render_rect( - 200, 0, 200, 100, - (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32 - ); - } - } - - // top bar - vec2 pos { 0,0 }; - backend.render_rect ( - 255,255,255,255, - (int)pos.x,(int)pos.y,(int)res.x, 30 - ); - Player &player = gst.players[gst.turn]; - backend.render_rect ( - player.r, player.g, player.b, 255, - (int)pos.x+5,(int)pos.y+5, 20, 20 - ); - std::string txtfood = std::to_string((int)roundf(player.res[0])) + "f"; - std::string txtgold = std::to_string((int)roundf(player.res[1])) + "g"; - backend.txt.render_text( - txtfood, pos + vec2 { -backend.txt.get_width(txtfood) + res.x/2-10, 10 } - ); - backend.txt.render_text(txtgold, pos + vec2 { res.x/2+10, 10 }); - std::string txtres = "Researching: "; - if (player.researching != -1) { - txtres += gst.inv->get_tech(player.researching)->name; - } else { txtres += "None"; } - float reswidth = backend.txt.get_width(txtres); - backend.txt.render_text(txtres, pos + vec2 { res.x-reswidth-10, 10 }); - - // low bar - backend.render_rect ( - 255,255,255,255, - 0,(int)res.y-30,(int)res.x, 30 - ); - - // info stack box - int info_ground = -1; - if (view.hover_ground != -1) { info_ground = view.hover_ground; } - if (view.selected_entity != -1) { - int i = view.selected_entity; - info_ground = gr.at(entities[i].x, entities[i].y); - } - if (view.selected_ground != -1) { info_ground = view.selected_ground; } - - if (info_ground != -1) { - int unit = -1; - int bld = -1; - int x = info_ground % gr.sizex; - int y = info_ground / gr.sizex; - for (int i=0; i < gst.entities.size(); i++) { - Entity &ent = gst.entities[i]; - if (ent.x == x && ent.y == y) { - if (ent.info->unit) { unit = i; } - else { bld = i; } - } - } - - float hoff = -95; - if (bld != -1) hoff -= get_entity_info_height(gst.entities[bld]); - if (unit != -1) hoff -= get_entity_info_height(gst.entities[unit]); - - if (unit != -1) { - render_entity_info(this, gst, vec2 { 0, res.y-30+hoff }, unit); - hoff += get_entity_info_height(gst.entities[unit]); - } - if (bld != -1) { - render_entity_info(this, gst, vec2 { 0, res.y-30+hoff }, bld); - hoff += get_entity_info_height(gst.entities[bld]); - } - render_tile_info(this, gst, vec2 { 0, res.y-30+hoff }, info_ground); - } - - if (view.attacks.size() > 0 && view.hover_ground != -1) { - int def = -1; - int x = view.hover_ground % gr.sizex; - int y = view.hover_ground / gr.sizex; - for (int i=0; i < gst.entities.size(); i++) { - Entity &ent = gst.entities[i]; - if (ent.x == x && ent.y == y && ent.owner != gst.turn) { - def = i; break; - } - } - if (def != -1) { - render_attack_info(this, gst, vec2 { res.x/2-175, res.y/2-125 }, - view.selected_entity, def); - } - } -} - - -Graphics_sdl::Graphics_sdl (int resx, int resy) { - SDL_Init(SDL_INIT_VIDEO); - - SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "0"); - - window = SDL_CreateWindow("age", SDL_WINDOWPOS_UNDEFINED, - SDL_WINDOWPOS_UNDEFINED, resx, resy, SDL_WINDOW_SHOWN - | SDL_WINDOW_RESIZABLE); - screenSurface = SDL_GetWindowSurface(window); - - rend = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); - SDL_SetRenderDrawBlendMode(rend, SDL_BLENDMODE_BLEND); - - load_sheet(); - - txt.gRenderer = rend; -} - -Graphics_sdl::~Graphics_sdl () { - SDL_DestroyWindow(window); - SDL_Quit(); -} - -SDL_Renderer* Graphics_sdl::get_renderer () { return rend; } - -void Graphics_sdl::present () { - SDL_RenderPresent(rend); - SDL_SetRenderDrawColor(rend, 0, 0, 0, 255); - SDL_RenderClear(rend); -} - -void Graphics_sdl::load_sheet () { - SDL_Surface* surf = SDL_LoadBMP("content/sprites.bmp"); - SDL_SetColorKey(surf, SDL_TRUE, SDL_MapRGB(surf ->format,255,0,255)); - if (!surf) { - std::cout << "Error loading image: " << SDL_GetError() << std::endl; - system("pause"); - return; - } - txsprites = SDL_CreateTextureFromSurface(rend, surf); - SDL_FreeSurface(surf); - - SDL_Surface* surftext = SDL_LoadBMP("content/gf.bmp"); - SDL_SetColorKey(surftext, SDL_TRUE, SDL_MapRGB(surftext ->format,255,0,255)); - if (!surftext) { - std::cout << "Error loading image: " << SDL_GetError() << std::endl; - system("pause"); - return; - } - txt.tex = SDL_CreateTextureFromSurface(rend, surftext); - SDL_FreeSurface(surftext); -} - -void Graphics_sdl::render_sprite ( - int x, int y, int w, int h, - int u, int v, int s, int t) -{ - SDL_Rect srcRect = { x, y, w, h }; - SDL_Rect dstRect = { u, v, s, t }; - SDL_RenderCopy(rend, txsprites, &srcRect, &dstRect); -} - -void Graphics_sdl::render_sprite ( - int x, int y, int w, int h, - int u, int v, int s, int t, - int r, int g, int b) -{ - SDL_SetTextureColorMod(txsprites, r, g, b); - render_sprite(x, y, w, h, u, v, s, t); - SDL_SetTextureColorMod(txsprites, 255, 255, 255); -} - -void Graphics_sdl::render_rect ( - int r, int g, int b, int a, - int x, int y, int w, int h) -{ - SDL_SetRenderDrawColor(rend, r, g, b, a); - SDL_Rect rect = { x, y, w, h }; - SDL_RenderFillRect(rend, &rect); -} - - - -Graphics_sdl_text::Graphics_sdl_text () { - for (int i=0; i<128; char_width[i++]=5); - char_width['('] = 2; char_width[')'] = 2; - char_width['['] = 2; char_width[']'] = 2; - char_width['{'] = 3; char_width['}'] = 3; - char_width[','] = 1; char_width['-'] = 5; char_width['.'] = 1; - char_width['/'] = 4; char_width['!'] = 1; - char_width[':'] = 1; char_width[';'] = 1; - char_width['%'] = 4; - char_width['<'] = 3; char_width['>'] = 3; char_width['='] = 4; - char_width['I'] = 1; - char_width['f'] = 4; char_width['i'] = 1; char_width['j'] = 3; - char_width['l'] = 1; char_width['k'] = 4; char_width['t'] = 4; -} - -int Graphics_sdl_text::get_width (std::string str) { - int width = 0; - for (int i=0; str[i]!='\0'; i++) { - width += char_width[str[i]]; - if (str[i+1]!='\0') width++; - } - return width; -} - -void Graphics_sdl_text::render_text (std::string str, vec2 off) { - render_text(str, off, 0, 0, 0); -} - -void Graphics_sdl_text::render_text (std::string str, vec2 off, - int r, int g, int b) -{ - SDL_SetTextureColorMod(tex, r, g, b); - int width = 0; - for (int i=0; str[i]!='\0'; i++) { - int char_i = str[i]; - SDL_Rect srcRect = { (char_i%32)*6+1, (char_i/32)*12+1, 5, 11 }; - SDL_Rect dstRect = { (int)off.x+width, (int)off.y, 5, 11 }; - SDL_RenderCopy(gRenderer, tex, &srcRect, &dstRect); - width += char_width[char_i]+1; - } -} - -/* -void render_text_scaled (SDL_Renderer* rend, char str[], - float off[], txtd *t, float scale) -{ - int width = 0; - for (int i=0; str[i]!='\0'; i++) { - int char_i = str[i]; - SDL_Rect srcRect = { (char_i%32)*6+1, (char_i/32)*12+1, 5, 11 }; - SDL_Rect dstRect = { off[0]+width, off[1], 5*scale, 11*scale }; - SDL_RenderCopy(rend, t->tex, &srcRect, &dstRect); - width += t->cw[char_i]*scale+1*scale; - } +#include <algorithm>
+#include <iostream>
+#include <string>
+
+#include <math.h>
+
+#include "graphics.h"
+#include "../game/menu.h"
+#include "../game/tile.h"
+#include "../game/constants.h"
+
+Graphics::~Graphics () {
+}
+
+void Graphics::present () {
+ backend.present();
+}
+
+void render_ent (Graphics *graphics, Gst &gst, Entity &ent,
+ vec2 pos, int dflag)
+{
+ Player &player = gst.players[ent.owner];
+ float bound_y = ent.info->spritebounds.y;
+ if (ent.info->unit == 0) { bound_y = player.level*16+16; }
+ int done = 0;
+ if (dflag == 1) done = 512;
+ graphics->backend.render_sprite(
+ (int)ent.info->spritebounds.x,
+ (int)bound_y+done, 16, 16,
+ (int)pos.x, (int)pos.y, 32, 32
+ );
+ if (dflag == 0) {
+ graphics->backend.render_sprite(
+ (int)ent.info->spritebounds.x,
+ (int)bound_y+768, 16, 16,
+ (int)pos.x, (int)pos.y, 32, 32,
+ player.r, player.g, player.b
+ );
+ }
+}
+
+void render_ents (Graphics *graphics, Gst &gst, int unit) {
+ std::vector<Entity> &entities = gst.entities;
+ for (int i=0; i<entities.size(); i++) {
+ if (entities[i].info->unit != unit) continue;
+ Player &player = gst.players[entities[i].owner];
+ int dflag = 0;
+ if (unit) dflag = entities[i].done;
+ vec2 pos {
+ graphics->cam.pos.x + entities[i].x*32,
+ graphics->cam.pos.y + entities[i].y*32
+ };
+ render_ent(graphics, gst, entities[i], pos, dflag);
+ }
+}
+
+void render_menu (Graphics *graphics, Gst &gst, Menu &menu) {
+ vec2 res { (float)graphics->resx, (float)graphics->resy };
+ if (menu.active) {
+ vec2 pos { res };
+ float height = menu.options.size() * 20;
+ vec2 size { 120, height+10 };
+ pos *= 0.5f;
+ pos -= size/2;
+ graphics->backend.render_rect(
+ 255,255,255,255,
+ menu.pos.x,menu.pos.y,menu.size.x,menu.size.y
+ );
+ float acc = 0;
+ for (Option opt : menu.options) {
+ int r=0, g=0, b=0;
+ if (opt.id == menu.over) {
+ Player &player = gst.players[gst.turn];
+ r = player.r; g = player.g; b = player.b;
+ }
+ graphics->backend.txt.render_text(
+ opt.name, menu.pos + vec2 {10, 10 + acc}, r, g, b);
+ float width = graphics->backend.txt.get_width(opt.name);
+ if (opt.cost.size() > 0) {
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(opt.cost[0])) + "f",
+ menu.pos + vec2 { width + 20, 10 + acc });
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(opt.cost[1])) + "g",
+ menu.pos + vec2 { width + 50, 10 + acc });
+ }
+ acc += 20;
+ }
+ }
+}
+
+void render_menu_tech (Graphics *graphics, Gst &gst, View &view) {
+ vec2 res { (float)graphics->resx, (float)graphics->resy };
+ if (view.menu_tech.active) {
+ vec2 pos { res };
+ float height = view.menu_tech.options.size() * 20;
+ vec2 size { 120, height+10 };
+ pos *= 0.5f;
+ pos -= size/2;
+ graphics->backend.render_rect(
+ 255,255,255,255,
+ view.menu_tech.pos.x,view.menu_tech.pos.y,
+ view.menu_tech.size.x,view.menu_tech.size.y
+ );
+
+ float x = 0, y = 0;
+ for (auto v : view.menu_tech.tech_opt_ordered) {
+ for (auto opt : v) {
+ int r=0, g=0, b=0;
+ Player &player = gst.players[gst.turn];
+ if (opt.tech->id == view.menu_tech.over) {
+ r = player.r; g = player.g; b = player.b;
+ }
+ if (!gst.check_req_tech(opt.tech, player)) {
+ r = 100; g = 100; b = 100;
+ }
+ if (player.has_tech(opt.tech->id)) {
+ r = constants::col_gud_r;
+ g = constants::col_gud_g;
+ b = constants::col_gud_b;
+ }
+ graphics->backend.txt.render_text(opt.name,
+ view.menu_tech.pos + vec2 {10 + x, 10 + y}, r, g, b);
+ float width = graphics->backend.txt.get_width(opt.name);
+ /*
+ if (opt.tech->cost.size() > 0) {
+ graphics->backend.txt.render_text(
+ std::to_string (opt.tech->cost[0]) + "f",
+ view.menu_tech.pos + vec2 { width + 20 + x, 10 + y });
+ graphics->backend.txt.render_text(
+ std::to_string (opt.tech->cost[1]) + "g",
+ view.menu_tech.pos + vec2 { width + 50 + x, 10 + y });
+ }*/
+ y += 10;
+ }
+ x += 150; y = 0;
+ }
+ }
+}
+
+
+int get_entity_info_height (Entity &ent) {
+ return 155+10*ent.info->abilities.size();
+}
+
+void render_entity_info (Graphics *graphics, Gst &gst, vec2 pos, int i) {
+ Entity &ent = gst.entities[i];
+ Player &player = gst.players[ent.owner];
+ auto &tech = player.tech_lookup;
+ int id = ent.info->id;
+ int w = 200, h = get_entity_info_height(ent);
+
+ graphics->backend.render_rect (0,0,0,255,
+ (int)pos.x,(int)pos.y,w,h);
+ graphics->backend.render_rect (255,255,255,255,
+ (int)pos.x+1,(int)pos.y+1,w-2,h-2);
+
+ graphics->backend.render_rect (
+ 0,0,0,255, (int)pos.x+w-32-10-1, (int)pos.y+10-1,34,34);
+ graphics->backend.render_rect (
+ 255,255,255,255, (int)pos.x+w-32-10, (int)pos.y+10,32,32);
+
+ render_ent(graphics, gst, ent, vec2 { w-32-10.0f, 10 } + pos, 0);
+
+ graphics->backend.txt.render_text(ent.info->name, pos + vec2 { 10, 10 });
+ graphics->backend.txt.render_text("Attack", pos + vec2 { 10, 30 });
+ float attack = ent.info->attack * (1+tech.id(id).attack);
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(attack)), pos + vec2 { 90, 30 });
+ graphics->backend.txt.render_text("Defence", pos + vec2 { 10, 45 });
+ float defence = ent.info->defence * (1+tech.id(id).defence);
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(defence)), pos + vec2 { 90, 45 });
+ graphics->backend.txt.render_text("Move", pos + vec2 { 10, 60 });
+ int move = ent.info->move + tech.id(id).move;
+ graphics->backend.txt.render_text(
+ std::to_string(move), pos + vec2 { 90, 60 });
+ graphics->backend.txt.render_text("Range", pos + vec2 { 10, 75 });
+ int range = ent.info->range + tech.id(id).range;
+ graphics->backend.txt.render_text(
+ std::to_string(range), pos + vec2 { 90, 75 });
+ graphics->backend.txt.render_text("Sight", pos + vec2 { 10, 90 });
+ int sight = ent.info->sight + tech.id(id).sight;
+ graphics->backend.txt.render_text(
+ std::to_string(sight), pos + vec2 { 90, 90 });
+ graphics->backend.txt.render_text("Health", pos + vec2 { 10, 105 });
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(ent.hp)), pos + vec2 { 90, 105 });
+ graphics->backend.txt.render_text("Class", pos + vec2 { 10, 120 });
+ std::string ent_class = "";
+ switch (ent.info->ent_class) {
+ case EntityInfo::Class::inf: ent_class = "Infantry"; break;
+ case EntityInfo::Class::cav: ent_class = "Cavalry"; break;
+ case EntityInfo::Class::ran: ent_class = "Ranged"; break;
+ case EntityInfo::Class::sie: ent_class = "Siege"; break;
+ case EntityInfo::Class::bld: ent_class = "Building"; break;
+ }
+ graphics->backend.txt.render_text(ent_class, pos + vec2 { 90, 120 });
+ graphics->backend.txt.render_text("Abilities", pos + vec2 { 10, 135 });
+ std::string abname;
+ for (int s=0; s<ent.info->abilities.size(); s++) {
+ abname = gst.inv->abilities[ent.info->abilities[s]].name;
+ graphics->backend.txt.render_text(abname,
+ pos + vec2 { 90, 135+s*10.0f });
+ }
+}
+
+void render_tile_info (Graphics *graphics, Gst &gst, vec2 pos, int i) {
+ int x = i % gst.inv->ground.sizex;
+ int y = i / gst.inv->ground.sizex;
+ Tile &tile = gst.inv->tiles[gst.inv->ground.tiles[gst.inv->ground.at(x,y)]];
+
+ int w = 200, h = 95;
+ graphics->backend.render_rect (
+ 0,0,0,255,
+ (int)pos.x,(int)pos.y,w,h
+ );
+ graphics->backend.render_rect (
+ 255,255,255,255,
+ (int)pos.x+1,(int)pos.y+1,w-2,h-2
+ );
+
+ graphics->backend.render_sprite (
+ (int)tile.spritebounds.x,
+ (int)tile.spritebounds.y-16, 16, 32,
+ (int)pos.x + w-32-10,
+ (int)pos.y + 10-32, 32, 64
+ );
+
+ graphics->backend.txt.render_text(tile.name, pos + vec2 { 10, 10 });
+ graphics->backend.txt.render_text("Move", pos + vec2 { 10, 30 });
+ graphics->backend.txt.render_text(
+ std::to_string(tile.move_cost), pos + vec2 { 90, 30 });
+ graphics->backend.txt.render_text("Sight", pos + vec2 { 10, 45 });
+ graphics->backend.txt.render_text(
+ std::to_string(tile.sight_cost), pos + vec2 { 90, 45 });
+ graphics->backend.txt.render_text("Defence Bonus", pos + vec2 { 10, 60 });
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(tile.defence_bonus*100))+"%", pos + vec2 { 90, 60 });
+ graphics->backend.txt.render_text("Range Bonus", pos + vec2 { 10, 75 });
+ graphics->backend.txt.render_text(
+ std::to_string(tile.range_bonus), pos + vec2 { 90, 75 });
+}
+
+int render_attack_info_bonus (Graphics *graphics, Gst &gst, vec2 pos,
+ Entity &atk, Entity &def, bool attack, int rtl)
+{
+ float margin_amt = constants::menu_attack_margin_amt;
+ float margin_arrow = constants::menu_attack_margin_arrow;
+ float margin_mod = constants::menu_attack_margin_mod;
+
+ std::vector<Bonus> bonuses;
+ if (attack) { bonuses = gst.get_bonuses(atk, def); }
+ else { bonuses = gst.get_bonuses(def, atk); }
+
+ float value = attack ? atk.info->attack : atk.info->defence;
+
+ {
+ std::string nlabel = attack ? "Attack" : "Defence";
+ float labw = graphics->backend.txt.get_width(nlabel);
+ graphics->backend.txt.render_text(nlabel,
+ pos + vec2 { -labw*rtl, 0 });
+ } {
+ std::string nlabel = std::to_string((int)roundf(value));
+ float labw = graphics->backend.txt.get_width(nlabel);
+ graphics->backend.txt.render_text(nlabel,
+ pos + vec2 { margin_amt*(1-rtl*2)-labw*rtl, 0 });
+ }
+
+ int bonusnum = 0; float atk_mod = 1;
+ for (int s=0; s<bonuses.size(); s++) {
+ Bonus &b = bonuses[s];
+ if (b.atk == attack) {
+ float idw = graphics->backend.txt.get_width(b.id_string());
+ graphics->backend.txt.render_text(
+ b.id_string(), pos + vec2 { -idw*rtl, 10.0f+bonusnum*10 });
+ std::string amt;
+ if (b.amt > 0) amt += "+";
+ amt += std::to_string((int)roundf(b.amt*100)) + "%";
+ float labw = graphics->backend.txt.get_width(amt);
+ graphics->backend.txt.render_text(
+ amt, pos + vec2 {
+ margin_amt*(1-rtl*2)-labw*rtl,
+ 10.0f+bonusnum*10 });
+ atk_mod += b.amt;
+ bonusnum ++;
+ }
+ }
+
+ if (bonusnum > 0) {
+ {
+ std::string label = rtl ? "<-" : "->";
+ float labw = graphics->backend.txt.get_width(label);
+ graphics->backend.txt.render_text(label,
+ pos + vec2 { margin_arrow*(1-rtl*2)-labw*rtl, 0 });
+ }
+ {
+ std::string label = std::to_string((int)roundf(value * atk_mod));
+ float labw = graphics->backend.txt.get_width(label);
+ graphics->backend.txt.render_text(label,
+ pos + vec2 { margin_mod*(1-rtl*2)-labw*rtl, 0 });
+ }
+ }
+
+ return bonusnum*10;
+}
+
+
+void render_attack_info (Graphics *graphics, Gst &gst, vec2 pos, int i, int j) {
+ float margin_amt = constants::menu_attack_margin_amt;
+ float margin_arrow = constants::menu_attack_margin_arrow;
+ float margin_mod = constants::menu_attack_margin_mod;
+
+ Entity &atk = gst.entities[i];
+ Entity &def = gst.entities[j];
+ int w = 300, h = 250;
+
+ graphics->backend.render_rect (0,0,0,255,
+ (int)pos.x,(int)pos.y,w,h);
+ graphics->backend.render_rect (255,255,255,255,
+ (int)pos.x+1,(int)pos.y+1,w-2,h-2);
+
+ graphics->backend.render_rect (
+ 0,0,0,255, (int)pos.x+10-1, (int)pos.y+35-1,34,34);
+ graphics->backend.render_rect (
+ 255,255,255,255, (int)pos.x+10, (int)pos.y+35,32,32);
+ graphics->backend.render_sprite (
+ (int)atk.info->spritebounds.x,
+ (int)atk.info->spritebounds.y, 16, 16,
+ (int)pos.x + 10,
+ (int)pos.y + 35, 32, 32
+ );
+ {
+ Tile &tile = gst.inv->tiles[gst.inv->ground.tiles[
+ gst.inv->ground.at(atk.x,atk.y)]];
+ graphics->backend.render_sprite (
+ (int)tile.spritebounds.x,
+ (int)tile.spritebounds.y-16, 16, 32,
+ (int)pos.x + 52,
+ (int)pos.y + 35-32, 32, 64
+ );
+ }
+
+ graphics->backend.render_rect (
+ 0,0,0,255, (int)pos.x+w-42-1, (int)pos.y+35-1,34,34);
+ graphics->backend.render_rect (
+ 255,255,255,255, (int)pos.x+w-42, (int)pos.y+35,32,32);
+ graphics->backend.render_sprite (
+ (int)def.info->spritebounds.x,
+ (int)def.info->spritebounds.y, 16, 16,
+ (int)pos.x + w-42,
+ (int)pos.y + 35, 32, 32
+ );
+ {
+ Tile &tile = gst.inv->tiles[gst.inv->ground.tiles[
+ gst.inv->ground.at(def.x,def.y)]];
+ graphics->backend.render_sprite (
+ (int)tile.spritebounds.x,
+ (int)tile.spritebounds.y-16, 16, 32,
+ (int)pos.x + w-84,
+ (int)pos.y + 35-32, 32, 64
+ );
+ }
+
+ graphics->backend.txt.render_text(atk.info->name, pos + vec2 { 10, 10 });
+ {
+ int txtwidth = graphics->backend.txt.get_width(def.info->name);
+ graphics->backend.txt.render_text(def.info->name,
+ pos + vec2 { w-10.0f-txtwidth, 10 });
+ }
+
+ BattleResult result = gst.battle_res(atk, def);
+ std::vector<std::string> sres = { "++", "+", "=", "-", "--" };
+ float atk_loss = atk.hp-result.atk_hp;
+ float def_loss = def.hp-result.def_hp;
+ float est_atk = def_loss - atk_loss;
+ float est_def = atk_loss - def_loss;
+ int atk_res = 2;
+ int def_res = 2;
+ if (est_atk > 40) { atk_res = 0; }
+ else if (est_atk > 5) { atk_res = 1; }
+ if (est_atk < -40) { atk_res = 4; }
+ else if (est_atk < -5) { atk_res = 3; }
+ if (est_def > 40) { def_res = 0; }
+ else if (est_def > 5) { def_res = 1; }
+ if (est_def < -40) { def_res = 4; }
+ else if (est_def < -5) { def_res = 3; }
+
+ graphics->backend.txt.render_text("Health", pos + vec2 { 10, 80 });
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(atk.hp)),
+ pos + vec2 { 10+margin_amt, 80 });
+ graphics->backend.txt.render_text("->",
+ pos + vec2 { 10+margin_arrow, 80 });
+ graphics->backend.txt.render_text(
+ std::to_string((int)roundf(result.atk_hp)),
+ pos + vec2 { 10+margin_mod, 80 });
+ graphics->backend.txt.render_text(
+ sres[atk_res],
+ pos + vec2 { 10+margin_mod+20, 80 });
+ {
+ int txtwidth = graphics->backend.txt.get_width("Health");
+ graphics->backend.txt.render_text("Health",
+ pos + vec2 { w-10.0f-txtwidth, 80 });
+ std::string label = std::to_string((int)roundf(def.hp));
+ int txtwidthlabel = graphics->backend.txt.get_width(label);
+ graphics->backend.txt.render_text(label,
+ pos + vec2 { w-10.0f-margin_amt-txtwidthlabel, 80 });
+ } {
+ int txtwidth = graphics->backend.txt.get_width("<-");
+ graphics->backend.txt.render_text("<-",
+ pos + vec2 { w-10.0f-margin_arrow-txtwidth, 80 });
+ } {
+ std::string label = std::to_string((int)roundf(result.def_hp));
+ int txtwidth = graphics->backend.txt.get_width(label);
+ graphics->backend.txt.render_text(label,
+ pos + vec2 { w-10.0f-margin_mod-txtwidth, 80 });
+ } {
+ int txtwidth = graphics->backend.txt.get_width(sres[def_res]);
+ graphics->backend.txt.render_text(sres[def_res],
+ pos + vec2 { w-10.0f-margin_mod-20-txtwidth, 80 });
+ }
+
+ {
+ int batkh = render_attack_info_bonus(graphics, gst,
+ pos + vec2 { 10, 95 }, atk, def, true, 0);
+ int bdefh = render_attack_info_bonus(graphics, gst,
+ pos + vec2 { 10, 95 + batkh + 15.0f }, atk, def, false, 0);
+ } {
+ int batkh = render_attack_info_bonus(graphics, gst,
+ pos + vec2 { w-10.0f, 95 }, def, atk, true, 1);
+ int bdefh = render_attack_info_bonus(graphics, gst,
+ pos + vec2 { w-10.0f, 95 + batkh + 15.0f }, def, atk, false, 1);
+ }
+}
+
+void Graphics::render (Gst &gst, View &view)
+{
+ Ground &gr = gst.inv->ground;
+ std::vector<Entity> &entities = gst.entities;
+ vec2 res { (float)resx, (float)resy };
+
+ for (int y=0; y<gr.sizey; y++) {
+ for (int x=0; x<gr.sizex; x++) {
+ Tile &tile = gst.inv->tiles[gr.tiles[gr.at(x,y)]];
+ backend.render_sprite(
+ (int)tile.spritebounds.x,
+ (int)tile.spritebounds.y, 16, 16,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32
+ );
+ }
+ }
+
+ for (Resource res : gr.resources) {
+ int x = res.pos % gr.sizex;
+ int y = res.pos / gr.sizex;
+ backend.render_sprite(
+ 16*res.kind, 16*2, 16, 16,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32
+ );
+ }
+
+ render_ents(this, gst, 0);
+ render_ents(this, gst, 1);
+
+ /* overlay */
+ for (int y=0; y<gr.sizey; y++) {
+ for (int x=0; x<gr.sizex; x++) {
+ Tile &tile = gst.inv->tiles[gr.tiles[gr.at(x,y)]];
+ backend.render_sprite(
+ (int)tile.spritebounds.x,
+ (int)tile.spritebounds.y-16, 16, 16,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32-32, 32, 32
+ );
+ }
+ }
+
+ if (view.selected_entity != -1) {
+ int i = view.selected_entity;
+ Entity &ent = entities[i];
+ Player &player = gst.get_player(ent.owner);
+ float bound_y = ent.info->spritebounds.y;
+ if (ent.info->unit == 0) { bound_y = player.level*16+16; }
+ vec2 pos { (float)ent.x*32, (float)ent.y*32 };
+ backend.render_sprite (
+ (int)ent.info->spritebounds.x,
+ (int)bound_y+256, 16, 16,
+ (int)cam.pos.x + (int)pos.x,
+ (int)cam.pos.y + (int)pos.y, 32, 32
+ );
+ }
+
+ if (view.selected_ground != -1) {
+ int x = view.selected_ground % gr.sizex;
+ int y = view.selected_ground / gr.sizex;
+ vec2 pos { (float)x*32, (float)y*32 };
+ Tile &tile = gst.inv->tiles[gr.tiles[gr.at(x,y)]];
+ backend.render_sprite(
+ (int)tile.spritebounds.x,
+ (int)tile.spritebounds.y+256-16, 16, 32,
+ (int)cam.pos.x + (int)pos.x,
+ (int)cam.pos.y + (int)pos.y-32, 32, 64
+ );
+ }
+
+ for (int i=0; i<entities.size(); i++) {
+ Entity &ent = entities[i];
+ if (ent.info->unit == 1) {
+ backend.render_rect(
+ 0, 0, 0, 255,
+ (int)cam.pos.x + (int)ent.x*32+2,
+ (int)cam.pos.y + (int)ent.y*32+30, 28, 2
+ );
+ int amt = 28 * (entities[i].hp / 100);
+ Player &player = gst.get_player(ent.owner);
+ backend.render_rect(
+ player.r, player.g, player.b, 255,
+ (int)cam.pos.x + (int)ent.x*32+2,
+ (int)cam.pos.y + (int)ent.y*32+30, amt, 2
+ );
+ }
+ }
+
+ render_menu(this, gst, view.menu_unit);
+ render_menu(this, gst, view.menu_day);
+ render_menu(this, gst, view.menu_build);
+ render_menu(this, gst, view.menu_train);
+ render_menu(this, gst, view.menu_trade);
+ render_menu(this, gst, view.menu_age_up);
+ render_menu_tech(this, gst, view);
+
+ if (view.moves.size() > 0) {
+ for (int m : view.moves) {
+ int x = m % gr.sizex; int y = m / gr.sizex;
+ backend.render_rect(
+ 0, 120, 255, 100,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32
+ );
+ }
+ }
+
+ if (view.attacks.size() > 0) {
+ for (int m : view.attacks) {
+ int x = m % gr.sizex; int y = m / gr.sizex;
+ backend.render_rect(
+ 255, 120, 0, 100,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32
+ );
+ }
+ }
+
+ if (view.heals.size() > 0) {
+ for (int m : view.heals) {
+ int x = m % gr.sizex; int y = m / gr.sizex;
+ backend.render_rect(
+ 0, 200, 0, 100,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32
+ );
+ }
+ }
+
+ if (view.converts.size() > 0) {
+ for (int m : view.converts) {
+ int x = m % gr.sizex; int y = m / gr.sizex;
+ backend.render_rect(
+ 200, 0, 200, 100,
+ (int)cam.pos.x + x*32, (int)cam.pos.y + y*32, 32, 32
+ );
+ }
+ }
+
+ // top bar
+ vec2 pos { 0,0 };
+ backend.render_rect (
+ 255,255,255,255,
+ (int)pos.x,(int)pos.y,(int)res.x, 30
+ );
+ Player &player = gst.players[gst.turn];
+ backend.render_rect (
+ player.r, player.g, player.b, 255,
+ (int)pos.x+5,(int)pos.y+5, 20, 20
+ );
+ std::string txtfood = std::to_string((int)roundf(player.res[0])) + "f";
+ std::string txtgold = std::to_string((int)roundf(player.res[1])) + "g";
+ backend.txt.render_text(
+ txtfood, pos + vec2 { -backend.txt.get_width(txtfood) + res.x/2-10, 10 }
+ );
+ backend.txt.render_text(txtgold, pos + vec2 { res.x/2+10, 10 });
+ std::string txtres = "Researching: ";
+ if (player.researching != -1) {
+ txtres += gst.inv->get_tech(player.researching)->name;
+ } else { txtres += "None"; }
+ float reswidth = backend.txt.get_width(txtres);
+ backend.txt.render_text(txtres, pos + vec2 { res.x-reswidth-10, 10 });
+
+ // low bar
+ backend.render_rect (
+ 255,255,255,255,
+ 0,(int)res.y-30,(int)res.x, 30
+ );
+
+ // info stack box
+ int info_ground = -1;
+ if (view.hover_ground != -1) { info_ground = view.hover_ground; }
+ if (view.selected_entity != -1) {
+ int i = view.selected_entity;
+ info_ground = gr.at(entities[i].x, entities[i].y);
+ }
+ if (view.selected_ground != -1) { info_ground = view.selected_ground; }
+
+ if (info_ground != -1) {
+ int unit = -1;
+ int bld = -1;
+ int x = info_ground % gr.sizex;
+ int y = info_ground / gr.sizex;
+ for (int i=0; i < gst.entities.size(); i++) {
+ Entity &ent = gst.entities[i];
+ if (ent.x == x && ent.y == y) {
+ if (ent.info->unit) { unit = i; }
+ else { bld = i; }
+ }
+ }
+
+ float hoff = -95;
+ if (bld != -1) hoff -= get_entity_info_height(gst.entities[bld]);
+ if (unit != -1) hoff -= get_entity_info_height(gst.entities[unit]);
+
+ if (unit != -1) {
+ render_entity_info(this, gst, vec2 { 0, res.y-30+hoff }, unit);
+ hoff += get_entity_info_height(gst.entities[unit]);
+ }
+ if (bld != -1) {
+ render_entity_info(this, gst, vec2 { 0, res.y-30+hoff }, bld);
+ hoff += get_entity_info_height(gst.entities[bld]);
+ }
+ render_tile_info(this, gst, vec2 { 0, res.y-30+hoff }, info_ground);
+ }
+
+ if (view.attacks.size() > 0 && view.hover_ground != -1) {
+ int def = -1;
+ int x = view.hover_ground % gr.sizex;
+ int y = view.hover_ground / gr.sizex;
+ for (int i=0; i < gst.entities.size(); i++) {
+ Entity &ent = gst.entities[i];
+ if (ent.x == x && ent.y == y && ent.owner != gst.turn) {
+ def = i; break;
+ }
+ }
+ if (def != -1) {
+ render_attack_info(this, gst, vec2 { res.x/2-175, res.y/2-125 },
+ view.selected_entity, def);
+ }
+ }
+}
+
+
+Graphics_sdl::Graphics_sdl (int resx, int resy) {
+ SDL_Init(SDL_INIT_VIDEO);
+
+ SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "0");
+
+ window = SDL_CreateWindow("age", SDL_WINDOWPOS_UNDEFINED,
+ SDL_WINDOWPOS_UNDEFINED, resx, resy, SDL_WINDOW_SHOWN
+ | SDL_WINDOW_RESIZABLE);
+ screenSurface = SDL_GetWindowSurface(window);
+
+ rend = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
+ SDL_SetRenderDrawBlendMode(rend, SDL_BLENDMODE_BLEND);
+
+ load_sheet();
+
+ txt.gRenderer = rend;
+}
+
+Graphics_sdl::~Graphics_sdl () {
+ SDL_DestroyWindow(window);
+ SDL_Quit();
+}
+
+SDL_Renderer* Graphics_sdl::get_renderer () { return rend; }
+
+void Graphics_sdl::present () {
+ SDL_RenderPresent(rend);
+ SDL_SetRenderDrawColor(rend, 0, 0, 0, 255);
+ SDL_RenderClear(rend);
+}
+
+void Graphics_sdl::load_sheet () {
+ SDL_Surface* surf = SDL_LoadBMP("content/sprites.bmp");
+ SDL_SetColorKey(surf, SDL_TRUE, SDL_MapRGB(surf ->format,255,0,255));
+ if (!surf) {
+ std::cout << "Error loading image: " << SDL_GetError() << std::endl;
+ system("pause");
+ return;
+ }
+ txsprites = SDL_CreateTextureFromSurface(rend, surf);
+ SDL_FreeSurface(surf);
+
+ SDL_Surface* surftext = SDL_LoadBMP("content/gf.bmp");
+ SDL_SetColorKey(surftext, SDL_TRUE, SDL_MapRGB(surftext ->format,255,0,255));
+ if (!surftext) {
+ std::cout << "Error loading image: " << SDL_GetError() << std::endl;
+ system("pause");
+ return;
+ }
+ txt.tex = SDL_CreateTextureFromSurface(rend, surftext);
+ SDL_FreeSurface(surftext);
+}
+
+void Graphics_sdl::render_sprite (
+ int x, int y, int w, int h,
+ int u, int v, int s, int t)
+{
+ SDL_Rect srcRect = { x, y, w, h };
+ SDL_Rect dstRect = { u, v, s, t };
+ SDL_RenderCopy(rend, txsprites, &srcRect, &dstRect);
+}
+
+void Graphics_sdl::render_sprite (
+ int x, int y, int w, int h,
+ int u, int v, int s, int t,
+ int r, int g, int b)
+{
+ SDL_SetTextureColorMod(txsprites, r, g, b);
+ render_sprite(x, y, w, h, u, v, s, t);
+ SDL_SetTextureColorMod(txsprites, 255, 255, 255);
+}
+
+void Graphics_sdl::render_rect (
+ int r, int g, int b, int a,
+ int x, int y, int w, int h)
+{
+ SDL_SetRenderDrawColor(rend, r, g, b, a);
+ SDL_Rect rect = { x, y, w, h };
+ SDL_RenderFillRect(rend, &rect);
+}
+
+
+
+Graphics_sdl_text::Graphics_sdl_text () {
+ for (int i=0; i<128; char_width[i++]=5);
+ char_width['('] = 2; char_width[')'] = 2;
+ char_width['['] = 2; char_width[']'] = 2;
+ char_width['{'] = 3; char_width['}'] = 3;
+ char_width[','] = 1; char_width['-'] = 5; char_width['.'] = 1;
+ char_width['/'] = 4; char_width['!'] = 1;
+ char_width[':'] = 1; char_width[';'] = 1;
+ char_width['%'] = 4;
+ char_width['<'] = 3; char_width['>'] = 3; char_width['='] = 4;
+ char_width['I'] = 1;
+ char_width['f'] = 4; char_width['i'] = 1; char_width['j'] = 3;
+ char_width['l'] = 1; char_width['k'] = 4; char_width['t'] = 4;
+}
+
+int Graphics_sdl_text::get_width (std::string str) {
+ int width = 0;
+ for (int i=0; str[i]!='\0'; i++) {
+ width += char_width[str[i]];
+ if (str[i+1]!='\0') width++;
+ }
+ return width;
+}
+
+void Graphics_sdl_text::render_text (std::string str, vec2 off) {
+ render_text(str, off, 0, 0, 0);
+}
+
+void Graphics_sdl_text::render_text (std::string str, vec2 off,
+ int r, int g, int b)
+{
+ SDL_SetTextureColorMod(tex, r, g, b);
+ int width = 0;
+ for (int i=0; str[i]!='\0'; i++) {
+ int char_i = str[i];
+ SDL_Rect srcRect = { (char_i%32)*6+1, (char_i/32)*12+1, 5, 11 };
+ SDL_Rect dstRect = { (int)off.x+width, (int)off.y, 5, 11 };
+ SDL_RenderCopy(gRenderer, tex, &srcRect, &dstRect);
+ width += char_width[char_i]+1;
+ }
+}
+
+/*
+void render_text_scaled (SDL_Renderer* rend, char str[],
+ float off[], txtd *t, float scale)
+{
+ int width = 0;
+ for (int i=0; str[i]!='\0'; i++) {
+ int char_i = str[i];
+ SDL_Rect srcRect = { (char_i%32)*6+1, (char_i/32)*12+1, 5, 11 };
+ SDL_Rect dstRect = { off[0]+width, off[1], 5*scale, 11*scale };
+ SDL_RenderCopy(rend, t->tex, &srcRect, &dstRect);
+ width += t->cw[char_i]*scale+1*scale;
+ }
}*/
\ No newline at end of file diff --git a/graphics/graphics.h b/graphics/graphics.h index af8630a..a5b5eee 100644 --- a/graphics/graphics.h +++ b/graphics/graphics.h @@ -1,79 +1,79 @@ -#ifndef GRAPHICS_H -#define GRAPHICS_H - -#include <vector> -#include <string> - -#define SDL_MAIN_HANDLED -#include <SDL2/SDL.h> - -#include "../game/gst.h" -#include "../game/view.h" -#include "cam.h" - -#include <string> - - -class Graphics_sdl_text { - public: - Graphics_sdl_text(); - int get_width (std::string str); - void render_text (std::string str, vec2 off); - void render_text (std::string str, vec2 off, int r, int g, int b); - SDL_Renderer* gRenderer; - SDL_Texture *tex; - int char_width[128]; -}; - - -class Graphics_sdl { - public: - Graphics_sdl (int resx, int resy); - ~Graphics_sdl (); - SDL_Renderer* get_renderer (); - void load_sheet (); - void present (); - void change_res (int resx, int resy) { - SDL_SetWindowSize(window, resx, resy); - } - void render_sprite ( - int x, int y, int w, int h, - int u, int v, int s, int t); - void render_rect ( - int r, int g, int b, int a, - int x, int y, int w, int h); - void render_sprite ( - int x, int y, int w, int h, - int u, int v, int s, int t, - int r, int g, int b); - - Graphics_sdl_text txt; - - private: - SDL_Window* window = NULL; - SDL_Surface* screenSurface = NULL; - SDL_Renderer* rend = NULL; - SDL_Texture* txsprites = NULL; -}; - - -class Graphics { - public: - Graphics (int resx, int resy) - : resx(resx), resy(resy), backend(resx, resy) {} - ~Graphics (); - - Graphics_sdl backend; - - int resx, resy; - Cam cam; - - void render (Gst &gst, View &view); - void present (); - void change_res (int x, int y) { - resx = x; resy = y; - backend.change_res(x, y); - } -}; - +#ifndef GRAPHICS_H
+#define GRAPHICS_H
+
+#include <vector>
+#include <string>
+
+#define SDL_MAIN_HANDLED
+#include <SDL2/SDL.h>
+
+#include "../game/gst.h"
+#include "../game/view.h"
+#include "cam.h"
+
+#include <string>
+
+
+class Graphics_sdl_text {
+ public:
+ Graphics_sdl_text();
+ int get_width (std::string str);
+ void render_text (std::string str, vec2 off);
+ void render_text (std::string str, vec2 off, int r, int g, int b);
+ SDL_Renderer* gRenderer;
+ SDL_Texture *tex;
+ int char_width[128];
+};
+
+
+class Graphics_sdl {
+ public:
+ Graphics_sdl (int resx, int resy);
+ ~Graphics_sdl ();
+ SDL_Renderer* get_renderer ();
+ void load_sheet ();
+ void present ();
+ void change_res (int resx, int resy) {
+ SDL_SetWindowSize(window, resx, resy);
+ }
+ void render_sprite (
+ int x, int y, int w, int h,
+ int u, int v, int s, int t);
+ void render_rect (
+ int r, int g, int b, int a,
+ int x, int y, int w, int h);
+ void render_sprite (
+ int x, int y, int w, int h,
+ int u, int v, int s, int t,
+ int r, int g, int b);
+
+ Graphics_sdl_text txt;
+
+ private:
+ SDL_Window* window = NULL;
+ SDL_Surface* screenSurface = NULL;
+ SDL_Renderer* rend = NULL;
+ SDL_Texture* txsprites = NULL;
+};
+
+
+class Graphics {
+ public:
+ Graphics (int resx, int resy)
+ : resx(resx), resy(resy), backend(resx, resy) {}
+ ~Graphics ();
+
+ Graphics_sdl backend;
+
+ int resx, resy;
+ Cam cam;
+
+ void render (Gst &gst, View &view);
+ void present ();
+ void change_res (int x, int y) {
+ resx = x; resy = y;
+ backend.change_res(x, y);
+ }
+};
+
#endif
\ No newline at end of file @@ -1,117 +1,117 @@ -#include <iostream> -#include <vector> - -#include "umath/vec2.h" - -#include "graphics/graphics.h" -#include "commands/commands.h" -#include "timing/timing.h" -#include "game/entity.h" -#include "game/ground.h" -#include "game/playercontrol.h" -#include "game/gst.h" -#include "game/tile.h" -#include "game/load.h" - -#include "game/ai/engine.h" -#include "game/ai/performer.h" - - -int main () { - Graphics graphics (900, 600); - Commands_sdl com; - timing_sdl timing (60); - - Player_control control; - - float ts = 16; - - Inv inv; - load_json(inv); - - inv.ground.build(15,15); - inv.ground.tiles[1] = 1; - inv.ground.tiles[8] = 1; - inv.ground.tiles[11] = 2; - inv.ground.tiles[12] = 2; - for (int i=0; i<2000; i+=37) { - inv.ground.tiles[i%(inv.ground.sizex*inv.ground.sizey)] = 2; - inv.ground.tiles[(i+1)%(inv.ground.sizex*inv.ground.sizey)] = 2; - } - for (int i=0; i<2000; i+=71) { - inv.ground.tiles[i%(inv.ground.sizex*inv.ground.sizey)] = 1; - } - inv.ground.resources.emplace_back(inv.ground.at(3, 4), Resource::Type::gold); - inv.ground.resources.emplace_back(inv.ground.at(4, 4), Resource::Type::food); - - - Gst gst { &inv }; - - gst.players.emplace_back(255, 0, 0, 0); - gst.players[0].res = std::vector<float> { 1500, 1500 }; - gst.players.emplace_back(0, 0, 255, 1); - gst.players[1].res = std::vector<float> { 1500, 1500 }; - gst.players[0].level = 2; - - gst.entities.emplace_back(5, 1, inv.get_info("Town Center"), 0); - gst.entities.emplace_back(6, 1, inv.get_info("Barracks"), 0); - gst.entities.emplace_back(5, 0, inv.get_info("Stable"), 0); - gst.entities.emplace_back(4, 1, inv.get_info("Market"), 0); - gst.entities.emplace_back(1, 1, inv.get_info("Villager"), 0); - gst.entities.emplace_back(2, 1, inv.get_info("Light Cavalry"), 0); - gst.entities.emplace_back(4, 2, inv.get_info("Light Cavalry"), 1); - gst.entities.emplace_back(10, 10, inv.get_info("Villager"), 1); - gst.entities.emplace_back(1, 5, inv.get_info("Villager"), 1); - gst.entities.emplace_back(2, 5, inv.get_info("Militia"), 1); - gst.entities.emplace_back(0, 0, inv.get_info("Scout Cavalry"), 0); - gst.entities.emplace_back(1, 0, inv.get_info("Persian War Elephants"), 0); - gst.entities.emplace_back(0, 1, inv.get_info("Scorpions"), 1); - gst.entities.emplace_back(1, 2, inv.get_info("Archers"), 1); - gst.entities.emplace_back(4, 3, inv.get_info("Monks"), 0); - - View view (vec2 { (float)graphics.resx, (float)graphics.resy }); - - vec2 mouselast { 0, 0 }; - - while(true) { - if (com.process_events()) break; - if (com.resx != -1) { - graphics.change_res(com.resx, com.resy); - view.res = vec2 { (float)com.resx, (float)com.resy }; - } - vec2 mousepos { (float)com.mx, (float)com.my }; - vec2 mousedelta { mousepos }; - mousedelta -= mouselast; - - if (com.mclick[1]) { - graphics.cam.pos += mousedelta; - } - - mouselast = vec2 { (float)com.mx, (float)com.my }; - - timing.process(); - while (timing.check_process()) { - com.process_clicks(); - view.process(gst, graphics.cam.pos, mousepos, com.mheld); - if (com.check_key(SDL_SCANCODE_ESCAPE)) { - view.back = 1; - } - - if (com.check_key(SDL_SCANCODE_SPACE)) { - ai::engine eng { gst }; - auto best = eng.get_best(); - - ai::performer perf { gst }; - gst = perf.apply(best); - } - - control.process(gst, view); - com.process_keys(); - } - if (timing.check_render()) { - graphics.render(gst, view); - graphics.present(); - } - } - return 0; +#include <iostream>
+#include <vector>
+
+#include "umath/vec2.h"
+
+#include "graphics/graphics.h"
+#include "commands/commands.h"
+#include "timing/timing.h"
+#include "game/entity.h"
+#include "game/ground.h"
+#include "game/playercontrol.h"
+#include "game/gst.h"
+#include "game/tile.h"
+#include "game/load.h"
+
+#include "game/ai/engine.h"
+#include "game/ai/performer.h"
+
+
+int main () {
+ Graphics graphics (900, 600);
+ Commands_sdl com;
+ timing_sdl timing (60);
+
+ Player_control control;
+
+ float ts = 16;
+
+ Inv inv;
+ load_json(inv);
+
+ inv.ground.build(15,15);
+ inv.ground.tiles[1] = 1;
+ inv.ground.tiles[8] = 1;
+ inv.ground.tiles[11] = 2;
+ inv.ground.tiles[12] = 2;
+ for (int i=0; i<2000; i+=37) {
+ inv.ground.tiles[i%(inv.ground.sizex*inv.ground.sizey)] = 2;
+ inv.ground.tiles[(i+1)%(inv.ground.sizex*inv.ground.sizey)] = 2;
+ }
+ for (int i=0; i<2000; i+=71) {
+ inv.ground.tiles[i%(inv.ground.sizex*inv.ground.sizey)] = 1;
+ }
+ inv.ground.resources.emplace_back(inv.ground.at(3, 4), Resource::Type::gold);
+ inv.ground.resources.emplace_back(inv.ground.at(4, 4), Resource::Type::food);
+
+
+ Gst gst { &inv };
+
+ gst.players.emplace_back(255, 0, 0, 0);
+ gst.players[0].res = std::vector<float> { 1500, 1500 };
+ gst.players.emplace_back(0, 0, 255, 1);
+ gst.players[1].res = std::vector<float> { 1500, 1500 };
+ gst.players[0].level = 2;
+
+ gst.entities.emplace_back(5, 1, inv.get_info("Town Center"), 0);
+ gst.entities.emplace_back(6, 1, inv.get_info("Barracks"), 0);
+ gst.entities.emplace_back(5, 0, inv.get_info("Stable"), 0);
+ gst.entities.emplace_back(4, 1, inv.get_info("Market"), 0);
+ gst.entities.emplace_back(1, 1, inv.get_info("Villager"), 0);
+ gst.entities.emplace_back(2, 1, inv.get_info("Light Cavalry"), 0);
+ gst.entities.emplace_back(4, 2, inv.get_info("Light Cavalry"), 1);
+ gst.entities.emplace_back(10, 10, inv.get_info("Villager"), 1);
+ gst.entities.emplace_back(1, 5, inv.get_info("Villager"), 1);
+ gst.entities.emplace_back(2, 5, inv.get_info("Militia"), 1);
+ gst.entities.emplace_back(0, 0, inv.get_info("Scout Cavalry"), 0);
+ gst.entities.emplace_back(1, 0, inv.get_info("Persian War Elephants"), 0);
+ gst.entities.emplace_back(0, 1, inv.get_info("Scorpions"), 1);
+ gst.entities.emplace_back(1, 2, inv.get_info("Archers"), 1);
+ gst.entities.emplace_back(4, 3, inv.get_info("Monks"), 0);
+
+ View view (vec2 { (float)graphics.resx, (float)graphics.resy });
+
+ vec2 mouselast { 0, 0 };
+
+ while(true) {
+ if (com.process_events()) break;
+ if (com.resx != -1) {
+ graphics.change_res(com.resx, com.resy);
+ view.res = vec2 { (float)com.resx, (float)com.resy };
+ }
+ vec2 mousepos { (float)com.mx, (float)com.my };
+ vec2 mousedelta { mousepos };
+ mousedelta -= mouselast;
+
+ if (com.mclick[1]) {
+ graphics.cam.pos += mousedelta;
+ }
+
+ mouselast = vec2 { (float)com.mx, (float)com.my };
+
+ timing.process();
+ while (timing.check_process()) {
+ com.process_clicks();
+ view.process(gst, graphics.cam.pos, mousepos, com.mheld);
+ if (com.check_key(SDL_SCANCODE_ESCAPE)) {
+ view.back = 1;
+ }
+
+ if (com.check_key(SDL_SCANCODE_SPACE)) {
+ ai::engine eng { gst };
+ auto best = eng.get_best();
+
+ ai::performer perf { gst };
+ gst = perf.apply(best);
+ }
+
+ control.process(gst, view);
+ com.process_keys();
+ }
+ if (timing.check_render()) {
+ graphics.render(gst, view);
+ graphics.present();
+ }
+ }
+ return 0;
}
\ No newline at end of file @@ -1,47 +1,47 @@ -DEV -[x] level restrict train and build -[x] current tech gui -[x] tech bonus addition -[x] some tech effects -[x] tc and market trade -[x] age up menu -[x] end day upgrade on age up -[x] end day heal when on bld -[x] bld ages upgrades (just graphical) -[x] train problem -[x] more train problems (normal blds train mercs & monks in barracks) -[x] market (+50g mercs & discount tech) -[x] tech effects -[x] veterancy ranks -[x] heal -[x] convert -[ ] relics -[x] tower diagonal constraint -[ ] tower defence effect -> new bonus type -[ ] castle -[ ] frenzy special case -[ ] gui tech -[ ] gui production -[ ] gui train build -[ ] unit tech requirement (paladin, champion, imp siege) -[ ] fsm back -[ ] undo -[x] bld defence bonus -[ ] demolish -[x] imp entities -[ ] gst state / invariant -[ ] map saveload -[ ] map editor - -[ ] use maps to speed up lookups (even in ground.pos -> ent) - -ART -[x] imp unit sprites -[x] sprites stable, uni, market, church, tower and bld upgrade -[ ] castle - -BUGS -[ ] wheelbarrow doesn't work -[ ] search player by id, not by index - +DEV
+[x] level restrict train and build
+[x] current tech gui
+[x] tech bonus addition
+[x] some tech effects
+[x] tc and market trade
+[x] age up menu
+[x] end day upgrade on age up
+[x] end day heal when on bld
+[x] bld ages upgrades (just graphical)
+[x] train problem
+[x] more train problems (normal blds train mercs & monks in barracks)
+[x] market (+50g mercs & discount tech)
+[x] tech effects
+[x] veterancy ranks
+[x] heal
+[x] convert
+[ ] relics
+[x] tower diagonal constraint
+[ ] tower defence effect -> new bonus type
+[ ] castle
+[ ] frenzy special case
+[ ] gui tech
+[ ] gui production
+[ ] gui train build
+[ ] unit tech requirement (paladin, champion, imp siege)
+[ ] fsm back
+[ ] undo
+[x] bld defence bonus
+[ ] demolish
+[x] imp entities
+[ ] gst state / invariant
+[ ] map saveload
+[ ] map editor
+
+[ ] use maps to speed up lookups (even in ground.pos -> ent)
+
+ART
+[x] imp unit sprites
+[x] sprites stable, uni, market, church, tower and bld upgrade
+[ ] castle
+
+BUGS
+[ ] wheelbarrow doesn't work
+[ ] search player by id, not by index
+
[x] trained man at arms, bad alloc
\ No newline at end of file diff --git a/timing/timing.cpp b/timing/timing.cpp index 37c5f40..38c9c29 100644 --- a/timing/timing.cpp +++ b/timing/timing.cpp @@ -1,44 +1,44 @@ -#include "timing.h" - -timing_sdl::timing_sdl (double fps) { - frame_time = 1/fps; - last_time = SDL_GetTicks(); - frame_counter = 0; - tot_time = 0; - unprocessed_time = 0; - frames = 0; - render = false; -} - -void timing_sdl::process () { - render = false; - - double startTime = SDL_GetTicks(); - double passedTime = (startTime - last_time)/1000; - last_time = startTime; - - unprocessed_time += passedTime; - frame_counter += passedTime; - tot_time += passedTime; - - if (frame_counter >= 1.0) { - //printf("FPS: %i | %f ms\n", frames, 1000.0 / ((double)frames)); - frames = 0; - frame_counter = 0; - } -} - -bool timing_sdl::check_process () { - if (unprocessed_time > frame_time) { - render = true; - unprocessed_time -= frame_time; - return true; - } else { - return false; - } -} - -bool timing_sdl::check_render () { - if (render) { frames ++; } - return render; +#include "timing.h"
+
+timing_sdl::timing_sdl (double fps) {
+ frame_time = 1/fps;
+ last_time = SDL_GetTicks();
+ frame_counter = 0;
+ tot_time = 0;
+ unprocessed_time = 0;
+ frames = 0;
+ render = false;
+}
+
+void timing_sdl::process () {
+ render = false;
+
+ double startTime = SDL_GetTicks();
+ double passedTime = (startTime - last_time)/1000;
+ last_time = startTime;
+
+ unprocessed_time += passedTime;
+ frame_counter += passedTime;
+ tot_time += passedTime;
+
+ if (frame_counter >= 1.0) {
+ //printf("FPS: %i | %f ms\n", frames, 1000.0 / ((double)frames));
+ frames = 0;
+ frame_counter = 0;
+ }
+}
+
+bool timing_sdl::check_process () {
+ if (unprocessed_time > frame_time) {
+ render = true;
+ unprocessed_time -= frame_time;
+ return true;
+ } else {
+ return false;
+ }
+}
+
+bool timing_sdl::check_render () {
+ if (render) { frames ++; }
+ return render;
}
\ No newline at end of file diff --git a/timing/timing.h b/timing/timing.h index f420582..f036abc 100644 --- a/timing/timing.h +++ b/timing/timing.h @@ -1,24 +1,24 @@ -#ifndef TIMING_H -#define TIMING_H - -#define SDL_MAIN_HANDLED -#include <SDL2/SDL.h> - -class timing_sdl { - public: - timing_sdl(double fps); - void process(); - bool check_process(); - bool check_render(); - - private: - double frame_time; - double last_time; - double frame_counter; - double tot_time; - double unprocessed_time; - int frames; - bool render; -}; - +#ifndef TIMING_H
+#define TIMING_H
+
+#define SDL_MAIN_HANDLED
+#include <SDL2/SDL.h>
+
+class timing_sdl {
+ public:
+ timing_sdl(double fps);
+ void process();
+ bool check_process();
+ bool check_render();
+
+ private:
+ double frame_time;
+ double last_time;
+ double frame_counter;
+ double tot_time;
+ double unprocessed_time;
+ int frames;
+ bool render;
+};
+
#endif
\ No newline at end of file diff --git a/umath/intersect.h b/umath/intersect.h index 1cb1923..2705707 100644 --- a/umath/intersect.h +++ b/umath/intersect.h @@ -1,6 +1,6 @@ -#ifndef INTERSECT_H -#define INTERSECT_H - -bool intersect_ - +#ifndef INTERSECT_H
+#define INTERSECT_H
+
+bool intersect_
+
#endif
\ No newline at end of file diff --git a/umath/vec2.h b/umath/vec2.h index ee72143..248dcc1 100644 --- a/umath/vec2.h +++ b/umath/vec2.h @@ -1,33 +1,33 @@ -#ifndef VEC2_H -#define VEC2_H - -class vec2 { - public: - float x; - float y; - - vec2() : x(0), y(0) {}; - vec2(float x, float y) : x(x), y(y) {}; - - vec2(const vec2 &oth) { x = oth.x; y = oth.y; }; - vec2(vec2 &oth) { x = oth.x; y = oth.y; }; - - vec2 operator+(const vec2 &rhs) { - return vec2 { x + rhs.x, y + rhs.y }; - } - vec2 operator-(const vec2 &rhs) { - return vec2 { x - rhs.x, y - rhs.y }; - } - vec2 operator*(const float m) { - return vec2 { x * m, y * m }; - } - vec2 operator/(const float m) { - return vec2 { x / m, y / m }; - } - vec2 operator+=(vec2 oth) { x += oth.x; y += oth.y; } - vec2 operator-=(vec2 oth) { x -= oth.x; y -= oth.y; } - vec2 operator*=(float m) { x *= m; y *= m; } - vec2 operator/=(float m) { x /= m; y /= m; } -}; - +#ifndef VEC2_H
+#define VEC2_H
+
+class vec2 {
+ public:
+ float x;
+ float y;
+
+ vec2() : x(0), y(0) {};
+ vec2(float x, float y) : x(x), y(y) {};
+
+ vec2(const vec2 &oth) { x = oth.x; y = oth.y; };
+ vec2(vec2 &oth) { x = oth.x; y = oth.y; };
+
+ vec2 operator+(const vec2 &rhs) {
+ return vec2 { x + rhs.x, y + rhs.y };
+ }
+ vec2 operator-(const vec2 &rhs) {
+ return vec2 { x - rhs.x, y - rhs.y };
+ }
+ vec2 operator*(const float m) {
+ return vec2 { x * m, y * m };
+ }
+ vec2 operator/(const float m) {
+ return vec2 { x / m, y / m };
+ }
+ vec2 operator+=(vec2 oth) { x += oth.x; y += oth.y; }
+ vec2 operator-=(vec2 oth) { x -= oth.x; y -= oth.y; }
+ vec2 operator*=(float m) { x *= m; y *= m; }
+ vec2 operator/=(float m) { x /= m; y /= m; }
+};
+
#endif
\ No newline at end of file |