Commit graph

5991 commits

Author SHA1 Message Date
heinrich5991 2692f3c758 Use a consistent PRNG on all platforms 2020-05-25 15:19:29 +02:00
heinrich5991 7f14b4b2bb Add glibc's PRNG
Based on a description on https://www.mscs.dal.ca/~selinger/random/
(retrieved 2020-05-25).
2020-05-25 15:19:25 +02:00
bors[bot] 64f78fced9
Merge #2205
2205: Implement /unlock & clarify the /help lock text r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-05-24 20:24:02 +00:00
bors[bot] f18c42c5ba
Merge #2208
2208: Implement /load without params to show some info r=Learath2 a=def-

about your existing saves. Not the code of course, but only how many saves you have and when you last saved on this map.

Co-authored-by: def <dennis@felsin9.de>
2020-05-23 20:20:12 +00:00
bors[bot] 5cddef7efe
Merge #2209
2209: singular player in team start message r=Learath2 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-05-23 20:12:36 +00:00
bors[bot] a1f405aa5c
Merge #2210
2210: Fix name schema for char-arrays r=Learath2 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-05-23 20:06:42 +00:00
def a412773e5a Fix name schema for char-arrays 2020-05-23 21:55:22 +02:00
def 7c966bebc3 singular player in team start message 2020-05-23 21:53:12 +02:00
def c45995a010 Implement /load without params to show some info
about your existing saves. Not the code of course, but only how many
saves you have and when you last saved on this map.
2020-05-23 19:46:12 +02:00
def fd67259b77 Silence GCC warning
src/game/editor/auto_map.h:47:9: warning: ‘*((void*)& NewConf +16)’ may be used uninitialized in this function [-Wmaybe-uninitialized]

I don't think it's an actual problem
2020-05-23 18:11:35 +02:00
def 37e0a33da2 Also introduce /unlock as an alias of /lock 0 2020-05-23 17:55:56 +02:00
def d4452dd6e0 Clarify the /help lock text 2020-05-23 17:15:04 +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 32085a091d Remove unused declaration 2020-05-22 16:38:20 +02:00
Zwelf 8bdf41c1b5 Break save/load string into multiple lines 2020-05-21 18:04:15 +02:00
Andrii e78b8ac6d8 fix format issues 2020-05-21 00:44:52 +02:00
Andrii ed0b15859a follow naming convention 2020-05-21 00:44:52 +02:00
Andrii 0505a0b577 code formatting 2020-05-21 00:44:52 +02:00
Andrii ab79036873 Set camera position on LoadCurrentMap 2020-05-21 00:44:52 +02:00
Andrii e1828b88ab fix more format failures 2020-05-21 00:44:41 +02:00
Andrii 4f62389eda follow naming convention 2020-05-21 00:44:41 +02:00
Andrii 1ae3d5e69c add key binding description to find empty slot button 2020-05-21 00:44:41 +02:00
Andrii e132fac612 hide Entities popup after item selected 2020-05-21 00:44:41 +02:00
Andrii df6e7ef454 add condition for animations 2020-05-21 00:44:41 +02:00
Andrii b24f12cec8 fix previously made mistake 2020-05-21 00:44:41 +02:00
Andrii 29f093841c add switch empty slot finder button 2020-05-21 00:44:41 +02:00
Andrii 192d118c85 add binding for teleFindEmpty button 2020-05-21 00:44:41 +02:00
Andrii 1c870a3e1b fix some tele number picker issues 2020-05-21 00:44:41 +02:00
Andrii 1a5f0ed6a2 use shift instead of alt for load current map 2020-05-21 00:44:41 +02:00
Andrii 0f1af41911 add binding for tele/switch/speedup/tune button 2020-05-21 00:44:41 +02:00
Andrii d3df450715 add more conditions to menu rendering 2020-05-21 00:44:41 +02:00
Andrii c9afec083d add toggle grid key binding 2020-05-21 00:44:41 +02:00
Andrii f71c886e34 minor refactor 2020-05-21 00:44:41 +02:00
Andrii 63f185fe94 add LoadCurrentMap key binding 2020-05-21 00:44:41 +02:00
Zwelf 71b687cbd6 Remove unused ConSaveTeam, ConLoadTeam declarations 2020-05-21 00:44:30 +02:00
bors[bot] 2a3515200d
Merge #2195
2195: BlockWorlds Entities r=heinrich5991 a=MikiGamer



Co-authored-by: MikiGamer <35080830+MikiGamer@users.noreply.github.com>
2020-05-20 20:36:29 +00:00
Zwelf 61787168a6 Rename aGameUuid to m_aGameUuid for consistency 2020-05-20 22:22:02 +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
MikiGamer d5c5235c18 Changes 2020-05-19 17:13:34 +02:00
patiga 3f8bebd7af boundary check on curve type label in editor, avoids client crash 2020-05-19 16:52:30 +02:00
MikiGamer 95c419d684 BlockWorlds Entities 2020-05-19 16:49:28 +02:00
Dennis Felsing ffd0228191
Merge pull request #2188 from def-/pr-pred-collision-switch-0
Fix crash in prediction when touching switch tile with number 0 (fixes #2182)
2020-05-19 08:43:35 +02:00
bors[bot] 6ac77b1e88
Merge #2191
2191: write automapper version, was not initialized r=heinrich5991 a=Patiga

write automapper version, was not initialized

Co-authored-by: patiga <patigatus21@gmail.com>
2020-05-17 22:41:07 +00:00
patiga 4bbd019423 fix whitespaces 2020-05-18 00:33:35 +02:00
heinrich5991 044aee2846 Fix compilation with mysql enabled
Caused by #2171's 850f8e3f27.
2020-05-18 00:29:15 +02:00
patiga 359257f73a write automapper version, was not initialized 2020-05-17 23:28:10 +02:00
def 21c4df0771 Fix crash in prediction when touching switch tile with number 0 (fixes #2182)
Just took the same code that we have on server side already
2020-05-17 08:52:21 +02:00
Dennis Felsing 898b4ce4b9
Merge pull request #2171 from Chairn/pr_loadsaveprintname
Print name of requester when saving or loading team
2020-05-16 17:41:34 +02:00
Chairn 850f8e3f27 Store client name in CSqlTeamSave/Load to ensure correctness of requester's name 2020-05-16 16:36:16 +02:00
bors[bot] e54bedd6b2
Merge #2180
2180: Don't count freshly loaded map as modified (fixes #2178) r=Learath2 a=def-

The reason is that we increased the sensitivity of the modified flag to
include adding layers and groups, and simply loading the map already
adds those, so every loaded map was considered modified.

Co-authored-by: def <dennis@felsin9.de>
2020-05-16 07:12:49 +00:00
def b480492ded Don't count freshly loaded map as modified (fixes #2178)
The reason is that we increased the sensitivity of the modified flag to
include adding layers and groups, and simply loading the map already
adds those, so every loaded map was considered modified.
2020-05-16 08:17:50 +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
Dennis Felsing 7aa69188b5
Merge pull request #2172 from fokkonaut/master
Fix #2162
2020-05-10 10:13:38 +02:00
fokkonaut 92927444d7
Fix #2162 2020-05-09 23:33:12 +02:00
Chairn fdb275b2f9 Print name of requester when saving or loading team 2020-05-09 19:33:40 +02:00
bors[bot] 2649fb5234
Merge #2161
2161: Small prediction fixes/update r=def- a=trml

I looked through the latest changes in the server code, and made some updates to the prediction with it. This includes the hammer-out-of-freeze server fix and a small fix for stopper prediction. Also cleaned up some code, and fixed predicted smoke-trails slightly so they don't go through walls in certain cases.

Co-authored-by: trml <trml@users.noreply.github.com>
2020-05-07 07:30:03 +00:00
bors[bot] 295a479db5
Merge #2164
2164: Fix empty sound (fixes #2163) r=heinrich5991 a=def-

The problem was that the string is empty after going through the trim, thus the main displaying loop doesn't run, but the sound still does. Verified that it works.

Co-authored-by: def <dennis@felsin9.de>
2020-05-06 08:48:24 +00:00
def 741c97ccc7 Fix empty sound (fixes #2163)
The problem was that the string is empty after going through the trim,
thus the main displaying loop doesn't run, but the sound still does.
2020-05-06 08:15:23 +02:00
trml f6c44468de Another update, fix typo 2020-05-03 00:00:27 +02:00
trml cda99668c7 Fix antiping smoketrails 2020-05-02 18:52:09 +02:00
trml 47cafe6d6b Remove unused code 2020-05-02 18:52:09 +02:00
trml eb1bacb969 Update prediction with latest server physics 2020-05-02 18:52:04 +02:00
bors[bot] 65284f3a28
Merge #2159
2159: Make the dummy always press fire when cl_dummy_hammer is active r=heinrich5991 a=trml



Co-authored-by: trml <trml@users.noreply.github.com>
2020-05-01 23:20:22 +00:00
def 7ae8988dd0 Don't load m_Ammo to fix loads (following #2086)
As reported by Konsti, thanks to heinrich5991 for remembering #2086
2020-05-01 23:51:01 +02:00
trml bcf9e003d7 Make dummy hold fire with cl_dummy_hammer 1 2020-05-01 16:23:42 +02:00
def d1b7e84488 Version 13.1 2020-04-30 18:34:51 +02:00
bors[bot] bd3b72e493
Merge #2152
2152: Fix whispering to players with quotes (fixes #2151) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-04-30 10:57:29 +00:00
bors[bot] d0cf8c08af
Merge #2154
2154: cl_showchat 2 to always show large chat area (fixes #2153) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-04-30 10:50:58 +00:00
Dennis Felsing 5e213a2619
Merge pull request #2086 from fokkonaut/master
Remove setting ammo for freeze to 0
2020-04-30 12:44:40 +02:00
fokkonaut d460470265
Move comment aswell 2020-04-30 11:49:04 +02:00
def 76eda61c99 cl_showchat 2 to always show large chat area (fixes #2153) 2020-04-28 22:35:56 +02:00
def 65a4eb775b Fix whispering to players with quotes (fixes #2151) 2020-04-28 08:54:24 +02:00
trml fe1a7fb1e0 Predict directinput order for dummy and main 2020-04-19 12:50:37 +02:00
trml cae7fad901 Use freeze end tick in prediction 2020-04-19 12:50:06 +02:00
trml a4a0b6e9ed Add config flag for dummy prediction and fix compilation 2020-04-18 23:28:40 +02:00
trml 99baf219d0 Revert "Remove the dummy prediction"
This reverts commit 681f30950c.
2020-04-18 22:16:25 +02:00
Arda Demir b7d452d2a0
Libnotify support for linux client (#2099)
Add libnotify support for linux client

Also unify notification management

Make libnotify mandatory for the client. It is installed on 100% of Arch
Linux systems and on 70% of Debian systems. I'd guess the remaining
Debian systems are servers.

Detect dependent libraries of `libnotify` using `pkg-config`. Remove
library-specific code from the game module. Decrement refcount for
libnotify notification object before leaving the function.
2020-04-14 17:53:53 +02:00
def e6d4fe4650 Version 13.0.2 2020-04-10 21:41:29 +02:00
Dennis Felsing 6dd7078e8d
Merge pull request #2118 from def-/pr-mingw-sdl2
Provide MinGW SDL2 (fixes 13.0 on Windows)
2020-04-07 23:01:43 +02:00
Learath 388d792205 Add an option for highdpi 2020-04-07 23:47:15 +03:00
def 2f77e1f349 Version 13.0.1 2020-04-07 22:32:41 +02:00
def d50b59b6b0 Add trafilaw to credits 2020-04-07 07:22:38 +02:00
def f06796e497 Version 13.0
I guess it's time for a new version even if we don't have any large
changes
2020-04-06 07:03:19 +02:00
bors[bot] 2367cd042d
Merge #2104
2104: Add spectate_closest now works when in Free-View r=def- a=d3fault

sry for the general refactor along with it xD

Co-authored-by: d3fault <d3fault@d3fault.net>
2020-04-01 07:02:56 +00:00
d3fault 7fb46beb85 Add spectate_closest now works when in Free-View 2020-03-31 23:30:25 -07:00
bors[bot] 4a6f5b156c
Merge #2101
2101: Add dbg_unpredicted_shadow (fixes #2100) r=heinrich5991 a=def-



Co-authored-by: def <dennis@felsin9.de>
2020-03-31 16:41:31 +00: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
bors[bot] fe05f0dfbc
Merge #2103
2103: Add spectate_closest r=def- a=d3fault

Spectates the tee closest to the one you are currently spectating.
This commit brought to you by COVID-19 lockdown boredom.

Fix #1793

Co-authored-by: d3fault <d3fault@d3fault.net>
2020-03-31 08:19:58 +00:00
d3fault 6968b17017 Add spectate_closest
Spectates the tee closest to the one you are currently spectating.
This commit brought to you by COVID-19 lockdown boredom.

Fix #1793
2020-03-31 01:17:32 -07:00
trafilaw b6c25273f8 Fix compiling error 2020-03-31 03:29:45 +02:00
trafilaw 44cc0e29a4 Remove No reason given 2020-03-31 00:20:25 +02:00
trafilaw dc0e77f8e2 fix 2020-03-31 00:16:42 +02:00
trafilaw 8d8bc018c6 Add pr_mutereason 2020-03-30 23:51:58 +02:00
fokkonaut da72907b79 Fix ninja not getting removed 2020-03-24 21:43:26 +01:00
bors[bot] fb81000351
Merge #2096
2096: Fix the double-free of the antibot r=def- a=heinrich5991

I could not find an easy way to ensure that `AntibotDestroy` is only
being called once for each `AntibotInit` but still happening after all
the `CPlayer` destructors.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-03-24 15:16:24 +00:00
bors[bot] 10299266c3
Merge #2078
2078: Fix cl_showrecord with dummy (fixes #2077) r=heinrich5991 a=def-

Shows best time of either dummy or main player depending on which is selected

Co-authored-by: def <dennis@felsin9.de>
2020-03-24 14:23:38 +00:00
heinrich5991 a7042f7139 Fix the double-free of the antibot
I could not find an easy way to ensure that `AntibotDestroy` is only
being called once for each `AntibotInit` but still happening after all
the `CPlayer` destructors.
2020-03-24 15:15:40 +01:00
heinrich5991 d50547ea42 Revert "Fix AntibotDestroy being called twice"
This reverts commit efb3106b71.
2020-03-24 15:07:01 +01: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] 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
heinrich5991 efb3106b71 Fix AntibotDestroy being called twice
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.
2020-03-23 15:35:16 +01:00
fokkonaut 69a6e94833 Fix two bugs 2020-03-17 13:55:30 +01:00
heinrich5991 ed76cd7b12 Fix antibot crash
`m_Core.m_HookedPlayer` can be -1 if you get teleported the moment you'd
normally attach the hook.
2020-03-16 14:16:04 +01:00
fokkonaut d22a1a8f06 Remove setting ammo for freeze to 0 2020-03-16 11:52:53 +01:00
heinrich5991 2574c060e4 Fix antibot crash after map change 2020-03-14 01:44:57 +01:00
heinrich5991 a3163c5b9c Add support for dynamically loading an antibot module
Support for this feature is turned off by default. This feature allows
to integrate with noby's anticheat feature.
2020-03-11 01:58:50 +01:00
def 6efcc473c9 Fix cl_showrecord with dummy (fixes #2077)
Shows best time of either dummy or main player depending on which is
selected
2020-03-01 12:55:01 +01:00
Learath d2498f257c Stateful editing 2020-02-28 18:25:27 +03:00
Learath f2103881c8 Add shift by, fix id overlap 2020-02-28 15:33:32 +03:00
Learath a50e59d4f6 Allow editing colors, add warning 2020-02-27 18:02:36 +03:00
Learath f679fbfbc5 Allow editing multiple tile layer props 2020-02-27 16:53:12 +03:00
sirius 5dab6e2e1f make tee not transparent when playing demo from server 2020-02-27 20:13:16 +08:00
sirius b5c931279f add option to pause video rendering when demo playing pause 2020-02-27 18:50:18 +08:00
def de7a67baa7 Version 12.9.2 2020-02-22 09:56:13 +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
ChillerDragon 9e0f6d2ce0 Move global configuration out of client interface 2020-02-19 11:24:58 +01:00
bors[bot] 7691227f24
Merge #2066
2066: Implement dry saves r=def- a=Learath2

I'm not sure how much I like this but it should be helpful

Co-authored-by: Learath2 <learath2@gmail.com>
2020-02-14 08:02:06 +00:00
Learath2 06e948e944 Cleanup 2020-02-14 00:03:49 +01:00
def d89877603b Version 12.9.1 2020-02-13 22:55:48 +01:00
def 964279a699 Reset quad rotation/color in damageind (fixes #2062)
Removed in 7ae4b39574
2020-02-13 22:55:32 +01:00
Learath2 ec42ce88f6 Change command name, refactor error handling 2020-02-13 17:04:58 +01:00
Learath2 27d9ac54b0 Implement dry saves 2020-02-13 16:16:35 +01:00
ElXreno 1799edc049
Fix build error
./src/game/client/components/maplayers.h:15:9: error: 'uintptr_t' does not name a type; did you mean 'uint64_t'?
   15 | typedef uintptr_t offset_ptr;
      |         ^~~~~~~~~
      |         uint64_t
../src/game/client/components/maplayers.h:61:4: error: 'offset_ptr' does not name a type; did you mean 'offset_ptr32'?
   61 |    offset_ptr IndexBufferByteOffset()
      |    ^~~~~~~~~~
      |    offset_ptr32
In file included from ../src/game/client/components/background.cpp:8:
../src/game/client/components/maplayers.h:105:4: error: 'offset_ptr' does not name a type; did you mean 'offset_ptr32'?
  105 |    offset_ptr m_IndexBufferByteOffset;
      |    ^~~~~~~~~~
      |    offset_ptr32
../src/game/client/components/maplayers.h: In constructor 'CMapLayers::SQuadLayerVisuals::SQuadVisual::SQuadVisual()':
../src/game/client/components/maplayers.h:103:20: error: class 'CMapLayers::SQuadLayerVisuals::SQuadVisual' does not have any field named 'm_IndexBufferByteOffset'
  103 |    SQuadVisual() : m_IndexBufferByteOffset(0) {}
      |                    ^~~~~~~~~~~~~~~~~~~~~~~
2020-02-13 17:27:39 +03:00
Dennis Felsing cd44d6dba7 Version 12.9 2020-02-13 09:20:00 +01: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 598ec52892 Fix GCC 9.2.0 compilation
src/game/server/ddracechat.cpp:623:39: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
2020-02-05 08:22:04 +01:00
12pm f3b82273d4 Remove leading whitespaces from save codes 2020-01-30 18:53:00 +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
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
bors[bot] 8ab8834ccb
Merge #2048
2048: Display envelope name in popups r=12pm a=Learath2

A dropdown would've worked better, but we don't have one

Co-authored-by: Learath <learath2@gmail.com>
2020-01-23 20:54:49 +00:00
Learath e567fde9d7 Names aren't unique, thinner popup 2020-01-23 21:24:48 +01:00
Learath a2eee9a8db Truncate properly 2020-01-23 20:48:42 +01:00
Learath 2abe4fbcfb Display envelope name 2020-01-23 20:27:01 +01:00
12pm 9dcfcc8f10 Modify envelope index when appending maps
fixes #2044
2020-01-23 18:30:55 +01:00
Learath 4451fed535 Fix missing include 2020-01-23 16:07:40 +01:00
oy 1b4131a7fd fixed faulty message id
(cherry picked from commit 9023796d27)
2020-01-19 21:30:12 +01:00
ChillerDragon 949aa124e9 Overkill optimize editor code runs 200 fps faster 2020-01-19 17:48:07 +01:00
12pm 82ac6091eb Fix rotating rotatable tiles in switch layer 2020-01-17 18:22:41 +01:00
Corantin H a73525361b Fix del key removing commands while in editbox 2020-01-16 15:01:45 +01:00
Dennis Felsing fcc25dfc65 Fix crash on pDDNetCharacter 2020-01-16 12:35:26 +01:00
heinrich5991 fe1cf90327 Restore rcon rifle compatibility shim
Two more lines to keep backward compatibility.
2020-01-12 13:59:55 +01:00
bors[bot] 173ca2e179
Merge #2026
2026: Only start showing emoticons after their start tick has passed (fixes #2025) r=Learath2 a=def-

Since we can go back in time in demo player

Co-authored-by: def <dennis@felsin9.de>
2020-01-08 09:27:09 +00:00
bors[bot] 7d7b51011d
Merge #2030
2030: Move /list to ddracechat r=def- a=fokkonaut



Co-authored-by: fokkonaut <35420825+fokkonaut@users.noreply.github.com>
2020-01-06 21:39:19 +00:00
fokkonaut c27e28b7ad Move /list to ddracechat 2020-01-06 17:29:31 +01:00
fokkonaut f5b8bbc2ff Simplify anti stuck code more 2020-01-05 11:49:21 +01:00
sirius 779afcb771 crf and preset can be set by variables 2020-01-05 11:18:51 +08:00
fokkonaut e2b252b714 Distance can't be negative 2020-01-04 16:32:51 +01:00
def 54d4aef145 Only start showing emoticons after their start tick has passed (fixes #2025)
Since we can go back in time in demo player
2020-01-04 10:07:14 +01:00
sirius 7710b88670 Merge branch 'master' of https://github.com/ddnet/ddnet into demo_render2 2020-01-01 18:36:49 +08:00