Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework beatmap conversion process to use IBeatmap #2491

merged 18 commits into from May 10, 2018


Copy link

@smoogipoo smoogipoo commented May 7, 2018


Significant changes:

  • WorkingBeatmap now exposes a GetPlayableBeatmap(RulesetInfo) method, which returns the converted beatmap with all mods applied. Previously this was done in RulesetContainer.
  • No more object-specific mods. e.g. IApplicableToHitObject<TObject> is now IApplicableToObject.
  • BeatmapConverter and BeatmapProcessor now take an IBeatmap constructor parameter, because some of them typically need to determine if the beatmap passed in is for the current ruleset or not, prior to conversion actually happening.

Currently broken:

  • Difficulty calculation - star difficulty is computed before a WorkingBeatmap becomes available during the import process. This process is wrong anyway.

@smoogipoo smoogipoo added this to the Candidate Issues milestone May 7, 2018
Copy link
Sponsor Member

peppy commented May 10, 2018

This is a pretty hard change to review, but everything seems to be in the right place. Let's go for it 👍 .

@peppy peppy merged commit 0afe33d into ppy:master May 10, 2018
@smoogipoo smoogipoo deleted the beatmap-conversion-rework branch June 15, 2018 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
None yet

Successfully merging this pull request may close these issues.

None yet

2 participants