Commit graph

20825 commits

Author SHA1 Message Date
Robert Müller 85b836723a
Merge pull request #9136 from KebsCS/pr-hook-coll-preview
Add hook collisions preview
2024-10-10 20:43:26 +00:00
KebsCS bfe2e4dc80
Add hook collisions preview 2024-10-10 22:23:03 +02:00
Robert Müller f2090d6551
Merge pull request #8961 from KebsCS/pr-teleport-numbers
Change editor teleport number behavior
2024-10-10 17:26:51 +00:00
furo a4bb1ec0dc Don't check sv_rescue_delay in practice 2024-10-10 15:39:47 +02:00
Dennis Felsing 56737ccc1c
Merge pull request #9130 from ChillerDragon/pr_clang_data_pointer
Use .data() in mysql code for better readability
2024-10-10 09:58:48 +00:00
KebsCS a2fedd0589
Change editor teleport number behavior 2024-10-10 01:34:39 +02:00
ChillerDragon 1bf350c6f8 Use .data() in mysql code for better readability
Fixes https://clang.llvm.org/extra/clang-tidy/checks/readability/container-data-pointer.html
2024-10-10 08:18:51 +09:00
Robert Müller 181b6d8b9c Improve skin downloading: load from downloadedskins if possible
Previously, skins not found in the `skins` folder were downloaded from the configured URL and saved to the `downloadedskins` folder, but the saved files were never used, leading to wasted downloads and write operations.

Now, if a skin to be downloaded already exists in the `downloadedskins` folder, the modified time of the skin file is determined and included in the HTTP GET request as `If-Modified-Since` header. If the file was not modified on the server since that time, the server will answer with status 304 Not Modified and an empty response body, in which case the existing skin file is loaded. If the skin file was modified, then it will be downloaded like usual. The download will also be retried without including the `If-Modified-Since` header, if the local file is more recent but it failed to be loaded. If a skin could not be downloaded when it should but a file already exists in the `downloadedskins` folder then that file will be loaded instead.

Instead of checking whether the number of skins is different to determine whether to reload the list of skins in the settings menus, the last time that the list of skins was refreshed is now saved and compared, which is more robust. The additional check to refresh the skin list while skins are being downloaded is unnecessary, as any updates to the skin list are now covered by checking the last refresh time.
2024-10-09 22:56:44 +02:00
Dennis Felsing 76e7317685
Merge pull request #9114 from Pioooooo/infjump-command
Add rcon commands (un)infinite_jump, practice commands /(un)infjump
2024-10-09 20:27:03 +00:00
Emir Marincic 94b23af0d0
Merge pull request #9133 from heinrich5991/pr_ddnet_2048_bans
Allow 2048 bans, we hit the limit of 1024…
2024-10-09 19:09:13 +00:00
heinrich5991 7e04b8c521 Allow 2048 bans, we hit the limit of 1024… 2024-10-09 20:47:20 +02:00
Dennis Felsing a9e52d2b7b
Merge pull request #9131 from ChillerDragon/pr_fix_mysql_null_bind
Fix empty vector element access in mysql prepare
2024-10-09 07:33:42 +00:00
ChillerDragon f7955a50e6 Fix empty vector element access in mysql prepare
If the sql statement does not contain placeholders
``NumParameters`` can be empty.

In that case accessing the first element will cause an asan error:

```
runtime error: reference binding to null pointer of type 'st_mysql_bind'
```
2024-10-09 09:48:42 +09:00
Dennis Felsing 4dbf9a1d54
Merge pull request #9025 from dobrykafe/pr-fix-reset-file-crash
Fix `CFGFLAG_STORE` commands not getting stored when executed from reset file
2024-10-08 06:55:59 +00:00
Dennis Felsing 5fd083c674
Merge pull request #9127 from dobrykafe/pr-adjust-console-search
Adjust console search behaviour
2024-10-07 22:20:10 +00:00
dobrykafe bde82d57d9 adjust console search behaviour 2024-10-07 23:45:08 +02:00
Dennis Felsing 46abb54eb3
Merge pull request #9125 from KebsCS/pr-command-argument-validation
Fix color validation in some commands
2024-10-07 14:28:46 +00:00
KebsCS 6d7aeaba1c
Fix color validation in some commands 2024-10-07 16:07:26 +02:00
Dennis Felsing 10df82a93f
Merge pull request #9124 from sjrc6/pr_smooth_expo_ease
Apply exponential easing to smooth camera
2024-10-07 06:39:19 +00:00
Tater b6bc5d1884 apply exponential easing to smooth camera 2024-10-06 22:45:48 -05:00
Dennis Felsing b41512aba0
Merge pull request #8288 from ChillerDragon/pr_add_contributing
Add contribution guidelines (closed #8142)
2024-10-06 21:37:04 +00:00
Robert Müller 0bb829b7b8 Add IStorage::RetrieveTimes function as fs_file_time wrapper 2024-10-06 22:11:13 +02:00
Chiller Dragon 0aa6cfc307 deen's tweaks in CONTRIBUTING.md
Co-authored-by: Dennis Felsing <dennis@felsing.org>
2024-10-06 18:05:47 +08:00
Dennis Felsing a1d7f0f1f0
Merge pull request #9115 from Pioooooo/fix-help-command
Fix /help not printing help for several chat commands
2024-10-05 22:06:54 +00:00
Dennis Felsing c6f2c84194
Merge pull request #9116 from Robyt3/Skin-Name-Length-Constant
Add `MAX_SKIN_LENGTH` constant
2024-10-05 22:06:42 +00:00
Robert Müller 768d95dce4 Add MAX_SKIN_LENGTH constant
Add constant to replace the magic number `24` used for the size of skin names. Skin names in the server info/browser were sized `24 + 1` but the additional byte was unnecessary.
2024-10-05 17:04:40 +02:00
Pioooooo 4f7aa0ed52 Fix /help not printing help for several chat commands and improve help message 2024-10-05 22:47:29 +08:00
Pioooooo 3f676794f6 Add rcon commands (un)infinite_jump, practice commands /(un)infjump 2024-10-05 21:21:13 +08:00
Dennis Felsing bba8223a8d
Merge pull request #9022 from ChillerDragon/pr_whitelist_logger
Whitelist logger valgrind errors
2024-10-05 10:57:55 +00:00
Robert Müller 7a74c05b2d
Merge pull request #9113 from ChillerDragon/pr_san_memcpy_null
Remove null pointer mem copy
2024-10-05 08:38:21 +00:00
ChillerDragon 77cee822a7 Add contribution guidelines
Closed #8142
Closed #7623
2024-10-05 12:54:39 +08:00
ChillerDragon f03ae0cb2f Whitelist logger valgrind errors
This now shows less errors:
```
valgrind --tool=memcheck --gen-suppressions=all --suppressions=../memcheck.supp --leak-check=full --show-leak-kinds=all ./DDNet-Server
```

There are still 3 errors that might not be false positives.

See #8943
2024-10-05 12:30:25 +08:00
ChillerDragon 161adf967e Remove null pointer mem copy
Closed https://github.com/ddnet-insta/ddnet-insta/issues/175
2024-10-05 10:32:17 +08:00
Dennis Felsing dd82b1e25d
Merge pull request #9111 from timakro/pr-add-missing-practice-commands
Add practice commands /totele(cp), /(un)livefreeze, /(un)endless
2024-10-04 23:14:02 +00:00
Tim Schumacher 38d297f367 Add practice commands /totele(cp), /(un)livefreeze, /(un)endless 2024-10-05 00:47:53 +02:00
Dennis Felsing fa285811fa
Merge pull request #9110 from Robyt3/Datafile-Reader-Assertions
Add assertions to `CDataFileReader` checking if file open/closed
2024-10-04 22:34:28 +00:00
Dennis Felsing d51a726129
Merge pull request #9047 from timakro/pr-add-invincible-mode
Add invincible mode
2024-10-04 22:05:09 +00:00
Robert Müller e63d7386be Remove unused datafile reader variable in dummy_map tool 2024-10-04 21:12:54 +02:00
Robert Müller a3b2146a16 Add assertions to CDataFileReader checking if file open/closed
When the datafile is closed, only the `CDataFileReader::Open` and `CDataFileReader::Close` functions may be called. All other functions will now assert instead of returning some default-values if no file is open. The `CDataFileReader::Open` function will now assert if the file is already open instead of implicitly closing the previous one.
2024-10-04 21:12:21 +02:00
Tim Schumacher 5457e8fc3b Render sparkling trail for invincible players 2024-10-04 19:41:30 +02:00
Dennis Felsing a56e5324d8
Merge pull request #9106 from ChillerDragon/pr_break_peer
Break early in peer matching
2024-10-04 07:06:39 +00:00
ChillerDragon 11047d1b80 Break early in peer matching 2024-10-04 14:46:33 +08:00
Dennis Felsing 70afd94982
Merge pull request #9105 from dobrykafe/pr-fix-server-settings-tooltip
Fix server settings command help text overwriting other tooltips
2024-10-03 21:54:10 +00:00
dobrykafe 184f07a912 fix server settings command help text overwriting other tooltips 2024-10-03 21:55:07 +02:00
Dennis Felsing 29523e4972
Merge pull request #9102 from Jupeyy/pr_no_warning_fail
Don't emit a warning if no capable vulkan GPU was found
2024-10-03 11:37:39 +00:00
Jupeyy bbab3478f6
Don't emit a warning to the user if no capable vulkan GPU was found 2024-10-03 11:49:09 +02:00
heinrich5991 154b6d79f7
Merge pull request #9099 from infclass/ddnet-sound-channels
Use CHN_WORLD for MAPSOUNDWORLD and CHN_GLOBAL for MAPSOUNDGLOBAL
2024-10-03 09:22:52 +00:00
Dennis Felsing e61c79ea4c
Merge pull request #9101 from Jupeyy/pr_denylist
Block AMD drivers from after 19.12.1 & before 22.4.1
2024-10-03 09:16:16 +00:00
Jupeyy 47db90d8e9
Block AMD drivers from after 19.12.1 & before 22.4.1 2024-10-03 10:49:58 +02:00
Alexander Akulich 03a06a144d Use CHN_WORLD for MAPSOUNDWORLD and CHN_GLOBAL for MAPSOUNDGLOBAL
The whole idea behind custom sounds was to use them as replacement for
built-in sounds (depending on the gameplay). We have to use the same channels
instead of the MAP (aka 'ambient') channel to have the same volume for both
sets of messages.
Otherwise we have situation of players reporting 'no sound' because they have
`snd_ambient_volume 0` in the configs.

NETMSGTYPE_SV_MAPSOUNDGLOBAL is NETMSGTYPE_SV_SOUNDGLOBAL which uses map
assets as the sounds container. Use the same CSounds::CHN_GLOBAL to make
the sound messages equivalent.

NETEVENTTYPE_MAPSOUNDWORLD is NETEVENTTYPE_SOUNDWORLD which uses map assets
as the sounds container. Use the same CSounds::CHN_WORLD to make the sound
events equivalent.
2024-10-03 03:51:33 +03:00