diff --git a/.idea/.idea.osu.Desktop/.idea/projectSettingsUpdater.xml b/.idea/.idea.osu.Desktop/.idea/projectSettingsUpdater.xml
index 7515e76054..4bb9f4d2a0 100644
--- a/.idea/.idea.osu.Desktop/.idea/projectSettingsUpdater.xml
+++ b/.idea/.idea.osu.Desktop/.idea/projectSettingsUpdater.xml
@@ -1,6 +1,6 @@
-
+
\ No newline at end of file
diff --git a/osu.Android.props b/osu.Android.props
index 68528d5688..77365b51a9 100644
--- a/osu.Android.props
+++ b/osu.Android.props
@@ -52,6 +52,6 @@
-
+
diff --git a/osu.Game.Rulesets.Catch/UI/Catcher.cs b/osu.Game.Rulesets.Catch/UI/Catcher.cs
index 13935e036b..7c815370c8 100644
--- a/osu.Game.Rulesets.Catch/UI/Catcher.cs
+++ b/osu.Game.Rulesets.Catch/UI/Catcher.cs
@@ -384,7 +384,7 @@ namespace osu.Game.Rulesets.Catch.UI
}
currentCatcher.Show();
- (currentCatcher.Drawable as IAnimation)?.GotoFrame(0);
+ (currentCatcher.Drawable as IFramedAnimation)?.GotoFrame(0);
}
private void beginTrail()
diff --git a/osu.Game.Rulesets.Mania/Skinning/LegacyHitExplosion.cs b/osu.Game.Rulesets.Mania/Skinning/LegacyHitExplosion.cs
index 4868dd87ef..c87a1d438b 100644
--- a/osu.Game.Rulesets.Mania/Skinning/LegacyHitExplosion.cs
+++ b/osu.Game.Rulesets.Mania/Skinning/LegacyHitExplosion.cs
@@ -36,7 +36,7 @@ namespace osu.Game.Rulesets.Mania.Skinning
// This animation is discarded and re-queried with the appropriate frame length afterwards.
var tmp = skin.GetAnimation(imageName, true, false);
double frameLength = 0;
- if (tmp is IAnimation tmpAnimation && tmpAnimation.FrameCount > 0)
+ if (tmp is IFramedAnimation tmpAnimation && tmpAnimation.FrameCount > 0)
frameLength = Math.Max(1000 / 60.0, 170.0 / tmpAnimation.FrameCount);
explosion = skin.GetAnimation(imageName, true, false, startAtCurrentTime: true, frameLength: frameLength).With(d =>
diff --git a/osu.Game.Tournament/Components/TourneyVideo.cs b/osu.Game.Tournament/Components/TourneyVideo.cs
index bc66fad8c1..317c5f6a56 100644
--- a/osu.Game.Tournament/Components/TourneyVideo.cs
+++ b/osu.Game.Tournament/Components/TourneyVideo.cs
@@ -16,7 +16,7 @@ namespace osu.Game.Tournament.Components
{
private readonly string filename;
private readonly bool drawFallbackGradient;
- private VideoSprite video;
+ private Video video;
private ManualClock manualClock;
@@ -33,7 +33,7 @@ namespace osu.Game.Tournament.Components
if (stream != null)
{
- InternalChild = video = new VideoSprite(stream, false)
+ InternalChild = video = new Video(stream, false)
{
RelativeSizeAxes = Axes.Both,
FillMode = FillMode.Fit,
diff --git a/osu.Game/Screens/Menu/IntroTriangles.cs b/osu.Game/Screens/Menu/IntroTriangles.cs
index be5762e68d..b44b6ea993 100644
--- a/osu.Game/Screens/Menu/IntroTriangles.cs
+++ b/osu.Game/Screens/Menu/IntroTriangles.cs
@@ -270,10 +270,9 @@ namespace osu.Game.Screens.Menu
[BackgroundDependencyLoader]
private void load()
{
- InternalChild = new VideoSprite(videoStream, false)
+ InternalChild = new Video(videoStream, false)
{
RelativeSizeAxes = Axes.Both,
- Clock = new FramedOffsetClock(Clock) { Offset = -logo_1 }
};
}
}
diff --git a/osu.Game/Skinning/LegacySkinExtensions.cs b/osu.Game/Skinning/LegacySkinExtensions.cs
index ea3d180ef8..9bfde4fdcb 100644
--- a/osu.Game/Skinning/LegacySkinExtensions.cs
+++ b/osu.Game/Skinning/LegacySkinExtensions.cs
@@ -8,7 +8,6 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Animations;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.Textures;
-using osu.Framework.Timing;
namespace osu.Game.Skinning
{
@@ -28,7 +27,7 @@ namespace osu.Game.Skinning
var animation = new SkinnableTextureAnimation(startAtCurrentTime)
{
DefaultFrameLength = frameLength ?? getFrameLength(source, applyConfigFrameRate, textures),
- Repeat = looping,
+ Loop = looping,
};
foreach (var t in textures)
@@ -71,7 +70,10 @@ namespace osu.Game.Skinning
base.LoadComplete();
if (timeReference != null)
- Clock = new FramedOffsetClock(timeReference.Clock) { Offset = -timeReference.AnimationStartTime };
+ {
+ Clock = timeReference.Clock;
+ PlaybackPosition = timeReference.AnimationStartTime - timeReference.Clock.CurrentTime;
+ }
}
}
diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs
index eabb78bac5..72e52f6106 100644
--- a/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs
+++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardAnimation.cs
@@ -108,7 +108,7 @@ namespace osu.Game.Storyboards.Drawables
Animation = animation;
Origin = animation.Origin;
Position = animation.InitialPosition;
- Repeat = animation.LoopType == AnimationLoopType.LoopForever;
+ Loop = animation.LoopType == AnimationLoopType.LoopForever;
LifetimeStart = animation.StartTime;
LifetimeEnd = animation.EndTime;
diff --git a/osu.Game/Storyboards/Drawables/DrawableStoryboardVideo.cs b/osu.Game/Storyboards/Drawables/DrawableStoryboardVideo.cs
index d4dbdf1ea8..2e7b66ea4f 100644
--- a/osu.Game/Storyboards/Drawables/DrawableStoryboardVideo.cs
+++ b/osu.Game/Storyboards/Drawables/DrawableStoryboardVideo.cs
@@ -8,7 +8,6 @@ using osu.Framework.Graphics;
using osu.Framework.Graphics.Containers;
using osu.Framework.Graphics.Textures;
using osu.Framework.Graphics.Video;
-using osu.Framework.Timing;
using osu.Game.Beatmaps;
namespace osu.Game.Storyboards.Drawables
@@ -16,7 +15,7 @@ namespace osu.Game.Storyboards.Drawables
public class DrawableStoryboardVideo : CompositeDrawable
{
public readonly StoryboardVideo Video;
- private VideoSprite videoSprite;
+ private Video video;
public override bool RemoveWhenNotAlive => false;
@@ -40,14 +39,14 @@ namespace osu.Game.Storyboards.Drawables
if (stream == null)
return;
- InternalChild = videoSprite = new VideoSprite(stream, false)
+ InternalChild = video = new Video(stream, false)
{
RelativeSizeAxes = Axes.Both,
FillMode = FillMode.Fill,
Anchor = Anchor.Centre,
Origin = Anchor.Centre,
Alpha = 0,
- Clock = new FramedOffsetClock(Clock) { Offset = -Video.StartTime }
+ PlaybackPosition = Video.StartTime
};
}
@@ -55,10 +54,10 @@ namespace osu.Game.Storyboards.Drawables
{
base.LoadComplete();
- if (videoSprite == null) return;
+ if (video == null) return;
- using (videoSprite.BeginAbsoluteSequence(0))
- videoSprite.FadeIn(500);
+ using (video.BeginAbsoluteSequence(0))
+ video.FadeIn(500);
}
}
}
diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj
index ad9a835cdb..8d31fbf280 100644
--- a/osu.Game/osu.Game.csproj
+++ b/osu.Game/osu.Game.csproj
@@ -22,8 +22,8 @@
+
-
diff --git a/osu.iOS.props b/osu.iOS.props
index 6a32359ebe..e2b98720be 100644
--- a/osu.iOS.props
+++ b/osu.iOS.props
@@ -70,8 +70,8 @@
+
-
@@ -79,7 +79,7 @@
-
+