Commit graph

711 commits

Author SHA1 Message Date
Jupeyy b1e98b598b Show warnings with non divisible by 16 textures(3D/2D array textures) 2020-08-29 17:04:30 +02:00
bors[bot] f2cb651075
Merge #2615
2615: Use player name from the Steam API as fallback r=def- a=heinrich5991

Fixes #2605.

Co-authored-by: heinrich5991 <heinrich5991@gmail.com>
2020-08-25 15:23:42 +00:00
heinrich5991 bfe7b3cbeb Use player name prefixed with "[D] " for the dummy name 2020-08-25 16:22:03 +02:00
heinrich5991 5d83e9177f Use player name from the Steam API as fallback
Fixes #2605.
2020-08-25 16:21:58 +02:00
def d24dbd01ae Send larger distance when zooming
since sometimes with dyncam it can be just at the border.

As reported by Lady Saavik
2020-08-24 20:11:53 +02:00
Fireball 918f321dfb Improved dummy switching
- Fix a use-after-free when there are no new snapshots for the cl_dummy tee after the switch.
- When one of the tees is hooked, cycling through them will no longer show phantom hook for the other tee.
- Dummy switch might happen a bit quicker since it doesn't depend on receiving new snapshots.
- Simplified code: m_LastDummy2 is no more.
2020-07-12 19:14:18 +01:00
def 3585d83196 Don't request IUpdater interface when built without updater
Fixes warning:

[kernel]: failed to find interface with the name 'updater'
2020-07-10 00:01:02 +02:00
def 6b7e1f54f4 Send zoom status for dummy too 2020-07-09 13:51:37 +02:00
def 2e8faac549 Don't send zoom level while zooming (fixes #2470) 2020-07-08 10:42:28 +02:00
def 1cb9454ab8 Rename showothers2 -> showothers
and the old showothers to legacy
2020-06-30 21:38:51 +02:00
def c3521572ea Add showothers2@netmsg.ddnet.tw
to support cl_show_others 2 properly
2020-06-30 21:38:14 +02:00
bors[bot] a79b1265df
Merge #2401
2401: Client tells server its zoom level (fixes #2087) r=heinrich5991 a=def-

and server adapts the visible distance to it

Co-authored-by: def <dennis@felsin9.de>
2020-06-30 10:01:01 +00:00
def 1782d95d99 Client tells server its zoom level (fixes #2087)
and server adapts the visible distance to it
2020-06-29 18:59:07 +02:00
def 7608eb67d6 Ignore emoticon of spammy players (fixes #2387)
Add ignore emoticon button in player menu.
Someone needs to draw the graphic for that.
2020-06-27 01:15:09 +02:00
def e03066c8bd Fix out of bounds access in OnNewSnapshot (fixes #2366) 2020-06-25 18:34:41 +02:00
heinrich5991 8c095b2727 Make spec character rendering a bit cleaner 2020-06-25 14:56:23 +02:00
Edgar 2f3073c547
fix /spec hook 2020-06-25 10:12:17 +02:00
Edgar b33180ae77
fix /spec rendering 2020-06-24 19:01:01 +02:00
Learath 75e96aa5d3 Get rid of more magic constants, adapt to 0.7 2020-06-19 21:48:48 +03:00
Learath d200ef0bb0 Remove ugly hack 2020-06-19 21:42:19 +03:00
Learath 32fb6718dd Allow joining TEAM_SPECTATOR 2020-06-19 20:28:55 +03:00
ZombieToad f12d84c2c7
Update gameclient.cpp
so demo renders the right clan as green
2020-06-04 13:49:29 +01:00
heinrich5991 209726552b Remove unused Sv_PlayerTime game message 2020-05-27 20:03:11 +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
MikiGamer d5c5235c18 Changes 2020-05-19 17:13:34 +02:00
MikiGamer 95c419d684 BlockWorlds Entities 2020-05-19 16:49:28 +02:00
trml bcf9e003d7 Make dummy hold fire with cl_dummy_hammer 1 2020-05-01 16:23:42 +02:00
trml fe1a7fb1e0 Predict directinput order for dummy and main 2020-04-19 12:50:37 +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
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
sirius 5dab6e2e1f make tee not transparent when playing demo from server 2020-02-27 20:13:16 +08: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
oy 1b4131a7fd fixed faulty message id
(cherry picked from commit 9023796d27)
2020-01-19 21:30:12 +01:00
ChillerDragon 96c9b1ab73 Rename rifle to laser
This makes it easier to copy code from/to 0.7
23df3c609e
2019-11-22 15:37:18 +01:00
trml 3986925761 Optimize character evolve 2019-11-09 22:49:53 +01:00
d3fault ecf48a89e9 Add cl_dummy_resetonswitch 2
Idea by ChillerDragon:
Only resets the active tee. So if you hold right and switch your
dummy keeps walking. But if you switch back you don't have
to press right twice to walk again.

Fix #1854
2019-10-24 18:11:42 -07:00
12pm 82e63d7f27 Fix skin reset
default skin id is -1 not 0
2019-09-17 16:45:44 +02:00
bors[bot] 1bf178614f
Merge #1904
1904: Add tune zone prediction r=heinrich5991 a=trml

Is enabled with cl_predict_ddrace 1.

This will predict tunings loaded from the map the first time tunezones are entered, but will also update the tunes after you receive new tunes while in a tunezone, since it's possible to change them in rcon.

Co-authored-by: trml <trml@users.noreply.github.com>
2019-09-17 13:50:18 +00:00
trml ea9e444283 Use a single getter for tunings, add some missed cases, fix tuning update 2019-09-16 00:07:42 +02:00
trml bb5eab0cc0 Add tunezone prediction 2019-09-09 00:53:07 +02:00
Ryozuki e112cf6791
add paused and spec to explayerflags 2019-08-02 18:16:58 +02:00
bors[bot] cb19e147d0 Merge #1876
1876: Reset m_Afk r=heinrich5991 a=FallenKN

Guess this was forgotten

Co-authored-by: FallenKN <fallen.kn@gmail.com>
2019-08-01 23:10:57 +00:00
FallenKN a03b4f0cee Reset m_Afk 2019-08-01 23:07:40 +02:00
heinrich5991 9627fd0841 Clarify what ENTITIES_UNUSED does by renaming it 2019-07-31 21:22:11 +02:00
Dennis Felsing c8d12bd386
Merge pull request #1853 from 12pm/pr_unused_non_ddnet
Render all entities on non ddnet servers
2019-07-31 17:31:11 +02:00
Learath 6882db1da2 Introduce flag to render all entities 2019-07-31 15:20:17 +03:00
Learath 9061f03174 Move the afk flag up front 2019-07-29 14:46:29 +03:00
bors[bot] dc41bb9649 Merge #1821
1821: Add afk marks r=def- a=ardadem

This is final state  (and most minimalist to not create mess) of my previous pull request. I didn't reopen it because it's contains changed unnecessary commits.

If someone will become afk, mark will be spawn next to tee's name.
![2019-07-13-13:59:20-screenshot](https://user-images.githubusercontent.com/13207692/61170739-8c4b9b80-a576-11e9-9d87-4c4b2f93941b.png)


Co-authored-by: Arda <ddmirarda@gmail.com>
2019-07-26 08:58:20 +00:00
Arda fb2cb4db26 move afk state inside to player flags 2019-07-26 11:48:15 +03:00
Learath 5ddc140494 Remove unused branch/flag 2019-07-22 18:20:19 +03:00
Learath b1ed78d58d Add new flag, Fix #1807 2019-07-19 12:28:08 +03:00
Learath 78ac5ce030 Send the flag from the server 2019-07-19 11:21:32 +03:00
Learath 25ec19b70b Set m_Race. Fix #1806 2019-07-18 18:56:24 +03:00
trml ddfcb62caa Apply ShowOtherAlpha to projectiles 2019-07-16 22:06:57 +02:00
bors[bot] 5a93ddefae Merge #1817
1817: Cfg to keep hammer after hammerfly (closed #1816) r=def- a=ChillerDragon



Co-authored-by: ChillerDragon <chillerdragon@gmail.com>
2019-07-15 07:44:27 +00:00
Arda 43c94c3d30 Add afk marks 2019-07-13 13:25:54 +03:00
ChillerDragon 1703e9d94c Cfg to keep hammer after hammerfly (closed #1816) 2019-07-10 18:04:54 +02:00
ChillerDragon 6172a9dca0 Use the float type explicitly 2019-07-08 23:08:42 +02:00
bors[bot] b50e7ee674 Merge #1802
1802: Prediction fixes r=def- a=trml

I believe this fixes #1671 (uninitialized variables).

Some other things: Use new ddnetchar fields in prediction, small fix for prediction of moving pickups, fix the freeze end tick in ddnetcharacter (will add it to the client later)

Also adds a setting for choosing between new/old antiping for grenade like suggested in #1683 (cl_antiping_gunfire 0 to disable).

Co-authored-by: trml <trml@users.noreply.github.com>
2019-07-04 12:59:52 +00:00
trml b72a16ca36 Use new ddnetchar fields, cleanup, and fix prediction for already used jumps 2019-07-01 00:50:50 +02:00
trml 011d9aa26f Add option to use new/old antiping for grenades (cl_antiping_gunfire) 2019-07-01 00:42:02 +02:00
trml 18fbb10451 Fix some unitialized variables in the prediction 2019-06-18 19:08:09 +02:00
trml 8a18cabbb1 Small fix and cleanup of prediction of teams/solo 2019-06-16 16:34:57 +02:00
bors[bot] 9c9264db8b Merge #1785
1785: Revert "Merge pull request #1736 from sirius1242/master" r=Learath2 a=def-

This reverts commit e8362f1727, reversing
changes made to 0f99605ab1.

Apparently people don't like "Digital Wellbeing"-like features @sirius1242 

Co-authored-by: Dennis Felsing <dennis@felsin9.de>
2019-06-15 13:18:11 +00:00
Dennis Felsing 1e74502e66 Revert "Merge pull request #1736 from sirius1242/master"
This reverts commit e8362f1727, reversing
changes made to 0f99605ab1.

Apparently people don't like "Digital Wellbeing"-like features
2019-06-14 12:00:49 +02:00
heinrich5991 ca03ab6337 Address Learath2's comments 2019-06-14 00:28:59 +02:00
heinrich5991 a7857d58c4 Remove now-useless function in CGameClient
(incorporate @fokkonaut's feedback)
2019-06-14 00:28:59 +02:00
heinrich5991 2b7f3587c4 Only accept DDRace record message on DDRace servers 2019-06-14 00:28:59 +02:00
heinrich5991 f31e081bd4 Remove all checking for the gametype in the game
OK, maybe not actually remove because it is kept for fallback when the
new method isn't available.

The whole gametype parsing business had the same downsides as user agent
parsing on the web, hence I removed it while keeping behavior the same.

This allows servers to explicitly opt in or out of certain bug
workarounds and other client behavior. This increases the complexity of
different configurations that are available in the client (which is a
bad thing).
2019-06-14 00:28:59 +02:00
Dennis Felsing 0d9952b32a
Merge pull request #1748 from archimede67/pr_replays
Replay system (demo after-the-fact)
2019-06-11 18:13:26 +02:00
Dennis Felsing bbb1b2cdef
Merge pull request #1733 from Learath2/dd_pr_colorsigned
Store colors unsigned
2019-06-11 12:26:28 +02:00
Ryozuki c089cffdde
fix hook col and make it green on tees 2019-06-09 19:26:20 +02:00
archimede67 929bf57bf6 infinite length and a lot of changes including notifications are now chat messages 2019-06-05 19:17:55 +02:00
heinrich5991 756aab339b Remove item invalidation logging for unknown UUIDs
This caused lags due to too much output during gameplay, demo playback
and demo cutting.

Fixes #1643.
2019-06-04 00:05:28 +02:00
Dennis Felsing e8362f1727
Merge pull request #1736 from sirius1242/master
Recorded the time of the player's game after the client was opened and show it on the top.
2019-06-03 11:02:28 +02:00
Learath2 c98978c9d6 Implement timescore using a netobj 2019-05-21 10:26:33 +02:00
Learath c2a774275f Move AuthInfo into DDNetPlayer 2019-05-21 10:25:15 +02:00
Learath 23255a04b3 Remove time-score 2019-05-21 10:24:07 +02:00
sirius 8819f21d3a played time can show now 2019-05-17 21:47:12 +08:00
Learath 0d39eb128d Use unsigned integers for colors 2019-05-15 18:05:19 +02:00
Dennis Felsing 0f65d02d1d
Merge pull request #1727 from trml/pr_pred_fixes_2
A few more prediction fixes
2019-05-13 07:29:04 +02:00
trml a885c64f4f Fix ninjajetpack prediction 2019-05-13 01:46:50 +02:00
trml bde2de2267 Improve weapon prediction on fastcap and vanilla 2019-05-13 01:46:35 +02:00
12pm a6a33bfaa5 Restore old team colors 2019-05-11 18:04:32 +02:00
Andrew 0fffd7705f Cl_text_entities_size (#1632)
* new command added

* fix code duplication after merge

* merge #1632 suggestions

* align the texture to the center vertically

* refactor

* fix RenderSwitchOverlay

* Update src/engine/client/text.cpp

Co-Authored-By: BannZay <bannzay3@gmail.com>

* Apply suggestions from code review

Co-Authored-By: BannZay <bannzay3@gmail.com>

* Apply suggestions from code review

* Apply suggestions from code review

Co-Authored-By: BannZay <bannzay3@gmail.com>

* Apply suggestions from code review
2019-05-06 14:19:10 +02:00
trml 00ab99aa2e Add prediction for weapon switches and gunfire animation 2019-05-05 12:33:26 +02:00
trml b61aae5ab4 Reset predicted character on kill 2019-05-05 12:33:26 +02:00
trml 20c06dfcdf Make speedup and stopper prediction on all gametypes again 2019-05-05 12:33:13 +02:00
trml 8eb4b7fd71 Add setting cl_predict_freeze 2 for having a small amount of misprediction while frozen 2019-05-05 12:32:06 +02:00
Learath b86c457c91 Remember whether a color is lit or not 2019-05-01 23:35:29 +03:00
Learath 5d0a1c8d0a Unlighten colors when sending to server 2019-05-01 22:49:52 +03:00
bors[bot] a2f44299e0 Merge #1678
1678: Handle colors in console r=def- a=Learath2

DEPENDS: #1654 

A better way to fix #1581 possibly deprecates #1597 

Co-authored-by: Learath <learath2@gmail.com>
2019-04-30 19:39:56 +00:00
Learath f9ab06476d Lighten tee colors of others 2019-04-30 19:49:53 +03:00
bors[bot] d8964ceedb Merge #1654 #1685
1654: Try working on colors a bit r=def- a=Learath2

There were color functions everywhere, I tried cleaning it up a little. I still couldn't get the roundtrip from Hsl to Rgb to be exactly the same, but I think this is the best possible.

1685: Work on compound binds r=def- a=Learath2

Closes #1417 

Co-authored-by: Learath <learath2@gmail.com>
2019-04-29 15:56:16 +00:00
Learath 6a1ef1af62 Can't access a siblings protected members? 2019-04-28 20:34:34 +03:00
Learath 66c89eafb2 Allow binding with modifiers in settings 2019-04-28 20:22:19 +03:00
bors[bot] a5096c4de0 Merge #1663
1663: Use freeze end tick instead of a flag. Fix #1659 r=def- a=Learath2

I used -1 for deep frozen, and 0 for not frozen. Not really sure if this is the best way.

Co-authored-by: Learath <learath2@gmail.com>
2019-04-27 08:53:38 +00:00
Learath 929d772071 Collateral 2019-04-26 22:38:18 +03:00
Learath 93d14a1eca Inconvenience for windows 2019-04-26 22:36:49 +03:00
Learath 65a17599e1 Add ColorHSVA, phase out more vec3's 2019-04-26 15:06:32 +03:00
Learath e637064a68 Don't store HSL separately 2019-04-25 19:49:27 +03:00
Learath 95a3a69e08 Start phasing out vectors for colors 2019-04-25 18:21:35 +03:00
Learath cc36af73be Cleanup colors 2019-04-24 23:53:26 +03:00
Ryozuki 502ebc5628 fix all conflicts 2019-04-23 20:45:54 +02:00
Ryozuki 42a5d7a9c1 fix conflicts 2019-04-23 20:42:07 +02:00
Learath 67668d7fb2 Use freeze end tick instead of a flag. Fix #1659 2019-04-23 18:57:26 +03:00
trml 681f30950c Remove the dummy prediction 2019-04-23 02:01:17 +02:00
trml 3d8bd174e7 Add extended data to CCharacter and improve prediction of super/solo/endless/superjump 2019-04-22 00:38:24 +02:00
Ryozuki d6cc94f839
fix hook col a bit 2019-04-21 19:35:07 +02:00
trml 0b3f3b03b5 Rewrite of prediction code, with additional prediction 2019-04-21 16:12:20 +02:00
Ryozuki eaef31d4a0
fix wording and add/fix no col and no hook 2019-04-19 11:59:09 +02:00
Ryozuki 0f3411f8fa
fix wording 2019-04-19 11:46:54 +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 3556830b9a
fix solo prediction 2019-04-12 16:29:13 +02:00
Ryozuki 7e43120b6e
make the client aware of other players solo status 2019-04-12 16:16:21 +02:00
bors[bot] 279eeed9fc Merge #1614
1614: Remove unmaintained Android code (fixes #1575) r=heinrich5991 a=def-

Thoughts?

Co-authored-by: def <dennis@felsin9.de>
2019-04-11 00:02:17 +00:00
def 2eab795c9e Implement color_to_rgb 2019-04-10 22:45:30 +02:00
def 94f3d97ddf Remove unmaintained Android code (fixes #1575) 2019-04-10 19:40:50 +02:00
def 11127f9344 Release fixes 2019-04-10 17:57:56 +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
Ryozuki 0138dd32e3
apply alpha to solo players 2019-04-07 19:42:26 +02:00
Ryozuki 813c24bf29
add m_IsSolo and fix hook col 2019-04-07 18:58:49 +02:00
Dennis Felsing 138a9c6ff7
Merge pull request #1545 from def-/pr-load-font
Move out common font loading into method
2019-03-28 23:38:24 +01:00
def 9e25f4c113 Move out common font loading into method 2019-03-28 21:51:42 +01: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
def 9ea9a43f13 Reset authed level in client
As reported by jao on Discord:

22:26 <jao> @Learath2 client auth level needs to reset on server join or something
22:28 <jao> because other servers don't send it
2019-03-19 22:29:41 +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
def bad0d53906 Move timing code to actual end of function 2018-12-23 22:58:37 +01:00
Dennis Felsing 0ad472df41 Make cort comparator conform to strict weak ordering
comp(p1, p2) == false was violated when both are nullptr
https://en.cppreference.com/w/cpp/named_req/Compare
2018-12-06 07:57:01 +01:00
def 6ad686eee2 Fix HUD (thanks to fokkonaut for reporting) 2018-11-24 22:57:15 +01:00
def 27865fdd89 Fix Race scoreboard ordering for times > 166 minutes (9999 seconds) 2018-11-21 21:26:05 +01:00
Ryozuki 09c82fba7a indent 2018-10-03 07:40:50 +02:00
Ryozuki 5c51e3b80d change to c style casts 2018-10-02 20:52:21 +02:00
Ryozuki be3cfe88e6 fix 2018-10-02 20:45:44 +02:00
Ryozuki 0a91fef8c8 fix tabs 2018-10-02 14:36:55 +02:00
Ryozuki e21a08f700 another improvement 2018-10-02 14:35:50 +02:00
Ryozuki 7efe2b436e code improvement on gameclient.cpp 2018-10-02 14:32:59 +02:00
Dennis Felsing 13aa154d47 Revert "Rewrite stopper code a bit"
This reverts commit 4ee5c5a781.
2018-08-24 09:34:54 +02:00
Dennis Felsing d60b0db632 Revert "Add mapbug "stoppers-passthrough@ddnet.tw""
This reverts commit 25e86851d3.
2018-08-22 08:33:21 +02:00
heinrich5991 25e86851d3 Add mapbug "stoppers-passthrough@ddnet.tw"
This can be set for maps that rely on actually passing through stoppers.
2018-08-16 17:54:55 +02:00
heinrich5991 4ee5c5a781 Rewrite stopper code a bit
Remove the whole copy-and-paste mess.

A seemingly ineffective and apparently code block has been removed.
2018-08-15 17:47:07 +02:00
fokkonaut e621a4a8a2 fixed, thanks heinrich 2018-07-25 22:41:24 +02:00
yangfl 81a39c229b Fix typo 2018-07-10 17:29:02 +08:00
ZombieToad 5e723f6199 fix projectiles not rendering on mods based on ddnet
for some reason the client doesnt render extrainfo projectiles if the gamemode wasnt ddnet
2018-07-04 04:19:36 +01:00
ChillerDragon 6564b93a35 Fix unwanted dummy fire
If the latest fire input and the current differ in any way it causes firing.
So if you switch dummy after hammerfly was used it causes a weaponfire.
This unwanted fireing caused many unlucky fails for me already.
So i swap the fire status on dummyswapping so the server doesn't see any difference even if hamemrfly was used.
2018-06-04 11:06:54 +02:00
Jupeyy 887bcb52ff add window event listener for the client 2018-03-21 15:54:51 +01:00
Jupeyy db48a03898 add text buffering for nameplates and killmessages 2018-03-13 21:55:47 +01:00
yangfl 1620fc9b0f Fix typo 2018-02-07 16:10:40 +08: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
Redix de1c0cf24d Fixed several issues with the ghost (thanks to Learath2) 2017-10-28 14:23:24 +02:00
Michał 35fb1ddb41 Add emoji support 2017-10-28 09:08:17 +02:00
Redix 134a79a225 Move RaceHelper to src/game/client 2017-10-06 22:13:35 +02:00
Redix d4509111d5 Clean up ghost and race recorder 2017-10-06 22:01:33 +02:00
Redix 1efa8023ea Use race timer for ghosts if available 2017-09-28 16:02:00 +02:00
Redix d09e825065 Use existing code for rendering the ghost 2017-09-28 16:01:58 +02:00
Redix 5cc0d16029 Reworked the race recorder 2017-09-28 16:01:57 +02:00
Redix 9e52957423 Only restart ghost and race demo on non-solo servers when crossing the start line again 2017-09-28 16:01:57 +02:00
Redix 1c377ed00f Added Fastcap support for ghost and race demo 2017-09-28 16:01:57 +02:00
Redix 4f57b33524 Use static array for active ghosts
Improve ghost file handling
2017-09-28 16:01:56 +02:00
heinrich5991 4d96090770 Fix MSVS warnings
```
warning C4291: no matching operator delete found; memory will not be freed if initialization throws an exception
warning C4305: truncation from 'double' to 'float'
warning C4805: unsafe mix of type 'bool' and type 'int' in operation
```
2017-09-06 10:54:29 +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
def e4b3c17829 Add option to disable long pain sound (used when shooting in freeze) 2017-06-06 18:58:23 +02:00
eeeee 2797227063 also remove references to CGameContext from CServer 2017-06-05 22:31:56 -07:00
def 4125941896 Disable dbg_stress in release builds (fewer confused kids that think they hacked the server, less useless code in cache) 2017-06-02 20:45:09 +02:00
necropotame b8e4e5beea Fix style in several places 2017-03-22 19:45:14 +01:00
heinrich5991 e08ca70b1f Fix dummy input reset 2017-03-06 19:45:39 +01:00
Learath2 a87edad978 Move to a cpp file 2017-03-06 14:04:09 +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
d3fault d6b732113e dummy copyMoves/hammer disabling when dummy connecting 2016-10-26 15:00:02 -07:00
heinrich5991 f49d60945d Don't show player HUD during /pause 2016-09-20 16:34:49 +02:00
BannZay d78c565f8a dCopyMoves disabling when Dummy disconnecting 2016-08-21 16:22:46 +03:00
H-M-H e351080dd3 removed double semicolons 2016-05-04 00:24:54 +02:00
def 4761608329 Input fixes from TW master for mouse wheel 2016-04-30 20:11:26 +02:00
def 11e3fd55db seperated ingame input handling from rendering (from TW master) 2016-04-29 23:05:20 +02:00
def 67bff95a72 Merge remote-tracking branch 'timakro/new_hookthrough' 2016-04-27 18:59:51 +02:00
def 8fdeb9df58 Don't use antiping when spectating 2016-04-17 18:36:33 +02:00
Tom ff1c6705d6 fix compile warning 2016-03-03 23:40:19 +08:00
Tom 26a1a9f331 replace strstr to str_find 2016-02-13 18:51:21 +08:00
Tom 96510284e3 Add font support for chinese, japanese, korean.
Added some character to DejaVuSans Font, so Language List can show CJK names.
Modify code to let ddnet choose DejavuWenQuanYiMicroHei when user choose CJK language, this font is merge from Dejavu and WenQuanYiMicroHei.
2016-02-06 00:13:57 +08: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
Nikita Zyuzin e63e9eed54 Replace diff > 2 with != in RoundStartTick comparison 2015-11-13 14:40:02 +04:00
Nikita Zyuzin d7f2fc95e7 Reset statboard after a game restart
Fixes #335
2015-11-12 13:06:05 +04:00
H-M-H f0d10ac62d better get dummyinput directly from CControls 2015-11-10 20:29:12 +01:00
timgame dc89301292 clean up intersect line code 2015-11-08 10:20:44 +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
Nikita Zyuzin 0b9e2f144c Add prefix Cl to dummy and player variables 2015-08-07 00:16:33 +04:00
def 791e260e65 Fix spectating in demo viewer and add a button to choose to follow a player 2015-07-26 18:21:51 +02:00
def e97c8ac08f Add foes (permanently ignored players) 2015-07-22 22:16:49 +02:00
def 1af5507b95 Allow spectating other players and freeview in demo player (especially fun with /showall and /showothers on) 2015-07-22 21:32:02 +02:00
east 458e83e794 Further revert of auto demo recorder (fixes continuous recording on TILE_BEGIN) 2015-06-17 12:54:41 +02:00
east 45748f35e3 Revert: Changes on auto demo recorder 2015-06-16 22:35:21 +02:00
def 8f4e8a871d Make autorecorder work with race again 2015-06-16 22:00:42 +02:00
Nikita Zyuzin 897af546cb Fix bug with constant demo autorecording. Fixes #213
It's relevant for states in which new RoundStartTick is sent each second tick
2015-06-14 14:39:42 +04:00
Nikita Zyuzin 7bb0c1cfbf Fix bug with continuous demo recording restart in TILE_BEGIN 2015-06-12 15:15:23 +04:00
Nikita Zyuzin d40d7f8d03 Remove unused stats 2015-05-21 16:22:42 +04:00
Nikita Zyuzin 82fdf7a5de Fix tabulation 2015-05-21 16:17:10 +04:00
Nikita Zyuzin e3413e59cc Fix bug with OnStartGame not called after game is over 2015-05-21 16:09:23 +04:00
Nikita Zyuzin ab2f87ace4 Don't call OnStartGame after pause 2015-05-21 15:11:53 +04:00
Nikita Zyuzin 3e3daf46bd Don't reset stats when player goes spectator 2015-05-21 14:32:17 +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 9dc63ed429 Clean up a bit 2015-05-04 17:53:07 +02:00
nuborn 0a07787f37 improve prediction of collision between players 2015-05-03 16:15:45 +02: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 a77cd039a6 Get rid of all Clang warnings 2015-04-18 22:29:28 +02:00
def 710a786f88 Rename AutoUpdater to Updater because you have to press a button now 2015-04-18 21:17:27 +02:00
def 8cbd41abfe Revert "Reduce client load by only searching for new skin when it changed"
This reverts commit 7c503c3197.
2015-03-14 12:30:17 +01:00
def 7c503c3197 Reduce client load by only searching for new skin when it changed 2015-03-13 15:42:09 +01:00
def f893ed6ec4 Fix and clean up autoupdater 2015-03-13 15:14:00 +01: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
def 7f54f8e10e Kill for both with cl_dummy_copy_moves 2015-02-18 14:23:25 +01:00
nuborn 92c9646060 detect and predict weak/strong hook 2015-01-19 22:14:50 +01:00
def ce13aa6809 Fix: Not jetpack prediction on DDNet incompatible servers 2015-01-19 22:14:48 +01:00
def 79aeb5ea38 Add hook duration tune 2014-12-27 12:05:02 +01:00
def 8b108a2311 Clean up gametype determination 2014-12-10 03:39:15 +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 bb9c699f35 use consistent values for prediction 2014-12-01 18:34:16 +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
def 997e1edc0d Revert "also predict explosions from crazy shotgun"
This reverts commit 1d21a552e8.
2014-11-02 10:58:15 +01:00
nuborn 1d21a552e8 also predict explosions from crazy shotgun 2014-10-28 21:30:51 +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 35f8b7a6dd Add option for disabling gun sounds 2014-10-26 01:00:30 +02:00
def 8d230306d8 Fix sound enabling and disabling (fixes #82) 2014-10-25 02:52:08 +02:00
def 1523954333 check that index in within array bounds + only predict grenade projectiles (by nuborn) 2014-10-25 01:08:14 +02:00
def 4403a2df62 Minor cleanup 2014-10-23 17:40:10 +02:00
def 033ca57331 Oops 2014-10-23 17:39:29 +02: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