Just a quick update: The author contacted me and let me know that this has been implemented into all the emulators he manages. (I don't know when he plans to release the next versions, he just updated them not that long ago, so it's hard to tell. Most authors like to let a few changes build up to make a new version worthwhile.) Anyways, he applied it to all analog controller typesby Trillest - Homebrew Applications
No, just tested it out, it seems different to me. (But, admittedly, math is not my strong point, and that's also the bit I sought help on, I knew what needed to be done, but not how to accomplish it.) Heres the code from the simulation. Point p = new Point(0, -100); double Angle = Math.Atan2(p.Y, p.X); double Thresh = 1.0 / Math.Sqrt(2.0); if ( Math.Cos(Angle) > Thresh )by Trillest - Homebrew Applications
Turns out, Snes9xGX has the same issue.. Here is the fix, again, this goes in "input.cpp", just replace the original code with my version. static void decodepad (int chan) { int i, offset; float t; s8 pad_x = userInput.pad.stickX; s8 pad_y = userInput.pad.stickY; u32 jp = userInput.pad.btns_h; #ifdef HW_RVL s8 wm_ax = userInput.WPAD_StickX(0); s8 wm_ay = userInput.WPADby Trillest - Homebrew Applications
I was using the emulator with the WiiMote+Nunchuk, and having issues with the controls while using the analog stick as a D-Pad, so I came up with a fix. (With a little help from my friends at CodeProject.Com, my math was a bit off.) This works great for Aria of Sorrow, I haven't tried other games, but, I'm assuming it's fine. If you are also having issues, or are the author oby Trillest - Homebrew Applications