@@ -3,22 +3,28 @@ namespace OpenLoco.Dat.Objects
3
3
[ Flags ]
4
4
public enum VehicleObjectFlags : uint16_t
5
5
{
6
+ // See github issue https://github.com/OpenLoco/OpenLoco/issues/2877 for discussion on unnamed flags
6
7
None = 0 ,
7
- unk_00 = 1 << 0 ,
8
- unk_01 = 1 << 1 ,
9
- unk_02 = 1 << 2 , // rollable? APT Passenger carriage
10
- unk_03 = 1 << 3 , // rollable? APT Driving carriage
8
+ AlternatingDirection = 1 << 0 , // sequential vehicles face alternating directions
9
+ TopAndTailPosition = 1 << 1 , // vehicle is forced to the rear of the train
10
+ JacobsBogieFront = 1 << 2 ,
11
+ JacobsBogieRear = 1 << 3 ,
11
12
unk_04 = 1 << 4 ,
12
- unk_05 = 1 << 5 ,
13
+ CentrePosition = 1 << 5 , // vehicle is forced to the middle of train
13
14
RackRail = 1 << 6 ,
14
- unk_07 = 1 << 7 ,
15
+ // Alternates between sprite 0 and sprite 1 for each vehicle of this type in a train
16
+ // NOTE: This is for vehicles and not vehicle components (which can also do similar)
17
+ AlternatingCarSprite = 1 << 7 ,
15
18
unk_08 = 1 << 8 ,
16
- unk_09 = 1 << 9 , // any-track??
19
+ AircraftIsTailDragger = 1 << 8 ,
20
+ AnyRoadType = 1 << 9 , // set on all road vehicles except trams
17
21
SpeedControl = 1 << 10 ,
18
- CanCouple = 1 << 11 ,
19
- unk_12 = 1 << 12 , // dual-head??
20
- IsHelicopter = 1 << 13 ,
22
+ CannotCoupleToSelf = 1 << 11 ,
23
+ AircraftFlaresLanding = 1 << 11 , // set only on Concorde
24
+ MustHavePair = 1 << 12 , // train requires two or more of this vehicle
25
+ CanWheelSlip = 1 << 13 , // set on all steam locomotives
26
+ AircraftIsHelicopter = 1 << 13 ,
21
27
Refittable = 1 << 14 ,
22
- unk_15 = 1 << 15 , // no-announce??
28
+ QuietInvention = 1 << 15 , // no newspaper announcement
23
29
} ;
24
30
}
0 commit comments