Commit graph

13310 commits

Author SHA1 Message Date
Robert Müller db1452d0a8
Merge pull request #6988 from Marmare314/envelope-scale
implement scaling for envelope editor
2023-08-19 09:49:17 +00:00
Robert Müller 6ba328dfdb
Merge pull request #7009 from Possseidon/dev/multi-view-team
Allow automatic multi-view for players in a team
2023-08-19 09:01:10 +00:00
Dennis Felsing a44bd9d3e1 Shut down db connection pool (fixes #7036) 2023-08-17 14:35:58 +02:00
marmare314 23e2d9377d implement scaling for envelope editor 2023-08-16 15:06:41 +02:00
marmare314 fded5013eb Do not activate box selection when panning (fixes #7031 and #7030)
And do not pan while any other operation is in progress.
2023-08-16 12:17:06 +02:00
Dennis Felsing b52fa5e910
Merge pull request #7028 from Robyt3/Base-Str-Utf8-Offset-Functions
Add utility functions for converting UTF-8 bytes ↔ chars offsets
2023-08-15 21:10:38 +00:00
Robert Müller af3870a64d Add utility functions for converting UTF-8 bytes ↔ chars offsets
Add `str_utf8_offset_bytes_to_chars` and `str_utf8_offset_chars_to_bytes` functions to base system to convert between byte and UTF-8 character offsets in UTF-8 strings.

Previously, this was separately implemented in the textrender and in the lineinput helper.

These textrender functions are entirely replaced by the new functions:

- `ITextRender::SelectionToUTF8OffSets` (by `str_utf8_offset_chars_to_bytes`)
- `ITextRender::UTF8OffToDecodedOff` (by `str_utf8_offset_bytes_to_chars`)
- `ITextRender::DecodedOffToUTF8Off` (by `str_utf8_offset_chars_to_bytes`)

These lineinput helper functions are reimplemented using the new functions:

- `CLineInput::OffsetFromActualToDisplay` (uses `str_utf8_offset_bytes_to_chars`)
- `CLineInput::OffsetFromDisplayToActual` (uses `str_utf8_offset_chars_to_bytes`)
2023-08-15 22:11:25 +02:00
Robert Müller 7168fb15d2 Move OnWindowResize listener to engine, handle editor
Register the `OnWindowResize` listener in the engine client instead of the game client and properly dispatch the event also to the editor, so text containers in the editor are cleared when the window is resized.

Closes #7018.
2023-08-15 20:17:27 +02:00
Robert Müller 5567c56d3a Reorder CClient interface pointers alphabetically 2023-08-15 19:47:52 +02:00
Robert Müller 15be3c3944 Remove unused m_DebugSoundIndex variable 2023-08-15 19:47:52 +02:00
Robert Müller f90e908c9d Reset text containers on language change
Fix text containers rendering broken text after the language is changed, as this cleared the glyph atlas without clearing the references to the glyph positions in the text containers. Now `OnWindowResize` is also called on language change to reset all text containers.

However, the glyph atlas is not cleared on normal window resize anymore, because this seems to be unnecessary.
2023-08-14 23:04:55 +02:00
Edgar 21d358434f
Merge pull request #7014 from Marmare314/mapview
Add CEditorComponent to moduralize editor
2023-08-14 08:44:31 +00:00
marmare314 77e36c5062 change interface and fix scalelength 2023-08-14 10:12:06 +02:00
marmare314 a46f320d24 remove unnecessary include 2023-08-14 09:03:03 +02:00
marmare314 7925f9fd45 format 2023-08-14 08:59:01 +02:00
marmare314 72b0fbfada format 2023-08-14 08:53:59 +02:00
marmare314 2bcfbae841 Add CEditorComponent to moduralize editor
Refactor CSmoothZoom and introduce CMapView
2023-08-14 08:36:02 +02:00
Possseidon 07e9c5a684 Allow automatic multi-view for players in a team 2023-08-13 15:38:36 +02:00
Dennis Felsing 255092ff92
Merge pull request #7003 from Robyt3/Scoreworker-Query-Size-Fix
Increase another SQL query buffer size
2023-08-12 21:24:07 +00:00
Dennis Felsing 84c6cf2333
Merge pull request #7004 from Vy0x2/pr-poc-mv-clean
Fix smooth zoom with zero causing problems with multiview
2023-08-12 21:20:06 +00:00
Robert Müller defd8f7c96 Increase another SQL query buffer size
The `INSERT INTO` query could be truncated when using a longer table name prefix.
2023-08-12 19:42:05 +02:00
Samuele Radici 5e1ef437d8
Update connection_pool.cpp 2023-08-12 18:40:33 +02:00
devdenn 9db53bd7a0 Fix smooth zoom with zero causing problems with multiview 2023-08-12 18:07:47 +02:00
Dennis Felsing 26f08a1903 Version 17.2 2023-08-12 16:43:37 +02:00
Robert Müller 0196470e01 Fix SQL query buffer sizes being too small
In `LoadPlayerData` exactly the `LIMIT 1` clause was getting truncated from the query due to the buffer size being insufficient. Depending on the length of the table name prefix the query could have been truncated at any other position resulting in syntax errors.

In `ShowTeamTop5` the buffer size is increased because it could cause truncation with a longer than default table name prefix.
2023-08-11 17:20:45 +02:00
Robert Müller 29871fd5f6 Fix scoreboard time being reset when using /timecp
Using `/timecp` with a player name that has no time on the current map incorrectly cleared the player score/time causing it to not be shown in the scoreboard anymore.
2023-08-11 16:41:42 +02:00
Edgar 984eb47c87
Merge pull request #6995 from Vy0x2/pr-poc-mv-clean
Increase lower limit for zoom smoothness (multiview), fixes #6981
2023-08-11 11:48:37 +00:00
Dennis Felsing 8eab94bcac
Merge pull request #6992 from Marmare314/selection-order-bug
Switch order in which envelope points are selected
2023-08-10 20:22:53 +00:00
Dennis Felsing 7f636329b2
Merge pull request #6993 from Marmare314/hidden-channel-bug
Ignore hidden channels when selecting envelopes
2023-08-10 20:22:07 +00:00
devdenn 9eb73c9990 Increase lower limit for zoom smoothness (multiview), remove rarely used variable 2023-08-10 20:09:43 +02:00
marmare314 93332af243 Disallow adding overlapping envelope points
Also now round is used to convert the mouse position to fixed
precision time which places the added point closer to the mouse position.
2023-08-10 08:38:10 +02:00
marmare314 3d400b13b5 Ignore hidden channels when selecting envelopes
When two envelope points overlap it can happen that the hidden
one will be marked as hot. Then neither can be selected.
2023-08-10 08:27:17 +02:00
marmare314 e1931d216a Switch order in which envelope points are selected
When multiple envelope points could be selected, switch the order
such that the one that is visible is selected first.
2023-08-10 08:16:15 +02:00
Dennis Felsing 2ea102ac9f
Merge pull request #6984 from Robyt3/Settings-Controls-Localizable
Use `Localizable` instead of `Localize` inside comment
2023-08-08 21:18:13 +00:00
Robert Müller bfb64a47e6 Improve dbg_tuning, refactor CDebugHud::RenderTuning
Use different colors to highlight tuning parameters when using `dbg_tuning`:
- red: value changed globally
- blue: value changed only in current zone
- green: value changed globally but reset to default by tune zone
- grey: value unchanged globally and in current zone

In addition to this, with `dbg_tuning 1` the unchanged parameters and the velramp graphs are not shown anymore. With `dbg_tuning 2` all parameters and graphs are shown as it was previously the case with `dbg_tuning 1`.

The position of the debug information is adjusted so it overlaps less with the HUD. When many tuning parameters are shown, the parameters now wrap to another column instead of extending beyond the height of the screen.

Headers are also added to each column.
2023-08-08 21:16:17 +02:00
Robert Müller 738187d94e Refactor CDebugHud::RenderNetCorrections, improve layout
Also show current tune zone.

Show value on every line instead of having some lines without a value.

Improve labels.

Reduce duplicate code and improve readability.
2023-08-08 20:31:48 +02:00
Robert Müller 51e1f9d88f Refactor CDebugHud::RenderHint
Replace magic numbers with constants.
2023-08-08 20:31:48 +02:00
Robert Müller 30d3d4f94c Rename GetTunes to GetTuning and return const pointer
No need to copy all tuning parameters. Consistent naming with prediction code where `GetTuning` is also used.
2023-08-08 20:31:48 +02:00
Robert Müller b98d519744 Use textrender for graphs, refactor CGraph::Render
Use textrender for rendering debug graph labels instead of using the debugging font and quad text.
2023-08-08 20:31:47 +02:00
Robert Müller be83d44470 Refactor CClient::DebugRender
Fix names of static variables. Remove dead code.
2023-08-08 20:31:47 +02:00
Robert Müller 262196bd2c Use Localizable instead of Localize inside comment 2023-08-08 20:26:56 +02:00
Edgar 43d3d6a876
avoid nullptr checks by initializing the pointers 2023-08-08 16:47:49 +02:00
Edgar 8d4f468edd
fix too long console commands not rendering help 2023-08-08 16:42:24 +02:00
Edgar 8d930dc8c7
Merge pull request #6980 from Robyt3/TextRender-Face-Uninitialized
Fix textrender variables being uninitialized
2023-08-07 19:09:33 +00:00
Robert Müller 0e161cf4d9 Fix textrender variables being uninitialized
Regression from #6952.
2023-08-07 17:53:54 +02:00
Edgar 50938a8a58
don't send empty chat messages 2023-08-07 17:07:12 +02:00
Zwelf 18dff9ef46 Fix /load from backup database
Saves were deleted without the team getting its state when /load and
/save both happened during mysql server not reachable.

Before this fix, the saves were only in the DDNet log output for
recovery, not in any database anymore.

`Write::BACKUP_FIRST` is 0 so always false, so the previous code
didn't harm other code paths (especially `Write::NORMAL`).
The saves were tried to retrieve two times from the database, therefore
at the second time it didn't exist anymore. One time erroneously in
`Write::BACKUP_FIRST` and the second time in `Write::NORMAL_FAILED`.

Fixes #6924
2023-08-07 15:35:39 +02:00
Robert Müller c4dcdad5cc Fix crash when using goto_tele in map without tele layer
The check for `goto_switch` is added for completeness but not strictly necessary, as this is also checked in `GetSwitchNumber`.
2023-08-06 23:41:15 +02:00
Dennis Felsing 42e16747a5
Merge pull request #6972 from Robyt3/Client-Vote-Option-Crash-Fix
Fix client crash with more than `MAX_VOTE_OPTIONS` vote options
2023-08-06 16:36:17 +00:00
Robert Müller 2ea82730ae Fix client crash with more than MAX_VOTE_OPTIONS vote options
The server does not allow adding more than `MAX_VOTE_OPTIONS` vote options, so the client will now also refuse to add more options than that.

Supersedes #6930.
2023-08-06 17:07:06 +02:00