Skip to content

Osmo is a tool to create, edit and manage your osu! skins with ease.

License

Notifications You must be signed in to change notification settings

BlackTasty/Osmo

Repository files navigation

Osmo

OSMO - A skin manager for osu!

OSMO stands for "Open Skin Manager for osu!" and builds upon the old Skin Manager from 2014. It uses the Material Design In XAML Toolkit to give you a clean and easy to navigate UI.

Status

Gitter GitHub issues GitHub last commit GitHub commits

GitHub release GitHub Release Date

GitHub (pre-)release Github Pre-Releases GitHub (Pre-)Release Date

First stable release ToDo

  • Implement a forum template manager (with autofill)
  • Add keyboard shortcuts
  • Skin element resize tool (for example create SD elements from HD elements)
  • Implement a custom file picker with Material Design style (and get rid of the default Win32 file picker)
  • Log file system
  • Simulator -> Test how your skin would look like in-game without starting osu! -> Currently in development
  • Context menus on various controls
  • Auto-Updater
  • Implement custom titlebar and remove MahApps.Metro dependency
  • Translation system
  • Translation files
  • English
  • Spanish
  • German

Contributing

If you want to introduce new user controls and/or add new controls to existing ones, please follow the MVVM pattern and the Material Design Guidelines.

Also please follow these guidelines:

  • Create Viewmodels inside the namespace "ViewModel" and append "ViewModel" at the end of the class name. (For example "SkinSelectViewModel")
  • If you add a new section to the sidebar, create a new usercontrol inside the namespace "UI". Every section must implement the Singleton pattern. Then open the class "OsmoViewModel", go to the constructor and add the section as a new SidebarEntry.
    • Example: new SidebarEntry(Helper.FindString("sidebar_home"), MaterialDesignThemes.Wpf.PackIconKind.Home, SkinSelect.Instance)
  • Feel free to translate Osmo into your language! To do so, follow these steps:
    • Create a copy of the "StringResources.xaml" file inside the namespace "Localisation"
    • Rename your copy like this: "StringResources.[culture code].xaml". Culture codes can be found here. An example for a German translation would be "StringResources.de.xaml".
    • Translate the text between ">" and "</system:String>" in every line. Don't change the "x:Key" attribute!
    • Finally open an issue with the title "Translation for [Language name] finished". Example: "Translation for German finished".

Screenshots

Home Screen

Home Screen

Skin Wizard

Skin Wizard

Skin Editor

Skin Editor

Skin Mixer

Skin Mixer

Animation preview

Demo Video Animation preview

Template Manager

Template Manager

Template Editor

Template Editor

Resize Tool

Resize Tool

Sliderball Creator

Demo Video Sliderball Creator

About

Osmo is a tool to create, edit and manage your osu! skins with ease.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages