Skip to content

Chart style noteskin update#261

Open
Psycast wants to merge 12 commits intobetafrom
chart-style-notskin-update
Open

Chart style noteskin update#261
Psycast wants to merge 12 commits intobetafrom
chart-style-notskin-update

Conversation

@Psycast
Copy link
Collaborator

@Psycast Psycast commented Feb 28, 2026

Styles

Add alias/source.
These allow a style to copy all values from an existing style except for the name & id, but still allow a noteskin to fallback to the source style.

- Change to std::vector.
- Fix minimap column x position on >16 column counts crashing out-of-bounds crash.
- Implement additional chart styles. (See Classic noteskin)

Noteskins

Change load order from style-id or all-styles, to style-id, alias-id, all-styles.
- This allows a specific style to override the all-styles, such as dance-routine.
- alias-id is only checked if a style is an alias of another such as dance-couple -> dance-double.

Classic
Combine solo and standard textures, expand to have center pad support.

Add support for:
- dance-threepanel (3 key)
- pump-single
- pump-double
- pump-halfdouble
- techno-single4 (4 key)
- techno-single5 (5 key)
- techno-single8 (8 key)
- techno-single9 (9 key)
- techno-double4 (8 key)
- techno-double5 (10 key)
- techno-double8 (16 key)
- techno-double9 (18 key)

Pump
Fix halfdouble hold/roll tails not being defined.

Bar
Add noteskin override for dance-routine.

Circle
Update skin for all-styles support.
Add noteskin override for dance-routine.


Closes #214, #240

This allows a style to copy the values of a previously defined style, reducing the need to copy/paste the entire structure.
This allows finding all styles that source from a different style, so that noteskins can fallback to the source styles.

`pump-couple` is derived from `pump-double`.

Finding the aliases of `pump-double` would return `pump-couple`.
This changes the load order from noteskins to search for the `style-id`, `alias-id`, `all-styles` instead of just `style-id` or `all-styles`. `alias-id` is skipped if not set.

This allows a noteskin to override a specific style even if all-styles is defined.

Also adds aliases to the supported list if the base style is added.
This prevents a out-of-bounds crash on large column count styles due to positions below 0 or above MAP_WIDTH exceeding the buffer.
*-couple will fallback to *-double due to being an alias.
Add support for:
dance-threepanel
pump-single
pump-double
pump-halfdouble
all-styles

Remove unnecessary files as solo texture covered all bases, and expand to cover center style notes.

All Styles uses the center notes as a generic lane note.
Convert to all-styles noteskin.

dance-routine left intentionally.
Fix hold/roll tails on halfdouble.
Compress images.
Add dance-routine override.
Compress images.
These range from 4-18 columns.
Also includes classic noteskin support for them.

techno-single4 = dance-single
techno-single5 = pump-single
techno-single8
techno-single9
techno-double4 = dance-double
techno-double5 = pump-double
techno-double8
techno-double9

Fixed #240
Clamp any SetPixels x position to within bounds, not just the column indexes.
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.

[Feature Request] Techno game mode support [Feature Request] Dance-threepanel support

1 participant