Merge tag '13.0-beta2' into jgrpp
# Conflicts: # src/cheat_gui.cpp # src/company_gui.cpp # src/console_gui.cpp # src/depot_gui.cpp # src/error_gui.cpp # src/gfx.cpp # src/graph_gui.cpp # src/group_gui.cpp # src/lang/english.txt # src/lang/korean.txt # src/lang/polish.txt # src/misc_gui.cpp # src/network/network_content_gui.h # src/newgrf_debug_gui.cpp # src/order_gui.cpp # src/rail_gui.cpp # src/road_gui.cpp # src/settings_gui.cpp # src/settings_type.h # src/station_gui.cpp # src/subsidy_gui.cpp # src/table/settings/gui_settings.ini # src/timetable_gui.cpp # src/town_gui.cpp # src/train_cmd.cpp # src/vehicle_gui.cpp # src/viewport.cpp # src/water_cmd.cpp # src/widgets/dropdown.cpp # src/window_gui.h
This commit is contained in:
@@ -4598,3 +4598,39 @@ uint32 Vehicle::GetDisplayMinPowerToWeight() const
|
||||
if (max_weight == 0) return 0;
|
||||
return GetGroundVehicleCache()->cached_power * 10u / max_weight;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if two vehicle chains have the same list of engines.
|
||||
* @param v1 First vehicle chain.
|
||||
* @param v1 Second vehicle chain.
|
||||
* @return True if same, false if different.
|
||||
*/
|
||||
bool VehiclesHaveSameEngineList(const Vehicle *v1, const Vehicle *v2)
|
||||
{
|
||||
while (true) {
|
||||
if (v1 == nullptr && v2 == nullptr) return true;
|
||||
if (v1 == nullptr || v2 == nullptr) return false;
|
||||
if (v1->GetEngine() != v2->GetEngine()) return false;
|
||||
v1 = v1->GetNextVehicle();
|
||||
v2 = v2->GetNextVehicle();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if two vehicles have the same list of orders.
|
||||
* @param v1 First vehicles.
|
||||
* @param v1 Second vehicles.
|
||||
* @return True if same, false if different.
|
||||
*/
|
||||
bool VehiclesHaveSameOrderList(const Vehicle *v1, const Vehicle *v2)
|
||||
{
|
||||
const Order *o1 = v1->GetFirstOrder();
|
||||
const Order *o2 = v2->GetFirstOrder();
|
||||
while (true) {
|
||||
if (o1 == nullptr && o2 == nullptr) return true;
|
||||
if (o1 == nullptr || o2 == nullptr) return false;
|
||||
if (!o1->Equals(*o2)) return false;
|
||||
o1 = o1->next;
|
||||
o2 = o2->next;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user