2819: Fix compilation on MinGW Windows r=Learath2 a=def-
graphics.h:197:36: error: ‘uint8_t’ has not been declared
Co-authored-by: def <dennis@felsin9.de>
Missing: Freeing the memory again. But not so important since we keep
the same fonts until end of process anyway in our case.
@QingGo Could you give this a try from the Github build artifacts?
2789: Refresh server browser immediately when updated ddnet info arrived r=heinrich5991 a=def-
At the moment it only happens the next time you press refresh.
Before we had it so that it always reloaded once the ddnet info arrived,
causing a quick flickering and lots of packets having to be resent every
time someone pressed refresh, even if nothing changed.
The new approach combines the advantages of both without the
disadvantages. An even nicer way would be to compare the json objects,
so that news and version updates don't matter, but our json library
doesn't seem to support that.
2797: dilate: Don't crash if file doesn't exist r=heinrich5991 a=def-
Co-authored-by: def <dennis@felsin9.de>
Only print expanded SQLite statement, when expanding function exists. This is
required to not bump the minimum required Ubuntu version, since Ubuntu 16.04
doesn't ship SQLite 3.14 or above. SQLite introduced ``sqlite3_expanded_sql`
in 3.14, Ubuntu 16.04 packages 3.11.
Disabled weak linking on MSVC, since it isn't supported.
At the moment it only happens the next time you press refresh.
Before we had it so that it always reloaded once the ddnet info arrived,
causing a quick flickering and lots of packets having to be resent every
time someone pressed refresh, even if nothing changed.
The new approach combines the advantages of both without the
disadvantages. An even nicer way would be to compare the json objects,
so that news and version updates don't matter, but our json library
doesn't seem to support that.
2758: Remove the rudimentary fuzzing since no one uses it anyway r=heinrich5991 a=def-
2769: Update front.png by Soreu r=heinrich5991 a=def-
2772: Dont predict camera position on spectator changed r=heinrich5991 a=BannZay
No reason to predict camera position in case when we just changed spectator.
But tbh I have not found a big reason to predict it at all.
Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: Andrii <bannzay3@gmail.com>
2742: Add str_utf8_copy that trim broken utf8 sequence at the end. r=heinrich5991 a=TsFreddie
Currently this replaces `str_copy` text input and clipboard paste in chat. Many places may need the same treatments, like steam names.
![image](https://user-images.githubusercontent.com/3797859/92263741-08b8e080-eed5-11ea-84a5-b7f070ded260.png)
Test string:
abcd今天是个好日子心想的事儿都能成今天是个好日子打开了家门咱迎春风今天是个好日子心想的事儿都能成今天是个好日子打开了家门咱迎春风今天是个好日子心想的事儿都能成今天是个好日子打
2745: Update mapres by mind r=heinrich5991 a=def-
Adapted from 0.7 for new renderer. Not sure if this makes sense :D
Co-authored-by: TsFreddie <tsfreddiewang@gmail.com>
Co-authored-by: def <dennis@felsin9.de>
2763: Allow joining and inviting others via Steam friend list r=def- a=heinrich5991
Fixes#2642.
2768: Clamp kill border count r=def- a=Jupeyy
fixes#2766
Appearently the center of the camera can even go outside of the kill border(like even left from it)
I also notice that sometimes when zooming out, and then in again the zoom level gets negative(since the new smooth zoom)(atleast i see everything upside down for few frames)
These numerical unstableness makes me sweat a bit xd
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2751: More aggressive analysis & check 2.0 gl Functions that were used r=def- a=Jupeyy
If even that fails, I'm out of ideas
Checks all texture shaders, checks all functions used.
2752: Can't detect if paused on KoG, so don't show button r=def- a=def-
Since they're running an old version of DDNet server
2756: Don't deactivate menu when a popup is active r=def- a=Learath2
Deactivating menu while a popup is active causes the menu to never open again.
Reported by Anxton on discord.
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
Co-authored-by: def <dennis@felsin9.de>
Co-authored-by: Learath <learath2@gmail.com>
2743: Save cl_overlay_entities r=def- a=Jupeyy
Is there a reason not todo it?
The players, that want this enable it anyway
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2736: Let 0.7 clients fastdownload too r=def- a=Learath2
Easier than expected, I wonder why I didn't do this at the start.
Co-authored-by: Learath <learath2@gmail.com>
2722: Increase default font texture size r=heinrich5991 a=Jupeyy
Now that we have fallback fonts this makes sense.
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2715: Fix server responses handling in game browser r=heinrich5991 a=BannZay
Fixes all problems for #2620
Explanations of existed problems:
Lan has non expected servers because we were creating browser entry regardless token check
DDNet tab has ping 0 for servers as we weren`t rejecting previous refresh responses
Co-authored-by: Andrii <bannzay3@gmail.com>
Currently, this just shows the current map in the status. Might need
localization data in Steamworks to be available to work in languages
other than English.
CC #2642
2691: Also check for divisibility by 16 of height (fixes#2687) r=heinrich5991 a=def-
2701: Set search field active when opening file dialog in editor r=heinrich5991 a=def-
2702: Remove fallback for Teeworlds' settings.cfg (partially fixes#2698) r=heinrich5991 a=def-
2705: Clarify kill and /kill r=heinrich5991 a=def-
Co-authored-by: def <dennis@felsin9.de>
One from each country and so on instead of doing one country fully first
before moving to the next. This makes loading servers like Japan and AUS
much faster since they're at the back of the list. This also reduces the
peak number of packets sent to each IP at once.
2665: Use the correct name for determining ranks r=def- a=heinrich5991
Was broken by the recent Steam name update.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2648: Support Linux shared libs in autoupdater r=Learath2 a=def-
Since we now ship our first shared lib on Linux, libsteam_api.so
Co-authored-by: def <dennis@felsin9.de>
2647: No sampler calls in old OpenGL API r=def- a=Jupeyy
Sadly didn't see it earlier, old API still binds its samplers to textures directly.
Need this before steam release @def-
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2598: Allow specifying an OpenGL version manually r=def- a=Jupeyy
Ofc don't merge, we'll test it first, and if we want merge it, i'd need to enable shader compability for OpenGL 4+, and general support for OpenGL 3.1 and 3.2(bcs i think they already don't allow some older GL commands).
Also i never really read in the OpenGL 1.x specification, i remember that older OpenGL versions required glBegin and stuff like that
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2595: Change default from borderless to fullscreen r=Learath2 a=def-
Switching the default means everyone with borderless window will be
switched to fullscreen. Fullscreen has lower latency and better
performance.
As suggested by Shyzo and voted on on Discord.
Co-authored-by: def <dennis@felsin9.de>
2602: Merge DejaVuSansCJKName with DejavuWenQuanYiMicroHei and use it for all (fixes#2593) r=Learath2 a=def-
allows reading CJK for everyone independent of language chosen.
got them merged with fontforge, finally looks good.
Hopefully the lags are gone.
Co-authored-by: def <dennis@felsin9.de>
Switching the default means everyone with borderless window will be
switched to fullscreen. Fullscreen has lower latency and better
performance.
As suggested by Shyzo and voted on on Discord.
2465: Sqlite3 support and prepared statements r=heinrich5991 a=Zwelf
This PR changes the abstraction layer of the score backend to thin abstractions over the MySQL and SQLite3 library. It executes all Queries in one worker thread making it easier to use the ddnet thread pool. This doesn't change much, because each the mysql-connection was locked with `m_SqlLock` beforehand, serializing writes and reads respectively.
Behavior change (even though I tried to minimize them):
* `sv_use_sql` is used to determine if mysql server should be added
* `sv_sql_failure_file` is replaced by `sv_sqlite_file`
* `sv_sqlite_file` is either used as a backup server when `sv_use_sql` is enabled or as the primary read+write server when `sv_use_sql` is disabled
* `/load` now escapes the like-string
Since I am not good at designing config file commands, I would appreciate feedback on this part.
WIP:
* [x] rewrite SQL statements to work in both MySQL and SQLite (preferable just ANSI-SQL)
* [x] create tables (`COLLATE BINARY` and encoding info)
* [x] store rank (UPSERT for points)
* [x] load birthday (different function in sqlite for time handling)
* [x] `/mapinfo` (`convert(? using utf8mb4) COLLATE utf8mb4_general_ci`)
* [x] `/map` (`convert(? using utf8mb4) COLLATE utf8mb4_general_ci`)
* [x] store teamrank (`GROUP_CONCAT`)
* [x] `/teamrank` (`GROUP_CONCAT`)
* [x] ~`/top5team` (`GROUP_CONCAT`)~ doesn't contain GROUP_CONCAT
* [x] `/times` (`UNIX_TIMESTAMP`)
* [x] `/load` without any arguments (`UNIX_TIMESTAMP`)
* [x] all commits compiling, making future bisect easier
* [x] write a sqlite_to_mysql script
* [x] write an old_file_server to sqlite script
* [x] gracefully shutdown DbPool
Co-authored-by: Zwelf <zwelf@strct.cc>