ddnet/src/game/client
bors[bot] 17c06423d2
Merge #6711 #6712
6711: Improve color picker popup in settings (use new popup system, add alpha support, support mouse locking) r=def- a=Robyt3

Use the popup system ported from the editor to reimplement the color picker popup.

- Before: 
![screenshot_2023-06-05_21-57-46](https://github.com/ddnet/ddnet/assets/23437060/52d6adfa-7d62-4323-b6df-8d18a26b6cc6)
- After:
![screenshot_2023-06-05_21-57-26](https://github.com/ddnet/ddnet/assets/23437060/773115db-178c-48ab-a750-35b136a4fb30)

Remove special handling necessary for the hard-coded color picker.

Add alpha support to the color picker popup.

Support locking mouse position when dragging value selectors also in menus (color pickers), which improves usability of value selectors. Previously this was only supported in the editor.

Replace large HSLA scrollbar color picker for UI color setting with inline color picker popup:
- Before:
![screenshot_2023-06-05_21-57-57](https://github.com/ddnet/ddnet/assets/23437060/bb6cee4d-5438-40a3-b602-90abccc959ee)
- After:
![screenshot_2023-06-05_21-57-01](https://github.com/ddnet/ddnet/assets/23437060/e0a565a6-2956-403f-9fc0-4ab11a764400)


## 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 (especially base/) or added coverage to integration test
- [ ] Considered possible null pointers and out of bounds array indexing
- [ ] Changed no physics that affect existing maps
- [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional)


6712: Fix crash when enabling `dbg_dummies` on running server r=def- a=Robyt3

The server normally needs to be reloaded to spawn the debug dummies, so this code was not checking if a debug dummy player exists. Decreasing the number of debug dummies while the server is running also causes them to simply not be snapped instead of completely destroying them.

For debugging any number of dummies can be useful, so the maximum number of debug dummies is increased to the maximum number of clients.

See #6702.

## 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 (especially base/) or added coverage to integration test
- [ ] Considered possible null pointers and out of bounds array indexing
- [X] Changed no physics that affect existing maps
- [ ] 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: Robert Müller <robytemueller@gmail.com>
2023-06-05 21:56:58 +00:00
..
components Use color picker popup for UI color setting 2023-06-05 22:37:27 +02:00
prediction Add dragger prediction 2023-06-03 20:39:06 +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 Allow multiple addresses per server in the serverbrowser 2022-07-10 16:52:07 +02:00
component.h Use const reference to pass CEvent objects 2023-04-21 18:44:48 +02:00
gameclient.cpp Don't predict other players in solo 2023-05-29 15:01:38 +02:00
gameclient.h Only call onresize events if actual size changed 2023-02-25 16:02:38 +01:00
laser_data.cpp Add net netobjs for projectile and pickup, extend ddnetlaser, remove EntityEx server-side 2023-05-04 23:43:05 +02:00
laser_data.h Add net netobjs for projectile and pickup, extend ddnetlaser, remove EntityEx server-side 2023-05-04 23:43:05 +02:00
lineinput.cpp Merge #6711 #6712 2023-06-05 21:56:58 +00:00
lineinput.h Add CLineInputNumber::GetInteger64/SetInteger64, add prefix 2023-06-05 21:09:22 +02:00
pickup_data.cpp Add net netobjs for projectile and pickup, extend ddnetlaser, remove EntityEx server-side 2023-05-04 23:43:05 +02:00
pickup_data.h Add net netobjs for projectile and pickup, extend ddnetlaser, remove EntityEx server-side 2023-05-04 23:43:05 +02:00
projectile_data.cpp Add net netobjs for projectile and pickup, extend ddnetlaser, remove EntityEx server-side 2023-05-04 23:43:05 +02:00
projectile_data.h Add net netobjs for projectile and pickup, extend ddnetlaser, remove EntityEx server-side 2023-05-04 23:43:05 +02:00
race.cpp Move index check before usage, use std::size 2022-11-29 23:32:31 +01:00
race.h Organize game-client includes 2022-05-29 21:24:43 +02:00
render.cpp Replace usages of C math functions 2023-03-01 19:26:53 +01:00
render.h Running and AFK anim. states 2022-09-16 12:30:05 +02:00
render_map.cpp Don't render switch number and delay for tiles where they are unused 2023-04-26 19:04:56 +02:00
skin.h Get away from vector for skins 2022-10-12 22:32:36 +02:00
ui.cpp Add generic color picker popup to UI, add alpha support 2023-06-05 22:37:27 +02:00
ui.h Add generic color picker popup to UI, add alpha support 2023-06-05 22:37:27 +02:00
ui_listbox.cpp Propagate list box active state to underlying scroll region 2023-05-22 20:09:32 +02:00
ui_listbox.h Remove unused CListBox::FilterMatches 2023-04-15 13:07:40 +02:00
ui_rect.cpp Move CRenderTools::DrawUIRect/4 to CUIRect::Draw/4 2022-08-12 19:37:08 +02:00
ui_rect.h Move CRenderTools::DrawUIRect/4 to CUIRect::Draw/4 2022-08-12 19:37:08 +02:00
ui_scrollregion.cpp Propagate list box active state to underlying scroll region 2023-05-22 20:09:32 +02:00
ui_scrollregion.h Propagate list box active state to underlying scroll region 2023-05-22 20:09:32 +02:00