Merge branch 'master' into jgrpp-nrt
Merge NRT feature # Conflicts: # docs/landscape.html # docs/landscape_grid.html # src/bridge_map.h # src/build_vehicle_gui.cpp # src/company_base.h # src/company_cmd.cpp # src/misc_gui.cpp # src/newgrf.cpp # src/newgrf_engine.cpp # src/pathfinder/follow_track.hpp # src/pathfinder/npf/npf.cpp # src/road_cmd.cpp # src/road_func.h # src/road_gui.cpp # src/road_map.h # src/road_type.h # src/roadveh_cmd.cpp # src/saveload/afterload.cpp # src/saveload/company_sl.cpp # src/script/api/script_bridge.cpp # src/table/newgrf_debug_data.h # src/tile_cmd.h # src/town_cmd.cpp # src/tunnel_map.h # src/tunnelbridge_cmd.cpp
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
#include "station_base.h"
|
||||
#include "company_base.h"
|
||||
#include "newgrf_railtype.h"
|
||||
#include "newgrf_roadtype.h"
|
||||
#include "ship.h"
|
||||
|
||||
#include "safeguards.h"
|
||||
@@ -606,12 +607,22 @@ static uint32 VehicleGetVariable(Vehicle *v, const VehicleScopeResolver *object,
|
||||
case 0x48: return v->GetEngine()->flags; // Vehicle Type Info
|
||||
case 0x49: return v->build_year;
|
||||
|
||||
case 0x4A: {
|
||||
if (v->type != VEH_TRAIN) return 0;
|
||||
if (Train::From(v)->IsVirtual()) return 0x1FF;
|
||||
RailType rt = GetTileRailTypeByTrackBit(v->tile, Train::From(v)->track);
|
||||
return (HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | GetReverseRailTypeTranslation(rt, object->ro.grffile);
|
||||
}
|
||||
case 0x4A:
|
||||
switch (v->type) {
|
||||
case VEH_TRAIN: {
|
||||
if (Train::From(v)->IsVirtual()) return 0x1FF;
|
||||
RailType rt = GetTileRailTypeByTrackBit(v->tile, Train::From(v)->track);
|
||||
return (HasPowerOnRail(Train::From(v)->railtype, rt) ? 0x100 : 0) | GetReverseRailTypeTranslation(rt, object->ro.grffile);
|
||||
}
|
||||
|
||||
case VEH_ROAD: {
|
||||
RoadType rt = GetRoadType(v->tile, GetRoadTramType(RoadVehicle::From(v)->roadtype));
|
||||
return 0x100 | GetReverseRoadTypeTranslation(rt, object->ro.grffile);
|
||||
}
|
||||
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
case 0x4B: // Long date of last service
|
||||
return v->date_of_last_service;
|
||||
|
Reference in New Issue
Block a user