Add: Road waypoint functionality
This commit is contained in:
committed by
rubidium42
parent
c6387c7784
commit
9c84e5df3f
@@ -1091,7 +1091,7 @@ bool AfterLoadGame()
|
||||
break;
|
||||
|
||||
case MP_STATION:
|
||||
if (IsRoadStop(t)) SB(t.m7(), 6, 2, 1);
|
||||
if (IsStationRoadStop(t)) SB(t.m7(), 6, 2, 1);
|
||||
break;
|
||||
|
||||
case MP_TUNNELBRIDGE:
|
||||
@@ -1145,7 +1145,7 @@ bool AfterLoadGame()
|
||||
break;
|
||||
|
||||
case MP_STATION:
|
||||
if (!IsRoadStop(t)) break;
|
||||
if (!IsStationRoadStop(t)) break;
|
||||
|
||||
if (fix_roadtypes) SB(t.m7(), 6, 2, (RoadTypes)GB(t.m3(), 0, 3));
|
||||
SB(t.m7(), 0, 5, HasBit(t.m6(), 2) ? OWNER_TOWN : GetTileOwner(t));
|
||||
@@ -1296,7 +1296,7 @@ bool AfterLoadGame()
|
||||
has_road = true;
|
||||
break;
|
||||
case MP_STATION:
|
||||
has_road = IsRoadStop(t);
|
||||
has_road = IsAnyRoadStop(t);
|
||||
break;
|
||||
case MP_TUNNELBRIDGE:
|
||||
has_road = GetTunnelBridgeTransportType(t) == TRANSPORT_ROAD;
|
||||
|
||||
@@ -151,7 +151,8 @@ void AfterLoadCompanyStats()
|
||||
break;
|
||||
|
||||
case STATION_BUS:
|
||||
case STATION_TRUCK: {
|
||||
case STATION_TRUCK:
|
||||
case STATION_ROADWAYPOINT: {
|
||||
/* Iterate all present road types as each can have a different owner. */
|
||||
for (RoadTramType rtt : _roadtramtypes) {
|
||||
RoadType rt = GetRoadType(tile, rtt);
|
||||
|
||||
@@ -382,6 +382,7 @@ enum SaveLoadVersion : uint16_t {
|
||||
SLV_COMPANY_ALLOW_LIST, ///< 335 PR#12337 Saving of list of client keys that are allowed to join this company.
|
||||
SLV_GROUP_NUMBERS, ///< 336 PR#12297 Add per-company group numbers.
|
||||
SLV_INCREASE_STATION_TYPE_FIELD_SIZE, ///< 337 PR#12572 Increase size of StationType field in map array
|
||||
SLV_ROAD_WAYPOINTS, ///< 338 PR#12572 Road waypoints
|
||||
|
||||
SL_MAX_VERSION, ///< Highest possible saveload version
|
||||
};
|
||||
|
||||
@@ -655,6 +655,10 @@ public:
|
||||
SLE_CONDVAR(Waypoint, train_station.tile, SLE_UINT32, SLV_124, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, train_station.w, SLE_FILE_U8 | SLE_VAR_U16, SLV_124, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, train_station.h, SLE_FILE_U8 | SLE_VAR_U16, SLV_124, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, waypoint_flags, SLE_UINT16, SLV_ROAD_WAYPOINTS, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, road_waypoint_area.tile, SLE_UINT32, SLV_ROAD_WAYPOINTS, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, road_waypoint_area.w, SLE_FILE_U8 | SLE_VAR_U16, SLV_ROAD_WAYPOINTS, SL_MAX_VERSION),
|
||||
SLE_CONDVAR(Waypoint, road_waypoint_area.h, SLE_FILE_U8 | SLE_VAR_U16, SLV_ROAD_WAYPOINTS, SL_MAX_VERSION),
|
||||
};
|
||||
inline const static SaveLoadCompatTable compat_description = _station_waypoint_sl_compat;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user