Commit graph

940 commits

Author SHA1 Message Date
heinrich5991 8375f4888e Refactor dummy input and demo filtering
Remove references to src/game/ from src/engine/
2017-02-23 14:13:14 +01:00
Learath2 9cd5fa53e5 Fix horrible indent. 2017-02-09 13:01:19 +01:00
def 224b9d5443 echo command for clients prints to chat instead of mostly useless console 2017-01-06 00:17:53 +01:00
heinrich5991 80ea4c8590 Disallow usage of semicolons in chat commands
This prevents player name exploits due to tab completion of nicknames
that could result in unwanted commands being executed.

Print a deprecation message that is supposed to be removed in the
future.
2017-01-03 14:01:51 +01:00
Dennis Felsing c92e10914a Refactor demo speed setting, add 1.5x speed (fixes #568) 2016-10-28 09:31:22 +02:00
east 823e330a76 Merge pull request #554 from heinrich5991/pr_ddnet_random_timeouttoken
Generate server-specific timeout codes
2016-10-05 12:21:51 +02:00
ChillerDragon 944752b78a Fixed typo. 2016-10-04 20:08:39 +02:00
heinrich5991 7ca2697135 Generate server-specific timeout codes
This way, servers can no longer hijack the timeout codes of clients.
Timeout codes are generated from md5(seed + dummy + server address).

If `cl_timeout_seed` is set to the empty string, the old config options
are used instead.
2016-10-02 11:36:42 +02:00
east c9a50916b3 sv_dnsbl_vote option added 2016-09-05 11:53:26 +02:00
east 678a69bf5b basic DNSBL implementation 2016-09-05 11:38:11 +02:00
Dennis Felsing 1990707d68 Merge pull request #527 from heinrich5991/pr_no_compressed_control
Disallow compressed control messages
2016-08-13 00:39:42 +02:00
heinrich5991 884ad25204 Disallow compressed control messages 2016-08-12 18:41:03 +02:00
def 28f50e4440 Revert "Implement comma in search and exclude queries to separate search terms"
This reverts commit 3341e18d13.
2016-08-07 00:52:00 +02:00
def 3341e18d13 Implement comma in search and exclude queries to separate search terms 2016-08-02 22:16:02 +02:00
Dennis Felsing 8b10d15845 Merge pull request #509 from timakro/pr_no_disconnect_timeout
Don't send disconnect on timeout
2016-07-08 17:25:43 +02:00
Tim Schumacher 46b75886c9 Don't send disconnect on timeout 2016-07-08 17:00:47 +02:00
Dennis Felsing 45bf601570 Merge pull request #495 from heinrich5991/pr_ddnet_smaller_dummy_map
Reduce dummy map size from 549 bytes to 191 bytes
2016-07-03 23:26:42 +02:00
heinrich5991 0244640aca Also don't send the token magic to unsupported clients
Since only the client can initiate the secure session, there's basically
no reason to send this magic to clients which didn't advertise the
feature.
2016-06-08 09:57:17 +02:00
Dennis Felsing 3dd2f23d45 Merge pull request #499 from heinrich5991/pr_ddnet_no_tokens_for_vanilla
Don't send token to harmless vanilla clients
2016-06-07 16:22:29 +02:00
heinrich5991 a2e64f0a16 Don't send token to harmless vanilla clients 2016-06-07 15:52:57 +02:00
H-M-H ada3b9a5db Merge pull request #378 from H-M-H/sqlmasters
separate sqlwrite and sqlread server
2016-05-28 23:00:16 +02:00
heinrich5991 4d6657e3f1 Fix CRC of dummy map 2016-05-26 11:06:56 +02:00
heinrich5991 b075f1ff1b Use a dummy map with background 2016-05-25 23:47:34 +02:00
heinrich5991 702ed7e023 Reduce dummy map size from 549 bytes to 191 bytes
Also include a tool to generate said map; the map is generated without
any hacks. It could likely be made smaller using a few tricks.
2016-05-24 01:47:04 +02:00
heinrich5991 e353aa80b2 Don't send uninitialized memory over the network 2016-05-23 11:48:23 +02:00
H-M-H b648b530d5 Merge branch 'master' into sqlmasters 2016-05-20 23:40:29 +02:00
def 1645310750 Keep reading packets after invalid control packet 2016-05-17 23:44:57 +02:00
def 695bf346ac Make gfx_refresh_rate functional (fixes #255) 2016-05-10 17:43:27 +02:00
def f3a4069867 Set gfx_highdpi to 0 as default (needs someone to fix it on Win >= 8.1 and Mac) 2016-05-08 19:40:53 +02:00
Dennis Felsing 6c771f6bff Merge pull request #475 from east/timeoutprotfix
Copy resendbuffer on timeout protection
2016-05-07 23:41:54 +02:00
east 1cbaa0c4ef copy resendbuffer on timeout protection 2016-05-07 19:28:16 +02:00
def 9bd30ce447 Make high-dpi screen support optional 2016-05-07 17:47:05 +02:00
def c325b08087 Add inp_mouseold for warped mouse input 2016-05-07 15:59:13 +02:00
def 939f2136c0 Nicer way of handling Mac fifo rewinding (just don't use high level file streams) 2016-05-05 23:32:55 +02:00
H-M-H 319729e207 ifdef for rewind as it is only required of OS X 2016-05-05 21:15:15 +02:00
H-M-H 491d878a64 always read fifo from start 2016-05-05 20:29:31 +02:00
def 14f1670fda Fix fifo console to remove newline character at end 2016-05-05 18:48:15 +02:00
H-M-H e351080dd3 removed double semicolons 2016-05-04 00:24:54 +02:00
H-M-H c9e65c7931 Merge branch 'master' into sqlmasters 2016-05-03 23:07:24 +02:00
Henningstone be010ff370 Fixed crashbug in fifo.cpp 2016-05-03 19:17:44 +02:00
def a954241169 style 2016-05-02 23:37:40 +02:00
def 21ac41bfae Clean up fifo console 2016-05-02 23:36:21 +02:00
def 61e47422f6 Clean up debug messages a bit (lower case, no useless errors) 2016-05-02 21:35:32 +02:00
def a9ed7035ee Add inp_ignored_modifiers to ignore set of keyboard modifiers 2016-05-01 23:07:19 +02:00
def 644a23ba57 Fix folder creation 2016-05-01 14:45:47 +02:00
def 13143eac23 Reconnect for timeout instead of bans, some simplification 2016-05-01 11:12:07 +02:00
def cc002d244d Fix gfx_resizable to be on by default with X11 2016-05-01 03:28:41 +02:00
Dennis Felsing f016a0eb1f Merge pull request #436 from timakro/pr_other_gametype_entities_clear
added entities clear for other gametypes
2016-04-30 20:28:27 +02:00
def 1446adee2c Window resizing only with X11 (not on Windows and Mac OS X) 2016-04-30 19:19:19 +02:00
def 644fec7e55 Resize window without restarting client 2016-04-30 17:59:58 +02:00
def db8a126315 Merge swick's SDL2 branch 2016-04-29 21:55:48 +02:00
Tim Schumacher 4a22e762ff added entities clear for other gametypes 2016-04-29 19:29:19 +02:00
def 86a0f46937 Add a connection limit (fixes #408) 2016-04-27 22:09:18 +02:00
def 0f5611c2f0 Add function to filter chat out of demo when slicing (fixes #382) 2016-04-27 17:05:30 +02:00
east a5de7596fa comments added 2016-04-23 17:44:42 +02:00
east 32ba1c9239 Antispoof dm1 fallback on flood added 2016-04-23 17:23:01 +02:00
H-M-H e35de5a371 whether to setup a db can be configured for each server now 2016-02-20 15:33:35 +01:00
H-M-H 88ed7391da handle exceptions from sql properly
- write failed sqlinserts to a file
- improved structure
2016-02-20 15:33:35 +01:00
H-M-H 1314085928 restructured sqlconnection
reading from and writing to several different servers is now possible
TODO:
-handle Exceptions properly (try another sqlserver)
-if everything fails while writing write the insert to a file
2016-02-20 15:33:35 +01:00
H-M-H 15f2e07c48 moved sqlserver stuff into CServer-class
as sqlconnections should not last only
until next mapreload
2016-02-20 15:33:35 +01:00
H-M-H 6ba10d2719 mastersqlservers are working now
TODO: move the sqlserver objects somewhere else
so they wont be destroyed on every reload
2016-02-20 15:33:35 +01:00
H-M-H 9ed66f7adc Cleanup of Sqlconnection
-moved all connectionstuff to a new class
-moved sqlstring functions to an own file
-do not give threads access to CSqlScore
2016-02-20 15:33:35 +01:00
Tim Schumacher 9e6e062793 added cl_skin_filter_string for skin quick search 2016-02-14 19:51:49 +01:00
def 0a49428e21 Veto considers time on server not in current race 2016-01-27 02:14:46 +01:00
def 56ca49f1de More conservative default for sv_server_info_per_second 2016-01-23 15:14:22 +01:00
heinrich5991 96f0eddbb8 Add sv_max_server_info_per_second
This controls how many complete server info responses are sent per
second.
2016-01-22 16:42:54 +01:00
Väinö Mäkelä f1038b0092 Obey the Teeworlds code formatting rules. 2016-01-18 18:20:47 +02:00
Väinö Mäkelä cb84cf2216 Improve the handling of invalid skins.
CDataFileReader::Open(): Check the return status of io_read()
before reading the buffer, to avoid reading uninitialized data
in case the file was shorter than a full header.

CSkins::SkinScan(): Check that the image is high enough.
2016-01-17 10:48:21 +02:00
H-M-H e41b4f463d Merge pull request #389 from H-M-H/command_usage
added (console-)command usage fixes #387
2016-01-03 20:59:32 +01:00
def c78ade00c1 Fix bug where timed out people can connect more than sv_max_clients_per_ip times 2016-01-03 01:42:28 +01:00
H-M-H cc2bbd62ca if there is no matching ']' do not attempt to read
beyond the given string
2015-12-29 00:45:51 +01:00
H-M-H 8e24ef8020 commanddescription can now be placed directly in
the commandparamsstring: "s[file]"
2015-12-28 16:19:52 +01:00
H-M-H 11a426c18b added (console-)command usage 2015-12-23 14:29:31 +01:00
H-M-H c38cba9bd0 Merge pull request #373 from H-M-H/eyewheel
Eyewheel (by Chairn and CytraL)
2015-12-01 14:02:22 +01:00
H-M-H b3b38dd0d3 minior cleanup of eyewheel 2015-11-16 21:15:37 +01:00
timgame 2874e18ce0 dont restore empty config values at start 2015-11-16 20:31:56 +01:00
H-M-H 8d9dd65f0b Merge branch 'master' into pr/317 2015-11-15 00:05:04 +01:00
Tim Schumacher d99660f20e Merge pull request #356 from H-M-H/helper_pw
Implemented Helper accesslevel
2015-10-27 02:18:00 +01:00
H-M-H cd6c297cb0 removed some code duplication and updated autoexec_server.cfg 2015-10-27 00:46:28 +01:00
H-M-H 1b8a201a48 increased max sv_rules_line<x> length 2015-10-24 18:41:30 +02:00
H-M-H 0e532adb67 Implemented Helper accesslevel
basically just copied everything from moderator-accesslevel implementation

note however that mod_command changed to access_level
2015-10-23 04:21:07 +02:00
timgame 7fafd2db2f added sv_reload_when_empty 2015-10-22 17:27:30 +02:00
H-M-H bf8aea3857 Merge pull request #333 from heinrich5991/pr_ddnet_antiping_no_reset
Don't reset `cl_antiping` subconfig on restart
2015-10-22 00:01:28 +02:00
Tim Schumacher 7bf36ac174 Merge pull request #334 from heinrich5991/pr_error_string
Only clear the error string if none is given
2015-10-21 02:56:06 +02:00
timgame 4b07927213 Added possibility to discard settings 2015-10-21 00:54:10 +02:00
fstd d276f2c0e7 add /usr/pkg to the list of paths searched for data files (this is the default installation prefix on NetBSD (pkgsrc)) 2015-09-23 16:47:01 +02:00
def 336e916548 Add option not to create sql tables 2015-09-15 09:28:18 +02:00
heinrich5991 19e9f4e2fb Only clear the error string if none is given 2015-09-11 11:08:35 +01:00
heinrich5991 7512cc10d6 Introduce a mechanism to import old configs and use it for cl_antiping* 2015-09-10 12:31:02 +01:00
heinrich5991 48ecf3d5a1 Merge pull request #323 from Chairn/drag_range
Added sv_dragger_range to control the length of the laser draggers.
2015-09-07 11:12:52 +01:00
def 7487923774 Fix Windows thread handle leak 2015-09-05 04:49:22 +02:00
def a1e9f07bb8 Missed one 2015-09-05 00:52:08 +02:00
Chairn c5443d8e34 Added command sv_dragger_range. Maybe need some more tests. 2015-09-01 23:15:48 +02:00
oy e91d26b8ac force vital check on essential cl/srv messages and added additional sequence checking 2015-09-01 13:50:45 +02:00
Chairn 3552e1a042 Added eye wheel. Render only on ddrace/race/ictf+/dm+/gctf+ server. 2015-08-30 21:42:16 +02:00
east d1c0551546 Don't reset timeout state on rejoin 2015-08-28 12:23:44 +02:00
def d2ac9e53ab Update info texts about variables 2015-08-27 23:41:06 +02:00
Dennis Felsing a32aca50bf Merge pull request #306 from Chairn/pr_custom_background
Added custom background in entities mod.
2015-08-27 16:08:46 +02:00
east 675c6eb1e0 Demo browser column listbox added 2015-08-27 15:05:24 +02:00
heinrich5991 a945cca8a5 Fix datafile building before the file is open 2015-08-27 12:55:35 +02:00
heinrich5991 53d7e0dd4c Fix file opening in config_* tools 2015-08-27 12:55:35 +02:00
heinrich5991 d13ebf93a2 Add config_store and config_retrieve tool 2015-08-27 12:55:35 +02:00
heinrich5991 a8d3f3bbc5 Only revert configs that have both SERVER and GAME flags on map change 2015-08-27 12:55:34 +02:00
heinrich5991 bf1f7d6ccd (Safely) execute settings embedded in maps 2015-08-27 12:55:34 +02:00
SushiTee 7bd0f276d4 saving server settings within the map and loading them on init 2015-08-27 12:51:24 +02:00
heinrich5991 a3246ed099 Save the config into the map when the server loads the map 2015-08-27 12:51:24 +02:00
Chairn 8b8ba7b860 Added variable for tile background. Improved a lil bit maplayers. 2015-08-27 00:52:50 +02:00
Chairn abbea6b2ac Added support for custom background in entities. 2015-08-27 00:52:11 +02:00
def fe22edadaa Hide console window on Windows by default 2015-08-26 12:40:50 +02:00
def 7aec49e6b1 Sort by number of players on server by default
- Then we don't have to hide empty servers, they're at the bottom anyway
- Sorting by ping is not that important, the ping already shows in a
  flashing color how good it is
2015-08-24 20:35:15 +02:00
east c1cbfcacf4 correctly reset network connection 2015-08-23 18:12:13 +02:00
east cf9e1373d7 correctly reset client 2015-08-23 17:51:28 +02:00
east c47697bdef session rejoin 2015-08-23 17:01:01 +02:00
east bb58264333 don't send chunks to network connections in timeout state 2015-08-23 12:31:09 +02:00
east 09166494a5 Antispoof: fix error state 2015-08-23 12:29:41 +02:00
oy 01527f51c9 let the client check if a connection is still established and for the correct peer address before processing data. Closes #1356 2015-08-22 21:52:02 +02:00
def 83be8af082 Change auto demo recorder format (fixes #297)
- auto/MAP_TIME.demo instead of the old auto/autorecord_TIME.demo
- Made CFileCollection usable with a wildcard to include the entire
  directory and not just files with a specific file name
2015-08-22 17:22:46 +02:00
def db2256e827 Fix a few whitespace-at-end-of-file issues 2015-08-22 15:27:41 +02:00
east 79a523e8a8 websocket support fixed 2015-08-21 13:08:40 +02:00
east 6ab2a558b3 Disable vanilla antispoof on password protected servers 2015-08-17 17:06:32 +02:00
def 51dda4e72b Fix aliasing warning 2015-08-16 19:14:17 +02:00
def e21d6e8574 Remove useless variable 2015-08-16 19:08:33 +02:00
Dennis Felsing e03071e146 Merge pull request #285 from east/antispoof
Ip spoofing protection (prevents spoofed connections)
2015-08-16 18:20:20 +02:00
def e1fe407ee5 Make team locking an option 2015-08-16 00:39:31 +02:00
east e9a1c3ef92 vanilla handshake: add vital flags and use correct sequence (support for 0.6.4) 2015-08-15 10:38:39 +02:00
east 76d29f9e23 fixed dublication 2015-08-14 18:40:06 +02:00
east d82b75f760 log/info for security token protocol 2015-08-14 18:39:13 +02:00
east a084f1e31e use complete map as dummy map 2015-08-14 18:37:00 +02:00
east 48fc0f93bb added enable/disable conf var for vanilla antispoof 2015-08-14 18:36:28 +02:00
east 051ec30832 vanilla handshake: ignore unknown sequence 2015-08-14 18:36:13 +02:00
east 9f1ab9a7bf added simple flooding detection (temprorary) 2015-08-14 18:34:22 +02:00
east aabd777858 fixed includes 2015-08-14 18:33:42 +02:00
east d1382349f5 vanilla token handshake implemented 2015-08-14 18:30:49 +02:00
east a2174bf179 anti spoof for token protocol added 2015-08-14 18:30:12 +02:00
Dennis Felsing 37256d6e2c Merge pull request #283 from savander/DDRace64
Improvements for demoplayer (pause/unpause demo is bindable) + you can hide scoreboard after death
2015-08-13 17:25:57 +02:00
def 547274b806 Add cl_chat_reset, which can be set to 0 so that chat is not reset when pressing escape 2015-08-12 17:03:27 +02:00
def 8f532aad9f Use autoexec_client/server.cfg by default, fall back to autoexec.cfg for both 2015-08-12 13:49:16 +02:00
def d616eee3c0 Kobra 4 as default map 2015-08-12 13:42:55 +02:00
Adam Jaworski ab6f522aa5 Whether to show scoreboard after death or not 2015-08-12 11:30:26 +02:00
def 0d5304c1d5 Reset tunes by default 2015-08-11 20:37:25 +02:00
def 94f35d6f6e Don't ignore clan of friends by default anymore 2015-08-10 15:19:11 +02:00
def 0969eadb4e Use temporary file for saving config to prevent broken configs 2015-07-22 18:23:48 +02:00
def 4e658c1057 Minor cleanups 2015-07-22 18:23:40 +02:00
def 9a556cba70 Fix documentation (thanks to Lady Saavik) 2015-07-13 13:27:53 +02:00
def 17b8a5219b Show a nice message to known bot clients 2015-07-13 00:02:57 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
def c79b4d3112 Add veto right for players with high time to stop map change votes 2015-07-08 17:03:22 +02:00
def b3592380d1 Re-enable broadcast for old DDNet client version 2015-07-04 14:12:49 +02:00
heinrich5991 71548fc0d6 If no rcon password is set, generate one
After the generation (using the OS random number generator), the password is
displayed to the user on stdout.
2015-06-21 19:56:35 +02:00
BeaR 839db0a04a Create directory for statboard screenshots 2015-06-17 14:13:19 +02:00
def 34fba30ca7 Add sv_port description 2015-06-01 12:42:44 +02:00
def f2fb4e089f Fix FIFO initialization once again 2015-05-31 17:36:00 +02:00
eeeee 6e3a14c0e1 fix the fix 2015-05-15 18:47:57 -07:00
eeeee e6e9bbc059 hacky bans fix 2015-05-15 18:32:30 -07:00
def 5988162b30 Fix running without fifo console 2015-05-07 17:14:03 +02:00
def 08cb934e84 Try to handle FIFO problems more graciously 2015-05-03 13:44:49 +02:00
east 9d50085782 Fix dummy connect on servers without security token protocol 2015-04-19 23:09:55 +02:00
east 93305aef74 Fix dummy connect delay (Fullfill securitytoken handshake) 2015-04-19 19:53:37 +02:00
def d690877117 At least don't access invalid memory on server request. Should fix #173 2015-04-19 14:09:40 +02:00
def 6d54de89b6 Get rid of clang static analyzer warnings 2015-04-19 00:31:45 +02:00
def 5dd83b58ff Fix security token conversion in a platform independent way 2015-04-18 23:54:19 +02:00
def 1f2d5d3e81 Fix masterserver compilation with clang and optimizations 2015-04-18 23:02:48 +02:00
def a77cd039a6 Get rid of all Clang warnings 2015-04-18 22:29:28 +02:00
def 0ffa79671b Get rid of all GCC warnings 2015-04-18 21:33:51 +02:00
def 3992b1346b Hopefully fix compilation on new OS X systems
Names collided with some new OS X defined names, fixes #189
2015-04-07 19:07:38 +02:00
def 3c496c62e1 Rename gfx_quads_as_triangles to gfx_quad_as_triangle and set default to 1 2015-03-31 16:41:51 +02:00
def d835826461 Use proper path for autoupdater on *nix 2015-03-14 20:01:18 +01:00
def 381b4512fb Fix segfault with demo cutting (fixes #140) 2015-03-13 15:48:30 +01:00
Dennis Felsing 07497523b4 Merge pull request #152 from cinaera/pr_demo
Fix bug when reading reading chunks with a tick delta of 0
2015-03-11 17:55:51 +01:00
BeaR 723bf0f6dc Restore compatibility with older demo versions 2015-03-11 17:52:18 +01:00
eeeee 0dc332c931 fix timeout protection with tokens
timeout protection code now transfers the token properly
2015-03-05 22:33:01 -08:00
heinrich5991 fa0708b99d Make the secure random stuff platform-independent 2015-03-06 01:35:08 +01:00
eeeee 85acfd9d77 added security token to protocol
to prevent packet injection from spoofed source ips
2015-03-05 11:07:03 -08:00
Learath 09ce649238 First get rid of the old autoupdate
Conflicts:
	src/engine/client/client.cpp
	src/engine/client/client.h

Conflicts:
	src/engine/shared/config_variables.h
2015-02-23 20:23:35 +02:00
BeaR 6364e3e176 Fix bug when reading reading chunks with a tick delta of 0
* Remove magic value '63'
* Add flag for chunks where the tick value is stored on the first chunk along the flags
* Correctly read chunks with tick values smaller then the tick mask
2015-02-23 14:26:10 +01:00
def 2b32b4a18a Add fire delay tunings 2015-02-12 15:20:22 +01:00
eeeee 56c42c3c31 websockets support in server 2015-02-08 19:11:34 -08:00
def 0df35a990c Remove spoof protection, interacts badly with HTTP download 2015-01-27 23:13:47 +01:00
def 3d686a223f Add an option to disable http map download (not working yet) 2015-01-20 00:21:28 +01:00
def c8405ce13e Add cl_show_broadcasts, but don't save it 2015-01-19 22:14:49 +01:00
def 79aeb5ea38 Add hook duration tune 2014-12-27 12:05:02 +01:00
eeeee fabcfc1cbc Update fifoconsole.cpp
actually store the pointer in the field
2014-12-21 17:21:19 -08:00
def c004a352d2 Highlight in console 2014-12-20 13:37:11 +01:00
def 8d945fe968 Exclude DDNet servery by type 2014-12-14 16:45:18 +01:00
def 3b0f768478 Add setting to ignore clan in friends and enable by default 2014-12-12 17:15:29 +01:00
def dfa804fb58 Add missing file 2014-12-10 11:21:13 +01:00
def 76b6a99f26 Add Exclusion filter strings and clean up menu a bit 2014-12-10 04:49:16 +01:00
def 3a5b3735ed Fix: Client & Server quit properly 2014-12-08 13:53:19 +01:00
def f32b09206a Fuzzing optimization 2014-12-06 19:29:20 +01:00
def 366f0281ed Fuzzing options 2014-12-06 16:17:04 +01:00
def 8275f2d811 Finally working... 2014-12-06 14:34:30 +01:00
def 6b1666d51d Next try 2014-12-06 14:18:59 +01:00
def b334c462c2 Try to explicitly close fifo console 2014-12-06 14:14:46 +01:00
def af3b68b253 Enable antiping projectiles starting with 6.4 2014-12-05 17:46:32 +01:00
def 83987e0bfb Fix compile 2014-12-02 21:23:54 +01:00
def 801d6033a5 Revert "More unsigned ints because of undefined integer overflow behaviour"
This reverts commit 623223354a.
2014-12-02 15:54:59 +01:00
def 9ea846033b Optimization for faster server side demo recording 2014-12-02 15:44:54 +01:00
def 0947de4b3f Centisecs -> Decisecs 2014-12-02 13:55:19 +01:00
def d0c85acc0d Add cl_show_centisecs 2014-12-02 13:19:06 +01:00
def db4d472443 Don't copy string when it's in the right position already 2014-12-02 12:35:28 +01:00