What's new

NRage Input Plugin V2.00 BETA (an overhaul)

jasno

New member
Could anyone here help me set up a mouse bind in the nRage Project64 plugin?

I'd like to hold my right mouse button to change my control stick to mouse axis, then when I let go change it back. Leaving the "Toggle" box unchecked doesn't work- the configuration stays, and checking it doesn't either- pressing the mouse button again doesn't toggle it off.

My current settings are WASD for ULDR as config 1, Y-X-Y+X+ as config 2, and the modifier in question is bound to Mouse 02 (or mouse button three, in my case the scroll wheel's click) and is set up as a "Config" without toggle checked with the analog stick "Config 2" radio button selected.

I'm beating my head on the wall :D

Screenshots:
capture1rn.png

capture2tl.png

capture4jv.png


EDIT: I found the solution, the modifier I needed to use is in the third screenshot- selecting the "Cycle through Configurations" radio button gives me the desired behavior.

Thanks for the plugin! Ciao.
 
Last edited:

squall_leonhart

The Great Gunblade Wielder
Nrage 2.3 release version
Changes
Release 2.3b
/Xinput config loading fixed
+No longer crashes if an assigned device is removed or not present when starting emulation.
/RC files saved from visual studio break the file lister(differences in extension handling), reverted and edited with notepad.

Release 2.2:
+Resolved file browsers not displaying supported file types
+Improved Xinput support by backporting changes from 1964input

Download(via adf.ly)
 
Last edited:

guran

New member
Great news!

There is one problem with using XInput though, the deadzone setting under the Devices tab does not make any difference, and the deadzone for the analog stick is too big, and it's very noticeable that you lose precision compared to DirectInput.

I would also like to suggest a feature that mupen64plus has in its input plugin that is very useful, the possibility to set a specific deadzone for any trigger/analog stick (I use a Xbox 360 controller). It's useful because not everything you've bound to triggers or analog sticks are supposed to have many stages (or how I should describe it) but are actually buttons, it's either activated or it's not, the Z-button that is bound to the Left Trigger and the C-buttons bound to the right analog stick on the Xbox controller for example. Personally I would like the Left Trigger (Z) to register as soon as it's pressed down just a little and the right analog stick (C-buttons) to register when when moved far to the edges.

http://mupen64plus.retrouprising.com/mediawiki/index.php?title=Mupen64Plus_Plugin_Parameters#Input-SDL
The interesting part is "axis(<num><dir>,<deadzone>)"
mupen64plus has no GUI though so it's very simple to just add the deadzone to the config files.

Thanks for your time!
 

guran

New member
It seems to be software related though since it works fine when not using the XInput option. I just tried in Goldeneye, and when you aim (holding down the R button) and move the analog stick the deadzone is noticeable while without XInput I can get much better precision.

Would there be any interest in adding the configurable deadzones for triggers/analog sticks feature request? It's one of the features I really miss when using Project64 in comparison to mupen64plus.
 

squall_leonhart

The Great Gunblade Wielder
sorry, the lack of deadzone is a software side issue, but the unstable axis is a hardware issue. Xinput i think usually uses a 5-7% dead zone, so that could probably be hard coded in
 

squall_leonhart

The Great Gunblade Wielder
btw if you got the original 2.3, grab it again, an update has been pushed to fix an issue with the file type / listing (files wouldn't be listed) after changing tabs in the config.
 

squall_leonhart

The Great Gunblade Wielder
guran, Xinput and Dinput handles deadzones a tad differently, and without blindly hacking in some kind of deadzone adjustment, all i can really do is set a predefined deadzone in the Xinput header of about 15-25%.

Give this compile a go, it doesn't have adjustable deadzone but it should be less jittery.

mupen gets away with it because it uses an SDL layer on top of Directinput, something im NOT interested in.
 

Attachments

  • NRage_Input_V2.7z
    56.6 KB · Views: 150
Last edited:

guran

New member
sorry, the lack of deadzone is a software side issue, but the unstable axis is a hardware issue. Xinput i think usually uses a 5-7% dead zone, so that could probably be hard coded in

Unstable axis like the axis are over sensitive on the 360 controller which makes it hard to hold it in at a specific value? You have more knowledge then me about that and I believe you but the deadzone seem to be the problem.

guran, Xinput and Dinput handles deadzones a tad differently, and without blindly hacking in some kind of deadzone adjustment, all i can really do is set a predefined deadzone in the Xinput header of about 15-25%.

Give this compile a go, it doesn't have adjustable deadzone but it should be less jittery.

mupen gets away with it because it uses an SDL layer on top of Directinput, something im NOT interested in.

I can't say that I noticed any difference at all with the posted version of the plugin, the jump in the beginning when you move the analog stick with XInput enabled still seems to be as big, with DInput I can do fine movements with the analog stick in the beginning without a jump.

I cant do any programming but I don't like the idea of using SDL either, using DInput or XInput directly seems less messy.
So using SDL would make it much easier to implement individual deadzones for each axis? I thought the adding the option to the GUI would be the biggest problem, but it's easy for me to say when I'm not doing the programming.

Thanks for bearing with me.
 
Last edited:

domfather

New member
i need help with getting my mouse to work..for some resson it dose not let me use anything to do with mouse.i click and click or move the mouse and it dose not assine it at all. only my keybord.the old orginal build that came with p64 worked but this new one dosent and the old build kept crashing on me. i just wana use my mouse for looking. none of the other plugins let me use mouse.
 

squall_leonhart

The Great Gunblade Wielder
Release 2.3c
/Xinput Rumble and Deadzone fixed (Thanks KrossX)
/Some potential crash and buffer overruns? fixed by kidkat
/Some UI changes to improve readability for high dpi setups

Download(via adf.ly)
 
Last edited by a moderator:

francois

New member
im sorry to ask in this thread, but i hope someone here reads it and can possible help...
i would like to know how i can change the rapidfire rate in the modifier menu? When i change it in the control menu i cant hold down A and in the modifier menu the rapidfire is too fast and the slow rapid fire too slow :/ So i need the rapidfire at modifier just a little bit slower (1 click to the left).
Just looked at the source but dont understand what to change :(

so if anyone knows where i can change the rapidfirerate IN THE MODIFIERMENU, please help me
 

Xastabus

New member
This is a great plugin, works well with my Xbox360 controller. However I am having some problems with customization. When I try to customize this plugin with XInput enabled, the button options I change away from default all show up as "None" later.

Even though they say "None" most of the buttons are doing what I want. The exception is RT which does nothing after I have customized it. When RT is set back to its default it will work again, but it doesn't do what I want this way.

I also tried to make a simple modifier to invert the Y axis and mapped it to toggle on the Back button. This doesn't appear to work either.

Testing with Project64 version 1.6.
 

squall_leonhart

The Great Gunblade Wielder
There is a save button within the Xinput button definition area, clicking this before exiting the ui will save the xinput settings.

I'll rework the xinput stuff so it saves the same way as the Dinput stuff when i get time.
 
Last edited:

Xastabus

New member
I saw that and went a bit save crazy when I saw my changes showing up as "None"; First I use the Save button in the XInput area, then the Save button for the larger window to save and close.

I will play with it more later today and see if I can get RT to do my bidding; D-Pad, Y, and B are behaving properly despite the UI misinformation. But now I must sleep. G-night.

Update: Saving apparently doesn't work between launches, I have to redo changes every time I launch the emulator.

Update 2: Scratch that, I switched between applications and the controller stopped responding completely. No clue what's going on there. Restarting the emulator apparently fixed it though.
 
Last edited:

Dragonsbrethren

New member
I have a request: Could the handling of the C buttons when mapped to an analog stick be improved? Right now, only one of the buttons registers at a time. It's less than ideal when playing FPSes and other games where you'll often want to be moving in two directions at once.
 

Top