• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

ADE9X feedback

Hi,

BTW, in the shots above the horizontal taxiways are stubs - not connected to anything. When I join them together at the ends (making a giant circle) the display of the ADE version is perfect - no edge line problems at all.

When doing the same in AFCAD, while the "jump" in the edge line is now gone, the bottom horizontal taxiway still does not have it's top edge lines outside of the curve area.

So ADE is clearly better in this case. :)

Hope this helps,
 
Since the two arrangements look physically the same in AFCAD and ADE (that is the nodes are at the same locations in each case) then the only thing I can ascribe differences to is the way that the AFCAD compiler works vs the Microsoft compiler. It is also fair to say that all the drawing algorithms are very sensitive to the positioning of nodes - a foot or two can change the way things look

The drawing of center and edge lines in ADE uses basically the same method as AFCAD but in neither case does the design tool guarantee to draw what is drawn in FS since we do not know what the drawing algorithms in FS are and in both cases we are guessing :)
 
Last edited:
If I click on Add NDB via the context menu, an error occurs and ADE closes.
This is the error message:
Code:
Object reference not set to an instance of an object.

   at ScruffyDuck.Flightsim.Helpers.FSMath.Distance(FSPoint startPoint, FSPoint endPoint)
   at ScruffyDuck.AirportDesignEditor.ADECommonPropertiesDialog.loadNdb()
   at ScruffyDuck.AirportDesignEditor.ADECommonPropertiesDialog.loader()
   at ScruffyDuck.AirportDesignEditor.ADECommonPropertiesDialog.LoadProperties(ADEShapeBase item, StateGroup& pGroup, Boolean pNewObject)
   at ScruffyDuck.AirportDesignEditor.MainForm.addObject(ShapeType newShape, StateGroup& groupParam)
   at ScruffyDuck.AirportDesignEditor.MainForm.addNdbMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
 
If I click on Add NDB via the context menu, an error occurs and ADE closes.
This is the error message:
Code:
Object reference not set to an instance of an object.

   at ScruffyDuck.Flightsim.Helpers.FSMath.Distance(FSPoint startPoint, FSPoint endPoint)
   at ScruffyDuck.AirportDesignEditor.ADECommonPropertiesDialog.loadNdb()
   at ScruffyDuck.AirportDesignEditor.ADECommonPropertiesDialog.loader()
   at ScruffyDuck.AirportDesignEditor.ADECommonPropertiesDialog.LoadProperties(ADEShapeBase item, StateGroup& pGroup, Boolean pNewObject)
   at ScruffyDuck.AirportDesignEditor.MainForm.addObject(ShapeType newShape, StateGroup& groupParam)
   at ScruffyDuck.AirportDesignEditor.MainForm.addNdbMenuItem_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)

Which version of ADE (e.g. 1.42.02 or 1.42.00) and is this FSX, FS9 or both?

I am not able to replicate it here and I think it is a problem we fixed after the first ADE9X beta??
 
Which version of ADE (e.g. 1.42.02 or 1.42.00) and is this FSX, FS9 or both?

I am not able to replicate it here and I think it is a problem we fixed after the first ADE9X beta??

This is 1.43.00, ADE9X RC on FSX.
Also, I found 2 more possible errors. In a CF approach leg type, theta and rho are required. It lists these attributes as optional in ADE. Also, if I choose the "SPACE" value for altitude descriptor, then it will not compile correctly.
Code:
ERROR: 34501, 17, enumeration constraint failed.

The attribute: 'altitudeDescriptor' has an invalid value according to its data type.

INTERNAL COMPILER ERROR:  #C2575: Bad Altitude Descriptor; Must be +, -, B, C, G, H, I, J, or  V.
INTERNAL COMPILER ERROR:  #C2031: Failed element parse <Leg>
INTERNAL COMPILER ERROR:  #C2032: XML Parse Error!  Element tree follows:

ERROR: <FSData 
ERROR: 	version = 9.0
ERROR: >
ERROR: 	<Airport 
ERROR: 		country = United States
ERROR: 		state = Illinois
ERROR: 		city = Chicago
ERROR: 		name = Chicago-O'Hare Intl
ERROR: 		lat = 41.9786028563976
ERROR: 		lon = -87.9048416018486
ERROR: 		alt = 668.012F
ERROR: 		magvar = 2.8
ERROR: 		trafficScalar = 0.7
ERROR: 		airportTestRadius = 16404.2F
ERROR: 		ident = KORD
ERROR: 	>
ERROR: 		<Approach 
ERROR: 			type = ILS
ERROR: 			runway = 09
ERROR: 			designator = RIGHT
ERROR: 			suffix = 0
ERROR: 			gpsOverlay = FALSE
ERROR: 			fixType = TERMINAL_WAYPOINT
ERROR: 			fixRegion = K5
ERROR: 			fixIdent = LANSE
ERROR: 			altitude = 7000.0F
ERROR: 			heading = 89.800003
ERROR: 			missedAltitude = 4000.0F
ERROR: 		>
ERROR: 			<ApproachLegs 
ERROR: 			>
ERROR: 				<Leg 
ERROR: 					type = IF
ERROR: 					fixType = TERMINAL_WAYPOINT
ERROR: 					fixRegion = K5
ERROR: 					fixIdent = WASCO
ERROR: 					theta = 270
ERROR: 					rho = 11.4N
ERROR: 					altitudeDescriptor = SPACE
ERROR: 					altitude1 = 7000.0F
ERROR: 				>
ERROR: 
INTERNAL COMPILER ERROR:  #C2033: XML Parse Error (line, column, error)

I also tried replacing "SPACE" with a space, but the compiler still gave an error. However, if the altitude descriptor is removed but altitude 1 was kept, it compiled corrected, but I don't know if altitude 1 was taken into account. I tried opening with SDETestApp, but it gave an error message:
Code:
=======Error Caught========
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.BitConverter.ToInt16(Byte[] value, Int32 startIndex)
   at ScruffyDuck.Flightsim.Scenery.SceneryObject.Ndb.Decompile(Byte[] rawdata)
   at ScruffyDuck.Flightsim.Scenery.SceneryObject.Ndb..ctor(String objectName, Byte[] rawdata, Int32 offset, SceneryBase parent)
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.ObjectFactory.New(String newType, String newName, Byte[] rawdata, Int32 offset, SceneryBase parent)
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.ObjectFactory.New(SceneryObjectType newType, String newName, Byte[] rawdata, Int32 offset, SceneryBase parent)
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.SceneryFile.processNdb(Int32 pointer)
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.SceneryFile.processSelectedSection(SectionPointer currentSection, GeneralSectionHeader currentSubSection, Int32& p2)
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.SceneryFile.processGeneralSection(SectionPointer currentSection)
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.SceneryFile.decompileFull()
   at ScruffyDuck.Flightsim.Scenery.SceneryFile.SceneryFile.Decompile(DecompileType decompileType)
==========

I also took a look at bglcomp.xsd, using VS2005, and in there, it looked like a space, but not the word "SPACE," was acceptable.

Code:
  <xs:simpleType name="stAltitudeDescriptor">
    <xs:restriction base="xs:string">
      <xs:enumeration value="+" />
      <xs:enumeration value="-" />
      <xs:enumeration value="A" />
      <xs:enumeration value="B" />
      <xs:enumeration value="C" />
      <xs:enumeration value="G" />
      <xs:enumeration value="H" />
      <xs:enumeration value="I" />
      <xs:enumeration value="J" />
      <xs:enumeration value="V" />
      <xs:enumeration value=" " />
    </xs:restriction>
  </xs:simpleType>

On a related topic, what is the difference between theta and rho and heading and distance?
 
Hi,

In ADE9 in the Parking List there is a Jetway column. It isn't doing any harm (they are all 0), but it might tempt people to try to add them, or at least be confused...

Hope this helps,
 
Last edited:
This is 1.43.00, ADE9X RC on FSX.
Also, I found 2 more possible errors. In a CF approach leg type, theta and rho are required. It lists these attributes as optional in ADE. Also, if I choose the "SPACE" value for altitude descriptor, then it will not compile correctly.


ADE uses the ARINC424 document as per the SDK. In a CF leg theta and rho are not a mandatory entry and is optional. Certain CF legs that pertain to a Localizer will have a rho/theta value and will be added to the XML but the compiler does not fault the CF if theta and rho are missing.

FS has no consistency. For each CF leg you find with theta and rho you can also find CF legs that do not have that data.


<Leg
type="CF"
fixType="TERMINAL_WAYPOINT"
fixRegion="K7"
fixIdent="MINTY"
flyOver="FALSE"
recommendedType="VOR"
recommendedRegion="K7"
recommendedIdent="FML"
theta="2.9" <<<<<<<---------- recip heading to the FML VOR
rho="8.0N" <<<<<<-------- Distance from the FML VOR
magneticCourse="3"
distance="8.0N"
altitudeDescriptor="A"
altitude1="2300.0F"
/>

When theta and rho are listed (mandatory) you should also always have the 3 recommended XML entry's since theta and rho work in conjunction with that data. FS follows the ARINC standard but the contractors did a lot of copy pasting which added XML entry's that are not a requirement. Some leg types for distance, altitude and certain type turns do require the recommendedxxxxxxxx= and rho/theta must also be present for the compiler.

In our first attempt at introducing a never before approach XML editor we try to keep in unison with ARINC 424 and a simple task for everyone. We use a ARINC chart that shows what is a requirement in each legtype versus what ARINC says is an option. Our priority is

1. Add to each legtype what the FS compiler needs
2. Add to each legtype what ARINC requires

1 and 2 in FS should agree

3. List the optional XML data that is not a requirement for the compiler
4. List the optional XML data that is not a requirement but what ARINC says can be an option

3 and 4 in FS should agree

5. List in each legtype what the AI plane uses
6. List in each legtype what the User plane uses
7. List in each legtype what ATC uses
8. List in each legtype what the GPS draws for various type approaches used by the User Plane.
 
FS has no consistency. For each CF leg you find with theta and rho you can also find CF legs that do not have that data.


<Leg
type="CF"
fixType="TERMINAL_WAYPOINT"
fixRegion="K7"
fixIdent="MINTY"
flyOver="FALSE"
recommendedType="VOR"
recommendedRegion="K7"
recommendedIdent="FML"
theta="2.9" <<<<<<<---------- recip heading to the FML VOR
rho="8.0N" <<<<<<-------- Distance from the FML VOR
magneticCourse="3"
distance="8.0N"
altitudeDescriptor="A"
altitude1="2300.0F"
/>

So theta is the course heading+180 and rho is the same as distance?
 
Hi,

In ADE9 in the Parking List there is a Jetway column. It isn't doing any harm (they are all 0), but it might tempt people to try to add them, or at least be confused...

Hope this helps,

Thanks Tom

Added to the Issue Tracker
 
Object reference not set to an instance of an object.

at ScruffyDuck.AirportDesignEditor.MainForm.stockOptionsSelectedStockImportOptions(Boolean import)
at ScruffyDuck.AirportDesignEditor.Helpers.SetStockImportOptions.import_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Not sure if there is a solution

if there is or if this has already been fixed/reported then let me know
 
Object reference not set to an instance of an object.

at ScruffyDuck.AirportDesignEditor.MainForm.stockOptionsSelectedStockImportOptions(Boolean import)
at ScruffyDuck.AirportDesignEditor.Helpers.SetStockImportOptions.import_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Not sure if there is a solution

if there is or if this has already been fixed/reported then let me know

You need to tell us some more - what were you doing when this error occured? What version of the application is it?
 
Back
Top