0bd72e731a
Implemented basic features (mostly stable). The remaining features are mostly graphical. - Added package org.xerial.sqlite-jdbc. All scores are saved to .opsu_scores.db on table `scores` after a game completes. - Added "Scores" class to handle all game score data (including database connections). The "Score" subclass encapsulates all database fields. - Added "score viewing" constructor to GameData, for use only in the ranking screen. - Draw the grade of the highest score next to expanded song buttons in the song menu. - Added "bit" and "abbrev" fields to GameMod, used in storing/displaying scores. - Hide the retry/exit buttons in the ranking screen when viewing a score. Other changes: - Removed "objectCount" field in GameData (no longer necessary). - Removed "getID()" method in GameMod (no longer used). - Moved most drawing in GameRanking state to GameData. - Removed File parameter of "GameData.loadImages()" (leftover, no longer used). Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com> |
||
---|---|---|
res | ||
src/itdelatrisu/opsu | ||
tools | ||
.gitignore | ||
CREDITS.md | ||
LICENSE | ||
pom.xml | ||
README.md |
opsu!
opsu! is an unofficial open-source client for osu!, a rhythm game based on popular commercial games such as Ouendan and Elite Beat Agents.
opsu! is written in Java using Slick2D and LWJGL, wrappers around the OpenGL and OpenAL libraries.
Getting Started
Precompiled binaries for opsu! can be found on the releases page, with the latest builds at the top.
Java Setup
The Java Runtime Environment (JRE) must be installed in order to run opsu!. The download page is located here.
Beatmaps
opsu! also requires beatmaps to run, which are available for download on the osu! website and mirror sites such as osu!Mirror or Bloodcat.
If osu! is already installed, this application will attempt to load songs
directly from the osu! program folder. Otherwise, place songs in the generated
Songs
folder or set the BeatmapDirectory
value in the generated
configuration file to the path of the root song directory.
Note that beatmaps are typically delivered as OSZ files. These can be extracted
with any ZIP tool, and opsu! will automatically extract them into the songs
folder if placed in the SongPacks
directory.
First Run
The Music Offset
value will likely need to be adjusted when playing for the
first time, or whenever hit objects are out of sync with the music. This and
other game options can be accessed by clicking the wrench icon in the song menu.
Building
opsu! is distributed as a Maven project.
- To run the project, execute the Maven goal
compile exec:exec
. - To create a single executable JAR file, execute the Maven goal
install -Djar
. This will link the LWJGL native libraries using a modified version of JarSplice, which is included in thetools
directory in both its original and modified forms. The resulting file will be located intarget/opsu-${version}-runnable.jar
.
Credits
This software was created by Jeffrey Han (@itdelatrisu). All game concepts and designs are based on work by osu! developer Dean Herbert. Other credits can be found here.
License
This software is licensed under GNU GPL version 3. You can find the full text of the license here.