heinrich5991
0db5c51ed9
Add a simple CSV writer for Python's "excel" csv dialect
2020-06-23 09:11:59 +02:00
heinrich5991
6f3a7a60ea
Fix git_revision.cpp
updating for out-of-tree builds
2020-06-20 11:08:59 +02:00
Learath
ef89e9a300
Get CMake version requirement down again
2020-06-19 20:28:55 +03:00
Learath
03070d0567
Fix many issues
2020-06-19 20:28:52 +03:00
def
ef4cad9f4d
Fix Python
2020-06-19 20:27:15 +03:00
Learath
807c92f1a4
Generate the 0.7 protocol
2020-06-19 20:27:15 +03:00
heinrich5991
7f14b4b2bb
Add glibc's PRNG
...
Based on a description on https://www.mscs.dal.ca/~selinger/random/
(retrieved 2020-05-25).
2020-05-25 15:19:25 +02:00
heinrich5991
f339fea748
Merge pull request #2139 from edg-l/pr_add_upnp
...
Add UPnP support
2020-05-24 22:23:20 +02:00
Edgar
3569e174f2
refactor upnp code
2020-05-24 11:36:43 +02:00
Learath
5e02bb5a23
Extend antibot interface
...
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-13 23:39:40 +03:00
def
c9dfcb2b11
Fix Mac OS X notifications linking
2020-04-30 21:30:21 +02:00
Learath
09fad44b87
Strip rpath before adding the correct one
2020-04-30 15:04:51 +02:00
Learath
17d1bccf2b
Some osx cleanup
2020-04-30 15:04:51 +02:00
Arda Demir
b7d452d2a0
Libnotify support for linux client ( #2099 )
...
Add libnotify support for linux client
Also unify notification management
Make libnotify mandatory for the client. It is installed on 100% of Arch
Linux systems and on 70% of Debian systems. I'd guess the remaining
Debian systems are servers.
Detect dependent libraries of `libnotify` using `pkg-config`. Remove
library-specific code from the game module. Decrement refcount for
libnotify notification object before leaving the function.
2020-04-14 17:53:53 +02:00
Ryozuki
b647c1e978
Add UPnP support
2020-04-14 12:11:50 +02:00
Ryozuki
e2a85345e4
Rename antibot -> ddnet-antibot and install it on cmake
2020-04-12 17:13:47 +02:00
Ryozuki
5f565a5eb5
check for WavpackCloseFile
2020-04-11 13:17:21 +02:00
Dennis Felsing
2965b8578a
Merge pull request #2124 from def-/pr-macosx-10.7
...
Rebuild Mac OSX libs with -mmacosx-version-min=10.7 (previously 10.9)
2020-04-10 20:28:58 +02:00
Ryozuki
0da0dddf15
drop glu dependency
2020-04-08 18:19:12 +02:00
def
a127e6d5aa
Rebuild Mac OSX libs with -mmacosx-version-min=10.7 (previously 10.9)
2020-04-08 12:07:33 +02:00
def
18aec44a99
New try for hidapi SDL2 rpath
2020-04-08 09:17:15 +02:00
def
ae330bbe25
Try to fix SDL2 hidapi rpath on MacOSX
...
Following SDL 2.0.12 update
2020-04-08 07:37:00 +02:00
bors[bot]
0c51c0daf5
Merge #2117
...
2117: Don't emit the CMake rpath warning for CMake >= 3.14 r=def- a=heinrich5991
Fixes #2114 .
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-04-07 10:50:51 +00:00
heinrich5991
cac164cc71
Don't emit the CMake rpath warning for CMake >= 3.14
...
Fixes #2114 .
2020-04-07 12:01:18 +02:00
def
fd86c907a6
Fix ffmpeg package name ( fixes #2115 )
2020-04-07 09:00:19 +02:00
def
564e7577f7
Try to fix freetype mac warning
2020-04-06 12:48:58 +02:00
Learath
61e5667624
Streamline platform client
2020-03-28 02:20:16 +03:00
heinrich5991
bda3adabcc
Use relative rpath, force relative rpath for older CMake versions
...
This allows you to copy around the built binaries together with the
binaries.
2020-03-14 01:48:45 +01:00
heinrich5991
a3163c5b9c
Add support for dynamically loading an antibot module
...
Support for this feature is turned off by default. This feature allows
to integrate with noby's anticheat feature.
2020-03-11 01:58:50 +01:00
Dennis Felsing
50d848ec43
Merge pull request #1928 from sirius1242/demo_render2
...
Demo to video converter function.
2020-01-25 21:01:08 +01:00
ChillerDragon
01f42089f3
Add set_src to be more teeworlds compatible
...
thanks to @heinrich5991
2020-01-19 20:38:11 +01:00
heinrich5991
2fa80d0a67
Properly display hdiutil status in CMake
...
(cherry picked from commit cc2be456d4
)
2020-01-05 17:51:19 +01:00
def
df807a7486
-DVIDEORECORDER=ON instead of -DFFMPEG=ON, fix README
...
remove unused files
2020-01-01 16:56:54 +01:00
sirius
7710b88670
Merge branch 'master' of https://github.com/ddnet/ddnet into demo_render2
2020-01-01 18:36:49 +08:00
Dennis Felsing
45ad7be57c
Merge pull request #2021 from ElXreno/appdata
...
Add AppData manifest
2019-12-31 10:38:10 +01:00
ElXreno
44adf1878d
Added AppData manifest
2019-12-31 10:06:44 +03:00
Dennis Felsing
070d215ae0
Fix Travis Mac OSX build
...
ABI check failed, CMAKE_SIZEOF_VOID_P was thus not set and we look for
libs in wrong directory. Something seems to be wrong with the C/C++
compilers Travis is using. Not sure how to figure out more closely.
2019-12-30 13:19:33 +01:00
def
fbbf7b3929
Fix MinGW build by temporarily disabling FORTIFY_SOURCE ( fixes #2001 )
2019-12-17 22:04:21 +01:00
def
28aabc5b91
Add map_convert_07 tool
...
Fixes https://github.com/ddnet/ddnet7/issues/20
2019-12-08 22:44:25 +01:00
ElXreno
f6478067ae
Fixed installation on other than Ubuntu GNU/Linux distributions
2019-12-06 14:20:32 +03:00
sirius
1090953b7d
update CMakeLists to make no ffmpeg need when ffmpeg off
2019-10-03 19:01:25 +08:00
sirius
d9d1e8b309
add if defined to newly added lines
2019-09-30 20:54:19 +08:00
sirius
1375fbb95d
add a button to render whole demo
2019-09-30 20:52:24 +08:00
HMH
461da64021
Basic cmake support for videorecorder
2019-09-30 20:49:35 +08:00
Dennis Felsing
0d9952b32a
Merge pull request #1748 from archimede67/pr_replays
...
Replay system (demo after-the-fact)
2019-06-11 18:13:26 +02:00
Corantin H
2e27a22927
typo + added an optional argument to save_replay + changed max replay length and fixed cl_notification_time values
2019-06-02 15:34:01 +02:00
Corantin H
761e73a131
should be thread safe now + moved demoedit to a new file
2019-05-31 20:42:28 +02:00
Ryozuki
bd1f6be080
add .desktop and ico installation
2019-05-26 18:11:48 +02:00
Ryozuki
ed5b96c6b9
fix modern cmake version warnings
2019-05-11 12:00:21 +02:00
Learath
5e5def314f
Add tests
2019-04-24 23:53:38 +03:00
bors[bot]
526af034dd
Merge #1620
...
1620: Rewrite of prediction code, with additional prediction (updated) r=def- a=trml
This is a reworked attempt at a rewrite of the prediction code (#464 ), to allow for more client side prediction. It doesn't fix the duplication of server code, but the client code should otherwise be cleaner. This includes separating prediction code out of gamecore/gameclient, and a refactor of the rendering of predicted characters.
There is also prediction for some new things, and some other changes:
- prediction of laser, shotgun, ninja, fng hammer, pickups and ddrace tiles (freeze/unfreeze tiles with cl_predict_freeze)
- laser and bullets are rendered when you fire them and bullets don't go through walls (when both cl_antiping_grenade and cl_antiping_weapons are enabled)
- antiping for flags
- prediction of dummy input
- an additional smoothing option that attempts to make antiping less jumpy (cl_antiping_smooth)
Co-authored-by: trml <trml@users.noreply.github.com>
Co-authored-by: trml <trml@noreply.github.com>
2019-04-23 17:11:21 +00:00
Dmitry Marakasov
e404d6fd63
Fix platform-specific client libraries for Linux
...
Do not hardcode library names, detect and depend on them properly instead.
2019-04-23 18:15:30 +03:00
trml
0b3f3b03b5
Rewrite of prediction code, with additional prediction
2019-04-21 16:12:20 +02:00
Dennis Felsing
3ac2e0a06a
Merge pull request #1617 from def-/pr-ninja-compiler-color
...
Add compiler colors when using ninja
2019-04-14 22:00:53 +02:00
bors[bot]
826a7781ae
Merge #1621
...
1621: Actually enable -Wuseless-cast r=heinrich5991 a=def-
It's not supported in C and we only checked using a C compiler.
Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-04-12 00:08:19 +00:00
Learath
b342048dad
Actually add crypto includes to the target
2019-04-11 22:00:33 +02:00
Dennis Felsing
cde07b420b
Implement changes suggested by -Wuseless-cast
...
But don't enable it yet because I'm not sure what the best way is.
2019-04-11 19:54:43 +02:00
def
1d09dfa004
Add compiler colors when using ninja
2019-04-11 08:12:40 +02:00
Dennis Felsing
ed34dcfec5
Merge pull request #1602 from def-/pr-explain-tiles
...
Explain game tiles and entities in editor (fixes #1600 )
2019-04-10 17:38:22 +02:00
def
fe432b8ae4
Enable a few more GCC warnings
2019-04-09 22:05:21 +02:00
def
eda16acbca
Explain game tiles and entities in editor ( fixes #1600 )
...
- Explanations by Lady Saavik taken from https://ddnet.tw/explain/
- CCW/CW were mixed up in enum names, fixed
- Make sure that the texts fits, otherwise reduce font size
- Still need explanations for Portal tiles
2019-04-08 19:39:56 +02:00
heinrich5991
e44b1ca986
Use OpenSSL md5 if it is available
...
Fixes #1582 .
2019-04-06 02:56:29 +02:00
def
985c0153c7
cmake: Warn on unknown CMAKE_BUILD_TYPE ( fixes #1334 )
2019-03-19 22:14:58 +01:00
heinrich5991
632e91da3a
Add a notification when files are not sorted in CMake
...
Would've solved the problem in teeworlds/teeworlds#2039 faster.
(cherry picked from commit fbdc6d69be
)
2019-03-07 12:23:54 +01:00
def
bc91659aa8
Get GAME_RELEASE_VERSION back, fix compatibility filter in server browser
2019-03-06 21:02:06 +01:00
def
deb2494692
Don't suggest to downgrade, clean up versioning ( fixes #1440 )
2019-03-03 20:31:23 +01:00
def
faa3cc195d
UTF8 nocase compare & use for chat TAB completion
...
- As suggested by Arseniy Zarche
- Also updated confusables to Unicode 12
2019-01-09 08:31:03 +01:00
yangfl
754e6befb3
CMakeLists.txt: Add TESTRUNNER_ARGS
...
Make it easy to disable certain tests if they can't be run.
2019-01-06 14:17:06 +08:00
yangfl
b704fd95e1
CMakeLists.txt: Let compiler tell its arch
2018-12-24 20:47:31 +08:00
def
77c086d617
Another CMake fix
2018-12-23 23:18:56 +01:00
def
280ed3fc3d
CMake: Move -lpthread to the very end to fix Linux linking
2018-12-23 23:13:41 +01:00
Dennis Felsing
5c18d6c481
Remove /modhelp ( fixes #1401 )
2018-12-12 10:05:44 +01:00
heinrich5991
9ef200cd4a
Revert "CMakeLists.txt: Replace PythonInterp with Python"
...
This reverts commit c1523d9fc3
.
Fixes #1352 .
2018-10-20 14:37:12 +02:00
yangfl
c1523d9fc3
CMakeLists.txt: Replace PythonInterp with Python
...
FindPythonInterp is deprecated since CMake version 3.12. Use Python to
automatically detect Python 3 or 2.
2018-10-11 08:57:56 +08:00
heinrich5991
4660e0a680
Add support for extra map items in datafiles
...
This works by utilizing the good old UUIDs – this way we can make sure
that we don't clash with other people extending the map format.
2018-10-08 23:05:56 +02:00
Dennis Felsing
e8bd8459a6
Fix #1325
2018-10-04 09:25:41 +02:00
Dennis Felsing
a95032b633
Apply heinrich5991's fix for #1324
2018-10-04 08:39:43 +02:00
Dennis Felsing
b0759830b7
Merge pull request #1300 from Learath2/dd_pr_autoupdateflag
...
CMake option to disable autoupdater. Closes #1292
2018-10-02 08:04:12 +02:00
heinrich5991
81408cac4e
Debug mode should only be default if DEV is set, release otherwise
...
Fixes #1308 .
2018-09-30 19:01:43 +02:00
Learath
2696ac134c
Handle the platform differences in CMake.
2018-09-20 14:06:18 +02:00
Learath
3852f0e720
CMake option to disable autoupdater. Closes #1292
2018-09-20 03:01:31 +02:00
Dennis Felsing
c7941db9d4
Static linking only when PREFER_BUNDLED_LIBS ( closes #1295 )
2018-09-19 07:58:17 +02:00
heinrich5991
cb09161dec
Add a proper make install
command
...
It will install data into `share/ddnet`, client and server binaries into
`bin` and tools into `lib/ddnet`.
Fixes #1269 .
2018-08-26 21:44:31 +02:00
heinrich5991
f7afd76292
(Re-?)add proper install target
...
This puts binaries in `bin` and the data dir into `share/ddnet`.
2018-08-21 21:53:08 +02:00
heinrich5991
8d04e7e5e1
Share libcurl resources across requests
...
Use the libcurl-share interface to share DNS cache and connections
between different requests.
If compiled with OpenSSL, libcurl can only be safely used from multiple
threads for OpenSSL >= 1.1.0, but this problem is not newly introduced
by this commit: According to libcurl-thread(3):
>OpenSSL <= 1.0.2 the user must set callbacks.
>
>https://www.openssl.org/docs/man1.0.2/crypto/threads.html#DESCRIPTION
>
>https://curl.haxx.se/libcurl/c/opensslthreadlock.html
2018-07-11 20:17:21 +02:00
yangfl
81a39c229b
Fix typo
2018-07-10 17:29:02 +08:00
heinrich5991
67a3042051
Fix Mac linking for cross-compilation
...
The `Security` framework is now needed on all targets because we link
libcurl everywhere.
2018-06-27 12:35:01 +02:00
Dennis Felsing
6c1e50bba5
Revert "No Crypto on Mac OSX"
...
This reverts commit fd1cdbfa74
.
2018-06-27 10:02:29 +02:00
Dennis Felsing
fd1cdbfa74
No Crypto on Mac OSX
2018-06-27 09:47:53 +02:00
heinrich5991
ca8fcc823c
Use more secure hash function for map downloads
...
SHA256 was chosen because it is reasonably standard, the file names
don't explode in length (this rules out SHA512) and it is supported by
basically all versions of OpenSSL (this rules out SHA512/256 and SHA3).
The protocol is changed in a backward compatible way: The supporting
server sends the SHA256 corresponding to the map in the `MAP_DETAILS`
message prior to sending the `MAP_CHANGE` message. The client saves the
SHA256 obtained from the `MAP_DETAILS` message until the next
`MAP_CHANGE` message.
For servers not supporting this protocol, the client falls back to
simply opening maps like in the previous scheme.
Remove the `map_version` tool, it is not being used and would have been
a little bit effort to update.
Use the OpenSSL implementation of SHA256 if it is supported, otherwise
fall back to a public domain one.
Fix #1127 .
2018-06-24 17:04:50 +02:00
heinrich5991
36694d3852
Add a way to call for external moderator help
...
This is done by HTTP POSTing to a location specified by
`sv_modhelp_url`. We also provide a `src/modhelp/server.py` which can
use theses POSTs to forward them to Discord servers.
The POST contains a JSON object payload, with the keys `"port"` which
contains the server port, `"player_id"` which contains the calling
player's client ID, `"player_name"` which contains the calling player's
nick and `"message"` which is the user-specified message.
Make JSON-escaping function public, add tests and fix bugs uncovered by
these tests.
Supersedes #1129 .
2018-06-19 23:27:35 +02:00
def
9c29d83d32
Try statically linking libgcc and libstdc++ on Linux too
2018-05-22 19:42:48 +02:00
def
f19f4530d3
Revert "Try removing manifest"
...
This reverts commit 6df2ad55ed
.
2018-05-09 22:06:52 +02:00
def
6df2ad55ed
Try removing manifest
...
Causes bug with Intel driver using OpenGL2:
https://stackoverflow.com/questions/34676697/embedding-manifest-into-the-application-binary-breaks-opengl-2
2018-05-07 20:57:06 +02:00
heinrich5991
81aeb30654
Also add a console command to enable map compatibility mode
2018-05-01 12:38:33 +02:00
heinrich5991
4576dae6aa
Add infrastructure for special-casing maps
2018-03-24 14:00:41 +01:00
heinrich5991
11304661db
Put name ban stuff into a separate file
...
Fix a bug when overlong names could be used to circumvent name bans. Add
tests for name bans.
2018-03-14 02:35:31 +01:00
heinrich5991
a71cc2a55b
Execute git_revision.py
in the source directory
...
Previously, if using an out-of-source build directory, git would report
an error and no revision string would be added to the final executable.
2018-03-10 00:58:10 +01:00
heinrich5991
31a3e8d4c0
Add possibility to ban players by name
...
This uses the Unicode confusable data together with judging how close
two strings are by using the Levenshtein distance.
Adds the commands `name_ban`, `name_unban` and `name_bans`. Kicks
players who join using a banned name and doesn't allow ingame players to
change their names to the banned ones.
2018-03-09 20:30:27 +01:00
heinrich5991
d118fbd5e0
Fix build with -DCLIENT=OFF
on macOS
2018-03-06 19:25:59 +01:00
heinrich5991
458804c059
Make game dependency on generated protocol.h
explicit
2018-03-02 03:42:35 +01:00
heinrich5991
1387ee9a3a
Regenerate version file on git changes
...
Previously, this file had to be manually deleted if you wanted to have a
new version compiled in.
2018-03-01 16:50:29 +01:00
heinrich5991
1578e272a3
Ignore old generated files if still present
...
Our build system used to put generated files into `src/game/generated`,
now it's using `${PROJECT_BUILD_DIR}/src/game/generated`. Prefer the
ones in `${PROJECT_BUILD_DIR}/src/game/generated`.
2018-02-20 17:11:18 +01:00
heinrich5991
ac7e92df5e
Rerun wavpack version detection when the library changes
2018-02-20 17:10:52 +01:00
def
491ccc85e1
Revert "Fix system wavpack ( fixes #1041 )"
...
This reverts commit 295b8a663a
.
2018-02-18 15:35:20 +01:00
def
295b8a663a
Fix system wavpack ( fixes #1041 )
2018-02-18 09:36:35 +01:00
heinrich5991
73c03544b4
Support older wavpack versions
2018-02-17 01:35:07 +01:00
heinrich5991
99fe1d7bcf
Revert "Fix bundled wavpack when system wavpack is available"
...
This reverts commit 0d9265b1fa
.
2018-02-17 01:31:40 +01:00
def
0d9265b1fa
Fix bundled wavpack when system wavpack is available
2018-02-15 19:30:40 +01:00
heinrich5991
38b96791f6
Try to find libwebsockets
on the host system
2018-02-14 12:55:37 +01:00
heinrich5991
94818ec1f0
Try to find external GLEW, pnglite and Wavpack
...
Allow for newer versions of Wavpack, fixes #1023 .
Fixes #1016 .
2018-02-12 23:29:45 +01:00
heinrich5991
22164d5c45
Squelch warnings in bundled ZLIB dependency
2018-02-12 23:29:45 +01:00
heinrich5991
9e9b57ec62
Move generated files to the CMake build directory
2018-02-12 23:29:45 +01:00
Learath2
050a34295f
Remove make_release, scrub references to lua files
2018-01-29 13:37:26 +01:00
Learath2
b26eeb235d
Scrub more references to bam
2018-01-28 22:47:03 +01:00
bors[bot]
f48a2a395b
Merge #947
...
947: Add support for extra chunks in teehistorian r=Learath2 a=heinrich5991
This allows to add rarely-used chunks without increasing the file format
version.
2018-01-27 21:09:43 +00:00
def
151da9af97
Remove Emojis
2018-01-25 20:03:18 +01:00
heinrich5991
9712a4494b
CMAKE_CXX_FLAGS
is space-separated, not semicolon-separated
2018-01-22 19:48:17 +01:00
heinrich5991
ccad91a11d
Check for -std=gnu++11
in the C++, not C, compiler
2018-01-22 19:32:30 +01:00
heinrich5991
6b7921677c
CMakeLists.txt: Check for each of the flags before adding them
2018-01-22 19:10:57 +01:00
def
45412a9a05
-ffloat-store to fix win32 server floats ( fixes #989 )
2018-01-15 19:34:54 +01:00
def
b3ad3f2d27
Forgot .exe ending for Windows
2018-01-14 16:11:09 +01:00
def
4aeb0f9a8e
Strip binaries, even in package_*
2018-01-14 15:57:02 +01:00
def
636fdeba70
cpack should get shorter version name as well
2018-01-14 15:31:31 +01:00
def
325371331d
Version 11.0
2018-01-14 15:04:18 +01:00
def
7726540de1
Not sure why c++11 is not respected when compiling for mac
2018-01-14 14:36:25 +01:00
def
44ffaffb36
Tell cpack to strip files
2018-01-14 08:42:15 +01:00
heinrich5991
22080c840f
Move teehistorian UUIDs into engine
2018-01-11 16:01:13 +01:00
heinrich5991
6c378b972b
Add support for extra chunks in teehistorian
...
This allows to add rarely-used chunks without increasing the file format
version.
2018-01-11 15:59:53 +01:00
bors[bot]
e0316acb23
Merge #978
...
978: Disable warnings for GTest r=Learath2 a=heinrich5991
Warnings for GTest broke the build because GTest turns warnings into
errors, which is undesirable if GTest is just used as a dependency.
See also https://github.com/google/googletest/issues/1373 .
2018-01-10 16:50:31 +00:00
heinrich5991
00154bd280
Disable warnings for GTest
...
Warnings for GTest broke the build because GTest turns warnings into
errors, which is undesirable if GTest is just used as a dependency.
See also https://github.com/google/googletest/issues/1373 .
2018-01-05 15:59:06 +01:00
heinrich5991
b3932c7842
Add interface headers to CMakeLists.txt
2018-01-02 17:18:17 +01:00
heinrich5991
eb31a52b83
Add very basic test for Unix sockets
2017-12-20 16:56:44 +01:00
bors[bot]
a2f010c1fe
Merge #941
...
941: Add cross-compiled DMG archives r=Learath2 a=heinrich5991
Currently they only contain the client and the archives are a lot larger
than the current release artifacts.
2017-12-08 14:20:49 +00:00
heinrich5991
f50260b31d
Fail gracefully when trying to automatically download GTest
2017-11-28 01:22:39 +01:00
bors[bot]
bad105c5e4
Merge #953
...
953: Overhauled job system r=Learath2 a=heinrich5991
The engine now takes `std::shared_ptr<IJob>`, this will ensure the
appropriate lifetime of the given parameters, it also allows for proper
destruction. Remove the now obsolete `IFetcher` interface and `CFetcher`
class.
Also adds some locks to `CUpdater`, previously it didn't have any locks
at all.
2017-11-27 23:34:54 +00:00
heinrich5991
fd36b8c8c8
Remove unused header file src/engine/shared/storage.h
2017-11-27 00:58:30 +01:00
heinrich5991
23734deb14
Call net_init
in tests
2017-11-24 10:51:46 +01:00
heinrich5991
3f43624d21
Add a couple of tests for CJobPool
2017-11-24 10:33:42 +01:00
heinrich5991
a60320b87a
Activate C++11 in old CMake as well
...
Old CMake doesn't understand `CMAKE_CXX_STANDARD` and similar, add the
parameter directly.
2017-11-23 03:10:25 +01:00
heinrich5991
4c63e26bb7
package_all
now actually produces all packages
2017-11-17 22:32:56 +01:00
heinrich5991
4b45f857c7
DMG: Put version into Info.plist
2017-11-17 22:32:44 +01:00
heinrich5991
373a96a11f
Don't install the portable
component for make install
2017-11-17 17:43:52 +01:00
heinrich5991
44c0f872fe
Replace cmake
by ${CMAKE_COMMAND}
in custom commands
...
This allows execution even when `cmake` isn't in the current `$PATH` or
`%PATH%` variable.
2017-11-17 15:55:22 +01:00
heinrich5991
dd5c26f81c
Build the server launcher on macOS, package it
2017-11-17 14:37:29 +01:00
heinrich5991
194e4cffe7
Also package the server into DMGs
2017-11-16 10:28:55 +01:00
heinrich5991
eb6c8ea101
Allow DMG creation on macOS via hdiutil
2017-11-09 13:35:59 +01:00
heinrich5991
2593091380
Preliminary version of cross-compiled DMG archives
...
Currently they only contain the client and the archives are a lot larger
than the current release artifacts.
2017-11-09 00:16:52 +01:00
heinrich5991
17d3f4afa4
Put shaders into the data/ directory
...
Simplifies a lot of things
2017-11-08 22:19:47 +01:00
bors[bot]
5528cde5f6
Merge #869
...
869: Complete rework of the ghost and race recorder r=Learath2 a=Redix
This PR fixes a lot of issues with the ghost and race recorder, introduces a new ghost file format and implements some pretty useful features.
**A quick overview:**
- When you cross the start line multiple times, both (ghost and recorder) will only restart if it is a non-solo server
- If available, both will use the race timer to recognize the start instead of searching for the start line
- Fastcap support for both
- The recorder immediately starts when the Tee spawns, so the preparation steps (which are quite important for speedruns) will be included in the demo. If you do not cross the start-line within 20 seconds, it will stop the demo until you really start.
- Better ghost menu (colors, reloading, deleting and saving ghosts)
- The ghosts are more resistant against lags (old ones were sometimes completely useless due to small lags)
- New ghosts files are significantly smaller
- Cleanup, bugfixes..
**About the new ghost format (version 4/5):**
This format is used by Teerace for over a year now. The code for handling the binary files was moved to the engine. It includes an auto updater which creates a backup of all ghosts and converts them to the new format afterwards. The major differences from the format used by DDNet right now (version 2), are the ability to store multiple types of data, the usage of delta-encoding and a more portable header.
For whatever reason, the ghost stores values for every predicted tick, but without tick information, so lost snapshots can make them unusable. The new code uses the original values from the snapshots including ticks but it can also handle the old ones without. Since hardly any server uses the high bandwidth option this practically reduces the file size.
Like the demo recorder the ghost recorder directly stores the data to a file (every 50 snapshots) instead of writing the whole file at the end of the race. Indeed this can be changed with only a few lines if the old behavior is preferred.
The updater can handle version 2 (DDNet) and 3 (old teerace format, only slightly different from version 2) files. The updating already happens when the files are scanned for generating the list in the menu and not only when you activate them. The change from version 4 to 5 was only needed due to a bug in the implementation, the ghost loader can read both.
Some numbers about the file size: (map: hotrun, both about 30 seconds)
- Old ghost: 30.4 kB (converted: 10.7 kB)
- New ghost: 5.4 kB
**One thing about the race recorder:**
The old implementation compared the new file only with the first file it found for the particular map. The new one compares with all related demos and deletes them possibly, so that only the best demo is left. Since DDNet can also store the demos without name, this might also delete demos from other players, that you might have in your directory.
To prevent this I at least check whether the demo contains the player name if `cl_demo_name` is on.
In my opinion the better solution would be to remove `cl_demo_name` and always use the player name.
2017-10-30 20:27:10 +00:00
def
04820b44f8
Simplify emoji
2017-10-28 09:08:17 +02:00
Dennis Felsing
77ca35567d
Merge pull request #930 from heinrich5991/pr_ddnet_crosscompile_mac
...
Allow cross-compilation from Linux to macOS
2017-10-26 08:42:34 +02:00
heinrich5991
ab2738ca1b
Allow cross-compilation from Linux to macOS
2017-10-25 16:57:25 +02:00
Dennis Felsing
233ec0a5f2
cmake fixes
2017-10-25 10:35:33 +02:00
heinrich5991
f3abdd43cb
Add crypto
and ssl
if using bundled curl
...
Fixes #926 .
2017-10-24 15:29:53 +02:00
Dennis Felsing
19a8054df6
Merge pull request #925 from heinrich5991/pr_ddnet_cmake_fix_bundle_libs
...
Only use bundled includes only if also using bundled libs
2017-10-24 12:24:50 +02:00
Dennis Felsing
bf2edba73f
Merge pull request #918 from heinrich5991/pr_ddnet_test_info
...
Add `CTestInfo` class, add test for create-close-remove process
2017-10-24 12:20:46 +02:00
heinrich5991
5ef723c7f6
Only use bundled includes only if also using bundled libs
...
Fixes #867 . Fixes #922 .
2017-10-24 12:10:46 +02:00
Dennis Felsing
2d889a0584
Merge pull request #920 from Jupeyy/master
...
VBO deletion after VAO deletion & viewport adjustment for dpi scaled displays at fullscreen
2017-10-24 07:58:37 +02:00
Dennis Felsing
d9ababfce7
Merge pull request #921 from heinrich5991/pr_ddnet_crosscompile
...
Add toolchain files for MinGW 32- and 64-bit cross-compilation
2017-10-24 07:56:34 +02:00
Jupeyy
ada954ea4e
add shader directory to the install directory
2017-10-23 17:58:55 +02:00
heinrich5991
b1db90dbaa
Don't build GTest in the default target
2017-10-23 14:43:33 +02:00
heinrich5991
8b1559ae14
Drop CMake 3.4 support for MSVS
...
Windows users don't have old versions of CMake from their repositories,
Visual Studio installs CMake 3.9.
2017-10-23 13:58:44 +02:00
heinrich5991
b463197348
Add CTestInfo
class, add test for create-close-remove process
2017-10-23 00:13:53 +02:00
Jupeyy
daee0a13a8
use spaces
2017-10-22 18:32:04 +02:00
Jupeyy
205b054026
move manifest to other directory and add MinGW support
2017-10-22 18:06:20 +02:00
Jupeyy
9a4efe758c
use proper CMake 3.4 support for manifest files
2017-10-22 16:44:55 +02:00
Jupeyy
162b24c2b3
respect the CFG dir
2017-10-22 04:52:33 +02:00
Jupeyy
907622e108
don't read the manifest of the target
2017-10-22 04:10:21 +02:00
Jupeyy
152a71546f
Add DPI awareness support for MSVC compiling for Win8.1 and Win10
2017-10-22 03:34:15 +02:00
heinrich5991
d01c892bbd
Don't copy files twice in CMakeLists.txt
2017-10-20 12:22:46 +02:00
Dennis Felsing
f679c3e1bd
GLEW_STATIC
2017-10-20 11:52:18 +02:00
Dennis Felsing
6c7f6e3a7e
glew on macosx as well...
2017-10-20 11:49:00 +02:00
Dennis Felsing
5a75dc7f27
New glew try
2017-10-20 11:35:44 +02:00
Dennis Felsing
88c0778b21
Bundle glew instead
2017-10-20 11:12:27 +02:00
Dennis Felsing
d6999bb726
Merge "Pull Request using OpenGL 3.3"
2017-10-18 12:49:27 +02:00
heinrich5991
6452c7e5c3
Enable automatic download of GTest on Windows by default
2017-10-15 10:25:26 +02:00
heinrich5991
ea978e1db7
Add a flag -DDOWNLOAD_GTEST
to automatically download and build GTest
...
Enable tests on Circle CI, macOS on Travis and Appveyor.
2017-10-15 09:57:21 +02:00
heinrich5991
e989ffad78
Rename async_*
to aio_*
and add test for nondivisible buffer lengths
2017-10-13 02:48:42 +02:00
heinrich5991
2fc018aac3
Add asynchronous file output, port dbg_msg()
s to that system
...
Also add tests.
2017-10-10 04:11:14 +02:00
heinrich5991
7de42a1414
Couple of thread fixes
2017-10-10 00:08:24 +02:00
Learath2
d15dcd3c58
Merge pull request #871 from heinrich5991/ddnet_teehistorian
...
Teehistorian
2017-10-09 18:42:27 +02:00
Redix
134a79a225
Move RaceHelper to src/game/client
2017-10-06 22:13:35 +02:00
Redix
b1e7138847
Added ghost file handling classes
2017-09-28 16:01:56 +02:00
heinrich5991
f43480aeed
Add testing infrastructure for teehistorian
2017-09-28 02:03:30 +02:00
heinrich5991
72a17da716
Change to C++11 in CMakeLists.txt
, bam.lua
2017-09-21 23:34:51 +02:00
Dennis Felsing
94c7c8d864
Use C++14
2017-09-21 15:11:09 +02:00
heinrich5991
6ef9c8dbcd
First working version of teehistorian
...
teehistorian records all inputs from the players as well as the player
positions in each tick. It stores this info in a highly compressible
output format (I've achived 5x compression using xz or bz2).
2017-09-20 02:16:11 +02:00
Jupeyy
cb1ab7ff9e
sort opengl_sl files alphabetically
2017-09-16 18:58:24 +02:00
def
75d3eeaa09
Try linking against security framework on macosx
2017-09-16 11:39:09 +02:00
Dennis Felsing
f60eb5658f
Merge pull request #836 from heinrich5991/pr_ddnet_unify_icons
...
Unify icons for gcc and MSVC, fix server icon
2017-09-16 11:18:40 +02:00
heinrich5991
a34b1f4dd7
Add compatibility with older CMake for package
2017-09-13 22:38:25 +02:00
Jupeyy
7e0146be97
replace tabs with spaces
2017-09-13 20:09:40 +02:00
Jupeyy
de43d410fe
merged cmakelist
2017-09-12 21:03:27 +02:00
Jupeyy
629bf2c5f9
Merge branch 'master' of https://github.com/ddnet/ddnet
2017-09-12 20:24:58 +02:00
Jupeyy
4d8cf36e29
add GLEW to cmake
2017-09-12 20:03:06 +02:00
heinrich5991
8b2e31620f
Compatibility with older CMake
...
Copy each file individually, only pass --type parameter for creating
zips.
2017-09-05 21:52:54 +02:00
heinrich5991
45d944162a
Add package targets independent of CPack
...
This makes packaging compatible to CMake versions prior to CMake 3.6.
2017-09-05 16:00:50 +02:00
heinrich5991
38c26de47b
Add install
, package
and package_source
targets to CMake
...
On Linux, `install` installs DDNet into the normal file system (root
rights required).
`package` tries to create an archive similar to today's release archives
and `package_source` tries to create a source archive similar to today's
source archives.
2017-09-05 15:55:38 +02:00
def
89ed22e8d8
Introduce ddnet-info.json
...
- Single json file containing all information for the client
- Fetched from https://info.ddnet.tw/info?name=deen
- Replaces versionsrv, news, ddnet-maps.json and ddnet-ranks.json
- Servers are sorted by most popular ones for respective player
- Always stays < 100 ms response time, compared to occasional 50 s for
old ddnet-ranks.json
2017-09-03 17:42:04 +02:00
heinrich5991
659e1ff527
Merge pull request #853 from Redix/pr_ghost_time
...
Ghost and Race demo time extraction fix
2017-08-31 12:31:20 +02:00
Redix
a396e40c5e
Move race helper functions to own cpp file
...
Fix some style issues
2017-08-31 00:17:16 +02:00
heinrich5991
de2fd75a16
Add possibility to write tests
...
Also add a test for `IStorage::StripPathAndExtension`
2017-08-30 21:57:55 +02:00
Redix
f1f7e4e30b
Fix ghost and race recorder time parsing
2017-08-30 21:44:27 +02:00
sctt
0849fa6024
fixing map_resave and adding map_replace_image
...
Update datafile.h
Update datafile.cpp
Update datafile.cpp
Update map_resave.cpp
Update datafile.h
Update map_resave.cpp
Update datafile.h
Update datafile.cpp
Update config_store.cpp
Update config_retrieve.cpp
Update io.cpp
Update gamecontext.cpp
Update config_store.cpp
Update CMakeLists.txt
Create map_replace_image.cpp
Update map_replace_image.cpp
fixing bug with height and witdth
2017-08-29 16:21:16 +02:00
Learath2
77ca505e74
Do not continue without python
...
We can not compile without python anyways.
2017-08-03 18:44:36 +02:00
heinrich5991
05f136fdfb
Unify icons for gcc and MSVC, fix server icon
2017-08-01 21:43:56 +02:00
heinrich5991
523f35205d
Statically link standard libraries in MinGW for CMake
...
Hopefully fixes the CMake MinGW build.
2017-08-01 01:37:54 +02:00
Dennis Felsing
fd1b6763e1
Merge pull request #821 from heinrich5991/pr_ddnet_cmake_list_files
...
List all source files instead of globbing them in `CMakeLists.txt`
2017-07-31 20:45:13 +02:00
heinrich5991
52e42c2f74
Add CMake config option PREFER_BUNDLED_LIBS
...
This makes CMake look at the provided libraries before considering
system libraries. Enable this by default on Windows.
Fixes #830 .
2017-07-31 18:30:24 +02:00
def
cb6158dd6a
safeseh:no only for msvc
2017-07-30 14:35:06 +02:00
heinrich5991
83742a98ca
List all source files instead of globbing them in CMakeLists.txt
...
This seems to be wanted by CMake, it results in never having to re-run
`cmake`.
See e.g. https://stackoverflow.com/a/18538444/870079 .
2017-07-30 11:41:52 +02:00
Learath2
4622ab4cb6
Merge pull request #814 from heinrich5991/pr_ddnet_fix_cmake_mac
...
Fix the CMake Mac build
2017-07-30 11:38:12 +02:00
heinrich5991
6247aa0c7f
Enable -Wextra
and -Wformat=2
...
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.
Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
heinrich5991
fd8bccb0f4
Fix the CMake Mac build
...
Fixes #805 .
2017-07-26 04:30:56 +02:00
def
3de72f66e3
mysql needs CONF_SQL defined everywhere
2017-07-23 01:36:36 +02:00
def
46f30a2fc1
Fix mysql cmake build
2017-07-22 21:53:55 +02:00
def
8e4a4d673f
New Windows MSVC try
2017-07-22 11:46:43 +02:00
def
39b0c9282f
SAFESEH:NO
2017-07-22 09:59:27 +02:00
def
8082a461ce
Windows linker fix
2017-07-22 00:27:52 +02:00
def
609adcfe8c
Windows linker fix
2017-07-22 00:20:29 +02:00
def
6b9386ce86
Windows compiler fix
2017-07-22 00:02:00 +02:00
def
0db98b218b
Fix icons
2017-07-21 23:54:58 +02:00
def
a7439af1ff
Syntax
2017-07-21 23:12:07 +02:00
def
6a76bf9b73
Add some debugging to cmake
2017-07-21 23:06:07 +02:00
def
41d9de997c
ddnet-libs submodule and some fixes
2017-07-20 23:07:15 +02:00
def
2365958227
Fix cmake build of map_extract
2017-06-12 21:23:45 +02:00
heinrich5991
743c58e4ae
Revert "Fix OSX cmake build"
...
This reverts commit 3406f01ff9
.
2017-06-09 19:34:01 +02:00
Learath2
3406f01ff9
Fix OSX cmake build
...
A little crude but it works.
2017-06-09 16:05:04 +02:00
heinrich5991
5ae37e6c72
Add protocol extension with UUIDs
...
This system can easily be extended by independent authors without
collisions, something the old system with plain increasing integers did
not allow.
Do this by utilizing the previously unused message code `NETMSG_NULL`
which has a value of 0.
This works for engine and game messages, snapshot items and events.
2017-05-25 00:52:43 +02:00
heinrich5991
713b3db4a2
CMakeLists.txt: Make the versionsrv's dependency on nethash.cpp explicit
2017-03-28 12:50:19 +02:00
Dennis Felsing
90b51d140a
Merge pull request #688 from heinrich5991/pr_ddnet_cmake_client_link_order
...
Fix link order for the client libraries
2017-03-20 08:29:30 +01:00
heinrich5991
d52870cb35
Remove GREATER_EQUAL (introduced in CMake 3.7)
2017-03-19 17:18:17 +01:00
heinrich5991
57009f6467
Generator expressions using COMPILE_LANGUAGE are only available from 3.3
2017-03-19 17:18:17 +01:00
heinrich5991
efb43ddff8
Remove usages of target_sources
...
This command would require CMake 3.1.
2017-03-19 17:18:17 +01:00
heinrich5991
5eb2068f75
Check if -fstack-protector-all works before using it
...
MinGW apparantly accepts this flag, but can't successfully link
afterwards.
2017-03-18 11:55:50 +01:00
heinrich5991
d10ab196f5
Fix link order for the client libraries
...
Fixes #686 .
2017-03-18 01:20:55 +01:00
heinrich5991
5b8052ff9d
CMakeLists.txt: Check for _FORTIFY_SOURCE defines even harder
2017-03-13 16:45:27 +01:00
Redix
50be0ab7cf
Use static CRT on windows
2017-03-12 17:41:57 +01:00
Redix
2b91785415
Use multiple cores in MSVC
2017-03-12 17:28:42 +01:00
Redix
dfdd08ae7a
Disable some warnings on win64
2017-03-12 17:28:40 +01:00
Redix
3911504bd9
Minor cmake fixes
...
zlib is already included in DEPS_CLIENT
2017-03-12 16:19:23 +01:00
Redix
8b418292c2
Fix typo in CMakeLists.txt
2017-03-12 15:56:44 +01:00
heinrich5991
253857e236
CMakeLists.txt: Create the generated source directory
...
Problem was reported on IRC, in #teeworlds on Quakenet.
2017-03-11 13:25:52 +01:00
heinrich5991
fad7989243
CMakeLists.txt: Check for _FORTIFY_SOURCE before defining it
2017-03-07 16:47:27 +01:00
heinrich5991
51b4a793b8
CMakeLists.txt: Add icon to DDNet executable on Windows
2017-03-07 15:32:11 +01:00
heinrich5991
a6983d329c
CMakeLists.txt: Copy over data files and DLLs
2017-03-07 15:24:08 +01:00
heinrich5991
4389737288
CMakeLists.txt: Handle the static library case on Linux
2017-03-07 13:39:23 +01:00
heinrich5991
d98abf35db
Rename WEBSOCKETS
to CONF_WEBSOCKETS
2017-03-07 13:03:37 +01:00
heinrich5991
c201d7959c
Enable -Wdeclaration-after-statement for compat with MSVC
2017-03-07 13:02:37 +01:00
heinrich5991
0d342f139c
CMakeLists.txt: Add tools target
2017-03-03 15:23:18 +01:00
heinrich5991
9b0561bbc0
CMakeLists.txt: Add some EXCLUDE_FROM_ALL
2017-03-03 15:17:12 +01:00
heinrich5991
e6dcd94fc4
CMakeLists.txt: Fix Windows build and ignore some more warnings
2017-03-03 15:10:21 +01:00
heinrich5991
8407416042
CMakeLists.txt: Move everything to target_*
commands
2017-03-03 15:04:13 +01:00
heinrich5991
0fb13159d5
CMakeLists.txt: Squelch some warnings on Windows
2017-03-03 13:39:06 +01:00
heinrich5991
254793604c
CMakeLists.txt: Group sources by directory in MSVC
2017-03-03 13:29:35 +01:00
heinrich5991
1157a9a835
CMakeLists.txt: Windows support?
2017-03-03 12:23:51 +01:00
heinrich5991
a7e68fbf1b
CMakeLists.txt: Fix a couple of uninitialized variables
2017-03-03 12:23:51 +01:00
heinrich5991
98f3c82c29
CMakeLists.txt: Fix SQL config
2017-03-03 12:23:51 +01:00
heinrich5991
1c7be368f6
CMakeLists.txt: Make external dependencies to OBJ libs
2017-03-03 12:23:51 +01:00
heinrich5991
e3839e4bf2
CMakeLists.txt: Build tools
2017-03-03 12:23:51 +01:00
heinrich5991
6bf0862c30
Use add_library(... OBJECT ...) for internal targets
...
Also add a few smaller targets: mastersrv, twping, versionsrv.
2017-03-03 12:23:51 +01:00
heinrich5991
6980bb7b02
Improve the CMakeLists.txt to search for the bundled libs
2017-03-03 12:23:51 +01:00
heinrich5991
4912312fb9
Make dependency errors less fatal, to show all of them at once
2017-02-23 16:29:13 +01:00
necropotame
2815a7e042
Cleanup, better separation between each part, more options, check for missing dependencies
2017-02-23 16:27:33 +01:00
necropotame
8c7608f1bb
Set the default build type to 'Release'
2017-02-23 16:23:16 +01:00
necropotame
eff3ca8bf3
Change CMake required version from 3.7 to 2.8
2017-02-23 16:23:16 +01:00
heinrich5991
5d61aa0b6e
Add CMakeLists.txt that work on my machine
...
It probably doesn't work on Windows, at least.
2017-02-23 14:16:32 +01:00