1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-23 03:02:55 +08:00

Merge branch 'master' into fix-relax-mod-keypresses

This commit is contained in:
Dan Balasescu 2020-03-31 17:55:28 +09:00 committed by GitHub
commit 7ff3a1d28d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 40 additions and 12 deletions

View File

@ -62,6 +62,11 @@ namespace osu.Game.Rulesets.Osu.Skinning
} }
}; };
bool overlayAboveNumber = skin.GetConfig<OsuSkinConfiguration, bool>(OsuSkinConfiguration.HitCircleOverlayAboveNumber)?.Value ?? true;
if (!overlayAboveNumber)
ChangeInternalChildDepth(hitCircleText, -float.MaxValue);
state.BindTo(drawableObject.State); state.BindTo(drawableObject.State);
state.BindValueChanged(updateState, true); state.BindValueChanged(updateState, true);

View File

@ -11,6 +11,7 @@ namespace osu.Game.Rulesets.Osu.Skinning
SliderPathRadius, SliderPathRadius,
AllowSliderBallTint, AllowSliderBallTint,
CursorExpand, CursorExpand,
CursorRotate CursorRotate,
HitCircleOverlayAboveNumber
} }
} }

View File

@ -28,10 +28,11 @@ namespace osu.Game.Scoring.Legacy
{ {
var score = new Score var score = new Score
{ {
ScoreInfo = new ScoreInfo(),
Replay = new Replay() Replay = new Replay()
}; };
WorkingBeatmap workingBeatmap;
using (SerializationReader sr = new SerializationReader(stream)) using (SerializationReader sr = new SerializationReader(stream))
{ {
currentRuleset = GetRuleset(sr.ReadByte()); currentRuleset = GetRuleset(sr.ReadByte());
@ -41,7 +42,7 @@ namespace osu.Game.Scoring.Legacy
var version = sr.ReadInt32(); var version = sr.ReadInt32();
var workingBeatmap = GetBeatmap(sr.ReadString()); workingBeatmap = GetBeatmap(sr.ReadString());
if (workingBeatmap is DummyWorkingBeatmap) if (workingBeatmap is DummyWorkingBeatmap)
throw new BeatmapNotFoundException(); throw new BeatmapNotFoundException();
@ -113,6 +114,10 @@ namespace osu.Game.Scoring.Legacy
CalculateAccuracy(score.ScoreInfo); CalculateAccuracy(score.ScoreInfo);
// before returning for database import, we must restore the database-sourced BeatmapInfo.
// if not, the clone operation in GetPlayableBeatmap will cause a dereference and subsequent database exception.
score.ScoreInfo.Beatmap = workingBeatmap.BeatmapInfo;
return score; return score;
} }

View File

@ -50,7 +50,7 @@ namespace osu.Game.Storyboards.Drawables
AddInternal(Content = new Container<DrawableStoryboardLayer> AddInternal(Content = new Container<DrawableStoryboardLayer>
{ {
Size = new Vector2(640, 480), RelativeSizeAxes = Axes.Both,
Anchor = Anchor.Centre, Anchor = Anchor.Centre,
Origin = Anchor.Centre, Origin = Anchor.Centre,
}); });

View File

@ -8,7 +8,7 @@ using osu.Framework.Graphics.Containers;
namespace osu.Game.Storyboards.Drawables namespace osu.Game.Storyboards.Drawables
{ {
public class DrawableStoryboardLayer : LifetimeManagementContainer public class DrawableStoryboardLayer : CompositeDrawable
{ {
public StoryboardLayer Layer { get; } public StoryboardLayer Layer { get; }
public bool Enabled; public bool Enabled;
@ -23,17 +23,34 @@ namespace osu.Game.Storyboards.Drawables
Origin = Anchor.Centre; Origin = Anchor.Centre;
Enabled = layer.VisibleWhenPassing; Enabled = layer.VisibleWhenPassing;
Masking = layer.Masking; Masking = layer.Masking;
InternalChild = new LayerElementContainer(layer);
} }
[BackgroundDependencyLoader] private class LayerElementContainer : LifetimeManagementContainer
private void load(CancellationToken? cancellationToken)
{ {
foreach (var element in Layer.Elements) private readonly StoryboardLayer storyboardLayer;
{
cancellationToken?.ThrowIfCancellationRequested();
if (element.IsDrawable) public LayerElementContainer(StoryboardLayer layer)
AddInternal(element.CreateDrawable()); {
storyboardLayer = layer;
Width = 640;
Height = 480;
Anchor = Anchor.Centre;
Origin = Anchor.Centre;
}
[BackgroundDependencyLoader]
private void load(CancellationToken? cancellationToken)
{
foreach (var element in storyboardLayer.Elements)
{
cancellationToken?.ThrowIfCancellationRequested();
if (element.IsDrawable)
AddInternal(element.CreateDrawable());
}
} }
} }
} }