srb2thepast / osu-alltrick

A trainer for every skill in the rhythm game osu!
MIT License
12 stars 0 forks source link

oatlogo

osu! alltrick is an app aimed to give every single listed in osu!phd it's own pp system. It's inspried by DigitalHypno's osu!phd video.

https://user-images.githubusercontent.com/19241426/200956928-d7465949-5004-44c3-b7f7-724dc69ffc09.mp4

- An older FlowAim pp calculator from 9/11/2022, made in 30 minutes, wonderfully being broken by the power of Guess Who is Back.

!!!!! osu! alltrick is still in beta, and thus the calculations implemented are guaranteed to change drastically and be broken in many ways. Please report all bugs found onto the github page, and do not take the calculations shown as an objective measure of your skill!!! !!!!!

How do I use this!?!?!?!?!?!?!?

It's simple, really!!!

Currently, only windows is supported... Mac and Linux are incoming as soon as I can find a way to test and develop for the two.

    • Download the latest release over here.
    • Open the settings menu, It'll be the gray cog to the right of the top bar.
      • MAKE SURE YOU DO NOT PUBLICLY SHARE YOUR KEY OR YOUR OSU!AT SAVEFILE. READ ALL OF THE WARNINGS ON THE OSU!API PAGE. osu! alltrick only uses your API key in order to get details on the scores you set so it can be displayed in each skill. That api key is automatically saved to your savefile, but that means if you give your savefile to someone else they will also have your api key.
        • If you need to share your savefile, you can remove your apikey from it by entering "RESET" into the API Key box. If your key was removed successfully, the box should flash yellow rather than green or red.
    • Type your username into the Username box. If you change your username, you might have to input it again.
    • Set your osu! path location. Click on "Select" and navigate! The button to select that path will not show up until you are in your osu! install folder.
      • Usually, the path is "AppData/Local/osu!".
    • If your settings look something like this, you're be done! Now play a map on osu, set that 223000pp Aim Skill top play, and make the world proud!!!
      • Also, scores you set are only able to get submitted to osu! alltrick if it's submitted to osu! as well. That means if you set a play with lower score than another play with the same mods, it wont submit to osu! alltrick since osu! doesn't record those scores online.

aimage-removebg-preview (6)

Controls

Importing a score set on a specific map

If you want to import a score you've set in the past, just click on the download icon to the left of the top bar and input in the beatmap ID the score was set on. Currently, osu! alltrick is only able to import the play with the best score, regardless of what mods are applied.

The beatmap ID is the very last set of the 2 IDs in the link, for example, "osu.ppy.sh/beatmapsets/1229091#osu/2555568".

Updating

If there's ever a new update, the releases page will automatically open in your default browser when you open osu! alltrick. Just install the new release and delete the old release. Your scores will be transferred over easily as your savedata is stored in a stabler location.

Reporting Bugs

Simply make an issue with:

Wiki & Community

image The wiki contains information on how every skill works and even on how to make your own skill! (Maybe one day there will be community guides on how to improve your skills as well!) Click on the logo to the left to check it out!

image The discord server is currently a work in progress, but it's still open to the public. Click on the icon to the left to join!

Contributing

If you want to contribute to the development of a skill, check out the guide in the wiki! It (will be) crafted so that even the beginners to programming and the greatest haters of math will enjoy it.

There's also an Analyzer that lets you visualize the changes you make to your calculator and test them instantly:

https://user-images.githubusercontent.com/19241426/200947927-0d00020e-1d20-41d3-a26b-f056b11b59bf.mp4

If you want to contribute to the base, just follow the directions given below. Make sure to create an issue before starting to make something if you're planning make a pull request!!

Compiling

You will need three things:

  1. An IDE to code.
  2. .NET Framework
      • Download .NET6.0. (If you downloaded the .NET Coding Pack bundle from above, you already have it installed into VS Code.)
  3. Git

After all of that, simply open a terminal (ex. Command Prompt) in the folder you want to install osuAT to and run these three commands one by one to set it up:

git clone https://github.com/srb2thepast/osu-alltrick/main
cd osuAT
dotnet build

Then, if you're using VS Code, right click the folder you downloaded osu!AT into and click "Open With Code", then press Ctrl+Shift+` to open a terminal there for ease of access.

Now, if you want to create or edit a Skill, navigate to the SkillAnalyzer directory via the terminal with this command:

cd SkillAnalyzer

If you instead want to edit osuAT itself, navigate to the test browser with this command:

cd osuAT.Game.Tests

And finally, run osuAT!

dotnet run

Also, the savefile is stored in a seperate folder while testing, usually "osuAT.Game.Tests/bin/Debug/net6.0/dev_savedata", so that the main save file in AppData doesn't get overriden while testing.

Credits


# ppy Pty Ltd | osu-framework [MIT License]
    - Assets used: "osu!framework"

# ppy Pty Ltd | osu! [MIT License]
    - Assets used: "StarRatingDisplay.cs" [Modified]
      |            "osu.Game" [Namespace]
      |             |   |
      |            "ColourUtils.cs" [SampleFromLinearGradient() method]
      |             |   |
      |            "TestSceneStarRatingDisplay.cs" [Modified]
      |             |   |
      |            "StarDifficulty.cs" [Modified] 
      |             |   with dependencies from : "DifficultyRating.cs"
      |             |   |
      |            "ModIcon.cs" [Modified]
      |             |   with dependencies from : "OsuColour.cs" 
      |             |   |   
      |            "OsuIcon.cs"
      |             |   |
      |            "ModDisplay.cs" [Modified]
      |             |   with dependencies from : "ReverseChildIDFillFlowContainer.cs"
      |             |   |
      |            "TestSceneModDisplay.cs" [Modified]
      |             |   |
      |            "DrawableRank.cs" [Modified]
      |             |   with dependencies from : "OsuColour.cs"

# Piotrekol | OsuMemoryDataProvider [GNU General Public License v3.0]
    - Assets used: "OsuMemoryDataProvider"

# ppy Pty Ltd | osu-resources [Creative Commons Attribution-NonCommercial 4.0 International]
    - Assets used: "osuFont.bin"
      |             |
      |            "osuFont_0.png"

# ppy Pty Ltd | osu-tools [MIT License]
    - Assets used: "ProcessorWorkingBeatmap"
      |             |   with dependencies from : "LegacyHelper.cs"
      |            "StrainVisualizer.cs"
# [- Fonts - ] #

# Dan Sayers | Averia Sans Libre [Open Font License]
    - Assets used: "Averia Sans Libre Font"

# Joe Prince | Varela Round [Open Font License]
    - Assets used: "Varela Round Font"

# Joe Prince | Venera [Personal Use License]
    - Assets used: "Venera Font" 

# Haley Fiege | Sniglet [Open Font License]
    - Assets used: "Sniglet Font"

Special Thanks

DigitalHypno - For creating osu!phd and everything you've done for the community