mirror of
https://github.com/ppy/osu.git
synced 2026-05-26 08:50:00 +08:00
941a4d8994
Internal offset adjust is based on [survey results](https://docs.google.com/forms/d/1bWdwN9LPB4dJsqh2NO4z0HBiMiod1k8-tJN5oca-1Iw/edit) results (mean: 17.95, median: 24.5) with slight skewing based on cherry-picking results and personal experiences. For users which have had the setting disabled: <img width="1380" height="774" alt="osu! 2026-05-21 at 09 19 06" src="https://github.com/user-attachments/assets/0526517a-fa0b-485b-ac1b-b61b2fccd2af" /> For users which are already using it: <img width="1380" height="774" alt="osu! 2026-05-21 at 09 20 24" src="https://github.com/user-attachments/assets/1bd77b39-5d75-43e8-8fe1-b324064b25fa" /> Note the button is intentionally hidden to avoid any confusion (it's inverse now, so some users may mistakenly click it). Assume if a user is already on the new engine, they are happy with it. Test migration dialog in startup game flow using: ```diff diff --git a/osu.Game/OsuGame.cs b/osu.Game/OsuGame.cs index 4bd5ab83a3..091af6d428 100644 --- a/osu.Game/OsuGame.cs +++ b/osu.Game/OsuGame.cs @@ -1315,6 +1315,8 @@ protected override void LoadComplete() /// </remarks> private void applyConfigMigrations() { + dialogOverlay.Push(new MigrateNewAudioDialog(true)); + // arrives as 2020.123.0-lazer string rawVersion = LocalConfig.Get<string>(OsuSetting.Version); ``` --------- Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
115 lines
5.3 KiB
C#
115 lines
5.3 KiB
C#
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
|
|
// See the LICENCE file in the repository root for full licence text.
|
|
|
|
using osu.Framework.Localisation;
|
|
|
|
namespace osu.Game.Localisation
|
|
{
|
|
public static class AudioSettingsStrings
|
|
{
|
|
private const string prefix = @"osu.Game.Resources.Localisation.AudioSettings";
|
|
|
|
/// <summary>
|
|
/// "Audio"
|
|
/// </summary>
|
|
public static LocalisableString AudioSectionHeader => new TranslatableString(getKey(@"audio_section_header"), @"Audio");
|
|
|
|
/// <summary>
|
|
/// "Devices"
|
|
/// </summary>
|
|
public static LocalisableString AudioDevicesHeader => new TranslatableString(getKey(@"audio_devices_header"), @"Devices");
|
|
|
|
/// <summary>
|
|
/// "Volume"
|
|
/// </summary>
|
|
public static LocalisableString VolumeHeader => new TranslatableString(getKey(@"volume_header"), @"Volume");
|
|
|
|
/// <summary>
|
|
/// "Output device"
|
|
/// </summary>
|
|
public static LocalisableString OutputDevice => new TranslatableString(getKey(@"output_device"), @"Output device");
|
|
|
|
/// <summary>
|
|
/// "Hitsound stereo separation"
|
|
/// </summary>
|
|
public static LocalisableString PositionalLevel => new TranslatableString(getKey(@"positional_hitsound_audio_level"), @"Hitsound stereo separation");
|
|
|
|
/// <summary>
|
|
/// "Master"
|
|
/// </summary>
|
|
public static LocalisableString MasterVolume => new TranslatableString(getKey(@"master_volume"), @"Master");
|
|
|
|
/// <summary>
|
|
/// "Master (window inactive)"
|
|
/// </summary>
|
|
public static LocalisableString MasterVolumeInactive => new TranslatableString(getKey(@"master_volume_inactive"), @"Master (window inactive)");
|
|
|
|
/// <summary>
|
|
/// "Effect"
|
|
/// </summary>
|
|
public static LocalisableString EffectVolume => new TranslatableString(getKey(@"effect_volume"), @"Effect");
|
|
|
|
/// <summary>
|
|
/// "Music"
|
|
/// </summary>
|
|
public static LocalisableString MusicVolume => new TranslatableString(getKey(@"music_volume"), @"Music");
|
|
|
|
/// <summary>
|
|
/// "Offset Adjustment"
|
|
/// </summary>
|
|
public static LocalisableString OffsetHeader => new TranslatableString(getKey(@"offset_header"), @"Offset Adjustment");
|
|
|
|
/// <summary>
|
|
/// "Audio offset"
|
|
/// </summary>
|
|
public static LocalisableString AudioOffset => new TranslatableString(getKey(@"audio_offset"), @"Audio offset");
|
|
|
|
/// <summary>
|
|
/// "Play a few beatmaps to receive a suggested offset!"
|
|
/// </summary>
|
|
public static LocalisableString SuggestedOffsetNote => new TranslatableString(getKey(@"suggested_offset_note"), @"Play a few beatmaps to receive a suggested offset!");
|
|
|
|
/// <summary>
|
|
/// "Based on the last {0} play(s), your offset is set correctly!"
|
|
/// </summary>
|
|
public static LocalisableString SuggestedOffsetCorrect(int plays) => new TranslatableString(getKey(@"suggested_offset_correct"), @"Based on the last {0} play(s), your offset is set correctly!", plays);
|
|
|
|
/// <summary>
|
|
/// "Based on the last {0} play(s), the suggested offset is {1} ms."
|
|
/// </summary>
|
|
public static LocalisableString SuggestedOffsetValueReceived(int plays, LocalisableString value) => new TranslatableString(getKey(@"suggested_offset_value_received"), @"Based on the last {0} play(s), the suggested offset is {1} ms.", plays, value);
|
|
|
|
/// <summary>
|
|
/// "Apply suggested offset"
|
|
/// </summary>
|
|
public static LocalisableString ApplySuggestedOffset => new TranslatableString(getKey(@"apply_suggested_offset"), @"Apply suggested offset");
|
|
|
|
/// <summary>
|
|
/// "Offset wizard"
|
|
/// </summary>
|
|
public static LocalisableString OffsetWizard => new TranslatableString(getKey(@"offset_wizard"), @"Offset wizard");
|
|
|
|
/// <summary>
|
|
/// "Adjust beatmap offset automatically"
|
|
/// </summary>
|
|
public static LocalisableString AdjustBeatmapOffsetAutomatically => new TranslatableString(getKey(@"adjust_beatmap_offset_automatically"), @"Adjust beatmap offset automatically");
|
|
|
|
/// <summary>
|
|
/// "If enabled, the offset suggested from last play on a beatmap is automatically applied."
|
|
/// </summary>
|
|
public static LocalisableString AdjustBeatmapOffsetAutomaticallyTooltip => new TranslatableString(getKey(@"adjust_beatmap_offset_automatically_tooltip"), @"If enabled, the offset suggested from last play on a beatmap is automatically applied.");
|
|
|
|
/// <summary>
|
|
/// "Use legacy audio mode"
|
|
/// </summary>
|
|
public static LocalisableString LegacyAudioLabel => new TranslatableString(getKey(@"legacy_audio_label"), @"Use legacy audio mode");
|
|
|
|
/// <summary>
|
|
/// "Use this if you are experiencing audio issues. Note that audio latency will be higher when this is toggled on."
|
|
/// </summary>
|
|
public static LocalisableString LegacyAudioTooltip => new TranslatableString(getKey(@"legacy_audio_tooltip"), @"Use this if you are experiencing audio issues. Note that audio latency will be higher when this is toggled on.");
|
|
|
|
private static string getKey(string key) => $@"{prefix}:{key}";
|
|
}
|
|
}
|