Skip to content

Commit

Permalink
New rules
Browse files Browse the repository at this point in the history
* add ports
* add more piece materials
* add button for finishing match
* add message for firing over mountains
* add more tooltips
* add more security checks for loading files
* add multiple server logs
* add new version notifier
* add chat notification
* add FPS counter
* finish controller support
* make late dragon placement optional
* change movement and switching rules
* change attack and firing rules
* change battle/survival check rules
* change FF rules
* change default tile amounts
* change port to service string
* fix FF gain
  • Loading branch information
karwler committed Aug 2, 2020
1 parent d53bb72 commit 154c142
Show file tree
Hide file tree
Showing 92 changed files with 6,408 additions and 4,550 deletions.
220 changes: 140 additions & 80 deletions CMakeLists.txt

Large diffs are not rendered by default.

22 changes: 14 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Based on the board game by Chad Anthony Randell.
See [RULES](doc/rules.html) or [DOCS](doc/docs.html) for details.

## Build
Used libraries are GLEW, GLM, SDL2, SDL2_image, SDL2_ttf and by extension FreeType, libjpeg, libpng and zlib. The included fonts are Romanesque Serif Regular and Merriweather Regular.
Used libraries are libcurl, GLEW, GLM, SDL2, SDL2_image, SDL2_ttf and by extension FreeType, libjpeg, libpng and zlib. The included fonts are Romanesque Serif Regular and Merriweather Regular.
The CMakeLists.txt is written for CMake 3.10.2 with Clang, GCC or MSVC which need to support C++17.

CMake variables:
Expand All @@ -19,11 +19,13 @@ CMake variables:
- use OpenGL ES
- SERVICE : bool = 0
- server program won't check keyboard input
- VER_CURL : string = 7.71.1
- libcurl version to download
- VER_GLEW : string = 2.1.0
- GLEW version to download
- VER_GLM : string = 0.9.9.7
- VER_GLM : string = 0.9.9.8
- GLM version to download
- VER_SDL : string = 2.0.10
- VER_SDL : string = 2.0.12
- SDL version to download
- VER_IMG : string = 2.0.5
- SDL_image version to download
Expand All @@ -34,26 +36,30 @@ CMake variables:
The "android" directory can be imported in Android Studio as a project, which builds only the game client.
To install the necessary additional files, run CMake with the "-DLIBDROID=1" option.
Next the CMake target "assets_android" needs to be built separately, which will create the assets in "android/app/src/main/assets". The requirements for this are as listed for the other systems.
It might be necessary to set the NDK location, which can be done in Android Studio under "File -> Project Structure -> SDK Location -> Android NDK Location".
If you're on Windows, make sure that your Git supports symbolic links or check that "android/app/jni/src" contains the files of "src".

### Emscripten
A makefile with a target for the game client can be created with the CMake file, which requires emsdk to be installed. Additional libraries will be downloaded.
Before building the program, the assets for OpenGL ES need to be built, using the method below and the created "data" directory has to be copied to the directory of the makefile for the Emscripten build.

### Linux
The only supported compilers are Clang and GCC. All dependencies need to be installed manually.
Installing the development packages for the listed libraries should be enough, assuming that all necessary dependencies are installed automatically.
The only supported compilers are Clang and GCC.
GLEW and GLM are downloaded and built while running CMake. SDL2, SDL2_image, SDL2_ttf and libcurl need to be installed manually.
To create a menu entry for the game client, you can use the "rsc/thrones.desktop" launcher file.
When building the game client on a Raspberry Pi, the CMake option "-DOPENGLES=1" should be set.

### macOS
All necessary dependencies are downloaded when running CMake.

### Windows
The only supported compilers are MSVC and MinGW. All necessary libraries are downloaded when running CMake.
All necessary libraries are downloaded and built with NMake while running CMake. Because of that you need to run CMake through the developer console or have NMake set up in the Path.
The only supported compiler is MSVC. MinGW might also work, but hasn't been tested yet.


## TODO
- message for not firing over mountains
- the overlays suck
- in emscripten there's an exception thrown somewhere
- homefront
- victory points
- windows server doesn't send rejections properly
- shadows aren't working properly on some systems
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@ if (buildAsApplication) {
}

android {
compileSdkVersion 29
compileSdkVersion 30
defaultConfig {
if (buildAsApplication) {
applicationId "org.duravia.thrones"
}
minSdkVersion 19
targetSdkVersion 29
targetSdkVersion 30
versionCode 4
versionName "0.5.0"
externalNativeBuild {
Expand Down
2 changes: 1 addition & 1 deletion android/app/jni/src/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ include $(CLEAR_VARS)
LOCAL_MODULE := main
SDL_PATH := ../SDL
LOCAL_C_INCLUDES := $(LOCAL_PATH)/$(SDL_PATH)/include $(LOCAL_PATH)/../glm
LOCAL_SRC_FILES := engine/audioSys.cpp engine/inputSys.cpp engine/fileSys.cpp engine/scene.cpp engine/windowSys.cpp engine/world.cpp oven/oven.cpp prog/game.cpp prog/netcp.cpp prog/program.cpp prog/progs.cpp server/server.cpp utils/context.cpp utils/layouts.cpp utils/objects.cpp utils/text.cpp utils/utils.cpp utils/widgets.cpp
LOCAL_SRC_FILES := engine/audioSys.cpp engine/inputSys.cpp engine/fileSys.cpp engine/scene.cpp engine/windowSys.cpp engine/world.cpp oven/oven.cpp prog/board.cpp prog/game.cpp prog/netcp.cpp prog/program.cpp prog/progs.cpp prog/types.cpp server/server.cpp utils/context.cpp utils/layouts.cpp utils/objects.cpp utils/text.cpp utils/utils.cpp utils/widgets.cpp
LOCAL_SHARED_LIBRARIES := SDL2 SDL2_image SDL2_ttf
LOCAL_LDLIBS := -lGLESv3 -llog
include $(BUILD_SHARED_LIBRARY)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 154c142

Please sign in to comment.