- FGILS ils;
- FGNav nav;
-
- if ( current_ilslist->query( lon, lat, elev, freq, &ils ) ) {
- if (ils.get_has_dme()) {
- valid = true;
- lon = ils.get_loclon();
- lat = ils.get_loclat();
- elev = ils.get_gselev();
- range = FG_ILS_DEFAULT_RANGE;
- effective_range = kludgeRange(elev, elev, range);
- x = ils.get_dme_x();
- y = ils.get_dme_y();
- z = ils.get_dme_z();
- }
- } else if ( current_navlist->query( lon, lat, elev, freq, &nav ) ) {
- if (nav.get_has_dme()) {
- valid = true;
- lon = nav.get_lon();
- lat = nav.get_lat();
- elev = nav.get_elev();
- range = nav.get_range();
- effective_range = kludgeRange(elev, elev, range);
- x = nav.get_x();
- y = nav.get_y();
- z = nav.get_z();
- }
+ FGNavRecord *dme
+ = globals->get_dmelist()->findByFreq( freq, lon, lat, elev );
+
+ if ( dme != NULL ) {
+ valid = true;
+ lon = dme->get_lon();
+ lat = dme->get_lat();
+ elev = dme->get_elev_ft();
+ bias = dme->get_multiuse();
+ range = FG_LOC_DEFAULT_RANGE;
+ effective_range = kludgeRange(elev, elev, range);
+ x = dme->get_x();
+ y = dme->get_y();
+ z = dme->get_z();