Skip to content

Generating osu!stable conversion mappings

Dan Balasescu edited this page Jan 21, 2019 · 1 revision

Conversion mappings are a way to extract per-hitobject information from osu!stable, which can then be compared against osu!lazer to make sure that hitobjects are created correctly.

Generating the mappings

  1. Change to the Cutting Edge release stream.
  2. Create a beatmap which demonstrates the test case scenario.
  3. Select the beatmap in song select.
  4. Open Options and click the "Generate conversion mappings" button at the bottom.

Click the "Open osu! folder" button in Options, and you should see a new folder named "ConversionMappings".

The mappings are output per-ruleset, as a json + beatmap pair. For example:

1162021.osu
1162021-expected-conversion.json

Rename these files to something which describes the test case. Do not remove -expected-conversion.

Using the mappings

Copy both files into the ./Resources/Testing/Beatmaps situated in every ruleset project in osu!lazer.

Open the <Ruleset>BeatmapConversionTest.cs file in the relevant ruleset's test project, and add a new testcase attribute to the Test(string name) method, with the file name as the argument. For example:

[TestCase("1162021")]
public new void Test(string name)
{
    base.Test(name);
}