Commit graph

20809 commits

Author SHA1 Message Date
Tim Schumacher b564110675 Make invincible players immune to freeze, death and teleport tiles and give them unlimited jumps
Specifically:
* Ignore freeze, deep freeze, deep unfreeze, live freeze, and live unfreeze tiles
* Ignore also the switched variants of those tiles
* Allow movement when deep and live frozen
* Ignore death tiles
* Ignore red tele, blue tele, red checkpoint tele, and blue checkpoint tele tiles
* Unlimited jumps
* Disable /rescue

Switches, doors, draggers, etc. are not disabled for invincible players in this patch
2024-09-26 19:18:52 +02:00
Tim Schumacher f51664e5ce Add rcon command "invincible" which does nothing yet
This commit adds the rcon command "invincible" which toggles the new m_Invincible variable on CCharacterCore. The feature is supposed to be an alterantive to super that is safe for /practice mode. The state of m_Invincible is synchronized to the client via the DDNetCharacter net object. Future commits will change checks for m_Super to check for m_Invincible as well in places where this is safe such as e.g. preventing freezing of the player. The ability to interact with players that are in other teams will remain exclusive to super.
2024-09-26 19:05:03 +02:00
Tim Schumacher a3e19fc39a Make CCharacter::SetSuper() idempotent
Specifically, SetSuper(false) followed by SetSuper(false) should not change teams. The following commit relies on this, but it is generally a good idea to remove this footgun.
2024-09-26 18:57:23 +02:00
Dennis Felsing 89474ae2b0
Merge pull request #9041 from bencie/tee-hover-tooltip
Show skin name as tooltip in friendlist and serverinfo
2024-09-26 01:42:00 +00:00
Dennis Felsing 525803a62b
Merge pull request #9043 from furo321/dont-reset-zoom
Don't reset zoom on team switch
2024-09-26 01:39:14 +00:00
furo 2dcbd5ecbb Don't reset zoom on team switch 2024-09-26 00:09:41 +02:00
heinrich5991 f614277ad8
Merge pull request #9042 from bencie/showothers-direction-alpha
Make cl_show_direction change alpha with cl_show_others_alpha
2024-09-25 16:42:18 +00:00
bencie 36c3656883 Make cl_show_direction change alpha with cl_show_others_alpha 2024-09-25 18:19:45 +02:00
bencie 7de1d3058f Show skin name as tooltip in friendlist and serverinfo 2024-09-25 16:42:10 +02:00
dobrykafe 9630e1658c fix CFGFLAG_STORE commands not getting stored when executed from reset file 2024-09-25 14:32:55 +02:00
heinrich5991 cc6d75d392
Merge pull request #9039 from TsFreddie/leakipfix
Fix Leak IP check
2024-09-25 10:21:35 +00:00
TsFreddie 18ff7f9a5f
Fix Leak IP check 2024-09-25 18:01:24 +08:00
Robert Müller cb4a66aba8
Merge pull request #9031 from ChillerDragon/pr_cfg_layer_selector
Add ``ed_layer_selector`` config to to toggle layer selector feature
2024-09-25 09:02:15 +00:00
ChillerDragon d123aa6741 Add `ed_layer_selector` config to to toggle layer selector feature
Closed #9029
2024-09-25 09:24:52 +08:00
heinrich5991 9298ee485e
Merge pull request #9030 from Robyt3/Android-OpenGL-Default
Use OpenGL ES graphics backend per default on Android
2024-09-24 15:42:10 +00:00
Robert Müller 24ebb54971 Use OpenGL ES graphics backend per default on Android
As Vulkan crashes immediately on launch on a lot of Android devices (for around 15% of users that commented on the Android beta on Discord).

The previous usage of the OpenGL backend in the shortcuts was incorrect, as this backend is not strictly available on Android and the GLES backend should be used instead, as this is also what is displayed in the graphics settings.
2024-09-24 14:26:09 +02:00
Robert Müller 193b33b0d7
Merge pull request #9019 from furo321/center-pivot
Add "center pivot" for quads
2024-09-24 08:50:28 +00:00
Dennis Felsing 09203aee78
Merge pull request #9026 from ChillerDragon/pr_qas_add_layers
Add quick actions for adding sound, switch, front, tune, speedup and tele layers
2024-09-24 02:08:43 +00:00
Dennis Felsing 8715a64b82
Merge pull request #9023 from Robyt3/Sound-Volume-Position-Refactoring
Add volume parameter to sound play functions, fix unused volume, refactoring
2024-09-24 02:05:31 +00:00
ChillerDragon 32d247d2c7 Add quick actions for adding sound, switch, front, tune, speedup and tele layers 2024-09-24 09:48:35 +08:00
furo 2e10e2a9aa Add "center pivot" for quads 2024-09-24 03:17:46 +02:00
Robert Müller cc7aa4cb8e Add volume parameter to sound play functions, fix unused volume
The functions of the client component `CSounds` had a volume parameter which was unused. In some cases, the wrong value (`0`, presumably for the flags) was passed as the volume, which is now changed to `1.0f`. The player ground skid sound was previously set to play only at `0.25f` volume though this parameter was unused, which is also changed to `1.0f` to preserve the historic behavior.

A parameter is added to the engine sound play functions to directly set the volume without having to acquire the lock again.

Fix sound position not being respected for hook hit and ground jump sounds as the position parameter was ignored in the `CSounds::PlayAndRecord` function. Add TODOs for issues with this function for demo recording.

Parameters are ordered consistently and default parameter values are removed.

Duplicate code in the `CSounds` play functions is reduced by reusing the `PlaySample`/`PlaySampleAt` functions.
2024-09-23 21:48:23 +02:00
Robert Müller 986916400d Use vec2s for sound positions
Simply usage and readability of sound functions by using `vec2`s instead of two separate `float`s for positions.
2024-09-23 20:10:19 +02:00
Robert Müller e0e1ef8001 Fix incorrect channel panning value after changing volume
Fix incorrect panning value (`1.0f`) being set for GUI and Global sound channels after sound volume is changed, whereas the panning value is initialized to `0.0f`. Now the panning value is set to `0.0f` consistently. This should not have had any effect, as GUI and Global sounds do not have a position which would be affected by the panning value.
2024-09-23 18:10:06 +02:00
Robert Müller 6c6fd86d1d Remove unnecessary initialization of sound listener position
The initial value is already the zero-position and the listener position is always set while online.
2024-09-23 18:09:55 +02:00
Dennis Felsing f9df4a85be
Merge pull request #9016 from def-/pr-rere
Revert banning old client versions
2024-09-22 14:55:10 +00:00
Dennis Felsing d51c6e65a7
Merge pull request #9015 from Robyt3/Style-Parameter-Class-Struct-Name-Fixes
Remove most clang-tidy parameter and class/struct name exceptions
2024-09-22 14:47:29 +00:00
Dennis Felsing 9c799e7394 Revert "Ban compromised old versions"
This reverts commit db0c83d433.
2024-09-22 16:36:31 +02:00
Dennis Felsing 804d85c7da Revert "Fix 0.7 clients being dropped"
This reverts commit e1b09787ae.
2024-09-22 16:36:26 +02:00
Dennis Felsing 97a84f9cbd
Merge pull request #8985 from ChillerDragon/pr_qa_dl
Add quick action "Delete layer"
2024-09-22 14:29:57 +00:00
Robert Müller 02a66b301a Remove clang-tidy class/struct name exceptions
- `struct EnvelopedQuad` --> `class CEnvelopedQuad`
- `struct MapObject` --> `class CMapObject`
2024-09-22 16:03:15 +02:00
Robert Müller fd33f0fc1a Remove most clang-tidy parameter name exceptions
- `maxModes` --> `MaxModesAvailable` (`MaxModes` is already used differently)
- `numModes` --> `NumModesInserted` (`NumModes` is already used differently)
- `mode` --> `Mode`
- `rgb` --> `Color`
- `png_ptr` --> `pPngStruct`
- `error_msg` --> `pErrorMessage`
- `warning_msg` --> `pWarningMessage`
- `sw` --> `SubWidth`
- `sh` --> `SubHeight`
- `lhs` --> `Lhs`
- `rhs` --> `Rhs`
- `object` --> `pObject`
- `index` --> `pIndex`/`Index`
- `array` --> `pArray`
- `string` --> `pString`
- `integer` --> `pInteger`
- `boolean` --> `pBoolean`
- `p` --> `pObj`
- `id` --> `Id`/`Index`
- `width` --> `Width`
- `height` --> `Height`
- `ownId` --> `OwnId`
- `xoff` --> `OffsetX`
- `yoff` --> `OffsetY`
- `pos0` --> `Pos0`
- `pos1` --> `Pos1`
- `fnMatchCallback` --> `pfnMatchCallback`
- `dx` --> `DeltaX`
- `dy` --> `DeltaY`
- `wx`, `wy` --> `WorldPos` (`vec2` instead of two `float`s)
2024-09-22 15:47:31 +02:00
Dennis Felsing ec768b2269
Merge pull request #9014 from Robyt3/Editor-External-Mapres-Error-Handling
Fix editor crashes when images/sounds cannot be loaded, fix editor crashes with external RGB images
2024-09-22 12:17:13 +00:00
Robert Müller 94a401226d Fix editor crashes when images/sounds cannot be loaded
Show error messages when loading maps, when exporting images/sounds and when embedding images, if images/sounds could not be loaded. Images and sounds not being loaded is supported so the editor can be used to fix maps by removing/replacing the images/sounds.

Saving maps is prevented if embedded images/sounds could not be loaded, as the data is required to save the map.
2024-09-22 11:24:33 +02:00
Robert Müller aea648e44d Fix incorrect image data used when loading external RGB image
The data of `ImgInfo` is freed by the preceding call to `ConvertToRgba`.
2024-09-22 11:24:25 +02:00
Robert Müller 3362b3688a Fix editor crash when saving external RGB images after embedding
Always convert image data to RGBA and dilate if enabled also for external images, as images may be embedded later and should therefore always be in RGBA format.
2024-09-22 11:04:50 +02:00
Dennis Felsing 3d8bb6f3b2
Merge pull request #9012 from ChillerDragon/pr_fix_sixup_drop
Fix 0.7 clients being dropped
2024-09-22 07:05:57 +00:00
ChillerDragon e1b09787ae Fix 0.7 clients being dropped 2024-09-22 14:47:09 +08:00
ChillerDragon 6a2afb6f60 Select previous layer after deletion 2024-09-22 13:15:38 +08:00
ChillerDragon e5fffb0ab8 Add quick action "Delete layer" 2024-09-22 13:12:20 +08:00
Dennis Felsing be74009fbf
Merge pull request #9007 from Learath2/pr_olddomain
Ban compromised old versions
2024-09-21 22:53:05 +00:00
Learath db0c83d433 Ban compromised old versions 2024-09-21 16:07:12 +02:00
Dennis Felsing b34edb64c0
Merge pull request #9005 from Robyt3/Client-Toggle-Fix
Fix `toggle` command always setting value to `1`
2024-09-20 13:12:22 +00:00
Robert Müller e1a21f5a08 Fix toggle command always setting value to 1
Regression from #8971.
2024-09-20 14:35:14 +02:00
Dennis Felsing 034e4971f8
Merge pull request #9003 from Robyt3/Editor-Prompt-Fix
Fix some editor quick actions not being clickable, small refactoring
2024-09-20 09:58:46 +00:00
Robert Müller 7b641526f9 Remove unnecessary Skip and DescColor variables 2024-09-20 11:00:06 +02:00
Robert Müller 9597241a4a Add margin between quick action label and description
Add a small margin between the label and the description, to make sure there is some spacing if both labels had the maximum length.
2024-09-20 11:00:06 +02:00
Robert Müller 30021839c7 Fix some editor quick actions not being clickable
Add separate UI element IDs for the quick action buttons in the prompt dialog, to ensure that the UI element IDs are different from the IDs used for the regular menu buttons. Otherwise, some buttons could not be activated with clicks because the menu button with the same ID was rendered first.

Closes #8998.
2024-09-20 10:59:56 +02:00
Dennis Felsing b6f80e5375
Merge pull request #8999 from dobrykafe/pr-listbox-qol
Add support for vertical arrow key navigation in multi-column listboxes
2024-09-20 07:26:10 +00:00
Dennis Felsing 5558a69e1c
Merge pull request #9001 from ChillerDragon/pr_dm_plus_colors
Change color of non standard vanilla gametypes
2024-09-20 07:00:23 +00:00