Hi AD,

Is this edit now working?
The way I read it you fire the REXEC on PSB without S4 modifier (I think), then cancel it via same.

"I" = S4, "O" = !S4 thus...

MapKeyIOUMD(&Joystick, TG1,
EXEC...., // IU = S4+PSF+TG1
EXEC...., // OU = PSF+TG1
EXEC...., // IM = S4+TG1
EXEC...., // OM = TG1
EXEC...., // ID = S4+PSB+TG1
SEQ(REXEC....)); // OD = PSB+TG1

As mentioned previously, you can further simplify your code by parsing a parameter to initAdvancedFireModule() via integers.
Example

EXEC("initAdvancedFireModule(1);");

Then you declare the function thus...

int initAdvancedFireModule(int x) { // Argument: 0 = blah, 1 = Combined (or whatever), 2 ... up to 5

if (x == 0) do stuff
.
if (x == 1) do the other stuff
.
etc

It cuts down on a lot of nested if statements.

Also, I'm not really getting what releasing the trigger (via your MapKeyR) is meant to do here?

Let me know how you get on.

Cheers
Clicker
 
Last edited:
Take 3:

Just performed a quick test based on the code below, and seems to be working the way I need it. Havent tested in game yet, but event viewer seems to do the right thing.

Seems the IOUMD works as 'I' being with S4 held and 'O' being without S4 held.

The RIOUMD is just to release the Down hold on the Primary Fire. The repeater fire advanced modes are handled in press instead of release so nothing needed for them.

Code:
    SetShiftButton(&Joystick, S4, &Throttle, PSF, PSB);                                                                [COLOR=#32cd32]//  Set Shift Button (Pinky Toggle Switch) for MapKeyIOUMD    (With  UDTOGGLE is Toggle, without is a Hold - See Page 22 of manual)    [/COLOR]

    MapKeyIOUMD(&Joystick,  TG1,                                                                                    [COLOR=#32cd32]// Trigger 1 [Main Trigger][/COLOR]
                            SEQ[COLOR=#ffffff]([/COLOR]EXEC(                [COLOR=#EAAEAE]"ActKey(KEYON+DOWN+PrimaryFire);                            printf(\"Repeater  Fire: COMBAT ENDLESS    MODE ON    .^^^^^.        (PRIMARY)  ^^\\x0a\");"[/COLOR]),
                                EXEC(                [COLOR=#EAAEAE]"ActKey(KEYON+UP+PrimaryFire);                                 printf(\"Repeater  Fire: COMBAT ENDLESS    MODE OFF    ._____.        (PRIMARY)\\x0a\");"[/COLOR])),                    [COLOR=#32cd32]// In Forward[/COLOR]
                            EXEC(                    [COLOR=#EAAEAE]"ActKey(KEYON+DOWN+PrimaryFire);"[/COLOR]),                    [COLOR=#32cd32]// Out Forward[/COLOR]
                            EXEC([COLOR=#EAAEAE]"if(!Joystick[H4P])   ActKey(KEYON+DOWN+PrimaryFire);                             printf(\"Repeater  Fire: EXPLORER SCANNER    MODE ON    .^...^.        (PRIMARY)  ^^\\x0a\");"[/COLOR]
                                 [COLOR=#EAAEAE]"if(!Joystick[H4P])  DeferCall(RepeaterTimer, &ActKey,  KEYON+UP+PrimaryFire);    printf(\"Repeater Fire: EXPLORER  SCANNER    MODE OFF    ._..._.        (PRIMARY)\\x0a\");"[/COLOR]
                                 [COLOR=#EAAEAE]"if(Joystick[H4P])     initSetCombinedFire(1);"[/COLOR]),            [COLOR=#32cd32]// In Middle[/COLOR]
                            EXEC([COLOR=#EAAEAE]"ActKey(KEYON+DOWN+PrimaryFire);"[/COLOR]),                    [COLOR=#32cd32]// Out Middle[/COLOR]
                            SEQ[COLOR=#ffffff]([/COLOR]REXEC[COLOR=#ffffff]([/COLOR][COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]7000[/COLOR],        [COLOR=#EAAEAE]"ActKey(KEYON+PULSE+PrimaryFire);                            printf(\"Repeater  Fire: AUTO-PULSE WAVE    ^FIRED^    .^.^.^.        (PRIMARY)  ^^\\x0a\");"[/COLOR], RNOSTOP),
                                 EXEC(                [COLOR=#EAAEAE]"StopAutoRepeat(0);                                         printf(\"Repeater  Fire: AUTO-PULSE WAVE    DISABLE    ._._._.        (PRIMARY)\\x0a\");"[/COLOR]), [COLOR=#32cd32]// In Backward[/COLOR]
                            EXEC(                    [COLOR=#EAAEAE]"ActKey(KEYON+DOWN+PrimaryFire);"[/COLOR])));                    [COLOR=#32cd32]// Out Backward[/COLOR]
    MapKeyRIOUMD(&Joystick, TG1,                                                                                     [COLOR=#32cd32]// Release Primary Trigger[/COLOR]
                            [COLOR=#ffffff]0[/COLOR],                                                             [COLOR=#32cd32]// In Forward[/COLOR]
                            EXEC([COLOR=#EAAEAE]"ActKey(KEYON+UP+PrimaryFire);"[/COLOR]),                        [COLOR=#32cd32]// Out Forward[/COLOR]
                            [COLOR=#ffffff]0[/COLOR],                                                            [COLOR=#32cd32]// In Middle[/COLOR]
                            EXEC([COLOR=#EAAEAE]"ActKey(KEYON+UP+PrimaryFire);"[/COLOR]),                        [COLOR=#32cd32]// Out Middle[/COLOR]
                            [COLOR=#ffffff]0[/COLOR],                                                            [COLOR=#32cd32]// In Backward[/COLOR]
                            EXEC([COLOR=#EAAEAE]"ActKey(KEYON+UP+PrimaryFire);"[/COLOR]));                    [COLOR=#32cd32]// Out Backward[/COLOR]

This code basically replaces all of the AdvancedFireModule code.

Cheers, AD
 
Last edited:
This code basically replaces all of the AdvancedFireModule code.

Well, there you go!

Do you need a MapKeyRIOUMD if they all do the same thing?
Did you test if a simple...

MapKeyR(&Joystick, TG1, EXEC("ActKey(KEYON+UP+PrimaryFire);");

...works?

Clicker

p.s. your colour formatting in your posts are playing havok!
 
Last edited:
Not sure what is going on with the formatting .. sorry. Must be the pasting from TARGET.

I considered just using MapKeyR, but for the Repeater Fire commands with S4 I dont want anything occuring when its released. Scanner pulse auto-releases after 6secs, Continuous Fire and Pulse Wave both want to remain active until pressed again. Does seem a bit redundant though lol.

Must get to test this in game this week and validate.. but its looking good! Great improvement.

Took a while for the UMD concept to sink in I think, but got a grip on it now :)

Cheers, AD
 
Good Day Aussie,
Hope all finds you well, been busy here, including building myself a new rig. I wanted to catch you up on a couple of things.
First, As far as the repeating fire of the Pulse Wave Scanner. I haven't had the time to make the suggested changes to the script code but changed 'RepeaterAutoRelease' = 0 So, this will cause the scanner to just keep repeating fire continually. Giving the same result as what we talked about, without changing the code. Works for me, unless you want to dig deeper for a more 'professional' fix...
Second, With my new build, this also included a NEW W10 Pro OS operating system and completely new software setup. Including my Wathog HOTAS and your script. However, I seem to still have the bug. Where I must activate the script as my first operation to only have the 'Virtual Game Controller'. If I do anything other first, then I will still have the 'Joystick' & 'Throttle' along with the 'Virtual Game Controller'. Completely odd, I agree, even with a completely new build. I know we had talked about building a Virtual OS but I feel this is a step beyond that... HE HE…

Just as a plus, I am going to include a summary of my RIG build. If nothing more than for bragging rights. It may not be "the best" build, but it's the best I've built for myself. It's only Overclocked by 38% but it's the best I can get and stay stable. I'm not the most best/knowledgeable at overclocking...

Operating System
Windows 10 Pro 64-bit
CPU
Intel Core i9 @ 3.60GHz
Kaby Lake 14nm Technology
RAM
32.0GB
Motherboard
ASUSTeK COMPUTER INC. ROG MAXIMUS XI HERO (WI-FI) (LGA1151)
Graphics
4095MB NVIDIA GeForce RTX 2070 (ASUStek Computer Inc) (for VR & main monitor)
4095MB NVIDIA GeForce GTX 1070 (ASUStek Computer Inc) (for other 2x monitors)
SLI Disabled
Storage
OS - 223GB INTEL SSDSC2BP240G4 (SATA (SSD))
232GB Samsung SSD 960 EVO 250GB (Unknown (SSD))
953GB Samsung SSD 850 PRO 1TB (SATA (SSD))
1397GB Seagate ST1500DL003-9VT16L (SATA )
2794GB Seagate ST3000DM001-1CH166 (SATA )
1397GB Seagate FreeAgent USB Device (USB (SATA) )
 
Killer build Axsom, that must have cost a pretty penny! Got a Maximus board myself, although a few generations older. Great hardware.

I think it is a bug in the TARGET software from what you were saying about the behaviour. Probably something that will need Thrustmaster to fix. :(

Oh I hadn't reported back recently, but I have a solution for the Mining Auto-Pulse Wave scanner. All testing in last few days and seems to be working well. On top of this, I have rewritten how the Repeater Fire works and you will be able to choose between the Combat (Hold), Explorer (Scanner) and new Mining (Pulse) modes on the fly. Among a few other new goodies.

Need to do some more testing and some code cleanup but hopefully have new release to share soon. :)

Cheers, AD

Psst.. there is a sneak peak if you look at the OP. Recently updated the maps in preparation.
 
Last edited:
March Update!

Update 4.0.0: SUPERCRUISE TO THE NEXT ERA


** IMPORTANT - v4.0.0 Requires the latest 2018 (v3.0.18.328 or higher) Update for TARGET Software, Drivers & Firmware to be installed. **


-> Big code clean-up! Along with file name changes and restructure, there has also been a SHIFT Key (on Pinky Toggle Switch on Throttle) introduced to handle both Non-Voice Comms Channels & Repeater Fire Mode (which can now be changed on-the-fly). As a result, the entire AdvancedFireModule managing the fire buttons has now been replaced with more efficient IOUMD configurations. Code for Auto-Text has completely been replaced as well, with a far more elegant solution. Script is now available on GitHub too :).


New to the script? Be sure to also check out the new Beginners Reference Map in the download pack.


List of Changes:

NEW: Pulse Wave Repeater Fire Preset for Miners!
NEW: Customisable Auto-Text Chat Responses (You can now edit these as plain text via the User Preferences). (Thx CMDR Clicker & ySfte)
NEW: Enable/Disable Ship(SRV) HUD when Toggling Night Vision (enable via the User Preferences).
NEW: Throttle Axis Presets (FullNonLinear & FwdNonLinear) can now be enabled via the User Preferences. This new preset will modify the absolute 1:1 axis used in other modes and make it curve so the axis starts out faster then slows down as you move to 100%. Total of 7 presets now available. (Thx CMDR Clicker)

NEW: SHIFT KEY Added to Pinky Throttle Switch. This now enables multiple layouts (layers) currently configured for 'Non-Voice' Comms Panel & Repeater Fire Modes. Each position of the Pinky Switch enable a different mapping on Trim Hat Switch & determines what Repeater Fire Mode is active on Joystick Trigger.

NEW: SHIFT KEY: Trim Hat Switch on Joystick - Change 'Non-Voice' Comms Panel Mode. See Reference Maps for new layout. (This gives the Trim Hat Switch a total of 8 commands mapped per Toggle Position - both with and without Pinky modifier).
Mode Selection:
UP: Auto-Text Responses
MID: Wing Squadron Commands
DOWN: Ship Launch Fighter Commands

NEW: SHIFT KEY: Trigger(s) on Joystick - Change Repeater Fire Mode on Primary/Sec. (Note: Pinky Modifier still required to activate). See Reference Map for new layout.
Mode Selection:
UP: Combat-Endless
MID: Explorer-Scanner
DOWN: *NEW* Mining-Auto-Pulse

NEW
: Script Package now available on Github!


IMPROVEMENT: Formalised & Cleaned up Script File Structure (each section now has its own separate file & code properly re-sorted).
IMPROVEMENT: Categorised User Preferences section + Others (make it easier to find the right setting).
IMPROVEMENT: Added Secondary Fire Override, LED Blink, NightVision HUD & Combined Microphone User Preferences to Script Run Print Out on load.
IMPROVEMENT: Added Table of Contents in AD_EDFunctions file (to help find correct function quicker).
IMPROVEMENT: Added Toggle Option (mNAVBeaconToggle) to merge Wing Nav Beacon Enable & Disable into a single button instead of two. (not currently mapped/used)
IMPROVEMENT: Updated ED-BAT to use Window Environment Variables in path locations. (Thx CMDR ptimale)


MOVED: Free Camera Zoom Increase/Decrease to Coolie Hat Switch on Throttle Right/Left (due to changes on the Trim Hat Switch).
MOVED: HoloMe Undo/Redo to Coolie Hat Switch on Throttle Right/Left (due to changes on the Trim Hat Switch).


FIXED: LEDs on Launch Sequence not working (typo). (Thx CMDR Clicker)


REMOVED: Redundant ChatPresetMode in User Preference (due to changes on the Chat Toggle).
REMOVED: Redundant RepeaterFireMode in User Preference (this is now manually changed via Pinky Throttle Shift Switch in-game).


-> Hope you all enjoy the improvements. Outside of any immediate bug fixes/issues reported, this will likely be my last major update for a while, considering the long delay to the 'next era'/'next major game release' is in 2020, I'm not expecting anything to significantly change till then. Feel the script has matured and is in good running order; but at any rate you may find small changes or fixes on GitHub from time to time. Thanks!


[alien] Fly Safe CMDRs! [alien]


** Please visit the ModDB link or GitHub link to get the latest version *** Steam Guide can be found here **
 
Last edited:
Hello

while i think:

for the reset of the HUD, on a French keyboard it is:

CTRL LEFT + START


in the orders in elite it is registered:

[CTRL G.] + [ORIG]

thank you for your work
 
Hello

while i think:

for the reset of the HUD, on a French keyboard it is:

CTRL LEFT + START


in the orders in elite it is registered:

[CTRL G.] + [ORIG]

thank you for your work

Hey ptimale,

So I gather that does not work at all when KB is set to FR? Have you set it to something else that works for you?

To confirm which reset HUD does this refer to? is it:

define ResetHeadOrientation L_CTL+USB[0x4A] // CTRL+HOME


Wow! Huge update! Worthy of a major release number!

Nice work AD!

Cheers
Clicker

Thanks a lot for all the help and inspiration on this release mate!

Cheers, AD
 
Hello

define KBLayout KB_FR

In the file "Aussiedroid Warthog Enhanced 4.0.0.binds"

for the HUD reset you put L CTRL + END

define ResetHeadOrientation L_CTL + USB [0x4D] // CTRL + END


What happiness this script

Question, I do not see any change when I switch the switch curves "PATH / ALT / HDG / ALT

If you could explain me

thanks again for the crazy work perform
 
For what my opinion is worth...
VERY NICELY DONE

You really outdo yourself.
Thank you for your exceptional diligence in assisting with our exploration of the Galaxy...
 
Hello

define KBLayout KB_FR

In the file "Aussiedroid Warthog Enhanced 4.0.0.binds"

for the HUD reset you put L CTRL + END

define ResetHeadOrientation L_CTL + USB [0x4D] // CTRL + END


What happiness this script

Question, I do not see any change when I switch the switch curves "PATH / ALT / HDG / ALT

If you could explain me

thanks again for the crazy work perform

Thanks a lot, and thanks for getting back to me ptimale,

I gather for some reason, this END key does not have an equal in the FR layout, so it has an issue mapping it (maybe on ED end this time). I will look to change it to something else in the next release. Maybe something that doesn't include the special key. There isn't a start key (I don't think) on an English keyboard so I will have to choose something else. If you have any suggestions that work on your French keyboard (that could map directly to an English keyboard as well) please let me know. I'll just be guessing really lol. The keymap I shared before was incorrect too, it should be this one:

define LookCenter L_CTL+USB[0x4D] // CTRL+END

Regarding the Joystick curves on PATH / ALT / HDG / ALT, I did a quick test and it seems to be working ok on my end. I look again in the game this evening but Device Analyzer seems to be modifying the curve as expected.

Basically, the 3 settings should change the sensitivity of the Joystick axes. Middle, is the default linear curve, Up is a faster (more sensitive) curve and Down is a slower (less sensitive) precision curve. I find the slower curve good for more precise flying such as when FAOff is active, but don't really use the fast curve. Most of the time I just use the default but its good to have the options there.

Cheers, AD

For what my opinion is worth...
VERY NICELY DONE

You really outdo yourself.
Thank you for your exceptional diligence in assisting with our exploration of the Galaxy...

Thanks a lot Axsom!! :)

As always, let me know if you have an feedback or find any bugs and let me know how the Pulse Wave Scanner goes.

Cheers, AD
 
Last edited:
Hello Aussiedroid

this keyboard function is good, and common to French and English keyboard?

define ResetHeadOrientation L_CTL + USB [0x4D] // CTRL + END

For curves, I do not see any change in games.

in device analyzer I only have the switch that goes red when I toggle it.

I have another problem, when I take a copy of the screen I have the headset VR (oculus) which makes display in all directions

Good luck, and thanks again

ptimale
 
Hey ptimale,

Sorry for the delay getting back to you. Glad the head look mapping is ok now.

With the Joystick curves, they are less noticable in game than say the Throttle curves. They will not change the pitch rate of the ship directly, but will change the 'speed' of the curve. In game, this is more noticable with some ships, others will not notice a big difference, but you should be able to see the different curves when you view the Joystick in Device Analyzer. Particularly, you should see a more significant difference in the Precision vs other curves for example.

I'm not sure if I am following your issue regarding screen shots on VR. I assume this would be the same as using TrackIR, where it will take a screen shot of the direction you are viewing. Else you would need to temporarily disable head tracking before your screen shot.

Cheers, AD
 
Hey @Aussi,

thanks for the update!

Is there a way to setup the curve for the peddals. i've got myself some Thrustmaster TFRP Rudder peddals.

Cheers,

Disi
 
Hey CrazyDisi,

Congrats on the new Rudder Pedals!

There is a setting (UseRudderAxisCurves) in the User Preferences to allow the rudder to adhere to the same Joystick curve set (so if you change the Joystick curve to one of the presets it will also change the curve on the pedals to the same).

If that doesn't suit your needs, then you can also manually change to whatever curve you like via the AD_EDHardware file (Rudder curve code is near the end of the file).

Code:
    [COLOR=#3D9FFF][B]int[/B][/COLOR] initTFRPRudder() {                                                                        [COLOR=#32cd32]// Initialise Thrustmaster TFRP (T.Flight T16000) Toe Pedal Axes (When enabled in AD_EDSettings)[/COLOR]
        SetSCurve(&TFRPRudder, TRPRIGHT, [COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]20[/COLOR], [COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]0[/COLOR]);                                        [COLOR=#32cd32]// Right Toe Brake[/COLOR]
        SetSCurve(&TFRPRudder, TRPLEFT, [COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]20[/COLOR], [COLOR=#ffffff]0[/COLOR], [COLOR=#ffffff]0[/COLOR]); }                                        [COLOR=#32cd32]// Left  Toe Brake[/COLOR]


Cheers, AD
 
Last edited:
Hi Aussie,

thanks for the answere, could it be that there is an error within the initial config?

Code:
	int initTFRPRudder() {																		// Initialise Thrustmaster TFRP (T.Flight T16000) Toe Pedal Axes (When enabled in AD_EDSettings)
    	SetSCurve(&TFRPRudder, TRPRIGHT, 0, 0, 20, 0, 0);										// Right Toe Brake
	SetSCurve(&TFRPRudder, TRPLEFT, 0, 0, 20, 0, 0); }

SetSCurve(&Joystick, JOYX,
5, //Left Deadzone set to 5%
2, //Center Deadzone set to 2%
5, //Right Deadzone set to 5%
3, //Curve set to 3
0 //Scale/zoom neutral
);

Your setting the right deadzone, but i think you wanted the center deadzone?

/Edit

the bind files get renamed lately to:

Aussiedroid Warthog Enhanced 4.0.0.3.0.binds and there are 2 binds now ... hmmm
 
Last edited:
Hey mate,

Hmm, I could have it wrong but unfortunately I don't have those pedals to test myself. Is this something you can test for me? Maybe try 0, 20, 0, 0, 0 as there should only be a small deadzone in the center? Were the pedals not working as expected btw? Cheers.

Oh yes, the binds file will rename/copy on first run (I actually rename it to remove the 3.0 from the end). Mainly just a backup copy, as the one actually used in the game ends in the 3.0. Should be able to delete the other one if you want.

Cheers, AD
 
Back
Top Bottom