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
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
bors[bot]
7d428676e2
Merge #2263
...
2263: Fix /spec + super bug r=Learath2 a=def-
Co-authored-by: def <dennis@felsin9.de>
2020-06-18 22:17:43 +00:00
def
e38cd6b6f2
Fix /spec + super crash ( fixes #2262 )
...
Thanks to Learath2 for finding a better solution.
2020-06-18 23:54:05 +02:00
def
79ef6c0e84
Use CSaveTee for rescue ( fixes #2241 )
2020-06-18 23:41:37 +02:00
def
2c7f4c71aa
Minor code style fixes in sql_score.cpp
2020-06-18 23:03:53 +02:00
bors[bot]
13237ee12e
Merge #2245 #2266
...
2245: Stop playing map sound when demo player is paused r=heinrich5991 a=def-
Noticed on Shooting Range map
2266: Reset hook & collision in prediction after kill r=heinrich5991 a=def-
Thanks to Pipou for reporting
Co-authored-by: def <dennis@felsin9.de>
2020-06-18 19:29:41 +00:00
def
7aed6476dc
Allow larger map names
2020-06-18 18:29:27 +02:00
def
6fcb8abbd0
Initialize m_SqlRandomMapResult ( fixes #2272 )
2020-06-18 08:18:33 +02:00
def
b3d22204c3
Update credits
2020-06-17 23:23:27 +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
Learath
eed3e783e0
Mark unused tunes as such
2020-06-17 13:39:54 +03:00
bors[bot]
c4d71c7ef4
Merge #2264
...
2264: Add Entites off sign to front layer (fixes #2261 ) r=Learath2 a=def-
Co-authored-by: def <dennis@felsin9.de>
2020-06-16 19:31:25 +00:00
Zwelf
9f15acdbee
Thread safe random_unfinished_map and modified sql statement
2020-06-15 11:14:15 +02:00
Zwelf
afe96ed69c
Thread safe random_map
2020-06-15 11:14:15 +02:00
Zwelf
7f4dc2bb4e
Thread safe /map
2020-06-15 11:14:15 +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
13c80fdc56
Thread safe saving of score
2020-06-15 11:14:15 +02:00
Zwelf
5dcb6f3b0d
Thread save Init
2020-06-15 11:14:15 +02:00
Zwelf
c278d8dbc3
Read SaveID from database on /load
2020-06-15 11:14:15 +02:00
Zwelf
dbf6ac88f6
Thread save loading of player time and birthday
2020-06-15 11:14:15 +02:00
Zwelf
e9242f45f1
Thread safe /load
2020-06-15 11:14:15 +02:00
Zwelf
031ac52320
Thread safe /save
2020-06-15 11:14:15 +02:00
Zwelf
f5ebbf59b6
Thread safe /load without paramters
2020-06-15 11:14:15 +02:00
Zwelf
7514e93a8a
Optimize /top5points SQL query
2020-06-15 11:14:15 +02:00
Zwelf
fa8972deb6
Thread safe /top5points
2020-06-15 11:14:15 +02:00
Zwelf
62f3f40c00
Optimize /points database query
2020-06-15 11:14:15 +02:00
Zwelf
0f3f845a7f
Thread safe /points
2020-06-15 11:14:15 +02:00
Zwelf
e37cf5f3cb
Thread safe /times
2020-06-15 11:14:15 +02:00
Zwelf
8fc81e7eca
Reworked PlayerResult to signal finished with use_count == 1
...
Therefore if the sql thread crashes, the result is deleted automatically
2020-06-15 11:14:15 +02:00
Zwelf
1d7289c8f0
Thread safe /top5team and optimize database query
2020-06-15 11:14:15 +02:00
Zwelf
83fbee5f81
Optimize /teamrank database query
2020-06-15 11:14:15 +02:00
Zwelf
a92509a5df
Simplify /top5 SQL statement
2020-06-15 11:14:15 +02:00
Zwelf
9cf28354d7
Thread safe /top5 command
2020-06-15 11:14:15 +02:00
Zwelf
fd44b1dc5b
Reduce boilerplate code needed to start player info requesting thread
2020-06-15 11:14:15 +02:00
Zwelf
f18daa949c
Thread safe /teamrank
2020-06-15 11:14:15 +02:00
Zwelf
e311c39151
Remove unused parameters from IScore interface
2020-06-15 11:14:15 +02:00
Zwelf
68aa157c11
Simplify /rank sql request
2020-06-15 11:14:15 +02:00
Zwelf
eda0bab4bb
Thread safe /rank
2020-06-15 11:14:15 +02:00
Zwelf
91e286f54d
Fix parsing responses from player
2020-06-15 11:14:15 +02:00
Zwelf
76c227a542
Reimplement /mapinfo command
2020-06-15 11:14:15 +02:00
Zwelf
9add354367
Use Template for SqlResult
2020-06-15 11:14:15 +02:00
Zwelf
873f478a82
Rename Debut to Offset
2020-06-15 11:14:15 +02:00
Zwelf
4ee08dcc5c
Remove unused arguments from IScore
2020-06-15 11:14:15 +02:00
Zwelf
69cf72dae4
Adjust file based ShowRank, ShowTeamRank, ShowPoints consistent functions to sql
2020-06-15 11:14:15 +02:00
Zwelf
3d25953036
Ordered functions
2020-06-15 11:14:14 +02:00
Zwelf
a990acc512
Remove existing CRandomMapResult to simplify IScore interface
2020-06-15 11:12:57 +02:00
Zwelf
3af18f5f60
Create shared pointer on demand
2020-06-15 10:59:59 +02:00
Zwelf
0891a0fd51
Remove some unnecessary header includes
2020-06-15 10:59:59 +02:00
Zwelf
8a22cce031
Start of sql refractor
...
* Use atomic integer in thread count for thread safety
2020-06-15 10:59:46 +02:00
Zwelf
add4fab645
Disallow team join while save command is active
2020-06-15 10:59:46 +02:00
Zwelf
7146eb572b
Save error handling clean up
2020-06-15 10:59:46 +02:00
Zwelf
2d7886bf33
Small cleanup
2020-06-15 10:59:46 +02:00
def
0d9d873abf
Reset hook & collision in prediction after kill
...
Thanks to Pipou for reporting
2020-06-14 22:50:25 +02:00
12pm
01092a30c1
add sv_tele_others_auth_level
2020-06-14 19:21:12 +03:00
def
2d0340b1cd
Add Entites off sign to front layer ( fixes #2261 )
2020-06-14 16:01:32 +02:00
Learath
8d255921b8
Fix out of bounds read
2020-06-14 12:38:52 +03:00
def
5676e8842a
Improve quality default, persist video recorder settings when running other DDNet client
2020-06-06 00:04:42 +02:00
ZombieToad
f12d84c2c7
Update gameclient.cpp
...
so demo renders the right clan as green
2020-06-04 13:49:29 +01:00
bors[bot]
ef51f35840
Merge #2240
...
2240: Don't reset zoom when using timeline in demo r=heinrich5991 a=def-
Thanks to Lady Saavik for reporting
Co-authored-by: def <dennis@felsin9.de>
2020-06-02 17:25:02 +00:00
def
d06f1949c2
Stop playing map sound when demo player is paused
...
Noticed on Shooting Range map
2020-06-02 13:47:05 +02:00
def
690fb852df
Don't reset client on demo menu events
2020-06-02 13:22:00 +02:00
bors[bot]
3cd35de942
Merge #2236
...
2236: Fix team rejoin logic for sv_team 3 r=Learath2 a=def-
Co-authored-by: def <dennis@felsin9.de>
2020-06-02 10:27:13 +00:00
bors[bot]
f59441f1c2
Merge #2243
...
2243: Workaround for client crash on predicted explosion r=def- a=trml
I haven't been able to find the exact source of the problem yet, but at least this seems to get rid of the segfault. The crash only happened with with recent versions of gcc and -O3 for me.
Co-authored-by: trml <trml@users.noreply.github.com>
2020-06-01 20:31:06 +00:00
trml
e5d348975b
Avoid client crash on predicted explosion
2020-06-01 21:23:18 +02:00
d3fault
b9844ea6ec
Save active weapon with /rescue
2020-05-31 22:39:28 -07:00
def
4f59000bda
Version 13.2.2
2020-05-31 18:51:36 +02:00
bors[bot]
a15053d462
Merge #2231
...
2231: Don't clamp values that have no reasonable values r=Learath2 a=def-
Still affects many values in editor, for example colors in tiles and quads.
Thanks to Pipou for report.
Co-authored-by: def <dennis@felsin9.de>
2020-05-31 11:25:53 +00:00
d3fault
65906070b6
clarified /practice voting instructions
2020-05-30 20:58:01 -07:00
def
88b65b6def
Newly joined player should not immediately be subtracted from team 0
2020-05-31 00:34:29 +02:00
def
d3b6df97f8
Fix team rejoin logic for sv_team 3
2020-05-30 14:47:34 +02:00
bors[bot]
b432fe5d5e
Merge #2234
...
2234: add cl_nameplates_ids r=def- a=12pm
useful for moderating
Co-authored-by: 12pm <30786226+12pm@users.noreply.github.com>
2020-05-30 12:27:45 +00:00
Learath
6d019204f1
No point locking if teams are disabled
2020-05-30 14:07:30 +03:00
12pm
e4b3559c95
add cl_nameplates_ids
2020-05-30 12:37:42 +02:00
def
cf7dad8125
Get rid of the clamp that breaks most editor value selection
2020-05-30 09:09:01 +02:00
def
5886ac972e
Fix grammar in ungrenade description (Thanks to Pipou)
2020-05-28 23:00:27 +02:00
def
4cc1bc0cf8
Kill player when /practice is on and they get kicked out of team
2020-05-28 21:50:35 +02:00
def
80adf66620
Version 13.2.1
2020-05-28 18:50:32 +02:00
bors[bot]
73b05272ab
Merge #2226
...
2226: Fix image/sound selection in editor r=heinrich5991 a=def-
Follow-up to https://github.com/ddnet/ddnet/pull/2186 by @BannZay
Thanks to Cøke for notifying me
Co-authored-by: def <dennis@felsin9.de>
2020-05-28 16:32:59 +00:00
bors[bot]
0cd40c61c3
Merge #2218
...
2218: Practice mode fixes & improvements r=Learath2 a=def-
Thanks to NANAMAR for report.
Update: tested, works.
Co-authored-by: def <dennis@felsin9.de>
2020-05-28 16:21:01 +00:00
def
d17e74ee7d
Add sv_practice ( fixes #2227 )
2020-05-28 13:28:10 +02:00
def
b25c75b558
Allow rescuing while falling down even when not frozen
2020-05-28 12:59:45 +02:00
def
cacf17bd96
Save weapons as well with /rescue ( fixes #2225 )
2020-05-28 12:59:40 +02:00
def
c00759a0ed
Turn off practice mode and reset practice wishes when locked team dies
2020-05-28 12:59:31 +02:00
def
68132350b9
No cheating through noob filter with practice and then leaving team ( fixes #2224 )
2020-05-28 12:06:56 +02:00
def
6887b0ff3b
Fix image/sound selection in editor
...
Follow-up to https://github.com/ddnet/ddnet/pull/2186
Thanks to Cøke for notifying me
2020-05-28 10:09:29 +02:00
def
fb90990d6d
Allow /rescue mid-flight
...
Thanks to Skeith for the suggestion
2020-05-27 23:48:17 +02:00
def
3cbd75b840
Make /rescue work in deepfreeze
...
Thanks to NANAMAR for report
2020-05-27 23:27:30 +02:00
bors[bot]
ec6e6f99b6
Merge #2216
...
2216: Remove unused `Sv_PlayerTime` game message r=def- a=heinrich5991
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-27 20:40:53 +00:00
def
0f02fc51a8
Version 13.2
2020-05-27 20:37:40 +02:00
heinrich5991
941d3aa8a0
Some formatting
2020-05-27 20:03:11 +02:00
heinrich5991
209726552b
Remove unused Sv_PlayerTime
game message
2020-05-27 20:03:11 +02: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
bors[bot]
438dc519d6
Merge #2212
...
2212: Use a consistent PRNG on all platforms r=Learath2 a=heinrich5991
I just used glibc's because that is what we use on all the servers. Based on https://www.mscs.dal.ca/~selinger/random/ .
Behavior change: The PRNG is actually seeded now.
Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-05-27 16:14:09 +00:00
heinrich5991
9075bc452d
Add a comment justifying the modulo for random numbers
2020-05-27 18:12:42 +02:00
def
6b95bc2636
Fix team save practice reset
2020-05-27 17:58:08 +02:00
def
e1849ad1bb
Implement /practice for teams
...
As discussed on Discord today, can be enabled inside of teams on the fly
during each run on any server. Finishes don't count. I haven't tested
save/load yet, would do that live on the server if this can be merged.
2020-05-27 17:33:26 +02:00
Zwelf
fab1cde94e
Rename variables for consistency
...
The following member variables:
* m_name to m_aName
* m_String to m_aString
* m_CpCurrent to m_aCpCurrent
* m_Switchers to m_pSwitchers
* SavedTees to m_pSavedTees
2020-05-26 21:49:58 +02:00
heinrich5991
c9c7f947b5
Use the PCG-XSH-RR PRNG instead
...
This came from a long discussion comparing PCG-* against xoroshiro*. Do
not generate integers without bias because it doesn't affect us very
much and it is easier to reimplement with modulo.
2020-05-26 10:59:49 +02:00
heinrich5991
b488be018f
Actually seed the PRNG on each round
2020-05-25 15:19:29 +02:00
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