Coder Social home page Coder Social logo

chunithm-touch's Introduction

chuni-touch

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).

Installation

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:

  1. Download chuni-touch.zip from the release page.
  2. Unzip chuni-touch.zip, copy everything in it to the bin folder of your game. Override any file that already exists. You may want to make a backup of your bin folder.
  3. (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 in chunitouch.ini too.

Usage

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.

Configuration

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

Building

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

License

UNLICENSE

chunithm-touch's People

Contributors

magicnat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

htk030

chunithm-touch's Issues

Built myself with Leap Gemini SDK and LeapC.dll but cannot start the game

I wanted to add support with the newest Leap Gemini SDK so I tried to build it myself. I downloaded the Leap Gemini from the Ultra Leap Website, copied the LeapSDK folder to 3rdparty, and built the LeapConfig.exe, ctw.dll, and chuniio.dll. I also replaced the old LeapC.dll from the Orion SDK with the newer LeapC.dll from the Gemini SDK. I am able to run the LeapConfig.exe and it works perfectly detecting my hands. However, I cannot run start.bat to get into the game. After the two UAC prompts of the inject.exe the game just terminates itself automatically. It seems that the self-termination always happens as a result of replacing either one of the chuniio.dll, ctw.dll, or LeapC.dll. Does anyone have any idea of how to get into the game with the newly built DLLs?

Leap Motion?

Hi, are you are planning for Leap Motion? I saw it in your description but not in the code.

I Can't Run leapconfig

1.It's say The code execution cannot proceed bacause ucrtbased.dll was not found and The code execution cannot proceed bacause VCRUNTIME140D.dll was not found. I already install that dll and it not fix. 2.when i start it say chunihook.dll: DLL failed to load inside target process.

Support for Chuunithm NEW

The current Segatools for Chunithm NEW uses two different injectors (x64 and x86) to inject chusanhooks into chusanApp.exe.
This is how it looks like:

@echo off

pushd %~dp0

start /min inject_x64.exe -d -k chusanhook_x64.dll amdaemon.exe -f -c config_common.json config_server.json config_sp.json inject_x86.exe -d -k chusanhook_x86.dll chusanApp.exe
taskkill /f /im amdaemon.exe > nul 2>&1

echo.
echo Game processes have terminated
pause

It looks similar to the previous start.bat, but adding -k ctw.dll and injecting into chusanApp.exe using these injectors don't seem to work that well. There was one instance where it did work, however, restarting the app to double-check if it did only made it stop working again. I tried placing -k ctw.dll after -k chusanhook_x86.dll to use the x86 injector, and doing -k ctw.dll chusanApp.exe with the x64 one.

I'm using 0.2.1 without Leap support, using a P2418HT Dell touchscreen. It works just fine in Crystal/Paradise.

Is chuunithm touch outdated as it does not work on my Chuunithm NEW PLUS or SUN?

The current Segatools for Chunithm NEW uses two different injectors (x64 and x86) to inject chusanhooks into chusanApp.exe.

I also tried your chunithm vccontroller project, which cannot be used for SUN and NEW PLUS.

Are you considering allowing the project to support SUN and NEW PLUS?

It works just fine in Crystal/Paradise.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.