Jump to content

Apache Display Export Guide


Bunny Clark

Recommended Posts

Exporting displays in the Apache is a bit more difficult than other modules for a few reasons. Since there are a lot of people asking how to do it, here's a quick walk-through and some files to help you out. 

Enabling Viewports

First, most Apache screens are not set up for viewport exporting. Download the attached .zip file and extract it to your DCS\Mods\aircraft\ folder. This will overwrite all the necessary config files to enable display exporting. (These will get replaced every time DCS is updated, either use a mod manager like OvGME or manually replace them). Once this is done, you'll have the following viewports available to you:

LEFT_MFCD

RIGHT_MFCD

AH64_PLT_EUFD

AH64_CPG_EUFD

AH64_KU

AH64_TEDAC

The LEFT_MFCD and RIGHT_MFCD viewports will show you the Left and Right MFD respectively. These viewports will automatically switch to show the MFDs for the current seat in the aircraft you are occupying. If you would like to use viewports for these MFDs that are different from the default viewports common to many other DCS modules, you can change the name of these viewports in \MFD\indicator\LCD\MFD_LCD.lua

Monitor Config

These viewports need to be defined in your monitor config file. You'll find the stock ones in \DCS\Config\MonitorSetup\ and user created ones in \Saved Games\DCS\Config\MonitorSetup\. If you haven't created one yet, make a copy of one of the stock ones, place it in your user folder, and edit it. 

Each entry in the monitor config file defines a view port. The format for these are:

VIEWPORT_NAME = --name of the viewport you're defining
{
     x = ###; -- distance from the left edge of the viewport to the left edge of defined space
     y = ###; -- disance from the top edge of the viewport to the top of the defined space
     width = ###; -- width of the viewport
     height = ###; -- height of the viewport
}

When completed, it should look like this, though your numbers will most likely be different:

LEFT_MFCD =
{
     x = 75;
     y = 1519;
     width = 500;
     height = 500;
}

In addition to the view ports, you need to define your primary game window - the one that DCS itself renders in - under the "Center =" header at the top of the file. 

Once that is done launch DCS, go to System Settings, and define your game space. Input the resolution of the total space all your monitors take up - you can type this in, you do not need to choose an option from the list. Aspect ratio should auto populate once you've entered your resolution. Then under "Monitors" select your monitor config file. 

Screenshot 2022-04-07 001118.jpg

This is a pretty simple overview of monitor configuration in DCS. For a more in-depth explanation, see here: https://wiki.hoggitworld.com/view/Exporting_MFCD_Displays

Apache Problems

The Open Beta Patch 2.7.16.28111 on 7/28/2022 fixed a number of MFD export problems. There are still some outstanding oddities that can cause you problems though:

If two viewports are defined to the same area, one will overwrite the other. This is true for most modules in DCS, but in the Apache all screens from both seats, except the TEDAC, are being exported all the time. This means if you define both the Pilot and CPG EUFDs, both will be rendered all of the time, regardless of what seat you're in. If you want to break the Pilot and CPG MFDs out into four different viewports you can, but all four will be rendered all of the time. And if you define each of the four MFDs to their own viewport, they will also still render to their combined viewports, giving you six MFDs. 

The TEDAC currently will show up as a double image within DCS when it is exported. There is no known workaround. 

 

AH-64D Display Exports.zip


Edited by Bunny Clark
UPDATE for Open Beta Patch 2.7.16.28111
  • Like 2
  • Thanks 10
Link to comment
Share on other sites

WD on the write-up. @Bunny Clark😉 Couldn't bother anymore tbh after all the variations/guides we both attempted to try and explain. Hopefully with this it becomes more concise and clear. Just adding my own monitor-setup (with different names and setup to Bunny's - do not "combine" or "mix"), as a practical/visual example.
This below is the only way you can have the PLT MFD's ACTIVE/Displayed - When you want both PLT and CPG MFD's located/defined at the same X and Y position of your screen, GUISE. 🙂

By commenting out your
CPG MFD-names and restarting DCS. (After following Bunny's exaplanations file/viewport modifications, obviously)

As indicated by Bunny - Currently DCS multiseat issue. This will not enable you to hot-switch MFD's while changing seats or anything. Just to get the selection of PLT vs. CPG under your control.

Rather surprised it's not acknowledged by ED. No feature planned etc.? Thought heard something bout F14 hot-switching planned? No? -.-

image.png

 


Edited by osram
  • Like 1

 

Link to comment
Share on other sites

It is quite easy to get Right and Left pilot MFD on separated external displays as explained, it is sufficient renaming right and lef_mfd names in pilot init files into a new name like righ_mfd_plt and place it in the monitor setup file. It works perfectly for me and I even programmed the buttons of my Cougar FMFD accordingly.

Switching to CPG, I get then the TEDAC on my third external display correctly but of course left and right MFD are not replacing the pilot ones. I can however use the Cougar's buttons because I've programmed them differently into th CPG control file as into the pilot control file.

I am still investigating a way to detect by software the position where I am in order to make a fast new export ....

Link to comment
Share on other sites

7 hours ago, Swson said:

I am still investigating a way to detect by software the position where I am in order to make a fast new export ....

I considered doing this as well, but the monitor config file is not hot-swappable, any changes made to it will not take effect until DCS is restarted. 

Right now the best way to swap between Pilot and CPG exports is to make two monitor config files and swap between them in settings, which you cannot do while playing.

Link to comment
Share on other sites

20 hours ago, Swson said:

It is quite easy to get Right and Left pilot MFD on separated external displays as explained, it is sufficient renaming right and lef_mfd names in pilot init files into a new name like righ_mfd_plt and place it in the monitor setup file. It works perfectly for me and I even programmed the buttons of my Cougar FMFD accordingly.

Switching to CPG, I get then the TEDAC on my third external display correctly but of course left and right MFD are not replacing the pilot ones. I can however use the Cougar's buttons because I've programmed them differently into th CPG control file as into the pilot control file.

I am still investigating a way to detect by software the position where I am in order to make a fast new export ....

I might be mistaken but sounds like you do not use PLT and CPG MFD's on the same X/Y position and monitor. So this is not exactly what this actual issue is about. When trying to use the same X/Y position I'm pretty certain just renaming the PLT MFD's is not enough. As the CPG ones always take priority with their default/internal names. Hence they need to be renamed uniquely as well. In order to be disabled selectively/manually, to become manageable via commenting/uncommenting at least.

I find the fastest way is to just leave the corresponding monitor-setup file open in VS-Code for example (or whatever the Notepad++ Shortcut/Equivalent is...) Just click + "Ctrl + §" (European) to comment/uncomment those lines, Ctrl + S. And start/restart DCS again. Literally takes like 3 seconds. No need to restart Helios profiles, for people who use mine, Bunny's or anyone else's. Those two are rather decoupled as well. Pretty sure that's faster, more "ergonomic" AND safer over renaming/overwriting or moving actual files around. Especially as multiple files with the same internal DCS/module name (inside) can lead to multiple, identical entries with the same name in DCS system/video "profile" select. Certainly not recommended for the average user. Nor is to usually what anyone would want to "manage". I just move BAKs/Copies away into a separate folder, if needed.

Anyone up to snuff with the AH-64D bug reports etc.? Like are you sure ED is not aware of this issue. Or that a bug or hopefully WIP/planned feature/resolution is not currently planned by ED? Not even on the F14? Is ED even aware... like what's the status? 😕

 


Edited by osram

 

Link to comment
Share on other sites

53 minutes ago, osram said:

Anyone up to snuff with the AH-64D bug reports etc.? Like are you sure ED is not aware of this issue. Or that a bug or hopefully WIP/planned feature/resolution is not currently planned by ED? Not even on the F14? Is ED even aware... like what's the status?

Unknown. I assume they must be aware of the issue. But no one has responded to my query here: 

 

Nor has my bug report even garnered a flag:

I assume at this point they have higher priority issues to address with the Apache, especially as I imagine those of us exporting displays are a fairly small minority. But some acknowledgement of the issue would at least be nice. 

Part of the problem is that there are really two issues outstanding. Fixing the erroneous rendering to LEFT_MFCD and RIGHT_MFCD would be great, but it will still land us right in the same spot with the Apache - it would just mean we can work around those issues without breaking other modules. To truly make monitor export for the Apache work well DCS needs to export only the displays for the seat the player is currently occupying while hiding the displays for the other seat, and I'm guessing that means adding new functionality to DCS Core, which may be far from simple.

Link to comment
Share on other sites

1 hour ago, Bunny Clark said:

Part of the problem is that there are really two issues outstanding. Fixing the erroneous rendering to LEFT_MFCD and RIGHT_MFCD would be great, but it will still land us right in the same spot with the Apache - it would just mean we can work around those issues without breaking other modules. To truly make monitor export for the Apache work well DCS needs to export only the displays for the seat the player is currently occupying while hiding the displays for the other seat, and I'm guessing that means adding new functionality to DCS Core, which may be far from simple.

I think the TEDAC is only exported when the player is in the CPG seat, so something apparently exists for this already...

Link to comment
Share on other sites

Thank you for your update. Albeit a rather disappointing one. 😕

I think internally the TEDAC continues to be rendered anyways IIRC. Initially my Helios profile had the TEDAC "uncovered". Don't think it was "frozen" either, might be wrong. But pretty sure I had TEDAC display while hot-switching from CPG to PLT seat. The KU and EUFD can render as transparent "overlays" at the same X/Y location. But that's just because they are simpler text "types"... and not really with 3D rendered capabilities like the usual MFD's/Video, I presume.

I also suspect I'm having quite annoying Controller-Setup file corruption issues or so:
My Store/Update function has worked at some point, but seems completely broken now. No matter if NAV/ATK phase etc.
Doesn't seem to be reported much, i.e. quite rare and intermittent - But that's for another topic.

Hot-Reloading/Switching MFD's for multiplayer/SP on exported viewports really should be a necessity IMHO.

Thousands of people are sitting in their cockpits, zooming and goose-necking in super-unhealthy and uncomfortable body positions.
Maybe sounds a bit exaggerated, but with modern MFD-focused modules... ED should actually recognize and promote/support the potential of things like Helios.
It's ergonomics, interactivity and comfort. You can basically get a digitized "simpit" with comparable haptics and accessibility;
At the fraction of money and time - of an actual simpit. With a 5-10 minute install - In most cases.

Until VR matures in terms of Gear/Performance including haptic interaction or gloves, which will most certainly take at least a few long years to come. Can't even buy a properly convincing VR product that satisfies in terms of price, controllers, fov/display/resolution, comfort/usability, audio/glasses in it's current state. Let alone the required hardware. - This "path" and potential is the best bet, for sure.


Edited by osram
  • Like 1

 

Link to comment
Share on other sites

Thanks for the guide. Only thing I cant get to work is the KU. 

Got this in my monitor setup:

AH64_KU =
		{
		x = 20;
		y = 20;
		width = 480;
		height = 60;
		}

 

And this is my KU_init.lua:

ofile(LockOn_Options.common_script_path.."devices_defs.lua")
dofile(LockOn_Options.script_path.."Displays/KU/KU_Pages_Init.lua")

opacity_sensitive_materials = 
{
	"font_KU",
	--"font_KU_inv",
}

-- Parameters handling functions
indicator_type	= indicator_types.COMMON
purposes		= {render_purpose.GENERAL}

-- page specific for the indicator, implements indicator border/FOV
BasePage = LockOn_Options.script_path.."Displays/KU/Pages/MAIN.lua"

--ViewportHandling
dofile(LockOn_Options.common_script_path.."ViewportHandling.lua")
try_find_assigned_viewport("AH64_KU")

 

 

Tried different positions and size, but cant get it to show up. Any help?

Link to comment
Share on other sites

2 hours ago, Think404 said:

Tried different positions and size, but cant get it to show up. Any help?

Everything looks correct to me. Mine is 61 high and 507 wide, that's pretty close to the aspect ratio you're using, but maybe it's enough to make a difference?

Just to cover the obvious - you are testing it with something displaying on the KU display, correct? It's normally blank unless you've hit a button on the KU.

Link to comment
Share on other sites

On 4/7/2022 at 10:13 AM, osram said:

WD on the write-up. @Bunny Clark😉 Couldn't bother anymore tbh after all the variations/guides we both attempted to try and explain. Hopefully with this it becomes more concise and clear. Just adding my own monitor-setup (with different names and setup to Bunny's - do not "combine" or "mix"), as a practical/visual example.
This below is the only way you can have the PLT MFD's ACTIVE/Displayed - When you want both PLT and CPG MFD's located/defined at the same X and Y position of your screen, GUISE. 🙂

By commenting out your
CPG MFD-names and restarting DCS. (After following Bunny's exaplanations file/viewport modifications, obviously)

As indicated by Bunny - Currently DCS multiseat issue. This will not enable you to hot-switch MFD's while changing seats or anything. Just to get the selection of PLT vs. CPG under your control.

Rather surprised it's not acknowledged by ED. No feature planned etc.? Thought heard something bout F14 hot-switching planned? No? -.-

image.png

 

 

How does the Harrier actually do it?  You can show and hide the mfds with a key combination?  Couldn't you do that for apache or is that hard-coded?

  • Like 1
Link to comment
Share on other sites

On 4/9/2022 at 1:02 PM, Hobel said:

How does the Harrier actually do it?  You can show and hide the mfds with a key combination?  Couldn't you do that for apache or is that hard-coded?

I think you might be on to something, a toggle for pilot and co pilot mfd's makes sense.

4.8 I7, 1080, TMW&T, SSD, VKB MK.IV.

Link to comment
Share on other sites

On 4/9/2022 at 7:02 AM, Hobel said:

How does the Harrier actually do it?  You can show and hide the mfds with a key combination?  Couldn't you do that for apache or is that hard-coded?

I have no idea how it works on the backend, but the Harrier does have a key bind that toggles the MFD exports. A key bind to switch between Pilot and CPG display exports would be a workable solution, not as nice as it auto-switching obviously, but it would be an improvement over what we have now.

Link to comment
Share on other sites

thx alot,

works great, you saved me a lot of work

BTW could you tell where are the lua files of AI george locating?

it just dissapeard from my screen with no reaso few days ago.

thx again

 

i mean, only the display of George, not the actions.

he is folowing my orders, but the circle display not showing

Link to comment
Share on other sites

On 4/7/2022 at 6:31 AM, Bunny Clark said:

Exporting displays in the Apache is a bit more difficult than other modules for a few reasons. Since there are a lot of people asking how to do it, here's a quick walk-through and some files to help you out. 

Enabling Viewports

First, most Apache screens are not set up for viewport exporting. The ones that are pre set up cause problems. So we need to fix that. Download the attached .zip file and extract it to your DCS\Mods\aircraft\ folder. This will overwrite all the necessary config files to enable display exporting. (These will get replaced every time DCS is updated, either use a mod manager like OvGME or manually replace them). Once this is done, you'll have the following viewports available to you:

AH64_PLT_LEFT_MFCD

AH64_PLT_RIGHT_MFCD

AH64_PLT_EUFD

AH64_CPG_LEFT_MFCD

AH64_CPG_RIGHT_MFCD

AH64_CPG_EUFD

AH64_KU

AH64_TEDAC

Monitor Config

These viewports need to be defined in your monitor config file. You'll find the stock ones in \DCS\Config\MonitorSetup\ and user created ones in \Saved Games\DCS\Config\MonitorSetup\. If you haven't created one yet, make a copy of one of the stock ones, place it in your user folder, and edit it. 

Each entry in the monitor config file defines a view port. The format for these are:

VIEWPORT_NAME = --name of the viewport you're defining
{
     x = ###; -- distance from the left edge of the viewport to the left edge of defined space
     y = ###; -- disance from the top edge of the viewport to the top of the defined space
     width = ###; -- width of the viewport
     height = ###; -- height of the viewport
}

When completed, it should look like this, though your numbers will most likely be different:

AH64_PLT_LEFT_MFCD =
{
     x = 75;
     y = 1519;
     width = 500;
     height = 500;
}

In addition to the view ports, you need to define your primary game window - the one that DCS itself renders in - under the "Center =" header at the top of the file. 

Once that is done launch DCS, go to System Settings, and define your game space. Input the resolution of the total space all your monitors take up - you can type this in, you do not need to choose an option from the list. Aspect ratio should auto populate once you've entered your resolution. Then under "Monitors" select your monitor conflict file. 

Screenshot 2022-04-07 001118.jpg

For a more in-depth explanation of monitor config setup, see here: https://wiki.hoggitworld.com/view/Exporting_MFCD_Displays

Apache Problems

Now for two problems that frequently cause people to get hung up with the Apache:

If two viewports are defined to the same area, one will overwrite the other. This is true for most modules in DCS, but in the Apache all screens from both seats (except the TEDAC) are being exported all the time. This means if you define the Pilot Left MFD and CPG Left MFD in the same place, DCS will draw the CPG MFD on top and you'll never see the Pilot MFD, regardless of what seat you're in.

The Apache display exports are also currently bugged and the Pilot's and CPG's left and right MFDs will always export to the LEFT_MFCD and RIGHT_MFCD viewports. If they've been assigned a new viewport in their init.lua files, they will export to both the custom viewport and the default one. This means if you have the LEFT_MFCD or RIGHT_MFCD viewports defined in your monitor config file, the Apache MFDs will show up there, no matter what. The only solution to this is to delete or comment out the LEFT_MFCD and RIGHT_MFCD viewports from your monitor config file. This will break every other module that is using those viewports.

Hopefully ED fixes these two issues, though neither have been acknowledged yet.

AH-64D Display Exports.zip 10.2 kB · 45 downloads

Works perfect, have all displays on 2 screens and working! Fair play and thanks for sharing.

4.8 I7, 1080, TMW&T, SSD, VKB MK.IV.

Link to comment
Share on other sites

 

So it seems I'm in the same boat as many of you. I have two screens that currently show my pilots MFDs. My desire is that I can choose what they display, based on what seat I'm in. Considering the TEDAC only seems to export when the CPG seat is occupied, it seems like it is somehow some way possible. Considering the TEDAC export is the primary thing I want exported when I switch to the CPG, I found a <profanity>ty work around. That is to assign the TEDAC export to the same coordinates as the Pilots left MPD. Before I switch to the CPG, I switch the pilots MPD to the FCR screen. This screen is currently 99% blank, with only the text "FCR" and your cursor displayed. This way when I switch views, the TEDAC display is drawn over the pilots left (mostly blank) MPD. So it works pretty well, with the only obstructions being the cursor and FCR which I can ignore for now. This work around would actually work pretty well if there was a way to actually turn off the MPDs, like you can the TEDAC display. But unfortunately they do no seem to have a dedicated power button/switch and they seem to just automatically power up when the aircraft is receiving power.

 

But surely there must be a way to apply the same logic the TEDAC is using (that being, only export when CPG is occupied) to the 4 other MPDs. 


Edited by Picklesthedrummer
Link to comment
Share on other sites

15 hours ago, yoelgal said:

BTW could you tell where are the lua files of AI george locating?

it just dissapeard from my screen with no reaso few days ago.

Yup, the update broke the George AI interface location for people with a vertical multi-monitor setup. 

See lots of discussion and a solution here: 

 

  • Like 1
Link to comment
Share on other sites

**Douche Bag of the year here didn't extend the screen to INCLUDE the width of the tablet.  That's why it was cutting off!!!

Now I have another little error in my thinking.........

The main window is a little bit squashed (guessing it's taking into account the NEW aspect ratio) - - how do I fix that!!??

FINAL EDIT - promise (only writing in case others are silly like me).

Set Aspect to 1.7777 in the config and all was fine.  Didn't work when setting in game.......

updated lua:

Spoiler

_  = function(p) return p; end;
name = _('Brett');
Description = 'Brett222'
Viewports =
{
     Center =
     {
     x = 0;
          y = 0;
          width = 3840;
          height = 2160;
          viewDx = 0;
          viewDy = 0;
          aspect = screen.aspect;
     }
}

AH64_CPG_RIGHT_MFCD =
{
     x = 3840;
     y = 000;
     width = 1600;
     height = 1200;
}

    
UIMainView = Viewports.Center
GU_MAIN_VIEWPORT = Viewports.Center

 

Origianal lua:

Spoiler

_  = function(p) return p; end;
name = _('Brett');
Description = 'Monitor+ipad'
Viewports =
{
     Center =
     {
            x = 0;
          y = 0;
          width = screen.width;
          height = screen.height;
          viewDx = 0;
          viewDy = 0;
          aspect = screen.aspect;
     }
}

RIGHT_MFCD =
{
     x = 3000;
     y = 800;
     width = 1600;
     height = 1200;
}

    
UIMainView = Viewports.Center
GU_MAIN_VIEWPORT = Viewports.Center

 

I'm getting the attached image from below.

It IS what I was expecting, as I'm not getting anything on the IPAD using Splashscreen so I adjusted things as an eperiment.

Do you think that's the issue, and it'll work if I dig out an old monitor?

As a proof of concept it's FINE - I can resize the CPG right screen etc, but it's not sharing across to the other screen (you can see I deliberately moved the MFD down and across a bit, to ensure it "covered" the second screen).

When I did the printscreen in the first place, I wasn't expecting the other display to show, and it works fine in Windows...

Any ideas? 👍

TIA 

 

EDIT:  I HAVE now downloaded the .zip from above and added: AH64_CPG_RIGHT_MFCD = to the script, but still the same....

dcs 2 monitor.png


Edited by MrReynolds
Link to comment
Share on other sites

@MrReynolds Yup, this can be a bit confusing, but it looks like you've sorted it out. 

DCS draws a rectangle that is its total display area. This rectangle needs to include the main game window and all display exports. The total size of this rectangle is the resolution and aspect ratio you set in game settings. 

Then each viewport is placed within that. The Center viewport is where the game itself renders, and that will most likely want to be the resolution and aspect ratio of your primary monitor. Then all viewport x and y values reference that main rectangle defined in game settings, which means you usually need to do math to calculate them.

Link to comment
Share on other sites

@Bunny Clark Hi Bunny, thanks a lot for your great profile. I have set it up all the viewports are working fine but seems like the connection on Armament, NVS mode and Video panels to DCS are broken, however the external/internal light panel is functioning....you might have a hint for me how to fix it? thank you. 

btw the DCS.AH-64D.hif.json file is in place according to your instruction...

Link to comment
Share on other sites

18 hours ago, hzy1978 said:

seems like the connection on Armament, NVS mode and Video panels to DCS are broken

Hmmm, everything is working just fine on my end.

To confirm you're using the most recent version of the profile and interface from this post? 

 

Link to comment
Share on other sites

Thanks for the confirmation Bunny. I just deleted everything and reinstall your profile, now it works perfect. Wanna to say you have done a great job -> the profile is not so complicated but covers everything in the daily business...💯 

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...