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

Apply NRT to osu.Game.Betamaps.Formats namespace

This commit is contained in:
Dean Herbert 2023-08-16 19:34:37 +09:00
parent f9ca7f3e0e
commit 49fc9655d2
7 changed files with 18 additions and 31 deletions

View File

@ -1,13 +1,10 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using JetBrains.Annotations;
using osu.Game.IO; using osu.Game.IO;
using osu.Game.Rulesets; using osu.Game.Rulesets;
@ -45,7 +42,7 @@ namespace osu.Game.Beatmaps.Formats
/// Register dependencies for use with static decoder classes. /// Register dependencies for use with static decoder classes.
/// </summary> /// </summary>
/// <param name="rulesets">A store containing all available rulesets (used by <see cref="LegacyBeatmapDecoder"/>).</param> /// <param name="rulesets">A store containing all available rulesets (used by <see cref="LegacyBeatmapDecoder"/>).</param>
public static void RegisterDependencies([NotNull] RulesetStore rulesets) public static void RegisterDependencies(RulesetStore rulesets)
{ {
LegacyBeatmapDecoder.RulesetStore = rulesets ?? throw new ArgumentNullException(nameof(rulesets)); LegacyBeatmapDecoder.RulesetStore = rulesets ?? throw new ArgumentNullException(nameof(rulesets));
} }
@ -63,7 +60,7 @@ namespace osu.Game.Beatmaps.Formats
throw new IOException(@"Unknown decoder type"); throw new IOException(@"Unknown decoder type");
// start off with the first line of the file // start off with the first line of the file
string line = stream.PeekLine()?.Trim(); string? line = stream.PeekLine()?.Trim();
while (line != null && line.Length == 0) while (line != null && line.Length == 0)
{ {

View File

@ -1,8 +1,6 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
using System.Collections.Generic; using System.Collections.Generic;
using osuTK.Graphics; using osuTK.Graphics;
@ -13,7 +11,7 @@ namespace osu.Game.Beatmaps.Formats
/// <summary> /// <summary>
/// Retrieves the list of combo colours for presentation only. /// Retrieves the list of combo colours for presentation only.
/// </summary> /// </summary>
IReadOnlyList<Color4> ComboColours { get; } IReadOnlyList<Color4>? ComboColours { get; }
/// <summary> /// <summary>
/// The list of custom combo colours. /// The list of custom combo colours.

View File

@ -1,8 +1,6 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
#pragma warning disable 618 #pragma warning disable 618
using System; using System;
@ -36,11 +34,11 @@ namespace osu.Game.Beatmaps.Formats
/// </summary> /// </summary>
private const double control_point_leniency = 1; private const double control_point_leniency = 1;
internal static RulesetStore RulesetStore; internal static RulesetStore? RulesetStore;
private Beatmap beatmap; private Beatmap beatmap = null!;
private ConvertHitObjectParser parser; private ConvertHitObjectParser? parser;
private LegacySampleBank defaultSampleBank; private LegacySampleBank defaultSampleBank;
private int defaultSampleVolume = 100; private int defaultSampleVolume = 100;
@ -222,7 +220,7 @@ namespace osu.Game.Beatmaps.Formats
case @"Mode": case @"Mode":
int rulesetID = Parsing.ParseInt(pair.Value); int rulesetID = Parsing.ParseInt(pair.Value);
beatmap.BeatmapInfo.Ruleset = RulesetStore.GetRuleset(rulesetID) ?? throw new ArgumentException("Ruleset is not available locally."); beatmap.BeatmapInfo.Ruleset = RulesetStore?.GetRuleset(rulesetID) ?? throw new ArgumentException("Ruleset is not available locally.");
switch (rulesetID) switch (rulesetID)
{ {

View File

@ -1,15 +1,12 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using JetBrains.Annotations;
using osu.Game.Audio; using osu.Game.Audio;
using osu.Game.Beatmaps.ControlPoints; using osu.Game.Beatmaps.ControlPoints;
using osu.Game.Beatmaps.Legacy; using osu.Game.Beatmaps.Legacy;
@ -34,8 +31,7 @@ namespace osu.Game.Beatmaps.Formats
private readonly IBeatmap beatmap; private readonly IBeatmap beatmap;
[CanBeNull] private readonly ISkin? skin;
private readonly ISkin skin;
private readonly int onlineRulesetID; private readonly int onlineRulesetID;
@ -44,7 +40,7 @@ namespace osu.Game.Beatmaps.Formats
/// </summary> /// </summary>
/// <param name="beatmap">The beatmap to encode.</param> /// <param name="beatmap">The beatmap to encode.</param>
/// <param name="skin">The beatmap's skin, used for encoding combo colours.</param> /// <param name="skin">The beatmap's skin, used for encoding combo colours.</param>
public LegacyBeatmapEncoder(IBeatmap beatmap, [CanBeNull] ISkin skin) public LegacyBeatmapEncoder(IBeatmap beatmap, ISkin? skin)
{ {
this.beatmap = beatmap; this.beatmap = beatmap;
this.skin = skin; this.skin = skin;
@ -180,8 +176,8 @@ namespace osu.Game.Beatmaps.Formats
writer.WriteLine("[TimingPoints]"); writer.WriteLine("[TimingPoints]");
SampleControlPoint lastRelevantSamplePoint = null; SampleControlPoint? lastRelevantSamplePoint = null;
DifficultyControlPoint lastRelevantDifficultyPoint = null; DifficultyControlPoint? lastRelevantDifficultyPoint = null;
// In osu!taiko and osu!mania, a scroll speed is stored as "slider velocity" in legacy formats. // In osu!taiko and osu!mania, a scroll speed is stored as "slider velocity" in legacy formats.
// In that case, a scrolling speed change is a global effect and per-hit object difficulty control points are ignored. // In that case, a scrolling speed change is a global effect and per-hit object difficulty control points are ignored.
@ -585,7 +581,7 @@ namespace osu.Game.Beatmaps.Formats
return type; return type;
} }
private LegacySampleBank toLegacySampleBank(string sampleBank) private LegacySampleBank toLegacySampleBank(string? sampleBank)
{ {
switch (sampleBank?.ToLowerInvariant()) switch (sampleBank?.ToLowerInvariant())
{ {
@ -603,7 +599,7 @@ namespace osu.Game.Beatmaps.Formats
} }
} }
private int toLegacyCustomSampleBank(HitSampleInfo hitSampleInfo) private int toLegacyCustomSampleBank(HitSampleInfo? hitSampleInfo)
{ {
if (hitSampleInfo is ConvertHitObjectParser.LegacyHitSampleInfo legacy) if (hitSampleInfo is ConvertHitObjectParser.LegacyHitSampleInfo legacy)
return legacy.CustomSampleBank; return legacy.CustomSampleBank;

View File

@ -1,8 +1,6 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence. // Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text. // See the LICENCE file in the repository root for full licence text.
#nullable disable
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -19,10 +17,10 @@ namespace osu.Game.Beatmaps.Formats
{ {
public class LegacyStoryboardDecoder : LegacyDecoder<Storyboard> public class LegacyStoryboardDecoder : LegacyDecoder<Storyboard>
{ {
private StoryboardSprite storyboardSprite; private StoryboardSprite? storyboardSprite;
private CommandTimelineGroup timelineGroup; private CommandTimelineGroup? timelineGroup;
private Storyboard storyboard; private Storyboard storyboard = null!;
private readonly Dictionary<string, string> variables = new Dictionary<string, string>(); private readonly Dictionary<string, string> variables = new Dictionary<string, string>();

View File

@ -232,6 +232,6 @@ namespace osu.Game.Skinning
} }
private static Color4 getComboColour(IHasComboColours source, int colourIndex) private static Color4 getComboColour(IHasComboColours source, int colourIndex)
=> source.ComboColours[colourIndex % source.ComboColours.Count]; => source.ComboColours![colourIndex % source.ComboColours.Count];
} }
} }

View File

@ -203,6 +203,6 @@ namespace osu.Game.Skinning
} }
private static Color4 getComboColour(IHasComboColours source, int colourIndex) private static Color4 getComboColour(IHasComboColours source, int colourIndex)
=> source.ComboColours[colourIndex % source.ComboColours.Count]; => source.ComboColours![colourIndex % source.ComboColours.Count];
} }
} }