ddnet/src/game/client
bors[bot] 1e31db257f
Merge #5420
5420: Improvments for new HUD r=def- a=C0D3D3V

for testing set `#define CLIENT_VERSIONNR 16020`
Some of the changes are only available in the next version

Impressions: https://youtu.be/E770vGp4KKY

Implements a few of the recommendations from https://github.com/ddnet/ddnet/issues/5159 and Discord
- removes all player capability messages send by the server, that are now displayed in the HUD
- ~~remove `cl_ddrace_hud` and cl_show_freeze_bars~~, 
- Added option `cl_freezebars_alpha_inside_freeze` setting to change the opacity if the player is inside a freeze tile (default visible 100%)
- Added option `cl_show_jumps_indicator`
- We send now the real weapon the player is holding if he is frozen
    -> for that we added a new particle "snow flakes" or frozen flakes :D that are spawned over the tees body, to indicate he is frozen.
    -> new extras.png asset (+ corresponding asset tab, that can potentially be used for all sorts of extras for our mod, e.g. material particles, but in the future maybe also for other mods using a similar structure like it is for entities)
- stars are no longer send to new clients, because it is duplication to the freezebar, and we decided to not allow to disable it 
- also ninja stars are no longer send. They are not vanilla, and we now have a ninja bar in the new HUD.
- display target angle from 0 to 360 (looks mirrored on the x-axis to the normal trigonometry circle, but that is just how the world coordinates are) 
- dummy action display is increased in size ( but only the border margin :D not the icons. so the icons are still the same size as the icons on the left side)
- allow the server to also show old HUD elements (see https://github.com/ddnet/ddnet/pull/5427 for screenshots)


fixes #5149
fixes #198
closes #5159

fixes #2252   ~~(But not clear if we should also display the weapon, still investigating)~~
- we do no longer display a weapon inside freeze, instead we have nice freeze particles

## Checklist

- [x] Tested the change ingame
- [ ] Provided screenshots if it is a visual change
- [ ] Tested in combination with possibly related configuration options
- [ ] Written a unit test if it works standalone, system.c especially
- [x] Considered possible null pointers and out of bounds array indexing
- [x] Changed no physics that affect existing maps
- [x] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


Co-authored-by: c0d3d3v <c0d3d3v@mag-keinen-spam.de>
2022-06-26 07:57:33 +00:00
..
components Merge #5420 2022-06-26 07:57:33 +00:00
prediction Organize game-shared includes 2022-06-17 17:39:25 +02:00
animstate.cpp Organize game-client includes 2022-05-29 21:24:43 +02:00
animstate.h Remove unnecessary trailing semicolons after method declarations 2022-03-08 20:01:26 +01:00
component.cpp Unify logging infrastructure between IConsole and dbg_msg 2022-04-29 15:21:26 +02:00
component.h Integrate joystick with game controls and menus/editor UI 2022-06-13 20:40:37 +02:00
gameclient.cpp Merge #5420 2022-06-26 07:57:33 +00:00
gameclient.h Merge #5420 2022-06-26 07:57:33 +00:00
lineinput.cpp Remove base/tl/base.h 2022-05-15 20:36:16 +02:00
lineinput.h m_DisplayStr -> m_aDisplayStr 2022-03-31 12:52:24 +02:00
projectile_data.cpp Organize game-shared includes 2022-06-17 17:39:25 +02:00
projectile_data.h force tunezone 2021-04-23 11:01:38 +08:00
race.cpp Organize game-client includes 2022-05-29 21:24:43 +02:00
race.h Organize game-client includes 2022-05-29 21:24:43 +02:00
render.cpp Move CMenus::DoIcon to CRenderTools::RenderIcon 2022-06-25 17:15:55 +02:00
render.h Merge #5420 2022-06-26 07:57:33 +00:00
render_map.cpp Organize game-client and editor includes 2022-06-17 20:32:56 +02:00
skin.h Use std::vector<CSkin> instead of sorted_array 2022-05-27 00:03:13 +02:00
ui.cpp Rename joystick to controller (settings, configs) (fixes #5419) 2022-06-15 13:05:14 +02:00
ui.h Integrate joystick with game controls and menus/editor UI 2022-06-13 20:40:37 +02:00
ui_ex.cpp Only enable UI editbox hotkeys when UI is enabled 2022-06-21 17:19:03 +02:00
ui_ex.h Organize game-client and editor includes 2022-06-17 20:32:56 +02:00