Ported .Net Core commits:
hondacrx: - Initial commit: Switch to .Net Core 2.0 - Fix build and removed not needed files Fabi: - Updated solution platforms. - Changed folder structure. - Change library target framework to netstandard2.0. - Updated solution platforms again... - Removed windows specific kernel32 function usage (Ctrl-C handler).
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum MovementSlot
|
||||
{
|
||||
Idle,
|
||||
Active,
|
||||
Controlled,
|
||||
Max
|
||||
}
|
||||
|
||||
public enum MovementGeneratorType
|
||||
{
|
||||
Idle = 0, // IdleMovement
|
||||
Random = 1, // RandomMovement
|
||||
Waypoint = 2, // WaypointMovement
|
||||
|
||||
MaxDB = 3, // *** this and below motion types can't be set in DB.
|
||||
AnimalRandom = MaxDB, // AnimalRandomMovementGenerator.h
|
||||
Confused = 4, // ConfusedMovementGenerator.h
|
||||
Chase = 5, // TargetedMovementGenerator.h
|
||||
Home = 6, // HomeMovementGenerator.h
|
||||
Flight = 7, // WaypointMovementGenerator.h
|
||||
Point = 8, // PointMovementGenerator.h
|
||||
Fleeing = 9, // FleeingMovementGenerator.h
|
||||
Distract = 10, // IdleMovementGenerator.h
|
||||
Assistance = 11, // PointMovementGenerator.h (first part of flee for assistance)
|
||||
AssistanceDistract = 12, // IdleMovementGenerator.h (second part of flee for assistance)
|
||||
TimedFleeing = 13, // FleeingMovementGenerator.h (alt.second part of flee for assistance)
|
||||
Follow = 14,
|
||||
Rotate = 15,
|
||||
Effect = 16,
|
||||
Null = 17,
|
||||
SplineChain = 18,
|
||||
Max
|
||||
}
|
||||
|
||||
public struct EventId
|
||||
{
|
||||
public const uint Charge = 1003;
|
||||
public const uint Jump = 1004;
|
||||
|
||||
/// Special charge event which is used for charge spells that have explicit targets
|
||||
/// and had a path already generated - using it in PointMovementGenerator will not
|
||||
/// create a new spline and launch it
|
||||
public const uint ChargePrepath = 1005;
|
||||
public const uint SmartRandomPoint = 0xFFFFFE;
|
||||
public const uint SmartEscortLastOCCPoint = 0xFFFFFF;
|
||||
}
|
||||
|
||||
public enum AnimType
|
||||
{
|
||||
ToGround = 0, // 460 = ToGround, index of AnimationData.dbc
|
||||
FlyToFly = 1, // 461 = FlyToFly?
|
||||
ToFly = 2, // 458 = ToFly
|
||||
FlyToGround = 3 // 463 = FlyToGround
|
||||
}
|
||||
|
||||
public enum RotateDirection
|
||||
{
|
||||
Left,
|
||||
Right
|
||||
}
|
||||
|
||||
public enum UpdateCollisionHeightReason
|
||||
{
|
||||
Scale = 0,
|
||||
Mount = 1,
|
||||
Force = 2
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
[Flags]
|
||||
public enum MovementFlag
|
||||
{
|
||||
None = 0x0,
|
||||
Forward = 0x1,
|
||||
Backward = 0x2,
|
||||
StrafeLeft = 0x4,
|
||||
StrafeRight = 0x8,
|
||||
Left = 0x10,
|
||||
Right = 0x20,
|
||||
PitchUp = 0x40,
|
||||
PitchDown = 0x80,
|
||||
Walking = 0x100,
|
||||
DisableGravity = 0x200,
|
||||
Root = 0x400,
|
||||
Falling = 0x800,
|
||||
FallingFar = 0x1000,
|
||||
PendingStop = 0x2000,
|
||||
PendingStrafeStop = 0x4000,
|
||||
PendingForward = 0x8000,
|
||||
PendingBackward = 0x10000,
|
||||
PendingStrafeLeft = 0x20000,
|
||||
PendingStrafeRight = 0x40000,
|
||||
PendingRoot = 0x80000,
|
||||
Swimming = 0x100000,
|
||||
Ascending = 0x200000,
|
||||
Descending = 0x400000,
|
||||
CanFly = 0x800000,
|
||||
Flying = 0x1000000,
|
||||
SplineElevation = 0x2000000,
|
||||
WaterWalk = 0x4000000,
|
||||
FallingSlow = 0x8000000,
|
||||
Hover = 0x10000000,
|
||||
DisableCollision = 0x20000000,
|
||||
|
||||
MaskMoving = Forward | Backward | StrafeLeft | StrafeRight | Falling | Ascending | Descending,
|
||||
|
||||
MaskTurning = Left | Right | PitchUp | PitchDown,
|
||||
|
||||
MaskMovingFly = Flying | Ascending | Descending,
|
||||
|
||||
MaskCreatureAllowed = Forward | DisableGravity | Root | Swimming |
|
||||
CanFly | WaterWalk | FallingSlow | Hover | DisableCollision,
|
||||
|
||||
MaskPlayerOnly = Flying,
|
||||
|
||||
MaskHasPlayerStatusOpcode = DisableGravity | Root | CanFly | WaterWalk |
|
||||
FallingSlow | Hover | DisableCollision
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum MovementFlag2
|
||||
{
|
||||
None = 0x0,
|
||||
NoStrafe = 0x1,
|
||||
NoJumping = 0x2,
|
||||
FullSpeedTurning = 0x4,
|
||||
FullSpeedPitching = 0x8,
|
||||
AlwaysAllowPitching = 0x10,
|
||||
IsVehicleExitVoluntary = 0x20,
|
||||
JumpSplineInAir = 0x40,
|
||||
AnimTierInTrans = 0x80,
|
||||
WaterwalkingFullPitch = 0x100, // will always waterwalk, even if facing the camera directly down
|
||||
VehiclePassengerIsTransitionAllowed = 0x200,
|
||||
CanSwimToFlyTrans = 0x400,
|
||||
Unk11 = 0x800, // terrain normal calculation is disabled if this flag is not present, client automatically handles setting this flag
|
||||
CanTurnWhileFalling = 0x1000,
|
||||
Unk13 = 0x2000, // will always waterwalk, even if facing the camera directly down
|
||||
IgnoreMovementForces = 0x4000,
|
||||
Unk15 = 0x8000,
|
||||
CanDoubleJump = 0x10000,
|
||||
DoubleJump = 0x20000,
|
||||
// these flags cannot be sent (18 bits in packet)
|
||||
Unk18 = 0x40000,
|
||||
Unk19 = 0x80000,
|
||||
InterpolatedMovement = 0x100000,
|
||||
InterpolatedTurning = 0x200000,
|
||||
InterpolatedPitching = 0x400000
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,72 @@
|
||||
/*
|
||||
* Copyright (C) 2012-2017 CypherCore <http://github.com/CypherCore>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
using System;
|
||||
|
||||
namespace Framework.Constants
|
||||
{
|
||||
public enum MonsterMoveType
|
||||
{
|
||||
Normal = 0,
|
||||
FacingSpot = 1,
|
||||
FacingTarget = 2,
|
||||
FacingAngle = 3
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum SplineFlag : uint
|
||||
{
|
||||
None = 0x00,
|
||||
// x00-x07 used as animation Ids storage in pair with Animation flag
|
||||
Unknown0 = 0x00000008, // NOT VERIFIED - does someting related to falling/fixed orientation
|
||||
FallingSlow = 0x00000010,
|
||||
Done = 0x00000020,
|
||||
Falling = 0x00000040, // Affects elevation computation, can't be combined with Parabolic flag
|
||||
NoSpline = 0x00000080,
|
||||
Unknown1 = 0x00000100, // NOT VERIFIED
|
||||
Flying = 0x00000200, // Smooth movement(Catmullrom interpolation mode), flying animation
|
||||
OrientationFixed = 0x00000400, // Model orientation fixed
|
||||
Catmullrom = 0x00000800, // Used Catmullrom interpolation mode
|
||||
Cyclic = 0x00001000, // Movement by cycled spline
|
||||
EnterCycle = 0x00002000, // Everytimes appears with cyclic flag in monster move packet, erases first spline vertex after first cycle done
|
||||
Frozen = 0x00004000, // Will never arrive
|
||||
TransportEnter = 0x00008000,
|
||||
TransportExit = 0x00010000,
|
||||
Unknown2 = 0x00020000, // NOT VERIFIED
|
||||
Unknown3 = 0x00040000, // NOT VERIFIED
|
||||
Backward = 0x00080000,
|
||||
SmoothGroundPath = 0x00100000,
|
||||
CanSwim = 0x00200000,
|
||||
UncompressedPath = 0x00400000,
|
||||
Unknown4 = 0x00800000, // NOT VERIFIED
|
||||
Unknown5 = 0x01000000, // NOT VERIFIED
|
||||
Animation = 0x02000000, // Plays animation after some time passed
|
||||
Parabolic = 0x04000000, // Affects elevation computation, can't be combined with Falling flag
|
||||
FadeObject = 0x08000000,
|
||||
Steering = 0x10000000,
|
||||
Unknown8 = 0x20000000, // NOT VERIFIED
|
||||
Unknown9 = 0x40000000, // NOT VERIFIED
|
||||
Unknown10 = 0x80000000, // NOT VERIFIED
|
||||
|
||||
// animation ids stored here, see AnimType enum, used with Animation flag
|
||||
MaskAnimations = 0x7,
|
||||
// flags that shouldn't be appended into SMSG_MONSTER_MOVE\SMSG_MONSTER_MOVE_TRANSPORT packet, should be more probably
|
||||
MaskNoMonsterMove = MaskAnimations | Done,
|
||||
// Unused, not suported flags
|
||||
MaskUnused = NoSpline | EnterCycle | Frozen | Unknown0 | Unknown1 | Unknown2 | Unknown3 | Unknown4 | FadeObject | Steering | Unknown8 | Unknown9 | Unknown10
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user