ddnet/src/game/client/components
bors[bot] 47874fb57f
Merge #5085
5085: New DDRace HUD r=def- a=C0D3D3V

If you want to test this PR, you have to test it on a Server that includes this PR too.

Textures are made by Ravie 

Here a showcase video with most parts shown: https://youtu.be/gPTVj-s3pgc 

Added to the new HUD
- A display of the weapons available to the player
- The weapon the player is carrying is highlighted
- Indicators for the special abilities of the player (Endless Hook, Endless Jumps, Jetpack, Teleport Weapons)
- Indicators for abilities taken away from the player (Deep/Life Freeze, No Hook, No Weapons collision, No Collision)
- Control indicators for dummy controls (dummy hammer, dummy copy) (bottom right)
- Jump indicator (max 10 jumps ar displayed, and greyed out as soon as a jump is used) 
- Ninja status bar that indicates how long a player is capable of using ninja (next to the ninja sword)
- Freeze status bar that indicates the thawing time of a player (below player)
- Movement Information can be displayed in a clean way above the mini score HUD (Position, Speed, Target Angle)
- Indicator if you are in practice mode

The complete HUD also works for players you spectate

I Added a new NetObj since the predicted values are not perfect and would make the display of the information a lot less good: DDNetCharacterDisplayInfo that contains the following information
```
NetIntRange("m_JumpedTotal", -2, 255),
NetTick("m_NinjaActivationTick"),
NetTick("m_FreezeTick"),
NetBool("m_IsInFreeze"),
NetBool("m_IsInPracticeMode"),

NetIntAny("m_TargetX"),  # used for the Movement Information display
NetIntAny("m_TargetY"),
NetIntAny("m_RampValue"),
```
So if someone has an idea what data we could also need in the client for making the display more nice, now is the right moment to add more data to this network object.

A few screenshots:
Assets Tab:
![grafik](https://user-images.githubusercontent.com/14315968/167703792-f0fa86be-159d-4e11-baf4-9539cee38aae.png)
HUD Settings:
![grafik](https://user-images.githubusercontent.com/14315968/167704336-dc7a314e-5603-40a2-98b4-9c03377906dd.png)
Mini Debug HUD:
![grafik](https://user-images.githubusercontent.com/14315968/168302791-c377d93e-33a2-4eb2-9d8d-b78f0808a009.png)
Speed.X is calculated using the players ramp vaule


## Checklist

- [x] Tested the change ingame
- [x] 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>
Co-authored-by: Jupeyy <jupjopjap@gmail.com>
2022-05-16 22:23:08 +00:00
..
background.cpp Move InitTilemapSkip to CLayers 2022-01-19 22:22:31 +01:00
background.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
binds.cpp remove unnecessary loop over the possible modifier combinations 2022-04-28 08:45:25 +02:00
binds.h Binds: Reorder modifiers according to the convention 2022-02-07 01:54:12 +03:00
broadcast.cpp Remove components pointers 2021-07-12 12:14:02 +02:00
broadcast.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
camera.cpp Remove unused includes of base/tl/string.h 2022-05-07 00:02:43 +02:00
camera.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
chat.cpp Remove unused includes of base/tl/string.h 2022-05-07 00:02:43 +02:00
chat.h Use std::size instead of sizeof(a) / sizeof(a[0]) 2022-03-30 18:55:04 +02:00
console.cpp Fix flashing colors in console when scrolling up continuously 2022-04-29 17:51:10 +02:00
console.h Unify logging infrastructure between IConsole and dbg_msg 2022-04-29 15:21:26 +02:00
controls.cpp allow freecam to center on world border 2022-04-09 15:24:57 +02:00
controls.h Format member variable's name correctly 2022-03-24 19:30:26 +01:00
countryflags.cpp Check pTexName for nullptr, fix wrongly height->width 2022-03-22 20:28:33 +01:00
countryflags.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
damageind.cpp Small graphic refactoring 2021-09-14 00:21:17 +02:00
damageind.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
debughud.cpp Add Options for new HUD 2022-05-10 18:41:46 +02:00
debughud.h Player position, speed and angle can now be displayed in the HUD. 2022-04-14 13:42:19 +02:00
effects.cpp Enable -Wshadow=local 2022-03-20 13:24:34 +01:00
effects.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
emoticon.cpp Enable -Wshadow=local 2022-03-20 13:24:34 +01:00
emoticon.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
flow.cpp Fix all Multiplication type alerts by CodeQL 2020-10-05 19:03:54 +02:00
flow.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
freezebars.cpp Add Options for new HUD 2022-05-10 18:41:46 +02:00
freezebars.h add vertical ninja bar 2022-04-14 13:40:44 +02:00
ghost.cpp fix color of ghost 2022-04-01 23:48:25 +02:00
ghost.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
hud.cpp fix jump display 2022-05-16 23:17:19 +02:00
hud.h Add Options for new HUD 2022-05-10 18:41:46 +02:00
items.cpp Fix Weapon Shields rendering and Clean up Sprite Offsets in items.cpp 2022-05-16 15:31:46 +02:00
items.h Fix Weapon Shields rendering and Clean up Sprite Offsets in items.cpp 2022-05-16 15:31:46 +02:00
killmessages.cpp Reset text color after kill messages are created 2021-10-29 00:11:21 +02:00
killmessages.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
mapimages.cpp Added external linkage instead of static const 2022-04-03 01:12:27 +02:00
mapimages.h Added external linkage instead of static const 2022-04-03 01:12:27 +02:00
maplayers.cpp Fix wrong quad offset for (not caused by transparent) flushes 2022-04-29 15:51:25 +02:00
maplayers.h Format member variable's name correctly 2022-03-24 19:30:26 +01:00
mapsounds.cpp Some char array naming convention 2021-09-13 12:21:56 +02:00
mapsounds.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
menu_background.cpp Replace remaining usage of base/tl/string with std::string 2022-05-07 00:17:29 +02:00
menu_background.h Replace remaining usage of base/tl/string with std::string 2022-05-07 00:17:29 +02:00
menus.cpp Merge #5085 2022-05-16 22:23:08 +00:00
menus.h Merge #5085 2022-05-16 22:23:08 +00:00
menus_browser.cpp Remove unused DoButtonLogic pText argument 2022-05-14 00:26:15 +02:00
menus_demo.cpp Remove unused DoButtonLogic pText argument 2022-05-14 00:26:15 +02:00
menus_ingame.cpp Remove unused DoButtonLogic pText argument 2022-05-14 00:26:15 +02:00
menus_settings.cpp Merge #5085 2022-05-16 22:23:08 +00:00
menus_settings_assets.cpp Render Dummy Actions on the right side of the screen 2022-04-14 13:40:45 +02:00
menus_start.cpp Retry tutorial join after 5 seconds 2022-03-25 17:37:55 +01:00
motd.cpp More colors from chat in console 2021-03-08 01:20:28 +01:00
motd.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
nameplates.cpp show local available and used jumps, in spec only available jumps 2022-04-14 13:38:54 +02:00
nameplates.h Show keystrokes in the nametag and new option cl_show_direction_below to show the keypresses below the players 2022-02-11 14:05:37 +01:00
particles.cpp Add Vulkan backend 2022-03-21 12:39:51 +01:00
particles.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
players.cpp Merge branch 'master' into New_HUD 2022-05-10 19:03:09 +02:00
players.h Add Options for new HUD 2022-05-10 18:41:46 +02:00
race_demo.cpp Keep DDNet window responsive for loading tasks 2022-04-02 17:03:23 +02:00
race_demo.h Keep DDNet window responsive for loading tasks 2022-04-02 17:03:23 +02:00
scoreboard.cpp Merge branch 'master' into New_HUD 2022-05-10 19:03:09 +02:00
scoreboard.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
skins.cpp Refactor HTTP code to no longer use inheritance 2022-05-13 09:16:15 +02:00
skins.h Refactor HTTP code to no longer use inheritance 2022-05-13 09:16:15 +02:00
sounds.cpp Keep DDNet window responsive for loading tasks 2022-04-02 17:03:23 +02:00
sounds.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
spectator.cpp make spectators team independent 2022-03-14 13:25:47 +01:00
spectator.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00
statboard.cpp Fix memory leaks in auto stat CSV output, refactoring 2022-05-15 20:24:26 +02:00
statboard.h Fix memory leaks in auto stat CSV output, refactoring 2022-05-15 20:24:26 +02:00
tooltips.cpp Update tooltip text after changing language 2022-05-14 12:49:12 +02:00
tooltips.h fix tooltips rendering when they shouldn't, fixes #5035 2022-04-30 10:05:28 +02:00
voting.cpp Update voting.cpp 2022-04-15 18:16:28 +02:00
voting.h Add some checksum functions to the client 2022-01-31 21:31:26 +01:00