brokenithm android

This commit is contained in:
Scribbler 2024-02-11 20:52:19 +00:00
parent 43df492d69
commit ec2939d4c9
2 changed files with 124 additions and 13 deletions

View File

@ -2,7 +2,7 @@
<img src="/img/chunithmsunplus/sunplus.png">
### How Controller Input works with segatools
## How Controller Input works with segatools
!!! note "segatools:"
`segatools`, the loader used to run CHUNITHM, does not come with any built-in controller support. By default it will only accept keyboard input.
@ -21,29 +21,138 @@
<img src="/img/chunithmsunplus/chuniio_onedll.png">
***
!!! note "Controllers:"
Below is a quick introduction and setup guide for the commonly used input methods.
### Keyboard
***
## Keyboard
!!! tip ""
Keyboard is the default input method, and while not recommended for playing the game, it is useful for testing purposes.
The default layout uses `SDFGHJKL` for the slider input, and `Space Bar` for the AIRs.
If you wish to change the default keybinds, an explanation for how to set these is included above the `[io3]` section in your `segatools.ini`.
### Brokenithm
***
## Brokenithm
!!! note "Brokenithm:"
Brokenithm allows you to use an Android tablet or iPad as a controller for CHUNITHM. It uses the bottom half of the screen as the touch slider, and sliding from the bottom section into the top section of the screen activates the AIR sensors.
!!! tip ""
todo:
android
ipad
***
### Tasoller
### Brokenithm Android
!!! tip ""
Download the latest version of [Brokenithm-Android](https://github.com/tindy2013/Brokenithm-Android) from the [releases section](https://github.com/tindy2013/Brokenithm-Android/releases). Copy the `app-release.apk` to your Android device and install it.
Download the latest version of [Brokenithm-Android-Server](https://github.com/tindy2013/Brokenithm-Android-Server) from the [releases section](https://github.com/tindy2013/Brokenithm-Android-Server/releases) and extract just the `brokenithm_server.exe` to your `\App\bin\` folder.
Download the latest version of the [Brokenithm-Evolved](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/) IO dll files from the [releases tab](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/releases). Extract the 3 dll files to your `\App\bin\` folder.
Open your `segatools.ini` with a text editor, and modify the `[aimeio]` section as shown.
```ini
[aimeio]
; Uncomment this if you have custom (x64) aime implementation.
; Leave empty if you want to use Segatools built-in keyboard input.
path=aime_brokenithm.dll
```
Modify the `[chuniio]` section as shown.
```ini
[chuniio]
; Uncomment this if you have custom chuniio implementation comprised of a single 32bit DLL.
; (will use chu2to3 engine internally)
;path=
; Uncomment both of these if you have custom chuniio implementation comprised of two DLLs.
; x86 chuniio to path32, x64 to path64. Both are necessary.
path32=brokenithm_x86.dll
path64=brokenithm_x64.dll
```
Run the `brokenithm_server.exe` you extracted previously. A CMD window should open, with a message that it is waiting for a device on port 52468.
Open the Brokenithm App on your Android device. At the top right, in the Address box, enter your PCs local IP address and then press the start button.
You can now run your game via the `start.bat` as normal.
#### Automatically launching brokenithm_server
!!! tip ""
If you want the `brokenithm_server.exe` to automatically run when launching the game, you will need to modify `start.bat`.
Open `start.bat` with a text editor, and add a new line containing `start /min brokenithm_server` above the existing `start /min inject_x64 ...` line, as shown below.
```bat
@echo off
pushd %~dp0
start /min brokenithm_server
start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json
inject_x86 -d -k chusanhook_x86.dll chusanApp.exe
taskkill /f /im amdaemon.exe > nul 2>&1
echo.
echo Game processes have terminated
pause
```
This will only work if you copied the `brokenithm_server.exe` file to your `\App\bin` folder.
#### Slider Lights
!!! tip ""
By default, the Brokenithm Server runs in `UDP` mode. This is done to decrease latency when connected over WiFi, however it does not send any lighting data to the tablet. The server also supports a `TCP` mode, which does send lighting data.
To run the Brokenithm Server in TCP mode, we need to start it with the ` -T` flag.
Navigate to the folder that contains your `brokenithm_server.exe`, click on the Address Bar at the top of the folder, type `CMD`, and hit enter. A Command Prompt window should open.
In the Command Prompt window, type `brokenithm_server -T` and hit enter.
On your Android device, find the button labeled `UDP` at the top-center of the Brokenithm application. Tap the button to toggle to `TCP` mode. You should now be able to connect, using your PCs local IP, as described above.
If you are running the Brokenithm Server via the `start.bat` as shown in the previous step, simply add ` -T` to the end of the brokenithm_server line, as shown below.
```bat
start /min brokenithm_server -T
```
#### Improving Latency
!!! tip ""
As WiFi isn't the best for latency, it is preferable to run Brokenithm with your Android device tethered to your PC. This will require enabling Developer options, and USB debugging on your tablet. As this process varies by device, instructions are not included here.
Once you have USB debugging enabled, you will need to download and extract the [Android SDK Platform Tools](https://developer.android.com/tools/releases/platform-tools) to somewhere on your PC.
Navigate to the folder you extracted the tools too, click in the Address bar, type `CMD` and hit enter to open a Command Prompt window.
Make sure your Android device is connected and that USB debugging is enabled.
In the Command Prompt window, type one of the following commands, depending on which mode you plan to run the server in.
**TCP**
```bat
adb reverse tcp:52468 tcp:52468
```
**UDP**
```bat
adb reverse udp:52468 udp:52468
```
Start your `brokenithm_server.exe`.
Open Brokenithm on your Android device, and in the address bar, change the IP to `0.0.0.0`. Press the start button to connect. You will now be connected via the USB cable.
Run the game via the `start.bat` as normal.
If you extract the `platform-tools` folder to your `\Bin\app\` folder, you can add the following line to your `start.bat` to run this command when the game launches.
```bat
start /min platform-tools/adb reverse tcp:52468 tcp:52468
```
This should go above the line which starts the `brokenithm_server.exe`.
***
### Brokenithm iOS
!!! tip ""
apple instructions reee
***
## Tasoller
!!! note "Tasoller:"
The Tasoller is an arcade accurate controller, produced by DJ-DAO.
@ -65,7 +174,9 @@
Extract the `*.dll` files to your `\App\bin\` folder.
Make the required changes to `segatools.ini`, as shown in the `Configuration` section of the readme for the driver you have downloaded.
### YubiDeck
***
## YubiDeck
!!! note "YubiDeck:"
The YubiDeck is an arcade accurate controller, produced by ZhouSensor and sold by YubiParts. It also includes a built in Aime card scanner.

View File

@ -32,7 +32,7 @@
### My game crashes when I alt-tab out of fullscreen
!!! tip ""
As the game is intended to run on dedicated hardware, if it detects it has lost focus it will force-close itself. On real hardware it would then try and restart.
As the game is intended to run on dedicated hardware, it doesn't like to be minimised.
One work-around for this is to use [DXVK](https://github.com/doitsujin/dxvk/) to run the game with Vulkan rather than Direct3D. This has the added benefit of smoother frame rates for some hardware configurations.
Download the latest version of DXVK from the [releases tab](https://github.com/doitsujin/dxvk/releases). This will be a `dxvk-x.x.tar.gz` file. Open the file with `7zip` and navigate to the `x32` folder.
@ -56,7 +56,7 @@
!!! tip ""
While frame drops can be caused by running the game on under-powered hardware, it is also common for this to happen when running on hardware that is too over-powered!
As a lot of the game consists of mostly 2D assets, your GPU is unlikely to be being pushed very hard. Modern GPUs attempt to be as energy efficient as possible by changing power-states when under-utilised. If these power-state changes happen mid song, this can lead to slight frame drops and stutters.
As a lot of the game consists of mostly 2D assets, your GPU is unlikely to be pushed very hard. Modern GPUs attempt to be as energy efficient as possible by changing power-states when under-utilised. If these power-state changes happen mid song, this can lead to slight frame drops and stutters.
This can be solved by forcing the GPU to stay in its maximum power-state while the game is running.
!!! note "NVIDIA:"