Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement undocumented mouse binding for the Ineluki patch #3362

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

florianessl
Copy link
Member

While going through different versions of harmony.dll, I found a few special versions of the Ineluki patch.
Most of them were just copy-protected preview versions, which were handed out to some devs, before the key patch was actually released to the public. Those have limited functionality & will refuse to work, if some of the game files do not match the expected values.

Just for documentation purposes, the unique versions I found on rmarchiv's data are:

  • 1.2.0.50 Gekiganger (Used in the keypatch demo)
  • 1.2.0.50 Kelven "a" (Used in "Die Bücher Luzifers 2")
  • 1.2.0.50 Kelven "b" (Used in "Aliminator")
  • 1.2.0.50 Sunny (Used in "Der Feind")
  • 1.2.0.50 KoA Angel (Used in "Yoshis Maze Mania")
  • 1.2.0.00 Neo23 (Apparently used in a Moleboxed "Megaman" game by the developer)

The interesting one is the last version, custom-developed for "Neo23". But apparently, another version later surfaced, without the unique "copy-protection" for Neo23, and the same internal compilation date (2004-07-05), which differs by nearly half a year from the most commonly used keypatch version.

This DLL has two additional commands:

  • setMouseAsReturn
  • setMouseWheelAsKeys

...which feature a few options for binding mouse keys & the mouse wheel to common input buttons.
Usage of the mouse wheel is already possible in some menus in the Player, but I went & completely implemented the key bindings anyway. (This can be tested in-game in Rutipa's Quest 9 when you have control of the player. Save & restart, the game forgets to deactivate the mouse patch a second time, so the character can now be moved via the mouse wheel..)

This patch is used in the games Vortex & both versions of Rutipa's Quest 9.

… 'setMouseAsReturn' & 'setMouseWheelAsKeys' (Fixes games: Vortex & Rutipa's Quest 9)
@github-actions github-actions bot added the Input Input related (gamepads, keyboard mappings, mouse support). For KeyInputProc, add event/interpreter label Mar 4, 2025
@Ghabry
Copy link
Member

Ghabry commented Mar 4, 2025

hmm I didn't want to add more to 0.8.1 but this looks simple enough to be added 🤔

/me updates blogpost again so it is even longer ✍️

@Ghabry
Copy link
Member

Ghabry commented Mar 4, 2025

You must guard the inner part of UpdateMouse inside a

#if defined(USE_MOUSE_OR_TOUCH) && defined(SUPPORT_MOUSE_OR_TOUCH)

#endif

The enum values are not available when the support is disabled.

@florianessl
Copy link
Member Author

You must guard the inner part of UpdateMouse inside a

#if defined(USE_MOUSE_OR_TOUCH) && defined(SUPPORT_MOUSE_OR_TOUCH)

#endif

The enum values are not available when the support is disabled.

Oops, sorry. I went AFK & didn't see that some of the builds did not succeed.

@Ghabry Ghabry added this to the 0.8.1 milestone Mar 5, 2025
@Ghabry Ghabry requested a review from fdelapena March 11, 2025 09:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Input Input related (gamepads, keyboard mappings, mouse support). For KeyInputProc, add event/interpreter RPG_RT Patches
Development

Successfully merging this pull request may close these issues.

3 participants