+ net->visibility = fgGetDouble("/environment/visibility-m");
+
+ // Control surface positions
+ SGPropertyNode *node = fgGetNode("/surface-positions", true);
+ net->elevator = node->getDoubleValue( "elevator-pos-norm" );
+ net->elevator_trim_tab
+ = node->getDoubleValue( "elevator-trim-tab-pos-norm" );
+ // FIXME: CLO 10/28/04 - This really should be separated out into 2 values
+ net->left_flap = node->getDoubleValue( "flap-pos-norm" );
+ net->right_flap = node->getDoubleValue( "flap-pos-norm" );
+ net->left_aileron = node->getDoubleValue( "left-aileron-pos-norm" );
+ net->right_aileron = node->getDoubleValue( "right-aileron-pos-norm" );
+ net->rudder = node->getDoubleValue( "rudder-pos-norm" );
+ net->nose_wheel = node->getDoubleValue( "nose-wheel-pos-norm" );
+ net->speedbrake = node->getDoubleValue( "speedbrake-pos-norm" );
+ net->spoilers = node->getDoubleValue( "spoilers-pos-norm" );
+
+ if ( net_byte_order ) {
+ // Convert the net buffer to network format
+ net->version = htonl(net->version);
+
+ htond(net->longitude);
+ htond(net->latitude);
+ htond(net->altitude);
+ htonf(net->agl);
+ htonf(net->phi);
+ htonf(net->theta);
+ htonf(net->psi);
+ htonf(net->alpha);
+ htonf(net->beta);
+
+ htonf(net->phidot);
+ htonf(net->thetadot);
+ htonf(net->psidot);
+ htonf(net->vcas);
+ htonf(net->climb_rate);
+ htonf(net->v_north);
+ htonf(net->v_east);
+ htonf(net->v_down);
+ htonf(net->v_body_u);
+ htonf(net->v_body_v);
+ htonf(net->v_body_w);
+
+ htonf(net->A_X_pilot);
+ htonf(net->A_Y_pilot);
+ htonf(net->A_Z_pilot);
+
+ htonf(net->stall_warning);
+ htonf(net->slip_deg);
+
+ for ( i = 0; i < net->num_engines; ++i ) {
+ net->eng_state[i] = htonl(net->eng_state[i]);
+ htonf(net->rpm[i]);
+ htonf(net->fuel_flow[i]);
+ htonf(net->fuel_px[i]);
+ htonf(net->egt[i]);
+ htonf(net->cht[i]);
+ htonf(net->mp_osi[i]);
+ htonf(net->tit[i]);
+ htonf(net->oil_temp[i]);
+ htonf(net->oil_px[i]);
+ }
+ net->num_engines = htonl(net->num_engines);
+
+ for ( i = 0; i < net->num_tanks; ++i ) {
+ htonf(net->fuel_quantity[i]);
+ }
+ net->num_tanks = htonl(net->num_tanks);
+
+ for ( i = 0; i < net->num_wheels; ++i ) {
+ net->wow[i] = htonl(net->wow[i]);
+ htonf(net->gear_pos[i]);
+ htonf(net->gear_steer[i]);
+ htonf(net->gear_compression[i]);
+ }
+ net->num_wheels = htonl(net->num_wheels);
+
+ net->cur_time = htonl( net->cur_time );
+ net->warp = htonl( net->warp );
+ htonf(net->visibility);
+
+ htonf(net->elevator);
+ htonf(net->elevator_trim_tab);
+ htonf(net->left_flap);
+ htonf(net->right_flap);
+ htonf(net->left_aileron);
+ htonf(net->right_aileron);
+ htonf(net->rudder);
+ htonf(net->nose_wheel);
+ htonf(net->speedbrake);
+ htonf(net->spoilers);
+ }