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.
204 lines
9.3 KiB
204 lines
9.3 KiB
8 years ago
|
/**
|
||
|
* Ashita - Copyright (c) 2014 - 2016 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_ENTITY_H_INCLUDED__
|
||
|
#define __ASHITA_AS_FFXI_ENTITY_H_INCLUDED__
|
||
|
|
||
|
#if defined (_MSC_VER) && (_MSC_VER >= 1020)
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
namespace Ashita
|
||
|
{
|
||
|
namespace FFXI
|
||
|
{
|
||
|
struct position_t
|
||
|
{
|
||
|
float X;
|
||
|
float Y;
|
||
|
float Z;
|
||
|
float Unknown0000;
|
||
|
float Roll;
|
||
|
float Yaw; // Heading
|
||
|
float Pitch;
|
||
|
|
||
|
bool operator==(const position_t &pos) const
|
||
|
{
|
||
|
return ((this->X == pos.X) && (this->Y == pos.Y) && (this->Z == pos.Z));
|
||
|
}
|
||
|
|
||
|
bool operator!=(const position_t &pos) const
|
||
|
{
|
||
|
return !(this == &pos);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
struct move_t
|
||
|
{
|
||
|
float X;
|
||
|
float Y;
|
||
|
float Z;
|
||
|
float Unknown0000;
|
||
|
|
||
|
bool operator==(const move_t &pos) const
|
||
|
{
|
||
|
return ((this->X == pos.X) && (this->Y == pos.Y) && (this->Z == pos.Z));
|
||
|
}
|
||
|
|
||
|
bool operator!=(const move_t &pos) const
|
||
|
{
|
||
|
return !(this == &pos);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
struct movement_t
|
||
|
{
|
||
|
position_t LocalPosition;
|
||
|
float Unknown0000;
|
||
|
position_t LastPosition;
|
||
|
uint32_t Unknown0001;
|
||
|
move_t Move;
|
||
|
};
|
||
|
|
||
|
struct look_t
|
||
|
{
|
||
|
uint16_t Hair; // Hair Style
|
||
|
uint16_t Head; // Head Armor (Starts at 0x1000)
|
||
|
uint16_t Body; // Body Armor (Starts at 0x2000)
|
||
|
uint16_t Hands; // Hands Armor (Starts at 0x3000)
|
||
|
uint16_t Legs; // Legs Armor (Starts at 0x4000)
|
||
|
uint16_t Feet; // Feet Armor (Starts at 0x5000)
|
||
|
uint16_t Main; // Main Weapon (Starts at 0x6000)
|
||
|
uint16_t Sub; // Sub Weapon (Starts at 0x7000)
|
||
|
uint16_t Ranged; // Ranged Weapon (Starts at 0x8000)
|
||
|
};
|
||
|
|
||
|
struct render_t
|
||
|
{
|
||
|
uint32_t Flags0; // Main Render Flags
|
||
|
uint32_t Flags1; // Name Flags (Party, Away, Anon)
|
||
|
uint32_t Flags2; // Name Flags (Bazaar, GM Icon, etc.)
|
||
|
uint32_t Flags3; // Entity Flags (Shadow)
|
||
|
uint32_t Flags4; // Name Flags (Name Visibility)
|
||
|
};
|
||
|
|
||
|
struct animation_t
|
||
|
{
|
||
|
uint8_t Animations[0x28];
|
||
|
};
|
||
|
|
||
|
#pragma pack(push, 1)
|
||
|
struct ffxi_entity_t
|
||
|
{
|
||
|
uintptr_t CYyObjectVtable; // CYyObject
|
||
|
movement_t Movement;
|
||
|
uint8_t Unknown0000[28];
|
||
|
uintptr_t Unknown0001; // Unknown Vtable pointer.
|
||
|
uint32_t TargetIndex;
|
||
|
uint32_t ServerId;
|
||
|
int8_t Name[28];
|
||
|
float Speed;
|
||
|
float AnimationSpeed;
|
||
|
uintptr_t WarpPointer; // Pointer to the entities editable movement information.
|
||
|
uint32_t Unknown0002[13];
|
||
|
float Distance;
|
||
|
uint32_t Unknown0003; // Usually 0x64.
|
||
|
uint32_t Unknown0004; // Usually 0x64.
|
||
|
float Heading; // Yaw
|
||
|
uintptr_t PetOwnerId;
|
||
|
uint8_t HealthPercent;
|
||
|
uint8_t ManaPercent; // Pet only.
|
||
|
uint8_t EntityType;
|
||
|
uint8_t Race;
|
||
|
uint32_t Unknown0005;
|
||
|
uint16_t ModelFade; // Used to force-refresh the entity model.
|
||
|
uint8_t Unknown0006[6];
|
||
|
look_t Look;
|
||
|
uint8_t Unknown0007[14];
|
||
|
uint16_t ActionTimer1;
|
||
|
uint16_t ActionTimer2;
|
||
|
render_t Render;
|
||
|
float Unknown0008; // Fishing related.
|
||
|
uint32_t Unknown0009; // Fade-in effect. (Valid values: 3 / 6)
|
||
|
uint16_t Unknown0010; // Fade-in misc. (-1 gets reset to 0)
|
||
|
uint32_t Unknown0011;
|
||
|
uint16_t NpcSpeechLoop;
|
||
|
uint16_t NpcSpeechFrame;
|
||
|
uint8_t Unknown0012[18];
|
||
|
float Speed2; // Editable movement speed.
|
||
|
uint16_t NpcWalkPosition1;
|
||
|
uint16_t NpcWalkPosition2;
|
||
|
uint16_t NpcWalkMode;
|
||
|
uint16_t CostumeId;
|
||
|
uint8_t mou4[4]; // Always 'mou4'.
|
||
|
uint32_t Status;
|
||
|
uint32_t StatusServer;
|
||
|
uint32_t StatusNpcChat; // Used while talking with an npc.
|
||
|
uint32_t Unknown0013;
|
||
|
uint32_t Unknown0014;
|
||
|
uint32_t Unknown0015;
|
||
|
uint32_t Unknown0016;
|
||
|
uint32_t ClaimServerId; // The entities server id that has claim (or last claimed) the entity.
|
||
|
uint32_t Unknown0017; // Inventory related.
|
||
|
animation_t Animations; // The entities animation strings. (idl, sil, wlk, etc.)
|
||
|
uint16_t AnimationTick; // Current ticks of the active animation.
|
||
|
uint16_t AnimationStep; // Current step of the active animation.
|
||
|
uint8_t AnimationPlay; // Current animation playing. (6 = Stand>Sit, 12 = Play current emote.)
|
||
|
uint8_t Unknown0018; // Animation related.
|
||
|
uint16_t EmoteTargetIndex; // The target index the emote is being performed on.
|
||
|
uint16_t EmoteId; // The id of the emote.
|
||
|
uint16_t Unknown0019;
|
||
|
uint32_t EmoteIdString; // The string id of emote.
|
||
|
uintptr_t EmoteTargetWarpPointer; // The emote target entities warp pointer.
|
||
|
uint32_t Unknown0020;
|
||
|
uint32_t SpawnFlags; // 0x01 = PC, 0x02 = NPC, 0x10 = Mob, 0x0D = Self
|
||
|
uint32_t LinkshellColor; // ARGB style color code.
|
||
|
uint16_t NameColor; // Numerical code to pre-defined colors.
|
||
|
uint16_t CampaignNameFlag; // Normally 0x4000, low-byte sets the flag.
|
||
|
uint16_t FishingTimer; // Counts down from when you click 'fish' til you either make a catch or reel-in.
|
||
|
uint16_t FishingCastTimer; // Counts down from when you click 'fish' til your bait hits the water.
|
||
|
uint32_t FishingUnknown0000; // Fishing related.
|
||
|
uint32_t FishingUnknown0001; // Fishing related.
|
||
|
uint16_t FishingUnknown0002; // Fishing related.
|
||
|
uint8_t Unknown0021[14];
|
||
|
uint16_t TargetedIndex; // The entities targeted index. (Does not always populate. Does not populate for local player.)
|
||
|
uint16_t PetTargetIndex; // The entities pet target index.
|
||
|
uint16_t Unknown0022; // Npc talking countdown timer. (After done talking with npc.)
|
||
|
uint8_t Unknown0023; // Flag set after talking with an npc.
|
||
|
uint8_t BallistaScoreFlag; // Ballista / PvP related.
|
||
|
uint8_t PankrationEnabled;
|
||
|
uint8_t PankrationFlagFlip;
|
||
|
uint16_t Unknown0024;
|
||
|
float ModelSize;
|
||
|
uint8_t Unknown0025[8];
|
||
|
uint16_t MonstrosityFlag; // The entities monstrosity flags.
|
||
|
uint16_t MonstrosityNameId; // The entities monstrosity name id.
|
||
|
int8_t MonstrosityName[36]; // The entities monstrosity name.
|
||
|
};
|
||
|
#pragma pack(pop)
|
||
|
}; // namespace FFXI
|
||
|
}; // namespace Ashita
|
||
|
|
||
|
#endif // __ASHITA_AS_FFXI_ENTITY_H_INCLUDED__
|