What's new

NRage Input Plugin V2.00 BETA (an overhaul)

OP
R

rabiddeity

Plugin Hacker
GREAT! Debug version now runs, with "unicows.dll" in the emulator folder! Normal version still crashes and freezes, so there is unfortunately no change.

I haven't backported the fixes to RELEASE because I don't want a bunch of 2.00 RELEASE versions floating around the Internet. New release version is coming out as soon as I fix ALL the win98 bugs. For now, just use DEBUG; it shouldn't be much slower and all the fixes should be folded in within the next week or so.

yes, better error, default setting versus empty setting:)
OK same lost setting after change, as you said just testing.

Registry load failed, loading defaults from resource.

Kruci, I'd like you to check your registry and see if there are entries under
HKEY_CURRENT_USERS\Software\NRage\DX8InputPlugin200\Controls
If you're pressing Save and things are saving correctly, there should be at least one entry there with a name of something like {6F1D2B60-D5A0-11CF-BFC7-444553540000}. But I'm guessing that there's not. Newest DEBUG should be able to tell me why this is going wrong, why it isn't saving right. Also, try lion10's fix of putting the newest unicows.dll file IN your emulator folder, if it isn't already.

guille007, I've replaced the transfer pak dwAddress comparisons in PakIO.cpp : WriteControllerPak and ReadControllerPak with another switch statement, making it a lot easier to read and a bit faster too. I also cut out a couple extraneous #ifdefs as well. This is a different dwAddress; it's the one sent through the N64 controller pak interface. The N64 controller pak bus address and data are converted to a GBCart address by the transfer pak. If you're confused about how it works, send me a PM and I'll clear it up.

And finally, I preordered an Adaptoid through the service linked off the PJ64 news page. Once it arrives and gets forwarded to me in Japan, this should help me finally work out exactly what's going on inside the controller paks!
 
Last edited by a moderator:

Kruci

New member
HKEY_CURRENT_USERS\Software\NRage\DX8InputPlugin200\Controls
there is {D489AE00-DEC4-11DA-8001-444553540000} = ....
but it is always same, no matter what I do, it doesnt change.
Of course latest versions dont give empty setting, but default setting.
(nrage.reg in attachment)

putting the newest unicows.dll file IN your emulator folder doesnt change anything.

looks like rumble has new messages(if I use rumble)
Tried to write, but pak wasn't initialized!!
Rumble: DIES_NODOWNLOAD OK on control 0
 

lion10

New member
HKEY_CURRENT_USERS\Software\NRage\DX8InputPlugin200\Controls
there is {D489AE00-DEC4-11DA-8001-444553540000} = ....
but it is always same, no matter what I do, it doesnt change.
Of course latest versions dont give empty setting, but default setting.
(nrage.reg in attachment)

putting the newest unicows.dll file IN your emulator folder doesnt change anything.

I have the same error, no input plugin related setting will be saved. The unicows.dll has here no effect, it only made it possible to load the plugin successfully on (non-english) legacy win OS.
 
OP
R

rabiddeity

Plugin Hacker
The registry values are being saved correctly but there's a problem iterating through the registry values when loading the button structures. I didn't catch it before because I didn't expect it, but I added in some checks for unexpected errors (with DebugWrite so I know exactly what's going wrong) and also increased the size of the buffer for holding registry key names. If it's still messing up I'm at least one step closer to figuring it out. Thanks for the patience, guys!

Updated the latest DEBUG and source. If this doesn't fix the problem post again with another log.
 

lion10

New member
The registry values are being saved correctly but there's a problem iterating through the registry values when loading the button structures. I didn't catch it before because I didn't expect it, but I added in some checks for unexpected errors (with DebugWrite so I know exactly what's going wrong) and also increased the size of the buffer for holding registry key names. If it's still messing up I'm at least one step closer to figuring it out. Thanks for the patience, guys!

Updated the latest DEBUG and source. If this doesn't fix the problem post again with another log.

I have also still the same symptom, saving setting is not possible. But there is a new error message in the NRage-Debug,txt called: "There was a problem enumerating a registry key in LoadButtonsFromReg. Error code 000000EA : E"
 
OP
R

rabiddeity

Plugin Hacker
I have also still the same symptom, saving setting is not possible. But there is a new error message in the NRage-Debug,txt called: "There was a problem enumerating a registry key in LoadButtonsFromReg. Error code 000000EA : E"

RegEnumValue is misbehaving. It's a builtin Windows function. Why it's screwing up under Win9x and not NT is really really confusing. The message it's returning is "ERROR_MORE_DATA" which basically means that the buffer I'm allocating isn't big enough to store the either the registry keys or their values. I'm going to hardcode the buffer to a ridiculously large value to see if that solves things. I've also added more DebugWrites to find out which buffer isn't big enough.

Please try out the newest DEBUG and see if it works.

Right now, emodel is probably thinking, "One more reason to switch to .ini files, where we wouldn't have these problems!" And he's right! :doh:
 
Last edited:

Kruci

New member
finaly emutalk work:p

pj64
nrage plugin(pj64) is causing crash in start emu, something as PJ64 causing not valid page in modul nrage.
Without nrage plugin dont crash.

1964
running, after strarting rom Nrage not inicialized, lost setting after change

only change is crashing pj64.
 
OP
R

rabiddeity

Plugin Hacker
OK, with the forum going up and down I can't really post any fixes. I'll get back when things settle down a bit.
 

jadas

New member
Nrage is probably the best controller plugin and it has the most features. But it still has a serious "bug" : You can't press many keys the same time on the keyboard. I tried to play a 2-player game in Mario Kart both me and my friend using the keyboard- the fact is that if we pressed 4 keys t the same time other keys couldn't respond. I tried Jadbo's plugin and it didn't have any problem.

rabiddeity, could you possibly fix this?
 

Doomulation

?????????????????????????
That's a keyboard limitation. You need to get a gamepad for one of you. Preferably, both should have gamepads.
 
Last edited:

Kruci

New member
ou can't press many keys the same time on the keyboard. the keyboard- the fact is that if we pressed 4 keys t the same time other keys couldn't respond. I tried Jadbo's plugin and it didn't have any problem.

Are you using some key on both plugins or different? If some keys its weird.

Keyboard has limitation of pressed keys. But differents keyboard has diferent limitation.
On my keybord I can press max 8 keys (ASDFJKL or 12347890) or min 2(GH and i cant press B or V to get respose)
You can use two keyboard do better keybord limitation(but P on first is same as P on second)

If you choose good keys you have no problem:)
 

Enzo Dragon

STFU, NAVI
I think that it is unfortunate that one function cannot be assigned to two different inputs.

For example, I have mapped C-Left to R2 on my controller, but I also want to assign it to -Z rotation on the right analog stick.
 
OP
R

rabiddeity

Plugin Hacker
I think that it is unfortunate that one function cannot be assigned to two different inputs.

For example, I have mapped C-Left to R2 on my controller, but I also want to assign it to -Z rotation on the right analog stick.

You can do this with modifiers. Take a look at the manual on page 1 of this thread, specifically the modifiers section; if you still have questions please post again!
 

Enzo Dragon

STFU, NAVI
I'm familiar with the concept of mod keys (though not in this context). Although this does help quite a bit, it's not quite what I was looking for (unless I've overlooked something?).

Is there any way to assign two inputs to one output without a mod key...?
 
OP
R

rabiddeity

Plugin Hacker
Not without using a mod key, no. The interface is already really complicated, and I didn't want to make it worse. Plus, this way you can assign an arbitrary number of inputs to one output. Here's how you do it:

Let's say for example that you want to assign keys X and Y to the A button.

Open up the configuration panel, and set one of your inputs to the button you want. So for our example, we'd assign key X to the A button. To set the other one, click the Modifiers tab. Click on "New Modifier", set the mod type to Macro, and click on the N64 control you want to assign it to (ignore the other buttons and checkboxes). Now click on Assign Mod and press the Y key on your keyboard. Click Apply Changes, and then Save.

Theoretically you could create two macro modifiers in the Modifiers tab, and then leave the Controls button unassigned. It has the same effect, basically.

If this is still confusing, let me know.

Well guys, I've looked the code over up and down, and I can't seem to figure out why it's returning that error message. I'm going to try something; I'll try to proceed despite the strange error. Maybe it's loaded in the string and data anyway? Give me a bit of time to fix up the code and we'll see if it works.
 
Last edited by a moderator:

Enzo Dragon

STFU, NAVI
Not without using a mod key, no. The interface is already really complicated, and I didn't want to make it worse. Plus, this way you can assign an arbitrary number of inputs to one output. Here's how you do it:

Let's say for example that you want to assign keys X and Y to the A button.

Open up the configuration panel, and set one of your inputs to the button you want. So for our example, we'd assign key X to the A button. To set the other one, click the Modifiers tab. Click on "New Modifier", set the mod type to Macro, and click on the N64 control you want to assign it to (ignore the other buttons and checkboxes). Now click on Assign Mod and press the Y key on your keyboard. Click Apply Changes, and then Save.

Theoretically you could create two macro modifiers in the Modifiers tab, and then leave the Controls button unassigned. It has the same effect, basically.

If this is still confusing, let me know.
Holy crap! I hadn't even fully considered using macros to assign ONE button rather than multiple, which seems obvious, now!

Thanks, Rabiddeity, and sorry for troubling you.
 
OP
R

rabiddeity

Plugin Hacker
OK, I've updated the DEBUG binary. If this works, I'll commit the code to the tree and release it as 2.01 RELEASE.
 

Top