ddnet/src/game/client
bors[bot] 0684d5e1a7
Merge #6820
6820: Improve demo (video) renderer UX r=def- a=Kaffeine

<!-- What is the motivation for the changes of this pull request? -->
In this MR I want to address three issues with video recorder:
1. A bug: if I start a rendering with 0.25x speed and click on 'Increase the speed' during the rendering, I expect to get the next speed (0.5x) but as the speed index is not set (kept default `4`), the speed is boosted to 1.25x.
2. Usecase: I want to adjust the camera (change position, decrease zoom, etc) for the demos and I don't want to use extra video editor to cut the first frames with the unwanted camera moves/setups from the demo. I came to a simple solution: start the rendering pre-paused to do the needed adjustments before anything is added to the video.
3. NotABug: All recorded video files have double `.demo.mp4` extension which is ugly.

Probably I have to change something to fit DDNet codebase. E.g. I don't know if `Localize("(paused)")` is acceptable here.

<!-- Note that builds and other checks will be run for your change. Don't feel intimidated by failures in some of the checks. If you can't resolve them yourself, experienced devs can also resolve them before merging your pull request. -->

## Before
![image](https://github.com/ddnet/ddnet/assets/374839/7273dd5b-e3d1-4f73-87bd-e09493d106a0)

## After
![image](https://github.com/ddnet/ddnet/assets/374839/7d62028d-04bc-45af-babf-5a2e8cb243dc)

## 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)


Co-authored-by: Alexander Akulich <akulichalexander@gmail.com>
2023-07-08 15:04:37 +00:00
..
components Client: Make it possible to start demo rendering pre-paused 2023-07-08 15:43:42 +03:00
prediction Fix wrong predicted reload timer after ninja pickup 2023-07-02 02:22:12 +02:00
animstate.cpp Minor refactoring of CAnimState and tee rendering functions 2023-06-10 13:10:26 +02:00
animstate.h Minor refactoring of CAnimState and tee rendering functions 2023-06-10 13:10:26 +02: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 Mark NETMSGTYPE_CL_STARTINFO as MSGFLAG_FLUSH 2023-07-08 12:00:49 +02:00
gameclient.h Add multi view 2023-06-30 18:03:24 +02: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 Fix uninitialized CLineInput member variables 2023-06-16 17:39:44 +02: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 Use std::vector and std::deque instead of most std::lists 2023-07-01 15:44:35 +02:00
race.h Organize game-client includes 2022-05-29 21:24:43 +02:00
render.cpp Minor refactoring of CAnimState and tee rendering functions 2023-06-10 13:10:26 +02:00
render.h Minor refactoring of CAnimState and tee rendering functions 2023-06-10 13:10:26 +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 Minor refactoring of CAnimState and tee rendering functions 2023-06-10 13:10:26 +02:00
ui.cpp Add ellipsis flag to DoLabel, support stop-at-end with max width 2023-07-02 23:34:58 +02:00
ui.h Add ellipsis flag to DoLabel, support stop-at-end with max width 2023-07-02 23:34:58 +02:00
ui_listbox.cpp Simplify list box activation handling 2023-06-07 20:46:10 +02:00
ui_listbox.h Simplify list box activation handling 2023-06-07 20:46:10 +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 Add scroll region parameter to disable right margin 2023-06-08 12:52:35 +02:00
ui_scrollregion.h Add scroll region parameter to disable right margin 2023-06-08 12:52:35 +02:00