Commit graph

1272 commits

Author SHA1 Message Date
bors[bot] e571dc8d93 Merge #1200
1200: Share libcurl resources across requests r=def- a=heinrich5991

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

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-07-19 09:15:10 +00:00
Isaac Zhao 83ae953b21
Fixed hidpi resolution issue on macOS 2018-07-17 07:46:17 +00: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 925aff21d4 Fix all the header guards and adjust the script a little 2018-07-06 16:11:38 +02:00
ZombieToad 712fca8adc fixes
thnx to Hey, Fuck you!
2018-07-04 04:35:06 +01:00
def 5e1f62fe7c Fix http map download... 2018-06-30 09:47:45 +02:00
Dennis Felsing 35a26290db Mac OSX: Don't use desktop resolution (fixes #1174) 2018-06-27 11:01:59 +02:00
heinrich5991 ab55bcd9c8 Also search for maps with sha256 in downloadedmaps
Additionally, forget the extra map details after disconnecting, they
shouldn't be used for the next server.
2018-06-24 17:04:50 +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
bors[bot] ebb9481857 Merge #1157 #1160
1157: Add a way to call for external moderator help r=Learath2 a=heinrich5991

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.

1160: Fix warning about incompatible function pointers r=Learath2 a=heinrich5991

This comes at the cost of one allocation per started thread. This should
be okay because we're about to invoke a syscall anyway.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-06-24 14:12:48 +00:00
bors[bot] af1f9d198a Merge #1152
1152: send password to first connected server r=heinrich5991 a=ZombieToad

https://github.com/ddnet/ddnet/pull/1149#issuecomment-397538132

fixes issues with connecting to servers with reserved slots

Co-authored-by: ZombieToad <25847476+zombietoad@users.noreply.github.com>
2018-06-20 09:05:56 +00:00
ZombieToad f6d107b264
Update client.cpp 2018-06-20 07:44:44 +01:00
ZombieToad dfaa8d1f46
Update client.cpp 2018-06-20 07:43:55 +01:00
ZombieToad 1c88ffd663
Update client.h 2018-06-20 07:36:10 +01: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
heinrich5991 c739aef60e Some style fixes 2018-06-19 14:28:53 +02:00
ZombieToad 57d1c37fb4
send password to first connected server 2018-06-16 00:44:24 +01:00
ZombieToad 45a9d96a76
send password to first connected server 2018-06-16 00:41:55 +01:00
jupeyy 88acd47c99 reset font texture at window resize 2018-05-07 06:02:44 +02:00
jupeyy 62352a78dd respect text alpha channel correctly (fixes #1124) 2018-05-07 05:52:02 +02:00
Dennis Felsing e561498617 fix... 2018-04-25 14:12:49 +02:00
def 160b4df81c Version 11.1.4 2018-04-15 20:15:13 +02:00
bors[bot] 73a65a7026 Merge #1116
1116: Don't send buffer cmds to non OpenGL 3.3 backend r=def- a=Jupeyy



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2018-04-15 18:00:54 +00:00
Jupeyy 27d9440751 don't create buffers, if OpenGL 3.3 is not used 2018-04-15 19:34:56 +02:00
def 666b1a9576 Another SDL GL try 2018-04-13 21:34:12 +02:00
def d0bb180473 Only run glewInit when using OpenGL3.3 2018-04-13 20:03:51 +02:00
bors[bot] 73cc3a147b Merge #1110
1110: Fix killmessage flag render r=def- a=Jupeyy



Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2018-04-09 20:28:24 +00:00
Jupeyy 52ff132e56 reset color after text is drawn 2018-04-09 22:02:16 +02:00
heinrich5991 f8277267a0 Remove mem_alloc and mem_free, use standard C functions instead
Replace `mem_free` by `free`, and `mem_alloc` by `malloc` or `calloc`
(the latter one being used to allocate a zeroed array of elements,
sometimes, this makes a call to `mem_zero` superfluous).

This results in having to remove `mem_stats` which previously recorded
the number of allocations and their size that the Teeworlds code did
directly.

Remove OOM handling in `src/game/client/components/binds.cpp`.

Remove needless copying in the CSV code in
`src/game/client/components/statboard.cpp`.
2018-04-09 11:56:39 +02:00
Jupeyy 15f0efc2bd fix text color if opengl3.3 is off 2018-04-03 17:40:21 +02:00
Jupeyy 53622f56b4 respect the area width in any case 2018-03-26 05:08:21 +02:00
Jupeyy abb9ba5572 use debug variable in a better way 2018-03-21 16:07:03 +01:00
Jupeyy 16894155e5 add attributes for screen state check 2018-03-21 15:49:15 +01:00
Jupeyy 53a93c077e add window resize listener 2018-03-21 15:48:48 +01:00
Jupeyy 70c06be87e allow non pixel alignment rendering, instead fo changing texture filter
add window resize event, and remove the font size limitation
2018-03-21 15:45:08 +01:00
Jupeyy 9b8da90151 check screen state 2018-03-21 15:41:45 +01:00
Jupeyy 91b1699994 remove unused and check freetype version 2018-03-15 14:22:08 +01:00
Jupeyy da311d03c4 use a different texture filter instead of correcting text coordinates 2018-03-15 03:33:22 +01:00
Jupeyy 62c3074c88 add new text renderer engine to support text buffering, cursors, text
marking and less character texture updates
2018-03-13 21:49:07 +01:00
Jupeyy 75eddfec7a add new shader programs 2018-03-13 21:47:45 +01:00
Jupeyy 898af39311 add new functions to support the new backend layout and the new
rendering system
2018-03-13 21:47:07 +01:00
Jupeyy 35f3dd5bc2 add new shader programs in the backend 2018-03-13 21:44:58 +01:00
Jupeyy 5b56e5b2c4 move the keyboard state back into the gfx update 2018-03-12 16:51:31 +01:00
Jupeyy 081057d6b9 style fixes and remove float cast 2018-03-12 15:43:31 +01:00
Jupeyy 5e1bee2760 clean up a bit to and descripe it better 2018-03-12 15:10:49 +01:00
Jupeyy cc7371c1cd set upper limit, for the case, if the refreshrate is smaller than the gameticks 2018-03-02 03:12:30 +01:00
Jupeyy 089cb1ea44 this must be inactive ofc 2018-03-01 08:25:34 +01:00
Jupeyy a808ee07d3 add accedentially removed cast 2018-03-01 08:07:48 +01:00
Jupeyy 3458ee0976 check if gfx_refresh_rate is non zero 2018-03-01 07:50:52 +01:00