1
0
Fork 0

QUIC protocol

This commit is contained in:
May B. 2020-11-03 23:04:43 +01:00
parent fde2f4c64d
commit 5d0009c763
1087 changed files with 117375 additions and 7715 deletions

20
.vscode/launch.json vendored
View File

@ -40,6 +40,26 @@
"ignoreFailures": true "ignoreFailures": true
} }
] ]
},
{
"name": "Run server (gdb debug)",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/univerxel-server",
"args": ["server.toml"],
"preLaunchTask": "Build debug server",
"stopAtEntry": false,
"cwd": "${workspaceFolder}/build",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Activer l'impression en mode Pretty pour gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
} }
] ]
} }

15
.vscode/tasks.json vendored
View File

@ -41,6 +41,15 @@
"cwd": "${workspaceRoot}/build" "cwd": "${workspaceRoot}/build"
} }
}, },
{
"label": "make server",
"type": "shell",
"command": "make",
"args": ["univerxel-server"],
"options": {
"cwd": "${workspaceRoot}/build"
}
},
{ {
"label": "exec", "label": "exec",
"type": "shell", "type": "shell",
@ -91,6 +100,12 @@
"dependsOrder": "sequence", "dependsOrder": "sequence",
"dependsOn": ["cmake debug", "make"] "dependsOn": ["cmake debug", "make"]
}, },
{
"label": "Build debug server",
"group": "build",
"dependsOrder": "sequence",
"dependsOn": ["cmake debug", "make server"]
},
{ {
"label": "Rebuild", "label": "Rebuild",
"group": "build", "group": "build",

View File

@ -8,6 +8,16 @@ option(USE_FMA "Use fma" 1)
option(LOG_DEBUG "Show debug logs" 0) option(LOG_DEBUG "Show debug logs" 0)
option(LOG_TRACE "Show trace logs" 0) option(LOG_TRACE "Show trace logs" 0)
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
endif(CCACHE_FOUND)
add_subdirectory("deps/glfw")
add_subdirectory("deps/glm")
add_subdirectory("deps/picoquic")
add_subdirectory("deps/zstd")
if(NOT CMAKE_BUILD_TYPE) if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release) set(CMAKE_BUILD_TYPE Release)
endif() endif()
@ -15,16 +25,6 @@ endif()
set(CMAKE_CXX_FLAGS "-Wall -Wextra") set(CMAKE_CXX_FLAGS "-Wall -Wextra")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache)
endif(CCACHE_FOUND)
add_subdirectory("include/glfw")
add_subdirectory("include/glm")
add_subdirectory("include/enet")
add_subdirectory("include/zstd")
add_compile_definitions(FIXED_WINDOW=${FIXED_WINDOW} LOG_DEBUG=${LOG_DEBUG} LOG_TRACE=${LOG_TRACE} HN_USE_FILESYSTEM=1) add_compile_definitions(FIXED_WINDOW=${FIXED_WINDOW} LOG_DEBUG=${LOG_DEBUG} LOG_TRACE=${LOG_TRACE} HN_USE_FILESYSTEM=1)
if(PROFILING) if(PROFILING)
add_compile_definitions(TRACY_ENABLE=1) add_compile_definitions(TRACY_ENABLE=1)
@ -39,16 +39,16 @@ if(USE_FMA)
add_definitions(-mfma) add_definitions(-mfma)
endif(USE_FMA) endif(USE_FMA)
file(GLOB_RECURSE CORE_SOURCES "src/core/*.cpp" "include/tracy/TracyClient.cpp") file(GLOB_RECURSE CORE_SOURCES "src/core/*.cpp" "deps/tracy/TracyClient.cpp")
set(CORE_HEADERS "include/toml++" "include/robin_hood" "include/libguarded" "include/tracy") set(CORE_HEADERS "deps/toml++" "deps/robin_hood" "deps/libguarded" "deps/tracy")
set(CORE_LIBS pthread dl glm::glm_static enet::enet_static zstd::zstd_static) set(CORE_LIBS pthread dl glm::glm_static picoquic-core zstd::zstd_static)
file(GLOB_RECURSE CLIENT_SOURCES "src/client/*.cpp" "include/imgui/*.cpp" "include/meshoptimizer/*.cpp" "include/gl3w/gl3w.c" "include/volk/volk.c") file(GLOB_RECURSE CLIENT_SOURCES "src/client/*.cpp" "deps/imgui/*.cpp" "deps/meshoptimizer/*.cpp" "deps/gl3w/gl3w.c" "deps/volk/volk.c")
set(CLIENT_HEADERS "include/imgui" "include/meshoptimizer" "include/gl3w" "include/volk") set(CLIENT_HEADERS "deps/imgui" "deps/meshoptimizer" "deps/gl3w" "deps/volk")
set(CLIENT_LIBS glfw) set(CLIENT_LIBS glfw)
file(GLOB_RECURSE SERVER_SOURCES "src/server/*.cpp" "include/FastNoiseSIMD/*.cpp") file(GLOB_RECURSE SERVER_SOURCES "src/server/*.cpp" "deps/FastNoiseSIMD/*.cpp")
set(SERVER_HEADERS "include/FastNoiseSIMD") set(SERVER_HEADERS "deps/FastNoiseSIMD")
set(SERVER_LINKED) set(SERVER_LINKED)
# All in one exec # All in one exec

View File

@ -31,7 +31,7 @@ Experimental project using OpenGL and Vulkan.
* OpenGL * OpenGL
* Vulkan * Vulkan
* ImGui * ImGui
* ENet * PicoQUIC
* FasNoiseSIMD * FasNoiseSIMD
* Love and insomnia * Love and insomnia
@ -44,6 +44,7 @@ Get a release compatible with your system window library and processor capabilit
### Prerequisites ### Prerequisites
* OpenGL or Vulkan driver * OpenGL or Vulkan driver
* OpenSSL 1.1+
### Usage ### Usage
@ -65,6 +66,7 @@ To get a local copy up and running, follow these simple steps.
* C++17 * C++17
* CMake 3.11 * CMake 3.11
* System window headers *(xorg-dev)* * System window headers *(xorg-dev)*
* OpenGL, Vulkan and OpenSSL headers
#### Optionally #### Optionally

View File

@ -8,13 +8,12 @@
## Hello other ## Hello other
- [~] Multiplayer - [x] Multiplayer
- [~] Chat - [~] Chat
- Private messages - Private messages
- [~] Authentication - [~] Authentication
- [x] Compression - [x] Compression
- [ ] Encryption - [x] Encryption
- DTLS
- [x] Embedded - [x] Embedded
- [x] Standalone - [x] Standalone
@ -38,6 +37,7 @@
- [ ] Get models - [ ] Get models
- [ ] Reduce compile unit count - [ ] Reduce compile unit count
- [ ] Review documentation - [ ] Review documentation
- [ ] Clean kick
## Hello universe ## Hello universe
@ -78,7 +78,7 @@
- [ ] Break area part to entity - [ ] Break area part to entity
- [ ] Slash screen - [ ] Slash screen
- [ ] Start/Pause menu - [ ] Start/Pause menu
- [ ] QUIC protocol - [x] QUIC protocol
- [ ] 8 for 1 contouring problem - [ ] 8 for 1 contouring problem
- [ ] Use in memory protocol (to replace server_handle) - [ ] Use in memory protocol (to replace server_handle)
- [ ] Octree - [ ] Octree

Some files were not shown because too many files have changed in this diff Show More