Commit graph

234 commits

Author SHA1 Message Date
trml e88459acec Make more variables private 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
Ryozuki f37f8a8268
add all character flags to ddnetnetwork character 2019-04-19 11:17:28 +02:00
Learath d6bfef2cc0 Use a NetObj instead of a system message 2019-04-17 23:47:32 +02:00
Ryozuki c686ceea53
Merge branch 'master' into pr_fix_solo 2019-04-12 16:34:43 +02:00
Ryozuki 7e43120b6e
make the client aware of other players solo status 2019-04-12 16:16:21 +02:00
def 2eab795c9e Implement color_to_rgb 2019-04-10 22:45:30 +02:00
Dennis Felsing bd4e3716a1 color -> color_from_rgb 2019-04-10 08:58:08 +02:00
def 01ffde25f3 Console command "colors" (fixes #1581)
Converts RGB colors to TW's HSL format
2019-04-07 22:54:29 +02: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
Learath 548e9969b2 Add colors for authed players. Deprecates #1299 2019-03-02 13:50:33 +03: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
Jupeyy 887bcb52ff add window event listener for the client 2018-03-21 15:54:51 +01:00
def 151da9af97 Remove Emojis 2018-01-25 20:03:18 +01:00
bors[bot] 5528cde5f6 Merge #869
869: Complete rework of the ghost and race recorder r=Learath2 a=Redix

This PR fixes a lot of issues with the ghost and race recorder, introduces a new ghost file format and implements some pretty useful features.

**A quick overview:**
 - When you cross the start line multiple times, both (ghost and recorder) will only restart if it is a non-solo server
 - If available, both will use the race timer to recognize the start instead of searching for the start line
 - Fastcap support for both
 - The recorder immediately starts when the Tee spawns, so the preparation steps (which are quite important for speedruns) will be included in the demo. If you do not cross the start-line within 20 seconds, it will stop the demo until you really start.
 - Better ghost menu (colors, reloading, deleting and saving ghosts)
 - The ghosts are more resistant against lags (old ones were sometimes completely useless due to small lags)
 - New ghosts files are significantly smaller
 - Cleanup, bugfixes..


**About the new ghost format (version 4/5):**
This format is used by Teerace for over a year now. The code for handling the binary files was moved to the engine. It includes an auto updater which creates a backup of all ghosts and converts them to the new format afterwards. The major differences from the format used by DDNet right now (version 2), are the ability to store multiple types of data, the usage of delta-encoding and a more portable header.

For whatever reason, the ghost stores values for every predicted tick, but without tick information, so lost snapshots can make them unusable. The new code uses the original values from the snapshots including ticks but it can also handle the old ones without. Since hardly any server uses the high bandwidth option this practically reduces the file size.

Like the demo recorder the ghost recorder directly stores the data to a file (every 50 snapshots) instead of writing the whole file at the end of the race. Indeed this can be changed with only a few lines if the old behavior is preferred.

The updater can handle version 2 (DDNet) and 3 (old teerace format, only slightly different from version 2) files. The updating already happens when the files are scanned for generating the list in the menu and not only when you activate them. The change from version 4 to 5 was only needed due to a bug in the implementation, the ghost loader can read both.

Some numbers about the file size: (map: hotrun, both about 30 seconds)

 - Old ghost: 30.4 kB (converted: 10.7 kB)
 - New ghost: 5.4 kB


**One thing about the race recorder:**
The old implementation compared the new file only with the first file it found for the particular map. The new one compares with all related demos and deletes them possibly, so that only the best demo is left. Since DDNet can also store the demos without name, this might also delete demos from other players, that you might have in your directory.
To prevent this I at least check whether the demo contains the player name if `cl_demo_name` is on. 
In my opinion the better solution would be to remove `cl_demo_name` and always use the player name.
2017-10-30 20:27:10 +00:00
Michał 35fb1ddb41 Add emoji support 2017-10-28 09:08:17 +02:00
Redix d09e825065 Use existing code for rendering the ghost 2017-09-28 16:01:58 +02:00
heinrich5991 6247aa0c7f Enable -Wextra and -Wformat=2
Also annotate `dbg_msg`, `str_format` and `str_timestamp_ex` so that the
compiler can determine whether the format strings are correct.

Fix the compiler warnings generated by these extra warnings -- some of
them were security issues.
2017-07-27 20:38:17 +02:00
heinrich5991 1ebb4f89a6 Reopen: Add a flag for rcon login via username (#800)
This uses an extended protocol message to signal that rcon
authentication might require a username, allowing the client to enable
the username prompt.

Add a forgotten logout on key update
2017-07-24 21:43:55 +02:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
Learath2 a87edad978 Move to a cpp file 2017-03-06 14:04:09 +01:00
Learath2 5317be824e Fix coloring of team chat. Fixes #648 2017-03-06 10:24:00 +01:00
heinrich5991 e3f2316106 Revert "Revert "Refactor dummy input and demo filtering""
This reverts commit 187560c8c0.
2017-02-28 10:08:14 +01:00
Dennis Felsing 187560c8c0 Revert "Refactor dummy input and demo filtering"
This reverts commit 8375f4888e.
2017-02-28 08:15:35 +01:00
Dennis Felsing eb36f421c5 Merge pull request #630 from heinrich5991/pr_ddnet_cmake_basic
Add overly simple CMakeLists.txt
2017-02-27 16:28:19 +01:00
heinrich5991 8375f4888e Refactor dummy input and demo filtering
Remove references to src/game/ from src/engine/
2017-02-23 14:13:14 +01:00
Redix abcb074dcc Fixed statboard
- FPM value
- reset when a player leaves
2017-02-15 16:43:45 +01:00
def 513c742197 Fix cl_antiping_players to be off on solo (thanks HMH) 2016-05-05 18:57:35 +02:00
def 45971ee8e9 no player antiping when appropriate tunings set 2016-05-04 16:01:58 +02:00
def 11e3fd55db seperated ingame input handling from rendering (from TW master) 2016-04-29 23:05:20 +02:00
def 378a713b1d No antiping in demo player 2016-04-24 01:57:01 +02:00
def 8fdeb9df58 Don't use antiping when spectating 2016-04-17 18:36:33 +02:00
H-M-H f0d10ac62d better get dummyinput directly from CControls 2015-11-10 20:29:12 +01:00
heinrich5991 ba4eab1f1c Don't reset antiping subconfiguration on startup 2015-09-10 12:09:38 +01:00
Chairn 70a2cfa4ea Added custom background in entities. 2015-08-27 00:52:31 +02:00
def e97c8ac08f Add foes (permanently ignored players) 2015-07-22 22:16:49 +02:00
def 6e8ada1ac8 Fix whitespaces a bit 2015-07-09 02:12:35 +02:00
Nikita Zyuzin 88c0d798e8 Fix tabulation 2015-05-21 16:34:20 +04:00
Nikita Zyuzin d40d7f8d03 Remove unused stats 2015-05-21 16:22:42 +04:00
Nikita Zyuzin d8d20b0c1a Rename detailed_stats to statboard 2015-05-21 13:41:59 +04:00
Nikita Zyuzin 42759e8909 Fix restart on new round and grabs count 2015-05-21 00:23:58 +04:00
Nikita Zyuzin 245ebccd7b Add initial detailed stats board code 2015-05-20 02:51:02 +04:00
def 9c1e65a1f5 Clean up a bit and hopefully fix player move on dummy connect 2015-04-19 14:06:31 +02:00
timgame c4f011dd9d resend player/dummy info that filtered the server 2015-04-19 13:17:51 +02:00
def 710a786f88 Rename AutoUpdater to Updater because you have to press a button now 2015-04-18 21:17:27 +02:00
Learath Lea 233ce262ac Add Autoupdate. 2015-02-23 20:23:56 +02: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
nuborn 92c9646060 detect and predict weak/strong hook 2015-01-19 22:14:50 +01:00
def eb12370db0 Rename cl_antiping to cl_antiping_players and add cl_antiping metasetting 2014-12-08 13:49:39 +01:00
nuborn 03bc769c09 prediction of hammer (hits) and grenade (explosions) 2014-12-01 01:31:58 +01:00
def 627d6386ee Revert "Revert "Revert "Add antiping for weapons (by nuborn)"""
This reverts commit 8f7e24b4db.
2014-11-02 10:59:22 +01:00
def d3797289c1 Revert "improve antiping for weapons (particularly in vanilla) by taking into account more of the info already available to the client"
This reverts commit 56036dcd7b.
2014-11-02 10:58:21 +01:00
nuborn 56036dcd7b improve antiping for weapons (particularly in vanilla) by taking into account more of the info already available to the client 2014-10-28 21:13:55 +01:00
nuborn 8f7e24b4db Revert "Revert "Add antiping for weapons (by nuborn)""
This reverts commit 755e9f4d1c.
2014-10-28 15:50:28 +01:00
def 755e9f4d1c Revert "Add antiping for weapons (by nuborn)"
This reverts commit 48e66a2ab3.

Conflicts:
	src/game/client/gameclient.cpp
	src/game/version.h
2014-10-27 20:03:22 +01:00
def 48e66a2ab3 Add antiping for weapons (by nuborn) 2014-10-23 17:31:29 +02:00
BeaR 39f93716e0 Support replaying mapsounds 2014-10-18 18:41:52 +02:00
def 1144ba77c6 Split up demo recording into 3 separate recorders 2014-10-16 17:42:13 +02:00
def 89b92b4d6b Cleanup 2014-09-23 09:52:18 +02:00
def bbe597ef04 Add cl_dummy_resetonswitch 2014-07-08 01:41:45 +02:00
CookieMichal 91e0055a83 Added RGB to HSL 2014-07-07 15:43:34 +02:00
def 7875c2ec36 Android support (by Pelya) 2014-06-16 13:29:18 +02:00
def 6bcdb4fdb8 Some more dummy stuff, might fix sound 2014-05-23 23:59:26 +02:00
HMH addfe47d4c fix correct dummy-tunings now 2014-05-03 02:44:28 +02:00
def 5eb7a74558 Fix: Tunings and Tunezones with dummies 2014-04-29 03:34:23 +02:00
def 4782d34667 Some more dummy fixes 2014-04-28 16:47:44 +02:00
def 474d307a9a Fix: Only allow changing dummy when dummy is connected 2014-04-28 15:34:56 +02:00
def 9f509eeedb Fix: Dummy setting updates 2014-04-28 15:19:57 +02:00
def 8f4452c118 More Mac compile fixes 2014-04-28 00:45:45 +02:00
def 3bbc2c4ef7 Fix dummy issues 2014-04-27 13:44:04 +02:00
def 7bcc51d488 Basic updating (thanks to unsigned char* 2014-04-27 05:01:03 +02:00
def f1661fc6b4 Sorted scoreboard and spectator view 2014-02-08 22:24:57 +01:00
def e97d3ba788 Fix: +showhookcoll fixes 2014-01-30 04:10:52 +01:00
def 3e5bcb0213 Absolutely perfect +showhookcoll 2014-01-27 05:06:23 +01:00
def 25f69ecdeb Display teams in scoreboard 2014-01-22 01:39:18 +01:00
def f0d79b8388 Trying to get better team support 2014-01-22 00:08:30 +01:00
def dc6d2305d5 Add AntiPing 2013-10-09 16:02:23 +02:00
def 9028d77471 Add +showhookcoll from H-Client 2013-08-24 01:50:35 +02:00
BeaR 6d74d52c22 Fix problem with show other players: (Closes DDRace/teeworlds#210)
sending packet on setting change
2013-02-03 20:23:44 +02:00
GreYFoX 1446d0980b Merge branch 'master' of git://github.com/oy/teeworlds into DDRace
* Version 1.098a
Conflicts:
	bam.lua
	src/game/client/gameclient.h
	src/game/mapitems.h
2011-12-05 11:32:01 +02:00
oy b99ac459be fixed envelope rendering when seeking in the demo player 2011-12-04 14:04:12 +01:00
GreYFoX 5b27758650 Removed level stuff
Removed client ID stuff
Removed console stuff
Resolved merge conflicts
Upgraded Banmaster
Cleaned up
2011-08-13 02:11:06 +02:00
GreYFoX 35d16bd58c Merge branch 'master' of git://github.com/oy/teeworlds into DDRace0611
Conflicts:
	src/engine/console.h
	src/engine/server.h
	src/engine/server/server.cpp
	src/engine/shared/config_variables.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/engine/shared/network_server.cpp
	src/game/client/components/console.cpp
	src/game/client/components/console.h
	src/game/client/components/menus_browser.cpp
	src/game/client/gameclient.cpp
	src/game/editor/editor.cpp
	src/game/editor/editor.h
	src/game/editor/io.cpp
	src/game/editor/layer_tiles.cpp
	src/game/editor/popups.cpp
	src/game/gamecore.cpp
	src/game/mapitems.h
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/gamemodes/ctf.cpp
	src/game/server/player.cpp
	src/game/variables.h
2011-08-13 02:01:40 +02:00
oy 2b2ddde04f sort players in kick/move to spec vote and player options by team. Closes #809 2011-08-05 19:52:38 +02:00
oy ac9c3b8f7f made the dropped flag sign blink faster the last 5 seconds to indicate that it's about to return. Closes #631 2011-07-05 23:15:24 +02:00
oy 123eab41c8 made it possible to filter by player country in the server browser. Closes #654 2011-06-29 22:27:32 +02:00
GreYFoX 0df6d0541f Merge branch 'master' of git://github.com/oy/teeworlds into HEAD
Conflicts:
	bam.lua
	src/engine/console.h
	src/engine/server.h
	src/engine/server/server.cpp
	src/engine/shared/config.h
	src/engine/shared/config_variables.h
	src/engine/shared/console.cpp
	src/engine/shared/console.h
	src/game/client/components/binds.cpp
	src/game/client/components/chat.h
	src/game/client/components/console.cpp
	src/game/client/components/console.h
	src/game/client/components/controls.cpp
	src/game/client/components/emoticon.h
	src/game/client/components/maplayers.cpp
	src/game/client/components/menus.h
	src/game/client/components/scoreboard.h
	src/game/client/components/spectator.h
	src/game/client/components/voting.h
	src/game/client/gameclient.cpp
	src/game/client/gameclient.h
	src/game/client/render.h
	src/game/collision.cpp
	src/game/editor/ed_layer_tiles.cpp
	src/game/gamecore.cpp
	src/game/gamecore.h
	src/game/layers.cpp
	src/game/layers.h
	src/game/mapitems.h
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/entities/laser.h
	src/game/server/entities/pickup.cpp
	src/game/server/entities/pickup.h
	src/game/server/entities/projectile.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/server/gamecontroller.h
	src/game/server/gameworld.cpp
	src/game/server/gameworld.h
	src/game/server/player.cpp
	src/game/variables.h
2011-04-14 01:27:49 +02:00
oy 06115dd49d added "Whitespace and line Endings cleanup" by GreYFoX 2011-04-13 20:37:12 +02:00
Shereef Marzouk 0354625f9b fixed Mac compilation 2011-04-10 00:05:34 +02:00
GreYFoX f7f6058a92 Merged Oy, Cleaned up, removed some useless features and code parts
Added Icon by landil
alot more...
2011-04-09 22:32:17 +02:00
Choupom 733f0b3390 reimplemented extra projectiles 2011-04-03 22:57:03 +02:00
oy ae325c873f added friends feature. Closes #24 2011-03-23 13:06:35 +01:00
oy b64db75a6b added an option to ignore other players in chat 2011-03-22 22:41:27 +01:00
oy eaef2ce48a added notification for unsaved map data and a confirmation for overwriting an existing map in the editor. Closes #115 2011-03-22 00:31:42 +01:00
oy 79aa9d640e fixed that server browser shows the correct country flag 2011-03-20 11:15:24 +01:00
GreYFoX ee178d5a48 Client Cheat showing entities in game 2011-03-16 14:48:16 +02:00
oy 156e23b592 added loading/support for country flags to the client 2011-03-16 12:09:22 +01:00
oy 30d9c9f4d9 made network support clan name and country code for players 2011-03-15 11:23:49 +01:00
oy b834426548 fixed several problems with spectator view in game and demo player. Closes #83 2011-03-12 18:07:57 +01:00
oy ee2f625754 added extended spectator mode. Closes #28 2011-03-10 10:08:14 +01:00
oy 9811c2396b made network clip flags. Closes #131 2011-03-04 17:08:10 +01:00
oy 0bc13c91eb made cl_threadsoundloading work again 2011-02-27 17:56:03 +01:00
noother 901859a494 fixed all known bugs in racedemos & ghosts, including "ghost is shown when playing a demo", "ghost doesn't reset when crossing the startline
again" (this conflicts with racemod however, where the time isn't reset on crossing the start tiles again. This should be removed in
DDRace.), "ghost sometimes doesn't save"  (this was because of kill tiles right next to finish tiles, and it just wasn't quick enough when
going through them fast), "demos contain a lot of garbage before the actual run (prior attempts)" ghosts and racedemos should now work 100%
2011-02-16 10:39:26 +02:00
GreYFoXGTi f83132448d Merged Oy, Isolated Freeze from Deep Freeze 2011-02-13 19:32:06 +02:00
GreYFoXGTi 1b2703aaba Refactoring & fixed WEAPONSPEC_GUN in content.py 2011-02-12 21:18:41 +01:00
GreYFoXGTi 24a688b2c3 Added AutoDemoRecord and ghost made by Race mod team, implemented to DDRace by noother 2011-02-04 22:15:02 +02:00
GreYFoXGTi 2151883b43 Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	src/game/gamecore.cpp
	src/game/server/entities/character.cpp
	src/game/server/entities/laser.cpp
	src/game/server/entities/pickup.cpp
	src/game/server/entities/projectile.cpp
	src/game/server/entity.h
	src/game/server/gamecontext.cpp
	src/game/server/player.cpp
	src/game/variables.h
2011-01-20 16:10:32 +02:00
oy 216967c3bf release gameclient components when opening the editor. Closes #429 2011-01-17 12:28:37 +01:00
GreYFoXGTi 2ec0e0eec4 Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	src/engine/shared/console.cpp
	src/game/client/components/hud.cpp
	src/game/client/components/scoreboard.cpp
	src/game/server/entities/character.cpp
	src/game/server/entities/projectile.cpp
2011-01-12 11:08:17 +02:00
oy 41b8022aa1 record a new demo when a game ends. Closes #358 2011-01-06 23:21:51 +01:00
GreYFoXGTi ddc5dd7ab3 Cleaned up & Re-arranged stuff 2011-01-06 05:46:10 +02:00
GreYFoXGTi c5648311ed Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	data/languages/german.txt
	src/game/client/components/scoreboard.cpp
	src/game/editor/ed_layer_tiles.cpp
	src/game/server/entities/character.cpp
	src/game/server/gamecontext.cpp
	src/game/server/gamecontroller.cpp
	src/game/variables.h
2011-01-04 22:37:09 +02:00
oy bcba9e5c89 moved HslToRgb stuff 2011-01-04 11:58:25 +01:00
GreYFoXGTi 2f5f332cbb Merge branch 'master' into DDRace
Conflicts:
	src/engine/client/client.cpp
	src/engine/shared/config_variables.h
2010-12-13 03:43:22 +02:00
oy c75a75b64f made it possible to automatically take game over screenshots. Closes #339 2010-12-12 16:48:13 +01:00
GreYFoXGTi 5d9ee1736e made the code so it would have less conflicts in the future and Merged branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	data/languages/dutch.txt
	data/languages/french.txt
	data/languages/german.txt
	data/languages/russian.txt
	src/game/server/entities/flag.cpp
	src/game/server/entities/flag.h
	src/game/server/gamecontext.cpp
	src/game/server/gamemodes/ctf.cpp
	src/game/server/gamemodes/ctf.h
	src/game/server/gamemodes/dm.cpp
	src/game/server/gamemodes/dm.h
	src/game/server/gamemodes/mod.cpp
	src/game/server/gamemodes/tdm.cpp
	src/game/server/gamemodes/tdm.h
2010-11-22 00:26:00 +02:00
Sworddragon fc9211c777 Updated copyrights 2010-11-20 21:26:06 +01:00
btd 418875b5e5 Add score board time, need to add in server send time for players if someone enter 2010-11-04 19:39:04 +03:00
GreYFoXGTi 505a5b4172 Refactoring 2010-10-29 23:29:07 +02:00
btd 61092f7baa Begin show_others
Signed-off-by: btd <bardadymchik@gmail.com>
2010-10-23 23:26:10 +04:00
GreYFoXGTi e900e7f4db Changes Required by Teams for Client
Signed-off-by: GreYFoXGTi <GreYFoXGTi@GMaiL.CoM>
2010-09-30 23:31:11 +03:00
GreYFoXGTi 896634a061 Total Cleanup
Signed-off-by: GreYFoXGTi <GreYFoXGTi@GMaiL.CoM>
2010-09-30 23:28:06 +03:00
GreYFoXGTi 8e066517ad Merge branch 'master' of http://github.com/btd/DDRace
Conflicts:
	src/game/server/gamecontext.cpp

Signed-off-by: GreYFoXGTi <GreYFoXGTi@GMaiL.CoM>
2010-09-15 05:57:34 +03:00
GreYFoXGTi fa379a806a Merge branch 'master' of http://github.com/oy/teeworlds
Conflicts:
	src/engine/server/server.cpp
	src/game/client/components/scoreboard.cpp
	src/game/server/gamecontext.cpp
	src/game/server/player.cpp
2010-09-13 07:49:01 +03:00
oy e226b47212 close the emote selector, chat history and the scoreboard when closing the chat, console or ingame menu. Closes #111 2010-09-12 12:43:03 +02:00
btd 4544b91d2f Teams collision a works fine... But i broke collision with tiles 2010-08-30 23:25:04 +04:00
btd 909c583d96 End merge 2010-08-26 00:30:21 +04:00
GreYFoXGTi 7f8fb7a5a7 Merging the client manually into the server
but i can't get the client to accept the console class of the server -.-" yet..

Signed-off-by: GreYFoXGTi <GreYFoXGTi@GMaiL.CoM>
2010-08-25 17:31:49 +02:00
oy 1cfa122521 fixed that scoreboard overlaps the chat. Closes #14 2010-08-24 23:48:27 +02:00
oy 538d968349 fixed that scoreboard overlaps the chat. Closes #14 2010-08-18 03:57:35 +02:00
oy d01fb2eb78 added missing information in debug mode. Closes #77 2010-08-13 03:07:51 +02:00
oy 3797eba179 added demo recording button by fujnky 2010-08-09 14:14:15 +02:00
Magnus Auvinen 72c06a2589 copied refactor to trunk 2010-05-29 07:25:38 +00:00