- FGILS *ils;
- FGNav *nav;
-
- if ( (ils = current_ilslist->findByFreq( freq, lon, lat, elev )) != NULL ) {
- 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 ( (nav = current_navlist->findByFreq(freq, lon, lat, elev)) != NULL ) {
- if (nav->get_has_dme()) {
- valid = true;
- lon = nav->get_lon();
- lat = nav->get_lat();
- elev = nav->get_elev_ft();
- 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();