FSX:SE Gauge Layers & CustomDraw

#1
Hi all,

I've tried to create layered gauges (controlled through visibility) with reasonably good success. I'm doing this as an alternative approach to allow Display Unit switching in the default 737 that I'm working on.

The layers are the PFD, MFD and EICAS gauges from the default 737 in FSX. All I did was essentially cut and paste the 3x gauges xml code into a new gauge document, one above the other. Very straight forward.

While I've had good success, I've noticed that when I'm in MAP mode on the MFD, the airports, VORs etc overlay fails to appear. Yet they do appear on one of the MFDs that I've left untouched for testing purposes.

A bit of digging around reveals the MFD gauge uses CustomDraw to overlay the airports, VOR etc in MAP mode.

The avsim post here reveals to me that I'm going to run into problems with layered visibilities using the MFD gauge because it contains customdraw objects. However, this same post indicates there might be a way to order this to make it work, which I want to pursue because the MFD is the only gauge with customdraw objects, the PFD and EICAS don't use them.

So, I tried putting the MFD at the top, and then subsequently at the bottom of my layers, and neither approach worked. I can't see how ordering my new gauges in the panel.cfg file is going to make a difference, as they're all the same for the 5x Display Units (gauges = DU1, DU2, DU3 etc) with exactly the same code, with slight visibility coding differences.

Has anyone achieved this before, or can anyone provide some insight into how I might make this work?

Thank you in advance!

Trent
 
#2
Just ideas...
On each of your MFD's you should assign them to different, isolated GPS threads, using indexes -
(C:fs9gps:<INDEX #>:<command or read>) ex..
<CustomDraw id="CustomDraw" Name="fs9gps:2:map">
<CustomDraw id="CustomDraw" Name="fs9gps:3:map">
<CustomDraw id="CustomDraw" Name="fs9gps:4:map">

Another command worth looking into is to redraw on switching to the MFD mode.
1 (>C:fs9gps:2:setup_ColorTerrain)
A little foggy on this one, it has been a while.
Best bet? grab the Bob McElrath guides here & here.
 
#3
Hi all,

I've done some further testing. I stripped out all gauges out of my 'combined' DU2 gauge leaving virtually just a copy of the MFD gauge in there. I also stripped out the visibility condition. The gauge works just fine.

When I applied a visibility condition as the parent element of which the rest if the gauge is essentially children then the same problem. The fs9gps:map customdraw objects fail to appear.

So, I need to rephrase my question.

Is it possible to apply a visibility condition to a gauge that includes customdraw objects from the fs9gps?

Has anyone had any experience with this or can provide any useful guidance?

Thank you!

Trent
 
#4
Ok. I've spent a little more time with this tonight.

I need to rephrase my question again. It's clear that you can apply a visibility condition to a parent element that contains customdraw parameters. It's right there in the 'Centered Map' & 'Expanded Map' Elements (parents) of the default 737 MFD.xml.

It seems that when I add a parent element for the sake of overall visibility control (which makes the previous parent elements like 'Centered Map' and 'Expanded Map' now children elements), it messes things up.

Specifically, it seems that having two visibility conditions apply to the elements mentioned above is interfering with the customdraw process somehow.

Again, has anyone had any experience with this or can provide any useful guidance? I've worked through Robert McElrath's most excellent documents, but I can't find anywhere in them where this particular issue is addressed.

Thanks in advance everyone.

Trent
 
Top