/**
* Ashita SDK - Copyright (c) 2023 Ashita Development Team
* Contact: https://www.ashitaxi.com/
* Contact: https://discord.gg/Ashita
*
* This file is part of Ashita.
*
* Ashita is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Ashita 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 Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Ashita. If not, see .
*/
#ifndef ASHITA_SDK_FFXI_AUTOFOLLOW_H_INCLUDED
#define ASHITA_SDK_FFXI_AUTOFOLLOW_H_INCLUDED
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
// clang-format off
#include
namespace Ashita::FFXI
{
struct autofollow_t
{
// CXiAttachment: XiControlActor::user_control_target
uintptr_t VTablePointer; // The base VTable pointer.
uint32_t TargetIndex; // The last targeted entities target index.
uint32_t TargetServerId; // The last targeted entities server id.
float FollowDeltaX; // The auto-run/auto-follow X delta.
float FollowDeltaZ; // The auto-run/auto-follow Z delta.
float FollowDeltaY; // The auto-run/auto-follow Y delta.
float FollowDeltaW; // The auto-run/auto-follow W delta. [Generally set to 1.]
// CXiAttachment: XiControlActor::follow_actor
uintptr_t VTablePointer2; // The base VTable pointer.
uint32_t FollowTargetIndex; // The auto-follow follow target index.
uint32_t FollowTargetServerId; // The auto-follow follow target server id.
uint8_t IsFirstPersonCamera; // Flag if the camrea is in first person mode or node.
uint8_t IsAutoRunning; // Flag if the player is auto-running / auto-following. (Or auto-running in a direction.)
uint16_t Padding0000; // Padding
uint32_t Unknown0000; // Unknown [Set to 0 when auto-following and the delta x and z becomes 0.]
uint8_t IsCameraLocked; // Set to 1 when the camera is locked forward. (When holding shift.)
uint8_t IsCameraLockedOn; // Set to 1 when the camera is locked on to a target and is in third-person mode.
uint16_t Padding0001; // Padding
};
} // namespace Ashita::FFXI
#endif // ASHITA_SDK_FFXI_AUTOFOLLOW_H_INCLUDED