Joystick as of SVN11546

Find any bugs in Vega Strike? See if someone has already found it, or report them here!
rigelan
Confed Special Operative
Confed Special Operative
Posts: 291
Joined: Sat Jan 28, 2006 2:58 am
Location: Des Moines, Iowa

Joystick as of SVN11546

Post by rigelan »

Has anybody had any joystick issues as of SVN 11546? Mine has stopped working. And my system is Slackware Linux.
hellcatv
Developer
Developer
Posts: 3980
Joined: Fri Jan 03, 2003 4:53 am
Location: Stanford, CA
Contact:

Post by hellcatv »

the joystick code hasn't changed for years and years--
maybe some security update changed your OS's joystick system?

can you cat /dev/js0 and get meaningful results when you move the stick
Vega Strike Lead Developer
http://vegastrike.sourceforge.net/
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

I had no problem with svn11546 after building it this morning.So it should be an OS issue but with Slackware that just doesn't feel right :shock:

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
rigelan
Confed Special Operative
Confed Special Operative
Posts: 291
Joined: Sat Jan 28, 2006 2:58 am
Location: Des Moines, Iowa

Post by rigelan »

Right, Slackware 12.0 came out, I installed that around August 1st. Haven't changed anything on the OS since. Maybe my joystick is crapping out. Its pretty new, so I hope not. Thanks for the check.

But it did stop working as soon as I recompiled the latest binary. Maybe its an accidental compilation, and I should destroy the binary and recompile.

And everytime vegastrike is started, it makes mention that the joystick is detected. lsusb also found it, its not /dev/js0 though.
rigelan
Confed Special Operative
Confed Special Operative
Posts: 291
Joined: Sat Jan 28, 2006 2:58 am
Location: Des Moines, Iowa

Post by rigelan »

Maybe its in the bindings.
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

I just tried out my gamepad and it is detected but I can't use any of the bindings. I'm debugging into why that is so.

It could be due to the change from data4.x to a new data4.x ... since the config file got changed.

Edit: Hmm... for me I'm getting NaN (probably a division by 0) from my joystick axis... that can't be good.
I suspect a calibration error somewhere.
rigelan
Confed Special Operative
Confed Special Operative
Posts: 291
Joined: Sat Jan 28, 2006 2:58 am
Location: Des Moines, Iowa

Post by rigelan »

Hey, this is still an issue. Anybody been working on this? If joysticks don't work, this is definitely a show-stopper for release. SVN 11620

And yes, i did check out my joystick, it responds fine in the KDE control center and calibration place. And yes, vegastrike still detects it, just is unable to use it.
AMD 4800 - NVIDIA 7600 - Slackware Linux 12.2
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

Everything works on my joystick except my throttle. It works in 4.3 but not in SVN 11809.

Any ideas?

kbitz
Coragem
Bounty Hunter
Bounty Hunter
Posts: 169
Joined: Sun Jan 20, 2008 8:38 pm
Location: Rio de Janeiro, Brazil

Post by Coragem »

Try addin this line before the end in the code bellow

Code: Select all

<axis name="throttle" joystick="0" axis="2"/>
Note, you using Linux or windows? make sure the number your throttle axis is, on my joystick its axis 2. if you in linux use jstest to check the number of it.
At the bottom of the code bellow in Vegastrike.config.

Code: Select all

<!-- #joy_throttle joy_t_a_rev joy_throttle_and_axis joy_axis joy_normal
		<bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />
		<bind joystick="0" button="1" modifier="none" command="ABKey" />
		<bind joystick="0" button="2" modifier="none" command="MissileKey" />

		<bind joystick="0" button="3" modifier="none" command="TargetKey" />
		<bind joystick="0" button="4" modifier="none" command="PickTargetKey" />
		<bind joystick="0" button="5" modifier="none" command="DecelKey" />
		<bind joystick="0" button="6" modifier="none" command="SheltonKey" />
		<bind joystick="0" button="7" modifier="none" command="AccelKey" />
		<bind joystick="0" button="8" modifier="none" command="WeapSelKey" />
		<bind joystick="0" button="9" modifier="none" command="MisSelKey" />

		<axis name="x" joystick="0" axis="0" inverse="false" />
		<axis name="y" joystick="0" axis="1" inverse="false" />
#end -->
Let me know if this helps.
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

I tried what you recommended. It failed to resolve the problem.

Also, I already had that line in the config for my joystick, so when I put that in I dropped back to one of the generic configs.

I have a MS Sidewinder Precision 2.

The block in my config for it is as follows:

Code: Select all

<!-- #joy_msswp2 -->
   <!-- Joystick:Microsoft SideWinder Precision 2:BEGIN-->
      <!-- buttons:BEGIN -->
         <bind joystick="0" player="0" button="0" modifier="none" command="FireKey" />  
         <bind joystick="0" button="1" modifier="none" command="MissileKey" />          
         <bind joystick="0" button="2" modifier="none" command="PickTargetKey" />       
         <bind joystick="0" button="3" modifier="none" command="LockTargetKey" />       
         <bind joystick="0" button="4" modifier="none" command="TargetKey" />           
         <bind joystick="0" button="5" modifier="none" command="MisSelKey" />           
         <bind joystick="0" button="6" modifier="none" command="WeapSelKey" />          
         <bind joystick="0" button="7" modifier="none" command="SheltonKey" />         
      <!-- buttons:END -->
                        
      <!-- axes:BEGIN -->
         <axis name="x"        joystick="0" axis="0" inverse="false" /> 
         <axis name="y"        joystick="0" axis="1" inverse="false" /> 
         <axis name="z"        joystick="0" axis="2" inverse="true" />  
         <axis name="throttle" joystick="0" axis="3"/> 
      <!-- axes:END -->

   <!-- Joystick:Microsoft SideWinder Precision 2:END-->
<!-- #end -->
This worked flawlessly in 0.4.3. In the SVN, everything works except my throttle.

The throttle is axis 3, as confirmed by both jstest and the old version of Vegastrike.

kbitz

EDIT: Forgot to mention. I'm using Linux.
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

Do you still have a copy of your 0.4.3 config file check it for which axis the throttle was assigned to and edit the current one accordingly your old .vegestrike-0.4.3 hidden folder should still be about if you did not explicitly delete it :wink:

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

I still have Vegastrike 0.4.3 installed. The config for my joystick came directly out of the old config. I copy pasted that section.

Using the pre-existing config of three axes plus throttle doesn't work either.
And I don't mean "the throttle doesn't accelerate the ship" kind of doesn't work, I mean "the throttle doesn't do ANYTHING" kind of doesn't work (not even the wrong thing).

As I still have vs43 installed into a separate location, I can start it up and confirm that my throttle works and that it's not a system change that's causing it, which I did.

kbitz
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

Could you email me the whole file at loki1950 at gmail.com I'll have look to see if anything else looks wrong so to recap x-axis=0 ,y-axis=1,z-axis=inverse 3 and throttle=3 you do have syntax highlighting turned on while you edit to verify the validity of your edit.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

sent.

Should I attach it here as well? I don't play online (yet) so I shouldn't have passwords or anything saved in there.

kbitz
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

It looks ok i see you added the sidewinder stuff from the wiki only one possible thing noticed that two lines defining throttle are active you might try adding a "#" to the stat of one to make it in active set syntax highlighting for XML on both kwrite and gedit have it.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

I noticed that about the throttle after I sent you the file.
(I noticed it because I couldn't change speed when I tried to play the game again)
I have since taken them both out so that I can change speed while we figure this out. (I also tried leaving one or the other or both in to see if it helped. No dice)

kbitz
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

Additional joystick issue worth noting:

My throttle still doesn't work, but I can still play with a broken throttle, since I can use the keyboard to regulate acceleration and the stick for everything else.

However, while I was playing today, my joystick simply stopped responding. I came out of spec/auto and my stick couldn't steer the ship. I had to revert to the keys. When I exited the game and ran "cat /dev/input/js0" I found that my joystick was still working according to the system.

Restarting Vegastrike fixed the problem. However, this happened three times and required me to reload the game each time. This is a big problem when an enemy shows up while the stick isn't working.

This never happened to me in 4.3.

I've heard the joystick code is _years_ old. So there must be something distributed with the game that has changed and alters the joystick's workability. It's likely that one problem is causing both issues.

Is it possible these are SDL related?

kbitz

EDIT: Forgot to mention. When I touch my joystick upon a fresh load, the ship turns the right direction. However, when the stick recenters, the ship continues to turn in the direction opposite the initial movement. Pushing the stick all the way in the direction the ship is spinning in and then releasing fixes the problem.

This isn't huge, since I can simply "wiggle" the ship upon load, but as it's a new problem (that wasn't in 4.3), I assume it's related to the general joystick issues I'm having.

EDIT2: I know you guys have to be getting sick of me. On a whim, I did an ldd on both the 4.3 and the 5.0 binaries for VS on my system, redirected them to a file, and diff'd them.

Turns out that my 4.3 VS is using SDL 1.2 and my 5.0 VS didn't return anything having to do with SDL. I find SDL dlls in the data folder, so I doubt SDL was used for Windows only. Did I miss-configure my compile, or is this behavior expected?

Is SDL used for joysticks at all anyway?
Coragem
Bounty Hunter
Bounty Hunter
Posts: 169
Joined: Sun Jan 20, 2008 8:38 pm
Location: Rio de Janeiro, Brazil

Post by Coragem »

OK some more questions...

1 Joystick is USB or Gameport?
2 did you update your soundcard/alsa/kde/arts packages in the last days?
3 what sound card you plug it into if its gameport.
4 how old is the stick?
5 do you have other problems with the stik on other games?
6 do you have same problems with another stick into the same computer?

you can try if you didnt already do so, calibrate with jscal and run the game on blackbox/fluxbox or some other window manager of the same type, so we see if its not some KDE / Gnome issue.
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

Oh my gosh, fixed!
(I'm making a note here: huge success)

Ok, so following my line of reasoning from my previous post, I fired up synaptic, and looked for the SDL libs. I found that I had the libs, but not the dev packages.

"That's odd," I said to myself, thinking that I shouldn't have been successful in compiling VS without them. Realizing that I couldn't have linked against the existing libs without the devkit and that my current binary was NOT linked against, them, I grabbed the dek kits (for sdl and sdl-mixer).

I then ran a make clean in my vegastrike dir, followed by the traditional bootstrap, config, make vegastrike, etc.

Double checked my config with gvim and then fired up vssetup (recompiled as well) to confirm everything was as it should be.

launched vegastrike.
launched my ship.
moved the stick.

It didn't push back causing a spin like it had been doing. The x,y,z axes worked as the should.

Holding my breath, I adjusted the throttle.

AND THE DESIRED EFFECT WAS EXHIBITED ON SCREEN.

While I should have been smart enough to have known I needed those libs, I'm not going to take 100% blame here.

They weren't mentioned in the wiki (although that's like two hundred revisions old by now) and it wasn't a show-stopper in the configure or compile processes.

Perhaps the build process should be designed to not finish without SDL, since they seem to be important.

This may fix the joystick issues for others using Linux as well. Rigelan, as this is your thread anyway, perhaps you could try it? (You may have it working by now, as this was an old thread).

Thanks,

kbitz
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

The lack of mention of the dev packages for SDL are most likely because the person who wrote the wiki entry had some build experience and knew in his bones that if you are compiling something you need the dev packages for every lib used.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

The problem there is that whoever wrote the wiki entry also probably had read the system requirements for the game somewhere. I didn't actually know that SDL was used until I did an ldd of both versions of VS and looked for what was missing in the new version's output. And I didn't do that until stuff didn't work in the new version.

Granted, if I had bothered to read the output of configure, I probably would have known at compile time, but there was a lot of text, and the program compiled properly anyway.
ace123
Lead Network Developer
Lead Network Developer
Posts: 2560
Joined: Sun Jan 12, 2003 9:13 am
Location: Palo Alto CA
Contact:

Post by ace123 »

That's a good point.
I think we should require the use of a configure option to allow it to use GLUT... otherwise just error out if they don't have SDL.

Glut required that you touch all the joystick axes in-game because the idiots who designed that library did not bother to write calibration code themselves. So until you touched the axes all the X,Y, and Z axes would start at some random number.
kbitz
Explorer
Explorer
Posts: 14
Joined: Wed Feb 06, 2008 7:26 am

Post by kbitz »

ace,

Thanks for clearing up why the ship started spinning like that. I knew it had to be from the GLUT/SDL thing, but I couldn't for the life of me figure out why one of them caused the ship to do weird things.
thawn
Explorer
Explorer
Posts: 9
Joined: Sat Feb 23, 2008 5:10 pm

test joystick with sdl

Post by thawn »

just a quick remark if anyone else has problems with this under linux. there is a tool that allows you to test if the joystick works with sdl:
http://sdljoytest.sourceforge.net/
it helped me to figure out what was wrong (the plug was lose :P )
good luck!
loki1950
The Shepherd
Posts: 5841
Joined: Fri May 13, 2005 8:37 pm
Location: Ottawa
Contact:

Post by loki1950 »

I also had the HAL daemon forget it exits :wink: had to re-plug it a few times.

Enjoy the Choice :)
my box::HP Envy i5-6400 @2Q70GHzx4 8 Gb ram/1 Tb(Win10 64)/3 Tb Mint 19.2/GTX745 4Gb acer S243HL K222HQL
Q8200/Asus P5QDLX/8 Gb ram/WD 2Tb 2-500 G HD/GF GT640 2Gb Mint 17.3 64 bit Win 10 32 bit acer and Lenovo ideapad 320-15ARB Win 10/Mint 19.2
Post Reply