Make auto TT separation rate a company setting.

Move auto TT by default setting to PLYX chunk.
This commit is contained in:
Jonathan G Rennison
2015-10-25 12:47:23 +00:00
parent a380573c32
commit 26d32269a3
8 changed files with 37 additions and 11 deletions

View File

@@ -17,6 +17,7 @@
#include "vehicle_base.h"
#include "settings_type.h"
#include "cmd_helper.h"
#include "company_base.h"
#include "core/sort_func.hpp"
#include "table/strings.h"
@@ -549,9 +550,11 @@ void UpdateSeparationOrder(Vehicle *v_start)
int separation_ahead = SeparationBetween(v, v->AheadSeparation());
int separation_behind = SeparationBetween(v->BehindSeparation(), v);
if (separation_ahead != -1 && separation_behind != -1) {
Company *owner = Company::GetIfValid(v->owner);
uint8 timetable_separation_rate = owner ? owner->settings.auto_timetable_separation_rate : 100;
int new_lateness = (separation_ahead - separation_behind) / 2;
v->lateness_counter = (new_lateness * _settings_game.order.timetable_separation_rate +
v->lateness_counter * (100 - _settings_game.order.timetable_separation_rate)) / 100;
v->lateness_counter = (new_lateness * timetable_separation_rate +
v->lateness_counter * (100 - timetable_separation_rate)) / 100;
}
v = v->AheadSeparation();
} while (v != v_start);