Skip to content

typeRYOON/VSRG-UNO-R3

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Preview

Arduino VSRG Auto Player w/ Stats Display!

GitHub last commit GitHub issues GitHub pull requests GitHub License

AboutInstallationPrerequisitesBuildingHardwareDocumentsDependenciesLicenseContact

About The Project

VSRG-UNO-R3 is a hack and stats display for osu!mania that has an Arduino microcontroller extension that you can optionally build. You can customize the configuration you'd like to run in the custom GUI that was built for this program.

The GUI lets you bind to specific serial ports for transmission to and from the optionally built Arduino microcontrollers. The auto playing hack allows for 4, 5, 6, and 7 key gameplay to be automated.

There are displays that you can turn on, they show your keys per second and key strokes as you play. Each Arduino feature has a computer version, allowing you to use whichever one you'd like. This program was created for CS362 at the University of Illinois Chicago.


Preview Showcase Video

[ ↑ back to top ↑ ]

Installation


Note

Go over to Releases and download VSRG-UNO-R3.zip or VSRG-UNO-R3.7z.
Skip the Building from source section if you're using the Release binary.                                   

Prerequisites

  • Windows : This project only works on Windows due to the usage of Windows.h.
  • Arduino hardware : Some hardware listed below (only if you want to use Arduino features).

Building from source

  1. Clone the repo
    git clone https://github.com/typeRYOON/VSRG-UNO-R3.git
    cd computer
  2. Open CMakeLists.txt in Qt Creator to open the project.
    - Please make sure you're using Qt 6.6.2+.
    - Install additional libraries Qt::WebSockets and Qt::SerialPort in the Qt Maintenance Tool.
    
  3. Select the release build in Qt Creator.
  4. Move folder res/res from the root folder to the created release folder.
  5. Build the Release executable in Qt Creator.
  6. In your release Qt folder run windeployqt6.exe.
    cd C:/Qt/6.6.2/mingw_64/bin
    windeployqt6 --release --no-translations --no-opengl-sw --no-quick-import "%RELEASE_DIR%"

[ ↑ back to top ↑ ]

Hardware


Note

This project allows you to use 0, 1, or both Arduino microcontrollers at once.
Build the below configurations depending on your materials and wanted Arduino features.

flowchart LR
B(Arduino 1 <AP>) -- USB Serial --> A(Computer Program)
A -- USB Serial --> C(Arduino 2 <KPS/KS>)
B -- I2C Wire--> C
Loading

Arduino 1: Autoplayer

  • 4x-7x Photoresistors
  • 4x-7x 10K ohm resistors
  • 4x-7x LEDs
  • 4x-7x 220 ohm resistors
  • 1x Arduino Uno R3
  • 1x Breadboard
  • 1x Serial cable
  • Supplements: wires (extensions, double sided), tape, styrofoam                                   

Arduino 2: Key-strokes / Keys per second display

  • 2x 10K Ohm potentiometer
  • 1x 16x2 LCD display
  • 1x Nokia 5110 LCD
  • 4x 10K ohm resistors
  • 1x 220 ohm resistor
  • 1x 330 ohm resistor
  • 1x 1K omh resistor

[ ↑ back to top ↑ ]

Usage


Important

Make sure to set your 4, 5, 6, and 7 keys in game.
Check the errors.txt file if you're curious about what errors are what.
Please make sure to have an osu! account, this program needs a user's osu!.config file to read from.                 

Note

Please use the given osu skin for the Arduino autoplayer. (here)
Here are some test beatmaps.

  • Have osu! open already. (download)
  • Open VSRG-UNO-R3.exe.
  • If you're planning to use Arduino features open the settings page via the arduino button.
    • In the port area there are two port entries, enter the COM port(s) that your Arduino are connected to.
      • (e.g. COM3, COM4, check Arduino IDE)
    • Click on the green refresh button, this will assign the ports.
      • AP stands for Autoplayer (Arduino 1).
      • KS/KPS stands for Key-strokes (Arduino 2).
  • Now click on the features you'd like to run for the current beatmap.
    • AP will auto-play the current beatmap.
    • KS will show the key strokes as an animation.
    • KPS will show the keys per second.
  • When ready, enter a beatmap and do the following:
    • If you press H, the selection will start running.
    • If you press J or the terminate button, this will terminate the selection early.
      • The current selection will terminate when you exit to the menu or enter the results screen.
  • The message box in the bottom left will show you the current state.
  • The generation history is to the right of the message box.

[ ↑ back to top ↑ ]

Dependencies


Note

You don't need to install anything.
The following software is used.                                                

[ ↑ back to top ↑ ]

License

Distributed under the GNU General Public License v3.0. See LICENSE.md for more information.                        

[ ↑ back to top ↑ ]

Contact

If something needs my direct attention, please message me using the following connections.                       

[ ↑ back to top ↑ ]