Spelkontroll  ::  Emulation64  ::  DCEmu.co.ukNetwork Sites:    About  ::  Hosting  ::  Donate 
Home Files Forums Reviews Guides Articles Interviews



Welcome to EmuTalk.net

Go Back   EmuTalk.net > General Emulation > Plugins

Welcome to EmuTalk

Closed Thread
 
Thread Tools Display Modes
Old July 4th, 2006, 10:42   #1
rabiddeity
Plugin Hacker
 
Join Date: Nov 2005
Location: back in the USA
Posts: 290
rabiddeity is a glorious beacon of light
N64 NRage Input Plugin (an overhaul)
This is my overhaul of NRage's DirectInput8 Plugin.

2.1 rc3 RELEASE

edit: the discussion has now been moved to http://forums.ngemu.com/misc-n64-dis...-overhaul.html

I got sick of wrestling with a bug or two in NRage's DirectInput8 plugin, and decided to delve into the code and fix them myself. Well, one thing led to another, and I kinda wound up rewriting most of it. If you're going to fix one bug, you might as well fix them all, right?

THE MANUAL (please read this before asking questions):
CHM or Online Manual

RELEASE BINARY (most people want this):
http://www.randomwisdom.com/files/NR...V2_2.1_rc3.zip

DEBUG BINARY (Generates a file called NRage-Debug.txt in your emulator folder. This file can get huge, so don't download this version unless the release version doesn't work!)
http://www.randomwisdom.com/files/NRage_Debug.zip

SOURCE (for hackers and those who lurve the GPL):
download from Subversion server

LANGUAGE SDK (for people doing translations):
http://www.randomwisdom.com/files/NR...8_Lang_SDK.zip

Translations (unpack the dll file to your emulator's directory, NOT the plugin directory)
German by aTomIC
Simplified Chinese by Harlay
Spanish by NaSeR
French by Siskoo

Finally, here's a Keyboard/Mouse basic config file to give you some ideas for Goldeneye and Perfect Dark:
http://www.randomwisdom.com/files/NR...g_KeyMouse.zip

This version of the plugin will NOT overwrite settings from 1.83 and before, but neither will it read from older config files or saves (it stores config data differently). This means that you can run the plugin alongside older versions of the plugin, for comparison. But it also means you will have to bind your keys from defaults when you first run 2.x versions.

Current TODO list:

-running with a gamepad unplugged or unplugging during emulation must not cause crashes
-mouse locking: fix problems with mouse binding in control panel while running
-mouse locking: should unlock mouse when closing a ROM
-redo keyboard/mouse cpf on this post
+rewrite Adaptoid code to be asynchronous
+add reading gba ROMs from zip files

Fixed, added, or changed:

+ Switching between paks with shortcuts unplugs the current pak and waits before putting in the new one.
+ Shortcut "notifications" should work correctly now (Thanks Koolsmoky)
+ Better detection of devices; more joysticks should work now, as well as steering wheels and things that aren't strictly "gamepads"
+ N64 controllers can now get input from multiple gamepad type devices
+ Now able to assign a key, mouse, or gamepad control to as many N64 control surfaces as you like
/ device selection for keybinding no longer needed; devices list now shown as "Force-Feedback Devices" under ControllerPak selection (pick Rumble, and tick the "RawMode" box)
/ no longer possible to send FF events from multiple controllers to the same FF device (this shouldn't have worked anyway)
+ now captures mouseclicks properly in Controllers tab (disable button clicks while polling)
+ INTERNATIONAL SUPPORT (and internally switched to Unicode)
+ releases exclusive mouse while in config menu (fixed a mouse bind while locked issue)
+ add independent X/Y mouse sensitivity
+ changed absolute mouse support: now choose between Buffered (default from before), Absolute, and Deadpan (control only moves while you move the mouse)
+ various optimizations, bugfixes, and spelling fixes
+ LOTS of documentation added to the source; it should be more legible now
+ rewrote controller save and restore (underlying CONTROLLER and BUTTON structs changed...)
/ Button mappings and modifiers will need to be reset on first load
+ now rewrites mempak and transferpak RAM to disk immediately after writing to controller (1.83 and previous didn't save the mempak until RomClose)
+ now possible to map shortcuts to buttons and axes as well as keys (be careful)
+ tabbing within the config window actually works now
+ can save and load shortcuts
+ Transferpak MBC5 support fixed (Pokemon Yellow, Perfect Dark)
/ Win98/ME registry load finally fixed
+ lots of crash bugs fixed

2.1 is now in "release candidate" stage. Please test any bugs you find vs the latest DEBUG version, and if they still exist there please post.
--rabid

Last edited by rabiddeity : July 5th, 2009 at 21:51. Reason: it'd be nice if the thread title changed
rabiddeity is offline  
Old July 4th, 2006, 10:56   #2
rabiddeity
Plugin Hacker
 
Join Date: Nov 2005
Location: back in the USA
Posts: 290
rabiddeity is a glorious beacon of light
FAQ and dev notes
Some answers to questions I know will come up.

Q: Where did the Device selection screen go? How do I set up my joystick?
A: Joystick buttons will work as is. You no longer have to select a joystick device from a list.

Q: What about Force-Feedback support?
A: Select the Rumble-Pak from the Controller Pak menu. Make sure RawMode is selected. You can select a Force-Feedback device from the list.

Q: My joystick doesn't show up in the list!
A: Only devices that support DirectInput Force-Feedback will appear in the list. If you just want to assign buttons, you don't have to select your joystick from any lists; just click on the button you want to assign, and press the joystick button or axis. If a device doesn't show up and you know it supports Force Feedback, make sure it is not selected on a different controller. If it is, change that controller's FF device to "None" and it will show up in other lists again.

Q: What about that XInput fix that was released for X360 controllers awhile back?
A: Unfortunately, ward12e never released his source code, and the source code has changed too much from 1.83 to make a backport possible. However, it's not a major setback. You need to download 3rd party XBCD drivers. Follow the instructions on the following site. Download the configuration for "triggers as two buttons":
Xbcd 360 Download Page
You should be aware that I have no intention of adding XInput support now or in the forseeable future, as it does not and cannot replace DirectInput. In addition, adding support for it would bloat the existing code and add bugs. You should petition Microsoft to fix their broken X360 drivers to work properly with DirectInput, or help the XBCD team write a better driver.

Dev Notes

Work on the 2.1 line is well underway. Here are the features that are currently under development, in order of priority, and their progress.

* Switch from using the registry to using a single INI file with all the settings. (All registry funcs have been removed, and INI loading/saving funcs have been stubbed in. Writing INI format now.)

* Write utility to read in settings from old registry values and output new INI format. (Will start when INI loading/saving is finished. Idea: maybe I can get it to convert Jabo's input settings as well?)

* Add support for recognizing hot-plugged DInput devices without restart. (Not yet started.)

* Fix adaptoid support (Adaptoid, rumble pak, and transfer pak purchased; need to find an N64 controller because my old ones are back home on another continent.)

* Add support for Plugin Spec 1.1: main change is per-game controller settings (Not yet started, as I don't have a version of PJ64 1.7 to play with.)

Last edited by rabiddeity : February 21st, 2007 at 04:22.
rabiddeity is offline  
Old July 4th, 2006, 11:30   #3
EmuFan
Emulation Fanatic
 
EmuFan's Avatar
 
Join Date: Apr 2005
Location: Cyberspace
Posts: 737
EmuFan will become famous soon enough
Send a message via MSN to EmuFan
VERY nice work!
--------------------

If i ever disagree with you, it is not because i´m trying to be an asshole. It is just to tell you that you are wrong

____________________
MSI K9A2 Platinum V2 -
AMD Phenom 9950 2.6 GHz - Corsair Dominator 4 GB RAM, with top fan + Nvidia SLI Ready XTC Dual Channel 1GB - NVIDIA GeForce 8800 GTS 320 MB (Going to upgrade) 1.3 TB HDD´s + Network connected to about 1 TB - Realtek High Definition Audio - Custom built PC.

EmuFan is offline  
Old July 4th, 2006, 15:27   #4
retroK
EmuTalk Member
 
retroK's Avatar
 
Join Date: Jul 2002
Location: Frankfurt a.M., Germany
Posts: 107
retroK is just really nice
Send a message via ICQ to retroK
Very nice work! Thanks...
--------------------
retroK is offline  
Old July 5th, 2006, 01:21   #5
rabiddeity
Plugin Hacker
 
Join Date: Nov 2005
Location: back in the USA
Posts: 290
rabiddeity is a glorious beacon of light
*File updated*

Fixed a last minute brain fart bug that made shortcuts not load properly from files or from defaults.
rabiddeity is offline  
Old July 5th, 2006, 01:50   #6
Smiff
Emutalk Member
 
Smiff's Avatar
 
Join Date: Nov 2001
Posts: 3,991
Smiff is a splendid one to behold
changelog looks really good, well done
--------------------
L8rz,
Smiff

Project64 Team 1999-2003,2005-2007
Smiff is offline  
Old July 5th, 2006, 16:26   #7
Harlay
EmuTalk Member
 
Harlay's Avatar
 
Join Date: Jul 2004
Posts: 41
Harlay is a glorious beacon of light
I'm use PS2 pad with ntpadxp 2.01.
and setting rumble pak with it.
loading any rumble game, the emulator is crash but the not rumble game.
it's all fine in NRage DInput8 V2 1.83 with same configure.

Last edited by Harlay : July 5th, 2006 at 16:28.
Harlay is offline  
Old July 7th, 2006, 01:06   #8
rabiddeity
Plugin Hacker
 
Join Date: Nov 2005
Location: back in the USA
Posts: 290
rabiddeity is a glorious beacon of light
What happens when you use the "Test Rumble" button in config? Does it rumble? Or does it crash?

edit: Also, which emulator are you using? If you try a different emulator, does it still crash? (Not that the emulator is at fault, but it will help me track down the problem.)

Last edited by rabiddeity : July 7th, 2006 at 08:04.
rabiddeity is offline  
Old July 9th, 2006, 13:11   #9
Harlay
EmuTalk Member
 
Harlay's Avatar
 
Join Date: Jul 2004
Posts: 41
Harlay is a glorious beacon of light
I'm useing PJ64 1.6.
when i click the "Test Rumble" button, it's no effects.
then i click the "save" button, and emulator crashed.
if i don't select the "rumble pak", when i click the "save" button, the emulator will not crash.
and i'm trying the 1964 0.9.9, it's not crash any more. but the pad is not rumble in game and the "Test Rumble" button.
Harlay is offline  
Old July 10th, 2006, 07:11   #10
rabiddeity
Plugin Hacker
 
Join Date: Nov 2005
Location: back in the USA
Posts: 290
rabiddeity is a glorious beacon of light
Crashing when starting a game and crashing when you hit "Save" are two different things. Which one is it?

Plus, if the "Test Rumble" button isn't working, then it's a good bet rumble won't work in the game...

Try this: in the RumblePak config, select "None" from the list of Force-Feedback devices. Click Save. Open the config again, and select your PS2 controller from the list. (This will force the plugin to reinitialize the rumble effect.) Press "Test Rumble" and see if anything happens.

I'm adding in extra checking to MAKE SURE the devices are getting initialized properly and display some useful information if they aren't. Check for an update within 24 hours.

Files updated. Hopefully this version shouldn't crash, even if it doesn't rumble.

edit: Sorry, couldn't test that b/c no access to a controller at work. Extra dialogs removed now; shouldn't get any if everything is working OK.

Last edited by Clements : October 6th, 2006 at 20:23. Reason: Merge
rabiddeity is offline  
Closed Thread


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Mupen64, Mythgame, Blight Input Plugin biffybob Mupen64 2 November 22nd, 2005 01:36
A little help with analoge buttons(sliders) & Elsemi input plugin HShadow Chankast 3 December 31st, 2004 17:10
Rice's Daedalus plugin 4.1.0 beta 1 Rice Plugins 36 February 21st, 2003 21:32
Rice's Daedalus plugin 4.1.0 beta 1 Martin Emu64 News 1 February 13th, 2003 14:51
Beta Input Plugin 1.76 released. *FeedBack* N-Rage Project64 131 March 4th, 2002 21:04


All times are GMT +1. The time now is 23:51.


Powered by vBulletin Version 3.6.2
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.