Page 1 of 85 1231151 ... LastLast
Results 1 to 10 of 844
  1. #1
    Plugin Hacker
    Join Date
    Nov 2005
    Location
    back in the USA
    Posts
    289
    Mentioned
    0 Post(s)

    N64 NRage Input Plugin (an overhaul)

    This is my overhaul of NRage's DirectInput8 Plugin.

    2.3 RELEASE

    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):
    Download version 2.3(from adf.ly)

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

    LANGUAGE SDK (for people doing translations):
    http://www.randomwisdom.com/files/NRage_DInput8_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/NRage_Config_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 death--droid; March 13th, 2013 at 15:11. Reason: it'd be nice if the thread title changed

  2. #2
    Plugin Hacker
    Join Date
    Nov 2005
    Location
    back in the USA
    Posts
    289
    Mentioned
    0 Post(s)

    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 03:22.

  3. #3
    Emulation Fanatic EmuFan's Avatar
    Join Date
    Apr 2005
    Location
    Norway
    Posts
    741
    Mentioned
    0 Post(s)
    VERY nice work!

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

    ____________________
    Asus P6T Deluxe V2, X58, Socket-1366// Intel Core i7-950// Corsair Dominator 6 GB DHX+ DDR3// NVIDIA GeForce 275 GTX 896 MB (Going to upgrade)// HDD space: About 3.5 TB// Realtek High Definition Audio//Power supply: Unknown, but packing lots of ****// Custom built PC.


  4. #4
    EmuTalk Member retroK's Avatar
    Join Date
    Jul 2002
    Location
    Frankfurt a.M., Germany
    Posts
    107
    Mentioned
    0 Post(s)
    Very nice work! Thanks...

  5. #5
    Plugin Hacker
    Join Date
    Nov 2005
    Location
    back in the USA
    Posts
    289
    Mentioned
    0 Post(s)
    *File updated*

    Fixed a last minute brain fart bug that made shortcuts not load properly from files or from defaults.

  6. #6
    Emutalk Member Smiff's Avatar
    Join Date
    Nov 2001
    Posts
    3,992
    Mentioned
    0 Post(s)
    changelog looks really good, well done

  7. #7
    EmuTalk Member Harlay's Avatar
    Join Date
    Jul 2004
    Posts
    41
    Mentioned
    0 Post(s)
    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 15:28.

  8. #8
    Plugin Hacker
    Join Date
    Nov 2005
    Location
    back in the USA
    Posts
    289
    Mentioned
    0 Post(s)
    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 07:04.

  9. #9
    EmuTalk Member Harlay's Avatar
    Join Date
    Jul 2004
    Posts
    41
    Mentioned
    0 Post(s)
    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.

  10. #10
    Plugin Hacker
    Join Date
    Nov 2005
    Location
    back in the USA
    Posts
    289
    Mentioned
    0 Post(s)
    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 19:23. Reason: Merge

Page 1 of 85 1231151 ... LastLast

Similar Threads

  1. Mupen64, Mythgame, Blight Input Plugin
    By biffybob in forum Mupen64
    Replies: 2
    Last Post: November 22nd, 2005, 00:36
  2. Replies: 3
    Last Post: December 31st, 2004, 16:10
  3. Rice's Daedalus plugin 4.1.0 beta 1
    By Rice in forum Emulator Plugins
    Replies: 36
    Last Post: February 21st, 2003, 20:32
  4. Rice's Daedalus plugin 4.1.0 beta 1
    By Martin in forum Emulation64.com News
    Replies: 1
    Last Post: February 13th, 2003, 13:51
  5. Beta Input Plugin 1.76 released. *FeedBack*
    By N-Rage in forum Project64
    Replies: 131
    Last Post: March 4th, 2002, 20:04

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •