18#ifndef TRINITYSERVER_MOVESPLINEFLAG_H
19#define TRINITYSERVER_MOVESPLINEFLAG_H
118 template <MoveSplineFlagEnum Flag>
129#define MAKE_FLAG_ACCESSOR_FIELD(flag) FlagAccessor<MoveSplineFlagEnum::flag> flag
164#undef MAKE_FLAG_ACCESSOR_FIELD
#define DEFINE_ENUM_FLAG(enumType)
constexpr bool HasFlag(T flag) const
constexpr bool HasAllFlags(T flags) const
consteval MoveSplineFlagEnum GetDisallowedFlagsFor(MoveSplineFlagEnum flag)
constexpr FlagAccessor & operator=(bool val)
static constexpr MoveSplineFlagEnum DisallowedFlag
MAKE_FLAG_ACCESSOR_FIELD(Flying)
constexpr bool isLinear() const
std::string ToString() const
MAKE_FLAG_ACCESSOR_FIELD(UncompressedPath)
MAKE_FLAG_ACCESSOR_FIELD(Falling)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x80000000)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x40000000)
MAKE_FLAG_ACCESSOR_FIELD(Parabolic)
MAKE_FLAG_ACCESSOR_FIELD(No_Spline)
MAKE_FLAG_ACCESSOR_FIELD(Backward)
constexpr MoveSplineFlag()
MAKE_FLAG_ACCESSOR_FIELD(Cyclic)
MAKE_FLAG_ACCESSOR_FIELD(JumpOrientationFixed)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x100)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x40000)
constexpr MoveSplineFlag(MoveSplineFlagEnum f)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x2)
constexpr bool HasAllFlags(MoveSplineFlagEnum f) const
constexpr MoveSplineFlagEnum operator&(MoveSplineFlagEnum f) const
MAKE_FLAG_ACCESSOR_FIELD(Animation)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x800000)
MAKE_FLAG_ACCESSOR_FIELD(Catmullrom)
MAKE_FLAG_ACCESSOR_FIELD(UnlimitedSpeed)
MAKE_FLAG_ACCESSOR_FIELD(CanSwim)
constexpr bool isSmooth() const
constexpr MoveSplineFlag & operator|=(MoveSplineFlagEnum f)
MAKE_FLAG_ACCESSOR_FIELD(FallingSlow)
MAKE_FLAG_ACCESSOR_FIELD(OrientationFixed)
EnumFlag< MoveSplineFlagEnum > Raw
constexpr bool HasFlag(MoveSplineFlagEnum f) const
MAKE_FLAG_ACCESSOR_FIELD(SmoothGroundPath)
constexpr MoveSplineFlagEnum operator|(MoveSplineFlagEnum f) const
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x1)
MAKE_FLAG_ACCESSOR_FIELD(Turning)
MAKE_FLAG_ACCESSOR_FIELD(FadeObject)
MAKE_FLAG_ACCESSOR_FIELD(TransportExit)
MAKE_FLAG_ACCESSOR_FIELD(Steering)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x4)
MAKE_FLAG_ACCESSOR_FIELD(Unknown_0x20000)
MAKE_FLAG_ACCESSOR_FIELD(Done)
MAKE_FLAG_ACCESSOR_FIELD(FastSteering)
MAKE_FLAG_ACCESSOR_FIELD(TransportEnter)
MAKE_FLAG_ACCESSOR_FIELD(Enter_Cycle)
constexpr MoveSplineFlag & operator&=(MoveSplineFlagEnum f)