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

Move drawable hit-object adjustment from skin/ ruleset configuration to stage and mod. #2306

Open
andy840119 opened this issue Nov 30, 2024 · 1 comment
Assignees
Labels
code quality Improve code quality. skin About skin resource Stage Anything about any kinds of stage.

Comments

@andy840119
Copy link
Member

andy840119 commented Nov 30, 2024

Some of the skin components can be a part of the stage command.

Here's some example:

  • Font/Font size
  • Lyric Shader
  • ...

The expectation for the skin module:

  • Remove complex logic in the karaoke skin.
  • Karaoke skin should be as simple as what other rulesets (especially the mania ruleset) did.

The expectation for the stage module:

  • More commands for adjusting style-related properties (e.g. font, shader)
  • Can override some behavior (e.g. change the font) by mod. mod should be able to read the ruleset config and remove/generate some necessary commands/elements for the stage.
@andy840119 andy840119 added code quality Improve code quality. skin About skin resource labels Nov 30, 2024
@andy840119 andy840119 moved this to Ready in What's next Dec 1, 2024
@andy840119 andy840119 removed the status in What's next Dec 1, 2024
@andy840119 andy840119 self-assigned this Dec 1, 2024
@andy840119
Copy link
Member Author

andy840119 commented Dec 6, 2024

Here's the milestone:

M0 - Pre-process:

M1 - Use the command pattern to apply the lyric style.

M2 - Use the command pattern to apply the lyric font.

  • Create a new place for the lyric font.
  • Remove the lyric font element.

M3 - Use the command pattern to apply the note font.

  • Create a new place for the note style(or maybe just remove it).
  • Remove the lyric style element.

M4 - Clean-up the skin

  • Remove the layout definition element. Remove layout definition from skin. #2307
  • Should be possible to remove the ElementType in the osu.Game.Rulesets.Karaoke.Skinning.Elements
  • Should remove lots of binding and apply lyric style logic in the DrawableLyric.
  • Should make sure that GetConfig cannot query by hit-object.

M5 - Refactor:

  • ElementId and IHasPrimaryKey can be used in the stage element.
  • In order to let customized property able to be transformer, should implement the IInterpolable for some classes. See the example of the MarginPadding.

@andy840119 andy840119 changed the title Move some skin component into stage. Move drawable hit-object adjustment from skin/ ruleset configuration to stage and mod. Dec 7, 2024
@andy840119 andy840119 added the Stage Anything about any kinds of stage. label Dec 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code quality Improve code quality. skin About skin resource Stage Anything about any kinds of stage.
Projects
Status: No status
Development

No branches or pull requests

1 participant