User Tools

Site Tools


ashitav3

Ashita v3

What is Ashita?

Ashita is a third-party application [and hook] that allows you to play Final Fantasy XI in a windowed mode seamlessly across multiple instances on the same PC. Along with the windowing features, Ashita also brings a handful of various features that allow players to extend the game. Ashita brings features such as:

  1. Addons are written in Lua that can be developed by anyone.
  2. Plugins are written in C/C++ (and other languages) that can be developed by anyone. (See below.)
  3. Text objects that are drawn onto the screen that allows players to extend the normal game information displayed on-screen at all times.
  4. Simple text scripts that allow executing commands and extend the default macro system.
  5. In-game UI for addons and plugins to make full use of.
  6. And much much more!

What are Addons?

Addons are scripts written in Lua that have access to the Ashita plugin ADK (Ashita Developer Kit). Addons can allow users and developers to easily and quickly create new features for their game.

Given that addons are written in a scripted language, they can be easily and rapidly created, modified, and extended to create all kinds of unique features, adjustments to the game, as well as create new endless possibilities for players to automate various tasks.


What are Plugins?

Plugins allow developers to create applications that can extend, better, or automate gameplay in endless ways. Ashita exposes a feature rich plugin interface that has a handful of useful things already done for developers to allow them to quickly create new things. This helps make the process of getting setup and running a new plugin extremely quick and painless.

Plugins have countless possibilities and endless limits. Developers can reach deep into their creativity and bring out some massive potential to create new, amazing, and helpful tools that will ultimately change their experience while playing the game.

Best of all, Ashita's development kit (ADK) is fully open source and anyone can develop for it!

The ADK is designed to work specifically with C/C++ but any language that can properly import the interfaces should be able to create plugins, such as Delphi, ASM, etc.


What are Scripts?

Scripts allow non-programmers the ability to easily use pre-defined commands to perform various actions. Scripts can be bound to various keys to extend its functionality. Scripts can be used to perform simple tasks such as changing various equipment slots at once then performing actions such as weapon skills or magic abilities.


Ashita History

Ashita was originally created, by RZN, on Aug 19, 2011 and was originally named 'FFACE 5'. The idea was to replace the FFACE project with a full windowing ability and feature set that would replace the traditional FFACE.dll.

Later, due to major design changes, adjustments and alterations the project was instead separated from the FFACE project and was given its name 'Ashita' on Feb. 20, 2012.

Around version 1.0.0.10 of Ashita, atom0s had joined the project as a plugin developer with the means of becoming a core developer to help the project grow. After creating several key plugins that users were accustomed to from another project, atom0s began working with RZN on the core. Soon after atom0s became a core/lead developer with RZN on the whole project.

Ashita underwent lots of changes and improvements and partial rewrites of various parts of the core. Soon after, the project had grown in popularity and it saw many new third-party plugins from various players alike.

Due to limitations in how Ashita was currently coded, it was decided that a rewrite would be in the best interest of Ashita. atom0s began development on Ashita v2 shortly after the discussions.

Soon after, Ashita v2 was beginning beta testing and had its full release in early 2014. Ashita v2 brought many new things to the Ashita project such as:

  1. Much cleaner and more optimized code base.
  2. Much more flexible plugin system that would prevent plugins from breaking due to core updates.
  3. Lots of bug fixes from Ashita v1 that were hard to track down in the old code base.
  4. New font object system rewrite to make font objects even more customizable.
  5. And much much more!

Ashita v3 was developed to better extend some of the functionality of callbacks to plugins from the core. At the time, v2 had some limitations on what could be done with certain events and it limited the abilities of some major plugins. v3 was discussed between some of the core developers on how to better extend these events and further improve the plugin system. Once some solid ideas were made, work on v3 began. Ashita v3 was started around October 2016 with the hopes to build out an even more enjoyable platform for players.

During the rewrite, atom0s took the time to further improve the core code of the project making it much easier to update various parts of the core for any additional major changes that may come to the project. Another key adjustment made here was the removal of the old AnTweakbar UI system in favor of the newly added ImGui system. This resulted in the project being rewritten rather than being adjusted. With some guidelines in place, atom0s began working on Ashita v3 in his spare time while still focusing on keeping v2 up to date and working properly. Some key points on what were focused on with Ashita v3 were:

  • Full rewrite to optimize and modernize the Ashita core. (C++11/14 features, cint types, etc.)
  • Core code cleanup and commenting, now making use of JSDoc style comments across the whole project.
  • Enhanced plugin system with better callbacks for things such as the packet handlers and similar.
  • Added and improved callbacks for things such as command handling and incoming/outgoing text.
  • Exposure of more Direct3D calls that are commonly used in hacks/cheats to assist with various things.
  • Removal of old unused things such as AnTweakBar UI system, which has been succeeded by the newer ImGui UI system.
  • Massive overhaul and cleanup of the plugin SDK (known as the ADK).
  • And much more!

A full list of changes during this time were kept over on the forums here:
http://ashita.atom0s.com/forums/viewtopic.php?f=15&t=66


Credits / Thanks / Shoutouts

Lead Developers

  • atom0s
  • RZN

Core Contributions

  • Lolwutt

Plugin Developers (Current and past.)

  • Apogee
  • bluekirby0
  • h1pp0
  • Hypnotoad
  • Julian
  • Lolwutt
  • MalRD
  • Nospheratu
  • Praenuntiae
  • Venrell
  • Vicrelant
  • Xenonsmurf

Third-Party Usages / Thanks

  • Microsoft Detours 3.1
  • TinyXML2, Nlohmann JSON
  • Lua, Luabind
  • ImGui, and previously AnTweakbar
  • Patrick Wyatt (thread-safe List implementation)
  • Galasoft.MvvmLight Toolkit, Xceed WPF Toolkit, MahApps.Metro Toolkit
  • Newtonsoft.Json

Huge thanks to those that supplied me with retail account access when needed to test things for Ashita.
Huge thanks to all the beta testers who have helped shape Ashita into what it is today. (Especially my friend Jessica (aka Immortality/Thrice).)

And a huge thanks to all of our users! Without you, there would be no purpose to continue the development of Ashita!


Contact, Support, Downloads

Ashita's website can be found here: http://ashita.atom0s.com/ Ashita's forums can be found here: http://ashita.atom0s.com/forums/ Ashita's changelog can be found here: http://ashita.atom0s.com/changelogv3.php Ashita's documentation / wiki can be found here: http://ashita.atom0s.com/wiki/

The latest version of Ashita can be downloaded here: http://git.ashita.atom0s.com/Ashita/Ashitav3-Launcher/raw/master/Ashita.exe

Bug reports can be made here: http://git.ashita.atom0s.com/Ashita/Ashitav3-Release/issues

For bug reports with Ashita's launcher, please report them here: http://git.ashita.atom0s.com/Ashita/Ashitav3-Launcher/issues

Want to chat with us? You can find us on IRC or Discord:

Discord https://discord.gg/CfZu6Ya

IRC

  • Server: irc.rizon.net
  • Port: 6667
  • Channel: #ffevo
ashitav3.txt · Last modified: 2017/04/21 15:05 by atom0s