Skip to content

seraxis/lr2oraja-endlessdream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LR2oraja ~Endless Dream~

DISCORD

Endless Dream is a community fork and drop-in replacement for beatoraja that integrates quality of life patches and new features not present in the upstream version of the game.

Based on LR2oraja, which is itself a fork with LR2 judges and gauges, Endless Dream aims to fix some of the outstanding issues with the upstream project while being a central place for modifications and extensions that may never be accepted by upstream.

Key Features

  • In-game song downloader
  • LR2 GBATTLE support
  • Osu file support
  • On the fly ratemods/freq
  • Increased performance by using the latest graphics backends available to libgdx
  • Faster Table Processing
  • Compatible with beatoraja 0.8.8 installs
  • Built in Mod Menu, accessible using F5 or Insert

Downloads

Note

As of 0.3.0 the Java version has changed from 8 to 17, please check the releases page to update your installations java version

Download here

Development builds are created for every commit and published as releases

Installing from scratch

If you don't have an existing beatoraja installation download the latest beatoraja-0.8.8 JRE bundled version, or choose a version yourself from the beatoraja release page.

Post Install

Once you're set up with a copy of LR2oraja Endless Dream you might want to check out the excellent Beatoraja English Guide that has answers to all of your questions about beatoraja and BMS, including a list of skins, where to get songs, and how to use tables.

Alternatively you can ask in our Discord and we'll be happy to help you out.

Building from source

A JDK 17 with javafx is required to build and run. Consider using liberica JDK, ensure that you download Package: Full JDK to get the JavaFX version.

Clone this repository with submodules

git clone --recurse-submodules [email protected]:seraxis/lr2oraja-endlessdream.git

Run the gradle wrapper for your operating system and specify your desired platform as a gradle system property

Windows:

.\gradlew.bat core:shadowJar -Dplatform=windows

Linux:

./gradlew core:shadowJar -Dplatform=linux

MacOS:

./gradlew core:shadowJar -Dplatform=macos

Note

For arm user: add -Darch=aarch64

This task will create a jar located in dist/ that can be used with any working installation of the game.

Working on Endless Dream

Use of an IDE, such as IntelliJ Community Edition, is recommended for working on Endless Dream.

Contributing to the project

To get started working on Endless Dream fork the project, and start programming on a new branch.

Once you're done you can open a PR against the main project, and one of the maintainers will review your code.

Before starting it's good to think about what you want to do, and to discuss your ideas with other collaborators. Open an issue, or consider joining the Discord server. It's the place where most communication and collaboration happens.

Running and building

The gradle core:runShadow task can be used to quickly test and debug changes made to the project. The core:shadowJar task builds the project for your operating system. Do not use the default gradle run tasks, they will not work.

Expanding the gradle tab on the right shows the available tasks for the project. Expanding `core` and then `application` and `shadow` reveals the tasks you will use to run and build the project

Running from an existing install of beatoraja

Configure the runDir system property to point to a beatoraja install. If you do not configure this it will run in the assets/ folder of the git project.

Click the 'Three Dots' next to the run configurations panel in the window bar, Edit the runShadow configuration, and add -DrunDir="[FULL PATH TO RAJA INSTALL]"

A demonstration of adding a runDir to the runShadow task

If you'd like to test IR dependent changes append the useIR system property to the run configuration and set it to true (e.g. -DuseIR=true). Be aware of this existing bug with this property.

Cannot Resolve Symbols for project submodules

IntelliJ sometimes cannot identify the projects submodules leading to missing classes (e.g. bms.model.*). This does not affect building or running the project, but can be quite annoying.

First verify that ./core/dependencies contains the jbms-parser and jbmstable-parser folders. If they are missing run git submodule update --init --recursive to fetch any submodules you may have missed while cloning.

If submodules are present go to File --> Project Structure --> Modules --> core --> Dependencies --> Add --> JARs or Directories... and add both ./core/dependencies/jbms-parser and ./core/dependencies/jbmstable-parser then hit Apply.

endlessdreamprojectstructure

After you are done you should see no further import related errors. If you encounter difficulty join the Discord server to ask for help.

Running from the command line

Running from the command line is as simple as building from source, and looks like this:

Windows:

.\gradlew.bat core:runShadow -Dplatform=windows -DrunDir="C:\beatoraja0.8.8" -DuseIR=true