Page 1 of 2 12 LastLast
Results 1 to 10 of 20
  1. #1
    Plugin Developer (GlideN64) Gonetz's Avatar
    Join Date
    May 2002
    Location
    Siberia, Russia
    Posts
    407
    Mentioned
    6 Post(s)

    NRage V2.1 rumble fix

    I'm using GameCube controller attached via an USB adapter with N64 emulators. It's very convenient controller for N64 games btw. Until now I used Nrage v.1.82. It works ok, but rumble does not work at all. I tried latest 2.1, but with no luck: rumble does not work too, and besides C buttons assigned to the C stick on the gamepad do not work. So, 1.82 was my only choice. But I want rumble support! Since Nrage development seems to be stopped, there was no hope that somebody would help me. Thus, I decided to help myself and downloaded sources from the repository. I have no experience with DirectInput and I did not dig the sources very deeply. My only goal was to find what causes the problems and to fix them somehow. I did it. Attached is the result, which satisfies me. The archive includes release binaries and sources changes. I'm not sure that the changes made are correct, but it works for me.

    The list of fixed issues:
    1. Rumble does not work at all.
    2. Rumble does not work after savestate load.
    3. Rumble does not work if plugged by shortcut (- by default)
    4. 'C' buttons assigned to 'C' stick do not work at all
    5. Crash if gamepad is unplugged.
    6. Rumble effect does not stop in some cases.

    Download:
    http://glide64.emuxhaven.net/files/nrage_fix.rar

    Last edited by Gonetz; March 10th, 2010 at 12:28. Reason: Update
    Sorry for terrible English, my native language is C++

  2. #2
    Banned squall_leonhart's Avatar
    Join Date
    Jan 2006
    Location
    All over the world.
    Posts
    3,512
    Mentioned
    2 Post(s)
    I'm not sure what you did here, because rumble works perfectly across all my rumble capable directinput controls.

    As for gamecube controls though, the adapter drivers usually do not contain a force feedback driver, so the only way is via raw :\.

    As for the C buttons, i've also had no problems assigning them either, driver level bugs should not be corrected in apps, they should be reported to the product support team so they can be fixed.

    So to address

    The list of fixed issues:
    1. Rumble does not work at all. ( This was never broken )
    2. Rumble does not work after savestate load. - ( This also is not a problem )
    3. Rumble does not work if plugged by shortcut (‘-‘ by default) ( Again not a problem. )
    4. 'C' buttons assigned to 'C' stick do not work at all ( Straight flush so far, again, not a problem )
    5. Crash if gamepad is unplugged. ( also not a problem )

    These all appear to be driver bugs with your adapter.

    Know very bad issue:
    When Zelda OOT run with rumble pack plugged, the gamepad rumbles non-stop and continues to rumble even after the emulator is closed. I'm not going to play Zelda OOT anytime soon, so I did not try to fix it.
    I tried your dll, and this is also not a problem.
    like i said, your drivers are not working properly, none of these issues occur across motionjoy or xbcd, or logitech drivers.
    Last edited by squall_leonhart; February 13th, 2010 at 08:38.

  3. #3
    Plugin Developer (GlideN64) Gonetz's Avatar
    Join Date
    May 2002
    Location
    Siberia, Russia
    Posts
    407
    Mentioned
    6 Post(s)
    Very strange response. The current version works for you? Lucky you.
    For me it does not. But I made it working. Drivers issues? Not sure, may be. Anyway, I can't fix drivers, but I can fix the sources. This is great benefit of open-source projects. Not sure what I've done? Read the included sources, if you can understand C++.
    Again, why you even bother to reply and reply like this if everything is working for you? You don't need these fixes, just don't use them. I'm sure, I'm not the only one, who have these problems. Besides, included sources can be useful for people with development skill.
    Sorry for terrible English, my native language is C++

  4. #4
    Banned squall_leonhart's Avatar
    Join Date
    Jan 2006
    Location
    All over the world.
    Posts
    3,512
    Mentioned
    2 Post(s)
    im replying because theres a chance those idiots on the 1964 project will apply it and break something lol.

    I've tried and tried btw, and i can't get the rumble to lock on like you did with OoT, so thats pretty much conclusive that its a driver bug.

  5. #5
    Pokemaniacs
    Guest
    I tried the original codes, the rumble works for my Saitek Force Feedback gamepad. It also works with Gonetz modified codes.

    Both works for constant force only but ramp force does not work.

  6. #6
    Moderator death--droid's Avatar
    Join Date
    Feb 2008
    Posts
    1,334
    Mentioned
    12 Post(s)
    Quote Originally Posted by squall_leonhart View Post
    im replying because theres a chance those idiots on the 1964 project will apply it and break something lol.

    I've tried and tried btw, and i can't get the rumble to lock on like you did with OoT, so thats pretty much conclusive that its a driver bug.
    Why would i apply it, i do actually test it before i apply them to SVN.

  7. #7
    Plugin Developer (GlideN64) Gonetz's Avatar
    Join Date
    May 2002
    Location
    Siberia, Russia
    Posts
    407
    Mentioned
    6 Post(s)
    Quote Originally Posted by Pokemaniacs View Post
    I tried the original codes, the rumble works for my Saitek Force Feedback gamepad. It also works with Gonetz modified codes.

    Both works for constant force only but ramp force does not work.
    Rumble now works in all modes for me. At least it's good that it works for you as good as before. This means I did not broke anything

    Quote Originally Posted by death--droid View Post
    Why would i apply it, i do actually test it before i apply them to SVN.
    Testing is necessary of course, but understanding, for what each modification in the sources was made is necessary too.
    Last edited by Gonetz; February 14th, 2010 at 03:10.
    Sorry for terrible English, my native language is C++

  8. #8
    EmuTalk Member
    Join Date
    Dec 2002
    Posts
    298
    Mentioned
    8 Post(s)
    I don't see the point of this discussion:

    Gonetz detected a problem, solved it (not like others who just complain all the time) and contributed it to the community (which I think is the most important part)

    As I feel nobody is soo special that he/she is the only one with something, it is very possible that someone else will encounter the same problem sometime.

    This means, he helped at least this person, which in turn means it was worth the effort.

    Thus: Thanks Gonetz!

  9. #9
    Texture Pack Invader NES_player4LIFE's Avatar
    Join Date
    Nov 2005
    Location
    Earth
    Posts
    2,228
    Mentioned
    21 Post(s)
    Quote Originally Posted by microdev View Post
    I don't see the point of this discussion:

    Gonetz detected a problem, solved it (not like others who just complain all the time) and contributed it to the community (which I think is the most important part)

    As I feel nobody is soo special that he/she is the only one with something, it is very possible that someone else will encounter the same problem sometime.

    This means, he helped at least this person, which in turn means it was worth the effort.

    Thus: Thanks Gonetz!
    right on microdev

    and thanks Gonetz
    -NES
    We are in the process of archiving all qualifying texture packs!
    Contact me via PM to have your N64 texture pack hosted on Emulation64.com!
    Having a hard time loading Large packs? Be sure to patch your emulator.
    Can't load .DAT or .HTC archives? Look no further then this shiny Tutorial, Android users may use this Tutorial.

      Spoiler:

  10. #10
    Banned squall_leonhart's Avatar
    Join Date
    Jan 2006
    Location
    All over the world.
    Posts
    3,512
    Mentioned
    2 Post(s)
    microdev, stop being naieve

    He applied a fix for buggy drivers which only means he has deviated outside of the standard api, which could unleash any number of issues elsewhere.

    Its not our job to fix bugs in device drivers, doing so only allows the developers of those drivers to get away with sloppy jobs.

    Both works for constant force only but ramp force does not work.
    This is a driver limitation, your device simply doesn't support RAMP.

Page 1 of 2 12 LastLast

Posting Permissions

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