Commit graph

19286 commits

Author SHA1 Message Date
archimede67 d853a17f20
Merge pull request #8119 from Robyt3/UI-String-Fix
Fix replacement of `UI` with `Ui` in strings
2024-03-17 10:33:28 +00:00
Robert Müller bef399f296 Fix replacement of UI with Ui in strings 2024-03-17 11:16:14 +01:00
Robert Müller acfe26e715
Merge pull request #8112 from heinrich5991/pr_ddnet_http_age_crash
Fix crash when the serverlist request fails
2024-03-16 22:40:48 +00:00
Dennis Felsing f3c246f622
Merge branch 'master' into pr_ddnet_http_age_crash 2024-03-16 23:23:35 +01:00
Dennis Felsing b72d89b5cf
Merge pull request #8114 from furo321/tutorial-showothers
Remove `sv_show_others` from `Tutorial.map`
2024-03-16 22:22:47 +00:00
furo 28f052eaf2 Remove sv_show_others from Tutorial.map 2024-03-16 22:36:59 +01:00
Robert Müller 01daa919e8
Merge pull request #8113 from furo321/eye-emote
Remove `(until you die)` part from `/eyeemote off`
2024-03-16 20:46:43 +00:00
heinrich5991 790c73bffe
Merge pull request #8098 from Robyt3/Graphics-ImageInfo-Free
Replace `IGraphics::FreePNG` with `CImageInfo::Free`
2024-03-16 20:14:02 +00:00
heinrich5991 03aab986fe Fix crash when the serverlist request fails
We're not allowed to look at `ResultAgeSeconds` when the state is
`EHttpState::ERROR`.

Fixes #8107.
2024-03-16 21:12:47 +01:00
heinrich5991 8faba8ee40
Merge pull request #8103 from Robyt3/Serverbrowser-Http-Logging
Comment out verbose serverbrowser HTTP log message, fix typo in serverbrowser HTTP log context
2024-03-16 20:11:59 +00:00
furo 7043a59bc3 Remove (until you die) part from /eyeemote off 2024-03-16 21:10:21 +01:00
Robert Müller 11aba0e38d Replace IGraphics::FreePNG with CImageInfo::Free
The engine graphics do not need to be involved with freeing image data.

The `Free` function now also ensures that all other member variables are cleared when freeing the image data.
2024-03-16 20:55:22 +01:00
Robert Müller 722b5f8d11 Comment out verbose serverbrowser HTTP log message
The `unknown address` log message got printed very often because many servers have 0.6 and 0.7 addresses but only 0.6 addresses are considered valid by the client.
2024-03-16 20:54:56 +01:00
Robert Müller 4f4284ba2a Fix typo in serverbrowser HTTP log context 2024-03-16 20:54:56 +01:00
heinrich5991 67cbac8b7c
Merge pull request #8108 from def-/pr-clang-sanitizer-ubuntu
Try older Ubuntu version for clang sanitizer
2024-03-16 19:35:07 +00:00
Dennis Felsing d5359b2c11 Try older Ubuntu version for clang sanitizer 2024-03-16 12:15:56 +01:00
archimede67 bcfc61b82a
Merge pull request #8105 from Robyt3/Base-net_addr_from_url-Refactor
Minor refactoring of `net_addr_from_url`
2024-03-15 20:48:56 +00:00
Robert Müller 24caf08d84 Minor refactoring of net_addr_from_url
- Remove unnecessary branch and temporary variable usage at the end of the function.
- Move variable declarations closer to usages.
2024-03-15 18:40:03 +01:00
Robert Müller 6df1d251d7
Merge pull request #7947 from ChillerDragon/pr_coll_tele
Move tele vector init from gamecontroller to collision
2024-03-14 17:02:09 +00:00
Dennis Felsing 38a4c918cd
Merge pull request #8100 from furo321/new-formatting-rev
Add #8019 to `formatting-revs.txt`
2024-03-14 16:35:34 +00:00
furo 1561db66c0 Add #8019 to formatting-revs.txt 2024-03-14 17:17:08 +01:00
Dennis Felsing 681b66b563 Version 18.1 2024-03-14 17:14:07 +01:00
Dennis Felsing 7d890aa1a5
Merge pull request #8099 from heinrich5991/pr_ddnet_http_age
Take serverlist age into account when choosing master
2024-03-14 15:42:52 +00:00
heinrich5991 ff7b6ffe14 Take serverlist age into account when choosing master
Prefer masters with newer server lists, and try re-selecting the chosen
master if the result is older than 5 minutes.
2024-03-14 12:31:41 +01:00
heinrich5991 5603d284bf Parse Date and Last-Modified HTTP headers 2024-03-14 12:31:41 +01:00
heinrich5991 2d17097c91 Use log_* instead of Console()->Log() in HTTP serverbrowser 2024-03-14 11:19:32 +01:00
ChillerDragon 4da4ca5bdd Make tele getters const 2024-03-14 08:50:35 +08:00
ChillerDragon 552d466197 Move tele vector init from gamecontroller to collision 2024-03-14 08:46:22 +08:00
Dennis Felsing e92f5e85ec
Merge pull request #8096 from Robyt3/UI-ScrollRegion-Popup-Handling
Support overlapping scroll regions, always allow mouse scrolling
2024-03-12 21:55:02 +00:00
Robert Müller ae9a8fe3d4 Support overlapping scroll regions, always allow mouse scrolling
Support scrolling all scroll regions with the mouse wheel also while popup menus are open. Support overlapping scroll regions by always scrolling the top-most hovered scroll region on mouse wheel events.

The hot scroll region is now tracked separated by `CUi`, as tracking the IDs of all UI elements which are contained in scroll regions is not feasible. The separate active state for scroll regions is therefore unnecessary.

It's still necessary to disable `CListBox`es when popup menus are open, to ensure that only one list box consumes the key events.

Closes #8087. Supersedes #8090.
2024-03-12 22:15:20 +01:00
Robert Müller f291362d88 Revert name of enum literal Ui back to UI
This `enum` literal was accidentally included in the renaming of the `UI` function to `Ui`.
2024-03-12 21:49:00 +01:00
heinrich5991 65c2ad7ee0
Merge pull request #8089 from heinrich5991/pr_ddnet_check_http_size
Disconnect when we get map change with invalid parameters
2024-03-11 19:57:59 +00:00
heinrich5991 b4726e4a20
Merge pull request #8084 from def-/pr-eesti-keel-2
Estonian fixes (by Cammo)
2024-03-11 18:33:37 +00:00
heinrich5991 8108cb04fd Inform HTTP map download of the map size 2024-03-11 17:50:51 +01:00
heinrich5991 dd5ddf07a4 Disconnect when we get map change with invalid parameters
This is the only sane thing we can do, the server will have changed its
map and we can't pretend to still be on the old one.
2024-03-11 17:50:12 +01:00
Dennis Felsing 3489131d78
Merge pull request #8085 from dobrykafe/pr-timecp
Improve `/timecp` chat command
2024-03-11 07:34:54 +00:00
Dennis Felsing 621b201acf
Merge pull request #8086 from furo321/browser-login-filter
Add a `No login required` filter
2024-03-11 07:33:21 +00:00
furo 40f641b0a6 Add a No login required filter 2024-03-11 02:09:16 +01:00
dobrykafe 35c45cf869 improve /timecp chat command 2024-03-11 00:36:07 +01:00
Dennis Felsing 43e99d018d Estonian fixes (by Cammo) 2024-03-11 00:16:16 +01:00
archimede67 e58468fc59
Merge pull request #8083 from furo321/tpxy-helptext
Document usage of `~` for `/tpxy` in help text.
2024-03-10 21:10:34 +00:00
furo 1cee65a980 Document usage of ~ for /tpxy in help text. 2024-03-10 21:44:40 +01:00
heinrich5991 3805ffba86
Merge pull request #8073 from Robyt3/Gamecore-Str-Validation
Add validation for `StrToInts` and `IntsToStr`
2024-03-10 13:48:08 +00:00
Dennis Felsing aa2574e727
Merge pull request #8079 from Robyt3/Econ-UTF8-Validate
Ensure commands executed via Econ are valid UTF-8
2024-03-10 13:01:33 +00:00
Robert Müller 02f60421f9 Add validation for StrToInts and IntsToStr
Add strict validation for `StrToInts` function. Because this function should only be used with trusted internal strings, assertions are added to ensure that the string is not truncated. Some buffer sizes are adjusted accordingly, so truncation cannot happen.

Add less strict validation for `IntsToStr` function. An additional argument specifying the size of the output buffer is added to assert that the size of the output buffer is sufficient. However, because this function is used to decode data sent by the server and read from maps and ghosts, invalid input data should never result in crashes or invalid UTF-8 strings. The function will now unpack an empty string and return `false`, if the string contains invalid UTF-8.

The inline definition of the functions is not wanted, because it requires adding a `system.h` include in `gamecore.h`. Therefore the tools now have to depend on game-shared, which previously only worked because the functions were inline.

Tests are added to ensure the function still behaves the same as before for valid inputs and correctly handles invalid inputs.
2024-03-10 12:49:56 +01:00
Robert Müller c824bcc647
Merge pull request #8078 from def-/pr-eesti-keel
Add Estonian translation (by Cammo)
2024-03-10 10:45:11 +00:00
Dennis Felsing 6d2f492ee9 Add Estonian translation (by Cammo) 2024-03-10 11:27:48 +01:00
Robert Müller bff5247746 Ensure commands executed via Econ are valid UTF-8
`CNetConsole` will now ignore received lines containing invalid UTF-8 codepoints. Previously, it was possible to crash the server on Windows with Econ commands like `exec <invalid UTF-8>`.
2024-03-10 11:23:42 +01:00
Dennis Felsing bb4dd092d8
Merge pull request #8077 from Robyt3/Graphics-ImageData-uint8_t
Use `uint8_t *` consistently for raw image data
2024-03-09 13:54:11 +00:00
Robert Müller b67263107d Use uint8_t * consistently for raw image data
Previously, usage of `void *`, `unsigned char *` and `uint8_t *` was mixed in various places for pointers to raw image data and the pointers ended up being cast to `uint8_t *` at some point anyway. Now only `uint8_t *` is used consistently, which improves type safety and readability. Casts to `uint8_t *` are now only necessary when using `malloc` or when reading data from a map.
2024-03-09 13:31:53 +01:00