1
0
mirror of https://github.com/ppy/osu.git synced 2025-03-15 14:07:19 +08:00

Merge pull request #3283 from smoogipoo/invalid-obj-types

Skip invalid hitobject types, log error instead
This commit is contained in:
Dean Herbert 2018-08-22 16:30:31 +09:00 committed by GitHub
commit ba048275fa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 4 deletions

View File

@ -408,11 +408,8 @@ namespace osu.Game.Beatmaps.Formats
parser = new Rulesets.Objects.Legacy.Osu.ConvertHitObjectParser(getOffsetTime(), FormatVersion);
var obj = parser.Parse(line);
if (obj != null)
{
beatmap.HitObjects.Add(obj);
}
}
private int getOffsetTime(int time) => time + (ApplyOffsets ? offset : 0);

View File

@ -10,6 +10,8 @@ using System.IO;
using osu.Game.Beatmaps.Formats;
using osu.Game.Audio;
using System.Linq;
using JetBrains.Annotations;
using osu.Framework.Logging;
using osu.Framework.MathUtils;
namespace osu.Game.Rulesets.Objects.Legacy
@ -37,6 +39,7 @@ namespace osu.Game.Rulesets.Objects.Legacy
FormatVersion = formatVersion;
}
[CanBeNull]
public override HitObject Parse(string text)
{
try
@ -191,7 +194,10 @@ namespace osu.Game.Rulesets.Objects.Legacy
}
if (result == null)
throw new InvalidOperationException($@"Unknown hit object type {type}.");
{
Logger.Log($"Unknown hit object type: {type}. Skipped.", level: LogLevel.Error);
return null;
}
result.StartTime = Convert.ToDouble(split[2], CultureInfo.InvariantCulture) + Offset;
result.Samples = convertSoundType(soundType, bankInfo);