mirror of
https://github.com/ppy/osu.git
synced 2025-01-27 11:03:22 +08:00
Merge branch 'master' into mania_stage_fix
This commit is contained in:
commit
76eac9057d
@ -1 +1 @@
|
|||||||
Subproject commit 8f36ddab946ff538620081ede7719461d4732b79
|
Subproject commit 26c01ca6069296621f76d8ffbfe31ecf8074c687
|
@ -60,7 +60,10 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables
|
|||||||
Samples = s.Samples,
|
Samples = s.Samples,
|
||||||
SampleControlPoint = s.SampleControlPoint,
|
SampleControlPoint = s.SampleControlPoint,
|
||||||
TimePreempt = s.TimePreempt,
|
TimePreempt = s.TimePreempt,
|
||||||
TimeFadein = s.TimeFadein
|
TimeFadein = s.TimeFadein,
|
||||||
|
HitWindow300 = s.HitWindow300,
|
||||||
|
HitWindow100 = s.HitWindow100,
|
||||||
|
HitWindow50 = s.HitWindow50
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -16,9 +16,9 @@ namespace osu.Game.Rulesets.Osu.Objects
|
|||||||
public const double OBJECT_RADIUS = 64;
|
public const double OBJECT_RADIUS = 64;
|
||||||
|
|
||||||
private const double hittable_range = 300;
|
private const double hittable_range = 300;
|
||||||
private const double hit_window_50 = 150;
|
public double HitWindow50 = 150;
|
||||||
private const double hit_window_100 = 80;
|
public double HitWindow100 = 80;
|
||||||
private const double hit_window_300 = 30;
|
public double HitWindow300 = 30;
|
||||||
|
|
||||||
public float TimePreempt = 600;
|
public float TimePreempt = 600;
|
||||||
public float TimeFadein = 400;
|
public float TimeFadein = 400;
|
||||||
@ -50,13 +50,13 @@ namespace osu.Game.Rulesets.Osu.Objects
|
|||||||
switch (result)
|
switch (result)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
return 300;
|
return hittable_range;
|
||||||
case HitResult.Meh:
|
case HitResult.Meh:
|
||||||
return 150;
|
return HitWindow50;
|
||||||
case HitResult.Good:
|
case HitResult.Good:
|
||||||
return 80;
|
return HitWindow100;
|
||||||
case HitResult.Great:
|
case HitResult.Great:
|
||||||
return 30;
|
return HitWindow300;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -78,6 +78,10 @@ namespace osu.Game.Rulesets.Osu.Objects
|
|||||||
TimePreempt = (float)BeatmapDifficulty.DifficultyRange(difficulty.ApproachRate, 1800, 1200, 450);
|
TimePreempt = (float)BeatmapDifficulty.DifficultyRange(difficulty.ApproachRate, 1800, 1200, 450);
|
||||||
TimeFadein = (float)BeatmapDifficulty.DifficultyRange(difficulty.ApproachRate, 1200, 800, 300);
|
TimeFadein = (float)BeatmapDifficulty.DifficultyRange(difficulty.ApproachRate, 1200, 800, 300);
|
||||||
|
|
||||||
|
HitWindow50 = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 200, 150, 100);
|
||||||
|
HitWindow100 = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 140, 100, 60);
|
||||||
|
HitWindow300 = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 80, 50, 20);
|
||||||
|
|
||||||
Scale = (1.0f - 0.7f * (difficulty.CircleSize - 5) / 5) / 2;
|
Scale = (1.0f - 0.7f * (difficulty.CircleSize - 5) / 5) / 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2018 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using NUnit.Framework;
|
||||||
using OpenTK;
|
using OpenTK;
|
||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
@ -15,6 +16,7 @@ using osu.Game.Screens.Edit.Screens.Compose.Timeline;
|
|||||||
|
|
||||||
namespace osu.Game.Tests.Visual
|
namespace osu.Game.Tests.Visual
|
||||||
{
|
{
|
||||||
|
[Ignore("CI regularly hangs on this TestCase...")]
|
||||||
public class TestCaseWaveform : OsuTestCase
|
public class TestCaseWaveform : OsuTestCase
|
||||||
{
|
{
|
||||||
private readonly Bindable<WorkingBeatmap> beatmapBacking = new Bindable<WorkingBeatmap>();
|
private readonly Bindable<WorkingBeatmap> beatmapBacking = new Bindable<WorkingBeatmap>();
|
||||||
|
@ -287,15 +287,16 @@ namespace osu.Game.Beatmaps
|
|||||||
Import(archive);
|
Import(archive);
|
||||||
|
|
||||||
downloadNotification.State = ProgressNotificationState.Completed;
|
downloadNotification.State = ProgressNotificationState.Completed;
|
||||||
|
currentDownloads.Remove(request);
|
||||||
}, TaskCreationOptions.LongRunning);
|
}, TaskCreationOptions.LongRunning);
|
||||||
|
|
||||||
currentDownloads.Remove(request);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
request.Failure += data =>
|
request.Failure += error =>
|
||||||
{
|
{
|
||||||
|
if (error is OperationCanceledException) return;
|
||||||
|
|
||||||
downloadNotification.State = ProgressNotificationState.Completed;
|
downloadNotification.State = ProgressNotificationState.Completed;
|
||||||
Logger.Error(data, "Failed to get beatmap download information");
|
Logger.Error(error, "Beatmap download failed!");
|
||||||
currentDownloads.Remove(request);
|
currentDownloads.Remove(request);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ namespace osu.Game.Graphics.UserInterface
|
|||||||
|
|
||||||
public Color4 FillColour
|
public Color4 FillColour
|
||||||
{
|
{
|
||||||
set { fill.Colour = value; }
|
set { fill.FadeColour(value, 150, Easing.OutQuint); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public Color4 BackgroundColour
|
public Color4 BackgroundColour
|
||||||
|
@ -16,7 +16,6 @@ using osu.Game.Graphics.Sprites;
|
|||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
using osu.Framework.Input;
|
using osu.Framework.Input;
|
||||||
using osu.Game.Graphics.UserInterface;
|
using osu.Game.Graphics.UserInterface;
|
||||||
using osu.Framework.Logging;
|
|
||||||
using osu.Game.Online.API.Requests;
|
using osu.Game.Online.API.Requests;
|
||||||
using osu.Framework.Configuration;
|
using osu.Framework.Configuration;
|
||||||
using osu.Framework.Audio.Track;
|
using osu.Framework.Audio.Track;
|
||||||
@ -65,11 +64,14 @@ namespace osu.Game.Overlays.Direct
|
|||||||
Colour = Color4.Black.Opacity(0.3f),
|
Colour = Color4.Black.Opacity(0.3f),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private OsuColour colours;
|
||||||
|
|
||||||
[BackgroundDependencyLoader(permitNulls: true)]
|
[BackgroundDependencyLoader(permitNulls: true)]
|
||||||
private void load(BeatmapManager beatmaps, OsuColour colours, BeatmapSetOverlay beatmapSetOverlay)
|
private void load(BeatmapManager beatmaps, OsuColour colours, BeatmapSetOverlay beatmapSetOverlay)
|
||||||
{
|
{
|
||||||
this.beatmaps = beatmaps;
|
this.beatmaps = beatmaps;
|
||||||
this.beatmapSetOverlay = beatmapSetOverlay;
|
this.beatmapSetOverlay = beatmapSetOverlay;
|
||||||
|
this.colours = colours;
|
||||||
|
|
||||||
AddInternal(content = new Container
|
AddInternal(content = new Container
|
||||||
{
|
{
|
||||||
@ -106,6 +108,8 @@ namespace osu.Game.Overlays.Direct
|
|||||||
beatmaps.BeatmapDownloadBegan += attachDownload;
|
beatmaps.BeatmapDownloadBegan += attachDownload;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool DisposeOnDeathRemoval => true;
|
||||||
|
|
||||||
protected override void Dispose(bool isDisposing)
|
protected override void Dispose(bool isDisposing)
|
||||||
{
|
{
|
||||||
base.Dispose(isDisposing);
|
base.Dispose(isDisposing);
|
||||||
@ -180,7 +184,6 @@ namespace osu.Game.Overlays.Direct
|
|||||||
{
|
{
|
||||||
progressBar.Current.Value = 0;
|
progressBar.Current.Value = 0;
|
||||||
progressBar.FadeOut(500);
|
progressBar.FadeOut(500);
|
||||||
Logger.Error(e, "Failed to get beatmap download information");
|
|
||||||
};
|
};
|
||||||
|
|
||||||
request.DownloadProgressed += progress => progressBar.Current.Value = progress;
|
request.DownloadProgressed += progress => progressBar.Current.Value = progress;
|
||||||
@ -188,7 +191,7 @@ namespace osu.Game.Overlays.Direct
|
|||||||
request.Success += data =>
|
request.Success += data =>
|
||||||
{
|
{
|
||||||
progressBar.Current.Value = 1;
|
progressBar.Current.Value = 1;
|
||||||
progressBar.FadeOut(500);
|
progressBar.FillColour = colours.Yellow;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -145,6 +145,12 @@ namespace osu.Game.Overlays.Direct
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void Dispose(bool isDisposing)
|
||||||
|
{
|
||||||
|
base.Dispose(isDisposing);
|
||||||
|
Playing.Value = false;
|
||||||
|
}
|
||||||
|
|
||||||
private TrackLoader trackLoader;
|
private TrackLoader trackLoader;
|
||||||
private AudioManager audio;
|
private AudioManager audio;
|
||||||
|
|
||||||
|
@ -298,7 +298,7 @@ namespace osu.Game.Overlays
|
|||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
var onlineIds = response.Select(r => r.OnlineBeatmapSetID).ToList();
|
var onlineIds = response.Select(r => r.OnlineBeatmapSetID).ToList();
|
||||||
var presentOnlineIds = beatmaps.QueryBeatmapSets(s => onlineIds.Contains(s.OnlineBeatmapSetID)).Select(r => r.OnlineBeatmapSetID).ToList();
|
var presentOnlineIds = beatmaps.QueryBeatmapSets(s => onlineIds.Contains(s.OnlineBeatmapSetID) && !s.DeletePending).Select(r => r.OnlineBeatmapSetID).ToList();
|
||||||
var sets = response.Select(r => r.ToBeatmapSet(rulesets)).Where(b => !presentOnlineIds.Contains(b.OnlineBeatmapSetID)).ToList();
|
var sets = response.Select(r => r.ToBeatmapSet(rulesets)).Where(b => !presentOnlineIds.Contains(b.OnlineBeatmapSetID)).ToList();
|
||||||
|
|
||||||
// may not need scheduling; loads async internally.
|
// may not need scheduling; loads async internally.
|
||||||
|
Loading…
Reference in New Issue
Block a user