Commit graph

3523 commits

Author SHA1 Message Date
Zwelf 452017a58b Move format string to CREATE TABLE into own file 2020-08-03 12:58:52 +02:00
Zwelf 2c5f892205 Apply suggestions from code review 2020-08-03 12:58:52 +02:00
Zwelf b898f8c7c2 Remove unused MySQL interface 2020-08-03 12:58:52 +02:00
Zwelf 7c31a15c93 Add SQLite interface 2020-08-03 12:58:52 +02:00
Zwelf 2eb3d23ef4 Rewrite score using the new interface
delete file_score for now as it will be replaced by a sqlite backend
2020-08-03 12:58:52 +02:00
Zwelf 295ce95d64 Roughly define database pool interface 2020-08-03 12:58:52 +02:00
Zwelf d59cdf47b5 Define new database interface 2020-08-03 12:58:52 +02:00
def 07f18d4ac4 Client: Support .map file drag-and-drop to open map in editor
As suggested by Lady Saavik
2020-08-02 13:00:01 +02:00
Fireball ab9b96ddb2 Backported fix for Text() incorrect parameter type (int -> float)
The original fix was done by @oy for 0.7.4.
2020-07-15 20:49:14 +01:00
Fireball b1c17c3248 Backported fix for TextWidth() parameter mix-up
Fixes #2511 (Stack-buffer-overflows in some UIs).
The original fix was done by @oy for 0.7.4.
2020-07-15 20:48:29 +01:00
bors[bot] 69593a3191
Merge #2502
2502: Improved dummy switching r=def- a=Fireball-Teeworlds

- Fix a use-after-free when there are no new snapshots for the cl_dummy tee after the switch: #2499 .
- When one of the tees is hooked, cycling through them will no longer show phantom hook for the other tee: https://youtu.be/mxVT4pdyGnU.
- Dummy switch might happen a bit quicker since it doesn't depend on receiving new snapshots.
- Simplified code: m_LastDummy2 is no more.



Co-authored-by: Fireball <fireball.teeworlds@gmail.com>
2020-07-14 06:31:43 +00:00
def c8876b2c02 Fix legacy 64 player serverinfo, don't send duplicate packets (fixes #2495)
For legacy we sent the first packet once correctly, then the 2nd and 3rd
packet without the marker and token at the start, so they never worked.

For new 64 player serverinfo we sent all packets correctly but the 1st
packet twice.

Introduced in #1955.
2020-07-13 00:19:00 +02:00
Fireball 918f321dfb Improved dummy switching
- Fix a use-after-free when there are no new snapshots for the cl_dummy tee after the switch.
- When one of the tees is hooked, cycling through them will no longer show phantom hook for the other tee.
- Dummy switch might happen a bit quicker since it doesn't depend on receiving new snapshots.
- Simplified code: m_LastDummy2 is no more.
2020-07-12 19:14:18 +01:00
bors[bot] c4d5c8dfa2
Merge #2478 #2480
2478: Use (u)int64 from system.h instead of (u)int64_t from cstdint r=heinrich5991 a=def-

src/game/client/prediction/gameworld.h:62:90: error: ‘int64_t’ has not been declared
   62 |  void CreateExplosion(vec2 Pos, int Owner, int Weapon, bool NoDamage, int ActivatedTeam, int64_t Mask);
      |                                                                                          ^~~~~~~

2480: Send zoom status for dummy too r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-07-09 18:31:32 +00:00
def a34c72530b Some minor improvements to sv_port 0, make it default 2020-07-09 18:28:20 +02:00
MikiGamer f7eda384ea changes for auto port 2020-07-09 17:48:03 +02:00
MikiGamer beaadca6a9 switch, limited tries & sv_port 0 2020-07-09 17:47:30 +02:00
MikiGamer 6a87278c3d find available port 2020-07-09 17:46:22 +02:00
def f4344dc420 Use (u)int64 from system.h instead of (u)int64_t from cstdint
src/game/client/prediction/gameworld.h:62:90: error: ‘int64_t’ has not been declared
   62 |  void CreateExplosion(vec2 Pos, int Owner, int Weapon, bool NoDamage, int ActivatedTeam, int64_t Mask);
      |                                                                                          ^~~~~~~
2020-07-09 13:55:28 +02:00
def 3729629c1c Only write non-defaulted config values to settings_ddnet.cfg
As a consequence changed defaults in an update will be respected
instantly if the player hasn't changed the value.
2020-07-09 12:40:35 +02:00
bors[bot] 70ff2f919d
Merge #2468
2468: Tell why DNSBL isn't allowing to vote (fixes #2466) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2020-07-08 20:30:51 +00:00
bors[bot] 6d17220947
Merge #2461
2461: Fix video recorder (follow-up to 83c820db) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-07-08 12:05:40 +00:00
def 66c7bf8851 Tell why DNSBL isn't allowing to vote (fixes #2466) 2020-07-07 23:12:55 +02:00
def 42f1aba2c3 Fix video recorder (follow-up to 83c820db) 2020-07-07 15:45:36 +02:00
def f15ac1d869 Fix uninitialised values in sixup differently (fixes #2421)
"./DDNet-Server shutdown" still works
2020-07-07 10:26:44 +02:00
Zwelf 6be35cd4e7 Remove unused function 2020-07-03 20:13:51 +02:00
Learath 416cb37000 Send Sixup information to antibot 2020-07-01 21:09:58 +03:00
heinrich5991 358735aadb Revert "Don't run UpdateServerInfo if server isn't initialized yet"
This reverts commit e69f747e5f.

Fixes `shutdown` on the initial command line which is also used on CI.
2020-07-01 17:45:01 +02:00
def e69f747e5f Don't run UpdateServerInfo if server isn't initialized yet
or currently shutting down anyway. Fixes the first half of #2421
2020-06-30 18:33:22 +02:00
bors[bot] 5a41318cbd
Merge #2423
2423: Only SendChat to clients that exist. Initialize m_Sixup anyway r=def- a=Learath2

#2421 

Co-authored-by: Learath <learath2@gmail.com>
2020-06-30 16:25:47 +00:00
Learath 8d8f1d7208 Only SendChat to clients that exist. Initialize m_Sixup anyway 2020-06-30 18:58:44 +03:00
bors[bot] 42455d4b4d
Merge #2388
2388: Get rid of the annoying font size warnings r=heinrich5991 a=def-

Since we're not doing anything about them anyway, and I get them
spamming me on every client start.

Co-authored-by: def <dennis@felsin9.de>
2020-06-27 20:53:39 +00:00
bors[bot] 70ccf76dcf
Merge #2390
2390: Support cl_show_hook_coll_own/other 2 to always show (fixes #2383) r=heinrich5991 a=def-

hook collision, without broadcasting to other players.

Removed cl_show_hook_coll_always in return

Renamed cl_video_showhookcollother to cl_video_show_hook_coll_other for consistency

Co-authored-by: def <dennis@felsin9.de>
2020-06-27 20:31:29 +00:00
Learath af2e02ccd2 Fix color toggles 2020-06-27 15:12:53 +03:00
def dc92626a3b Support cl_show_hook_coll_own/other 2 to always show (fixes #2383)
hook collision, without broadcasting to other players.

Removed cl_show_hook_coll_always in return

Renamed cl_video_showhookcollother to cl_video_show_hook_coll_other for consistency
2020-06-26 23:58:07 +02:00
def d6ba9440ca Get rid of the annoying font size warnings
Since we're not doing anything about them anyway, and I get them
spamming me on every client start.
2020-06-26 23:42:04 +02:00
def bd11e7ee95 Fix reading old ghosts (fixes #2382) 2020-06-26 15:17:38 +02:00
bors[bot] ec472a9d0a
Merge #2298
2298: Log save/load in teehistorian r=heinrich5991 a=Zwelf

Including tests

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-26 12:45:08 +00:00
Zwelf d8aab366fc Log save/load in teehistorian 2020-06-26 00:01:12 +02:00
bors[bot] 38b95f6c33
Merge #2358
2358: Allow any update.json size r=heinrich5991 a=def-

just grew over 16 KB and thus updates failed. I still need to setup update5 server and will need to release a last release on update4 to have a seemless upgrade-path.

Update: https://update5.ddnet.tw/update.json is ready, 14.0.1 will still land on update4, then we switch to update5.

Co-authored-by: def <dennis@felsin9.de>
2020-06-25 11:46:34 +00:00
Zwelf a8abc3937b Make game less dependend on score backend 2020-06-25 12:36:01 +02:00
def cf77b567f8 Allow any update.json size
just grew over 16 KB and thus updates failed. I still need to setup
update5 server and will need to release a last release on update4 to
have a seemless upgrade-path.
2020-06-25 00:11:00 +02:00
bors[bot] 1750bb09f7
Merge #2335 #2336 #2340 #2342 #2349
2335: Make it more clear that this is a sixup translation server r=heinrich5991 a=def-



2336: Set skill level for Sixup (fixes #2334) r=heinrich5991 a=def-



2340: Keeping multiple states consistent is hard (fixes #2315) r=heinrich5991 a=def-

let's go recount every time

2342: Don't forget video recorder fps setting r=heinrich5991 a=def-

after switching to non-videorecorder client

2349: Document which MySQL/MariaDB versions we require (fixes #2343) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-06-24 14:37:53 +00:00
def ef61793854 Don't forget video recorder fps setting
after switching to non-videorecorder client
2020-06-24 14:50:25 +02:00
def 5b3b42b771 Make it more clear that this is a sixup translation server 2020-06-24 14:49:23 +02:00
def a8a2b41f3a Set skill level for Sixup (fixes #2334) 2020-06-23 22:47:29 +02:00
Learath f327e5bc42 Log join type 2020-06-23 18:30:57 +03:00
bors[bot] 160a7b71fb
Merge #2279 #2327
2279: Only forbid resizing when videorecorder is recording r=heinrich5991 a=def-



2327: List data files in `CMakeLists.txt` r=def- a=heinrich5991

This fixes missing files for people recompiling when we add new data
files.

Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-06-23 08:48:05 +00:00
bors[bot] 1652d73a5e
Merge #2322
2322: Use proper CSV writing for save codes r=def- a=heinrich5991

Supersedes #2296.

Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-06-23 07:25:20 +00:00
heinrich5991 0db5c51ed9 Add a simple CSV writer for Python's "excel" csv dialect 2020-06-23 09:11:59 +02:00
bors[bot] b720737e5c
Merge #2314
2314: Fix uninitialized warning on SBufferContainerInfo r=def- a=edg-l



Co-authored-by: Edgar <git@edgarluque.com>
2020-06-23 06:05:35 +00:00
def 83c820db09 Fix some naming conventions in videorecorder 2020-06-23 08:00:03 +02:00
def 252cda2d49 Use str_comp instead of strcmp
error: ‘strcmp’ was not declared in this scope
2020-06-22 14:47:49 +02:00
Edgar a03a22b8e5
Fix uninitialized warning on SBufferContainerInfo 2020-06-22 11:23:52 +02:00
Learath 28905c4659 Disable timeout for 0.7 clients 2020-06-20 19:52:23 +03:00
bors[bot] 4a810091b1
Merge #2284
2284: Remove sv_spectator_votes r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-06-20 10:46:03 +00:00
def c53528b92f Allow spectators to start votes 2020-06-20 11:20:54 +02:00
Learath 6db72b2388 Times are no longer negative in 0.7 2020-06-20 11:59:46 +03:00
Learath 91c44f1808 Sixup needs it's own maps 2020-06-20 01:00:45 +03:00
bors[bot] 5b4227fbba
Merge #2283
2283: teehistorian: Track whether clients join via the 0.7 protocol r=Learath2 a=heinrich5991



Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-06-19 20:31:40 +00:00
heinrich5991 e294da41ba teehistorian: Track whether clients join via the 0.7 protocol 2020-06-19 22:06:39 +02:00
Learath da68923ac3 Implement a switch for 0.7 compatibility 2020-06-19 22:08:41 +03:00
Learath 75e96aa5d3 Get rid of more magic constants, adapt to 0.7 2020-06-19 21:48:48 +03:00
Learath d200ef0bb0 Remove ugly hack 2020-06-19 21:42:19 +03:00
Learath 444bd93437 Fix recvmmsg again... 2020-06-19 20:28:55 +03:00
Learath aeb7ea2971 Don't forget that the client is Sixup 2020-06-19 20:28:55 +03:00
Learath 70ecf785bb Compatible version filter 2020-06-19 20:28:55 +03:00
Learath d794520748 Remove forgotten debug messages 2020-06-19 20:28:55 +03:00
Learath 32fb6718dd Allow joining TEAM_SPECTATOR 2020-06-19 20:28:55 +03:00
Learath 9f71478099 Get Rcon working 2020-06-19 20:28:55 +03:00
Learath 2f760e3e40 Forgot to drop port 2020-06-19 20:28:55 +03:00
Learath 88ca573682 Serverinfo and Register support for 0.7
Co-authored-by: Tim Schumacher <tim@timakro.de>
2020-06-19 20:28:55 +03:00
Learath 4067e711ef More template magic. Cleans up 'send-to-all-sixup' 2020-06-19 20:28:55 +03:00
Learath 9e2434c65d Better skin colors. Better game message translation 2020-06-19 20:28:55 +03:00
Learath 9dc1a0357a Get /spec working 2020-06-19 20:28:55 +03:00
Learath e81c718180 Rework netobjs, fix chat 2020-06-19 20:28:55 +03:00
Learath eff28c658a Fix server messages 2020-06-19 20:28:55 +03:00
Learath 40247f6b43 Fix chat 2020-06-19 20:28:55 +03:00
Learath f9cc634683 Fix recvmmsg issue 2020-06-19 20:28:54 +03:00
Learath 03070d0567 Fix many issues 2020-06-19 20:28:52 +03:00
Learath 807c92f1a4 Generate the 0.7 protocol 2020-06-19 20:27:15 +03:00
Learath f7e9df7abf Move the rest of the translation to CServer 2020-06-19 20:27:15 +03:00
Learath b0e5a37fa9 Do message translation differently 2020-06-19 20:27:15 +03:00
Learath 5000b248bb Fix things 2020-06-19 20:27:15 +03:00
Tim Schumacher 442148a194 Begin work on 0.7 support 2020-06-19 20:27:15 +03:00
Learath e9ba23b53a Migrate to 0.6.5 flags 2020-06-19 20:27:15 +03:00
def e36dc36b15 Fix demos header (fixes #2278)
Initially broken in 7aed6476dc
2020-06-19 10:42:19 +02:00
def 47e6c7cce2 Only forbid resizing when videorecorder is recording 2020-06-19 08:19:40 +02:00
bors[bot] 6f8f606e05
Merge #2276
2276: Fix segmentation fault when creating sql tables failed r=heinrich5991 a=Zwelf

`GameServer()->OnShutdown(true);` (which would wait on running threads to exit)
wasn't called if an error occured in the server init. Therefore `CServer` was
freed before the init-thread finished executing, causing a use after free from
`CSqlConnector::ms_ppSqlReadServers` pointing to `CServer->m_apSqlReadServers`.

Fixes #2271 

Note that the server exits when creating tables failed. Since the tables are created by default, it has to be disabled explicitly (e.g. `add_sqlserver r teeworlds record teeworlds PASSWORD "localhost" 3306 0`) if the servers should start even when the database connection fails.

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-18 19:23:00 +00:00
Zwelf f5ac6eea56 Fix segmentation fault when creating sql tables failed
`GameServer()->OnShutdown(true);` (which would wait on running threads to exit)
wasn't called if an error occured in the server init. Therefore `CServer` was
freed before the init-thread finished executing, causing a use after free from
`CSqlConnector::ms_ppSqlReadServers` pointing to `CServer->m_apSqlReadServers`.
2020-06-18 21:11:36 +02:00
def 7aed6476dc Allow larger map names 2020-06-18 18:29:27 +02:00
def 882185e299 Make SaveID DEFAULT NULL 2020-06-18 10:32:58 +02:00
bors[bot] 98b448ebcc
Merge #2247
2247: Thread safe SQL interaction r=def- a=Zwelf

This PR intends to make the database interaction thread safe and optimizes some SQL queries. This is still a WIP, but since it is a rather big PR I wanted to get feedback early on.

Benefits:

* remove race conditions leading to undefined behavior and potential crashes
* logging game related database results in teehistorian would be possible

Behavior change:

* /top5team prints ranks in reverse order when passing a negative number (like /top5, /top5points)
* Optimize SQL statements for /rank /teamrank /top5 /top5team /points /top5points
* /load without parameters doesn't pass the SQL error to the user (as most other functions)
* Simplify IScore interface
* Add UUID to /save table (update of database schema necessary):
  ```
  ALTER TABLE record_saves ADD SaveID varchar(64);
  ```
* /save immediately kills team and loads it again if the database insert fails.

still TBD:
* [x] saving (team) score when finishing
* [x] loading team save
* [x] loading initial time and birthday check
* [x] /map and random map votes
* [x] RFC: generate a passphrase (2-3 word) if save-code exists or no save-code is given making /save failures much more rare and save-codes more secure
* [x] clean up code (removing now unused structs, ordering of functions in IScore)

Co-authored-by: Zwelf <zwelf@strct.cc>
2020-06-17 19:35:45 +00:00
Zwelf f1b2ff086c Clean up thread safe SQL refactor 2020-06-17 21:15:07 +02:00
Zwelf ea31171873 Generate passphrase for save-code
* when none is given
* if the given save-code already exist
* if the database connection fails therefore it can't be checked if the save-code already exists

Using the short word list from eff:
https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases
2020-06-15 11:14:15 +02:00
Zwelf 528ca377ed Thread safe saving of team score 2020-06-15 11:14:15 +02:00
Zwelf 62d56ca8e8 Make database init with create tables synchronous
Note: database init without creating tables behaves the same
2020-06-15 11:14:15 +02:00
Zwelf 031ac52320 Thread safe /save 2020-06-15 11:14:15 +02:00
Zwelf 4152a1995e Add missing dependeny to sql string helper 2020-06-15 11:14:15 +02:00
12pm 01092a30c1 add sv_tele_others_auth_level 2020-06-14 19:21:12 +03:00
Learath 345798f9e1 Don't miss dummy disconnects. Fix #2257 2020-06-11 13:33:08 +03:00
bors[bot] 92fc95d742
Merge #2202
2202: Send DDNet version early in the connection process r=Learath2 a=heinrich5991

This gets rid of the problem that we don't know whether we should send
full snapshots to clients because they haven't told us about them being
DDNet yet.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-27 17:49:31 +00: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
heinrich5991 0d7872c79e Send DDNet version early in the connection process
This gets rid of the problem that we don't know whether we should send
full snapshots to clients because they haven't told us about them being
DDNet yet.
2020-05-22 17:58:41 +02:00
Zwelf cd015c5e37 Fix storing incomplete game uuid on /save
Previously the formatted game uuid was cut off after 15 bytes.
Therefore only 52 out of 128 bit of the uuid were stored.

introduced in 69fd7f1767
2020-05-20 22:18:14 +02:00
Learath 850e4e84e4 Reserve bytes for the type and token 2020-05-18 21:13:15 +03:00
Learath 788fc8bb5f Update can happen when the gameserver doesn't exist 2020-05-18 16:17:06 +03:00
Learath 1426392ae7 Don't Destroy if we didn't Init 2020-05-16 23:10:42 +03:00
bors[bot] 3c573cfd2f
Merge #2181
2181: Some antibot fixes r=Learath2 a=heinrich5991



Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-16 08:06:53 +00:00
bors[bot] 8c2ae65059
Merge #2177
2177: Extend antibot interface r=def- a=Learath2

Supersedes #2167 

Co-authored-by: Learath <learath2@gmail.com>
2020-05-16 06:07:55 +00:00
heinrich5991 afe2fc930e Fix ITIS, IDONTKNOW not being system messages 2020-05-16 00:41:03 +02:00
heinrich5991 457c4db964 Some antibot fixes 2020-05-16 00:39:17 +02:00
Learath eacc56059b Keep ticks going 2020-05-15 19:29:34 +03:00
Learath 5e02bb5a23 Extend antibot interface
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-13 23:39:40 +03:00
trml 99baf219d0 Revert "Remove the dummy prediction"
This reverts commit 681f30950c.
2020-04-18 22:16:25 +02:00
Arda Demir 8648b1a7dc Don't push notification when active 2020-04-15 00:37:58 +03: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 ea7f3f0a62
prevent endless loop 2020-04-14 12:51:48 +02:00
Ryozuki b647c1e978
Add UPnP support 2020-04-14 12:11:50 +02:00
Ryozuki 588f8a833f
Fix snapshot storage leak 2020-04-11 13:38:02 +02:00
Ryozuki 5f565a5eb5
check for WavpackCloseFile 2020-04-11 13:17:21 +02:00
Ryozuki 7d51a0992a
fix memory leak on sound decoding 2020-04-11 13:17:21 +02:00
Ryozuki 09b79701af
don't check, use dbg_assert 2020-04-11 13:17:20 +02:00
Ryozuki cde63e2f48
Fix TexEx UB 2020-04-11 13:17:20 +02:00
Ryozuki c6731c7e83
Fix uninitialized m_LastProgramID 2020-04-11 13:17:19 +02:00
def dde88bbd77 Fix division by 0 (fixes #2131)
Caused by https://github.com/ddnet/ddnet/pull/2119/
2020-04-10 20:54:05 +02:00
Ryozuki 0da0dddf15 drop glu dependency 2020-04-08 18:19:12 +02:00
def 6fd7ded869 Whitespace 2020-04-07 22:57:07 +02:00
Learath 388d792205 Add an option for highdpi 2020-04-07 23:47:15 +03:00
bors[bot] 65673ab402
Merge #2119
2119: Change last render logic, when inactive r=def- a=Jupeyy

Just a small fix to let the client not try to get high fps, when it "thinks" it didn't render for a long time.
(is still affected by the SDL check "if window has input" at the cl_refresh_rate calculation, so not a 100% fix).

Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2020-04-07 15:27:29 +00:00
def f7e8b10bff Make gfx_resizable default to 0
because of common graphics issues. As suggested by Jupstar
2020-04-06 12:04:53 +02:00
Jupeyy 888223a529 Change last render logic, when inactive 2020-04-06 03:18:30 +02:00
def a8c3d192d1 Add cl_unpredicted_shadow -1 value (fixes #2100)
to disasble unpredicted shadow even in debug mode
2020-03-31 18:00:20 +02:00
Learath 61e5667624 Streamline platform client 2020-03-28 02:20:16 +03:00
sirius 3c085b53ed fix bug that demo can't play when demo pause and use start_video 2020-03-26 18:25:50 +08:00
bors[bot] 6e78deb0c4
Merge #2069 #2076 #2095
2069: Move global configuration out of client interface r=heinrich5991 a=ChillerDragon



2076: Allow editing multiple tile layer props r=heinrich5991 a=Learath2

Requested by Ravie on discord

2095: Fix `AntibotDestroy` being called twice r=def- a=heinrich5991

The resource deallocation needs to happen in symmetry with the
allocation, otherwise we get unmatched dealloctions leading to crashes.

Allocations happened in `CAntibot::Init`, but it was not guaranteed that
this was called before the destructor.

Co-authored-by: ChillerDragon <ChillerDragon@gmail.com>
Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-03-23 17:04:15 +00:00
bors[bot] 048ca9fe0a
Merge #2070
2070: Fix demo recording with broken maps r=heinrich5991 a=Learath2

Apparently there are maps out there with broken headers advertising the wrong map size. This allows demos to be recorded on those.

Example of such a map is `ctf4_old_d668e9fa_2f472051b26b6bffaa4af8990cf882cafd6364e00e1333b77762cb9911e49464.map`
Hosted on `Allround Network`

Reported by teini94 on discord

Co-authored-by: Learath <learath2@gmail.com>
2020-03-23 16:58:01 +00:00
bors[bot] bf821fe391
Merge #2071
2071: Add an option to only start a new demo when connect while automatically record demos r=def- a=sirius1242

Origin auto demo recording of ddnet will generate lots of demo files especially when playing in mods which have shorter rounds, such as infclass. I added a new option to open a new demo file only when connect to server (include map changing), this is disabled by default, and can use `cl_auto_demo_on_connect 1` to open. It works only when `cl_auto_demo_record` open.

Co-authored-by: sirius <sirius.ustc@gmail.com>
2020-03-23 16:38:17 +00:00
Learath 6919ed3041 Use updated stub, switch around versions 2020-03-23 15:46:57 +01:00
Learath 060d60f2ea Output library versions 2020-03-23 15:46:57 +01:00
def 2319151fb4 Disable currently broken sv_vanilla_antispoof 2020-02-27 22:53:56 +01:00
sirius 72fd0f9a21 forget to check CONF_VIDEORECORDER defined or not for video rendering pause 2020-02-27 20:32:42 +08:00
sirius b5c931279f add option to pause video rendering when demo playing pause 2020-02-27 18:50:18 +08:00
def 127372b03d Fix timeout protection (fixes #2067)
CNetMsg_Cl_Say should not be a system message
2020-02-22 09:55:17 +01:00
sirius 50b980ea16 add an option to only start a new demo when connect while automatically record demos 2020-02-21 17:01:31 +08:00
Learath c52bbb6c02 Fix demo recording with broken maps 2020-02-19 15:38:58 +03:00
ChillerDragon 9e0f6d2ce0 Move global configuration out of client interface 2020-02-19 11:24:58 +01:00
bors[bot] 43ecec1f2f
Merge #2061
2061: use pid in file names of temporary files r=heinrich5991 a=def-

to prevent race conditions with multiple clients running when saving maps, config on quit, during upgrade


Co-authored-by: def <dennis@felsin9.de>
2020-02-13 00:03:23 +00:00
def 31ae4c4d5a use pid in file names of temporary files
to prevent race conditions with multiple clients running when saving
maps, config on quit, during upgrade
2020-02-12 23:14:30 +01:00
def 00b74d2acb Don't overcomplicate Success = false 2020-02-12 22:45:09 +01:00
bors[bot] 72fcf9caa8
Merge #2050
2050: Fix race condition. Closes #2004 r=def- a=Learath2

I guess a new state is better then a global variable

Co-authored-by: Learath <learath2@gmail.com>
2020-01-26 15:49:30 +00:00
Learath cc8dea393d Address feedback 2020-01-25 21:05:33 +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
Learath 40dc9692aa Fix race condition. Closes #2004 2020-01-25 17:48:32 +01:00
bors[bot] 7a3ebd5948
Merge #2041
2041: Strip spaces in browser (server name) r=heinrich5991 a=ChillerDragon

before:
![image](https://user-images.githubusercontent.com/20344300/72688976-b45f1d00-3b0c-11ea-8920-5328c6d721f7.png)
after:
![image](https://user-images.githubusercontent.com/20344300/72688970-9db8c600-3b0c-11ea-8636-330218d75ca1.png)


Co-authored-by: KillaBilla <robomastermail@googlemail.com>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-01-25 12:45:36 +00:00
bors[bot] 749929431a
Merge #2040
2040: fixed faulty message id r=heinrich5991 a=ChillerDragon

(cherry picked from commit 9023796d27)

Co-authored-by: oy <Tom_Adams@web.de>
2020-01-25 12:40:14 +00:00
sirius 97064a1b09 Keep trying to solve fluency issues 2020-01-25 19:14:45 +08:00
def 8779be6bd8 Looks like my comment was wrong... 2020-01-25 07:37:28 +01:00
12pm ec42291756 Allow filtering by name in status
Easier to find players when the server is full
2020-01-24 14:44:54 +01:00
ChillerDragon 610976eddd Fix max snapshot size 2020-01-22 13:44:05 +01:00
ChillerDragon ee825f42e9 Add snap check for dummy 2020-01-21 22:20:09 +01:00
oy 49168da784 fixed typo
(cherry picked from commit 3deb58d409)
2020-01-21 22:17:20 +01:00
oy ef3bce204c added some checks to snap handling
(cherry picked from commit a09d498bc9)
2020-01-21 22:16:28 +01:00
KillaBilla ba1abac52f remove leading and trailing space from server name and forbit the use of multiple spaces
(cherry picked from commit a9cc1e8de2)
2020-01-19 22:28:19 +01:00
oy 1b4131a7fd fixed faulty message id
(cherry picked from commit 9023796d27)
2020-01-19 21:30:12 +01:00
sirius d6dc811674 seems fluent problem solved, and fix a error when compile by msvs 2020-01-12 16:57:40 +08:00
sirius 483885b6b1 try to solve the problem that video not fluent caused by previous commits 2020-01-08 14:25:06 +08:00
sirius d45b66938d make latter to wait when write_frame collision between audio and video 2020-01-07 11:32:56 +08:00
sirius 3baba93ed2 fix the problem of audio when video fps is low 2020-01-06 11:57:24 +08:00
sirius 779afcb771 crf and preset can be set by variables 2020-01-05 11:18:51 +08:00
sirius 0be4629cc1 forget to deal with pError 2020-01-04 17:44:12 +08:00
sirius 3967ddba00 replace same operations by call Demoplay_Play() when rendering video by render button 2020-01-04 17:08:00 +08:00
sirius 521e822bbb update map fix part when rendering video 2020-01-04 17:02:00 +08:00
sirius 5350a12185 fix wired sound 2020-01-04 10:17:16 +08:00
def 600a3b0bad Fix preprocessor 2020-01-03 22:07:02 +01:00
def 511c9d248e Fix alignment of pixels for reading to video recorder 2020-01-03 21:43:15 +01:00
def 1e36b4df15 Move some code out as a small optimization 2020-01-03 21:42:53 +01:00
def 8d716452ba Fix sizes so that we don't write too far 2020-01-03 21:42:19 +01:00
def 54ae929b2f Disallow resizing windows when videorecorder is compiled in 2020-01-03 21:40:41 +01:00
def a0362019f0 Initialize m_NextaFrame 2020-01-03 20:37:27 +01:00
Learath d2fad6c79a Fix demo bug 2020-01-03 12:13:40 +03:00
sirius 6803726209 extend sound buffer, try to solve segment fault problem 2020-01-03 10:26:10 +08:00
def 017b8c3621 Move DDNet-custom json code out of external directory (fixes #2022) 2020-01-01 20:07:04 +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 811ddb3283
Merge pull request #2008 from Learath2/dd_pr_demohotfix
Fix (not) small bug with demos that don't include a map
2019-12-22 22:38:22 +01:00
Learath a882cf5196 Fix bug with slices 2019-12-22 19:09:14 +03:00
Dennis Felsing 83f2fc2669
Merge pull request #2012 from ChillerDragon/pr_func_style
Style 'void foo() {' -> 'void foo()\n{'
2019-12-21 18:18:49 +01:00
ChillerDragon 928e5407eb Style 'void foo() {' -> 'void foo()\n{' 2019-12-21 14:35:09 +01:00
Dennis Felsing 3e08d473ab
Merge pull request #2011 from heinrich5991/pr_ddnet_fix_comment
Fix outdated comment
2019-12-21 08:00:38 +01:00
heinrich5991 e70fb8e43d Fix outdated comment 2019-12-20 22:51:10 +01:00
Learath 65ec25a8a1 Fix small bug with demos that don't include a map 2019-12-18 13:51:08 +01:00
Dennis Felsing 4171e8751f
Merge pull request #1939 from Learath2/dd_pr_demoload
Always try extracting map before fail. Fix #1886
2019-12-17 21:20:10 +01:00
Learath2 3784f5bea4 Use a UUID, Cleanup code and UI 2019-12-17 15:44:54 +01:00
ChillerDragon 4a6a85124a Remove some unused includes 2019-12-14 10:20:42 +01:00
bors[bot] 4a83a42f14
Merge #1981
1981: Fix: background colors being set to white r=def- a=Aerll

After changing either of background colors in ddnet tab in settings and reopening the client, both become white.

Co-authored-by: Aerll <31746984+aerll@users.noreply.github.com>
2019-12-10 12:34:48 +00:00
def 8639c902ae map_convert_07: use regular paths 2019-12-08 23:14:56 +01:00
Aerll ff685ac1e0
fix ub 2019-12-08 20:08:00 +01:00
def 18e2232727 Add support to tell DDNet7 ranks apart from DDNet ones
Saves should not be loadable from one to the other.

Requires:
ALTER TABLE record_race ADD COLUMN DDNet7 BOOL DEFAULT FALSE AFTER GameID;
ALTER TABLE record_teamrace ADD COLUMN DDNet7 BOOL DEFAULT FALSE AFTER GameID;
ALTER TABLE record_saves ADD COLUMN DDNet7 BOOL DEFAULT FALSE AFTER Server;
2019-12-08 16:04:49 +01:00
Magnus Auvinen 6a6a5f00c9 more typesafty in the graphics. introduced the IGraphics::CTextureHandle
Edited by @ChillerDragon to fit in ddnet
(cherry picked from commit cb95e8dfe8)
2019-11-22 18:08:37 +01:00
sirius 76a80fe01b deal with warnings 2019-11-12 21:41:30 +08:00
ChillerDragon 9c3447dd17 Use an enum for netclient indices 2019-11-10 13:46:27 +01:00
ChillerDragon 1a957f0abe Fix typo 'user' -> 'use' 2019-11-05 09:16:54 +01:00
Dennis Felsing 785ec3d345 Expire server info on connected/drop events 2019-11-04 15:45:55 +01:00
Learath2 c2bcd3bd4d Fix bug 2019-11-04 01:06:52 +01:00
bors[bot] 0de012572b
Merge #1955
1955: Cache serverinfo responses r=def- a=Learath2

I'm not sure I like it but it works

Co-authored-by: Learath2 <learath2@gmail.com>
2019-11-03 20:09:21 +00:00
Learath2 c0b0f48d16 Oops 2019-11-03 20:58:35 +01:00
def fdaafea6b5 Also init m_aClients[*].m_Latency
as reported by valgrind --tool=memcheck:

==376722== Conditional jump or move depends on uninitialised value(s)
==376722==    at 0x1CDBDB: int maximum<int>(int, int) (math.h:79)
==376722==    by 0x216A46: CPlayer::Tick() (player.cpp:174)
==376722==    by 0x1FB308: CGameContext::OnTick() (gamecontext.cpp:658)
==376722==    by 0x1C60AF: CServer::Run() (server.cpp:2046)
==376722==    by 0x1CB099: main (server.cpp:3040)
==376722==
==376722== Conditional jump or move depends on uninitialised value(s)
==376722==    at 0x183F27: int minimum<int>(int, int) (math.h:77)
==376722==    by 0x216A65: CPlayer::Tick() (player.cpp:175)
==376722==    by 0x1FB308: CGameContext::OnTick() (gamecontext.cpp:658)
==376722==    by 0x1C60AF: CServer::Run() (server.cpp:2046)
==376722==    by 0x1CB099: main (server.cpp:3040)
2019-11-03 18:54:25 +01:00
Learath2 c4d18118c1 Use automatic storage for the data 2019-11-03 18:31:05 +01:00
def 258eaf5a98 Fix uninitialized variable
As reported by valgrind --tool=memcheck:

[201==344082== Conditional jump or move depends on uninitialised value(s)
==344082==    at 0x483BC85: strlen (vg_replace_strmem.c:461)
==344082==    by 0x5B9E61D: __vfprintf_internal (in /usr/lib/libc-2.30.so)
==344082==    by 0x5BB0409: __vsnprintf_internal (in /usr/lib/libc-2.30.so)
==344082==    by 0x222AE7: str_format (system.c:2350)
==344082==    by 0x2196AB: CStorage::GetPath(int, char const*, char*, unsigned int) (storage.cpp:274)
==344082==    by 0x219DDD: CStorage::RemoveFile(char const*, int) (storage.cpp:409)
==344082==    by 0x255D3C: CClient::DemoRecorder_Stop(int, bool) (client.cpp:3546)
==344082==    by 0x2569E7: CClient::ConchainReplays(IConsole::IResult*, void*, void (*)(IConsole::IResult*, void*), void*) (client.cpp:3727)
==344082==    by 0x1F4659: CConsole::Con_Chain(IConsole::IResult*, void*) (console.cpp:1169)
==344082==    by 0x1E4C2C: CConsole::ExecuteLineStroked(int, char const*, int, bool) (console.cpp:504)
==344082==    by 0x1E4F37: CConsole::ExecuteLine(char const*, int, bool) (console.cpp:558)
==344082==    by 0x1E5240: CConsole::ExecuteFile(char const*, int, bool, int) (console.cpp:604)
2019-11-03 18:05:42 +01:00
Learath2 52cca29cd9 Use a std::list, improve variable naming 2019-11-03 15:39:32 +01:00
sirius 8c48e7d633 some small changes 2019-11-03 11:20:24 +08:00
Learath2 3d495a9936 Initialize variables 2019-11-03 01:53:50 +01:00
Learath2 79e4651d5b Only update serverinfo when needed 2019-11-03 01:07:10 +01:00
Learath2 7f0589bff7 Cache serverinfo responses 2019-11-03 00:33:30 +01:00
sirius 4cc03af9a9 remove useless functions for previous audio sync 2019-11-02 18:32:48 +08:00
sirius e910fe404f Direct mix when recording audio now, and seems solve the stuck problem when
DDNet is not the focusing window
2019-11-02 18:21:47 +08:00
sirius f2ffa996c2 GetSync calculate only when m_Recording true (otherwise sometimes core dump) 2019-11-01 10:52:24 +08:00
Sirius 45263ebdd0
Merge branch 'master' into demo_render2 2019-10-31 22:08:49 +08:00
sirius ae1ff28579 not abort sample when sync now 2019-10-31 22:01:12 +08:00
WsYFU 1a16f5b5f0
Update serverbrowser.cpp 2019-10-31 16:16:35 +03:00
sirius 5ad8028aa4 sync audio frame with video frame number 2019-10-31 20:02:41 +08:00
sirius 99f6b66fbd solve sync between video and audio by magic number 2019-10-31 17:37:38 +08:00
sirius 99df692e00 interleaving problem solved, but a little misplacement of video and audio stream 2019-10-31 17:00:05 +08:00
sirius 0a6edd02ca solve the problem when video finished 2019-10-30 22:26:45 +08:00
sirius 9f009e0e04 interleaving problem seems solved, but still have some problem when playing by mplayer 2019-10-30 22:10:44 +08:00
sirius f0e7ca200f remove two first audio frames to avoid noise in the begining 2019-10-30 10:56:20 +08:00
sirius a7c2a65ebc audio seems correct, but need more elegant way, and still bad interleaving 2019-10-30 00:01:25 +08:00
sirius 49ff1a5827 not play sound when rendering video 2019-10-26 20:01:09 +08:00
sirius 9866a73b1c sync audio and video 2019-10-26 19:54:25 +08:00
ChillerDragon 47b41f35ff Fix objc_msgSend() xcode11 error
Fix by @heinrich5991
from the documentation of objc_msgSend in <objc/message.h>
```
/* Basic Messaging Primitives
 *
 * On some architectures, use objc_msgSend_stret for some struct return types.
 * On some architectures, use objc_msgSend_fpret for some float return types.
 * On some architectures, use objc_msgSend_fp2ret for some float return types.
 *
 * These functions must be cast to an appropriate function pointer type
 * before being called.
 */
OBJC_EXPORT void
objc_msgSend(void /* id self, SEL op, ... */ )
    OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0);

OBJC_EXPORT void
objc_msgSendSuper(void /* struct objc_super *super, SEL op, ... */ )
    OBJC_AVAILABLE(10.0, 2.0, 9.0, 1.0, 2.0);
```
2019-10-23 17:23:51 +02:00
sirius b175a6fd42 add button to use sound when rendering video 2019-10-17 13:38:00 +08:00
Learath 7cdd050fee Add SHA to demos. Bump Demo Version 2019-10-14 02:27:08 +02:00
Learath b2cefb20ed Always try extracting map before fail. Fix #1886 2019-10-13 18:46:28 +02:00
bors[bot] fdf2ec37e7
Merge #1930
1930: Fix #1888 r=heinrich5991 a=Learath2

I didn't see a better fix for it

Co-authored-by: Learath <learath2@gmail.com>
2019-10-07 22:44:51 +00:00
12pm 36df86fcd2 Add toggle keyboard shortcuts button to demo player
Demo shortcuts can be annoying if you have other binds on them.

Icons made by eNJi
2019-10-05 18:06:58 +02:00
Learath 49a2a47dc8 Fix #1888 2019-10-02 20:44:03 +03:00
bors[bot] e7ea336a94
Merge #1925 #1929
1925: Don't bundle libcurl for Linux r=Learath2 a=heinrich5991

It's installed basically everywhere and just increases release size.
They're serious about backward compatibility and haven't had a breaking
change in ages.

1929: Remove space at end of cfg description r=Learath2 a=ChillerDragon

Happy hacktoberfest :octocat: 

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-10-02 17:25:02 +00:00
ChillerDragon 3777021383 Remove space at end of cfg description 2019-10-02 17:15:42 +02:00
sirius 6acae69d96 repair the segment fault bug in con_startvideo 2019-10-02 09:52:54 +08:00
sirius ca583ba2a9 solve the problem about disorder of frames, reason is that no glReadBuffer() before glReadPixel() 2019-10-02 09:52:47 +08:00
sirius b0ee5671ff rebased to ef32fc4 2019-10-02 09:51:33 +08:00
sirius e4fdeefdd4 remove first two frames to forbid from interface before playback being rendered to video 2019-09-30 20:55:23 +08:00
sirius 605da124d4 add button to adjust render speed 2019-09-30 20:54:42 +08:00
sirius 1c150106f8 demoplayer disconnect when render finished 2019-09-30 20:54:42 +08:00
sirius d9d1e8b309 add if defined to newly added lines 2019-09-30 20:54:19 +08:00
sirius 562dffe800 segment fault repaired (don't nest others' function thoughtless) 2019-09-30 20:52:25 +08:00
sirius a71339366b add function to appoint video name, but will segment fault 2019-09-30 20:52:25 +08:00
sirius 1375fbb95d add a button to render whole demo 2019-09-30 20:52:24 +08:00
HMH 41da2f4497 removed superfluous const 2019-09-30 20:48:50 +08:00
H-M-H 78e851c52c hopefully made msvc happy now 2019-09-30 20:48:50 +08:00
H-M-H 4b86630b42 fps for videos configurable and videos are stored at a proper location 2019-09-30 20:48:47 +08:00
H-M-H 98568eba43 no audio for now 2019-09-30 20:48:47 +08:00
H-M-H 2f71720fb1 correct time after stopping recording a video 2019-09-30 20:48:47 +08:00
H-M-H ab9e716444 fixed compiling on linux 2019-09-30 20:48:47 +08:00
H-M-H 7ae4b39574 made recording demos work
- videorecorder only works for recording demos now
- demoplayer was modified to allow controll over the time that passed
  in order to get perfect fps, IVideo controlls how much time passed,
  basically every rendercall sets the time to record the next frame
2019-09-30 20:48:47 +08:00
H-M-H 94860c935f raw H.264 --> mp4 \o/ 2019-09-30 20:46:45 +08:00
H-M-H c5c171a3cb initial work on a video recorder 2019-09-30 20:46:45 +08:00
bors[bot] 1bf178614f
Merge #1904
1904: Add tune zone prediction r=heinrich5991 a=trml

Is enabled with cl_predict_ddrace 1.

This will predict tunings loaded from the map the first time tunezones are entered, but will also update the tunes after you receive new tunes while in a tunezone, since it's possible to change them in rcon.

Co-authored-by: trml <trml@users.noreply.github.com>
2019-09-17 13:50:18 +00:00
bors[bot] 0c34b6eb55
Merge #1878 #1903
1878: Add paused and spec to explayerflags r=Learath2 a=Ryozuki

I think client should know about this, maybe we can do something with it in the future.

It also may help with https://github.com/ddnet/ddnet/issues/259 but i didn't figure out yet a way to fix it.

1903: Consistent spacing for getters and setters r=Learath2 a=ChillerDragon



Co-authored-by: Ryozuki <ryo@ryozuki.xyz>
Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-09-15 13:41:19 +00:00
bors[bot] c146de63fa
Merge #1909
1909: Fix filescore path r=Learath2 a=ChillerDragon

The filescore system did not handle map paths well that were an actual path and not just the mapname.

```
# before fix
$ ./DDNet-Server 'sv_map "DDNetPP-maps/BlmapChill"'
[...]
[2019-09-15 13:29:44][filescore]: opening 'records/DDNetPP-maps-BlmapChill_record.dtb' for reading failed

# after fix
$ ./DDNet-Server 'sv_map "DDNetPP-maps/BlmapChill"'
[...]
[2019-09-15 13:31:05][filescore]: opening 'records/BlmapChill_record.dtb' for reading failed
```

I called ```Server()->``` in a thread so please review thread safety before merge.

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-09-15 13:30:48 +00:00
ChillerDragon b39de87b18 Fix filescore path
# before fix
$ ./DDNet-Server 'sv_map "DDNetPP-maps/BlmapChill"'
[...]
[2019-09-15 13:29:44][filescore]: opening 'records/DDNetPP-maps-BlmapChill_record.dtb' for reading failed

# after fix
$ ./DDNet-Server 'sv_map "DDNetPP-maps/BlmapChill"'
[...]
[2019-09-15 13:31:05][filescore]: opening 'records/BlmapChill_record.dtb' for reading failed
2019-09-15 13:35:35 +02:00
trml bb5eab0cc0 Add tunezone prediction 2019-09-09 00:53:07 +02:00
ChillerDragon f5f07860c4 Consistent spacing for getters and setters 2019-09-08 19:22:12 +02:00
Corantin H 043859b66d Fix keeping tmp replay demo file on map change 2019-08-21 22:49:21 +02:00
bors[bot] e2840b1a57
Merge #1881 #1895
1881: Replace browse_icons (by MiM) (fixes #1880) r=heinrich5991 a=def-



1895: Centered entities text r=heinrich5991 a=BannZay

Closes https://github.com/ddnet/ddnet/issues/1721

Before:
![not_centered_100](https://user-images.githubusercontent.com/17499770/63204728-89772580-c0a3-11e9-8ad9-060cd03d2f74.png)
Now:
![centered_100](https://user-images.githubusercontent.com/17499770/63204730-8da34300-c0a3-11e9-86e2-5f542e4789a1.png)

It is done for "buffered" mode. Therefore, it works for OpenGL 3.3 only.


Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: Andrii Vynychenko <bannzay3@yandex.ru>
2019-08-17 15:32:29 +00:00
Andrii Vynychenko 1671e6fbfc numbers dynamically centered for OpenGL 3.3 2019-08-17 03:42:54 +03:00
def cb738ffed0 Fix show_ips to show regular formatting (fixes #1873) 2019-08-01 20:24:30 +02:00
def 0018ed27df Don't attempt to move DLLs on Linux (fixes #1867) 2019-07-31 18:00:48 +02:00
Learath 0bc3650356 Send DDNet capability flag 2019-07-29 14:18:40 +03:00
12pm c57fcf3ee7 Persist playerflags when using timeout protection 2019-07-26 01:39:53 +02:00
fokkonaut 5c280a3c9d
Fix blockZ and infectionZ
I talked to coffee (creator of both mods) and he said it is okay to use zoom on the mods, also: eye emotes work there so the eye wheel is also supported. I have updated both mods to ddnet master so they have all the new stuff
2019-07-24 06:52:32 +02:00
bors[bot] 658efe776b Merge #1845
1845: Fix infectionZ gamemode seen as DDNet r=heinrich5991 a=fokkonaut

InfectionZ's gametype is somehow infection, instead of infectionZ

Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
2019-07-21 08:32:59 +00:00
fokkonaut a8756f99e0 Fix infectionZ gamemode seen as DDNet 2019-07-21 10:03:27 +02:00
bors[bot] 69ace3c1ec Merge #1837
1837: Don't advertise the reserved slots. Fix #1808 r=heinrich5991 a=Learath2

I think this is also fine for vanilla, but I can't get the vanilla client to work on mac to test it.

Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: Emir Marincic <learath2@gmail.com>
2019-07-20 18:32:19 +00:00
Emir Marincic 57197d990c
Better represent the state of the server
Co-Authored-By: heinrich5991 <heinrich5991@gmx.de>
2019-07-20 21:25:15 +03:00
bors[bot] ebeeace65e Merge #1841
1841: Restart required message when changing Show console r=heinrich5991 a=fokkonaut



Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
2019-07-19 00:16:01 +00:00
fokkonaut 78f52629e4 fix build 2019-07-19 01:58:49 +02:00
Learath 1769e5ae71 Don't advertise the reserved slots. Fix #1808 2019-07-18 18:20:55 +03:00
bors[bot] bbcf7a6905 Merge #1815
1815: Return error codes on server fail r=def- a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-07-11 09:25:59 +00:00
ChillerDragon b9273a9ed2 Return error codes on server fail 2019-07-11 11:18:25 +02:00
ChillerDragon 6172a9dca0 Use the float type explicitly 2019-07-08 23:08:42 +02:00
Learath2 8469949257 Remove debug message 2019-07-02 14:56:02 +02:00
Learath2 1993989067 Fix toggle not working with colors 2019-07-02 14:54:06 +02:00
heinrich5991 ca03ab6337 Address Learath2's comments 2019-06-14 00:28:59 +02:00
heinrich5991 62846821da Revert "Implement ISDDNET. Deprecates #1320"
This reverts commit 1929bc6739.
2019-06-14 00:28:59 +02:00
heinrich5991 a7857d58c4 Remove now-useless function in CGameClient
(incorporate @fokkonaut's feedback)
2019-06-14 00:28:59 +02:00
heinrich5991 f31e081bd4 Remove all checking for the gametype in the game
OK, maybe not actually remove because it is kept for fallback when the
new method isn't available.

The whole gametype parsing business had the same downsides as user agent
parsing on the web, hence I removed it while keeping behavior the same.

This allows servers to explicitly opt in or out of certain bug
workarounds and other client behavior. This increases the complexity of
different configurations that are available in the client (which is a
bad thing).
2019-06-14 00:28:59 +02:00
bors[bot] f8ba394c5d Merge #1781
1781: sv_server_info_per_second, sv_van_conn_per_second: allow 0 to disable r=heinrich5991 a=def-

Clean up code a bit, also allow larger values

Co-authored-by: def <dennis@felsin9.de>
2019-06-12 20:23:27 +00: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
def 85bb376bdc sv_server_info_per_second, sv_van_conn_per_second: allow 0 to disable
Clean up code a bit, also allow larger values
2019-06-11 18:12:43 +02:00
Dennis Felsing 0992e3c7c4
Merge pull request #1777 from ChillerDragon/pr_demo_wrong_hash
Prefer downloadedmaps over maps ( #1702 )
2019-06-11 18:05:12 +02:00
Dennis Felsing bbb1b2cdef
Merge pull request #1733 from Learath2/dd_pr_colorsigned
Store colors unsigned
2019-06-11 12:26:28 +02:00
ChillerDragon 839009fc93 Prefer downloadedmaps over maps ( #1702 )
Fixes corrupted demos if there is a different version of the current map in the maps/ folder.
Thanks to @archimede67 for initial research.
2019-06-05 22:24:17 +02:00
archimede67 0e62b4b9b9 fix code style 2019-06-05 19:49:00 +02:00
archimede67 65353c2030 fix 2019-06-05 19:36:45 +02:00
archimede67 929bf57bf6 infinite length and a lot of changes including notifications are now chat messages 2019-06-05 19:17:55 +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
bors[bot] 647bbcc259 Merge #1732
1732: Implement ISDDNET and Time Score cleanly r=def- a=Learath2

This is an attempt at implementing the two things in a cleaner way.

Deprecated #1320 
Willfix #1622  soon(tm)

Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: Learath2 <learath2@gmail.com>
2019-05-31 10:12:10 +00:00
Corantin H 04464a325e fix 2019-05-28 15:39:11 +02:00
Corantin H 709a6c2924 Moved notification outside of the demoedit job, so now we keep track of all the editjbos and show the notification when they are done in the client loop 2019-05-28 13:24:55 +02:00
Corantin H 7c79b48da5 The demoeditors are now initialised in the constructor of the job 2019-05-26 21:06:43 +02:00
Corantin H cbcb8d4830 The slicing is now done with a new demoeditor each time we save a replay 2019-05-25 15:16:03 +02:00
Corantin H e35951dedc demo slicing is now done in a separate task to prevent ingame freeze 2019-05-25 00:24:13 +02:00
Corantin H bf435e8b72 coding style + added cl_notification_time 2019-05-23 23:17:12 +02:00
Corantin H 858a85e7b5 fixed some typo errors, fixed code style and added a slider setting to set the replay length 2019-05-21 23:59:57 +02:00
Corantin H e6ce2c0c46 Renamed class CNotification to CHudNotification 2019-05-21 18:50:41 +02:00
Corantin H b6b8f7e536 Somehow build failed because of that 2019-05-21 18:04:37 +02:00
Corantin H 857656e8db Implemented a small notification system, fixed some problems with removing tmp files and update the recorder status when checking/unchecking the setting "Enable replays". 2019-05-21 17:21:53 +02:00
Corantin H ac4d7085c5 Switched to a proper new recorder instead of using the auto one 2019-05-21 12:49:19 +02:00
Learath 1929bc6739 Implement ISDDNET. Deprecates #1320 2019-05-21 10:25:15 +02:00
Learath 23255a04b3 Remove time-score 2019-05-21 10:24:07 +02:00
Learath2 c7d8ca129a Rerevert #1187 2019-05-21 10:51:43 +02:00
Corantin H 817bdaf9cd initial work on a replay system 2019-05-20 23:55:40 +02:00
Learath 66b1b44e07 Style 2019-05-20 00:18:19 +02:00
Kpro998 f3ff81e5ab fix IsBlockInfectionZ duplication 2019-05-19 22:35:56 +01:00
Kpro998 0856fec38e fix particles, emote wheel, zoom and score for blockworlds 2019-05-19 22:11:16 +01:00
Learath db5c17ce71 Avoid implementation-defined behaviour 2019-05-15 18:11:22 +02:00
Learath 0d39eb128d Use unsigned integers for colors 2019-05-15 18:05:19 +02:00
Andrii Vynychenko 0353eb94ef fix zero fonsize 2019-05-11 18:59:47 +03:00
12pm 219d6dcd92 Explicitly filter finished maps
Otherwise this filters all maps in all other tabs
2019-05-11 13:45:41 +02:00
Learath2 e608e2f34f Add Hex display 2019-05-11 02:32:37 +02:00
Learath2 0dd67c92f1 Abbreviate alpha 2019-05-11 02:16:48 +02:00
Learath2 82e6d180e4 Use % and ° 2019-05-11 02:12:37 +02:00
Learath2 b059ac256e Show Alpha only if it's relevant 2019-05-11 02:12:36 +02:00
Dennis Felsing 2396096e3b
Merge branch 'master' into pr-rename-col 2019-05-10 23:46:38 +02:00
12pm ea324592c6 Change col to color in variable names 2019-05-10 23:34:21 +02:00
12pm eda002993e Restore old echo default color 2019-05-10 23:07:32 +02:00
Andrew 0fffd7705f Cl_text_entities_size (#1632)
* new command added

* fix code duplication after merge

* merge #1632 suggestions

* align the texture to the center vertically

* refactor

* fix RenderSwitchOverlay

* Update src/engine/client/text.cpp

Co-Authored-By: BannZay <bannzay3@gmail.com>

* Apply suggestions from code review

Co-Authored-By: BannZay <bannzay3@gmail.com>

* Apply suggestions from code review

* Apply suggestions from code review

Co-Authored-By: BannZay <bannzay3@gmail.com>

* Apply suggestions from code review
2019-05-06 14:19:10 +02:00
trml 8eb4b7fd71 Add setting cl_predict_freeze 2 for having a small amount of misprediction while frozen 2019-05-05 12:32:06 +02:00
Learath b86c457c91 Remember whether a color is lit or not 2019-05-01 23:35:29 +03:00
bors[bot] 9bca330a73 Merge #1691
1691: Persist show_ips setting on map changes r=Learath2 a=def-

@12pm 

Co-authored-by: def <dennis@felsin9.de>
2019-05-01 12:08:13 +00:00
Learath f479f69735 Add a flag for colors with alpha 2019-05-01 13:58:51 +03:00
Learath 324c389e87 Accept negatives aswell, don't clamp 2019-05-01 13:41:58 +03:00
bors[bot] a2f44299e0 Merge #1678
1678: Handle colors in console r=def- a=Learath2

DEPENDS: #1654 

A better way to fix #1581 possibly deprecates #1597 

Co-authored-by: Learath <learath2@gmail.com>
2019-04-30 19:39:56 +00:00
bors[bot] 9699d4ef06 Merge #1694
1694: Fix inconsistant uppercase server in logs r=def- a=ChillerDragon

```
$ grep -nr 'IConsole::OUTPUT_LEVEL_STANDARD, "server"' src/ | wc -l
31
$ grep -nr 'IConsole::OUTPUT_LEVEL_STANDARD, "Server"' src/ | wc -l
1
```

Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-04-30 07:35:26 +00:00
ChillerDragon 7a7caabbec Fix inconsistant uppercase server in logs 2019-04-30 09:03:06 +02:00
def a910d9eff7 Persist show_ips setting on map changes 2019-04-29 21:39:17 +02:00
Learath 588acdda0d Consolidate color configs, extend debugging 2019-04-27 02:02:31 +03:00
Learath 979d58f830 Use colors in CTextRender 2019-04-27 01:34:20 +03:00
Learath 6c371a9a57 Even more refactoring 2019-04-27 01:11:15 +03:00
Learath 93d14a1eca Inconvenience for windows 2019-04-26 22:36:49 +03:00
Learath ffa07d88cb Please -WError 2019-04-26 19:11:34 +03:00
Learath 69d78c21b4 Lighten tee colors 2019-04-26 16:38:16 +03:00
Learath 65a17599e1 Add ColorHSVA, phase out more vec3's 2019-04-26 15:06:32 +03:00
Learath 93265dbb9c Please MSVC 2019-04-25 21:09:32 +03:00
Learath e637064a68 Don't store HSL separately 2019-04-25 19:49:27 +03:00
Learath 95a3a69e08 Start phasing out vectors for colors 2019-04-25 18:21:35 +03:00
Learath cc319e0152 Fix warnings and style 2019-04-25 15:04:36 +03:00
Learath 0f781df1dd Try handling colors in console 2019-04-25 14:48:53 +03:00
Learath cc36af73be Cleanup colors 2019-04-24 23:53:26 +03:00
trml 681f30950c Remove the dummy prediction 2019-04-23 02:01:17 +02:00
trml c5c837e0e3 Revert dummy input fix (which wasn't a sufficient fix) 2019-04-21 16:12:21 +02:00
trml 0b3f3b03b5 Rewrite of prediction code, with additional prediction 2019-04-21 16:12:20 +02:00
12pm 6e880644af Add some demo player shortcuts 2019-04-15 21:08:12 +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
bors[bot] 279eeed9fc Merge #1614
1614: Remove unmaintained Android code (fixes #1575) r=heinrich5991 a=def-

Thoughts?

Co-authored-by: def <dennis@felsin9.de>
2019-04-11 00:02:17 +00:00
def b91530eedc Console: Can't deallocate temp entries, so don't even try 2019-04-10 23:32:45 +02:00
def ab9912c9c1 Rcon console: Don't show duplicates
when connecting to next server after old server shutdown
2019-04-10 23:31:06 +02:00
def 94f3d97ddf Remove unmaintained Android code (fixes #1575) 2019-04-10 19:40:50 +02:00
Dennis Felsing 5d79c41010
Merge pull request #1603 from def-/pr-demo-open
Enable dragging demo file into client to play it directly
2019-04-10 17:38:00 +02:00
Dennis Felsing 7c0f4c9856 Address reviewer comments 2019-04-10 09:00:06 +02:00
def cca80da554 Enable dragging demo file into client to play it directly 2019-04-08 21:43:59 +02:00
def ea093f6d39 2 more tries to force DB to respond in UTF8 (fixes #1599) 2019-04-08 16:55:53 +02:00
bors[bot] a4e2130342 Merge #1571
1571: show_ips r=heinrich5991 a=def-

The problem is that the same console output is sent to all right now,
not sure how to change that cleanly

Co-authored-by: def <dennis@felsin9.de>
2019-04-07 19:01:21 +00:00
bors[bot] 52c00dcc02 Merge #1573
1573: Handle FS failures while updating (fixes #1560) r=heinrich5991 a=def-

Not sure if I caught all locations

Co-authored-by: def <dennis@felsin9.de>
2019-04-07 18:50:08 +00:00
Jordy Ruiz 1e0cc51ba1 Add bound check in datafile.cpp anywhere m_ppDataPtrs is accessed as an array. Should fix #2073
(cherry picked from commit e086f4b35b)
2019-04-07 13:10:07 +02:00
bors[bot] 5d9d0d7d35 Merge #1587
1587: Small fixxings r=heinrich5991 a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-04-06 21:08:40 +00:00
def e539bbacb1 Handle FS failures while updating (fixes #1560)
Not sure if I caught all locations
2019-04-06 19:24:40 +02:00
def 25c54ef4db Implement show_ips to protect accidental leaking of IPs
Marks all sensitive data with <{ }> and then filters that out when
show_ips is not set.
2019-04-06 19:22:02 +02:00
bors[bot] b25c5275d5 Merge #1585
1585: Use OpenSSL md5 if it is available r=def- a=heinrich5991

Fixes #1582.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2019-04-06 15:43:24 +00:00
ChillerDragon abba71e6d6 Fix tw code style 2019-04-06 17:06:12 +02:00
12pm 98bfeb3e72 Notify about chat mentions in editor 2019-04-06 11:32:50 +02:00
heinrich5991 e3657ab2d5 Use SHA256 instead of MD5 in some places
This only works in places where the actual choice of hashing function
doesn't matter.
2019-04-06 02:56:29 +02:00
heinrich5991 e44b1ca986 Use OpenSSL md5 if it is available
Fixes #1582.
2019-04-06 02:56:29 +02:00
Dennis Felsing a7dabe3475
Merge pull request #1570 from 12pm/playerflags
Add playerflags, dnsbl, and ips for non-admins in status
2019-04-04 18:55:40 +02:00
Dennis Felsing fc76c2219f
Merge pull request #1566 from def-/pr-demo-speed
Demo speed improvements
2019-04-03 19:02:42 +02:00
Dennis Felsing 1fd130cf15
Merge pull request #1564 from def-/pr-dummy-fixes
Some more dummy fixes (might fix #1415)
2019-04-03 19:02:28 +02:00
12pm a7ef921e3f Add playerflags, dnsbl, and ips for non-admins in status 2019-04-03 15:07:05 +02:00
def e25d43aaf6 Extend GUI options for available demo speeds up to 64 2019-04-02 23:20:44 +02:00
def 989726db00 Allow demo speeds up to 256 2019-04-02 23:16:01 +02:00
def ad70456687 Some more dummy fixes (might fix #1415) 2019-04-02 22:02:55 +02:00
def 392fe03844 Enable gun sound by default 2019-04-02 21:52:02 +02:00
Dennis Felsing 0b578c4330 Fix cl_confirm_disconnect/quit_time (fixes #1550)
-1 now works as described
Split into two settings
2019-03-29 14:56:02 +01:00
Dennis Felsing 5124372e9d
Merge pull request #1546 from def-/pr-glyph-missing
Fix text render when a glyph is missing (fixes #1543)
2019-03-28 23:38:31 +01:00
Dennis Felsing 138a9c6ff7
Merge pull request #1545 from def-/pr-load-font
Move out common font loading into method
2019-03-28 23:38:24 +01:00
Dennis Felsing 95cc357dd6
Merge pull request #1540 from def-/pr-disconnect-time
Add cl_confirm_disconnect_quit_time (fixes #1530)
2019-03-28 23:38:16 +01:00
def 4171db48a9 Fix text render when a glyph is missing (fixes #1543)
Instead show □ (white square, 0x25a1) as replacement character

The old behaviour was to continue when a glyph was missing, not load
the glyph and then instead fill the bitmap with random garbage that was
still in the buffer. Introduced by https://github.com/ddnet/ddnet/pull/1081
2019-03-28 22:46:08 +01:00
def 9e25f4c113 Move out common font loading into method 2019-03-28 21:51:42 +01:00
def 8908102536 Add cl_confirm_disconnect_quit_time (fixes #1530)
Number of minutes of active racing time before being asked to confirm
disconnecting, disconnecting dummy or quitting through GUI. Defaults to
20 minutes, -1 to disable, 0 to always enable.

Also removed confirmation to quit when in main menu, except when having
an unsaved map in editor.

Spectate and kill should already be safe thanks to server-side kill
protection.
2019-03-25 20:10:38 +01:00
def bf576723a3 Add KoG tab in server browser
- As requested by qshar and KoG players
- Similar to DDNet tab
- Info fetched from servers-kog entry from https://info.ddnet.tw/info
- Also supports countries and types
- Doesn't inform whether map has been finished
- Generalized the code a bit but it's still ugly
- Depends on #1533, also shows KoG servers as official/verified
2019-03-24 23:15:40 +01:00
Dennis Felsing abe9f6f5a9
Merge pull request #1518 from ddnet/fetch-info
Demo browser: Make Fetch Info a checkbox instead
2019-03-20 07:45:12 +01:00
Dennis Felsing 8b68a2859a
Merge pull request #1509 from ddnet/error-checking
More error checking in system.c (fixes #1317)
2019-03-20 07:44:12 +01:00
def 1e4890c499 More error checking in system.c (fixes #1317) 2019-03-19 23:16:29 +01:00
12pm 9f4f06e995 Make updating nameban reason work 2019-03-19 22:54:16 +01:00
def 22f278fdb8 Demo browser: Make Fetch Info a checkbot instead
And persist the result. Helps with the workflow described by Shyzo on
Discord:

> I mean after i press ctrl-f or fetch info. then i want to sort by marker (from ... to 0) and just delete every demo without a marker. either in a whole (not possible i think) or just one by one. but I think after deleting one demo the order of demos change again
> so i have to fetch info again, delete one. fetch info again. delete one
> and so on
2019-03-19 18:28:10 +01:00
def ed5b08e7dc Also recheck official server status when json gets loaded 2019-03-19 07:57:09 +01:00
def 4f515bf67e Add symbol for official servers in server browser (fixes #1501)
- Also fix favorites checkbox when removing favorite
- Might need a nicer looking symbol
2019-03-19 07:46:50 +01:00
def 6f9cfd5af1 Increase MAX_PATH_LENGTH to support our own downloadedmaps names 2019-03-12 18:43:03 +01:00
bors[bot] 98d54263c7 Merge #1477
1477: Don't allow sound format changes, use preferred driver, print more debug info r=heinrich5991 a=def-

Someone should check if this works on Windows.

Co-authored-by: def <dennis@felsin9.de>
2019-03-12 12:49:48 +00:00
Dennis Felsing b8c256b602
Merge pull request #1467 from 12pm/nameban_exact
Add exact name ban option
2019-03-11 22:50:39 +01:00
def a7548511bf Don't allow sound format changes, use preferred driver, print more debug info 2019-03-11 22:32:14 +01:00
12pm 3dcb83778f Make name more descriptive 2019-03-11 14:48:45 +01:00
bors[bot] d8e8a21a30 Merge #1469
1469: Don't use strtok. Close #1468 r=heinrich5991 a=Learath2

^

Co-authored-by: Learath <learath2@gmail.com>
2019-03-11 11:56:26 +00:00
Learath f6c15f1de0 Style 2019-03-11 14:54:31 +03:00
Learath 9713f6c2cd Improve interface to function 2019-03-11 14:39:54 +03:00
def bc91659aa8 Get GAME_RELEASE_VERSION back, fix compatibility filter in server browser 2019-03-06 21:02:06 +01:00
bors[bot] 26dc51a272 Merge #1466
1466: Add colors for authed players. Deprecates #1299 r=def- a=Learath2

Not sure if a snap item is the best idea for this but it should help with not sending the data more then needed and keeping it properly updated. The colors aren't great now but we can fix that easily.

![image](https://user-images.githubusercontent.com/490500/53680889-607bf780-3cf2-11e9-84a0-579160e9e170.png)


Co-authored-by: Learath <learath2@gmail.com>
2019-03-06 13:44:28 +00:00
Learath c4af290df5 Don't use strtok. Close #1468 2019-03-05 12:46:29 +03:00
def deb2494692 Don't suggest to downgrade, clean up versioning (fixes #1440) 2019-03-03 20:31:23 +01:00
12pm 29592afdb5 Add exact name ban option 2019-03-03 18:29:33 +01:00
Learath 548e9969b2 Add colors for authed players. Deprecates #1299 2019-03-02 13:50:33 +03:00
def 65ce202697 Revert "More SQL fixes"
This reverts commit c665cabc27.
2019-02-28 06:14:30 +01:00
def f831f27d08 Revert "New SQL locking on each query (fixes #1430)"
This reverts commit 5ddcf8bd0c.
2019-02-28 06:14:20 +01:00
Dennis Felsing 6701ae726f
Merge pull request #1434 from ddnet/sql-locking
Sql locking
2019-02-27 20:26:24 +01:00
Dennis Felsing 6f3d261b73
Merge pull request #1441 from trml/pr_sync_weapon_input
Sync weapon input with other input
2019-02-14 10:27:52 +01:00
Learath 37c67c00ad Style 2019-02-13 15:13:44 +01:00
Learath 0086452757 Use str_in_list, generalize further 2019-02-11 18:52:40 +01:00
ChillerDragon eaf61b662d Never ban known bots 2019-02-06 14:49:41 +01:00
ChillerDragon 3f8e9613f7 Fix style 2019-02-06 13:06:28 +01:00
ChillerDragon 8ddb487e2b Use consisten seperators (comma not semicolons) 2019-02-04 23:12:05 +01:00
ChillerDragon ec7b525609 Default kick known bots instead of ban 2019-02-04 23:10:07 +01:00
ChillerDragon 03a20d6406 Add IServer::Ban 2019-02-04 23:09:14 +01:00
ChillerDragon 867b0a66ce Fixings thanks to @Learath2 2019-02-04 22:16:09 +01:00
ChillerDragon 069b1763dd Add autoban depending on client version 2019-02-04 20:46:42 +01:00
trml 3f9d30af0f Sync weapon input with other inputs 2019-01-29 20:58:25 +01:00
jupeyy 28ba295792 Don't use compression for text rendering 2019-01-20 14:28:59 +01:00
Dennis Felsing a5c78f85cf Disallow sv_map_vote in map settings 2019-01-15 08:57:30 +01:00
def 5ddcf8bd0c New SQL locking on each query (fixes #1430) 2019-01-14 22:28:13 +01:00
Dennis Felsing c665cabc27 More SQL fixes
Should help with some crashes
Still doesn't call thread_init
Still shares statements and connections between threads
2019-01-14 22:18:37 +01:00
def b1ef2bf864 Don't try to remove non-existing files
Causes annoying error messages during map change & server start.
2019-01-14 22:13:51 +01:00
bors[bot] 19aef99d0c Merge #1432
1432: Merge BW support into IsDDNet r=def- a=fokkonaut

from now on Blockworlds can use this server message to tell the client not to use the DDRace (time) scoreboard.
(https://github.com/ddnet/ddnet/pull/1387)

Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
2019-01-14 17:16:06 +00:00
fokkonaut ade7b13f98 paranthese placement 2019-01-14 17:31:07 +01:00
fokkonaut 6206450e1b moved paranthese 2019-01-14 17:28:34 +01:00
fokkonaut cf09fbd1ea Merge BW support into IsDDNet 2019-01-14 16:50:06 +01:00
heinrich5991 c24c6274b6 Decode extended packets for the dummy as well 2019-01-14 15:42:37 +01:00
fokkonaut b2b6d25a92 add missing semicolon 2019-01-14 08:01:20 +01:00
fokkonaut d156ac47b7 forgot one 2019-01-14 08:01:20 +01:00
fokkonaut fe4426b008 fixed ddrace score (time score) 2019-01-14 08:01:20 +01:00
fokkonaut 0e842359ad Add DDRace Score NETMSG 2019-01-14 08:01:20 +01:00
def caa9e4ba29 Fix auto save statboard limit (fixes #528) 2019-01-11 12:07:12 +01:00
def 15fb7891cb Fix FileCollection to remove the oldest file (fixes #605)
Previously it removed one entry from m_aTimestamps before having filled
it entirely, so there was a small chance that it was not the smallest
one. Only after we have filled more entries than we want to keep can we
know which ones can be deleted for sure.
2019-01-11 11:39:05 +01:00
def 6e9aa68149 Fix timestamp extraction with wildcards (fixes #605)
in CFileCollection. Previously it included the _ character.
2019-01-11 11:37:43 +01:00
def f05c56d6ce Fix cl_dyncam_mousesens
should only have an effect ingame, not in menus or editor
2019-01-11 09:40:04 +01:00
def f9d9fee314 Demo browser: Show markers (fixes #329)
- Fetch Headers button
- Display Markers & Length columns
- Display footer info
- Don't rescan directory when not required
- Clean up code a bit
2019-01-09 08:25:03 +01:00
def 1ece46aa4e Revert "setlocale for XOpenIM with compose key"
Has been fixed: https://bugzilla.libsdl.org/show_bug.cgi?id=3102

This reverts commit 6c4e6c5c44.
2019-01-07 21:27:09 +01:00
def 8b782285ab Fix return type of CStorage::RemoveFile 2019-01-07 14:35:11 +01:00
def da2fe3cbbc Revert "More SQL fixes"
This reverts commit a58ade137d.
2019-01-06 10:59:29 +01:00
Dennis Felsing afbb741910
Merge pull request #1420 from Jupeyy/master
Fix text kerning and add flags for better positioning
2019-01-06 10:57:16 +01:00
Dennis Felsing dfd12fb23e
Merge pull request #1416 from ddnet/scopes
More SQL fixes
2019-01-06 10:51:26 +01:00
Dennis Felsing 2695cb101d
Merge pull request #1418 from ddnet/borderless
Disable borderless on Mac (fixes #1413)
2019-01-06 10:51:15 +01:00
jupeyy 6fc49cbc9e style 2019-01-06 06:45:47 +01:00
jupeyy 619a33a7d5 text kerning fix, add new text render flags for accurate positioning 2019-01-06 06:42:57 +01:00
def a116ed3dbe Revert "New try at not decompressing unknown packets"
Causes connection problems with old clients
This reverts commit a3b07dbf9c.
2018-12-30 12:22:05 +01:00
def aa7e6ff3e3 Disable borderless on Mac (fixes #1413) 2018-12-28 17:29:54 +01:00
Dennis Felsing a58ade137d More SQL fixes
Should help with some crashes
Still doesn't call thread_init
Still shares statements and connections between threads
2018-12-27 14:31:58 +01:00
def 87fa394daa Add Christmas skin event for client 2018-12-23 22:58:30 +01:00
Dennis Felsing 8d200d1026 Try resetting m_pConnection to 0 to prevent segfault 2018-12-20 09:26:45 +01:00
Dennis Felsing 735e3c64fc Read fifo more often
otherwise we lose messages since we sleep for long times when server is
empty
2018-12-20 09:18:03 +01:00
def 4b92e72763 Prevent copies 2018-12-17 22:15:41 +01:00
def 6846a6ecad Fixes and stress improvements 2018-12-17 20:05:50 +01:00
Dennis Felsing e9ee74a941
Merge pull request #1402 from ddnet/remove-modhelp
Remove /modhelp (fixes #1401)
2018-12-17 14:42:07 +01:00
Dennis Felsing 9febf58f37 New try at recvmmsg with some improvements 2018-12-16 22:59:41 +01:00
def a3b07dbf9c New try at not decompressing unknown packets 2018-12-16 22:15:45 +01:00
def d884465710 Revert "Don't decompress packets from unknown IPs"
This reverts commit 9089c2b35a.
2018-12-14 17:12:49 +01:00
Dennis Felsing 0b256ff653 Allow connecting clients to compress
TODO: Look for better solution
2018-12-14 11:17:15 +01:00
def c4d437bc0f Make client launchable from browser
By needs from https://github.com/teeworlds/teeworlds/pull/1478/files
2018-12-13 19:57:34 +01:00
Dennis Felsing 9089c2b35a Don't decompress packets from unknown IPs 2018-12-13 16:24:37 +01:00
Dennis Felsing 5c18d6c481 Remove /modhelp (fixes #1401) 2018-12-12 10:05:44 +01:00
Dennis Felsing fabd559746 Clamp Spectator ID 2018-12-11 09:23:12 +01:00
Learath 0c13c8cebb Handle the windows console properly. Fixes #1394 2018-12-07 23:52:33 +01:00
Learath2 21609d43fb Fix the beep. Fixes #985 2018-11-22 17:37:52 +01:00
Ryozuki d9d3ed783e fix windows sound 2018-11-02 12:47:20 +01:00
def faf388b853 Fix #1350 2018-10-29 22:03:57 +01:00
def 5b436adff8 blockZ & infectionZ are 64player but not DDNet
even though their name contains DDNet
fixes #1364
2018-10-29 21:33:35 +01:00
bors[bot] 1b0b36c6eb Merge #1316 #1341 #1349
1316: code improvement on gameclient.cpp r=def- a=Ryozuki



1341: Mark unused envelopes r=def- a=Learath2

Thought I'd do this one as well while looking at the editor code.

1349: Don't ignore CONNECT packets with data that we don't know r=def- a=heinrich5991

This specifically affects 0.6.5. Just treat them the same way as those
without any data.

Co-authored-by: Ryozuki <edgar@ryobyte.com>
Co-authored-by: Learath <learath2@gmail.com>
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-10-29 14:31:27 +00:00
heinrich5991 c7750f3616 Don't ignore CONNECT packets with data that we don't know
This specifically affects 0.6.5. Just treat them the same way as those
without any data.
2018-10-14 08:18:32 +02:00
Dennis Felsing e02a9956a5 Remove unused cl_eventthread 2018-10-12 14:42:40 +02:00
bors[bot] 61559f2ff0 Merge #1329
1329: Add support for extra map items in datafiles r=Learath2 a=heinrich5991

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.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-10-09 09:30:23 +00: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
Learath 5b95eddca1 DRY with net_addr_comp_noport 2018-10-08 21:04:04 +03:00
Learath 254ff3dc6b Oversight 2018-10-08 20:56:49 +03:00
Learath 2e137e6fc7 net_addr_comp_ip -> net_addr_comp_noport 2018-10-08 19:56:51 +03:00
Learath 1073b72965 Ignore DNSBL on "empty" servers. 2018-10-08 01:59:07 +03:00
Dennis Felsing dbaf779bda
Merge pull request #1335 from heinrich5991/pr_ddnet_serverjobs
Use two threads for the server thread pool
2018-10-07 17:29:22 +02:00
heinrich5991 a36250ba34 Use two threads for the server thread pool
This might help with long DNS timeouts.
2018-10-07 12:47:32 +02:00
bors[bot] 7f4c5b2183 Merge #1327
1327: Try closing the file earlier. Fix #1250 r=heinrich5991 a=Learath2

Maybe closing the file earlier could work?

Co-authored-by: Learath <learath2@gmail.com>
2018-10-04 14:27:11 +00:00
Learath 189a2939b0 Try closing the file earlier. Fix #1250 2018-10-04 16:10:27 +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
fokkonaut cf727576eb spaces again? 2018-09-28 18:29:14 +02:00
fokkonaut ea64d57be1 spaces 2018-09-28 18:28:45 +02:00
fokkonaut 3240f6fbc5 fix bw support 2018-09-28 18:27:51 +02:00
def 2198f6c997 Limit demo speed to 64 (thanks to fokkonaut for report) 2018-09-24 18:07:14 +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 925f7b6325 Fix weird Windows compilation 2018-08-29 11:32:36 +02:00
Dennis Felsing a63f210a01 Fix segfault when deleting lock 2018-08-29 10:32:12 +02:00
Dennis Felsing c29a72eb70 Lock style 2018-08-27 16:36:36 +02:00
Dennis Felsing 4d634bb7fd Global lock for MySQL Connector's get_driver_instance
See note in https://dev.mysql.com/doc/connector-cpp/1.1/en/connector-cpp-examples-connecting.html

> get_mysql_driver_instance() calls get_driver_instance(), which is not
> thread-safe. Either avoid invoking these methods from within multiple
> threads at once, or surround the calls with a mutex to prevent
> simultaneous execution in multiple threads.
2018-08-27 09:42:37 +02:00
def 48d1757793 Fix bw support 2018-08-26 21:21:27 +02:00
Dennis Felsing 03098af933 Fix dnsbl initialization
Don't set dnsbl state to pending when we someone connects over ipv6 and
the init will fail, leaving a null pointer in m_pDnsblLookup
2018-08-24 14:24:34 +02:00
Dennis Felsing 39b36b2c3b Check file system operations and log them 2018-08-23 09:58:35 +02:00
Dennis Felsing 20ea1651cb Don't save non-client configs 2018-08-23 09:57:48 +02:00
Dennis Felsing e295a121e4 DDNET_INFO(_TMP) 2018-08-23 09:57:35 +02:00
Dennis Felsing 29dd3e29f7 Read ddnet-info.json from correct location 2018-08-23 09:36:20 +02:00
Dennis Felsing e2eb4a66dc Add Filter for connecting players (fixes #1263) 2018-08-21 09:03:48 +02:00
heinrich5991 2ad4c86632 Fix a typo 2018-08-13 21:35:49 +02:00
Dennis Felsing 0b539df741 bw 2018-08-09 13:05:36 +02:00
Dennis Felsing dda2b06672
Merge pull request #1235 from fokkonaut/master
block worlds zoom + eye wheel
2018-08-09 13:04:07 +02:00
Jupeyy 29ecaa2c2a brace 2018-08-02 20:58:43 +02:00
Jupeyy bc013513bc don't restore the config variable in this case 2018-08-02 20:56:29 +02:00
Jupeyy 7ce29e7a1a Properly reset context attributes, if OpenGL3 context failed to create 2018-08-02 20:52:51 +02:00
Jupeyy d7bb03ee19 don't render all border all the time 2018-08-02 18:26:12 +02:00
def 18529fa082 Revert "Implement recvmmsg"
This reverts commit de5fe64be5.
2018-07-29 23:07:59 +02:00
fokkonaut 2dafafd75b oops, tab instead of spaces 2018-07-27 23:32:10 +02:00
fokkonaut cd5d69bfc5 added bw to isddnet 2018-07-27 23:28:02 +02:00
fokkonaut b8730b3653 block worlds zoom + eye wheel 2018-07-26 21:34:24 +02:00
heinrich5991 e8c7dca035 Fix storage.cfg reading broken by the str_startswith change 2018-07-26 15:46:54 +02:00
heinrich5991 5c4e819e44 Use str_startswith, str_endswith instead of ad-hoc implementations 2018-07-26 14:18:23 +02:00
Dennis Felsing de5fe64be5 Implement recvmmsg 2018-07-25 16:06:00 +02:00
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
ZombieToad e05bd9c6c8
remove unused thingy 2018-06-14 20:44:14 +01:00
Dennis Felsing ae3d91cf17 Set cl_refresh_rate to 0 by default to get higher fps and faster input processing 2018-05-28 08:03:31 +02:00
bors[bot] eca23e45b7 Merge #1128
1128: Remove superfluous parameter from `CServer::NewClientNoAuthCallback` r=Learath2 a=heinrich5991

The `Reset` parameter was only ever set to true, at the only call site.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2018-05-12 15:47:29 +00:00
def a7b778977a Add sv_sql_validservernames (fixes #1123) 2018-05-11 21:57:47 +02:00
heinrich5991 9454dfbff9 Remove superfluous parameter from CServer::NewClientNoAuthCallback
The `Reset` parameter was only ever set to true, at the only call site.
2018-05-09 23:50:25 +02: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
ChillerDragon 589749c2cf Allows low mousesens
Lower minimum mousesens value to avoid confusion. Responing to GG Kid's request:
https://forum.ddnet.tw/viewtopic.php?f=45&t=5807&p=58207&hilit=mousesens#p58207
2018-04-27 01:40:59 +02:00
Dennis Felsing e561498617 fix... 2018-04-25 14:12:49 +02:00
Dennis Felsing 96ecbfcfa8 Add cl_show_hook_coll_always 2018-04-25 12:03:27 +02:00
def 3f7b18322c Set up DB by default 2018-04-24 23:07:51 +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
def c95e1a61c6 More conservative config saving 2018-04-05 17:24:49 +02:00
Dennis Felsing fc355797a5
Merge pull request #1101 from Jupeyy/pr_mem_fix
Make mem_alloc, mem_free thread safe (fixes #1087)
2018-04-05 09:10:55 +02:00
yangfl 46b7e4198b Allow specifying DATA_DIR by compiler option, retry #1042 2018-04-05 11:11:31 +08:00
Jupeyy 1208bcc562 Make mem_alloc, mem_free thread safe (fixes #1087) 2018-04-05 04:17:21 +02:00
def a9a71094dd Revert "Allow specifying DATA_DIR by compiler option"
This reverts commit 3c488ff5c7.
2018-04-03 19:18:27 +02:00
Jupeyy 15f0efc2bd fix text color if opengl3.3 is off 2018-04-03 17:40:21 +02:00
Dennis Felsing 5a53e4c54d Fix compilation 2018-04-03 10:27:19 +02:00
Dennis Felsing ed33557a97
Merge pull request #1081 from Jupeyy/master
New buffer system and text renderer to support buffering of hud, text and map components, that are displayed ingame
2018-04-03 10:12:09 +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
bors[bot] c65ffeb4ae Merge #1082
1082: Fix a bug with name bans r=Learath2 a=heinrich5991

Overlong nick names could be used to circumvent name bans.
2018-03-14 02:00:42 +00: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 d7f6cf2892 Fix some system.c insanity
`str_utf8_isspace` now returns true if the passed code point renders as
a space, instead of when not.

Add `str_utf8_trim_right`, use this function and
`str_utf8_skip_whitespaces` in the server.

Add tests for the three functions
2018-03-14 02:27:15 +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
bors[bot] cc6449bcd6 Merge #1055
1055: Keep track of lost frames and update time r=heinrich5991 a=Jupeyy

The problem a friend was occuring was, that on a fresh Windows install settings like cl_refresh_rate are set to 480.
Since the render calls take longer time than no render calls, it happened that client was sleeping on one update cycle and then took to long in another, where it called the render functions, leeding to less FPS than the cl_refresh_rate. this caused mouse lags and rarely frame drops.

another thing is, that select on Windows is non microsecond accurate, or just often returns too early, which caused that the refresh rate is much too high, or even ignored, (probably windows can only sleep on milliseconds, or again, is extremly inaccurate).

Another things on windows is that time_freq might be a "very odd" number ^^
i mean like on unix it's one microsecond (1,000,000 = 1s), but on windows the time_freq depends on the CPU leading to inaccurate calculation of the sleep time and render time.
This wasn't insanly huge issue, but probably skipped a few microseconds here and there.

This fix should stabilize the frames. I'd like to hear your opinion on this tho.
2018-03-13 19:41:38 +00:00
Learath 729a42adec More style 2018-03-13 00:13:50 +01:00
Learath b7610901e3 Handle empty reason. Fix formatting 2018-03-12 23:29:46 +01:00
Learath 22c21f73ae Actually display the reason 2018-03-12 19:09:53 +01:00
Learath c1a7c30f0f Add reason to name bans 2018-03-12 19:05:49 +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
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
bors[bot] fb69fa1815 Merge #1042
1042: Allow specifying DATA_DIR by compiler option r=heinrich5991 a=yangfl
2018-03-05 10:50:38 +00:00
Jupeyy ced0ea3f82 set the gfx refresh rate limit higher for the console 2018-03-02 03:29:02 +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
Jupeyy 6f0509cfae the actual description to the problem 2018-03-01 07:44:22 +01:00
Jupeyy edaf632c04 Merge branch 'master' of https://github.com/ddnet/ddnet 2018-03-01 07:38:50 +01:00