Release Thrustmaster Warthog Script Sharing (For advanced Warthog User CMDR's with HCS Keybinds)

Just want to share this Target Script : Github Link

Download Releases and Pre Releases Here

Check / Download Beta for ED 2.3 The Commanders Here

Check the settings file first (ED+HCS v2.X_Settings.tmh)


If you try it, please, report Feedbacks and Bug.
Suggestions and Help are welcome


Special thanks go out to Aussiedroid, DarKcyde0, WraithMG11235, Synkc and Solarfly

o7 CMDR
and sry for my english

Work in Progress (2.3 The Commanders Branch)
07/03/2017 Configuring the Mapping on Joystick and Throttle In setting File, So you will be able to swap Button, Toggle and Hat as you wish without messing with the code scripting. (Check Github Wiki Tab for PSD File's) : DONE
08/03/2017 Make this Mapping settings User Friendly

Will update this Post as required
EDIT 27/01/2017 : Currently, i suggest you to use Beta version of the script, it's updated almost every day. I don't have enough Feedback to make a release one without bug :(
EDIT 02/03/2017 : Add link to the new beta branch for ED 2.3 The Commanders
EDIT 05/03/2017 : beta 2.2 will no longer be updated
EDIT 07/03/2017 : Add Work in Progress
 
Last edited:
Thank's Aussiedroid.[smile]

I just added a link to the beta page. Will update it regularly (when Bug Fix /Add/...)

If you try it, Please, do not hesitate to share your feedback[wink]
 
This is highly appreciated. I have been using Wraith's configuration since I got my Warthog. It has served me well, but I stumbled upon yours and am looking into it since I enjoy using my HCS Voicepacks also. Now I think I will have to disconnect my HMD for a little bit so I can learn this setup better (unless I can find a way to display the cheat sheets in the vive).

Well, using an app I found a solution for the cheat sheet. I have broadcast it to my vive (left wall). If I look there it zooms and I can read it.
 
Last edited:
Thanks Farinhir. Appreciate you checking it. :cool:

Don't hesitate to report Bug / Your Feedback. I will try to do my best to Fix Bug and change how it work (chart, ... ) or add/remove Features if it's needed ;)
I suggest using the beta version, is updated almost every day (you don't need to change ED Binding). Link in the First post, Green Button "Clone or Download", Download Zip. You can check what was changed (and when) if you click on xxx commits on the upper left.
I don't have any feedback, yet, from other cmdr and i can't test all by myself (to much work irl, small time playing and do almost only Exploration [noob]).

Also, what app you using to broadcast the cheat sheet on your vive?
 
Last edited:
I am using OpenVRDesktopDisplayPortal to broadcast a program to my vive in game. It has to be opened as admin to work.

My first issues I am having are with targeting. In Combat Zones I find being able to target next/previous hostile most important, and then secondary is the ability to quickly cycle sub-systems (so I can just cycle to power plant fast). This was one of the things that had me with Wraith's for so long. I do like some of the macros in yours, definitely. I have changed the script a little so far to allow for hostile ships, S = next ship, L =sub-system. I might try to find a way to make it so I can press S3 and the TMS-right to do sub-systems (if I can figure this out) to simplify sub-system targeting. Actually, S3+TMS right = Sub-system, S S3+TMS right = Hostile might be a good thing for me to try for. Of course I would figure out for TMS left also.

Is there a way to use the optimum pip setting (I want it to optimize for shooting while I am pulling the trigger and then revert back to my non-fire state of 3-sys/3-eng while not firing) without retracting HPs. In its current state it either has to deploy and retract HPs to change the pips back. This is not ideal for someone like me who uses fixed weapons and sometimes only has a second to shoot before they pass out of view. It might be something in the settings.

I have only used it a few hours. These are just my initial thoughts. I do like the idea grately and will keep you updated on what I am finding. I think I like the J-curve for the FAOff switching on automatically when entering that best.

And some things it will just me getting used to. lol. Since I use voice attack I do not even touch the landing gear or cargo scoop switches. Maybe I can redo one of those.

And do not feel bad. I took Wraith's and tried to rewrite a few things to make it work for me. I just do not have time to come up with my own script. I know how terrible IRL stuff is. I usually work 50+ hours a week and take care of a disabled person on my days off. Today is my first day off since I found your script. It will be the first real testing I do.

Thank you for the work you have done on this.

Edit:
My SimPitKit is made up of the Thrustmaster Warthog (stick in center like a real a-10c), and MFG Crosswinds.
 
Last edited:
Wow. You work fast. I have been trying to figure out where the S3 changes things. I decided to look at the commits you have done and you are already adding some stuff. I was just trying to figure it out myself. You are awesome.
 
Thanks for the Feedback :cool:

Just make the change in beta for targeting.;) I left the previous lines with comment, so you will see how it work with the S3 modifier (you can also check Target Manual P20-22). Joystick Chart is Also Updated. (let me know if that need more modifications (delay,...))

About the pip setting, if you don't want Stop fire Retract Hardpoints :
-Change in settings StopFireRetractHardpoints to 0 (default state) and don't change it ingame, see below.
-Or Switch the state (ON/OFF) of StopFireRetractHardpoints in game : Throttle Engine Operate Ign/Norm Right UP LongPress
LED5 is, by default, the StopFireRetractHardpointsLED so you can track the state of this without change

If you don't want Fire Deploy Hardpoint :
-Change in settings HardPointsonFireGameMode to 0 and modify the setting In Game (Elite dangerous Settings)

The Optimal PIP system should still work. You can, if you want/need, activate or desactivate this mode :
-Change in settings OptimalPIPMode to 0 (default state) and don't change it ingame, see below.
-Or Switch the state (ON/OFF) of OptimalPIPMode in game : Throttle Engine Operate Ign/Norm Right UP ShortPress
LED1 is, by default, the OptimalPIPModeLED so you can track the state of this without change

You can, also, try :

The SilentRuningOFFonFire : Put silence runing On, then fire; that should put silent running OFF, then, when you relesease fire put silent runing back ON. That Work like the other Stuff Upper; if you don't want it:
-Change in settings SilentRuningOFFonFire to 0 (default state) and don't change it ingame, see below.
-Or Switch the state (ON/OFF) of SilentRuningOFFonFire in game : Joystick Data Management Switch UP ShortPress
LED4 is, by default, the SilentRuningOFFonFireLED so you can track the state of this without change (Will rename it later for now it's ToggleSilentRuningonFireLED in Settings file)

The SupecruiseOnThrottle : Supercruise if Boost when Throttle > 99%. This one is OFF by default. If you want it:
-Change in settings SupecruiseOnThrottle to 1 (default state) and don't change it ingame, see below.
-Or Switch the state (ON/OFF) of SupecruiseOnThrottle in game : [S3] + Throttle Arm Speedbrake BACK
LED3 is, by default, the SupecruiseOnThrottleLED so you can track the state of this without change (Will rename it later for now it's ToggleSuperCruiseModeLED in Settings file)

The SecureRetract : Automatic Rectract (if deployed) Landing Gear, Cargo Scoop and Hardpoints for Escape Fight*, System Jump, Supecruise On Throttle ....
If you don't want it:
-Change in settings SecureRetract to 0 (default state) and don't change it ingame, see below.
-Or Switch the state (ON/OFF) of SecureRetract in game : [S3] + Throttle Engine Operate Ign/Norm Right UP ShortPress
LED2 is, by default, the SecureRetractLED so you can track the state of this without change
If you use this, you should re align the switch to match game setting : [S3]+the switch (landing gear / cargo scoop) or just Switch them without [S3], that should also work (I don't have done lot of testing for this, you can see if that work in Target Script Debug Msg : that should put "xxxx Reset On The Fly" msg and do nothing in game (deploy/retract hardpoint))
*: for Escape Fight (Autopilot Select switch in the middle, then press Autopilot Engage/Disengage Button ( on throttle), all we want is to Escape Fight so we don't check SecureRetract & OptimalPIPMode States, if you want, you can UnComment the 4 Lines to check Them in initEscapeFight()

The J-curve for the FAOff work only if Rotational Correction is ON( RCorrection is ON, by default, on the script. You can change RCorrection state with [S3] + Throttle Engine Operate Ign/Norm Right UP LongPress in Game). I can change it to always work... i don't know.
If it's needed, i can add a least aggressive curve for it. Let me know ;)


Fly Safe Cmdr, and thanks again for the feedback
And sry for my English :(

Ps: I will add an option to add an offset ° to accommodate your/other center mounting joystick, (if your turn your joystick counterclockwise a little (+-15°)) : DONE posted in beta so you can try it (Rotate Stick Axis 15deg CCW to account for mounting position). you will have to put 1 ( instead of 0) at the CenterJoystickMount option in settings since i don't use center mounting setup
 
Last edited:
I see it. You have a few KepMap functions. KeyMap, KeyMapIO (first one added is the S3 option), and the KeyMapRIO (unsure what this one is yet). Still figuring this out.
 
The changes are working amazingly. Thank you. Also, your use of slew on the galaxy map is genius. I found that one by accident. lol

I saw you hid my name in the file. lol. I am glad I can help, and I thank you for what you are doing. I am getting more and more used to this. I still sometimes hit Galaxy Map when I try to turn FA off, but I am getting it. I might have to do a video soon, where I am using your script to do combat (while filming my hands on HOTAS).

My one issue. The optimal pip mode seems a little buggy. It remembers the reset state for a few attack passes then forgets it (leaving the pips in 2 system 4 weapons). I have learned to compensate. I am unsure what causes that, and it might just be the rate of combat (pressing a fire button faster than the system can record the pip mode). Maybe there would be a way to set a default pip mode if it "forgets" the one we had. Just musing. Not really asking for the feature. If you have an idea on it then great but do not work too hard.

My reasoning for this is when I am not firing I prefer maneuverability and shield reinforcement.

Again, thank you for all of this.
 
If that can help I can put [S3]+ key for galaxy map and system map. (but i think is not a good idea)

Find this in ED+HCS v2.2.tmc
Code:
	//	-------------------------Boat Switch
	MapKey(&Throttle, BSF, PULSE+GalaxyMap);// Switch FORWARD
	MapKey(&Throttle, BSM, PULSE+UIBack);// Switch MIDDLE
	MapKey(&Throttle, BSB, PULSE+SystemMap);// Switch BACK

And replace With
Code:
	//	-------------------------Boat Switch
	MapKeyIO(&Throttle, BSF, PULSE+GalaxyMap, 0);// Switch FORWARD
	MapKeyIO(&Throttle, BSM, PULSE+UIBack, 0);// Switch MIDDLE
	MapKeyIO(&Throttle, BSB, PULSE+SystemMap, 0);// Switch BACK

That Should help you for now (you will need to press S3 to use it)

For the PIP mode I did it like that:
-It Backup the pip mode before deploying hardpoint (vOptimalPIPHPBackup on Script)
-It Also Backup the pip mode before fire (vOptimalPIPFireBackup on script)
So it should work like this : you set PIP, you deploy hardpoint it will save previous PIP (1) then set the optimal PIP. If you change the pip (2) (after deploying hardpoints) and fire (it will set optimal PIP when fire to) it will return to the previous states (2) after release fire, then if you retract hardpoints return to (1). Sry it's hard to explain for me (with my english skill :) )

In Fact it backup PIP for more than that

Code:
	//PIP Management
	int vOptimalPIP;					//initPIPPower()
	int vOptimalPIPHPBackup;				//initToggleHardpoints()
	int vOptimalPIPFireBackup;				//initFire()
	int vOptimalPIPEFBackup;				//initEscapeFight()
	int vOptimalPIPGMBackup;				//initToggleGameMenu()
	int vOptimalPIPCCBackup;				//initToggleCamera()


I will try to do more test this weekend (when i got more time to play) and try to Fix/Remove Backup if it's needed. It shouldn't be the firerate.

Let's try something : change PIPPulseDelay (in settings file) from 75 to 25.
in ED+HCS v2.2_Functions_CORE.tmh
Find :
Code:
// Send PIPS
ActKey(KEYON+ CHAIN(PULSE+ BalancePower, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPy, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPz));
Replace with :
Code:
// Send PIPS
ActKey(KEYON+ CHAIN(LOCK+PULSE+ BalancePower, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPy, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPz, LOCK));
If you try it (outside of combat zone ^^ ), let me know if that work better or not pls.
It return always to 2 system 4 weapons? you see "Backup PIP" & "Restore PIP" in target debug msg when that make "the bug"?
Thank's for the report btw.



Have you tried the Rotate Stick Axis 15deg CCW to account for mounting position? (I don't i'm @ Work :rolleyes: )

For the Slew in galaxy/system map ... i use HMD so it's the best solution i found

For the Video.. let's try to fix Bug Before :p The code is almost ready to use Shadowplay or Relive (code is already there, just need to map it)

Also i suggest you to not make to much personal change yet, it will be better to make them after the script work properly
 
Last edited:
If that can help I can put [S3]+ key for galaxy map and system map. (but i think is not a good idea)
That Should help you for now (you will need to press S3 to use it)
There is no need to change the galaxy and system map keybindings. They are fine. The issue is with me needing to unlearn what I know from Wraith's. It was more anecdotal. I did it a few times in combat and was able to quickly fix it and get back on track.

For the PIP mode I did it like that:
-It Backup the pip mode before deploying hardpoint (vOptimalPIPHPBackup on Script)
-It Also Backup the pip mode before fire (vOptimalPIPFireBackup on script)
So it should work like this : you set PIP, you deploy hardpoint it will save previous PIP (1) then set the optimal PIP. If you change the pip (2) (after deploying hardpoints) and fire (it will set optimal PIP when fire to) it will return to the previous states (2) after release fire, then if you retract hardpoints return to (1). Sry it's hard to explain for me (with my english skill :) )

I will try to do more test this weekend (when i got more time to play) and try to Fix/Remove Backup if it's needed. It shouldn't be the firerate.
I understand what you are saying here. And your English seems just fine to me. Better than some people I know here in America. :p

I have the pips set to 3/3/0 (sys/eng/wep) when I deploy my hardpoints in the CZ. I then start to fire at a ship when I engage and it changes to 2/0/4. It reverts back to 3/3/0 when I stop firing. However, after a few times it loses the "memory" for some reason and remains 2/0/4 and I have to reset to 3/3/0 again.

Let's try something : change PIPPulseDelay (in settings file) from 75 to 25.
in ED+HCS v2.2_Functions_CORE.tmh
Find :
Code:
// Send PIPS
ActKey(KEYON+ CHAIN(PULSE+ BalancePower, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPy, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPz));
Replace with :
Code:
// Send PIPS
ActKey(KEYON+ CHAIN(LOCK+PULSE+ BalancePower, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPy, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPx, D(PIPPulseDelay),PIPz, LOCK));
If you try it (outside of combat zone ^^ ), let me know if that work better or not pls.
It return always to 2 system 4 weapons? you see "Backup PIP" & "Restore PIP" in target debug msg when that make "the bug"?
Thank's for the report btw.
I have done these changes. I will test when I wake up. I am about to go to bed.


Have you tried the Rotate Stick Axis 15deg CCW to account for mounting position? (I don't i'm @ Work :rolleyes: )
For the Slew in galaxy/system map ... i use HMD so it's the best solution i found

For the Video.. let's try to fix Bug Before :p The code is almost ready to use Shadowplay or Relive (code is already there, just need to map it)

Also i suggest you to not make to much personal change yet, it will be better to make them after the script work properly
I am sorry. I have not tried this. I saw it, but my stick is mounted as if it were a real warthog flightstick. So if I push away from my center of mass it pitches the nose down. If I pull toward my center of mass it pitches upward. The angle is not changed because of where it is. Only the angle my hand sits on the flight stick. I do thank you for the work you put into that though. It was considerate. I am sorry if I did not communicate as well what I meant when I was telling my setup.

I have it more like this for the stick and throttle. I can show you what I did. And I can tell you where I got my stand (wheel stand pro). It works nicely.

I also have MFDs but I would need to figure out a way to get them in a place that would not move so I could find them with my HTC Vive on. lol. Even then it would be pressing a button blind.

As for recording, I use a program called Mirillis Action! to allow me to record better quality without any issues of performance loss (HMD and all). I can test shadowplay when it is ready. I could even test streaming (shadowplay and Action would work for that). I decided a while back that I could not really do a lot of streaming of E:D because I do not know of a program to display twitch chat into the Vive (yet). I could setup OpenVRDesktopDisplayPortal to show chat, I guess. It might be hard to read though.

As for changes. You did the one I was really thinking of doing. I am using the script how you are making it for now. This way I know if there is a problem it is the script and not something I messed up. We are beta testing after all. :)


Thanks again, and fly safe commander. (I never do since I am combat oriented).
 
I am sorry. I have not tried this. I saw it, but my stick is mounted as if it were a real warthog flightstick. So if I push away from my center of mass it pitches the nose down. If I pull toward my center of mass it pitches upward. The angle is not changed because of where it is. Only the angle my hand sits on the flight stick. I do thank you for the work you put into that though. It was considerate. I am sorry if I did not communicate as well what I meant when I was telling my setup.

It was an easy Add ;) . I found lot of Guy's who use Center mounting warthog Joystick requested axis rotation in DCS Forum, they say

Are you talking about offsetting the X and Y axis, so that you can mount it rotated 15 degrees CCW (like the real thing)?
Since my WH is center mounted, the rotation is almost mandatory.
I have same issue and have been giving myself a cramped wrist for 3 years lol

That will not change the way it work that just rotate a little all Joystick axis. give it a try it's just a 1 to put in option. if you don't like reverse to 0 ;)
 
Last edited:
It seems there is a slight rotation CCW on the stick. I just watched some footage of them being flown and it is not by much. I guess I need to get out a protractor and get this lined up. lol. Thank you for pointing that out. I will try your rotation once I get it. This also means a little relearning on my controls. But it might help me with my FAOff work.
 
Just tried the previous "Fix", it seem to be ok, will post it in beta (I will left the previous line in comment)
Will do more test tonight.
I'm sry to waste your time with the stuff that don't work for you day Off, Farinhir. Thanks again .
 
Last edited:
It is not a waste of time. I enjoyed my playing. I can compensate on things if it has issues. I did with the pips bit. And we are working out any bugs. You have no need to be sorry. I am happy you have made such an amazing script.
 
My one issue. The optimal pip mode seems a little buggy. It remembers the reset state for a few attack passes then forgets it (leaving the pips in 2 system 4 weapons).

The Bug should be fixed now / Posted the Fix in beta :

It was when using 1rst and 2nd fire : when both was pressed it backuped the optimal of the first triger (4 WEP 2 SYS), so it was not reverse to the good previous PIP (before fire) but to 4 WEP 2 SYS (That does nothing ingame since initRestorePIPPower() check and send PIP only if it needed). Now we check : if the PIP it's already 4 WEP 2 SYS we don't make another backup. That should work Ok
I left the Previous Fix (trying to) from previous commit, we will see if that work without issue, we will ,maybe, keep it like this (with the lock and 25 for PIPPulseDelay)

Edit: By Default it will return to //2 SYS 2 ENG 2 WEP (0) if you don't make change before deploying Hardpoints or Fire after the game launch. I suggest, when you launch the game to make one change to PIP before deploying hardpoints and another before fire, so the script can backup those value. I(you) can Obviously, if it's needed, change the default Value Of PIP to something else. Let me know.
Also, if you launch the game and the hardpoints is already deployed, Press [S3] and Joystick MASTER Mode Control Button Longpress, to "align" the Harpoints state betwen game and script (by default, in the script, it start retracted). That goes for landinggear and cargo scoop to. [S3] + switch if "mis aligned" : with last beta, you should see a debug msg " xxxx Reset On The Fly with S3". That switch the state in the script without sending command to the game
 
Last edited:
Things seem to be working well. I tried the 15deg change and see that I am actually not in need of it. I have an extension which allows me to rotate me stick without rotating my base. So I can change the angle on the handle while maintaining the correct angle for pitch and roll.

The escape Autopilot saved my life.
 
Hi Farinhir.

I changed how PIP backup work in beta with a function (16h ago) and do a small optimisation of SilentRuning Off on fire just now (not tested ingame yet, but that should work).

The escape Autopilot work ok (not tested a lot, maybe it need change of delay for some "macro" command in it), but take care, try to use the switch (or align them regularly) for landing gear/Cargo scoop : if you use Voice attack for them the script can't track states. (for SecureRectract function, if the script "know" the wrong states, it can deploy them and you can be stuck)

In fact, I don't have done to much test In Game for a lot of stuff in the script :(

Thanks for the feedback

Ps: If you use HMD, in Galaxy/System Map, you can use Joystick Data Management Switch (DMS) Right or Left to navigate in the system bar menu list
 
Last edited:
Top Bottom