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

Migrate the game to use an IBeatmap interface #2490

merged 9 commits into from May 10, 2018


2 participants

smoogipoo commented May 7, 2018

This is a half-proposal half-solution. Half-proposal because we may not need to go so far to use this interface game-wide - even where non-converted beatmaps are expected, but I think it makes sense to.
We can try to not change it game-wide and see how that goes, too.

The idea behind this change is that we can substitute ruleset-specific beatmaps in-place of non-ruleset-specific beatmaps at any point in time. One particular use-case is beatmap statistics, for which I envision rulesets being able to return converted IBeatmaps which derive some GetStatistics() method to return some ruleset-specific beatmap statistics.

E.g (upcoming PR):

screen shot 2018-05-07 at 9 46 34 am

@smoogipoo smoogipoo added the proposal label May 7, 2018

@smoogipoo smoogipoo added this to the Candidate Issues milestone May 7, 2018

@smoogipoo smoogipoo referenced this pull request May 7, 2018


Rework beatmap conversion process to use IBeatmap #2491

1 of 1 task complete

peppy approved these changes May 10, 2018

@peppy peppy merged commit 7fd38e4 into ppy:master May 10, 2018

1 check passed

continuous-integration/appveyor/pr AppVeyor build succeeded

@peppy peppy added the code quality label May 10, 2018

@smoogipoo smoogipoo deleted the smoogipoo:i-beatmap branch Jun 15, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment