TrinityCore
Loading...
Searching...
No Matches
enuminfo_MoveSplineFlag.cpp
Go to the documentation of this file.
1/*
2 * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
3 *
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by the
6 * Free Software Foundation; either version 2 of the License, or (at your
7 * option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along
15 * with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#include "MoveSplineFlag.h"
19#include "Define.h"
20#include "SmartEnum.h"
21#include <stdexcept>
22
24
26{
27
28/***************************************************************************\
29|* data for enum 'MoveSplineFlagEnum' in 'MoveSplineFlag.h' auto-generated *|
30\***************************************************************************/
31template <>
33{
34 switch (value)
35 {
36 case MoveSplineFlagEnum::None: return { "None", "None", "" };
37 case MoveSplineFlagEnum::Unknown_0x1: return { "Unknown_0x1", "Unknown_0x1", "NOT VERIFIED" };
38 case MoveSplineFlagEnum::Unknown_0x2: return { "Unknown_0x2", "Unknown_0x2", "NOT VERIFIED" };
39 case MoveSplineFlagEnum::Unknown_0x4: return { "Unknown_0x4", "Unknown_0x4", "NOT VERIFIED" };
40 case MoveSplineFlagEnum::JumpOrientationFixed: return { "JumpOrientationFixed", "JumpOrientationFixed", "Model orientation fixed (jump animation)" };
41 case MoveSplineFlagEnum::FallingSlow: return { "FallingSlow", "FallingSlow", "" };
42 case MoveSplineFlagEnum::Done: return { "Done", "Done", "" };
43 case MoveSplineFlagEnum::Falling: return { "Falling", "Falling", "Affects elevation computation, can't be combined with Parabolic flag" };
44 case MoveSplineFlagEnum::No_Spline: return { "No_Spline", "No_Spline", "" };
45 case MoveSplineFlagEnum::Unknown_0x100: return { "Unknown_0x100", "Unknown_0x100", "NOT VERIFIED" };
46 case MoveSplineFlagEnum::Flying: return { "Flying", "Flying", "Smooth movement(Catmullrom interpolation mode), flying animation" };
47 case MoveSplineFlagEnum::OrientationFixed: return { "OrientationFixed", "OrientationFixed", "Model orientation fixed (knockback animation)" };
48 case MoveSplineFlagEnum::Catmullrom: return { "Catmullrom", "Catmullrom", "Used Catmullrom interpolation mode" };
49 case MoveSplineFlagEnum::Cyclic: return { "Cyclic", "Cyclic", "Movement by cycled spline" };
50 case MoveSplineFlagEnum::Enter_Cycle: return { "Enter_Cycle", "Enter_Cycle", "Everytimes appears with cyclic flag in monster move packet, erases first spline vertex after first cycle done" };
51 case MoveSplineFlagEnum::Turning: return { "Turning", "Turning", "Turns in place" };
52 case MoveSplineFlagEnum::TransportEnter: return { "TransportEnter", "TransportEnter", "" };
53 case MoveSplineFlagEnum::TransportExit: return { "TransportExit", "TransportExit", "" };
54 case MoveSplineFlagEnum::Unknown_0x20000: return { "Unknown_0x20000", "Unknown_0x20000", "NOT VERIFIED" };
55 case MoveSplineFlagEnum::Unknown_0x40000: return { "Unknown_0x40000", "Unknown_0x40000", "NOT VERIFIED" };
56 case MoveSplineFlagEnum::Backward: return { "Backward", "Backward", "" };
57 case MoveSplineFlagEnum::SmoothGroundPath: return { "SmoothGroundPath", "SmoothGroundPath", "" };
58 case MoveSplineFlagEnum::CanSwim: return { "CanSwim", "CanSwim", "" };
59 case MoveSplineFlagEnum::UncompressedPath: return { "UncompressedPath", "UncompressedPath", "" };
60 case MoveSplineFlagEnum::Unknown_0x800000: return { "Unknown_0x800000", "Unknown_0x800000", "NOT VERIFIED" };
61 case MoveSplineFlagEnum::FastSteering: return { "FastSteering", "FastSteering", "Predicts spline only 500ms into the future for smoothing instead of 1s (making turns sharper) and turns off clientside obstacle detection" };
62 case MoveSplineFlagEnum::Animation: return { "Animation", "Animation", "Plays animation after some time passed" };
63 case MoveSplineFlagEnum::Parabolic: return { "Parabolic", "Parabolic", "Affects elevation computation, can't be combined with Falling flag" };
64 case MoveSplineFlagEnum::FadeObject: return { "FadeObject", "FadeObject", "" };
65 case MoveSplineFlagEnum::Steering: return { "Steering", "Steering", "" };
66 case MoveSplineFlagEnum::UnlimitedSpeed: return { "UnlimitedSpeed", "UnlimitedSpeed", "" };
67 case MoveSplineFlagEnum::Unknown_0x40000000: return { "Unknown_0x40000000", "Unknown_0x40000000", "NOT VERIFIED" };
68 case MoveSplineFlagEnum::Unknown_0x80000000: return { "Unknown_0x80000000", "Unknown_0x80000000", "NOT VERIFIED" };
69 default: throw std::out_of_range("value");
70 }
71}
72
73template <>
75
76template <>
78{
79 switch (index)
80 {
81 case 0: return MoveSplineFlagEnum::None;
82 case 1: return MoveSplineFlagEnum::Unknown_0x1;
83 case 2: return MoveSplineFlagEnum::Unknown_0x2;
84 case 3: return MoveSplineFlagEnum::Unknown_0x4;
85 case 4: return MoveSplineFlagEnum::JumpOrientationFixed;
86 case 5: return MoveSplineFlagEnum::FallingSlow;
87 case 6: return MoveSplineFlagEnum::Done;
88 case 7: return MoveSplineFlagEnum::Falling;
89 case 8: return MoveSplineFlagEnum::No_Spline;
90 case 9: return MoveSplineFlagEnum::Unknown_0x100;
91 case 10: return MoveSplineFlagEnum::Flying;
92 case 11: return MoveSplineFlagEnum::OrientationFixed;
93 case 12: return MoveSplineFlagEnum::Catmullrom;
94 case 13: return MoveSplineFlagEnum::Cyclic;
95 case 14: return MoveSplineFlagEnum::Enter_Cycle;
96 case 15: return MoveSplineFlagEnum::Turning;
97 case 16: return MoveSplineFlagEnum::TransportEnter;
98 case 17: return MoveSplineFlagEnum::TransportExit;
99 case 18: return MoveSplineFlagEnum::Unknown_0x20000;
100 case 19: return MoveSplineFlagEnum::Unknown_0x40000;
101 case 20: return MoveSplineFlagEnum::Backward;
102 case 21: return MoveSplineFlagEnum::SmoothGroundPath;
103 case 22: return MoveSplineFlagEnum::CanSwim;
104 case 23: return MoveSplineFlagEnum::UncompressedPath;
105 case 24: return MoveSplineFlagEnum::Unknown_0x800000;
106 case 25: return MoveSplineFlagEnum::FastSteering;
107 case 26: return MoveSplineFlagEnum::Animation;
108 case 27: return MoveSplineFlagEnum::Parabolic;
109 case 28: return MoveSplineFlagEnum::FadeObject;
110 case 29: return MoveSplineFlagEnum::Steering;
111 case 30: return MoveSplineFlagEnum::UnlimitedSpeed;
112 case 31: return MoveSplineFlagEnum::Unknown_0x40000000;
113 case 32: return MoveSplineFlagEnum::Unknown_0x80000000;
114 default: throw std::out_of_range("index");
115 }
116}
117
118template <>
120{
121 switch (value)
122 {
123 case MoveSplineFlagEnum::None: return 0;
124 case MoveSplineFlagEnum::Unknown_0x1: return 1;
125 case MoveSplineFlagEnum::Unknown_0x2: return 2;
126 case MoveSplineFlagEnum::Unknown_0x4: return 3;
127 case MoveSplineFlagEnum::JumpOrientationFixed: return 4;
128 case MoveSplineFlagEnum::FallingSlow: return 5;
129 case MoveSplineFlagEnum::Done: return 6;
130 case MoveSplineFlagEnum::Falling: return 7;
131 case MoveSplineFlagEnum::No_Spline: return 8;
132 case MoveSplineFlagEnum::Unknown_0x100: return 9;
133 case MoveSplineFlagEnum::Flying: return 10;
134 case MoveSplineFlagEnum::OrientationFixed: return 11;
135 case MoveSplineFlagEnum::Catmullrom: return 12;
136 case MoveSplineFlagEnum::Cyclic: return 13;
137 case MoveSplineFlagEnum::Enter_Cycle: return 14;
138 case MoveSplineFlagEnum::Turning: return 15;
139 case MoveSplineFlagEnum::TransportEnter: return 16;
140 case MoveSplineFlagEnum::TransportExit: return 17;
141 case MoveSplineFlagEnum::Unknown_0x20000: return 18;
142 case MoveSplineFlagEnum::Unknown_0x40000: return 19;
143 case MoveSplineFlagEnum::Backward: return 20;
144 case MoveSplineFlagEnum::SmoothGroundPath: return 21;
145 case MoveSplineFlagEnum::CanSwim: return 22;
146 case MoveSplineFlagEnum::UncompressedPath: return 23;
147 case MoveSplineFlagEnum::Unknown_0x800000: return 24;
148 case MoveSplineFlagEnum::FastSteering: return 25;
149 case MoveSplineFlagEnum::Animation: return 26;
150 case MoveSplineFlagEnum::Parabolic: return 27;
151 case MoveSplineFlagEnum::FadeObject: return 28;
152 case MoveSplineFlagEnum::Steering: return 29;
153 case MoveSplineFlagEnum::UnlimitedSpeed: return 30;
154 case MoveSplineFlagEnum::Unknown_0x40000000: return 31;
155 case MoveSplineFlagEnum::Unknown_0x80000000: return 32;
156 default: throw std::out_of_range("value");
157 }
158}
159}
#define TC_API_EXPORT
Definition Define.h:92
static size_t ToIndex(Enum index)
static EnumText ToString(Enum value)
static Enum FromIndex(size_t index)