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 added 3 commits May 7, 2018
@smoogipoo smoogipoo mentioned this pull request May 7, 2018
1 of 1 task complete
smoogipoo and others added 6 commits May 7, 2018
Copy link

@peppy 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 approved these changes May 10, 2018
@peppy peppy merged commit 0afe33d into ppy:master May 10, 2018
1 check passed
1 check passed
continuous-integration/appveyor/pr AppVeyor build succeeded
@smoogipoo smoogipoo deleted the smoogipoo:beatmap-conversion-rework branch Jun 15, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants