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

Apply major cleanup to the playfield judgement logic #32

Merged
merged 12 commits into from
Jul 7, 2020
Merged

Apply major cleanup to the playfield judgement logic #32

merged 12 commits into from
Jul 7, 2020

Conversation

frenzibyte
Copy link
Contributor

My initial goal upon stepping on this was to fix rewinding on hit explosions, which was a simple Expire() -> Expire(true), but I really didn't like how it is all out stuffed inside a method, so I tidied up the entire thing, hope it's readable and better than before.

  • As mentioned above, this fixes half of rewinding.

@frenzibyte frenzibyte changed the title Apply major cleanup to the playfield logic Apply major cleanup to the playfield judgement logic Jun 14, 2020
@swoolcock swoolcock mentioned this pull request Jun 14, 2020
9 tasks
Copy link
Collaborator

@swoolcock swoolcock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice work.

osu.Game.Rulesets.Rush/Judgements/HeartJudgement.cs Outdated Show resolved Hide resolved
var r = (RushJudgementResult)br;

application?.Invoke(r);
r.PlayerCollided = drawableRuleset.PlayerCollidesWith(r.HitObject);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the player's position going to be correct at this time when rewinding? It's based solely on transforms triggered by prior actions.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when rewinding, results would only be reverted as seen in DrawableHitObject.Update() (i.e. CheckForUpdate is never called, thus ApplyResult is never called), I've updated the boolean here as it is more correct since it'll remove the unintended direct connection between HealthProcessor and DrawableRuleset.

osu.Game.Rulesets.Rush/Judgements/SawbladeJudgement.cs Outdated Show resolved Hide resolved
@swoolcock
Copy link
Collaborator

@frenzibyte Resolve the conflicts and I'll merge this one.

@swoolcock swoolcock merged commit 75b76ad into Beamographic:master Jul 7, 2020
@frenzibyte frenzibyte deleted the cleanup-playfield-logic branch July 7, 2020 05:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants