- if( current_bucket == previous_bucket) {
- FG_LOG( FG_TERRAIN, FG_DEBUG, "Same bucket as last time" );
- scroll_direction = SCROLL_NONE;
- } else {
- // We've moved to a new bucket, we need to scroll our
- // structures, and load in the new tiles
- // CURRENTLY THIS ASSUMES WE CAN ONLY MOVE TO ADJACENT TILES.
- // AT ULTRA HIGH SPEEDS THIS ASSUMPTION MAY NOT BE VALID IF
- // THE AIRCRAFT CAN SKIP A TILE IN A SINGLE ITERATION.
-
- if ( (current_bucket.get_lon() > previous_bucket.get_lon()) ||
- ( (current_bucket.get_lon() == previous_bucket.get_lon()) &&
- (current_bucket.get_x() > previous_bucket.get_x()) ) )
- {
- scroll_direction = SCROLL_EAST;
- }
- else if ( (current_bucket.get_lon() < previous_bucket.get_lon()) ||
- ( (current_bucket.get_lon() == previous_bucket.get_lon()) &&
- (current_bucket.get_x() < previous_bucket.get_x()) ) )
- {
- scroll_direction = SCROLL_WEST;
- }
-
- if ( (current_bucket.get_lat() > previous_bucket.get_lat()) ||
- ( (current_bucket.get_lat() == previous_bucket.get_lat()) &&
- (current_bucket.get_y() > previous_bucket.get_y()) ) )
- {
- scroll_direction = SCROLL_NORTH;
- }
- else if ( (current_bucket.get_lat() < previous_bucket.get_lat()) ||
- ( (current_bucket.get_lat() == previous_bucket.get_lat()) &&
- (current_bucket.get_y() < previous_bucket.get_y()) ) )
- {
- scroll_direction = SCROLL_SOUTH;
- }
-
- scroll();
- }
-
+ SG_LOG( SG_TERRAIN, SG_DEBUG, "State == Running" );
+ if (!(current_bucket == previous_bucket )) {
+ // We've moved to a new bucket, we need to schedule any
+ // needed tiles for loading.
+ schedule_needed(visibility_meters, current_bucket);
+ }