Skip to content
Swifter edited this page Mar 9, 2025 · 13 revisions

Prerequisites

Property Translations

What is this?

V2Info

Raw JSON ReMapper
_songAuthorName song.author
_songName song.title
_songSubName song.subTitle
_customData._assetBundle assetBundleChecksums

IDifficultyInfoV2

Raw JSON ReMapper
_beatmapCharacteristicName characteristic

ReMapper only loads Info.dat version 2.1.0 right now, but it is used like the 4.0.0 schema since it is generally a lot nicer.

Pipeline Info

When you create a pipeline, it reads the Info.dat of the input map location. You can then access it and change properties on it.

pipeline.infoAsV2.song.title = "My Map's Title"

The pipeline will save the changed Info.dat to the export location.

Difficulty Info

Difficulty Info Format

In the 2.1.0 schema, when looking for info of a specific beatmap, there is first an array for characteristics (Standard, NoArrows, Lawless.. etc.) and then difficulties (Easy, Normal, Hard.. etc.).

{
    _difficultyBeatmapSets: [ // characteristics
        {
            _difficultyCharacteristicName: "Standard",
            _difficultyBeatmaps: [ // difficulties
                {
                    _beatmapFilename: "EasyStandard.dat"
                }
                ...
            ]
        }
        ...
    ]
}

But in the 4.0.0 schema, everything is flattened into a single array.

{
    difficultyBeatmaps: [
        {
            characteristic: "Standard",
            difficulty: "Easy",
            beatmapDataFilename: "EasyStandard.dat"
        }
        ...
    ]
}

ReMapper expands upon this by making difficultyBeatmaps a key, value pair where the filename is the key and value is the information about the difficulty.

info.difficultyBeatmaps['ExpertStandard.dat'] 
/*
{
    characteristic: "Standard",
    difficulty: "Easy",
    beatmapDataFilename: "EasyStandard.dat"
}
*/

Using Difficulty Info

You can access the difficulty info tied to a difficulty by accessing difficultyInfo on it.

map.difficultyInfo

Settings Setter

On difficulty info, there's a settingsSetter property that works like the settings setter in Heck.

map.difficultyInfo.settingsSetter

Integers used as enums or booleans have been exchanged for more descriptive strings. (e.g. 0, 1 -> "Off", "On")

Here's an example of setting smoke off.

map.difficultyInfo.settingsSetter.graphics.smokeGraphicsSettings = 'Off'

Clone this wiki locally