Add road/tram type properties to set road vehicle collision mode
This commit is contained in:
15
src/road.h
15
src/road.h
@@ -62,6 +62,14 @@ enum RoadTypeExtraFlags {
|
||||
};
|
||||
DECLARE_ENUM_AS_BIT_SET(RoadTypeExtraFlags)
|
||||
|
||||
enum RoadTypeCollisionMode : uint8 {
|
||||
RTCM_NORMAL = 0,
|
||||
RTCM_NONE,
|
||||
RTCM_ELEVATED,
|
||||
|
||||
RTCM_END,
|
||||
};
|
||||
|
||||
struct SpriteGroup;
|
||||
|
||||
/** Sprite groups for a roadtype. */
|
||||
@@ -140,6 +148,11 @@ public:
|
||||
*/
|
||||
RoadTypeExtraFlags extra_flags;
|
||||
|
||||
/**
|
||||
* Collision mode
|
||||
*/
|
||||
RoadTypeCollisionMode collision_mode;
|
||||
|
||||
/**
|
||||
* Cost multiplier for building this road type
|
||||
*/
|
||||
@@ -316,10 +329,12 @@ RoadType GetRoadTypeByLabel(RoadTypeLabel label, bool allow_alternate_labels = t
|
||||
|
||||
void ResetRoadTypes();
|
||||
void InitRoadTypes();
|
||||
void InitRoadTypesCaches();
|
||||
RoadType AllocateRoadType(RoadTypeLabel label, RoadTramType rtt);
|
||||
bool HasAnyRoadTypesAvail(CompanyID company, RoadTramType rtt);
|
||||
|
||||
extern std::vector<RoadType> _sorted_roadtypes;
|
||||
extern RoadTypes _roadtypes_hidden_mask;
|
||||
extern std::array<RoadTypes, RTCM_END> _collision_mode_roadtypes;
|
||||
|
||||
#endif /* ROAD_H */
|
||||
|
Reference in New Issue
Block a user