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

Scroll speed support and preliminary refactoring for per-note effects #445

Closed
wants to merge 15 commits into from

Conversation

123jimin
Copy link

@123jimin 123jimin commented Apr 3, 2021

This PR plans to implement scroll_speed modifier (how to specify this in ksh is not yet decided), and re-implement stops using it.

  • Read stops as scroll speed mods
  • Implement scroll speed changes (speed >= 0)
  • Implement scroll speed changes (speed < 0)
  • Evaluate performance impact (play a long chart and compare loading time / per-frame execution time)

This PR also includes preliminary refactoring:

  • Separate graph logic for effects
  • Moved more Beatmap-related manipulations inside Beatmap
  • Refactor BeatmapPlayback (no longer assumes that notes are added in a linear order)
  • Reduce usage of raw pointers
  • Remove unsupported binary format
  • Refactor render logic, mostly related to deciding note positions and view matrices

This is to support following features, but does not implement those (separated to future PRs):

  • Per-note custom camera effects
  • KSON camera effect support
  • Bezier graph support

This and future PR will not try to implement bezier lasers and refactor ObjectState (no curved lasers for now).

@123jimin 123jimin marked this pull request as ready for review April 10, 2021 14:40
@123jimin
Copy link
Author

While the visual distance computation logic is unoptimized, its performance impact was measured to be negligible.
Some long button behaviors and laser behaviors certainly needs improvements, but I think that this PR can be merged to develop now, and further improvements / implements would be built upon this and made into separate PRs.

@123jimin
Copy link
Author

123jimin commented Oct 4, 2021

Will separate this into two PRs (refactor & scroll-speed)

@123jimin 123jimin closed this Oct 4, 2021
@123jimin 123jimin deleted the 202104-scroll-speed branch April 3, 2022 13:47
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.

1 participant