Re-implement legacy hit object conversion.

This commit is contained in:
smoogipooo
2017-04-17 17:23:11 +09:00
parent 2767fbd81a
commit 09208adf81
28 changed files with 467 additions and 67 deletions

View File

@ -7,8 +7,8 @@ using System.IO;
using OpenTK.Graphics;
using osu.Game.Beatmaps.Events;
using osu.Game.Beatmaps.Timing;
using osu.Game.Modes.Objects;
using osu.Game.Beatmaps.Legacy;
using osu.Game.Modes.Objects.Legacy;
namespace osu.Game.Beatmaps.Formats
{
@ -29,6 +29,8 @@ namespace osu.Game.Beatmaps.Formats
// TODO: Not sure how far back to go, or differences between versions
}
private HitObjectParser parser;
private LegacySampleBank defaultSampleBank;
private int defaultSampleVolume = 100;
@ -84,6 +86,22 @@ namespace osu.Game.Beatmaps.Formats
break;
case @"Mode":
beatmap.BeatmapInfo.RulesetID = int.Parse(val);
switch (beatmap.BeatmapInfo.Mode)
{
case 0:
parser = new Modes.Objects.Legacy.Osu.HitObjectParser();
break;
case 1:
parser = new Modes.Objects.Legacy.Taiko.HitObjectParser();
break;
case 2:
parser = new Modes.Objects.Legacy.Catch.HitObjectParser();
break;
case 3:
parser = new Modes.Objects.Legacy.Mania.HitObjectParser();
break;
}
break;
case @"LetterboxInBreaks":
beatmap.BeatmapInfo.LetterboxInBreaks = int.Parse(val) == 1;
@ -303,8 +321,6 @@ namespace osu.Game.Beatmaps.Formats
{
beatmap.BeatmapInfo.BeatmapVersion = beatmapVersion;
HitObjectParser parser = new LegacyHitObjectParser();
Section section = Section.None;
bool hasCustomColours = false;