RobustToolbox icon indicating copy to clipboard operation
RobustToolbox copied to clipboard

Eye zoom should affect audio Z offset, make public audio ZOffset

Open TokenStyle opened this issue 1 year ago • 1 comments

This issue https://github.com/space-wizards/space-station-14/issues/21946 To make it possible, the Robust.Client AudioSystem should have ZOffset public set.

namespace Robust.Client.Audio;
public sealed partial class AudioSystem : SharedAudioSystem
...
public override float ZOffset
{
    get => _zOffset;
    set
    {
        _zOffset = value;
        _audio.SetZOffset(value);

        var query = AllEntityQuery<AudioComponent>();

        while (query.MoveNext(out var audio))
        {
            // Pythagoras back to normal then adjust.
            var maxDistance = GetAudioDistance(audio.Params.MaxDistance);
            var refDistance = GetAudioDistance(audio.Params.ReferenceDistance);

            audio.MaxDistance = maxDistance;
            audio.ReferenceDistance = refDistance;
        }
    }
}

Or another alternative, by making partial class AudioSystem.Public with SetZOffset public method

namespace Robust.Client.Audio;
public sealed partial class AudioSystem
...
public void SetZOffset(float offset)
{
    ZOffset = offset;
}

TokenStyle avatar Aug 11 '24 13:08 TokenStyle

If someone would like, can implement this logic

TokenStyle avatar Aug 11 '24 13:08 TokenStyle