Commit graph

20849 commits

Author SHA1 Message Date
Zwelf 73357a45dc
Merge pull request #9020 from ChillerDragon/pr_dbg_sql
Add ``dbg_sql`` config to hide non error sql logs
2024-11-07 22:28:49 +00:00
Dennis Felsing 5d085ede70
Merge pull request #9216 from Robyt3/Client-Map-Background-Fix
Fix incorrect rendering of menu and entities background maps
2024-11-07 20:56:29 +00:00
Robert Müller 1ceb7d0212 Fix incorrect rendering of menu and entities background maps
Load the map images for the menu and entities background maps before the respective map layers. Otherwise, the total number of images is `0` when loading the layers, which causes the images of tiles and quads layers to be considered invalid during the initialization, which results in the wrong tile/quad memory layout being used.

Regression from #9213.
2024-11-07 21:03:45 +01:00
Dennis Felsing 50d8dfeb6a
Merge pull request #9214 from KebsCS/pr-fix-tuning
Fix invalid prediction tuning in tune zone 0
2024-11-07 06:41:50 +00:00
KebsCS eb3b850ba9
Fix invalid prediction tuning in tune zone 0 2024-11-07 00:39:10 +01:00
Dennis Felsing 91ec32b2d7
Merge pull request #9213 from Robyt3/Client-Mapimages-Validation
Improve map image validation
2024-11-06 22:35:29 +00:00
Robert Müller 8f37729f5b Improve map image validation
- Add check for map image data being loaded from map to avoid null pointer access.
- Add check for size of map image data to avoid out-of-bounds reads.
- Add check for map layer item not being found to avoid null pointer access.
- Fix inconsistent handling of layers with invalid images. In some cases only `-1` was considered non-textured whereas all invalid values should be.
- Ensure correct texture is always used for game layers instead of considering the image property of game layers which cannot be set via the map editor.
- Skip loading images which are not used by any quads or tiles layers.
- Replace member variable `m_aTextureUsedByTileOrQuadLayerFlag` with local variable.
- Mark pointers as `const` when possible.
- Avoid C-style casts.
2024-11-06 22:49:09 +01:00
Dennis Felsing fb7d8ab912
Merge pull request #9210 from Robyt3/Client-Mapsounds-Validation
Improve map sound validation and performance
2024-11-06 07:26:24 +00:00
Dennis Felsing b29723dbb5
Merge pull request #9211 from Rei-Tw/bans-find
Implement bans_find command.
2024-11-06 06:51:39 +00:00
Rei-Tw 82b274cc0e Implement bans_find command.
This rcon command simplifies searching for all ban records for a specific IP if the ban list has too many records.
2024-11-06 01:19:23 +01:00
Robert Müller 06fcfe03b0 Improve map sound validation and performance
- Add check for map sound data being loaded from map to avoid null pointer access.
- Add check for size of sound source data to avoid out-of-bounds reads.
- Avoid iterating over all groups and layers and then performing a linear search on the sound queue entries every frame to update the sounds. Instead, store a pointer to the respective `CMapItemGroup` for every queue entry, so iterating over the queue once is enough to update all sound queue entries.
- Move check for sound layer index outside of loop as the value does not change.
- Avoid creating source queue entries for sounds that could not be loaded.
- Mark pointers as `const` when possible.
2024-11-05 22:18:48 +01:00
Dennis Felsing c0ff4c35f4
Merge pull request #9208 from Robyt3/Client-Skin07-FindSkin-Cleanup
Refactor `CSkins7` accessor functions and 0.7 skin json parsing
2024-11-05 07:33:22 +00:00
Robert Müller f0c9faf654 Refactor CSkins7 accessor functions and 0.7 skin json parsing
- Combine `CSkins7::FindSkinPart` and `CSkins7::GetSkinPart` functions into `CSkins7::FindSkinPart` function to simplify the usage.
- Replace `CSkins7::Num` and `CSkins7::Get` functions with `CSkins7::GetSkins` function to return all skins to improve readability using for-each loops.
- Replace `CSkins7::NumSkinPart` and `CSkins7::GetSkinPart` functions with `CSkins7::GetSkinParts` function to return all skin parts to improve readability using for-each loops.
- Add `CSkins7::FindSkinPartOrNullptr` function to find a skin by name or return `nullptr` if it's not found. Let the `CSkins7::FindSkinPart` function return the desired part, then the default part, and lastly the placeholder part.
- Add `CSkins7::FindDefaultSkinPart` function to find the default skin part or placeholder skin part (never `nullptr`).
- Remove redundant check for duplicate skin parts. This is already prevented by the `IStorage::ListDirectory` function.
- Remove separate placeholder skin that was being used to initialized every loaded and created skin.
- Remove unused `CSkins7::GetInitAmount` function.
- Add `CSkins7::InitPlaceholderSkinParts` function to initialize the placeholder skin parts. Keep placeholder skin parts separate from normal skin parts, i.e. not in the vectors of parts.
- Rename `CSkins7::AddSkin` function to `AddSkinFromConfigVariables` for clarity about its behavior.
- Fix `CSkins7::RandomizeSkin` function not terminating if there exist only special skin parts for any part type.
- Add `CSkins7::XmasHatTexture` and `CSkins7::BotDecorationTexture` getter functions instead of exposing the respective member variables.
- Improve validation when parsing 0.7 skin json format. Fail loading and log error messages on invalid skin json files instead of silently loading incorrect/incomplete skins.
2024-11-04 23:03:35 +01:00
Dennis Felsing 15cd607a2d
Merge pull request #9206 from def-/GokturkTalha-master
Gokturk talha master
2024-11-04 09:25:22 +00:00
Dennis Felsing 11c10a5358 Fix CMakeLists.txt 2024-11-04 10:06:28 +01:00
Talha Aygün f64ba64298
azerbaijanese > azerbaijani
azerbaijanese > azerbaijani
2024-11-04 11:41:19 +03:00
Talha Aygün 2b4f32ddfe
Update azerbaijanese.txt 2024-11-04 11:35:07 +03:00
Talha Aygün 24c2bb58e3
Update Turkish translation for 18.7 2024-11-04 11:31:53 +03:00
Dennis Felsing 22571f19fd
Merge pull request #9204 from ChillerDragon/pr_send_pass_on_reconnect
Send password on reconnect
2024-11-04 08:02:31 +00:00
ChillerDragon 3ea862c850 Send password on reconnect
Closed #9201
2024-11-04 08:08:02 +08:00
Dennis Felsing 241e8be4a5
Merge pull request #9199 from Robyt3/Client-Font-Atlas-Cleanup
More efficient glyph uploading, fix crash with very large glyphs and font sizes, refactoring
2024-11-03 21:52:25 +00:00
Robert Müller fe78331e80 More efficient glyph uploading, fix crash with very large glyphs
Avoid using the `m_aaGlyphData` temporary buffer for uploading glyphs. Instead, allocate the required memory for the glyphs directly and allow the graphics backend to take ownership of the buffer when updating text textures. This avoids copying the glyph data into the temporary buffer when uploading individual glyphs.

This also avoids crashes when rendering very large glyphs with large font sizes, due to the buffer `m_aaGlyphData` having a fixed size of `64 * 1024` while the maximum glyph size is not checked. This fixed size could be exceeded with glyphs larger than 256² in rendered dimensions. There should currently be no glyph in our fonts which is that large and also no font size so large that this could happen.
2024-11-03 14:30:38 +01:00
Robert Müller a7a5c0ea7a Add checks for unsupported glyph pixel mode
Skip rendering glyphs which don't use the 1-byte grayscale pixel mode.
2024-11-03 14:30:29 +01:00
Robert Müller f5179df6d0 Avoid unnecessary copy of glyph data for entities text
Copy the glyph data directly from the font bitmap buffer to the target image instead of using `m_aaGlyphData` as a temporary buffer.
2024-11-03 14:30:15 +01:00
Robert Müller eecaf4cdfc Remove redundant BmpWidth/BmpHeight variables
They are identical to the `Width`/`Height` variables which specify the size of the glyph in the atlas texture.
2024-11-03 14:30:06 +01:00
Dennis Felsing 31625d70e3
Merge pull request #9198 from 4ipset111/master
Update russian.txt
2024-11-03 13:07:45 +00:00
4ipset 86a247eea7
Update russian.txt 2024-11-03 12:16:46 +00:00
Dennis Felsing aa80bae690
Merge pull request #9196 from Robyt3/Client-CheckInfo-Delay-Fix
Fix player info being resent too fast/slow depending on FPS
2024-11-02 22:14:27 +00:00
Robert Müller 2a39a1a318 Fix player info being resent too fast/slow depending on FPS
The change info message was being resent too fast/slow because `m_aCheckInfo` was decremented every frame whereas it was intended to be decremented every tick. As `m_aCheckInfo` is set to `Client()->GameTickSpeed()` after sending the info, it's likely that this was intended as one second delay. With debug messages is can be confirmed that the change info message was previously resent more than 10 times per second with high FPS on a local server.

Also fix the info resending delay not being reset when reconnecting a dummy on 0.7 servers.
2024-11-02 11:00:48 +01:00
Dennis Felsing 812da8e13b
Merge pull request #9195 from KebsCS/pr-q-spec
Change default Q bind to /spec
2024-11-02 06:28:01 +00:00
KebsCS b086b2185d
Change default Q bind to /spec 2024-11-02 00:16:03 +01:00
Dennis Felsing 7b4e32cdf2
Merge pull request #9194 from rffontenelle/patch-2
Update brazilian_portuguese.txt
2024-11-01 22:22:35 +00:00
Rafael Fontenelle 71c46077f2
Update brazilian_portuguese.txt 2024-11-01 17:21:49 -03:00
Dennis Felsing e7feb89611
Merge pull request #9193 from Robyt3/UI-Dropdown-Popup-Alignment
Fix alignment of dropdown popup menu with some button widths
2024-11-01 17:27:11 +00:00
Dennis Felsing 2a0f19ddda
Merge pull request #9192 from furo321/swedish-18.7
Update Swedish translations for 18.7
2024-11-01 17:20:39 +00:00
Dennis Felsing e875a75c91
Merge pull request #9191 from Pioooooo/chinese-18.7
Update Chinese translations for 18.7
2024-11-01 17:20:37 +00:00
Dennis Felsing 6d2d529275
Merge pull request #9190 from EGYT5453/ua-18.7
Update Ukrainian l10n (18.7)
2024-11-01 17:20:35 +00:00
Robert Müller d58e043180 Fix alignment of dropdown popup menu with some button widths
Pass the popup menu positions and sizes as `float`s instead of truncating them to `int`s.
2024-11-01 18:04:30 +01:00
furo 6ca58ac069 Update Swedish translations for 18.7 2024-11-01 17:10:19 +01:00
Pioooooo 9a748ab38a Update Chinese translations for 18.7 2024-11-01 15:29:24 +00:00
Andrii 1384990e29
Update Ukrainian l10n (18.7) 2024-11-01 16:13:59 +02:00
Dennis Felsing bb974c94ca
Merge pull request #9188 from Robyt3/Client-Hook-Collision-Width-Fix
Fix upper bound of hook collision line width scrollbar
2024-11-01 12:27:04 +00:00
Robert Müller e965ccdcac Fix upper bound of hook collision line width scrollbar
The maximum value of the config variable is only `20`. Regression from #9138.
2024-11-01 11:00:11 +01:00
Robert Müller 3345bc9da0
Merge pull request #9186 from def-/pr-transl-18.7
Update translations for upcoming 18.7
2024-11-01 09:06:00 +00:00
Dennis Felsing d6e31d35fe Update translations for upcoming 18.7 2024-11-01 09:12:18 +01:00
Dennis Felsing 19aa7fbb77 Version 18.8 2024-11-01 09:11:04 +01:00
Dennis Felsing 0f91b1287d
Merge pull request #9185 from Robyt3/Client-Font-Error
Improve error handling on invalid fonts and font index
2024-11-01 07:50:48 +00:00
Dennis Felsing 6bcf8ead49 Fix clang-tidy 2024-11-01 08:32:26 +01:00
Robert Müller 96eb49ad3f Improve error handling on invalid fonts and font index
Log more detailed error messages when fonts could not be loaded and when the font index is malformed. Show warning popup on client launch if any font failed to load, although this warning won't be readable if all fonts failed to be loaded.
2024-11-01 00:16:14 +01:00
Dennis Felsing f827b6e999
Merge pull request #9183 from KebsCS/pr-fix-command-preview
Fix chat command preview overlap
2024-10-31 21:27:15 +00:00