Eduke32 controller analog sticks issue-constant spinning.
-
Hey guys
Googled the crap out of this and have found plenty of people with the same problem but no fix.Half expecting someone to just reply and say 'known issue, use keyboard/mouse instead'.
Anyways, load duke3d atomic edition, and attempt to play with my xbox 360 controller.Some of the binds are strange but manage to get fire, weapon cycle etc all assigned well no problems but as soon as you move with the right analog sticks/look around with the left analog stick the whole thing goes haywire.
It's like being in a spin cycle, constant spinning (from the right stick)and either strafe/walk forward/walk backward stuck on (from the left stick).
It SEEMS like a deadzone issue.I attempted to set the stick deadszone from the duke3d menu but assigning any value over 0%(no deadzone) stops the sticks from working completely.It's either spin cycle or nothing.
Then i downloaded xboxdrv and enabled it, because it has a built in stick deadzone modifier.But this didnt fix it either.No effect whatsoever.
Any tips/fixes for this?
p.s. yes i have input the 'in_joystick1' command but obviously that did squat.
-
This post applies to the XPad driver that is the default driver for the XBox360 controller in RetroPie 4.1 and higher.
@megafacehead Ok, here's the deal...
To make the controller work correctly, you must edit eduke32.cfg directly. Changing the values from within the in-game menus is pointless, as the values required to make the controls work anywhere near properly cannot be applied from within the in-game menus.
As far as I can see, there is no documentation that explains what the joystick config values actually mean in real terms.
In eduke32 no individual axis works the same as any other one, in my experience. They all have different internal scale values so what works on one axis will not work on another. This also means that while you can get motion and vertical looking working well to an extent, it seems almost impossible to get turning (lateral aiming) as acccurate as it should be.
I have tried many, many different values for scale, deadzone and saturation and it still just feels like the overall scale is off slightly (too high on small inputs, too low on large ones).
Strafing is especially weird, and requires a scale value far below what you can set in the menus. This seems to be true in Windows too, so it's probably just an eduke32 problem. The settings below may not allow Duke to strafe at his maximum strafe speed - that would take some more trial and error - but at least there is an actual range of speed with these settings.
Having said all that, these settings below are at least totally playable, if not ideal. It's not as good as keyboard and mouse, but it's way better than keyboard alone (as I used to play back in mid 1996 - I didn't learn KB+mouse until QuakeWorld came out!)
You can tweak the settings below to your liking, but bear in mind that the relationship between scale and saturate seems to be different on each axis, and if you alter scale you will probably have to compensate by experimenting with saturate.
You must also remember to quit the game, make your edits and then reload the game, otherwise eduke32 will overwrite your settings.
JoystickAnalogAxes0 = "analog_strafing" JoystickAnalogScale0 = 1000 JoystickAnalogDead0 = 2000 JoystickAnalogSaturate0 = 1000000 JoystickAnalogAxes1 = "analog_moving" JoystickAnalogScale1 = 98304 JoystickAnalogDead1 = 2000 JoystickAnalogSaturate1 = 32768 JoystickAnalogAxes2 = "analog_turning" JoystickAnalogScale2 = 32768 JoystickAnalogDead2 = 2000 JoystickAnalogSaturate2 = 562500 JoystickAnalogAxes3 = "analog_lookingupanddown" JoystickAnalogScale3 = 16384 JoystickAnalogDead3 = 3000 JoystickAnalogSaturate3 = 16384
In case you want to bind other buttons on the 360 controller, here's what each one corresponds to in eduke32.
Button 0 = A Button 1 = B Button 2 = X Button 3 = Y Button 4 = LB Button 5 = RB Button 6 = LT Button 7 = RT Button 8 = Select Button 9 = Start Button 10 = XBox Guide Button 11 = LStick Button 12 = RStick Hat 0 Up = Button 13 = D-PAD Up Hat 0 Right = Button 14 = D-PAD Right Hat 0 Down = Button 15 = D-PAD Down Hat 0 Left = Button 16 = D-PAD Left
It's irritating that you can't bind any joystick buttons to open the main menu, or quicksave/load and that normal save games still require a name to be typed, but I guess eduke32 wasn't made with controllers in mind.
-
Hi Stoo,
How can I edit this file.
I found where I can edit it through Windows Explorer but the config file just shows names and values in one line.I will create a backup but I am not sure if I will properly edit this so the game will read what I enter in.
I am thinking that maybe for best results I should do it through RetroPie? So how can I go about doing this through the Pie.
Or can you post your config file cfg file in plane text here?
Thank you,
-
I wanted to make sure you are notified of my reply. I don't think I did it correctly as I am new here. Thanks.
-
@commanderj Hi CommanderJ
You need to use a text editor that understands UNIX-style line breaks. Notepad doesn't and that's why it all appears on a single line for you.
I suggest Notepad++ which is free. When you edit a text file from your RPi it should say Unix (LF) at the bottom of the Notepad++ window.
Here's my full eduke32.cfg. Feel free to copy it and amend it to your liking.
[Misc] Executions = 58 [Setup] ConfigVersion = 315 ForceSetup = 1 NoAutoLoad = 1 SelectedGRP = "duke3d.grp" [Screen Setup] ScreenBPP = 8 ScreenHeight = 768 ScreenMode = 0 ScreenWidth = 1024 WindowPositioning = 0 WindowPosX = -1 WindowPosY = -1 MaxRefreshFreq = 0 Out = 0 Password = "" [Controls] MouseButton0 = "Fire" MouseButton1 = "MedKit" MouseButton2 = "Jetpack" MouseButton4 = "Previous_Weapon" MouseButton5 = "Next_Weapon" MouseAnalogAxes0 = "analog_turning" MouseAnalogAxes1 = "analog_moving" JoystickAnalogAxes0 = "analog_strafing" JoystickAnalogScale0 = 1000 JoystickAnalogDead0 = 2000 JoystickAnalogSaturate0 = 1000000 JoystickAnalogAxes1 = "analog_moving" JoystickAnalogScale1 = 98304 JoystickAnalogDead1 = 2000 JoystickAnalogSaturate1 = 32768 JoystickAnalogAxes2 = "analog_turning" JoystickAnalogScale2 = 32768 JoystickAnalogDead2 = 2000 JoystickAnalogSaturate2 = 562500 JoystickAnalogAxes3 = "analog_lookingupanddown" JoystickAnalogScale3 = 16384 JoystickAnalogDead3 = 3000 JoystickAnalogSaturate3 = 16384 JoystickButton0 = "Jump" JoystickButton1 = "Crouch" JoystickButton2 = "Open" JoystickButton3 = "Open" JoystickButton4 = "Inventory_Left" JoystickButton5 = "Inventory_Right" JoystickButton6 = "Quick_Kick" JoystickButton7 = "Fire" JoystickButton8 = "Map" JoystickButton9 = "MedKit" JoystickButton10 = "Inventory" JoystickButton11 = "Crouch" JoystickButton12 = "Jetpack" JoystickButton13 = "" JoystickButton14 = "Next_Weapon" JoystickButton15 = "" JoystickButton16 = "Previous_Weapon" JoystickButtonClicked1 = "" JoystickButtonClicked2 = "" JoystickButtonClicked3 = "" JoystickButton32 = "" JoystickButton33 = "" JoystickButton34 = "" JoystickButton35 = "" JoystickDigitalAxes3_0 = "Run" [Comm Setup] PlayerName = "" RTSName = "DUKE.RTS" CommbatMacro#0 = "An inspiration for birth control." CommbatMacro#1 = "You're gonna die for that!" CommbatMacro#2 = "It hurts to be you." CommbatMacro#3 = "Lucky son of a bitch." CommbatMacro#4 = "Hmmm... payback time." CommbatMacro#5 = "You bottom dwelling scum sucker." CommbatMacro#6 = "Damn, you're ugly." CommbatMacro#7 = "Ha ha ha... wasted!" CommbatMacro#8 = "You suck!" CommbatMacro#9 = "AARRRGHHHHH!!!" [MapTimes]
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.