ddnet/src/game/client
bors[bot] 3e5daf0a68
Merge #6833
6833: Support deleting/renaming demo folders, improve demo popups r=def- a=Robyt3

Support deleting and renaming folders in the demo browser. Only empty folders can be deleted.

Ensure only files and folders in the save directory can be deleted and renamed.

Also check if a folder with a demo rename/render filename already exists.

Fix broken `m_DemolistSelectedIsDir` checks by using `m_vDemos[m_DemolistSelectedIndex].m_IsDir` instead.

Append `.mp4` file extension only internally instead of appending it to the render filename lineinput, as this causes the file extension to appear when rendering doesn't start due an error message.

Use more efficient `FileExists` instead of `FindFile` to check if rendered demo video file already exists.

Change popup preconditions to assertions.

## 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
- [ ] 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-07-11 17:38:32 +00:00
..
components Support deleting/renaming demo folders, improve demo popups 2023-07-11 18:58:40 +02: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 Show message in editor when player is moved ingame 2023-07-11 18:19:27 +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 Add parameter to force showing scrollbar with listbox 2023-07-09 10:47:04 +02:00
ui_listbox.h Add parameter to force showing scrollbar with listbox 2023-07-09 10:47:04 +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