Dolphin, the GameCube and Wii emulator - Forums

Full Version: diagonal bug: controller not normalized - run twice as faster in diagonal
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
diagonal bug:


you can run twice as faster in diagonal than in a straight line

if you don't believe me, go code and try getting the vector length from diagonals
Which games are affected by this?
(06-24-2016, 03:11 AM)mimimi Wrote: [ -> ]Which games are affected by this?

basically all games that uses the stick

[Image: attachment.php?aid=14837]
What version of Dolphin are you using? And what type of controller? because on my end with a Xbox 360, ps3, ps4, and Logitech controller in the latest 5.0-99 dev build the controls look normalized
Various controllers have different ranges. If you remove the shell on a GameCube Controller, you can reach those ranges too, so it's not a bug in Dolphin.
You'll get this problem if your controller has a round hole for the joystick, because the GC controller's joystick hole isn't round. You can reduce the radius of that stick in Dolphin's settings to decrease the range of the diagonals, but they will never match up perfectly with a GC controller unless you use a GC controller. Wink
finally @Aleron Ives! that makes sense, most physical controls has rounded slot for the sticks.
and thanks for the tip on the range setting i'll check it out.

Qaazavaca Qaanic

(06-30-2016, 08:44 AM)AleronĀ Ives Wrote: [ -> ]You'll get this problem if your controller has a round hole for the joystick, because the GC controller's joystick hole isn't round. You can reduce the radius of that stick in Dolphin's settings to decrease the range of the diagonals, but they will never match up perfectly with a GC controller unless you use a GC controller. Wink

How is that possible? The controller is circular, how does it produce a square shape? Did you turn on "square stick" by mistake?

Is the controller input first upscaled by (full / Gamecube), clipped into a Gamecube square, then scaled back down to Gamecube square range?

Is the upscaling and clipping purely visual (actual controller input can extend beyond GC native range, and treated as full range)?

Last time I used Dolphin (a while back), all controller input was circular.
(07-01-2016, 11:56 AM)jimbo1qaz Wrote: [ -> ]How is that possible? The controller is circular, how does it produce a square shape?
The GC controller's joystick socket is octagonal and not round, but the controller is able to report values that aren't possible to generate under normal usage conditions, because the plastic shell prevents you from moving the joystick into extreme diagonal positions. If you use a controller that has a round joystick socket, you can move the joystick into positions that aren't possible on a real GC controller, and Dolphin will report those joystick positions to the game, so you'll generate controller input that isn't possible on a real console (unless you remove the GC controller's shell to allow full movement of the joystick, as JMC said).

Even if you perfectly match the range of your controller's joystick to the map of the GC joystick's range in the controller configuration menu for U/D/L/R, you'll still be able to move farther than a GC joystick can on the diagonals, and the only way to fix this is to use a controller that has an octagonal joystick socket, like the GC controller does, so that you create the same limited ability to do diagonals as on a GC controller.
oh, the keyboard... it is also possible to reproduce the same result using emulated control with the keyboard cuz it doesn't have a circular shell xD
Pages: 1 2