mirror of
https://github.com/osukey/osukey.git
synced 2025-05-29 17:37:23 +09:00
Merge remote-tracking branch 'upstream/master' into judgement-revamp
This commit is contained in:
commit
1194e46ef1
@ -1 +1 @@
|
|||||||
Subproject commit e24d24ae70a78cea5a11635c37d2808d29233e96
|
Subproject commit 1b479fb947da193f099df062f696b3a6164da9e0
|
@ -41,8 +41,20 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
RelativeChildSize = new Vector2(1, 10000),
|
RelativeChildSize = new Vector2(1, 10000),
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
new DrawableNote(new Note { StartTime = 5000 }, ManiaAction.Key1) { AccentColour = Color4.Red },
|
new DrawableNote(new Note(), ManiaAction.Key1)
|
||||||
new DrawableNote(new Note { StartTime = 6000 }, ManiaAction.Key1) { AccentColour = Color4.Red }
|
{
|
||||||
|
Y = 5000,
|
||||||
|
LifetimeStart = double.MinValue,
|
||||||
|
LifetimeEnd = double.MaxValue,
|
||||||
|
AccentColour = Color4.Red
|
||||||
|
},
|
||||||
|
new DrawableNote(new Note(), ManiaAction.Key1)
|
||||||
|
{
|
||||||
|
Y = 6000,
|
||||||
|
LifetimeStart = double.MinValue,
|
||||||
|
LifetimeEnd = double.MaxValue,
|
||||||
|
AccentColour = Color4.Red
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,11 +75,14 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
RelativeChildSize = new Vector2(1, 10000),
|
RelativeChildSize = new Vector2(1, 10000),
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
new DrawableHoldNote(new HoldNote
|
new DrawableHoldNote(new HoldNote(), ManiaAction.Key1)
|
||||||
{
|
{
|
||||||
StartTime = 5000,
|
Y = 5000,
|
||||||
Duration = 1000
|
Height = 1000,
|
||||||
}, ManiaAction.Key1) { AccentColour = Color4.Red }
|
LifetimeStart = double.MinValue,
|
||||||
|
LifetimeEnd = double.MaxValue,
|
||||||
|
AccentColour = Color4.Red
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 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 System;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Extensions.IEnumerableExtensions;
|
using osu.Framework.Extensions.IEnumerableExtensions;
|
||||||
@ -13,6 +14,8 @@ using osu.Game.Rulesets.Mania.Timing;
|
|||||||
using osu.Game.Rulesets.Mania.UI;
|
using osu.Game.Rulesets.Mania.UI;
|
||||||
using osu.Game.Rulesets.Timing;
|
using osu.Game.Rulesets.Timing;
|
||||||
using osu.Game.Rulesets;
|
using osu.Game.Rulesets;
|
||||||
|
using osu.Game.Rulesets.Mania.Judgements;
|
||||||
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
|
|
||||||
namespace osu.Desktop.Tests.Visual
|
namespace osu.Desktop.Tests.Visual
|
||||||
{
|
{
|
||||||
@ -29,6 +32,8 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
|
|
||||||
public TestCaseManiaPlayfield()
|
public TestCaseManiaPlayfield()
|
||||||
{
|
{
|
||||||
|
var rng = new Random(1337);
|
||||||
|
|
||||||
AddStep("1 column", () => createPlayfield(1, SpecialColumnPosition.Normal));
|
AddStep("1 column", () => createPlayfield(1, SpecialColumnPosition.Normal));
|
||||||
AddStep("4 columns", () => createPlayfield(4, SpecialColumnPosition.Normal));
|
AddStep("4 columns", () => createPlayfield(4, SpecialColumnPosition.Normal));
|
||||||
AddStep("Left special style", () => createPlayfield(4, SpecialColumnPosition.Left));
|
AddStep("Left special style", () => createPlayfield(4, SpecialColumnPosition.Left));
|
||||||
@ -43,6 +48,20 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
AddStep("Notes with input (reversed)", () => createPlayfieldWithNotes(false, true));
|
AddStep("Notes with input (reversed)", () => createPlayfieldWithNotes(false, true));
|
||||||
AddStep("Notes with gravity", () => createPlayfieldWithNotes(true));
|
AddStep("Notes with gravity", () => createPlayfieldWithNotes(true));
|
||||||
AddStep("Notes with gravity (reversed)", () => createPlayfieldWithNotes(true, true));
|
AddStep("Notes with gravity (reversed)", () => createPlayfieldWithNotes(true, true));
|
||||||
|
|
||||||
|
AddStep("Hit explosion", () =>
|
||||||
|
{
|
||||||
|
var playfield = createPlayfield(4, SpecialColumnPosition.Normal);
|
||||||
|
|
||||||
|
int col = rng.Next(0, 4);
|
||||||
|
|
||||||
|
var note = new DrawableNote(new Note { Column = col }, ManiaAction.Key1)
|
||||||
|
{
|
||||||
|
AccentColour = playfield.Columns.ElementAt(col).AccentColour
|
||||||
|
};
|
||||||
|
|
||||||
|
playfield.OnJudgement(note, new ManiaJudgement { Result = HitResult.Perfect });
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
@ -56,7 +75,7 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
TimingPoint = { BeatLength = 1000 }
|
TimingPoint = { BeatLength = 1000 }
|
||||||
}, gravity ? ScrollingAlgorithm.Gravity : ScrollingAlgorithm.Basic);
|
}, gravity ? ScrollingAlgorithm.Gravity : ScrollingAlgorithm.Basic);
|
||||||
|
|
||||||
private void createPlayfield(int cols, SpecialColumnPosition specialPos, bool inverted = false)
|
private ManiaPlayfield createPlayfield(int cols, SpecialColumnPosition specialPos, bool inverted = false)
|
||||||
{
|
{
|
||||||
Clear();
|
Clear();
|
||||||
|
|
||||||
@ -72,6 +91,8 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
});
|
});
|
||||||
|
|
||||||
playfield.Inverted.Value = inverted;
|
playfield.Inverted.Value = inverted;
|
||||||
|
|
||||||
|
return playfield;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createPlayfieldWithNotes(bool gravity, bool inverted = false)
|
private void createPlayfieldWithNotes(bool gravity, bool inverted = false)
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 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 System.Collections.Generic;
|
|
||||||
using osu.Desktop.Tests.Beatmaps;
|
using osu.Desktop.Tests.Beatmaps;
|
||||||
using osu.Framework.Allocation;
|
using osu.Framework.Allocation;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
using osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Rulesets;
|
using osu.Game.Rulesets;
|
||||||
using osu.Game.Rulesets.Objects;
|
|
||||||
using osu.Game.Rulesets.Osu.Objects;
|
|
||||||
using osu.Game.Rulesets.Osu.UI;
|
|
||||||
using osu.Game.Screens.Play;
|
using osu.Game.Screens.Play;
|
||||||
using OpenTK;
|
|
||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
|
using osu.Game.Rulesets.Mods;
|
||||||
|
using System.Linq;
|
||||||
|
using osu.Game.Beatmaps.Formats;
|
||||||
|
using System.Text;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
namespace osu.Desktop.Tests.Visual
|
namespace osu.Desktop.Tests.Visual
|
||||||
{
|
{
|
||||||
@ -33,55 +33,739 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
{
|
{
|
||||||
base.LoadComplete();
|
base.LoadComplete();
|
||||||
|
|
||||||
var objects = new List<HitObject>();
|
|
||||||
|
|
||||||
int time = 1500;
|
|
||||||
for (int i = 0; i < 50; i++)
|
|
||||||
{
|
|
||||||
objects.Add(new HitCircle
|
|
||||||
{
|
|
||||||
StartTime = time,
|
|
||||||
Position = new Vector2(i % 4 == 0 || i % 4 == 2 ? 0 : OsuPlayfield.BASE_SIZE.X,
|
|
||||||
i % 4 < 2 ? 0 : OsuPlayfield.BASE_SIZE.Y),
|
|
||||||
NewCombo = i % 4 == 0
|
|
||||||
});
|
|
||||||
|
|
||||||
time += 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
Beatmap b = new Beatmap
|
|
||||||
{
|
|
||||||
HitObjects = objects,
|
|
||||||
BeatmapInfo = new BeatmapInfo
|
|
||||||
{
|
|
||||||
Difficulty = new BeatmapDifficulty(),
|
|
||||||
Ruleset = rulesets.Query<RulesetInfo>().First(),
|
|
||||||
Metadata = new BeatmapMetadata
|
|
||||||
{
|
|
||||||
Artist = @"Unknown",
|
|
||||||
Title = @"Sample Beatmap",
|
|
||||||
Author = @"peppy",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
WorkingBeatmap beatmap = new TestWorkingBeatmap(b);
|
|
||||||
|
|
||||||
Add(new Box
|
Add(new Box
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Framework.Graphics.Axes.Both,
|
RelativeSizeAxes = Framework.Graphics.Axes.Both,
|
||||||
Colour = Color4.Black,
|
Colour = Color4.Black,
|
||||||
});
|
});
|
||||||
|
|
||||||
Add(Player = CreatePlayer(beatmap));
|
foreach (var r in rulesets.Query<RulesetInfo>())
|
||||||
|
AddStep(r.Name, () => loadPlayerFor(r));
|
||||||
|
|
||||||
|
loadPlayerFor(rulesets.Query<RulesetInfo>().First());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual Player CreatePlayer(WorkingBeatmap beatmap)
|
private void loadPlayerFor(RulesetInfo r)
|
||||||
|
{
|
||||||
|
Beatmap beatmap;
|
||||||
|
|
||||||
|
using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(test_beatmap_data)))
|
||||||
|
using (var reader = new StreamReader(stream))
|
||||||
|
beatmap = BeatmapDecoder.GetDecoder(reader).Decode(reader);
|
||||||
|
|
||||||
|
beatmap.BeatmapInfo.Ruleset = r;
|
||||||
|
|
||||||
|
var instance = r.CreateInstance();
|
||||||
|
|
||||||
|
WorkingBeatmap working = new TestWorkingBeatmap(beatmap);
|
||||||
|
working.Mods.Value = new[] { instance.GetAllMods().First(m => m is ModNoFail) };
|
||||||
|
|
||||||
|
if (Player != null)
|
||||||
|
Remove(Player);
|
||||||
|
|
||||||
|
Add(Player = CreatePlayer(working, instance));
|
||||||
|
}
|
||||||
|
|
||||||
|
protected virtual Player CreatePlayer(WorkingBeatmap beatmap, Ruleset ruleset)
|
||||||
{
|
{
|
||||||
return new Player
|
return new Player
|
||||||
{
|
{
|
||||||
InitialBeatmap = beatmap
|
InitialBeatmap = beatmap
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private const string test_beatmap_data =
|
||||||
|
@"osu file format v14
|
||||||
|
|
||||||
|
[General]
|
||||||
|
AudioLeadIn: 500
|
||||||
|
PreviewTime: 53498
|
||||||
|
Countdown: 0
|
||||||
|
SampleSet: Soft
|
||||||
|
StackLeniency: 0.7
|
||||||
|
Mode: 0
|
||||||
|
LetterboxInBreaks: 0
|
||||||
|
WidescreenStoryboard: 1
|
||||||
|
|
||||||
|
[Editor]
|
||||||
|
DistanceSpacing: 1.2
|
||||||
|
BeatDivisor: 4
|
||||||
|
GridSize: 4
|
||||||
|
TimelineZoom: 1
|
||||||
|
|
||||||
|
[Metadata]
|
||||||
|
Title:My Love
|
||||||
|
TitleUnicode:My Love
|
||||||
|
Artist:Kuba Oms
|
||||||
|
ArtistUnicode:Kuba Oms
|
||||||
|
Creator:W h i t e
|
||||||
|
Version:Hard
|
||||||
|
Source:ADHD
|
||||||
|
Tags:Monthly Beatmapping Contest Electronic folk pop w_h_i_t_e
|
||||||
|
BeatmapID:397534
|
||||||
|
BeatmapSetID:163112
|
||||||
|
|
||||||
|
[Difficulty]
|
||||||
|
HPDrainRate:5
|
||||||
|
CircleSize:4
|
||||||
|
OverallDifficulty:6
|
||||||
|
ApproachRate:7
|
||||||
|
SliderMultiplier:1.44
|
||||||
|
SliderTickRate:2
|
||||||
|
|
||||||
|
[Events]
|
||||||
|
//Break Periods
|
||||||
|
2,69870,83770
|
||||||
|
2,152170,158770
|
||||||
|
//Storyboard Layer 0 (Background)
|
||||||
|
//Storyboard Layer 1 (Fail)
|
||||||
|
//Storyboard Layer 2 (Pass)
|
||||||
|
//Storyboard Layer 3 (Foreground)
|
||||||
|
//Storyboard Sound Samples
|
||||||
|
|
||||||
|
[TimingPoints]
|
||||||
|
2170,468.75,4,2,0,40,1,0
|
||||||
|
4045,-100,4,2,0,30,0,0
|
||||||
|
4162,-100,4,2,0,40,0,0
|
||||||
|
5920,-100,4,2,0,30,0,0
|
||||||
|
6037,-100,4,2,0,40,0,0
|
||||||
|
7795,-100,4,2,0,30,0,0
|
||||||
|
7912,-100,4,2,0,40,0,0
|
||||||
|
9670,-100,4,2,0,40,0,0
|
||||||
|
9787,-100,4,2,0,50,0,0
|
||||||
|
11545,-100,4,2,0,40,0,0
|
||||||
|
11662,-100,4,2,0,50,0,0
|
||||||
|
13420,-100,4,2,0,40,0,0
|
||||||
|
13537,-100,4,2,0,50,0,0
|
||||||
|
15295,-100,4,2,0,40,0,0
|
||||||
|
15412,-100,4,2,0,50,0,0
|
||||||
|
17170,-100,4,2,0,40,0,0
|
||||||
|
17287,-100,4,2,0,50,0,0
|
||||||
|
19045,-100,4,2,0,40,0,0
|
||||||
|
19162,-100,4,2,0,50,0,0
|
||||||
|
20920,-100,4,2,0,40,0,0
|
||||||
|
21037,-100,4,2,0,50,0,0
|
||||||
|
22795,-100,4,2,0,40,0,0
|
||||||
|
22912,-100,4,2,0,50,0,0
|
||||||
|
24670,-100,4,2,0,70,0,0
|
||||||
|
37560,-200,4,2,0,30,0,0
|
||||||
|
38263,-200,4,2,0,5,0,0
|
||||||
|
38966,-100,4,2,0,30,0,0
|
||||||
|
39670,-100,4,2,0,70,0,0
|
||||||
|
53732,-100,4,2,0,40,0,0
|
||||||
|
54670,-100,4,2,0,80,0,1
|
||||||
|
55138,-100,4,2,0,60,0,1
|
||||||
|
55255,-100,4,2,0,80,0,1
|
||||||
|
56076,-100,4,2,0,60,0,1
|
||||||
|
56193,-100,4,2,0,80,0,1
|
||||||
|
57013,-100,4,2,0,60,0,1
|
||||||
|
57130,-100,4,2,0,80,0,1
|
||||||
|
57951,-100,4,2,0,60,0,1
|
||||||
|
58068,-100,4,2,0,80,0,1
|
||||||
|
58888,-100,4,2,0,60,0,1
|
||||||
|
59005,-100,4,2,0,80,0,1
|
||||||
|
59826,-100,4,2,0,60,0,1
|
||||||
|
59943,-100,4,2,0,80,0,1
|
||||||
|
60763,-100,4,2,0,60,0,1
|
||||||
|
60880,-100,4,2,0,80,0,1
|
||||||
|
61701,-100,4,2,0,60,0,1
|
||||||
|
61818,-100,4,2,0,80,0,1
|
||||||
|
62638,-100,4,2,0,60,0,1
|
||||||
|
62755,-100,4,2,0,80,0,1
|
||||||
|
63576,-100,4,2,0,60,0,1
|
||||||
|
63693,-100,4,2,0,80,0,1
|
||||||
|
64513,-100,4,2,0,60,0,1
|
||||||
|
64630,-100,4,2,0,80,0,1
|
||||||
|
65451,-100,4,2,0,60,0,1
|
||||||
|
65568,-100,4,2,0,80,0,1
|
||||||
|
66388,-100,4,2,0,60,0,1
|
||||||
|
66505,-100,4,2,0,80,0,1
|
||||||
|
67326,-100,4,2,0,60,0,1
|
||||||
|
67443,-100,4,2,0,80,0,1
|
||||||
|
68263,-100,4,2,0,60,0,1
|
||||||
|
68380,-100,4,2,0,80,0,1
|
||||||
|
69201,-100,4,2,0,60,0,1
|
||||||
|
69318,-100,4,2,0,80,0,1
|
||||||
|
69670,-100,4,2,0,70,0,0
|
||||||
|
84670,-100,4,2,0,70,0,0
|
||||||
|
97560,-200,4,2,0,70,0,0
|
||||||
|
97795,-200,4,2,0,30,0,0
|
||||||
|
98966,-100,4,2,0,30,0,0
|
||||||
|
99670,-100,4,2,0,70,0,0
|
||||||
|
113732,-100,4,2,0,40,0,0
|
||||||
|
114670,-100,4,2,0,80,0,1
|
||||||
|
115138,-100,4,2,0,60,0,1
|
||||||
|
115255,-100,4,2,0,80,0,1
|
||||||
|
116076,-100,4,2,0,60,0,1
|
||||||
|
116193,-100,4,2,0,80,0,1
|
||||||
|
117013,-100,4,2,0,60,0,1
|
||||||
|
117130,-100,4,2,0,80,0,1
|
||||||
|
117951,-100,4,2,0,60,0,1
|
||||||
|
118068,-100,4,2,0,80,0,1
|
||||||
|
118888,-100,4,2,0,60,0,1
|
||||||
|
119005,-100,4,2,0,80,0,1
|
||||||
|
119826,-100,4,2,0,60,0,1
|
||||||
|
119943,-100,4,2,0,80,0,1
|
||||||
|
120763,-100,4,2,0,60,0,1
|
||||||
|
120880,-100,4,2,0,80,0,1
|
||||||
|
121701,-100,4,2,0,60,0,1
|
||||||
|
121818,-100,4,2,0,80,0,1
|
||||||
|
122638,-100,4,2,0,60,0,1
|
||||||
|
122755,-100,4,2,0,80,0,1
|
||||||
|
123576,-100,4,2,0,60,0,1
|
||||||
|
123693,-100,4,2,0,80,0,1
|
||||||
|
124513,-100,4,2,0,60,0,1
|
||||||
|
124630,-100,4,2,0,80,0,1
|
||||||
|
125451,-100,4,2,0,60,0,1
|
||||||
|
125568,-100,4,2,0,80,0,1
|
||||||
|
126388,-100,4,2,0,60,0,1
|
||||||
|
126505,-100,4,2,0,80,0,1
|
||||||
|
127326,-100,4,2,0,60,0,1
|
||||||
|
127443,-100,4,2,0,80,0,1
|
||||||
|
128263,-100,4,2,0,60,0,1
|
||||||
|
128380,-100,4,2,0,80,0,1
|
||||||
|
129201,-100,4,2,0,60,0,1
|
||||||
|
129318,-100,4,2,0,80,0,1
|
||||||
|
129670,-200,4,2,0,40,0,0
|
||||||
|
144670,-133.333333333333,4,2,0,40,0,0
|
||||||
|
159670,-133.333333333333,4,2,0,40,0,0
|
||||||
|
163420,-133.333333333333,4,2,0,45,0,0
|
||||||
|
163888,-125,4,2,0,50,0,0
|
||||||
|
164357,-117.647058823529,4,2,0,55,0,0
|
||||||
|
164826,-111.111111111111,4,2,0,60,0,0
|
||||||
|
165295,-105.263157894737,4,2,0,65,0,0
|
||||||
|
165763,-100,4,2,0,70,0,0
|
||||||
|
166232,-100,4,2,0,40,0,0
|
||||||
|
167170,-100,4,2,0,80,0,1
|
||||||
|
167638,-100,4,2,0,60,0,1
|
||||||
|
167755,-100,4,2,0,80,0,1
|
||||||
|
168576,-100,4,2,0,60,0,1
|
||||||
|
168693,-100,4,2,0,80,0,1
|
||||||
|
169513,-100,4,2,0,60,0,1
|
||||||
|
169630,-100,4,2,0,80,0,1
|
||||||
|
170451,-100,4,2,0,60,0,1
|
||||||
|
170568,-100,4,2,0,80,0,1
|
||||||
|
171388,-100,4,2,0,60,0,1
|
||||||
|
171505,-100,4,2,0,80,0,1
|
||||||
|
172326,-100,4,2,0,60,0,1
|
||||||
|
172443,-100,4,2,0,80,0,1
|
||||||
|
173263,-100,4,2,0,60,0,1
|
||||||
|
173380,-100,4,2,0,80,0,1
|
||||||
|
174201,-100,4,2,0,60,0,1
|
||||||
|
174318,-100,4,2,0,80,0,1
|
||||||
|
175138,-100,4,2,0,60,0,1
|
||||||
|
175255,-100,4,2,0,80,0,1
|
||||||
|
176076,-100,4,2,0,60,0,1
|
||||||
|
176193,-100,4,2,0,80,0,1
|
||||||
|
177013,-100,4,2,0,60,0,1
|
||||||
|
177130,-100,4,2,0,80,0,1
|
||||||
|
177951,-100,4,2,0,60,0,1
|
||||||
|
178068,-100,4,2,0,80,0,1
|
||||||
|
178888,-100,4,2,0,60,0,1
|
||||||
|
179005,-100,4,2,0,80,0,1
|
||||||
|
179826,-100,4,2,0,60,0,1
|
||||||
|
179943,-100,4,2,0,80,0,1
|
||||||
|
180763,-100,4,2,0,60,0,1
|
||||||
|
180880,-100,4,2,0,80,0,1
|
||||||
|
180998,-100,4,2,0,80,0,0
|
||||||
|
181466,-100,4,2,0,60,0,0
|
||||||
|
181584,-100,4,2,0,80,0,0
|
||||||
|
181935,-100,4,2,0,80,0,0
|
||||||
|
182170,-100,4,2,0,80,0,1
|
||||||
|
182638,-100,4,2,0,60,0,1
|
||||||
|
182755,-100,4,2,0,80,0,1
|
||||||
|
183576,-100,4,2,0,60,0,1
|
||||||
|
183693,-100,4,2,0,80,0,1
|
||||||
|
184513,-100,4,2,0,60,0,1
|
||||||
|
184630,-100,4,2,0,80,0,1
|
||||||
|
185451,-100,4,2,0,60,0,1
|
||||||
|
185568,-100,4,2,0,80,0,1
|
||||||
|
186388,-100,4,2,0,60,0,1
|
||||||
|
186505,-100,4,2,0,80,0,1
|
||||||
|
187326,-100,4,2,0,60,0,1
|
||||||
|
187443,-100,4,2,0,80,0,1
|
||||||
|
188263,-100,4,2,0,60,0,1
|
||||||
|
188380,-100,4,2,0,80,0,1
|
||||||
|
189201,-100,4,2,0,60,0,1
|
||||||
|
189318,-100,4,2,0,80,0,1
|
||||||
|
190138,-100,4,2,0,60,0,1
|
||||||
|
190255,-100,4,2,0,80,0,1
|
||||||
|
191076,-100,4,2,0,60,0,1
|
||||||
|
191193,-100,4,2,0,80,0,1
|
||||||
|
192013,-100,4,2,0,60,0,1
|
||||||
|
192130,-100,4,2,0,80,0,1
|
||||||
|
192951,-100,4,2,0,60,0,1
|
||||||
|
193068,-100,4,2,0,80,0,1
|
||||||
|
193888,-100,4,2,0,60,0,1
|
||||||
|
194005,-100,4,2,0,80,0,1
|
||||||
|
194826,-100,4,2,0,60,0,1
|
||||||
|
194943,-100,4,2,0,80,0,1
|
||||||
|
195295,-100,4,2,0,50,0,1
|
||||||
|
195529,-100,4,2,0,52,0,1
|
||||||
|
195646,-100,4,2,0,54,0,1
|
||||||
|
195763,-100,4,2,0,56,0,1
|
||||||
|
195880,-100,4,2,0,58,0,1
|
||||||
|
195998,-100,4,2,0,60,0,1
|
||||||
|
196115,-100,4,2,0,62,0,1
|
||||||
|
196232,-100,4,2,0,64,0,1
|
||||||
|
196349,-100,4,2,0,68,0,1
|
||||||
|
196466,-100,4,2,0,70,0,1
|
||||||
|
196584,-100,4,2,0,72,0,1
|
||||||
|
196701,-100,4,2,0,74,0,1
|
||||||
|
196818,-100,4,2,0,76,0,1
|
||||||
|
196935,-100,4,2,0,78,0,1
|
||||||
|
197052,-100,4,2,0,80,0,1
|
||||||
|
197170,-100,4,2,0,80,0,0
|
||||||
|
197873,-100,4,2,0,60,0,0
|
||||||
|
197990,-100,4,2,0,80,0,0
|
||||||
|
198341,-100,4,2,0,60,0,0
|
||||||
|
199045,-100,4,2,0,80,0,0
|
||||||
|
199279,-100,4,2,0,60,0,0
|
||||||
|
199630,-100,4,2,0,80,0,0
|
||||||
|
200216,-100,4,2,0,60,0,0
|
||||||
|
200334,-100,4,2,0,80,0,0
|
||||||
|
201623,-100,4,2,0,60,0,0
|
||||||
|
201740,-100,4,2,0,80,0,0
|
||||||
|
202326,-100,4,2,0,60,0,0
|
||||||
|
202443,-100,4,2,0,80,0,0
|
||||||
|
203029,-100,4,2,0,60,0,0
|
||||||
|
203498,-100,4,2,0,80,0,0
|
||||||
|
203966,-100,4,2,0,60,0,0
|
||||||
|
204201,-100,4,2,0,80,0,0
|
||||||
|
205373,-100,4,2,0,60,0,0
|
||||||
|
205490,-100,4,2,0,80,0,0
|
||||||
|
205841,-100,4,2,0,60,0,0
|
||||||
|
206076,-100,4,2,0,60,0,0
|
||||||
|
206545,-100,4,2,0,80,0,0
|
||||||
|
206779,-100,4,2,0,60,0,0
|
||||||
|
207130,-100,4,2,0,80,0,0
|
||||||
|
207716,-100,4,2,0,60,0,0
|
||||||
|
207951,-100,4,2,0,80,0,0
|
||||||
|
209123,-100,4,2,0,60,0,0
|
||||||
|
209240,-100,4,2,0,80,0,0
|
||||||
|
209826,-100,4,2,0,60,0,0
|
||||||
|
209943,-100,4,2,0,80,0,0
|
||||||
|
210529,-100,4,2,0,60,0,0
|
||||||
|
210880,-100,4,2,0,80,0,0
|
||||||
|
211232,-100,4,2,0,60,0,0
|
||||||
|
211701,-100,4,2,0,70,0,0
|
||||||
|
212170,-100,4,2,0,80,0,0
|
||||||
|
212873,-100,4,2,0,60,0,0
|
||||||
|
212990,-100,4,2,0,80,0,0
|
||||||
|
213341,-100,4,2,0,60,0,0
|
||||||
|
213576,-100,4,2,0,60,0,0
|
||||||
|
214045,-100,4,2,0,80,0,0
|
||||||
|
214279,-100,4,2,0,60,0,0
|
||||||
|
214630,-100,4,2,0,80,0,0
|
||||||
|
215216,-100,4,2,0,60,0,0
|
||||||
|
215451,-100,4,2,0,80,0,0
|
||||||
|
216623,-100,4,2,0,60,0,0
|
||||||
|
216740,-100,4,2,0,80,0,0
|
||||||
|
217326,-100,4,2,0,60,0,0
|
||||||
|
217443,-100,4,2,0,80,0,0
|
||||||
|
218029,-100,4,2,0,60,0,0
|
||||||
|
218498,-100,4,2,0,80,0,0
|
||||||
|
218732,-100,4,2,0,50,0,0
|
||||||
|
219670,-100,4,2,0,70,0,0
|
||||||
|
220138,-100,4,2,0,65,0,0
|
||||||
|
220373,-100,4,2,0,45,0,0
|
||||||
|
220490,-100,4,2,0,65,0,0
|
||||||
|
220607,-100,4,2,0,60,0,0
|
||||||
|
220841,-100,4,2,0,35,0,0
|
||||||
|
221076,-100,4,2,0,35,0,0
|
||||||
|
221545,-100,4,2,0,50,0,0
|
||||||
|
221779,-100,4,2,0,30,0,0
|
||||||
|
222013,-111.111111111111,4,2,0,25,0,0
|
||||||
|
222130,-111.111111111111,4,2,0,40,0,0
|
||||||
|
222482,-125,4,2,0,40,0,0
|
||||||
|
222716,-125,4,2,0,20,0,0
|
||||||
|
222951,-100,4,2,0,15,0,0
|
||||||
|
223420,-100,4,2,0,30,0,0
|
||||||
|
224357,-100,4,2,0,25,0,0
|
||||||
|
225295,-100,4,2,0,20,0,0
|
||||||
|
226232,-100,4,2,0,15,0,0
|
||||||
|
226701,-100,4,2,0,10,0,0
|
||||||
|
227170,-100,4,2,0,5,0,0
|
||||||
|
|
||||||
|
|
||||||
|
[Colours]
|
||||||
|
Combo1 : 17,254,176
|
||||||
|
Combo2 : 173,255,95
|
||||||
|
Combo3 : 255,88,100
|
||||||
|
Combo4 : 255,94,55
|
||||||
|
|
||||||
|
[HitObjects]
|
||||||
|
320,256,2170,6,0,P|256:284|192:256,1,144,4|0,0:0|0:0,0:0:0:0:
|
||||||
|
144,184,2873,1,0,0:0:0:0:
|
||||||
|
108,260,3107,2,0,P|112:296|100:336,1,72
|
||||||
|
28,288,3576,2,0,P|24:252|36:212,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
76,140,4045,6,0,L|220:136,1,144,4|0,0:0|0:0,0:0:0:0:
|
||||||
|
292,88,4748,1,0,0:0:0:0:
|
||||||
|
292,88,4982,2,0,P|304:120|300:168,1,72
|
||||||
|
388,168,5451,2,0,P|396:133|416:103,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
472,172,5920,6,0,B|470:200|457:222|457:222|488:256|476:308,1,144,4|0,0:0|0:0,0:0:0:0:
|
||||||
|
396,280,6623,1,0,0:0:0:0:
|
||||||
|
324,328,6857,2,0,P|288:332|252:324,1,72
|
||||||
|
180,280,7326,2,0,L|108:284,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
256,192,7795,12,0,9670,0:0:0:0:
|
||||||
|
428,212,10138,1,0,0:0:0:0:
|
||||||
|
292,320,10607,1,0,0:0:0:0:
|
||||||
|
184,184,11076,2,0,L|112:180,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
24,172,11545,5,6,0:0:0:0:
|
||||||
|
160,280,12013,1,0,0:0:0:0:
|
||||||
|
268,144,12482,1,0,0:0:0:0:
|
||||||
|
132,36,12951,2,0,L|204:32,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
284,60,13420,6,0,P|340:100|344:180,2,144,6|0|0,0:0|0:0|0:0,0:0:0:0:
|
||||||
|
268,144,14591,1,0,0:0:0:0:
|
||||||
|
284,228,14826,2,0,P|316:248|364:252,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
436,248,15295,6,0,P|372:272|344:340,1,144,6|2,0:0|0:0,0:0:0:0:
|
||||||
|
168,338,16232,2,0,P|141:273|76:248,1,144,2|2,0:0|0:0,0:0:0:0:
|
||||||
|
4,296,16935,1,0,0:0:0:0:
|
||||||
|
80,336,17170,5,6,0:0:0:0:
|
||||||
|
44,168,17638,1,0,0:0:0:0:
|
||||||
|
212,128,18107,1,0,0:0:0:0:
|
||||||
|
248,296,18576,2,0,P|284:288|320:292,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
400,324,19045,5,6,0:0:0:0:
|
||||||
|
280,200,19513,1,0,0:0:0:0:
|
||||||
|
368,52,19982,1,0,0:0:0:0:
|
||||||
|
488,176,20451,2,0,P|452:168|416:172,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
336,200,20920,6,0,P|284:216|200:192,1,144,6|0,0:0|0:0,0:0:0:0:
|
||||||
|
200,192,21857,2,0,L|204:264,1,72,0|0,0:3|0:0,0:0:0:0:
|
||||||
|
117,244,22326,2,0,L|120:172,1,72,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
40,152,22795,6,0,L|28:296,2,144,6|0|0,0:0|0:0|0:0,0:0:0:0:
|
||||||
|
152,24,24201,1,0,0:0:0:0:
|
||||||
|
220,76,24435,1,0,3:0:0:0:
|
||||||
|
304,56,24670,6,0,P|288:120|296:196,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
344,268,25373,1,0,0:0:0:0:
|
||||||
|
416,316,25607,2,0,P|452:312|508:316,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
244,344,26545,6,0,P|176:356|108:328,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
60,256,27248,1,0,0:0:0:0:
|
||||||
|
36,172,27482,2,0,L|40:100,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
188,252,28420,6,0,P|192:184|196:100,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
140,40,29123,1,0,0:0:0:0:
|
||||||
|
140,40,29357,2,0,B|172:16|220:24|220:24|288:36,1,144,0|2,0:0|0:3,0:0:0:0:
|
||||||
|
364,52,30060,1,0,0:0:0:0:
|
||||||
|
308,116,30295,6,0,B|300:168|300:168|328:256,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
340,340,30998,1,0,0:0:0:0:
|
||||||
|
260,308,31232,2,0,L|188:304,1,72,0|2,0:0|0:3,0:0:0:0:
|
||||||
|
100,296,31701,1,2,0:3:0:0:
|
||||||
|
136,374,31935,1,0,0:0:0:0:
|
||||||
|
152,224,32170,6,0,P|160:152|132:88,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
56,48,32873,1,0,0:0:0:0:
|
||||||
|
60,136,33107,2,0,L|56:208,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
224,76,34045,6,0,P|289:104|360:96,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
432,48,34748,1,0,0:0:0:0:
|
||||||
|
440,132,34982,2,0,B|432:156|432:156|436:204,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
448,304,35920,6,0,B|412:315|380:292|380:292|348:269|312:280,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
332,364,36623,1,0,0:0:0:0:
|
||||||
|
247,339,36857,2,0,P|230:308|225:273,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
312,280,37560,6,0,L|316:172,1,108
|
||||||
|
134,35,38966,5,0,0:0:0:0:
|
||||||
|
72,96,39201,2,0,P|119:119|171:111,1,108,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
192,100,39670,6,0,L|200:172,1,72,4|2,0:0|0:0,0:0:0:0:
|
||||||
|
147,240,40138,2,0,P|133:272|132:308,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
216,292,40607,2,0,B|260:308|260:308|356:292,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
356,292,41310,1,2,0:0:0:0:
|
||||||
|
436,327,41545,6,0,P|441:292|435:257,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
364,204,42013,2,0,P|336:144|352:68,1,144,0|4,1:0|2:3,1:0:0:0:
|
||||||
|
404,0,42716,1,2,0:0:0:0:
|
||||||
|
440,80,42951,2,0,B|464:84|464:84|512:80,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
351,71,43420,6,0,B|296:68|296:68|268:76|268:76|196:72,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
120,68,44123,1,2,0:0:0:0:
|
||||||
|
160,144,44357,2,0,P|172:180|168:232,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
76,264,44826,2,0,P|76:228|88:194,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
160,144,45295,5,4,0:3:0:0:
|
||||||
|
244,164,45529,1,2,0:0:0:0:
|
||||||
|
268,248,45763,2,0,L|344:252,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
408,156,46232,2,0,L|336:159,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
212,72,46701,2,0,L|288:76,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
400,72,47170,6,0,P|464:96|488:172,1,144,4|0,2:0|1:0,1:0:0:0:
|
||||||
|
476,248,47873,1,2,0:0:0:0:
|
||||||
|
436,324,48107,2,0,L|284:320,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
204,316,48810,1,2,0:0:0:0:
|
||||||
|
127,355,49045,6,0,P|120:321|124:285,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
192,232,49513,2,0,L|335:228,1,144,0|4,1:0|2:3,1:0:0:0:
|
||||||
|
412,188,50216,1,2,0:0:0:0:
|
||||||
|
444,108,50451,2,0,P|452:72|448:36,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
368,68,50920,6,0,B|332:79|300:56|300:56|268:33|232:44,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
152,76,51623,1,2,0:0:0:0:
|
||||||
|
76,116,51857,2,0,L|80:268,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
80,260,52560,1,2,0:0:0:0:
|
||||||
|
8,308,52795,6,0,P|34:334|69:346,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
148,312,53263,2,0,P|163:278|162:241,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
156,156,53732,5,0,3:0:0:0:
|
||||||
|
156,156,53966,1,2,0:0:0:0:
|
||||||
|
236,196,54201,2,0,L|312:192,1,72,8|0,0:3|0:0,0:0:0:0:
|
||||||
|
368,256,54670,6,0,P|392:216|352:116,1,144,4|2,0:0|1:2,0:0:0:0:
|
||||||
|
288,92,55373,1,0,0:0:0:0:
|
||||||
|
360,40,55607,2,0,L|432:36,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
288,92,56076,2,0,L|216:88,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
132,72,56545,6,0,P|172:88|200:184,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
143,241,57248,1,0,0:0:0:0:
|
||||||
|
65,202,57482,2,0,P|87:174|119:157,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
132,324,57951,2,0,P|98:312|72:288,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
143,241,58420,6,0,L|288:240,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
372,240,59123,1,0,0:0:0:0:
|
||||||
|
330,314,59357,2,0,P|318:350|322:390,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
452,264,59826,2,0,P|453:228|442:194,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
384,128,60295,6,0,B|336:144|336:144|244:128,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
164,160,60998,2,0,P|160:116|168:88,1,72,0|4,0:0|0:3,0:0:0:0:
|
||||||
|
244,128,61466,2,0,P|248:172|240:200,1,72,0|2,3:0|1:2,0:0:0:0:
|
||||||
|
168,248,61935,1,0,0:0:0:0:
|
||||||
|
120,320,62170,6,0,P|196:328|252:272,2,144,4|2|4,0:3|1:2|0:3,0:0:0:0:
|
||||||
|
80,244,63341,1,0,3:0:0:0:
|
||||||
|
100,160,63576,2,0,L|24:156,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
180,128,64045,6,0,P|249:138|304:94,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
226,57,64748,1,0,0:0:0:0:
|
||||||
|
304,94,64982,2,0,L|300:166,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
377,203,65451,2,0,L|388:132,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
468,180,65920,6,0,L|432:328,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
276,252,66857,2,0,P|208:248|140:280,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
84,344,67560,1,0,0:0:0:0:
|
||||||
|
56,260,67795,6,0,L|52:188,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
168,128,68732,2,0,L|172:56,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
244,168,69435,1,0,0:0:0:0:
|
||||||
|
332,164,69670,1,4,0:3:0:0:
|
||||||
|
208,328,84670,6,0,P|224:264|216:188,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
168,116,85373,1,0,0:0:0:0:
|
||||||
|
96,68,85607,2,0,P|60:72|4:68,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
268,40,86545,6,0,P|336:28|404:56,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
452,128,87248,1,0,0:0:0:0:
|
||||||
|
476,212,87482,2,0,L|472:284,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
324,132,88420,6,0,P|320:200|316:284,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
372,344,89123,1,0,0:0:0:0:
|
||||||
|
372,344,89357,2,0,B|340:368|292:360|292:360|224:348,1,144,0|2,0:0|0:3,0:0:0:0:
|
||||||
|
148,332,90060,1,0,0:0:0:0:
|
||||||
|
204,268,90295,6,0,B|212:216|212:216|184:128,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
172,44,90998,1,0,0:0:0:0:
|
||||||
|
252,76,91232,2,0,L|324:80,1,72,0|2,0:0|0:3,0:0:0:0:
|
||||||
|
412,88,91701,1,2,0:3:0:0:
|
||||||
|
377,9,91935,1,0,0:0:0:0:
|
||||||
|
360,160,92170,6,0,P|352:232|380:296,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
456,336,92873,1,0,0:0:0:0:
|
||||||
|
452,248,93107,2,0,L|456:176,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
288,308,94045,6,0,P|223:280|152:288,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
80,336,94748,1,0,0:0:0:0:
|
||||||
|
72,252,94982,2,0,B|80:228|80:228|76:180,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
64,80,95920,6,0,B|100:69|132:92|132:92|164:115|200:104,1,144,4|2,0:3|0:3,0:0:0:0:
|
||||||
|
180,20,96623,1,0,0:0:0:0:
|
||||||
|
265,45,96857,2,0,P|282:76|287:111,2,72,0|0|2,0:0|0:0|0:3,0:0:0:0:
|
||||||
|
200,104,97560,1,0,0:0:0:0:
|
||||||
|
200,104,97677,1,0,0:0:0:0:
|
||||||
|
200,104,97795,6,0,B|196:142|217:166|217:166|176:180|160:220,1,144,4|0,0:3|0:0,0:0:0:0:
|
||||||
|
240,248,98966,5,0,0:0:0:0:
|
||||||
|
202,325,99201,2,0,P|254:333|301:309,1,108,0|0,0:0|0:0,0:0:0:0:
|
||||||
|
315,292,99670,6,0,L|323:220,1,72,4|2,0:0|0:0,0:0:0:0:
|
||||||
|
365,144,100138,2,0,P|379:112|380:76,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
296,92,100607,2,0,B|252:76|252:76|156:92,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
156,92,101310,1,2,0:0:0:0:
|
||||||
|
76,57,101545,6,0,P|71:92|77:127,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
148,180,102013,2,0,P|176:240|160:316,1,144,0|4,1:0|2:3,1:0:0:0:
|
||||||
|
108,384,102716,1,2,0:0:0:0:
|
||||||
|
72,304,102951,2,0,B|48:300|48:300|0:304,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
161,313,103420,6,0,B|216:316|216:316|244:308|244:308|316:312,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
392,316,104123,1,2,0:0:0:0:
|
||||||
|
352,240,104357,2,0,P|340:204|344:152,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
436,120,104826,2,0,P|436:156|424:190,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
352,240,105295,5,4,0:3:0:0:
|
||||||
|
268,220,105529,1,2,0:0:0:0:
|
||||||
|
244,136,105763,2,0,L|168:132,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
104,228,106232,2,0,L|176:225,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
300,312,106701,2,0,L|224:308,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
112,312,107170,6,0,P|48:288|24:212,1,144,4|0,2:0|1:0,1:0:0:0:
|
||||||
|
36,136,107873,1,2,0:0:0:0:
|
||||||
|
76,60,108107,2,0,L|228:64,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
308,68,108810,1,2,0:0:0:0:
|
||||||
|
385,29,109045,6,0,P|392:63|388:99,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
320,152,109513,2,0,L|177:156,1,144,0|4,1:0|2:3,1:0:0:0:
|
||||||
|
100,196,110216,1,2,0:0:0:0:
|
||||||
|
68,276,110451,2,0,P|60:312|64:348,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
144,316,110920,6,0,B|180:305|212:328|212:328|244:351|280:340,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
360,308,111623,1,2,0:0:0:0:
|
||||||
|
436,268,111857,2,0,L|432:116,1,144,4|0,2:3|1:0,1:0:0:0:
|
||||||
|
432,124,112560,1,2,0:0:0:0:
|
||||||
|
504,76,112795,6,0,P|478:50|443:38,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
364,72,113263,2,0,P|349:106|350:143,1,72,0|2,1:0|0:0,0:0:0:0:
|
||||||
|
356,228,113732,5,0,3:0:0:0:
|
||||||
|
356,228,113966,1,2,0:0:0:0:
|
||||||
|
276,188,114201,2,0,L|200:192,1,72,8|0,0:3|0:0,0:0:0:0:
|
||||||
|
144,128,114670,6,0,P|120:168|160:268,1,144,4|2,0:0|1:2,0:0:0:0:
|
||||||
|
224,292,115373,1,0,0:0:0:0:
|
||||||
|
152,344,115607,2,0,L|80:348,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
224,292,116076,2,0,L|296:296,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
380,312,116545,6,0,P|340:296|312:200,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
369,143,117248,1,0,0:0:0:0:
|
||||||
|
447,182,117482,2,0,P|425:210|393:227,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
380,60,117951,2,0,P|414:72|440:96,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
369,143,118420,6,0,L|224:144,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
140,144,119123,1,0,0:0:0:0:
|
||||||
|
182,70,119357,2,0,P|194:34|190:-6,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
60,120,119826,2,0,P|59:156|70:190,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
128,256,120295,6,0,B|176:240|176:240|268:256,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
348,224,120998,2,0,P|352:268|344:296,1,72,0|4,0:0|0:3,0:0:0:0:
|
||||||
|
268,256,121466,2,0,P|264:212|272:184,1,72,0|2,3:0|1:2,0:0:0:0:
|
||||||
|
344,136,121935,1,0,0:0:0:0:
|
||||||
|
392,64,122170,6,0,P|316:56|260:112,2,144,4|2|4,0:3|1:2|0:3,0:0:0:0:
|
||||||
|
432,140,123341,1,0,3:0:0:0:
|
||||||
|
412,224,123576,2,0,L|488:228,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
332,256,124045,6,0,P|263:246|208:290,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
286,327,124748,1,0,0:0:0:0:
|
||||||
|
208,290,124982,2,0,L|212:218,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
135,181,125451,2,0,L|124:252,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
44,204,125920,6,0,L|80:56,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
236,132,126857,2,0,P|304:136|372:104,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
428,40,127560,1,0,0:0:0:0:
|
||||||
|
456,124,127795,6,0,L|460:196,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
344,256,128732,2,0,L|340:328,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
268,216,129435,1,0,0:0:0:0:
|
||||||
|
180,220,129670,5,4,2:0:0:0:
|
||||||
|
256,40,130373,1,2,0:0:0:0:
|
||||||
|
64,68,131076,1,2,0:0:0:0:
|
||||||
|
92,136,131310,1,0,0:0:0:0:
|
||||||
|
64,204,131545,6,0,L|60:288,1,72
|
||||||
|
31,343,132248,2,0,P|86:345|127:309,1,108
|
||||||
|
332,220,133420,5,2,0:0:0:0:
|
||||||
|
256,40,134123,1,2,0:0:0:0:
|
||||||
|
448,68,134826,1,2,0:0:0:0:
|
||||||
|
420,136,135060,1,0,0:0:0:0:
|
||||||
|
448,204,135295,6,0,L|452:288,1,72,2|0,0:0|0:0,0:0:0:0:
|
||||||
|
480,343,135998,2,0,P|426:345|385:309,1,108
|
||||||
|
256,192,137170,5,2,0:0:0:0:
|
||||||
|
156,360,137873,1,2,0:0:0:0:
|
||||||
|
356,360,138576,2,0,L|352:308,1,36,2|0,0:0|0:0,0:0:0:0:
|
||||||
|
304,268,139045,6,0,P|336:253|372:252,1,72
|
||||||
|
448,260,139748,2,0,L|444:152,1,108
|
||||||
|
256,192,140920,5,2,0:0:0:0:
|
||||||
|
356,24,141623,1,2,0:0:0:0:
|
||||||
|
156,24,142326,2,0,L|160:72,1,36,2|0,0:0|0:0,0:0:0:0:
|
||||||
|
208,116,142795,6,0,P|176:131|140:132,1,72,2|0,0:0|0:0,0:0:0:0:
|
||||||
|
64,124,143498,2,0,L|68:232,1,108
|
||||||
|
68,232,144670,5,4,0:3:0:0:
|
||||||
|
216,320,145138,1,4,0:3:0:0:
|
||||||
|
304,172,145607,1,4,0:3:0:0:
|
||||||
|
156,84,146075,1,4,0:3:0:0:
|
||||||
|
296,320,146545,5,4,0:3:0:0:
|
||||||
|
208,172,147013,1,4,0:3:0:0:
|
||||||
|
356,84,147482,1,4,0:3:0:0:
|
||||||
|
444,232,147950,1,4,0:3:0:0:
|
||||||
|
296,320,148420,6,0,P|252:328|192:296,2,108.000004119873,4|4|4,0:3|0:3|0:3,0:0:0:0:
|
||||||
|
260,248,149591,1,0,0:0:0:0:
|
||||||
|
320,196,149826,2,0,L|316:140,1,54.0000020599366,4|0,0:3|0:0,0:0:0:0:
|
||||||
|
120,236,159670,6,0,L|176:232,1,54.0000020599366,4|0,0:3|0:0,0:0:0:0:
|
||||||
|
160,152,160138,2,0,L|104:156,1,54.0000020599366,2|0,0:0|0:0,0:0:0:0:
|
||||||
|
240,180,160607,2,0,P|292:188|344:172,1,108.000004119873,4|2,0:3|0:0,3:0:0:0:
|
||||||
|
408,120,161310,1,0,3:0:0:0:
|
||||||
|
424,200,161545,6,0,L|420:256,1,54.0000020599366,4|0,0:3|0:0,0:0:0:0:
|
||||||
|
376,320,162013,2,0,P|396:328|480:304,2,108.000004119873,2|6|2,2:0|0:3|2:0,3:0:0:0:
|
||||||
|
312,268,163185,1,0,0:0:0:0:
|
||||||
|
296,348,163420,6,0,L|240:344,1,54.0000020599366,4|0,3:0|3:0,0:0:0:0:
|
||||||
|
160,320,163888,2,0,L|100:316,1,57.6,4|0,3:0|3:0,0:0:0:0:
|
||||||
|
64,232,164357,6,0,L|128:228,1,61.2000011672974,4|0,3:0|3:0,0:0:0:0:
|
||||||
|
204,200,164825,2,0,L|268:196,1,61.2000011672974,4|0,3:0|3:0,0:0:0:0:
|
||||||
|
232,108,165295,6,0,L|164:104,1,68.399998173523,4|0,3:0|3:0,0:0:0:0:
|
||||||
|
80,84,165763,2,0,L|4:80,1,72,4|0,3:0|3:0,0:0:0:0:
|
||||||
|
324,120,167170,6,0,P|388:128|456:92,1,144,4|2,0:0|1:2,0:0:0:0:
|
||||||
|
496,168,167873,1,0,0:0:0:0:
|
||||||
|
496,168,168107,2,0,P|484:204|488:256,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
408,296,168576,2,0,P|398:261|378:231,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
296,200,169045,6,0,B|228:228|156:204,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
84,156,169748,1,0,0:0:0:0:
|
||||||
|
80,244,169982,2,0,L|76:316,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
170,274,170451,2,0,L|156:204,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
216,140,170920,6,0,L|284:276,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
320,344,171623,1,0,0:0:0:0:
|
||||||
|
372,276,171857,2,0,P|366:240|349:207,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
312,132,172326,2,0,L|276:60,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
208,20,172795,6,0,P|272:36|348:12,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
424,48,173498,2,0,L|412:132,1,72,0|4,0:0|0:3,0:0:0:0:
|
||||||
|
484,168,173966,2,0,L|472:252,1,72,0|2,3:0|1:2,0:0:0:0:
|
||||||
|
400,280,174435,1,0,0:0:0:0:
|
||||||
|
346,348,174670,6,0,P|414:363|472:324,2,144,4|2|4,0:3|1:2|0:3,0:0:0:0:
|
||||||
|
312,268,175841,1,0,3:0:0:0:
|
||||||
|
256,336,176076,2,0,L|184:332,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
80,244,176545,6,0,B|140:248|140:248|164:244|164:244|223:247,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
312,268,177248,1,0,0:0:0:0:
|
||||||
|
224,247,177482,2,0,P|240:215|272:187,1,72,4|0,0:3|3:0,0:0:0:0:
|
||||||
|
204,131,177951,2,0,P|233:111|275:103,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
240,23,178420,6,0,B|280:15|316:35|316:35|376:71,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
399,236,179357,2,0,B|359:244|323:224|323:224|263:188,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
204,132,180060,1,0,0:0:0:0:
|
||||||
|
184,216,180295,6,0,L|188:288,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
120,156,180998,1,0,0:0:0:0:
|
||||||
|
56,96,181232,2,0,L|60:24,2,72,4|2|0,0:3|0:0|1:0,0:0:0:0:
|
||||||
|
36,180,181935,1,0,0:0:0:0:
|
||||||
|
100,240,182170,6,0,P|144:300|116:380,2,144,4|2|4,0:0|1:2|0:3,0:0:0:0:
|
||||||
|
60,316,183341,1,0,0:0:0:0:
|
||||||
|
220,352,183576,2,0,L|308:348,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
396,264,184045,6,0,B|336:268|336:268|312:264|312:264|253:267,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
253,267,184748,1,0,0:0:0:0:
|
||||||
|
268,180,184982,2,0,L|339:177,1,72,4|0,0:3|0:0,0:0:0:0:
|
||||||
|
164,280,185451,2,0,L|92:282,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
52,208,185920,6,0,P|8:268|32:344,2,144,4|2|4,0:3|1:2|0:3,0:0:0:0:
|
||||||
|
140,212,187091,1,0,0:0:0:0:
|
||||||
|
92,284,187326,2,0,P|104:316|100:368,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
52,208,187795,6,0,P|48:136|76:72,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
160,52,188498,2,0,P|188:28|220:16,1,72,0|4,0:0|0:3,0:0:0:0:
|
||||||
|
232,100,188966,2,0,P|268:93|301:98,1,72,0|2,0:0|1:2,0:0:0:0:
|
||||||
|
372,152,189435,1,0,0:0:0:0:
|
||||||
|
420,224,189670,6,0,P|428:296|400:360,2,144,4|2|4,0:3|1:2|0:3,0:0:0:0:
|
||||||
|
372,152,190841,1,0,0:0:0:0:
|
||||||
|
392,68,191076,2,0,L|465:64,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
304,92,191545,6,0,P|236:104|168:76,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
108,12,192248,1,0,0:0:0:0:
|
||||||
|
168,76,192482,2,0,L|172:152,1,72,4|0,0:3|0:0,0:0:0:0:
|
||||||
|
80,136,192951,2,0,L|101:204,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
12,220,193420,6,0,B|50:279|50:279|80:300|120:292,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
284,232,194357,2,0,B|320:221|352:244|352:244|384:267|420:256,1,144,4|2,0:3|1:2,0:0:0:0:
|
||||||
|
488,200,195060,1,0,0:0:0:0:
|
||||||
|
507,284,195295,6,0,P|492:315|464:338,1,72,4|0,0:0|0:0,0:0:0:0:
|
||||||
|
380,356,195763,2,0,L|236:352,1,144,0|4,1:0|0:3,0:0:0:0:
|
||||||
|
152,328,196466,1,0,3:0:0:0:
|
||||||
|
64,336,196701,2,0,P|29:325|4:300,1,72,0|0,1:0|0:0,0:0:0:0:
|
||||||
|
76,252,197170,6,0,P|108:188|96:116,1,144,4|0,0:0|1:0,0:0:0:0:
|
||||||
|
36,56,197873,1,2,0:0:0:0:
|
||||||
|
120,32,198107,2,0,L|192:28,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
248,152,199045,6,0,P|280:168|304:196,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
336,277,199513,2,0,P|306:296|269:303,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
183,290,199982,2,0,P|180:254|193:219,2,72,4|2|0,0:3|0:0|1:0,0:0:0:0:
|
||||||
|
436,252,200920,6,0,P|404:188|416:116,1,144,4|0,0:3|1:0,0:0:0:0:
|
||||||
|
476,56,201623,1,2,0:0:0:0:
|
||||||
|
392,32,201857,2,0,L|320:28,2,72,4|0|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
264,152,202795,6,0,P|232:168|208:196,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
176,277,203263,2,0,P|205:296|242:303,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
329,290,203732,2,0,P|331:254|318:219,2,72,4|2|0,0:3|0:0|1:0,0:0:0:0:
|
||||||
|
72,324,204670,6,0,B|60:272|60:272|76:180,1,144,4|0,0:0|1:0,0:0:0:0:
|
||||||
|
92,96,205373,1,2,0:0:0:0:
|
||||||
|
8,124,205607,2,0,P|5:88|14:53,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
168,192,206545,6,0,P|200:174|237:173,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
320,160,207013,2,0,P|318:196|301:229,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
272,307,207482,2,0,P|240:287|221:256,2,72,4|2|0,0:3|0:0|1:0,0:0:0:0:
|
||||||
|
440,324,208420,6,0,B|452:272|452:272|436:180,1,144,4|0,0:3|1:0,0:0:0:0:
|
||||||
|
420,96,209123,1,2,0:0:0:0:
|
||||||
|
504,124,209357,2,0,P|507:88|498:53,2,72,4|0|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
344,192,210295,6,0,P|311:174|274:173,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
190,156,210763,2,0,P|191:192|208:225,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
288,256,211232,1,4,0:3:0:0:
|
||||||
|
132,332,211701,1,0,1:0:0:0:
|
||||||
|
28,192,212170,6,0,P|16:120|44:56,1,144,4|0,0:0|1:0,0:0:0:0:
|
||||||
|
120,16,212873,1,2,0:0:0:0:
|
||||||
|
204,32,213107,2,0,L|304:28,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
192,204,214045,6,0,P|196:240|216:272,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
298,241,214513,2,0,P|327:219|345:186,1,72,6|0,1:2|0:0,0:0:0:0:
|
||||||
|
280,132,214982,2,0,P|246:117|209:118,2,72,4|2|0,0:3|0:0|1:0,0:0:0:0:
|
||||||
|
484,192,215920,6,0,P|496:120|468:56,1,144,4|0,0:3|1:0,0:0:0:0:
|
||||||
|
392,16,216623,1,2,0:0:0:0:
|
||||||
|
308,32,216857,2,0,L|208:28,2,72,4|0|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
320,204,217795,6,0,P|316:240|296:272,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
213,241,218263,2,0,P|184:219|166:186,1,72,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
232,132,218732,2,0,B|260:112|300:116|300:116|384:128,1,144,4|0,0:3|1:0,0:0:0:0:
|
||||||
|
348,336,219670,6,0,B|320:356|280:352|280:352|196:340,1,144,4|0,0:0|1:0,0:0:0:0:
|
||||||
|
124,328,220373,1,2,0:0:0:0:
|
||||||
|
54,276,220607,2,0,P|41:308|39:345,2,72,4|2|2,0:3|0:0|1:2,0:0:0:0:
|
||||||
|
156,80,221545,6,0,L|251:94,1,72,4|2,0:3|0:0,0:0:0:0:
|
||||||
|
212,169,222013,2,0,L|148:160,1,64.799998022461,2|0,1:2|0:0,0:0:0:0:
|
||||||
|
140,240,222482,2,0,L|216:252,2,57.6,4|2|0,0:3|0:0|1:0,0:0:0:0:
|
||||||
|
256,192,223420,12,0,227170,0:0:0:0:
|
||||||
|
";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,9 +2,9 @@
|
|||||||
// 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 osu.Game.Beatmaps;
|
using osu.Game.Beatmaps;
|
||||||
using osu.Game.Rulesets.Mods;
|
using osu.Game.Rulesets;
|
||||||
using osu.Game.Rulesets.Osu.Mods;
|
|
||||||
using osu.Game.Screens.Play;
|
using osu.Game.Screens.Play;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace osu.Desktop.Tests.Visual
|
namespace osu.Desktop.Tests.Visual
|
||||||
{
|
{
|
||||||
@ -12,11 +12,10 @@ namespace osu.Desktop.Tests.Visual
|
|||||||
{
|
{
|
||||||
public override string Description => @"Testing replay playback.";
|
public override string Description => @"Testing replay playback.";
|
||||||
|
|
||||||
protected override Player CreatePlayer(WorkingBeatmap beatmap)
|
protected override Player CreatePlayer(WorkingBeatmap beatmap, Ruleset ruleset)
|
||||||
{
|
{
|
||||||
beatmap.Mods.Value = new Mod[] { new OsuModAutoplay() };
|
beatmap.Mods.Value = beatmap.Mods.Value.Concat(new[] { ruleset.GetAutoplayMod() });
|
||||||
|
return base.CreatePlayer(beatmap, ruleset);
|
||||||
return base.CreatePlayer(beatmap);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,7 @@ namespace osu.Game.Rulesets.Catch.UI
|
|||||||
var additive = createCatcherSprite();
|
var additive = createCatcherSprite();
|
||||||
|
|
||||||
additive.RelativePositionAxes = Axes.Both;
|
additive.RelativePositionAxes = Axes.Both;
|
||||||
additive.BlendingMode = BlendingMode.Additive;
|
additive.Blending = BlendingMode.Additive;
|
||||||
additive.Position = Position;
|
additive.Position = Position;
|
||||||
additive.Scale = Scale;
|
additive.Scale = Scale;
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 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 osu.Framework.Extensions;
|
||||||
using osu.Game.Rulesets.Judgements;
|
using osu.Game.Rulesets.Judgements;
|
||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
|
|
||||||
|
@ -23,8 +23,10 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
private readonly DrawableNote head;
|
private readonly DrawableNote head;
|
||||||
private readonly DrawableNote tail;
|
private readonly DrawableNote tail;
|
||||||
|
|
||||||
|
private readonly GlowPiece glowPiece;
|
||||||
private readonly BodyPiece bodyPiece;
|
private readonly BodyPiece bodyPiece;
|
||||||
private readonly Container<DrawableHoldNoteTick> tickContainer;
|
private readonly Container<DrawableHoldNoteTick> tickContainer;
|
||||||
|
private readonly Container fullHeightContainer;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Time at which the user started holding this hold note. Null if the user is not holding this hold note.
|
/// Time at which the user started holding this hold note. Null if the user is not holding this hold note.
|
||||||
@ -44,13 +46,18 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
|
|
||||||
AddRange(new Drawable[]
|
AddRange(new Drawable[]
|
||||||
{
|
{
|
||||||
// For now the body piece covers the entire height of the container
|
// The hit object itself cannot be used for various elements because the tail overshoots it
|
||||||
// whereas possibly in the future we don't want to extend under the head/tail.
|
// So a specialized container that is updated to contain the tail height is used
|
||||||
// This will be fixed when new designs are given or the current design is finalized.
|
fullHeightContainer = new Container
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.X,
|
||||||
|
Child = glowPiece = new GlowPiece()
|
||||||
|
},
|
||||||
bodyPiece = new BodyPiece
|
bodyPiece = new BodyPiece
|
||||||
{
|
{
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre,
|
Origin = Anchor.TopCentre,
|
||||||
|
RelativeSizeAxes = Axes.X,
|
||||||
},
|
},
|
||||||
tickContainer = new Container<DrawableHoldNoteTick>
|
tickContainer = new Container<DrawableHoldNoteTick>
|
||||||
{
|
{
|
||||||
@ -96,6 +103,7 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
|
|
||||||
tickContainer.Children.ForEach(t => t.AccentColour = value);
|
tickContainer.Children.ForEach(t => t.AccentColour = value);
|
||||||
|
|
||||||
|
glowPiece.AccentColour = value;
|
||||||
bodyPiece.AccentColour = value;
|
bodyPiece.AccentColour = value;
|
||||||
head.AccentColour = value;
|
head.AccentColour = value;
|
||||||
tail.AccentColour = value;
|
tail.AccentColour = value;
|
||||||
@ -106,6 +114,19 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
base.Update();
|
||||||
|
|
||||||
|
// Make the body piece not lie under the head note
|
||||||
|
bodyPiece.Y = head.Height;
|
||||||
|
bodyPiece.Height = DrawHeight - head.Height;
|
||||||
|
|
||||||
|
// Make the fullHeightContainer "contain" the height of the tail note, keeping in mind
|
||||||
|
// that the tail note overshoots the height of this hit object
|
||||||
|
fullHeightContainer.Height = DrawHeight + tail.Height;
|
||||||
|
}
|
||||||
|
|
||||||
public bool OnPressed(ManiaAction action)
|
public bool OnPressed(ManiaAction action)
|
||||||
{
|
{
|
||||||
// Make sure the action happened within the body of the hold note
|
// Make sure the action happened within the body of the hold note
|
||||||
@ -155,6 +176,12 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
|
|
||||||
RelativePositionAxes = Axes.None;
|
RelativePositionAxes = Axes.None;
|
||||||
Y = 0;
|
Y = 0;
|
||||||
|
|
||||||
|
// Life time managed by the parent DrawableHoldNote
|
||||||
|
LifetimeStart = double.MinValue;
|
||||||
|
LifetimeEnd = double.MaxValue;
|
||||||
|
|
||||||
|
GlowPiece.Alpha = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override bool OnPressed(ManiaAction action)
|
public override bool OnPressed(ManiaAction action)
|
||||||
@ -188,6 +215,12 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
|
|
||||||
RelativePositionAxes = Axes.None;
|
RelativePositionAxes = Axes.None;
|
||||||
Y = 0;
|
Y = 0;
|
||||||
|
|
||||||
|
// Life time managed by the parent DrawableHoldNote
|
||||||
|
LifetimeStart = double.MinValue;
|
||||||
|
LifetimeEnd = double.MaxValue;
|
||||||
|
|
||||||
|
GlowPiece.Alpha = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void CheckForJudgements(bool userTriggered, double timeOffset)
|
protected override void CheckForJudgements(bool userTriggered, double timeOffset)
|
||||||
|
@ -23,11 +23,6 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public Func<double?> HoldStartTime;
|
public Func<double?> HoldStartTime;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// References whether the user is currently holding the hold note.
|
|
||||||
/// </summary>
|
|
||||||
public Func<bool> IsHolding;
|
|
||||||
|
|
||||||
private readonly Container glowContainer;
|
private readonly Container glowContainer;
|
||||||
|
|
||||||
public DrawableHoldNoteTick(HoldNoteTick hitObject)
|
public DrawableHoldNoteTick(HoldNoteTick hitObject)
|
||||||
@ -36,9 +31,15 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
Anchor = Anchor.TopCentre;
|
Anchor = Anchor.TopCentre;
|
||||||
Origin = Anchor.TopCentre;
|
Origin = Anchor.TopCentre;
|
||||||
|
|
||||||
|
Y = (float)HitObject.StartTime;
|
||||||
|
|
||||||
RelativeSizeAxes = Axes.X;
|
RelativeSizeAxes = Axes.X;
|
||||||
Size = new Vector2(1);
|
Size = new Vector2(1);
|
||||||
|
|
||||||
|
// Life time managed by the parent DrawableHoldNote
|
||||||
|
LifetimeStart = double.MinValue;
|
||||||
|
LifetimeEnd = double.MaxValue;
|
||||||
|
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
glowContainer = new CircularContainer
|
glowContainer = new CircularContainer
|
||||||
@ -58,9 +59,6 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Set the default glow
|
|
||||||
AccentColour = Color4.White;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Color4 AccentColour
|
public override Color4 AccentColour
|
||||||
@ -108,7 +106,10 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
|
|
||||||
protected override void Update()
|
protected override void Update()
|
||||||
{
|
{
|
||||||
if (IsHolding?.Invoke() != true)
|
if (AllJudged)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if (HoldStartTime?.Invoke() == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
UpdateJudgement(true);
|
UpdateJudgement(true);
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 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 osu.Framework.Graphics;
|
||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
|
|
||||||
@ -19,6 +20,7 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
protected DrawableManiaHitObject(TObject hitObject, ManiaAction? action = null)
|
protected DrawableManiaHitObject(TObject hitObject, ManiaAction? action = null)
|
||||||
: base(hitObject)
|
: base(hitObject)
|
||||||
{
|
{
|
||||||
|
RelativePositionAxes = Axes.Y;
|
||||||
HitObject = hitObject;
|
HitObject = hitObject;
|
||||||
|
|
||||||
if (action != null)
|
if (action != null)
|
||||||
|
@ -16,19 +16,31 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class DrawableNote : DrawableManiaHitObject<Note>, IKeyBindingHandler<ManiaAction>
|
public class DrawableNote : DrawableManiaHitObject<Note>, IKeyBindingHandler<ManiaAction>
|
||||||
{
|
{
|
||||||
|
protected readonly GlowPiece GlowPiece;
|
||||||
|
|
||||||
|
private readonly LaneGlowPiece laneGlowPiece;
|
||||||
private readonly NotePiece headPiece;
|
private readonly NotePiece headPiece;
|
||||||
|
|
||||||
public DrawableNote(Note hitObject, ManiaAction action)
|
public DrawableNote(Note hitObject, ManiaAction action)
|
||||||
: base(hitObject, action)
|
: base(hitObject, action)
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.X;
|
RelativeSizeAxes = Axes.X;
|
||||||
Height = 100;
|
AutoSizeAxes = Axes.Y;
|
||||||
|
|
||||||
Add(headPiece = new NotePiece
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
Anchor = Anchor.TopCentre,
|
laneGlowPiece = new LaneGlowPiece
|
||||||
Origin = Anchor.TopCentre
|
{
|
||||||
});
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre
|
||||||
|
},
|
||||||
|
GlowPiece = new GlowPiece(),
|
||||||
|
headPiece = new NotePiece
|
||||||
|
{
|
||||||
|
Anchor = Anchor.TopCentre,
|
||||||
|
Origin = Anchor.TopCentre
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Color4 AccentColour
|
public override Color4 AccentColour
|
||||||
@ -40,6 +52,8 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
return;
|
return;
|
||||||
base.AccentColour = value;
|
base.AccentColour = value;
|
||||||
|
|
||||||
|
laneGlowPiece.AccentColour = value;
|
||||||
|
GlowPiece.AccentColour = value;
|
||||||
headPiece.AccentColour = value;
|
headPiece.AccentColour = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,12 +77,6 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables
|
|||||||
|
|
||||||
protected override void UpdateState(ArmedState state)
|
protected override void UpdateState(ArmedState state)
|
||||||
{
|
{
|
||||||
switch (State)
|
|
||||||
{
|
|
||||||
case ArmedState.Hit:
|
|
||||||
Colour = Color4.Green;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual bool OnPressed(ManiaAction action)
|
public virtual bool OnPressed(ManiaAction action)
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 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 System;
|
||||||
|
using osu.Framework.Caching;
|
||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
|
using osu.Framework.Extensions.Color4Extensions;
|
||||||
using osu.Framework.Graphics;
|
using osu.Framework.Graphics;
|
||||||
using osu.Framework.Graphics.Containers;
|
using osu.Framework.Graphics.Containers;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
@ -14,22 +17,61 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables.Pieces
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
internal class BodyPiece : Container, IHasAccentColour
|
internal class BodyPiece : Container, IHasAccentColour
|
||||||
{
|
{
|
||||||
private readonly Box box;
|
private readonly Container subtractionLayer;
|
||||||
|
|
||||||
|
private readonly Drawable background;
|
||||||
|
private readonly BufferedContainer foreground;
|
||||||
|
private readonly BufferedContainer subtractionContainer;
|
||||||
|
|
||||||
public BodyPiece()
|
public BodyPiece()
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both;
|
Blending = BlendingMode.Additive;
|
||||||
|
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
box = new Box
|
background = new Box { RelativeSizeAxes = Axes.Both },
|
||||||
|
foreground = new BufferedContainer
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Alpha = 0.3f
|
CacheDrawnFrameBuffer = true,
|
||||||
|
Children = new Drawable[]
|
||||||
|
{
|
||||||
|
new Box { RelativeSizeAxes = Axes.Both },
|
||||||
|
subtractionContainer = new BufferedContainer
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
// This is needed because we're blending with another object
|
||||||
|
BackgroundColour = Color4.White.Opacity(0),
|
||||||
|
CacheDrawnFrameBuffer = true,
|
||||||
|
// The 'hole' is achieved by subtracting the result of this container with the parent
|
||||||
|
Blending = new BlendingParameters { AlphaEquation = BlendingEquation.ReverseSubtract },
|
||||||
|
Child = subtractionLayer = new CircularContainer
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
// Height computed in Update
|
||||||
|
Width = 1,
|
||||||
|
Masking = true,
|
||||||
|
Child = new Box
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Alpha = 0,
|
||||||
|
AlwaysPresent = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void LoadComplete()
|
||||||
|
{
|
||||||
|
base.LoadComplete();
|
||||||
|
|
||||||
|
updateAccentColour();
|
||||||
|
}
|
||||||
|
|
||||||
private Color4 accentColour;
|
private Color4 accentColour;
|
||||||
public Color4 AccentColour
|
public Color4 AccentColour
|
||||||
{
|
{
|
||||||
@ -40,8 +82,51 @@ namespace osu.Game.Rulesets.Mania.Objects.Drawables.Pieces
|
|||||||
return;
|
return;
|
||||||
accentColour = value;
|
accentColour = value;
|
||||||
|
|
||||||
box.Colour = accentColour;
|
updateAccentColour();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Cached subtractionCache = new Cached();
|
||||||
|
|
||||||
|
public override bool Invalidate(Invalidation invalidation = Invalidation.All, Drawable source = null, bool shallPropagate = true)
|
||||||
|
{
|
||||||
|
if ((invalidation & Invalidation.DrawSize) > 0)
|
||||||
|
subtractionCache.Invalidate();
|
||||||
|
|
||||||
|
return base.Invalidate(invalidation, source, shallPropagate);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Update()
|
||||||
|
{
|
||||||
|
base.Update();
|
||||||
|
|
||||||
|
if (!subtractionCache.IsValid)
|
||||||
|
{
|
||||||
|
subtractionLayer.Width = 5;
|
||||||
|
subtractionLayer.Height = Math.Max(0, DrawHeight - DrawWidth);
|
||||||
|
subtractionLayer.EdgeEffect = new EdgeEffectParameters
|
||||||
|
{
|
||||||
|
Colour = Color4.White,
|
||||||
|
Type = EdgeEffectType.Glow,
|
||||||
|
Radius = DrawWidth
|
||||||
|
};
|
||||||
|
|
||||||
|
foreground.ForceRedraw();
|
||||||
|
subtractionContainer.ForceRedraw();
|
||||||
|
|
||||||
|
subtractionCache.Validate();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateAccentColour()
|
||||||
|
{
|
||||||
|
if (!IsLoaded)
|
||||||
|
return;
|
||||||
|
|
||||||
|
foreground.Colour = AccentColour.Opacity(0.4f);
|
||||||
|
background.Colour = AccentColour.Opacity(0.2f);
|
||||||
|
|
||||||
|
subtractionCache.Invalidate();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,65 @@
|
|||||||
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using osu.Framework.Extensions.Color4Extensions;
|
||||||
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Framework.Graphics.Containers;
|
||||||
|
using osu.Framework.Graphics.Shapes;
|
||||||
|
using osu.Game.Graphics;
|
||||||
|
using OpenTK.Graphics;
|
||||||
|
|
||||||
|
namespace osu.Game.Rulesets.Mania.Objects.Drawables.Pieces
|
||||||
|
{
|
||||||
|
public class GlowPiece : CompositeDrawable, IHasAccentColour
|
||||||
|
{
|
||||||
|
private const float glow_alpha = 0.7f;
|
||||||
|
private const float glow_radius = 5;
|
||||||
|
|
||||||
|
public GlowPiece()
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both;
|
||||||
|
Masking = true;
|
||||||
|
|
||||||
|
InternalChild = new Box
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Alpha = 0,
|
||||||
|
AlwaysPresent = true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void LoadComplete()
|
||||||
|
{
|
||||||
|
base.LoadComplete();
|
||||||
|
updateGlow();
|
||||||
|
}
|
||||||
|
|
||||||
|
private Color4 accentColour;
|
||||||
|
public Color4 AccentColour
|
||||||
|
{
|
||||||
|
get { return accentColour; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (accentColour == value)
|
||||||
|
return;
|
||||||
|
accentColour = value;
|
||||||
|
|
||||||
|
updateGlow();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateGlow()
|
||||||
|
{
|
||||||
|
if (!IsLoaded)
|
||||||
|
return;
|
||||||
|
|
||||||
|
EdgeEffect = new EdgeEffectParameters
|
||||||
|
{
|
||||||
|
Type = EdgeEffectType.Glow,
|
||||||
|
Colour = AccentColour.Opacity(glow_alpha),
|
||||||
|
Radius = glow_radius,
|
||||||
|
Hollow = true
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,85 @@
|
|||||||
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using OpenTK.Graphics;
|
||||||
|
using osu.Framework.Extensions.Color4Extensions;
|
||||||
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Framework.Graphics.Colour;
|
||||||
|
using osu.Framework.Graphics.Containers;
|
||||||
|
using osu.Framework.Graphics.Shapes;
|
||||||
|
using osu.Game.Graphics;
|
||||||
|
|
||||||
|
namespace osu.Game.Rulesets.Mania.Objects.Drawables.Pieces
|
||||||
|
{
|
||||||
|
public class LaneGlowPiece : CompositeDrawable, IHasAccentColour
|
||||||
|
{
|
||||||
|
private const float total_height = 100;
|
||||||
|
private const float glow_height = 50;
|
||||||
|
private const float glow_alpha = 0.4f;
|
||||||
|
private const float edge_alpha = 0.3f;
|
||||||
|
|
||||||
|
public LaneGlowPiece()
|
||||||
|
{
|
||||||
|
BypassAutoSizeAxes = Axes.Both;
|
||||||
|
RelativeSizeAxes = Axes.X;
|
||||||
|
Height = total_height;
|
||||||
|
|
||||||
|
InternalChildren = new[]
|
||||||
|
{
|
||||||
|
new Container
|
||||||
|
{
|
||||||
|
Name = "Left edge",
|
||||||
|
RelativeSizeAxes = Axes.Y,
|
||||||
|
Width = 1,
|
||||||
|
Children = createGradient(edge_alpha)
|
||||||
|
},
|
||||||
|
new Container
|
||||||
|
{
|
||||||
|
Name = "Right edge",
|
||||||
|
Anchor = Anchor.TopRight,
|
||||||
|
Origin = Anchor.TopRight,
|
||||||
|
RelativeSizeAxes = Axes.Y,
|
||||||
|
Width = 1,
|
||||||
|
Children = createGradient(edge_alpha)
|
||||||
|
},
|
||||||
|
new Container
|
||||||
|
{
|
||||||
|
Name = "Glow",
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
RelativeSizeAxes = Axes.X,
|
||||||
|
Height = glow_height,
|
||||||
|
Children = createGradient(glow_alpha)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private Drawable[] createGradient(float alpha) => new Drawable[]
|
||||||
|
{
|
||||||
|
new Box
|
||||||
|
{
|
||||||
|
Name = "Top",
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Height = 0.5f,
|
||||||
|
Blending = BlendingMode.Additive,
|
||||||
|
Colour = ColourInfo.GradientVertical(Color4.Transparent, Color4.White.Opacity(alpha))
|
||||||
|
},
|
||||||
|
new Box
|
||||||
|
{
|
||||||
|
Name = "Bottom",
|
||||||
|
Anchor = Anchor.BottomLeft,
|
||||||
|
Origin = Anchor.BottomLeft,
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Height = 0.5f,
|
||||||
|
Blending = BlendingMode.Additive,
|
||||||
|
Colour = ColourInfo.GradientVertical(Color4.White.Opacity(alpha), Color4.Transparent)
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public Color4 AccentColour
|
||||||
|
{
|
||||||
|
get { return Colour; }
|
||||||
|
set { Colour = value; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -37,6 +37,17 @@ namespace osu.Game.Rulesets.Mania.Objects
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override int Column
|
||||||
|
{
|
||||||
|
get { return base.Column; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
base.Column = value;
|
||||||
|
Head.Column = value;
|
||||||
|
Tail.Column = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The head note of the hold.
|
/// The head note of the hold.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -80,7 +91,8 @@ namespace osu.Game.Rulesets.Mania.Objects
|
|||||||
{
|
{
|
||||||
ret.Add(new HoldNoteTick
|
ret.Add(new HoldNoteTick
|
||||||
{
|
{
|
||||||
StartTime = t
|
StartTime = t,
|
||||||
|
Column = Column
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,6 @@ namespace osu.Game.Rulesets.Mania.Objects
|
|||||||
{
|
{
|
||||||
public abstract class ManiaHitObject : HitObject, IHasColumn
|
public abstract class ManiaHitObject : HitObject, IHasColumn
|
||||||
{
|
{
|
||||||
public int Column { get; set; }
|
public virtual int Column { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ using System;
|
|||||||
using osu.Framework.Input.Bindings;
|
using osu.Framework.Input.Bindings;
|
||||||
using osu.Game.Rulesets.UI;
|
using osu.Game.Rulesets.UI;
|
||||||
using osu.Game.Rulesets.Mania.Objects;
|
using osu.Game.Rulesets.Mania.Objects;
|
||||||
|
using osu.Game.Rulesets.Judgements;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Mania.UI
|
namespace osu.Game.Rulesets.Mania.UI
|
||||||
{
|
{
|
||||||
@ -35,6 +36,9 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
private readonly Container hitTargetBar;
|
private readonly Container hitTargetBar;
|
||||||
private readonly Container keyIcon;
|
private readonly Container keyIcon;
|
||||||
|
|
||||||
|
internal readonly Container TopLevelContainer;
|
||||||
|
private readonly Container explosionContainer;
|
||||||
|
|
||||||
protected override Container<Drawable> Content => content;
|
protected override Container<Drawable> Content => content;
|
||||||
private readonly Container<Drawable> content;
|
private readonly Container<Drawable> content;
|
||||||
|
|
||||||
@ -97,6 +101,11 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
{
|
{
|
||||||
Pressed = onPressed,
|
Pressed = onPressed,
|
||||||
Released = onReleased
|
Released = onReleased
|
||||||
|
},
|
||||||
|
explosionContainer = new Container
|
||||||
|
{
|
||||||
|
Name = "Hit explosions",
|
||||||
|
RelativeSizeAxes = Axes.Both
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -135,8 +144,11 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
TopLevelContainer = new Container { RelativeSizeAxes = Axes.Both }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
TopLevelContainer.Add(explosionContainer.CreateProxy());
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Axes RelativeSizeAxes => Axes.Y;
|
public override Axes RelativeSizeAxes => Axes.Y;
|
||||||
@ -193,6 +205,14 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
HitObjects.Add(hitObject);
|
HitObjects.Add(hitObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
||||||
|
{
|
||||||
|
if (!judgement.IsHit)
|
||||||
|
return;
|
||||||
|
|
||||||
|
explosionContainer.Add(new HitExplosion(judgedObject));
|
||||||
|
}
|
||||||
|
|
||||||
private bool onPressed(ManiaAction action)
|
private bool onPressed(ManiaAction action)
|
||||||
{
|
{
|
||||||
if (action == Action)
|
if (action == Action)
|
||||||
|
36
osu.Game.Rulesets.Mania/UI/DrawableManiaJudgement.cs
Normal file
36
osu.Game.Rulesets.Mania/UI/DrawableManiaJudgement.cs
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Game.Rulesets.Judgements;
|
||||||
|
using osu.Game.Rulesets.Mania.Judgements;
|
||||||
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
|
|
||||||
|
namespace osu.Game.Rulesets.Mania.UI
|
||||||
|
{
|
||||||
|
internal class DrawableManiaJudgement : DrawableJudgement
|
||||||
|
{
|
||||||
|
public DrawableManiaJudgement(Judgement judgement)
|
||||||
|
: base(judgement)
|
||||||
|
{
|
||||||
|
JudgementText.TextSize = 25;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void LoadComplete()
|
||||||
|
{
|
||||||
|
base.LoadComplete();
|
||||||
|
|
||||||
|
this.FadeInFromZero(50, Easing.OutQuint);
|
||||||
|
|
||||||
|
if (Judgement.IsHit)
|
||||||
|
{
|
||||||
|
this.ScaleTo(0.8f);
|
||||||
|
this.ScaleTo(1, 250, Easing.OutElastic);
|
||||||
|
|
||||||
|
this.Delay(50).FadeOut(200).ScaleTo(0.75f, 250);
|
||||||
|
}
|
||||||
|
|
||||||
|
Expire();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
66
osu.Game.Rulesets.Mania/UI/HitExplosion.cs
Normal file
66
osu.Game.Rulesets.Mania/UI/HitExplosion.cs
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
||||||
|
// Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||||
|
|
||||||
|
using OpenTK;
|
||||||
|
using OpenTK.Graphics;
|
||||||
|
using osu.Framework.Graphics;
|
||||||
|
using osu.Framework.Graphics.Containers;
|
||||||
|
using osu.Framework.Graphics.Shapes;
|
||||||
|
using osu.Game.Rulesets.Mania.Judgements;
|
||||||
|
using osu.Game.Rulesets.Mania.Objects;
|
||||||
|
using osu.Game.Rulesets.Mania.Objects.Drawables;
|
||||||
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
|
|
||||||
|
namespace osu.Game.Rulesets.Mania.UI
|
||||||
|
{
|
||||||
|
internal class HitExplosion : CompositeDrawable
|
||||||
|
{
|
||||||
|
private readonly Box inner;
|
||||||
|
|
||||||
|
public HitExplosion(DrawableHitObject judgedObject)
|
||||||
|
{
|
||||||
|
bool isTick = judgedObject is DrawableHoldNoteTick;
|
||||||
|
|
||||||
|
Anchor = Anchor.TopCentre;
|
||||||
|
Origin = Anchor.Centre;
|
||||||
|
|
||||||
|
RelativeSizeAxes = Axes.Both;
|
||||||
|
Size = new Vector2(isTick ? 0.5f : 1);
|
||||||
|
FillMode = FillMode.Fit;
|
||||||
|
|
||||||
|
Blending = BlendingMode.Additive;
|
||||||
|
|
||||||
|
Color4 accent = isTick ? Color4.White : judgedObject.AccentColour;
|
||||||
|
|
||||||
|
InternalChild = new CircularContainer
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Masking = true,
|
||||||
|
BorderThickness = 1,
|
||||||
|
BorderColour = accent,
|
||||||
|
EdgeEffect = new EdgeEffectParameters
|
||||||
|
{
|
||||||
|
Type = EdgeEffectType.Glow,
|
||||||
|
Colour = accent,
|
||||||
|
Radius = 10,
|
||||||
|
Hollow = true
|
||||||
|
},
|
||||||
|
Child = inner = new Box
|
||||||
|
{
|
||||||
|
RelativeSizeAxes = Axes.Both,
|
||||||
|
Colour = accent,
|
||||||
|
Alpha = 1,
|
||||||
|
AlwaysPresent = true,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void LoadComplete()
|
||||||
|
{
|
||||||
|
base.LoadComplete();
|
||||||
|
|
||||||
|
this.ScaleTo(2f, 600, Easing.OutQuint).FadeOut(500);
|
||||||
|
inner.FadeOut(250);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -16,6 +16,7 @@ using osu.Framework.Configuration;
|
|||||||
using osu.Game.Rulesets.Objects.Drawables;
|
using osu.Game.Rulesets.Objects.Drawables;
|
||||||
using osu.Game.Rulesets.Mania.Objects.Drawables;
|
using osu.Game.Rulesets.Mania.Objects.Drawables;
|
||||||
using osu.Framework.Graphics.Shapes;
|
using osu.Framework.Graphics.Shapes;
|
||||||
|
using osu.Game.Rulesets.Judgements;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Mania.UI
|
namespace osu.Game.Rulesets.Mania.UI
|
||||||
{
|
{
|
||||||
@ -52,6 +53,8 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
private List<Color4> normalColumnColours = new List<Color4>();
|
private List<Color4> normalColumnColours = new List<Color4>();
|
||||||
private Color4 specialColumnColour;
|
private Color4 specialColumnColour;
|
||||||
|
|
||||||
|
private readonly Container<DrawableManiaJudgement> judgements;
|
||||||
|
|
||||||
private readonly int columnCount;
|
private readonly int columnCount;
|
||||||
|
|
||||||
public ManiaPlayfield(int columnCount)
|
public ManiaPlayfield(int columnCount)
|
||||||
@ -64,21 +67,21 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
|
|
||||||
Inverted.Value = true;
|
Inverted.Value = true;
|
||||||
|
|
||||||
|
Container topLevelContainer;
|
||||||
InternalChildren = new Drawable[]
|
InternalChildren = new Drawable[]
|
||||||
{
|
{
|
||||||
new Container
|
new Container
|
||||||
{
|
{
|
||||||
|
Name = "Playfield elements",
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre,
|
Origin = Anchor.TopCentre,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Y,
|
||||||
Masking = true,
|
AutoSizeAxes = Axes.X,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
new Container
|
new Container
|
||||||
{
|
{
|
||||||
Name = "Masked elements",
|
Name = "Columns mask",
|
||||||
Anchor = Anchor.TopCentre,
|
|
||||||
Origin = Anchor.TopCentre,
|
|
||||||
RelativeSizeAxes = Axes.Y,
|
RelativeSizeAxes = Axes.Y,
|
||||||
AutoSizeAxes = Axes.X,
|
AutoSizeAxes = Axes.X,
|
||||||
Masking = true,
|
Masking = true,
|
||||||
@ -86,6 +89,7 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
{
|
{
|
||||||
new Box
|
new Box
|
||||||
{
|
{
|
||||||
|
Name = "Background",
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Colour = Color4.Black
|
Colour = Color4.Black
|
||||||
},
|
},
|
||||||
@ -97,27 +101,36 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
Direction = FillDirection.Horizontal,
|
Direction = FillDirection.Horizontal,
|
||||||
Padding = new MarginPadding { Left = 1, Right = 1 },
|
Padding = new MarginPadding { Left = 1, Right = 1 },
|
||||||
Spacing = new Vector2(1, 0)
|
Spacing = new Vector2(1, 0)
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
new Container
|
new Container
|
||||||
{
|
{
|
||||||
|
Name = "Barlines mask",
|
||||||
Anchor = Anchor.TopCentre,
|
Anchor = Anchor.TopCentre,
|
||||||
Origin = Anchor.TopCentre,
|
Origin = Anchor.TopCentre,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Y,
|
||||||
Padding = new MarginPadding { Top = HIT_TARGET_POSITION },
|
Width = 1366, // Bar lines should only be masked on the vertical axis
|
||||||
Children = new[]
|
BypassAutoSizeAxes = Axes.Both,
|
||||||
|
Masking = true,
|
||||||
|
Child = content = new Container
|
||||||
{
|
{
|
||||||
content = new Container
|
Name = "Bar lines",
|
||||||
{
|
Anchor = Anchor.TopCentre,
|
||||||
Name = "Bar lines",
|
Origin = Anchor.TopCentre,
|
||||||
Anchor = Anchor.TopCentre,
|
RelativeSizeAxes = Axes.Y,
|
||||||
Origin = Anchor.TopCentre,
|
Padding = new MarginPadding { Top = HIT_TARGET_POSITION }
|
||||||
RelativeSizeAxes = Axes.Y,
|
|
||||||
// Width is set in the Update method
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
judgements = new Container<DrawableManiaJudgement>
|
||||||
|
{
|
||||||
|
Anchor = Anchor.TopCentre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
AutoSizeAxes = Axes.Both,
|
||||||
|
Y = HIT_TARGET_POSITION + 150,
|
||||||
|
BypassAutoSizeAxes = Axes.Both
|
||||||
|
},
|
||||||
|
topLevelContainer = new Container { RelativeSizeAxes = Axes.Both }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -131,6 +144,8 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
c.IsSpecial = isSpecialColumn(i);
|
c.IsSpecial = isSpecialColumn(i);
|
||||||
c.Action = c.IsSpecial ? ManiaAction.Special : currentAction++;
|
c.Action = c.IsSpecial ? ManiaAction.Special : currentAction++;
|
||||||
|
|
||||||
|
topLevelContainer.Add(c.TopLevelContainer.CreateProxy());
|
||||||
|
|
||||||
columns.Add(c);
|
columns.Add(c);
|
||||||
AddNested(c);
|
AddNested(c);
|
||||||
}
|
}
|
||||||
@ -142,6 +157,7 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
private void invertedChanged(bool newValue)
|
private void invertedChanged(bool newValue)
|
||||||
{
|
{
|
||||||
Scale = new Vector2(1, newValue ? -1 : 1);
|
Scale = new Vector2(1, newValue ? -1 : 1);
|
||||||
|
judgements.Scale = Scale;
|
||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
@ -176,6 +192,19 @@ namespace osu.Game.Rulesets.Mania.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void OnJudgement(DrawableHitObject judgedObject, Judgement judgement)
|
||||||
|
{
|
||||||
|
var maniaObject = (ManiaHitObject)judgedObject.HitObject;
|
||||||
|
columns[maniaObject.Column].OnJudgement(judgedObject, judgement);
|
||||||
|
|
||||||
|
judgements.Clear();
|
||||||
|
judgements.Add(new DrawableManiaJudgement(judgement)
|
||||||
|
{
|
||||||
|
Anchor = Anchor.Centre,
|
||||||
|
Origin = Anchor.Centre,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Whether the column index is a special column for this playfield.
|
/// Whether the column index is a special column for this playfield.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -69,6 +69,8 @@
|
|||||||
<Compile Include="Objects\Drawables\DrawableManiaHitObject.cs" />
|
<Compile Include="Objects\Drawables\DrawableManiaHitObject.cs" />
|
||||||
<Compile Include="Objects\Drawables\DrawableNote.cs" />
|
<Compile Include="Objects\Drawables\DrawableNote.cs" />
|
||||||
<Compile Include="Objects\Drawables\Pieces\BodyPiece.cs" />
|
<Compile Include="Objects\Drawables\Pieces\BodyPiece.cs" />
|
||||||
|
<Compile Include="Objects\Drawables\Pieces\GlowPiece.cs" />
|
||||||
|
<Compile Include="Objects\Drawables\Pieces\LaneGlowPiece.cs" />
|
||||||
<Compile Include="Objects\Drawables\Pieces\NotePiece.cs" />
|
<Compile Include="Objects\Drawables\Pieces\NotePiece.cs" />
|
||||||
<Compile Include="Objects\Types\IHasColumn.cs" />
|
<Compile Include="Objects\Types\IHasColumn.cs" />
|
||||||
<Compile Include="Scoring\ManiaScoreProcessor.cs" />
|
<Compile Include="Scoring\ManiaScoreProcessor.cs" />
|
||||||
@ -82,6 +84,8 @@
|
|||||||
<Compile Include="Timing\GravityScrollingContainer.cs" />
|
<Compile Include="Timing\GravityScrollingContainer.cs" />
|
||||||
<Compile Include="Timing\ScrollingAlgorithm.cs" />
|
<Compile Include="Timing\ScrollingAlgorithm.cs" />
|
||||||
<Compile Include="UI\Column.cs" />
|
<Compile Include="UI\Column.cs" />
|
||||||
|
<Compile Include="UI\DrawableManiaJudgement.cs" />
|
||||||
|
<Compile Include="UI\HitExplosion.cs" />
|
||||||
<Compile Include="UI\ManiaRulesetContainer.cs" />
|
<Compile Include="UI\ManiaRulesetContainer.cs" />
|
||||||
<Compile Include="UI\ManiaPlayfield.cs" />
|
<Compile Include="UI\ManiaPlayfield.cs" />
|
||||||
<Compile Include="ManiaRuleset.cs" />
|
<Compile Include="ManiaRuleset.cs" />
|
||||||
|
@ -33,7 +33,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Connections
|
|||||||
new Box
|
new Box
|
||||||
{
|
{
|
||||||
Size = new Vector2(width),
|
Size = new Vector2(width),
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Alpha = 0.5f,
|
Alpha = 0.5f,
|
||||||
|
@ -37,7 +37,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
new TrianglesPiece
|
new TrianglesPiece
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Alpha = 0.5f,
|
Alpha = 0.5f,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -16,14 +16,14 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
Anchor = Anchor.Centre;
|
Anchor = Anchor.Centre;
|
||||||
Origin = Anchor.Centre;
|
Origin = Anchor.Centre;
|
||||||
|
|
||||||
BlendingMode = BlendingMode.Additive;
|
Blending = BlendingMode.Additive;
|
||||||
Alpha = 0;
|
Alpha = 0;
|
||||||
|
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
new TrianglesPiece
|
new TrianglesPiece
|
||||||
{
|
{
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Alpha = 0.2f,
|
Alpha = 0.2f,
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
Anchor = Anchor.Centre;
|
Anchor = Anchor.Centre;
|
||||||
Origin = Anchor.Centre;
|
Origin = Anchor.Centre;
|
||||||
|
|
||||||
BlendingMode = BlendingMode.Additive;
|
Blending = BlendingMode.Additive;
|
||||||
Alpha = 0;
|
Alpha = 0;
|
||||||
|
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
|
@ -24,7 +24,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Alpha = 0.5f
|
Alpha = 0.5f
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -39,7 +39,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
this.slider = slider;
|
this.slider = slider;
|
||||||
Masking = true;
|
Masking = true;
|
||||||
AutoSizeAxes = Axes.Both;
|
AutoSizeAxes = Axes.Both;
|
||||||
BlendingMode = BlendingMode.Additive;
|
Blending = BlendingMode.Additive;
|
||||||
Origin = Anchor.Centre;
|
Origin = Anchor.Centre;
|
||||||
BorderThickness = 10;
|
BorderThickness = 10;
|
||||||
BorderColour = Color4.Orange;
|
BorderColour = Color4.Orange;
|
||||||
|
@ -65,7 +65,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
{
|
{
|
||||||
path = new Path
|
path = new Path
|
||||||
{
|
{
|
||||||
BlendingMode = BlendingMode.None,
|
Blending = BlendingMode.None,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -20,7 +20,7 @@ namespace osu.Game.Rulesets.Osu.Objects.Drawables.Pieces
|
|||||||
this.isEnd = isEnd;
|
this.isEnd = isEnd;
|
||||||
|
|
||||||
AutoSizeAxes = Axes.Both;
|
AutoSizeAxes = Axes.Both;
|
||||||
BlendingMode = BlendingMode.Additive;
|
Blending = BlendingMode.Additive;
|
||||||
Origin = Anchor.Centre;
|
Origin = Anchor.Centre;
|
||||||
|
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
|
@ -64,7 +64,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Masking = true,
|
Masking = true,
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
@ -83,7 +83,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables
|
|||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Masking = true,
|
Masking = true,
|
||||||
BorderThickness = target_ring_thick_border,
|
BorderThickness = target_ring_thick_border,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Children = new Drawable[]
|
Children = new Drawable[]
|
||||||
{
|
{
|
||||||
new Box
|
new Box
|
||||||
|
@ -111,7 +111,7 @@ namespace osu.Game.Rulesets.Taiko.Objects.Drawables.Pieces
|
|||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Colour = Color4.White,
|
Colour = Color4.White,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
AlwaysPresent = true
|
AlwaysPresent = true
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
// Copyright (c) 2007-2017 ppy Pty Ltd <contact@ppy.sh>.
|
// Copyright (c) 2007-2017 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 osu.Game.Beatmaps;
|
|
||||||
using osu.Game.Beatmaps.ControlPoints;
|
|
||||||
using osu.Game.Rulesets.Objects;
|
using osu.Game.Rulesets.Objects;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Taiko.Objects
|
namespace osu.Game.Rulesets.Taiko.Objects
|
||||||
@ -29,19 +27,5 @@ namespace osu.Game.Rulesets.Taiko.Objects
|
|||||||
/// Strong hit objects give more points for hitting the hit object with both keys.
|
/// Strong hit objects give more points for hitting the hit object with both keys.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool IsStrong;
|
public bool IsStrong;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Whether this HitObject is in Kiai time.
|
|
||||||
/// </summary>
|
|
||||||
public bool Kiai { get; protected set; }
|
|
||||||
|
|
||||||
public override void ApplyDefaults(ControlPointInfo controlPointInfo, BeatmapDifficulty difficulty)
|
|
||||||
{
|
|
||||||
base.ApplyDefaults(controlPointInfo, difficulty);
|
|
||||||
|
|
||||||
EffectControlPoint effectPoint = controlPointInfo.EffectPointAt(StartTime);
|
|
||||||
|
|
||||||
Kiai |= effectPoint.KiaiMode;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,7 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
},
|
},
|
||||||
centre = new Sprite
|
centre = new Sprite
|
||||||
{
|
{
|
||||||
@ -106,7 +106,7 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Size = new Vector2(0.7f),
|
Size = new Vector2(0.7f),
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
BlendingMode = BlendingMode.Additive
|
Blending = BlendingMode.Additive
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -98,7 +98,7 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
FillMode = FillMode.Fit,
|
FillMode = FillMode.Fit,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
},
|
},
|
||||||
new HitTarget
|
new HitTarget
|
||||||
{
|
{
|
||||||
@ -127,14 +127,14 @@ namespace osu.Game.Rulesets.Taiko.UI
|
|||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
FillMode = FillMode.Fit,
|
FillMode = FillMode.Fit,
|
||||||
Margin = new MarginPadding { Left = HIT_TARGET_OFFSET },
|
Margin = new MarginPadding { Left = HIT_TARGET_OFFSET },
|
||||||
BlendingMode = BlendingMode.Additive
|
Blending = BlendingMode.Additive
|
||||||
},
|
},
|
||||||
judgementContainer = new Container<DrawableTaikoJudgement>
|
judgementContainer = new Container<DrawableTaikoJudgement>
|
||||||
{
|
{
|
||||||
Name = "Judgements",
|
Name = "Judgements",
|
||||||
RelativeSizeAxes = Axes.Y,
|
RelativeSizeAxes = Axes.Y,
|
||||||
Margin = new MarginPadding { Left = HIT_TARGET_OFFSET },
|
Margin = new MarginPadding { Left = HIT_TARGET_OFFSET },
|
||||||
BlendingMode = BlendingMode.Additive
|
Blending = BlendingMode.Additive
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -87,7 +87,9 @@ namespace osu.Game.Beatmaps
|
|||||||
{
|
{
|
||||||
if (track != null) return track;
|
if (track != null) return track;
|
||||||
|
|
||||||
track = GetTrack();
|
// we want to ensure that we always have a track, even if it's a fake one.
|
||||||
|
track = GetTrack() ?? new TrackVirtual();
|
||||||
|
|
||||||
applyRateAdjustments();
|
applyRateAdjustments();
|
||||||
return track;
|
return track;
|
||||||
}
|
}
|
||||||
|
@ -131,7 +131,7 @@ namespace osu.Game.Graphics.Cursor
|
|||||||
},
|
},
|
||||||
AdditiveLayer = new Sprite
|
AdditiveLayer = new Sprite
|
||||||
{
|
{
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Colour = colour.Pink,
|
Colour = colour.Pink,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
Texture = textures.Get(@"Cursor/menu-cursor-additive"),
|
Texture = textures.Get(@"Cursor/menu-cursor-additive"),
|
||||||
|
@ -57,6 +57,12 @@ namespace osu.Game.Graphics
|
|||||||
private void load(FontStore store)
|
private void load(FontStore store)
|
||||||
{
|
{
|
||||||
this.store = store;
|
this.store = store;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void LoadComplete()
|
||||||
|
{
|
||||||
|
base.LoadComplete();
|
||||||
|
|
||||||
updateTexture();
|
updateTexture();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,7 +99,8 @@ namespace osu.Game.Graphics.UserInterface
|
|||||||
colourContainer.ResizeTo(new Vector2(1.5f, 1f), click_duration, Easing.In);
|
colourContainer.ResizeTo(new Vector2(1.5f, 1f), click_duration, Easing.In);
|
||||||
flash();
|
flash();
|
||||||
|
|
||||||
this.Delay(click_duration).Schedule(delegate {
|
this.Delay(click_duration).Schedule(delegate
|
||||||
|
{
|
||||||
colourContainer.ResizeTo(new Vector2(0.8f, 1f));
|
colourContainer.ResizeTo(new Vector2(0.8f, 1f));
|
||||||
spriteText.Spacing = Vector2.Zero;
|
spriteText.Spacing = Vector2.Zero;
|
||||||
glowContainer.FadeOut();
|
glowContainer.FadeOut();
|
||||||
@ -140,7 +141,7 @@ namespace osu.Game.Graphics.UserInterface
|
|||||||
colourContainer.Add(flash);
|
colourContainer.Add(flash);
|
||||||
|
|
||||||
flash.Colour = ButtonColour;
|
flash.Colour = ButtonColour;
|
||||||
flash.BlendingMode = BlendingMode.Additive;
|
flash.Blending = BlendingMode.Additive;
|
||||||
flash.Alpha = 0.3f;
|
flash.Alpha = 0.3f;
|
||||||
flash.FadeOutFromOne(click_duration);
|
flash.FadeOutFromOne(click_duration);
|
||||||
flash.Expire();
|
flash.Expire();
|
||||||
|
@ -63,7 +63,7 @@ namespace osu.Game.Graphics.UserInterface
|
|||||||
hover = new Box
|
hover = new Box
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Colour = Color4.White.Opacity(0.1f),
|
Colour = Color4.White.Opacity(0.1f),
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
},
|
},
|
||||||
|
@ -68,7 +68,7 @@ namespace osu.Game.Overlays.Settings
|
|||||||
backgroundBox = new Box
|
backgroundBox = new Box
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Colour = OsuColour.Gray(60),
|
Colour = OsuColour.Gray(60),
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
},
|
},
|
||||||
|
@ -85,7 +85,7 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Colour = OsuColour.Gray(80).Opacity(180),
|
Colour = OsuColour.Gray(80).Opacity(180),
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
},
|
},
|
||||||
Flow = new FillFlowContainer
|
Flow = new FillFlowContainer
|
||||||
|
@ -32,7 +32,7 @@ namespace osu.Game.Overlays.Toolbar
|
|||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
Colour = OsuColour.Gray(150).Opacity(180),
|
Colour = OsuColour.Gray(150).Opacity(180),
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Depth = 2,
|
Depth = 2,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
});
|
});
|
||||||
|
@ -12,17 +12,18 @@ using osu.Game.Rulesets.Objects.Types;
|
|||||||
using OpenTK.Graphics;
|
using OpenTK.Graphics;
|
||||||
using osu.Game.Audio;
|
using osu.Game.Audio;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using osu.Game.Graphics;
|
||||||
|
|
||||||
namespace osu.Game.Rulesets.Objects.Drawables
|
namespace osu.Game.Rulesets.Objects.Drawables
|
||||||
{
|
{
|
||||||
public abstract class DrawableHitObject : Container
|
public abstract class DrawableHitObject : Container, IHasAccentColour
|
||||||
{
|
{
|
||||||
public readonly HitObject HitObject;
|
public readonly HitObject HitObject;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The colour used for various elements of this DrawableHitObject.
|
/// The colour used for various elements of this DrawableHitObject.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual Color4 AccentColour { get; set; }
|
public virtual Color4 AccentColour { get; set; } = Color4.Gray;
|
||||||
|
|
||||||
protected DrawableHitObject(HitObject hitObject)
|
protected DrawableHitObject(HitObject hitObject)
|
||||||
{
|
{
|
||||||
|
@ -36,6 +36,11 @@ namespace osu.Game.Rulesets.Objects
|
|||||||
|
|
||||||
public readonly List<HitObject> Children = new List<HitObject>();
|
public readonly List<HitObject> Children = new List<HitObject>();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Whether this <see cref="HitObject"/> is in Kiai time.
|
||||||
|
/// </summary>
|
||||||
|
public bool Kiai { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Applies default values to this HitObject.
|
/// Applies default values to this HitObject.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -44,6 +49,9 @@ namespace osu.Game.Rulesets.Objects
|
|||||||
public virtual void ApplyDefaults(ControlPointInfo controlPointInfo, BeatmapDifficulty difficulty)
|
public virtual void ApplyDefaults(ControlPointInfo controlPointInfo, BeatmapDifficulty difficulty)
|
||||||
{
|
{
|
||||||
SoundControlPoint soundPoint = controlPointInfo.SoundPointAt(StartTime);
|
SoundControlPoint soundPoint = controlPointInfo.SoundPointAt(StartTime);
|
||||||
|
EffectControlPoint effectPoint = controlPointInfo.EffectPointAt(StartTime);
|
||||||
|
|
||||||
|
Kiai |= effectPoint.KiaiMode;
|
||||||
|
|
||||||
// Initialize first sample
|
// Initialize first sample
|
||||||
Samples.ForEach(s => initializeSampleInfo(s, soundPoint));
|
Samples.ForEach(s => initializeSampleInfo(s, soundPoint));
|
||||||
|
@ -83,7 +83,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
{
|
{
|
||||||
EdgeSmoothness = new Vector2(1.5f, 0),
|
EdgeSmoothness = new Vector2(1.5f, 0),
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Colour = Color4.White,
|
Colour = Color4.White,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
},
|
},
|
||||||
|
@ -52,7 +52,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
{
|
{
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
Triangles = false,
|
Triangles = false,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Interactive = false,
|
Interactive = false,
|
||||||
Colour = Color4.DarkGray,
|
Colour = Color4.DarkGray,
|
||||||
Ripple = false
|
Ripple = false
|
||||||
|
@ -73,7 +73,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
{
|
{
|
||||||
texture = Texture.WhitePixel;
|
texture = Texture.WhitePixel;
|
||||||
AccentColour = new Color4(1, 1, 1, 0.2f);
|
AccentColour = new Color4(1, 1, 1, 0.2f);
|
||||||
BlendingMode = BlendingMode.Additive;
|
Blending = BlendingMode.Additive;
|
||||||
}
|
}
|
||||||
|
|
||||||
[BackgroundDependencyLoader]
|
[BackgroundDependencyLoader]
|
||||||
|
@ -50,7 +50,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
RelativeSizeAxes = Axes.Y,
|
RelativeSizeAxes = Axes.Y,
|
||||||
Width = box_width,
|
Width = box_width,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
},
|
},
|
||||||
rightBox = new Box
|
rightBox = new Box
|
||||||
{
|
{
|
||||||
@ -59,7 +59,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
RelativeSizeAxes = Axes.Y,
|
RelativeSizeAxes = Axes.Y,
|
||||||
Width = box_width,
|
Width = box_width,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
{
|
{
|
||||||
Anchor = Anchor.Centre,
|
Anchor = Anchor.Centre,
|
||||||
Origin = Anchor.Centre,
|
Origin = Anchor.Centre,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Alpha = 0
|
Alpha = 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ namespace osu.Game.Screens.Menu
|
|||||||
flashLayer = new Box
|
flashLayer = new Box
|
||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Colour = Color4.White,
|
Colour = Color4.White,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
},
|
},
|
||||||
@ -272,14 +272,22 @@ namespace osu.Game.Screens.Menu
|
|||||||
|
|
||||||
const float scale_adjust_cutoff = 0.4f;
|
const float scale_adjust_cutoff = 0.4f;
|
||||||
const float velocity_adjust_cutoff = 0.98f;
|
const float velocity_adjust_cutoff = 0.98f;
|
||||||
|
const float paused_velocity = 0.5f;
|
||||||
|
|
||||||
var maxAmplitude = lastBeatIndex >= 0 ? Beatmap.Value.Track?.CurrentAmplitudes.Maximum ?? 0 : 0;
|
if (Beatmap.Value.Track.IsRunning)
|
||||||
logoAmplitudeContainer.ScaleTo(1 - Math.Max(0, maxAmplitude - scale_adjust_cutoff) * 0.04f, 75, Easing.OutQuint);
|
{
|
||||||
|
var maxAmplitude = lastBeatIndex >= 0 ? Beatmap.Value.Track.CurrentAmplitudes.Maximum : 0;
|
||||||
|
logoAmplitudeContainer.ScaleTo(1 - Math.Max(0, maxAmplitude - scale_adjust_cutoff) * 0.04f, 75, Easing.OutQuint);
|
||||||
|
|
||||||
if (maxAmplitude > velocity_adjust_cutoff)
|
if (maxAmplitude > velocity_adjust_cutoff)
|
||||||
triangles.Velocity = 1 + Math.Max(0, maxAmplitude - velocity_adjust_cutoff) * 50;
|
triangles.Velocity = 1 + Math.Max(0, maxAmplitude - velocity_adjust_cutoff) * 50;
|
||||||
|
else
|
||||||
|
triangles.Velocity = (float)Interpolation.Damp(triangles.Velocity, 1, 0.995f, Time.Elapsed);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
triangles.Velocity = (float)Interpolation.Damp(triangles.Velocity, 1, 0.995f, Time.Elapsed);
|
{
|
||||||
|
triangles.Velocity = paused_velocity;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
|
protected override bool OnMouseDown(InputState state, MouseDownEventArgs args)
|
||||||
|
@ -100,7 +100,7 @@ namespace osu.Game.Screens
|
|||||||
|
|
||||||
Colour = getColourFor(GetType()),
|
Colour = getColourFor(GetType()),
|
||||||
Alpha = 0.2f,
|
Alpha = 0.2f,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
},
|
},
|
||||||
textContainer = new FillFlowContainer
|
textContainer = new FillFlowContainer
|
||||||
{
|
{
|
||||||
|
@ -304,7 +304,7 @@ namespace osu.Game.Screens.Select.Leaderboards
|
|||||||
BlurSigma = new Vector2(4),
|
BlurSigma = new Vector2(4),
|
||||||
CacheDrawnFrameBuffer = true,
|
CacheDrawnFrameBuffer = true,
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Size = new Vector2(3f),
|
Size = new Vector2(3f),
|
||||||
Children = new[]
|
Children = new[]
|
||||||
{
|
{
|
||||||
|
@ -119,7 +119,7 @@ namespace osu.Game.Screens.Select.Options
|
|||||||
{
|
{
|
||||||
RelativeSizeAxes = Axes.Both,
|
RelativeSizeAxes = Axes.Both,
|
||||||
EdgeSmoothness = new Vector2(1.5f, 0),
|
EdgeSmoothness = new Vector2(1.5f, 0),
|
||||||
BlendingMode = BlendingMode.Additive,
|
Blending = BlendingMode.Additive,
|
||||||
Colour = Color4.White,
|
Colour = Color4.White,
|
||||||
Alpha = 0,
|
Alpha = 0,
|
||||||
},
|
},
|
||||||
|
@ -190,6 +190,7 @@
|
|||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IPC/@EntryIndexedValue">IPC</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=IPC/@EntryIndexedValue">IPC</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LTRB/@EntryIndexedValue">LTRB</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=LTRB/@EntryIndexedValue">LTRB</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MD/@EntryIndexedValue">MD5</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=MD/@EntryIndexedValue">MD5</s:String>
|
||||||
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RGB/@EntryIndexedValue">RGB</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RNG/@EntryIndexedValue">RNG</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=RNG/@EntryIndexedValue">RNG</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SHA/@EntryIndexedValue">SHA</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SHA/@EntryIndexedValue">SHA</s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SRGB/@EntryIndexedValue">SRGB</s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SRGB/@EntryIndexedValue">SRGB</s:String>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user