internal void HUD_ClientMoveInit(PlayerMove.Native *ppmove)
        {
            try
            {
                //Create our wrapper and set the server field (not set by engine)
                PlayerMove = new PlayerMove(ppmove, false);

                PlayerPhysics.Init(PlayerMove);
            }
            catch (Exception e)
            {
                Log.Exception(e);
                throw;
            }
        }
#pragma warning disable RCS1163 // Unused parameter.
        internal void HUD_ClientMove(PlayerMove.Native *ppmove, QBoolean server)
#pragma warning restore RCS1163 // Unused parameter.
        {
            try
            {
                if (PlayerMoveFunctions == null)
                {
                    //Get the functions separately so we can wrap them
                    PlayerMoveFunctions = Marshal.PtrToStructure <PlayerMoveFunctions>(new IntPtr(&ppmove->firstFunctionOffset));
                    EnginePhysics       = new EnginePhysics(PlayerMoveFunctions);
                }

                PlayerPhysics.Move(PlayerMove, EnginePhysics);
            }
            catch (Exception e)
            {
                Log.Exception(e);
                throw;
            }
        }