Skip to content

Commit d0dfd5e

Browse files
author
Jon Daniel
committed
Screenshot and input update, requires C++17
* SystemEvents in KeyChecker * ControlMenu now looks like ChasmPortable * add remappable keys present in original portable release like center_view and weapon_next/prev * SavesComment now contains time instead of LevelHealth * TGAWrite modification for screenshots * use strcasestr and strcasecmp * switch from KeyboardState to InputState allowing other input device type states * use char32_t instead of unsigned int for KeyCode * allow mouse control remap * allow rotate/wrap for msaa and pixel_size * fix character input in window resolution video menu * modify WriteTGA to support RGBA32 flipped input if palette equals nullptr * add SystemEvent support to KeyChecker * add screenshot implementation * use timestamp for saves instead of Level and Health * add LICENSE * add add-on list in README.md * add physfs and cgltf as submodule in external * support loading new TAR format csm.bin with PhysicsFS
1 parent d9efad5 commit d0dfd5e

37 files changed

+2018
-690
lines changed

.gitignore

Lines changed: 58 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,32 @@
1+
# Source temporaries
2+
*.cpp~
3+
*.hpp~
4+
src/.*.cpp.swp*
5+
src/.*.hpp.swp*
6+
src/*.cpp~
7+
src/*.hpp~
8+
src/common/*.cpp.swp*
9+
src/common/*.hpp.swp*
10+
src/common/*.cpp~
11+
src/common/*.hpp~
12+
src/sound/*.cpp.swp*
13+
src/sound/*.hpp.swp*
14+
src/sound/*.cpp~
15+
src/sound/*.hpp~
16+
src/server/*.cpp.swp*
17+
src/server/*.hpp.swp*
18+
src/server/*.cpp~
19+
src/server/*.hpp~
20+
src/net/*.cpp.swp*
21+
src/net/*.hpp.swp*
22+
src/net/*.cpp~
23+
src/net/*.hpp~
24+
125
# Windows binaries
226
*.exe
327
*.dll
4-
28+
*a.out
29+
*.so
530

631
# QtCreator project user settings
732
*.user
@@ -20,17 +45,44 @@ build-*
2045
*.cfg
2146

2247
# Game data
23-
csm.bin
24-
CSM.BIN
25-
CSM.bin
26-
csm.BIN
48+
*.bin
49+
*.BIN
50+
*.tar
51+
*.TAR
52+
CURSED/
53+
CURSED/*
54+
cursed/
55+
cursed/*
56+
MUSIC/
57+
MUSIC/*
58+
music/
59+
music/*
60+
ADDON1/
61+
ADDON1/*
62+
addon1/
63+
addon1/*
64+
borough/
65+
borough/*
66+
BOROUGH/
67+
BOROUGH/*
68+
USERMAP/
69+
USERMAP/*
70+
usermap/
71+
usermap/*
2772

2873
# Game saves
2974
saves/*
75+
SAVES/*
76+
77+
# Screen shots
78+
*.tga
79+
*.TGA
3080

3181
# Build system
3282
CMakeFiles/*
3383
CMakeFiles
84+
CMakeDoxyfile.in
85+
CMakeDoxygenDefaults.cmake
3486
cmake_install.cmake
3587
install_manifest.txt
3688
CMakeCache.txt
@@ -44,3 +96,4 @@ MapToTGAConverter
4496
ObjToTGAConverter
4597
PaletteExtractor
4698
PanzerChasm
99+
compile_commands.json

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,9 @@
44
[submodule "src/panzer_ogl_lib"]
55
path = src/panzer_ogl_lib
66
url = http://github.com/Panzerschrek/panzer_ogl_lib
7+
[submodule "external/physfs"]
8+
path = external/physfs
9+
url = http://github.com/jopadan/physfs
10+
[submodule "external/cgltf"]
11+
path = external/cgltf
12+
url = http://github.com/jkuhlmann/cgltf

CMakeLists.txt

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,39 @@ cmake_minimum_required(VERSION 3.1)
22

33
project(Chasm-Reverse)
44

5-
set(CMAKE_CXX_STANDARD 11)
5+
set(CMAKE_CXX_STANDARD 17)
6+
set(CMAKE_CXX_STANDARD_REQUIRED YES)
7+
8+
include(CheckCXXSourceCompiles)
9+
include(GNUInstallDirs)
10+
11+
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
612

713
if(MSVC)
814
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /D _CRT_SECURE_NO_WARNINGS /MP")
915
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _CRT_SECURE_NO_WARNINGS /MP")
1016
endif()
1117

1218
option(BUILD_TOOLS "Enable compilation of tools" YES)
13-
include(CheckCXXSourceCompiles)
14-
include(GNUInstallDirs)
1519

16-
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
20+
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/physfs)
21+
1722
find_package(SDL2 REQUIRED)
1823

1924
include_directories(${SDL2_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
20-
${CMAKE_CURRENT_SOURCE_DIR}/src/ ${CMAKE_CURRENT_SOURCE_DIR}/src/panzer_ogl_lib)
25+
${CMAKE_CURRENT_SOURCE_DIR}/src/
26+
${CMAKE_CURRENT_SOURCE_DIR}/src/panzer_ogl_lib
27+
${CMAKE_CURRENT_SOURCE_DIR}/external/physfs/src
28+
${CMAKE_CURRENT_SOURCE_DIR}/external/cgltf)
2129

2230
# Source and header files
2331
file(GLOB_RECURSE CHASM_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp")
2432
file(GLOB_RECURSE CHASM_HEADERS
2533
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.hpp"
2634
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.h"
27-
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.inl")
35+
"${CMAKE_CURRENT_SOURCE_DIR}/src/*.inl"
36+
"${CMAKE_CURRENT_SOURCE_DIR}/external/physfs/src/*.h"
37+
"${CMAKE_CURRENT_SOURCE_DIR}/external/cgltf/*.h")
2838

2939
# Detect MMX support
3040

@@ -48,6 +58,7 @@ endif()
4858

4959
set(CHASM_LIBS
5060
${SDL2_LIBRARY}
61+
physfs
5162
)
5263

5364
if(WIN32)

0 commit comments

Comments
 (0)