ddnet/src/game/client
Robert Müller 4ae0928b47 Support bezier envelope curves in maps and editor
Port map and editor support for `CURVETYPE_BEZIER` from upstream, i.e. support bezier curves with configurable in- and out-tangents for every envelope point.

The in- and out-tangents are represented by triangles and can be dragged in the envelope editor like the envelope points.

Support reading and writing the bezier information as a separate UUID-based map item. If the bezier information is not found, bezier will default to linear behavior. Old clients will still be able to read the new maps and ignore the unknown map item. The unknown curvetype will also be handled as linear by old clients.

Allow reading upstream maps that use `CMapItemEnvelope` version 3. On upstream, a different struct is used to store all envelope points including bezier information, which broke compatibility to old clients.

Fix holding Ctrl for slow envelope point editing not working for vertical movement.

Highlight the currently selected element (envelope point or bezier tangent marker) which is being used with the value/time edit boxes.

Hide the value/time edit boxes when no element is selected.
2023-07-16 12:46:34 +02:00
..
components Support bezier envelope curves in maps and editor 2023-07-16 12:46:34 +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 Use member instead of static variables in CGameClient 2023-07-15 10:09:18 +00:00
gameclient.h Use member instead of static variables in CGameClient 2023-07-15 10:09:18 +00: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 Support bezier envelope curves in maps and editor 2023-07-16 12:46:34 +02:00
render_map.cpp Support bezier envelope curves in maps and editor 2023-07-16 12:46:34 +02:00
skin.h Minor refactoring of CAnimState and tee rendering functions 2023-06-10 13:10:26 +02:00
ui.cpp Use member instead of static variables for confirm popup buttons 2023-07-15 10:08:05 +00:00
ui.h Use member instead of static variables for confirm popup buttons 2023-07-15 10:08:05 +00: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