Giter Club home page Giter Club logo

osuskinmixer's Introduction

Download for Windows

Send feedback Download for Windows

Create a skin mix in a couple clicks.

Preview

This is a tool that aims to get rid the days of opening your skins folder, editing .png images and watching tutorials.

It makes tinkering and editing skins a walk in the park, providing an easy to use interface that requires no prior knowledge of skinning.

Note

Go to the releases page to find downloads for other platforms.

Features

Create a skin mix in seconds

  • Choose what hitcircles to use, what sounds you want etc.. and it's done! - no need to scour through your skins folder in file explorer.

  • Expand an option by clicking its arrow button to explore a myriad of sub-options; you can even choose a specific .png file!

Modify your existing skins

  • Want to quickly change the cursor of a skin, or multiple skins at once?

  • Or.. do you want to convert a skin to use a smooth cursor trail, instant-fading hitcircles or an invisible cursor?

  • A couple clicks and your modified skin is ready to go!

Manage your skins folder

  • A place to view a preview of your skin, duplicate or delete it from your system. Search for a skin and open it directly in osu!

  • Do you have loads of skins? You can hide skins so they don't show up in osu! + restore them at any time from the skin manager.

Contributing

Feature requests and bug reports are more than welcome. If you are reporting a bug, attaching debug logs is optional but can be very useful for replication purposes. Steps to upload debug logs are shown on the issue template. To open an issue, go to the issue tracker.

If you wish to contribute in the form of pull requests, that is also welcomed. You can build from source using the .NET version of Godot 4.

Other links

Go to osu! forums post Donate

This project uses some assets from the osu-resources repository.

Features in osu! skin mixer such as deleting skins can be destructive, I cannot take responsibility for any damages to your osu! folder.

osuskinmixer's People

Contributors

rednir avatar valkyrienyanko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

osuskinmixer's Issues

Elements stored in assets folders are not copied to new skin in v1.3

Following the v1.3 release elements stored in Assets folders do not seem to be copied over to a newly created skin. The skin.ini specifies that these elements are stored in the Assets folder but the code doesn't seem to pick this up as none of these are copied. This was tested by creating a skin where all elements are taken from the same skin, where the skin has elements stored in a assets folder. The skin used is the one listed in this reddit post.

Assets Folder
image

Skin.ini
image

Scenario used to test
image

No score elements
image

No combo elements
image

No default elements
image

A feature to keep/add specific skin elements

One cool feature that would make stuff more easier is an option to choose exactly what skin elements to keep/leave, for example, the spinner RPM, hitcircle overlay etc

Mainly because I like to keep the spinner background, meter and RPM the same as the interface

Add option for diffirent game modes

Add an option that allows you to select a skin for diffirent game modes

for example if I wanted to use osu!mania gameplay from a diffirent skin and osu!standard gameplay from a diffirent skin

Save settings and refresh skin folder

Hi! First of all, this is an amazing program! So far, I only have 2 issues.

  1. There is currently no way to make the program refresh the skin folder for new skins you've added while the program is being open, which forces you to restart to get the new skins, which leads to another problem
  2. If your osu folder is in a diffrent location than the one that the program defaults to, it asks you every time you start up the program to select your skin folder

Different modes

Allow the gameplay elements for specific modes to be changed

Button for browsing for path

Right now, you have to manually write in your path. I feel like using a browse button and going through file explorer would be nice.

QOL feature.

Cursortail glitch

Cursortrail on the custom skin was long, when in the original skin it was short

osu.skin.maker.mp4

t.

Possible unnecessary inclusion of skin.ini

  // Check for file type match.
  if (
      ((extension == ".png" || extension == ".jpg" || extension == ".ini") && !option.IsAudio)
      || ((extension == ".mp3" || extension == ".ogg" || extension == ".wav") && option.IsAudio)
  )

Japanese characters not visible when selecting skin

Encountered this when attempting to merge a skin ( - ミニマリスト specifically)
screenshot053

Expected behavior:
Full skin name would appear as it does in stable

Experienced behavior:
Japanese characters are not shown
image

Skin merging works as expected, however I can imagine this could make selecting the correct skin difficult if you have several skin names containing exclusively Japanese characters.

Logs:
Probably not too relevant, however:
log.txt

score-x element does not get copied to created skin

The score-x and score-x@2x element do not get copied to the newly created skin. This causes the osu! client to use the default element causing visual problems as shown in the screenshots below. I believe that this element should be taken from the interface skin.

screenshot011

screenshot012

.osu-skin-mixer_working-skin

Something went wrong.

One or more errors occurred. (Length can not be less than zero. Parameter name : Length)

Question mark in skin name causes crash

WWW 2.01+Cactus+404+? causes a crash, but WWW 2.01+Cactus+404 does not.

[6:26:19 PM] Exception was thrown:

OsuSkinMixer.SkinCreationFailedException: Skin creation failure on 'Importing...' ---> System.IO.IOException: The filename, directory name, or volume label syntax is incorrect
  at System.IO.FileSystem.MoveDirectory (System.String sourceFullPath, System.String destFullPath) [0x00041] in <1400ea11d6fd49d4939be686a9549fb4>:0 
  at System.IO.DirectoryInfo.MoveTo (System.String destDirName) [0x000c0] in <1400ea11d6fd49d4939be686a9549fb4>:0 
  at (wrapper remoting-invoke-with-check) System.IO.DirectoryInfo.MoveTo(string)
  at OsuSkinMixer.SkinCreator.CreateSkin (System.Threading.CancellationToken cancellationToken) [0x00226] in <e250f2b6acc84d61849098096b1ee33b>:0 
  at OsuSkinMixer.SkinCreator.Create (System.Boolean overwrite, System.Threading.CancellationToken cancellationToken) [0x00081] in <e250f2b6acc84d61849098096b1ee33b>:0 
   --- End of inner exception stack trace ---
  at OsuSkinMixer.SkinCreator.Create (System.Boolean overwrite, System.Threading.CancellationToken cancellationToken) [0x000a9] in <e250f2b6acc84d61849098096b1ee33b>:0 
  at OsuSkinMixer.Main+<>c__DisplayClass25_0.<CreateSkin>b__2 () [0x00021] in <e250f2b6acc84d61849098096b1ee33b>:0 
  at System.Threading.Tasks.Task.InnerInvoke () [0x0000f] in <1400ea11d6fd49d4939be686a9549fb4>:0 
  at System.Threading.Tasks.Task.Execute () [0x00000] in <1400ea11d6fd49d4939be686a9549fb4>:0

Scrolling Skins

I have a lot of skins so I should scroll down to see all of them on the list to choose the features. Problem is my scrolling wheel is broken so there are some skins I can't reach except I change their name so they show up on top. Adding a scrolling bar or a click and drag feature could solve this pretty easily I think

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.