The main release package of Ashita v3. Contains all the needed files for users to get up and running. Used by the launcher/injector to auto-update as well. https://ashitaxi.com/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
5.7 KiB

/**
* Ashita - Copyright (c) 2014 - 2021 atom0s [atom0s@live.com]
*
* This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to
* Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
*
* By using Ashita, you agree to the above license and its terms.
*
* Attribution - You must give appropriate credit, provide a link to the license and indicate if changes were
* made. You must do so in any reasonable manner, but not in any way that suggests the licensor
* endorses you or your use.
*
* Non-Commercial - You may not use the material (Ashita) for commercial purposes.
*
* No-Derivatives - If you remix, transform, or build upon the material (Ashita), you may not distribute the
* modified material. You are, however, allowed to submit the modified works back to the original
* Ashita project in attempt to have it added to the original project.
*
* You may not apply legal terms or technological measures that legally restrict others
* from doing anything the license permits.
*
* No warranties are given.
*/
#ifndef __ASHITA_AS_FFXI_TARGET_INCLUDED__
#define __ASHITA_AS_FFXI_TARGET_INCLUDED__
#if defined (_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
namespace Ashita {
namespace FFXI {
struct target_t
{
uint32_t TargetIndex; // The current target index.
uint32_t TargetServerId; // The current target server id.
uintptr_t TargetEntityPointer; // The current target entity pointer.
uintptr_t TargetWarpPointer; // The current target warp pointer.
uint32_t Unknown0000[4]; // Unknown
uint8_t TargetVisible; // 0/1 if the target is set and visible.
uint8_t Unknown0001[3]; // Unknown (Booleans)
uint16_t TargetMask; // The current target mask.
uint16_t TargetCalculatedId; // The targets calculated id.
uint32_t SubTargetIndex; // The current sub-target index.
uint32_t SubTargetServerId; // The current sub-target server id.
uintptr_t SubTargetEntityPointer; // The current sub-target entity pointer.
uintptr_t SubTargetWarpPointer; // The current sub-target warp pointer.
uint32_t Unknown0002[4]; // Unknown
uint8_t SubTargetVisible; // 0/1 if the sub-target is set and visible.
uint8_t Unknown0003[3]; // Unknown (Booleans)
uint16_t SubTargetMask; // The current sub-target mask.
uint8_t Unknown0004[4]; // Unknown
uint8_t SubTargetActive; // 1 if the main target is set and the game is making use the sub-target entry.
uint8_t TargetDeactivate; // If set to 1, will undo one step of the targeting windows.
uint8_t Unknown0005[8]; // Unknown (Involves graphics related things, such as blinking the targeted entity.)
uint8_t IsLockedOn; // 0/1 if the target is currently locked on. (Low bit 0x00 and 0x01.)
uint8_t Unknown0006[3]; // Unknown
uint32_t TargetSelectionMask; // The selection mask used to determine what can be targeted with the current action.
uint8_t Unknown0007[16]; // Unknown
uint8_t IsMenuOpen; // 0/1 if the menu is open. (ie. selecting a spell on a target.) 74
};
struct targetwindow_t
{
uintptr_t TargetWindowVTablePointer; // The VTable pointer to the target window class.
uint32_t Unknown0000; // Unknown
uint32_t TargetWindowPointer; // Pointer to the target window object.
uint32_t Unknown0001; // Unknown
uint8_t Unknown0002; // Unknown
uint8_t Unknown0003[3]; // Unknown
int8_t Name[48]; // The targets name.
uint32_t Unknown0004; // Unknown
uint32_t TargetEntityPointer; // The targets entity pointer.
uint16_t FrameOffsetX; // The target window frame x offset.
uint16_t FrameOffsetY; // The target window frame y offset.
uint32_t IconPosition; // The target window frame icon position.
uint32_t Unknown0005; // Unknown
uint32_t Unknown0006; // Unknown
uint32_t Unknown0007; // Unknown
uint32_t TargetServerId; // The targets server id.
uint8_t HealthPercent; // The targets health percent.
uint8_t DeathFlag; // Dims the health bar when target is dead..
uint8_t ReraiseFlag; // Dims the health bar when target is reraising.. (Death flag must be set!)
uint8_t Unknown0008; // Unknown
uint16_t Unknown0009; // Unknown
uint8_t Unknown0010; // Toggles 0 -> 1 when first targeting..
};
}; // namespace FFXI
}; // namespace Ashita
#endif // __ASHITA_AS_FFXI_TARGET_INCLUDED__