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

Separating ControlDialog for use in other dialogs #8

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

Conversation

john-peterson
Copy link
Member

Separating ControlDialog for use in other dialogs

Problem

Settings that are frequently changed during emulation doesn't have a configurable hotkey

Solution

Add a hotkey button to settings that are often changed during emulation

Merge status

This merge is pending the merge of input because of overlap in "InputConfigDiag"

Discussion

@kostamar

A XFB hotkey is added

Fix: Don't require trailing newline in inifile
adds radius setting to gcpad

updates analog stick graphics

the optimal radius is directly outside the padclamp() values

source: pad docs, available from google search
…to the base settings when an iso is not running.

The purpose is to appropriately automate saving and loading game input settings.

Game specific wiimote IR settings (for the absolute rather than relative pointer position) are also possible as a result. Almost all games use different IR calibration, apparently the wiimote SDK doesn't provide default values.

If iso input settings are not present in the isoini the base settings are loaded instead.
todo:

add rawinput keyboard
fix InputReference::Detect support

RawInput UpdateOutput is used only when necessary, when requested and the device is used (cursor is moved).

this is because of the necessary SetCursorPos to sync the cursor that can be annoying, even if it doesn't make the cursor jumpy it will alter the mouse sensitivity compared to the windows settings (unless the RawInput mouse sensitivity is set to match the windows mouse sensitivity) which is annoying too.

replace GUID_SysMouse GetDeviceState with GetCursorPos and GetAsyncKeyState since the presence of WM_INPUT messages means that GUID_SysMouse GetDeviceState is zero.
Adding sensitivity setting for ir input

Exposing relative mouse data in CI
connected swing input to the m+ too
added option to disable IR, in m+ games like zelda ss it's not necessary in the game and may interfere with the m+ data. it's probably not possible to attempt to sync the m+ and IR for slow movements (for fast movements it doesn't matter).

Changing the wiimote dialog from modal to non-modal because to tweak settings while playing it's necessary to be able to have it open without blocking the main window

fixed sensitivity setting for non-relative cursor inputs
… the pull up sword from the stone problem in zelda ss, the main problem is that the y-axis acc move is missing, but the m+ gyro is also interfering a lot over the acc values.

mintor fixes for the free wiimote config dialog. TODO: make the dialog update when a new game is started that loads a new ini, and load the baseini when a game is stopped.
…witch to a deceleration

fixes zelda ss shield, stab attack, spin attack, pull out sword of stone
… is therefore hidden at < -0.25 and > 0.25 for m+ and it's better to turn it off altogether ingame to avoid horizontal jumps when the ir goes in and out of visibility, vertical cursor is controller by gyro and accelerometer pitch and will drift back to center unless the acc is pitched, the ir position therefore control pitch too when m+ is active

split ir and gyro sensitivity for better control, the ir sensitivity also applies to the accelerometer vertical pitch from ir data

added modifier key to cursor that allow fast m+ forces when held down

addressed the ui issues with the modeless wiimote dialog

fixed an array overrun in the thrust class that caused crashes

renamed tilt to rotate, yaw doesn't really fit with the name tilt
…the slow and fast gyro state

added show IR modifier to be combined with moves such as the zelda ss stab attack that require a visible IR

some ui fixes

added IsRelative() to CI for neat handling of relative input

both RInput and the m+ support now have a theoretically pleasing implementation and neat integration into the existing classes
…t mode yaw and pitch swing the sword.

added rotation option to settle gyro if the wm has been still for a while, the higher Gyro Settle the slower before it settles

various fixes in emu wm code and wm config dlg

rebuild all files to weed out potential /MT .obj files that may be a source of random heap corruption crashes in free.c

m+ logging
Connecting VideoCommon hotkeys to ControlDialog to allow customizable hotkeys and access to more input sources such as a gamepad.

Customizable hotkeys allow easier toggling, for example for demanding EFB options.

Adding XFB hotkey.

changed direct call to RenderText in VideoConfig to indirect call through OSD::DrawMessages

Removing generic name from header file to avoid name conflict.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant