Jane's Advanced Strike Fighters

Jane's Advanced Strike Fighters

WinterLight Nov 18, 2015 @ 12:12am
JASF control config issues SOLVED (mostly)
So I'm one of the few ppl who love this game and I did the work and figured out how to make the controls work for me. Some of the problems solved:

- The mysterious LEFT ONLY THRUST VECTORING of the default config
- Mapping AFTERBURNER to a controller button rather than the non-working RT double-tap
- In general, map any action to any controller feature

The key to figuring this out were two files:

1) DEFAULT.DB.XML -- located here --> C:\Program Files (x86)\Steam\steamapps\common\Janes Advanced Strike Fighters\inputconfig

2) JASF -- located here ==> C:\Users\<<your user name>>\AppData\Roaming\Evolved\Jane's Advanced Strike Fighters

The way this game seems to work is that it takes file #1 and then overlays #2 on top of it.
From the behavior I've observed if you map DIFFERENT actions to the same control in the two files, BOTH actions are mapped to that control. (Don't take my word on it though, try it on your own)

File #2 can be modified by the control mapping UI in the game itself.
File #1 is totally opaque to the user in-game


File #2 is some kind of proprietary format that reads parameters POSITIONALLY. That is the parameters that you've unlocked a jet or have modified a parameter is always in a specific place in the file preceded/followed by specific tags.
If you do something wrong to it, the game seems to just reset the file back to the default.


ARBITRARY KEY MODIFICATION
So the path I took was to modify DEFAULT.DB.XML and make it the way I want.
Then I modify the control scheme in-game to match what I did to DEFAULT.DB.XML.
Anything that didn't appear on the in-game control configuration needs to be handled in DEFAULT.DB.XML

Also, if you don't already know, replacing this file with any of the controller specific files (as DEFAULT.DB.XML) will get that controller to work. The XBox 360 file seems to a popular controller.



LEFT ONLY THRUST VECTORING
The problem here is that the default configuration of DEFAULT.DB.XML uses JOY_BUTTON_7 on my machine.
The thrust vectoring control is actually a modifier that works in concert with another action.
In DEFAULT.DB.XML thrust vectoring is set-up in two steps:
1 - define the thrust vectoring MODIFIER
2 - define the individual thrust vector axes (pitch, roll, yaw)

So this is what my thrust vectoring stuff looks like in my DEFAULT.DB.XML (The headlines are not in my file, they're just there to make things readable)

THRUST VECTOR MODIFIER
====================================
<Element>
<Name>ThrustVector</Name>
<Signal>Logical</Signal>
<Type>Or</Type>
<Initialiser>0.000000</Initialiser>
<Opaque>False</Opaque>
<Sources>
<Element>key_rightCtrl</Element>
<Element>joy_button_3</Element>
</Sources>
</Element>



THRUST VECTOR AXES
====================================
<Element>
<Name>ThrustVectorPitch</Name>
<Signal>Logical</Signal>
<Type>Multiply</Type>
<Initialiser>0.000000</Initialiser>
<Opaque>False</Opaque>
<Sources>
<Element>Pitch</Element>
<Element>ThrustVector</Element>
</Sources>
</Element>

<Element>
<Name>ThrustVectorRoll</Name>
<Signal>Logical</Signal>
<Type>Multiply</Type>
<Initialiser>0.000000</Initialiser>
<Opaque>False</Opaque>
<Sources>
<Element>Roll</Element>
<Element>ThrustVector</Element>
</Sources>
</Element>

<Element>
<Name>ThrustVectorYaw</Name>
<Signal>Logical</Signal>
<Type>Multiply</Type>
<Initialiser>0.000000</Initialiser>
<Opaque>False</Opaque>
<Sources>
<Element>Yaw</Element>
<Element>ThrustVector</Element>
</Sources>
</Element>


AFTERBURNERS WITHOUT THE DOUBLE-TAP
So after doing the above, getting afterburners usable is trivial. Below is what my config looks like for that. The double tapping stuff is ♥♥♥♥♥♥♥♥ btw.

<Element>
<Name>Afterburners</Name>
<Type>Single</Type>
<Opaque>False</Opaque>
<Signal>Logical</Signal>
<Initialiser>0</Initialiser>
<Sources>
<Element>joy_button_12</Element>
</Sources>
</Element>



I really hope this helps someone (even ONE person) because I really do like this game and it's been so maddening trying to play it as released.

Just for reference:
- I bought this on PC (non-Steam), finished it on hard after modifying just DEFAULT.DB.XML
- I bought the 360 version at the same time, finished it on hard
- Bought it on Steam, realized the control config was different (because of the JASF file), cried a little then got MAD...


IMHO it would've taken the developer ONE MORE HOUR to get the control config the right way round for the release of this game.
Don't know what happened but one shorter sprint planning meeting would have done it.

Hoping one the developers reads this and feels elated that someone loves their game :) and then feels a deep sense of shame for letting players down :(

< >
Showing 1-5 of 5 comments
Metathran656 Mar 28, 2016 @ 12:37am 
omg finally someone figured this out. I got this game a couple years ago and fidled with it trying to get it to work but i didnt have the patience or enthusiasm to try to figure this out, now maybe i can actually get some game time in on this.
Last edited by Metathran656; Mar 28, 2016 @ 12:38am
nerfage Jul 23, 2016 @ 6:21pm 
This was no help whatsoever, or else your explanation is missing something. Not only was my file already configured like your example, but no matter what changes I tried to make to it, the controls were still perm-yawed to the left. I hacked at this for over an hour, and no matter what I changed, even completely removing those vectoring entries, did no good. The game is essentially unplayable as it stands.
Last edited by nerfage; Jul 23, 2016 @ 6:22pm
TransparentBlue Dec 7, 2020 @ 9:40am 
Gonna necro this one because I found a slightly better solution (at-least to me)
So I've managed to get
>AC style control
>Afterburner working without doubletap (or even at all as was my case) and merged onto the throttle up button
>Thrust vectoring working and merged onto throttle down button
>X360 pad naming scheme in remapping controls
>Menu navigation with the gamepad, including skipping cutscenes
>least complex set of instruction for best possible result

So here goes, provided you're eitehr using an Xinput compatible gamepad, a Xinput emulator or Steam's own input emulator thingy

  1. Go to \Program Files (x86)\Steam\steamapps\common\Janes Advanced Strike Fighters\inputconfig
  2. Make a backup copy default.db.xml and a copy XBOX 360 Controller.db.xml
  3. Rename the XBOX 360 Controller.db.xml copy to default.db.xml and put it in the folder
  4. Open it in an editor

  5. Copy and paste at the end of the file while replacing the last two lines
    <Element>
    <Name>Afterburners</Name>
    <Type>Single</Type>
    <Opaque>False</Opaque>
    <Signal>Logical</Signal>
    <Initialiser>0</Initialiser>
    <Sources>
    <Element>button_right_shoulder</Element>
    </Sources>
    </Element>
    </Signals>
    </Component>

  6. Go to
    <Element>
    <Name>Thrust</Name>
    <Signal>Logical</Signal>
    <Type>Add</Type>
    <Initialiser>0.000000</Initialiser>
    <Opaque>False</Opaque>
    <Sources>
    <Element>triggers</Element>
    <Element>ThrustConfigurable</Element>
    </Sources>
    </Element>


    then remove
    <Element>triggers</Element>

  7. Go to
    <Element>
    <Name>ThrustVectorGPad</Name>
    <Signal>Logical</Signal>
    <Type>And</Type>
    <Initialiser>0.000000</Initialiser>
    <Opaque>False</Opaque>
    <Sources>
    <Element>button_left_trigger</Element>
    <Element>button_right_trigger</Element>
    </Sources>
    </Element>

    then replace
    <Element>button_left_trigger</Element>
    <Element>button_right_trigger</Element>
    with

    <Element>button_left_shoulder</Element>

  8. Start the game and go to the remapping screen
  9. Press End on your keyboard to reset binding to default
  10. Set Yaw and throttle to triggers and shoulder respectively

Hopefully afterwards it works as I described, one downside is that throttle decreases on it's own so you'll have to feather the throttle for a bit if you want to regen afterburner fully while still going fast, Vector thrust also becomes a bit limited compared to how utterly absurd it becomes if you do not need to slow down to use it but considering there's no practical spare button and that it still is insaely useful even like that I think it's not a big deal, although if you wish you can definitely unlink afterburner from the throttle buttons by using something other than button_left_shoulder / button_right_shoulder (although you really only have button_left_thumb as a spare button)
Last edited by TransparentBlue; Dec 7, 2020 @ 9:43am
Draco-Cu-29 Jan 9, 2023 @ 11:16am 
TY
NOBOT Dec 31, 2023 @ 1:20pm 
None of these fix the constant left yaw
< >
Showing 1-5 of 5 comments
Per page: 1530 50