Unable to do small movements with Joystcik
Re: Unable to do small movements with Joystcik
-
- Posts: 21
- Joined: Sat Aug 22, 2009 5:01 am
So I have manually edited the xwingalliance.exe at the offset mentioned earlier in this thread, replacing 51 with C3, and there's still a very noticeable deadzone in the game. My HOTAS is exceptionally precise and I can control flight sims with my fingertips around the center, or even draw letters, but in XWA, it isn't until I move dramatically off center before the craft starts moving in game. I am using a modded hall sensor CNC machine gimballed HOTAS Cougar, so the throw of the stick if rather large.
Any way to remove the deadzone completely?
Any way to remove the deadzone completely?
-
- Posts: 6
- Joined: Tue Jun 23, 2020 10:46 pm
Echoing this, I have looked at the Joystick Gremlin readout ingame and found that there still exists a deadzone at the ~10% level before the ship responds, whether I edit the binary directly or run the joystick_ff hook.Mr_Blastman wrote: ↑Sat Jun 20, 2020 9:31 pmSo I have manually edited the xwingalliance.exe at the offset mentioned earlier in this thread, replacing 51 with C3, and there's still a very noticeable deadzone in the game. My HOTAS is exceptionally precise and I can control flight sims with my fingertips around the center, or even draw letters, but in XWA, it isn't until I move dramatically off center before the craft starts moving in game. I am using a modded hall sensor CNC machine gimballed HOTAS Cougar, so the throw of the stick if rather large.
Any way to remove the deadzone completely?
-
- Posts: 39
- Joined: Thu Jun 20, 2019 3:28 am
Maybe someone can confirm this for me. I see a difference in control if I adjust the force feedback settings in the in game menu, even though I don't have or use FF. I also changed to joystick hook setting to -1 in the hook itself.
Let me know if anyone else notices any difference changing these settings.
Let me know if anyone else notices any difference changing these settings.
- JeremyaFr
- Posts: 3922
- Joined: Mon Jan 18, 2010 5:52 pm
- Contact:
Hello,
About the deadzone, you can try that:
About the deadzone, you can try that:
Code: Select all
At offset 10AE69, replace 7E22 with 9090.
At offset 10AEAE, replace 7E2F with 9090.
-
- Posts: 6
- Joined: Tue Jun 23, 2020 10:46 pm
That did it, bravo! Care to share what this is doing in-code so us newcomers can follow along?JeremyaFr wrote: ↑Wed Jun 24, 2020 6:41 pmHello,
About the deadzone, you can try that:Code: Select all
At offset 10AE69, replace 7E22 with 9090. At offset 10AEAE, replace 7E2F with 9090.
-
- Posts: 21
- Joined: Sat Aug 22, 2009 5:01 am
You Sir are a wizard!JeremyaFr wrote: ↑Wed Jun 24, 2020 6:41 pmHello,
About the deadzone, you can try that:Code: Select all
At offset 10AE69, replace 7E22 with 9090. At offset 10AEAE, replace 7E2F with 9090.
How'd you figure out how to do that?
Thank you!!!!!!!!!!!!
- Ace Antilles
- Posts: 7829
- Joined: Sat Jan 22, 2000 12:01 am
- Contact:
Thanks. I assume these recent additions will get added to the Hook sometime?JeremyaFr wrote: ↑Wed Jun 24, 2020 6:41 pmHello,
About the deadzone, you can try that:Code: Select all
At offset 10AE69, replace 7E22 with 9090. At offset 10AEAE, replace 7E2F with 9090.
I'll wait and see how that goes first I think
- JeremyaFr
- Posts: 3922
- Joined: Mon Jan 18, 2010 5:52 pm
- Contact:
Hello,
Since the patch works fine, I will add it to the joystick hook.
Since the patch works fine, I will add it to the joystick hook.
- JeremyaFr
- Posts: 3922
- Joined: Mon Jan 18, 2010 5:52 pm
- Contact:
UPDATE
Hello,
I've included the patch into the joystick hook.
Hello,
I've included the patch into the joystick hook.
-
- Posts: 239
- Joined: Mon Jan 19, 2009 11:45 am
Hi Jeremya, could you give me a hint if the earlier "ret" patch is still relevant or just the latest NOP of the conditional jumps is really related?
The reason I ask is because I've been putting versions of these for X-Wing, TIE and XvT in my ddraw.dll so people can profit from these improvements even in the older games.
I'd obviously like to do the right thing, but really understanding the code is a bit more effort than I can manage, so would appreciate if you have a minute to clarify
Thanks a lot!
The reason I ask is because I've been putting versions of these for X-Wing, TIE and XvT in my ddraw.dll so people can profit from these improvements even in the older games.
I'd obviously like to do the right thing, but really understanding the code is a bit more effort than I can manage, so would appreciate if you have a minute to clarify
Thanks a lot!
- JeremyaFr
- Posts: 3922
- Joined: Mon Jan 18, 2010 5:52 pm
- Contact:
Hi Reimar,
Both patches are included in the hook.
You can see the offsets in the readme.
For the other games, I think you can search the code where the joyGetPosEx function is called.
Both patches are included in the hook.
You can see the offsets in the readme.
For the other games, I think you can search the code where the joyGetPosEx function is called.
-
- Posts: 239
- Joined: Mon Jan 19, 2009 11:45 am
Thanks! Should have thought of the readme myself!
Yes, I found the offsets for the other games (the code is pretty much identical, except for XvT where the code seems weirdly un-optimized), and pushed a comment listing them all.
Now just for a larger piece of free time to implement and test them, too
- Mouseplay
- Posts: 7
- Joined: Thu Apr 14, 2011 4:45 pm
- Contact:
Thanks KuMoNKo for telling us about that vJoy and Joystick Gremlin trick. It works on the DOS versions when using DosBox.
KuMoNKo wrote: ↑Sun Mar 15, 2020 4:15 pmOK. After some testing I managed to stop that unability to fine aim. My solution is not conventional at all, but it works.
Basically, I reinstalled vjoy and joystick gremlin, and then setup a curve where vjoy starts to register values in 0.1. The curve looks like the one in the image.
gremlincurve.png
With a curve like this I can even head-to-head sometimes (given I am a really bad pilot )
regards
Asus® P5K Pro
Corsair X64 SSD System Drive
Intel® Core™ 2 Quad Q6600 @ 3.6 GHz
Gigabyte™ GTX 460 1GB OC @ 840/2100
OCZ Platinum 2x 1GB PC2-6400 4-5-4-15
Corsair® Dominator™ 2x 1GB PC2-8500 5-5-5-15
Corsair X64 SSD System Drive
Intel® Core™ 2 Quad Q6600 @ 3.6 GHz
Gigabyte™ GTX 460 1GB OC @ 840/2100
OCZ Platinum 2x 1GB PC2-6400 4-5-4-15
Corsair® Dominator™ 2x 1GB PC2-8500 5-5-5-15
-
- Posts: 14
- Joined: Sat Dec 14, 2019 9:36 pm
Glad it helped elsewhere. It has to be useful in any program where the deadzone is hardcoded. Mostly old DOS and Windows 3.x/9x games I think.
-
- Posts: 2
- Joined: Sat Jun 26, 2021 4:07 am
Hi @JeremyaFr, would you by any chance know what offset this would be in the original game binary (version 2.02)? I'd like to play the vanilla game again after a long time, but the deadzone is way too annoying.JeremyaFr wrote: ↑Sat Apr 04, 2020 9:23 pmHello,
To allow small movements, you can try this patch:Code: Select all
At offset 0338A0, replace 51 with C3.
-
- Posts: 2
- Joined: Sat Jun 26, 2021 4:07 am
Actually nevermind, the followup edit you posted did it even for me, many thanks!Quake wrote: ↑Sat Jun 26, 2021 4:15 amHi @JeremyaFr, would you by any chance know what offset this would be in the original game binary (version 2.02)? I'd like to play the vanilla game again after a long time, but the deadzone is way too annoying.JeremyaFr wrote: ↑Sat Apr 04, 2020 9:23 pmHello,
To allow small movements, you can try this patch:Code: Select all
At offset 0338A0, replace 51 with C3.
-
- Posts: 21
- Joined: Sat Aug 22, 2009 5:01 am
Been a while. I the latest 5.6 release how do I set deadzone to 0 on X and Y joystick axis? Do I still need to hex edit the config file, or is there a built in way now?
I clicked on "enable small joystick movements" in the joystick configuration tool and that has no effect.
edit:
Nevermind
This works
I had my deadzone somehow turned on with my hotas config software, but I also added a line to hooks.ini:
[hook_joystick_ff]
EnableSmallMovement = 1
Withink the Joystick Config tool I set "Enable small movement" and set every value to 0
Thanks for everyone's ongoing work with this!
I clicked on "enable small joystick movements" in the joystick configuration tool and that has no effect.
edit:
Nevermind
This works
I had my deadzone somehow turned on with my hotas config software, but I also added a line to hooks.ini:
[hook_joystick_ff]
EnableSmallMovement = 1
Withink the Joystick Config tool I set "Enable small movement" and set every value to 0
Thanks for everyone's ongoing work with this!