1
0
Fork 0
mirror of https://github.com/ppy/osu-tools.git synced 2025-06-08 07:17:01 +09:00
No description
Find a file
2025-02-21 21:50:38 +01:00
.config Bump NVika tool to 4.0.0 2025-01-16 13:04:50 +01:00
.github Attempt to via nvika failure 2024-02-04 11:57:05 +08:00
.idea/.idea.osu.Tools/.idea Add missing idea metadata file 2021-08-02 03:18:52 +09:00
.vscode Point launch.json to new build directory 2024-02-15 23:37:31 +01:00
CodeAnalysis Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
PerformanceCalculator Review feedback 2025-02-21 21:50:38 +01:00
PerformanceCalculatorGUI Applied Mania fixes to PerformanceCalculatorGUI as well 2025-02-21 13:35:20 +01:00
.editorconfig Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
.gitattributes Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
.gitignore Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
LICENCE Update licence header 2019-01-24 18:48:24 +09:00
osu-tools.licenseheader Update licence header 2019-01-24 18:48:24 +09:00
osu.Tools.props Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
osu.Tools.sln Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
osu.Tools.sln.DotSettings Update configs, update packages, fix new warnings 2025-01-31 20:49:00 +05:00
README.md Bring README.md up to date 2025-02-08 19:44:48 +05:00
UseLocalOsu.ps1 Simplifications/improvements for base GUI code 2022-04-20 20:15:05 +03:00
UseLocalOsu.sh Use correct shell for local osu script 2022-08-02 15:58:40 +09:00

osu!tools

Build status CodeFactor dev chat

Tools for osu!.

Current Versions

This is part of a group of projects which are used in live deployments where the deployed version is critical to producing correct results. The master branch tracks ongoing developments. If looking to use the correct version for matching live values, please consult this wiki page for the latest information.

Requirements

Getting Started

I just want to run it

  • Clone the repository (git clone https://github.com/ppy/osu-tools)
  • Navigate to each tool's directory (i.e. cd PerformanceCalculator) and follow the instructions listed in the tool's README.
    • PerformanceCalculator - A tool for calculating the difficulty of beatmaps and the performance of replays.
    • PerformanceCalculatorGUI - A GUI tool for calculating the difficulty of beatmaps, changes in profile scores and leaderboards.

I want to make changes

Most relevant code is in the main ppy/osu repository. To make any meaningful changes you will likely need to edit that as well.

  • Clone all relevant repos into the same directory
git clone https://github.com/ppy/osu-tools
git clone https://github.com/ppy/osu
  • If you're planning to work on the difficulty and/or performance calculation changes you will need to use the pp-dev branch of the osu repository
cd osu
git checkout -b pp-dev origin/pp-dev
  • Run the ./UseLocalOsu.ps1 powershell script (or ./UseLocalOsu.sh) to use your local copy of ppy/osu

Code analysis

Before committing your code, please run a code formatter. This can be achieved by running dotnet format in the command line, or using the Format code command in your IDE.

We have adopted some cross-platform, compiler integrated analyzers. They can provide warnings when you are editing, building inside IDE or from command line, as-if they are provided by the compiler itself.

JetBrains ReSharper InspectCode is also used for wider rule sets. You can run it from PowerShell with .\InspectCode.ps1. Alternatively, you can install ReSharper or use Rider to get inline support in your IDE of choice.

I want to run someone else's changes

  • Clone all relevant repos into the same directory
git clone https://github.com/ppy/osu-tools
git clone https://github.com/ppy/osu
  • Navigate to osu repository and checkout version you want to run
cd osu
git remote add smoogi https://github.com/smoogipoo/osu.git
git fetch smoogi branch_name
git checkout -b branch_name smoogi/branch_name
  • Run the ./UseLocalOsu.ps1 powershell script (or ./UseLocalOsu.sh) to use your local copy of ppy/osu

Contributing

When it comes to contributing to the project, the two main things you can do to help out are reporting issues and submitting pull requests. You might want to refer to the contributing guidelines in the main osu! repository to understand how to help in the most effective way possible.

We love to reward quality contributions. If you have made a large contribution, or are a regular contributor, you are welcome to submit an expense via opencollective. If you have any questions, feel free to reach out to peppy before doing so.

Licence

osu!'s code, framework, and tools are licensed under the MIT licence. Please see the licence file for more information. tl;dr you can do whatever you want as long as you include the original copyright and license notice in any copy of the software/source.

Please note that this does not cover the usage of the "osu!" or "ppy" branding in any software, resources, advertising or promotion, as this is protected by trademark law.

Please also note that game resources are covered by a separate licence. Please see the ppy/osu-resources repository for clarifications.