Compare commits

..

1 Commits

4 changed files with 25 additions and 12 deletions

View File

@ -28,6 +28,7 @@ target_include_directories(
)
option(USE_GLEW "use glew rather than glad" OFF)
option(BUILD_TEST "build unittests" OFF)
if (USE_GLEW)
message(STATUS "use glew to load opengl functions")
@ -42,7 +43,7 @@ if (USE_GLEW)
PUBLIC $<$<BOOL:"${USE_GLEW}">:TINYENGINE_USE_GLEW>
)
else()
message(STATUS "use glad to load opengl functions, this only work on MacOS")
message(STATUS "use glad to load opengl functions")
target_include_directories(
${ENGINE_NAME}
PUBLIC libs/glad/include
@ -106,7 +107,7 @@ add_custom_target(
COMMAND ${CMAKE_COMMAND} -E remove_directory output
COMMAND ${CMAKE_COMMAND} -E make_directory output
COMMAND ${CMAKE_COMMAND} -E make_directory output/game
COMMAND ${CMAKE_COMMAND} -E copy ./build/${PROJECT_NAME} output/game/${PROJECT_NAME}
COMMAND ${CMAKE_COMMAND} -E copy $<IF:$<STREQUAL:$<PLATFORM_ID>,"Windows">,./build/${PROJECT_NAME}.exe,./build/${PROJECT_NAME}> output/game/${PROJECT_NAME}
COMMAND ${CMAKE_COMMAND} -E copy_directory ./assets output/game/assets
COMMAND ${CMAKE_COMMAND} -E remove_directory ./output/game/assets/test
COMMAND ${CMAKE_COMMAND} -E copy ./HowToPlay.md output/

View File

@ -1,18 +1,13 @@
# SpaceWar
一款空战类游戏。采用C++17开发。
## 1MGames相关
1MGames比赛相关代码在`1mgames`分支下。此分支在未来可能会继续开发,目前不稳定。
为1MGames游戏开发比赛制作的游戏。采用C++17开发。
编译好的参赛作品在[这里](https://gitee.com/VisualGMQ/space-war/releases/v1.0.0)
## 编译方法
依赖:
编译平台为MacOS在MacOS Big Sur 11.6中编译成功且结果在1M以下也可以在其他平台编译但编译结果**不保证在1M以下**,仅仅是为了方便不同平台进行编译。
* SDL, SDL\_image, SDL\_ttf
使用CMake 3.20及以上进行编译。需要拉取`SDLEngine`作为子工程:
使用CMake 3.20及以上进行编译。需要拉取`glfw`作为子工程:
```bash
git submodule update --init --recursive
@ -25,6 +20,21 @@ cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
```
如果想要使用`glew`可以通过以下命令默认用glad:
```bash
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DUSE_GLEW=ON
cmake --build build
```
cmake会在你的电脑上寻找`glew`。
如果想要压缩文件至1M以下你需要有`strip`程序和`upx`程序,并执行:
```bash
cmake --build build --target CompressExe
```
编译好后执行pack命令打包
```bash

View File

@ -63,7 +63,7 @@ T Random(const T& low, const T& high) {
static_assert(std::is_floating_point<T>::value || std::is_integral<T>::value);
std::random_device device;
if (std::is_floating_point<T>::value) {
if constexpr (std::is_floating_point<T>::value) {
std::uniform_real_distribution<T> dist(low, high);
return dist(device);
} else {

View File

@ -26,6 +26,8 @@
#include <utility>
#include <limits>
#include <cassert>
#include <functional>
#include <cstring>
#include "miniaudio.h"
#include "stb_image.h"