Commit graph

18760 commits

Author SHA1 Message Date
Robert Müller c31f82a9e9 Refactor graphics SetColor functions
Reduce duplicate code.

Replace `clampf` function with `NormalizeColorComponent` function that convert color component from `float` to `unsigned char`.

Use `size_t` instead of `int`.
2023-12-23 17:56:52 +01:00
Robert Müller 8f3d09eb29
Merge pull request #7698 from archimede67/use-editor-components
Use `CEditorComponent` methods instead of only `CMapView`
2023-12-23 15:47:45 +00:00
Corantin H 5599de3153 Use CEditorComponent methods instead of only CMapView
Small changes to `CEditorObject`
2023-12-23 14:45:36 +01:00
Dennis Felsing 88ee156646
Merge pull request #7695 from Robyt3/Skin-Favorites-Escaping
Check for valid favorite skin name, minor refactoring
2023-12-22 23:06:33 +00:00
Robert Müller fa0b218eed Use str_copy instead of mem_copy for skin names
The `mem_copy` function does not respect zero termination so it reads beyond the size of the source buffer, if it's smaller than the destination buffer.
2023-12-22 22:14:15 +01:00
Robert Müller 32b32d7052 Remove unnecessary checks for number of command arguments
The argument of `add_favorite_skin` and `remove_favorite_skin` is mandatory, so the callback will never be called without it.
2023-12-22 22:13:58 +01:00
Robert Müller 6fc3470a8d Check for valid favorite skin name, add CSkin::IsValidName
Favorite skin names were previously not escaped as intended when saving, as the variable `aNameEscaped` was unused so the original skin name was saved instead of the escaped one. Escaping is not really necessary, as skins should not contain `\` and `"` anyway and it was only possible to add such favorites through the console or config files. Instead of escaping the favorite skin names when saving, now favorite skin names are validated when they are added so no escaping is necessary. Skins names are considered valid when they have a length of 1-23 bytes and don't contain the characters `/`, `\` and `"`.
2023-12-22 22:13:33 +01:00
Dennis Felsing e26ae3ae99
Merge pull request #7694 from archimede67/fix-map-settings
Fix wrong value type for some map settings in `gamecontext.cpp`
2023-12-22 17:34:23 +00:00
Corantin H 34a26daeba Fix wrong value type for some map settings in gamecontext.cpp
Fix some help texts starting with a lowercase character
2023-12-22 18:15:37 +01:00
Dennis Felsing 3fa130f3b3
Merge pull request #7693 from Robyt3/Tools-Invalid-Map-Item-Fixes
Fix map tools crashing on maps with unknown UUID-based map items
2023-12-22 15:21:20 +00:00
Robert Müller a9e7926c29 Fix map tools crashing on maps with unknown UUID-based map items
All `map_*` tools were crashing with the assertion `Invalid type` when used on maps that contain unknown UUID-based map items. When the UUID cannot be resolved, the type `-1` is returned by the `GetItem` function. The assertion predates UUID map items, so this crash has likely existed since the introduction of UUID map items. The editor was not affected and has instead always discarded map items that it does not support. The tools will now also discard map items with unknown UUIDs.

See #7669.
2023-12-22 16:00:24 +01:00
Dennis Felsing d05269154e
Merge pull request #7690 from Robyt3/Graphics-QuadsTex3DDrawTL-Refactor
Avoid duplicate calculation in `QuadsTex3DDrawTL`
2023-12-21 23:22:13 +00:00
Robert Müller 45ced1f499 Avoid duplicate calculation in QuadsTex3DDrawTL
Only calculate `CurIndex` value once outside of loop instead of calculating it every iteration.
2023-12-21 22:04:40 +01:00
Dennis Felsing 69b141b71a
Merge pull request #7688 from archimede67/fix-console-selection-2
Fix console selection being moved when keeping scroll offset
2023-12-21 07:54:08 +00:00
Corantin H 949eea08df Do not adjust console selection when keeping scroll offset
Also decrease `m_NewLineCounter` by the entry line count.
2023-12-21 00:22:12 +01:00
Dennis Felsing e0052c3aec
Merge pull request #7686 from Robyt3/Console-Selection-Adjustment-Fix
Fix console selection not adjusted anymore when entries added
2023-12-20 17:47:58 +00:00
Robert Müller d228064361 Fix console selection not adjusted anymore when entries added
The current mouse-based console selection was not being adjusted anymore when new lines are added to the console, as the `m_NewLineCounter` variable was decremented to `0` before the relevant check for `m_NewLineCounter > 0`.
2023-12-20 17:55:10 +01:00
heinrich5991 ddd10f2308
Merge pull request #7648 from dobrykafe/pr-master-info
report the ddrace team to master instead of the normal team
2023-12-20 15:27:32 +00:00
dobrykafe 40d56611ba report ddrace team to master 2023-12-20 16:09:10 +01:00
Edgar 2b344f4a01
Merge pull request #7647 from Robyt3/Server-Votes-Config-Improvement
Improve vote config variable descriptions and value range
2023-12-20 10:41:17 +00:00
Edgar 95cd183e1e
Merge pull request #7681 from Robyt3/Mapitems-Sound-DataSize-Check
Use `GetDataSize` instead of `CMapItemSound::m_SoundDataSize`
2023-12-20 10:37:54 +00:00
Dennis Felsing d7dc8fb889
Merge pull request #7685 from furo321/fix-broken-teams
Add missing return statements to `AttemptJoinTeam`
2023-12-20 08:47:21 +00:00
furo 1c6e629a9b Add missing return statements to AttemptJoinTeam 2023-12-20 04:10:51 +01:00
Dennis Felsing 2fda94aa35
Merge pull request #7684 from Robyt3/Console-Selection-Clear
Clear console selection only when scroll position is changed
2023-12-19 23:58:05 +00:00
Robert Müller 3e89bbb15e Clear console selection only when scroll position is changed
The selection is only cleared because it would be incorrect after scrolling, but it doesn't need to be cleared if the scroll position does not change, e.g. when pressing Home while already at the top of the backlog.
2023-12-19 20:31:22 +01:00
Robert Müller a1b603a424
Merge pull request #7682 from furo321/clamp-volume-env
Clamp volume envelopes between 0.0f and 1.0f
2023-12-18 18:47:57 +00:00
furo fd2582c267 Clamp volume envelopes between 0.0f and 1.0f 2023-12-18 18:35:13 +01:00
Robert Müller aa15d9b19b Use GetDataSize instead of CMapItemSound::m_SoundDataSize
Do not use the `CMapItemSound::m_SoundDataSize` value as it is redundant. This value could also be incorrect because it can be freely set by the map creator (tool).

Instead, use the map/datafile function `GetDataSize` to get the true size of the sound data in the file.

The `m_SoundDataSize` value is still written to map files for compatibility with old versions.
2023-12-18 17:58:42 +01:00
Dennis Felsing f298b28026
Merge pull request #7678 from eghwand/pr_showlocaltimealways_setting
add ui setting for cl_show_local_time_always
2023-12-18 07:56:01 +00:00
Dennis Felsing 173345df74
Merge pull request #7673 from Jupeyy/pr_fix_ms_sample_accuracy
Fix multi sampling accuracy
2023-12-18 07:52:17 +00:00
Dennis Felsing c0ed140a31 Version 17.4.2 2023-12-18 08:58:10 +01:00
Egehan 87063d048c
add ui setting for cl_show_local_time_always 2023-12-17 19:28:35 +03:00
Robert Müller 4ddf1dfdd5
Merge pull request #7674 from furo321/history-login-prompt
Disable cycling through command history when logging in to rcon.
2023-12-17 15:55:04 +00:00
furo 2f89297395 Disable cycling through command history when logging in to rcon. 2023-12-17 15:32:18 +01:00
Chairn d3959e2b0d
Merge pull request #7677 from Robyt3/Tools-Map-Resave-Refactoring
Refactor `map_resave` tool
2023-12-17 13:09:52 +00:00
Chairn 88ce582ada
Merge pull request #7676 from Robyt3/Tools-Demo-Extract-Refactoring
Minor refactoring of `demo_extract_chat` tool
2023-12-17 13:07:54 +00:00
Robert Müller a883018c88 Refactor map_resave tool
Add log messages for errors and success.

Extract function `ResaveMap`.

Ensure reader is closed when writer could not be opened.
2023-12-17 13:23:44 +01:00
Robert Müller 1f5a648600 Minor refactoring of demo_extract_chat tool
Replace unnecessary `gameclient.h` include with more specific includes.

Fix storage creation error message not being logged as the logger was initialized after checking for the failed storage creation. However, in this case we want to avoid non-error log messages so the tool's output is only the extracted demo chat, except in error cases.

Rename `Process` function to `ExtractDemoChat` and make it `static` to avoid exporting it.

Use `log_error` instead of `dbg_msg`.
2023-12-17 12:59:33 +01:00
Jupeyy caecb31751 Fix multi sampling accuracy 2023-12-17 10:39:28 +01:00
heinrich5991 4af28fd2d8
Merge pull request #7672 from furo321/bitwise-instead-of-logical
Fix clang warning `-Wbitwise-instead-of-logical`
2023-12-17 00:11:06 +00:00
furo c984c6895a Fix clang warning -Wbitwise-instead-of-logical 2023-12-17 00:54:23 +01:00
Dennis Felsing 4429347f83
Merge pull request #7662 from furo321/more-team-commands
Add `/join [player]`
2023-12-16 23:45:16 +00:00
Dennis Felsing e689441d14
Merge pull request #7668 from Robyt3/Engine-Notifications-Interface
Add `INotifications` kernel interface
2023-12-16 23:17:18 +00:00
Dennis Felsing 0ce8413570
Merge pull request #7671 from Robyt3/Server-Config-Flags-Cleanup
Remove `CFGFLAG_SAVE` when `CFGFLAG_SERVER` used
2023-12-16 23:16:51 +00:00
Robert Müller eb222ae02a Remove CFGFLAG_SAVE when CFGFLAG_SERVER used
Server variables are currently not saved.
2023-12-16 21:21:03 +01:00
Robert Müller 5f9d6b208c
Merge pull request #7667 from furo321/rest-of-string
Use rest of string parameter for `save_replay`
2023-12-16 18:39:04 +00:00
furo d2efc936cf Use rest of string parameter for save_replay 2023-12-16 19:02:56 +01:00
Robert Müller 013b8dffa5 Add INotifications kernel interface
Add a proper kernel interface `INotifications` for the notifications component instead of using a C style interface.

Add parameter for the application name when initializing notifications to avoid hardcoding the application name.

The implementation for macOS is kept in Objective-C and a TODO is added, as the API we are currently using appears to be deprecated.
2023-12-16 18:15:43 +01:00
Robert Müller b067ccafc6 Improve vote config variable descriptions and value range
Closes #7584.
2023-12-16 18:01:06 +01:00
furo 67c101b43d Add /join [player]. 2023-12-16 17:33:10 +01:00