Merge branch 'master' into jgrpp
# Conflicts: # config.lib # projects/openttd_vs140.vcxproj # projects/openttd_vs140.vcxproj.filters # projects/openttd_vs141.vcxproj # projects/openttd_vs141.vcxproj.filters # projects/openttd_vs142.vcxproj # projects/openttd_vs142.vcxproj.filters # src/aircraft_cmd.cpp # src/base_station_base.h # src/core/pool_type.hpp # src/disaster_vehicle.cpp # src/economy.cpp # src/engine.cpp # src/group.h # src/group_cmd.cpp # src/group_gui.cpp # src/lang/english.txt # src/lang/german.txt # src/linkgraph/linkgraph_gui.cpp # src/network/network_command.cpp # src/network/network_server.cpp # src/openttd.cpp # src/order_cmd.cpp # src/road_cmd.cpp # src/saveload/afterload.cpp # src/saveload/cargopacket_sl.cpp # src/saveload/linkgraph_sl.cpp # src/saveload/order_sl.cpp # src/saveload/station_sl.cpp # src/saveload/town_sl.cpp # src/saveload/vehicle_sl.cpp # src/screenshot.cpp # src/screenshot.h # src/settings_gui.cpp # src/settings_type.h # src/smallmap_gui.cpp # src/station.cpp # src/station_cmd.cpp # src/table/settings.ini # src/toolbar_gui.cpp # src/town_cmd.cpp # src/train.h # src/train_cmd.cpp # src/train_gui.cpp # src/vehicle.cpp # src/vehicle_base.h # src/vehiclelist.cpp # src/window_type.h
This commit is contained in:
@@ -142,6 +142,17 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> {
|
||||
}
|
||||
|
||||
uint32 GetGRFID() const;
|
||||
|
||||
/**
|
||||
* Returns an iterable ensemble of all valid engines of the given type
|
||||
* @param vt the VehicleType for engines to be valid
|
||||
* @param from index of the first engine to consider
|
||||
* @return an iterable ensemble of all valid engines of the given type
|
||||
*/
|
||||
static Pool::IterateWrapper<Engine> IterateType(VehicleType vt, size_t from = 0)
|
||||
{
|
||||
return Pool::IterateWrapper<Engine>(from, [vt](size_t index) { return Engine::Get(index)->type == vt; });
|
||||
}
|
||||
};
|
||||
|
||||
struct EngineIDMapping {
|
||||
@@ -166,11 +177,6 @@ struct EngineOverrideManager : std::vector<EngineIDMapping> {
|
||||
|
||||
extern EngineOverrideManager _engine_mngr;
|
||||
|
||||
#define FOR_ALL_ENGINES_FROM(var, start) FOR_ALL_ITEMS_FROM(Engine, engine_index, var, start)
|
||||
#define FOR_ALL_ENGINES(var) FOR_ALL_ENGINES_FROM(var, 0)
|
||||
|
||||
#define FOR_ALL_ENGINES_OF_TYPE(e, engine_type) FOR_ALL_ENGINES(e) if (e->type == engine_type)
|
||||
|
||||
static inline const EngineInfo *EngInfo(EngineID e)
|
||||
{
|
||||
return &Engine::Get(e)->info;
|
||||
|
Reference in New Issue
Block a user