forum

A new skinning system is coming

posted
Total Posts
27
Topic Starter
smoogipoo
Hey there. In moving forward with osu!, we've had to make a few changes regarding skinning.
Specifically, the first and main reason for this post is that skinning osu!mania will soon be drastically changed to make room for greater flexibility.
I also want to stress that this is a completely new system to all game modes and you may experience undesired results - this post serves the second purpose of bringing these issues into light such that we can fix them in a timely manner.

So what has changed regarding osu!mania skinning?
  1. Your osu!mania skins will be automatically migrated into the skin.ini file regardless of your skin version. All changes listed below will likewise automatically be applied with this conversion. No changes to nK.ini files after this point will have any effect.
  2. The following defines the structure for osu!mania skins inside skin.ini:
    [Mania]
    Keys: 4
    JudgementLine: 0
    ...(Other properties here)...)

    [Mania]
    Keys: 5
    JudgementLine: 1
    ...
    Note that the Keys property determines the number of keys for which the skin applies to. The above examples will apply to 4K and 5K respectively.

  3. The property BarlineWidth has been renamed to BarlineHeight.
  4. The property ColumnLine has been removed.
  5. The property ColumnLineWidth has been reworked and now contains comma-split decimal values defining the widths of the column lines. Example:
    [Mania]
    Keys: 4
    ColumnLineWidth: 2,2,2,2,2
    Or:

    [Mania]
    Keys: 4
    ColumnLineWidth: 2.8,2.8,2.8,2.8,2.8
    Note that there must be Keys + 1 amount of values.

  6. The property SpecialPositionLeft has been removed.
  7. The property SpecialStyle has been reworked with possible values:
    0 - No special style
    1 - Left special style
    2 - Right special style
  8. The property FontCombo has been replaced by ComboPrefix and ComboOverlap under the [Fonts] header. Example:
    [Fonts]
    ComboPrefix: score
    ComboOverlap: 0
  9. The property NoteImage#T has been added where # is the column, for skins version 2.5 and higher. This allows you to skin the 'tail' note of mania sliders the same way as the head note and body. Example:
    [General]
    Version: 2.5

    [Mania]
    Keys: 4
    NoteImage0T: Arrows\leftT
  10. The property ColumnSpacing has been added which allows you to increase the spacing between columns. Example:
    [Mania]
    Keys: 2
    ColumnSpacing: 5
    OR

    [Mania]
    Keys: 4
    ColumnSpacing: 5,5,5
    Note that the number of values is equal to the number of keys - 1.
What has changed in general skinning?
  1. The properties ComboPrefix and ComboOverlap have been added under the [Fonts] header. These properties will be used for all skins version 2.4 and higher and affects the combo counter font during play. Example:
    [Fonts]
    ComboPrefix: score
    ComboOverlap: 1
A sample of the new format is available here.

This is just the tip of the iceberg and there will be even more changes coming soon.
Full Tablet

smoogipooo wrote:

The property FontCombo has been removed. You should now use the property ScorePrefix under the [Fonts] header. Example:
Code:
[Fonts]
ScorePrefix: default
Why was FontCombo removed?
Topic Starter
smoogipoo
How does a ComboPrefix property under the [Fonts] header sound instead?

Edit: Updated.
Full Tablet

smoogipooo wrote:

How does a ComboPrefix property under the [Fonts] header sound instead?
It would keep the current functionality, but the (minor) problem would be that the name and location of the option would be misleading.

All game modes have a combo counter, but the current FontCombo option only applies to osu!mania.

Making ComboPrefix work for all modes would change how old skins look.

A good solution (IMO) would be adding ComboPrefix to [Fonts], but keeping an option for changing specifically osu!mania combo font for each key mode in [Mania]. So:
  1. osu!mania first tries to use the font specified in the specific keycount, if not available, use ComboPrefix, if not available either, use ScorePrefix.
  2. Other game modes use ComboPrefix if available, otherwise, use ScorePrefix.
Topic Starter
smoogipoo
Other gamemodes will have to be incremented to skin version 2.4 to take advantage of ComboPrefix. ComboPrefix still applies for all mania skins - I don't believe there are many situations where each of your key skins differ by so much that you need another font.
manjumochi
Nice.
But I request to have a option to remove or change overlay of tint objects (play-warningarrow and spinner-glow , per example), btw this is the only case that makes me still on Version 1 skin (despite prefer a lot the spinner-meter stuff than spinner-glow because of better displaying of information).

Edit:
spinner-glow could be better if it goes from tint > non-tint when cleared spin. IMO.
Howl
Neat, indeed! But what about this system? t/192665 - It has been in the confirmed bugs for ages.
Topic Starter
smoogipoo
A few additional changes and additions have been implemented in osu!mania:

  1. The property NoteImage#T has been added where # is the column, for skins version 2.5 and higher. This allows you to skin the 'tail' note of mania sliders the same way as the head note and body. Example:
    [General]
    Version: 2.5

    [Mania]
    Keys: 4
    NoteImage0T: Arrows\leftT
  2. The property ColumnSpacing has been added which allows you to increase the spacing between columns. Example:
    [Mania]
    Keys: 2
    ColumnSpacing: 5
    OR

    [Mania]
    Keys: 4
    ColumnSpacing: 5,5,5
    Note that the number of values is equal to the number of keys - 1.
Kert
When are we going to see fully customized textured sliders? \:D/
Topic Starter
smoogipoo
It's one of the next items on the list :)
Kert
Wow I honestly expected this is long forgotten haha
Keep it up!

Btw shouldn't rgba addition be mentioned here too?
Garygoh884
The gaps set by the ColumnWidth values should be customizable by color. It's always transparent as it is.

Also, it would been better if sprites will be used to cover these, IMO.
mm201

smoogipooo wrote:

It's one of the next items on the list :)
Please consult with me before you do this. I have the complete implementation planned already.
Oni_old_1
:)
DJPop

smoogipooo wrote:

[*] The property ColumnLineWidth has been reworked and now contains comma-split decimal values defining the widths of the column lines. Example:
[Mania]
Keys: 4
ColumnLineWidth: 2,2,2,2,2
Or:

[Mania]
Keys: 4
ColumnLineWidth: 2.8,2.8,2.8,2.8,2.8
Note that there must be Keys + 1 amount of values.
For ColumnLineWidth, it's not working as you told. It will set the width of both side for each column.
Now from screenshot, how can I get rid of left and right lines, leave alone the middle one?
MillhioreF
You only put 8 ColumnLine numbers, so I think osu! is replicating old behavior. Try "ColumnLineWidth: 0,0,0,0,1,0,0,0,0"
Topic Starter
smoogipoo
Nah that's my fault, sorry for that :p
BanchoBot
This issue has been addressed by the following change by smoogipooo:

Fix ColumnLineWidth not working as intended.

It will be applied to builds newer than b20141222.10.

Please follow up in this thread on the status of this issue after you have tested it. If it has not yet been resolved, please provide any new details that may have arisen since before this change.
xasuma

BanchoBot wrote:

This issue has been addressed by the following change by smoogipooo:

Fix ColumnLineWidth not working as intended.

It will be applied to builds newer than b20141222.10.

Please follow up in this thread on the status of this issue after you have tested it. If it has not yet been resolved, please provide any new details that may have arisen since before this change.
LOL! banchobot in the forums!
Thats pretty funny
ovnz
Actually, ColumnSpacing doesn't impacts the notes
Redon
Redon
Factorial

Redon wrote:

Can you explain why? I can't think of any advantage to this change. Instead, it makes changing key-specific ini settings more annoying than it used to be. It turns the skin.ini file into a bloated mess. It limits the ways in which I can exchange different versions of key ini files: I used to be able to keep different copies of each ini file with different color settings, and exchange any of them individually, without having to open a file and copy-paste sections of it into another. If greater flexibility is your goal, I think this is not the way to go.
Something like this one: p/3407817
Blaizer
Just wanted to let everyone know that the wiki page (https://osu.ppy.sh/wiki/Skin.ini) has been updated with a few new osu!mania skinning options including "WidthForNoteHeightScale" to make your notes thinner or fatter in terms of height, "NoteFlipWhenUpsideDown" to control the vertical flip of sprites while under UpsideDown, and "ColumnRight", "LightPosition", as well as a few others. Some other more recent options are "KeysUnderNotes", "NoteBodyStyle", and all the options for specifying different image file names for things such as "mania-stage-right.png".

Now all osu!mania skinning options that are in the game are documented.

Sorry for the thread necro, but I didn't think this small update warranted a new thread.
IamBaum
Oh nice, i need to experiment with these later :)
JapanYoshiTheGamer
How does the "ComboPrefix" work to specify a different combo font than the osu!/Taiko/CtB combo font? I can't make it work.

EDIT: I think a better way to go about this is to implement new [Fonts] attributes called ManiaPrefix and ManiaOverlap. They could fall back to ComboPrefix/ComboOverlap (which in turn falls back to ScorePrefix/ScoreOverlap). If there's sufficient demand for it, we could make TaikoPrefix/TaikoOverlap and FruitsPrefix/FruitsOverlap.
AncuL
why do you necropost this thread lol
https://osu.ppy.sh/wiki/Category:Skinning
or you can ask for a change on the feature request (?)
Please sign in to reply.

New reply