Commit graph

4652 commits

Author SHA1 Message Date
Alexander Akulich a1b7e0c37c Move alloc.h to game/ and use it in client/prediction/entity.h 2023-09-15 18:04:29 +03:00
Alexander Akulich 7dab9e430d CCharacterCore: Break the friendship with CCharacter 2023-09-15 18:04:29 +03:00
Alexander Akulich 4c55e83d91 Character (cli and srv): Access WorldCore via GameWorld() 2023-09-15 18:04:29 +03:00
Alexander Akulich 9eb4cf7508 CCoreCharacter: Add and use HookedPlayer() 2023-09-15 18:04:23 +03:00
Robert Müller dcd86cb873 Use golden angle to generate unique, distinct DDTeam colors
The DDTeam colors were previously generated in HSL by taking the team index and multiplying it by 360/64° to calculate the hue, which results in team colors being evenly distributed over the entire color range like a rainbow. However, this causes colors of adjacent teams to be very similar and therefore hard to distinguish.

Now, the hue is calculated by multiplying the team index with the golden angle (~137.50776°) and taking the modulo 360° of that. Due to the properties of the golden angle, this can generate never repeating sequences of unique colors where the adjacent colors are very distinct.

Duplicate code is reduced by adding the `CGameClient::GetDDTeamColor` function.
2023-09-13 18:56:47 +02:00
Robert Müller 4ca86f1b05
Merge pull request #7166 from Jupeyy/pr_fix_skin_invalid
Make skin refind cleanup bit more aggressive
2023-09-11 15:22:48 +00:00
Dennis Felsing 2bac51fd33
Merge pull request #7164 from Robyt3/UI-Dropdown-Icon-Alignment
Improve dropdown menu button label alignment
2023-09-11 05:42:19 +00:00
Dennis Felsing 6ab04afd66
Merge pull request #7159 from Robyt3/CLineInput-Desync-Fix
Fix desynced lineinput cursor/selection on external buffer change
2023-09-11 05:38:04 +00:00
Jupeyy 47addc4175 Make skin refind bit more aggressive 2023-09-10 20:14:19 +02:00
Robert Müller 4fb44fc0e8 Improve dropdown menu button label alignment
Reduce the space reserved for the label by the space for the dropdown icon instead of rendering the label behind the icon.

This is more noticeable with smaller dropdown menu buttons, which will be used in the future.
2023-09-10 13:42:38 +02:00
Robert Müller e8f17aade1
Merge pull request #7134 from infclass/for-ddnet3
Mod Support: Add NINJA_SKIN_FOR_FROZEN game info flag
2023-09-10 08:32:43 +00:00
heinrich5991 96d7a9d0d9
Merge pull request #7158 from Robyt3/Friendlist-Conchain-Fix
Fix friendlist update conchain not working with optional argument
2023-09-09 12:03:30 +00:00
Robert Müller 84e3c081b4 Fix friendlist update conchain not working with optional argument
The clan argument is optional when using `add_friend` and `remove_friend`.
2023-09-09 13:31:27 +02:00
Robert Müller 21f7af59a0 Fix desynced lineinput cursor/selection on external buffer change
When the buffer of a lineinput is modified externally, the cursor offset and selection are not updated, which causes them to be rendered wrong and also causes the assertion error "Selection and cursor offset got desynchronized" when changing the selection of a lineinput.
2023-09-09 13:25:47 +02:00
Alexander Akulich 1074a5ff56 CMake: Use DDNet_VERSION to construct DDNET_VERSION_NUMBER 2023-09-08 23:13:00 +03:00
Robert Müller e5e7e76ce5
Merge pull request #7146 from dobrykafe/pr-settings-player-scroll
Allow countryflag scrolling in player settings while name/clan input selected
2023-09-08 08:45:10 +00:00
Dennis Felsing ee1b8baab5
Merge pull request #7145 from infclass/for-ddnet4
Cleanup CMake, adjust the version variables
2023-09-08 08:09:56 +00:00
dobrykafe 53d0e3f851 allow flag scroll while input selected 2023-09-08 00:12:18 +02:00
Alexander Akulich d0ecb5f8dd CMake: Rework the versioning 2023-09-08 00:10:48 +03:00
Dennis Felsing 06146aa980
Merge pull request #7140 from furo321/render-cut-to-video
Add "render cut to video"
2023-09-07 12:09:07 +00:00
furo 50d0efb410 Add "render cut to demo" 2023-09-06 21:03:51 +02:00
Robert Müller fe95919f63 Support longer lines being rendered in console
Don't truncate console lines at 255 bytes anymore. Especially lines containing many Unicode characters would be adversely affected by this limitation.

Instead, truncate console lines after 10 wrapped lines are rendered. Rendering too many lines at once currently breaks the console scrolling. Rendering an ellipsis is currently not possible when rendering text with a maximum line count.

Increase buffer sizes to handle long (esp. invalid) command inputs.

Closes #7132.
2023-09-06 19:16:00 +02:00
Alexander Akulich 07d8d591c8 Add NO_SKIN_CHANGE_FOR_FROZEN game info flag
The flag is wanted for mods which use freeze state but need or want
to keep the player skins (the skin is critical for some mods).
2023-09-06 16:50:06 +03:00
heinrich5991 1abd09fbc4
Merge pull request #7112 from Robyt3/UI-Tooltip-Fix
Fix some menus tooltips not working anymore
2023-09-06 10:35:20 +00:00
heinrich5991 d2a12e01c1
Merge pull request #7126 from Robyt3/Graphics-Format-PixelSize
Add `CImageInfo::PixelSize` function, use `enum EImageFormat`
2023-09-06 09:57:59 +00:00
Harri Nieminen 4d9ff1d904 Fix typos
Found by codespell
2023-09-05 22:32:09 +03:00
Robert Müller b4fa20599e Truncate IP with ellipsis in connecting popup 2023-09-04 21:16:27 +02:00
Robert Müller dde45f7a40 Add CImageInfo::PixelSize function, use enum EImageFormat
Use `enum EImageFormat` type for image format literals and variables.

Add `PixelSize` function to get the number of bytes/color channels per pixel for a specified image format.

Remove unused store format argument of texture loading functions. All textures are automatically being stored as RGBA, so the argument was unused. Also remove the therefore unused `FORMAT_AUTO`.

Rename variables consistently to `PixelSize` and use `size_t`, instead of mixing different names like `BPP` and `ColorChannelCount`.

Validate image format loaded from maps using `CImageInfo::ImageFormatFromInt`. Add `FORMAT_ERROR` to represent invalid formats.

Remove redundant `PixelSize` parameter from graphics backends and commands, which can be derived from the texture format.

Fix memory leak when RGB image data is being converted to RGBA format when saving map in editor.
2023-09-03 20:40:28 +02:00
devdenn 533d401ea5 Remove setting default zoom after leaving multiview 2023-09-02 16:57:24 +02:00
Dennis Felsing 54134d6d38
Merge pull request #7119 from Robyt3/UI-Progress-Spinner-Editor
Add progress spinner to UI, show progress spinner while saving map in editor
2023-09-01 23:43:16 +02:00
Dennis Felsing 4c593bc222
Merge pull request #7117 from Robyt3/Chat-Clear-Fix
Fix chat history disappearing with `cl_showchat 1`
2023-09-01 07:27:07 +00:00
Robert Müller 147561e281 Add CUI::RenderProgressSpinner function 2023-08-31 22:40:09 +02:00
Robert Müller a4232198ed Add CUIRect::Center convenience function 2023-08-31 21:33:17 +02:00
Robert Müller 87a0461eb6 Disable server browser hotkeys when popup menu is open
Closes #7088.
2023-08-31 21:16:51 +02:00
Robert Müller ddb9cdd251 Use DefaultTextColor/DefaultTextOutlineColor 2023-08-31 20:14:10 +02:00
Robert Müller cfcc2ff9bc Remove unused include 2023-08-31 20:14:10 +02:00
Robert Müller 933b4ad2ab Fix chat history disappearing with cl_showchat 1
Closes #7115.
2023-08-31 20:14:10 +02:00
Robert Müller cbc1044b98 Fix some menus tooltips not working anymore
For some tooltips, the associated UI element ID was not being set as hot item, which is required for tooltips.

The tooltip for the "Dummy settings" checkbox was only present on the tee settings page but not on the player settings page.

Closes #7107.
2023-08-30 21:57:04 +02:00
Jupeyy 16115c204e
Merge pull request #7094 from Robyt3/Variable-Desc-Fixes
Remove `gfx_finish` config variable, remove `dbg_hitch` config variable, improve config variable descriptions, add missing descriptions
2023-08-30 18:28:25 +00:00
Robert Müller 98b3fe460a Fix typo in internal name of cl_assets_entities config variable
The name used in config is unchanged.
2023-08-30 20:07:12 +02:00
Robert Müller bc82a450c3 Remove CLocConstString
This makes it more obvious where text is localized. This class was also broken for localized strings with context, since the member variable `m_ContextHash` was uninitialized.
2023-08-30 19:24:38 +02:00
Dennis Felsing 7231d8317f
Merge pull request #7100 from Robyt3/Lineinput-Selection-Desync
Fix lineinput selection getting desynchronized from cursor
2023-08-29 20:37:43 +00:00
Robert Müller e3700ac4e4
Merge pull request #7016 from k-i-o/k-i-o-patch-1-3
Update gameclient.cpp
2023-08-29 16:10:39 +00:00
Robert Müller b7773d2b4c Fix lineinput selection getting desynchronized from cursor
When the text cursor/selection mode is set to calculate, values of `-1` are used when the selection is empty. These values were not being handled anymore due to a regression from #7028. This was causing the selection to be set to the last position instead, which was causing text to subsequently be inserted there instead of at the cursor position.

An assertion is added to ensure that the selection cannot be desynchronized from the cursor position anymore.

Closes #7099.
2023-08-29 18:01:09 +02:00
Samuele Radici 73f68c73f4 done i hope 2023-08-29 13:52:31 +00:00
Samuele Radici 6534728744 fix style 2023-08-29 11:01:58 +00:00
Samuele Radici d7d635881b I found out he didn't save himself... 2023-08-29 10:09:55 +00:00
furo 28fda865c5 Keep selection after sort 2023-08-28 21:47:48 +02:00
furo 2dcc0b9db3 Fix demo sorting 2023-08-28 21:11:12 +02:00
Dennis Felsing c9557b2ee9
Merge pull request #7069 from furo321/pr_demo_searchbar
Add a searchbar for demos.
2023-08-26 19:00:31 +00:00