chuni-touch
adds touchscreen support and Leap Motion for Chunithm. For touch, It works by hooking CreateWindowExA()
and CreateWindowExW()
and do RegisterTouchWindow()
on every window created by Chunithm (with ctw.dll
). It then takes over Chunithm's WindowProc
and handles the touch input there (with chuniio.dll
).
chuni-touch
requires segatools
to work. If you are using some other tools to launch Chunithm, you are on your own.
If you are using segatools
:
- Download
chuni-touch.zip
from the release page. - Unzip
chuni-touch.zip
, copy everything in it to thebin
folder of your game. Override any file that already exists. You may want to make a backup of yourbin
folder. - (Optional) If you plan to use a Leap Motion for AIR and AIR-actions, run
leapconfig.exe
to configure your Leap Motion controller. You may configure the controller manually inchunitouch.ini
too.
Just tap/slide on the screen. Slide up to simulate the IR sensor if you are using touch-bashed IR simulation. Raise your hand as if you were playing on the real arcade to simulate the IR sensor if you are using a Leap controller. A video demo of how touch controls work is available here. Use F1, F2, and F3 for test, service, and to insert coin.
Settings will be read from chunitouch.ini
. Here's a list of configurable options:
[options]
; use a separate window for touch input. slider.offset will be ignore if
; enabled.
separate_control = 0
[ir]
; source of control. 'touch' for touchscreen and 'leap' for leap motion.
control_source = touch
; height of each touch IR sensor (unit: pixel)
touch_height = 50
; touch IR trigger threshold (number of pixels required to move up for a move to
; be registered as air)
touch_trigger = 70
; specifies the axis to track hands on. x, y, z, -x, -y, or -z.
leap_orientation = y
; the minimum height of your hand(s) need to be for it to be registered as air
; (unit: millimeters)
leap_trigger = 100
; the height of each virtual IR sensor (unit: millimeters)
leap_step = 30
[slider]
; slider's width (unit: pixel)
width = 40
; slider's x-offset (pixels from the left of the screen)
offset = 318
[io]
; use raw input
raw_input = 0
; show Windows touch feedback
touch_feedback = 0
[misc]
; keep slider(s) holded while on air-action
ir_keep_slider = 0
To build chuni-touch, you will need to get the Leap Motion standard Orion SDK package from Leap Motion developer site. Unzip the SDK package and copy the LeapSDK
folder to 3rdparty/
.
You may build chuni-touch
on with any operating system that can run MinGW-w64. On Windows:
> meson build
> ninja -C build
On Unix-like:
$ meson --cross cross-build-32.txt build32
$ ninja -C build32
$ meson --cross cross-build-64.txt build64
$ ninja -C build64
Or, if you are using Windows and have Visual Studio installed, you may build it with Visual Studio:
> meson --backend vs build
> msbuild build\chunithm-touch.sln
UNLICENSE