User Tools

Site Tools


plugins

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
plugins [2015/11/18 17:55]
atom0s created
plugins [2016/07/16 12:16] (current)
atom0s [Requirements To Write Plugins]
Line 1: Line 1:
 ====== Plugins ====== ====== Plugins ======
  
 +==== What are plugins? ====
 +
 +While addons are the recommended method of coding things for Ashita due to ease of use, ease of access for updates and such, as well as allowing others to expand on things and share with the community, users can also develop plugins for Ashita. Plugins are compiled modules that are loaded into the game's memory space. Plugins can interact with Ashita directly via the IAshitaCore interface as well as interact with the games memory directly.
 +
 +It is recommended to only use plugins for projects you wish to remain closed source or need lower-level access than an addon can give you. 
 +
 +----
 +
 +==== Requirements To Write Plugins ====
 +
 +In order to write plugins for Ashita, there are some basic requirements that must be met:
 +  * Your desired language must support %%__%%stdcall calling conventions.
 +  * Your desired language must support %%__%%cdecl calling conventions.
 +  * Your desired language must understand how to implement the required export functions.
 +  * Your desired language must understand how to implement the base plugin interface.
 +  * Your desired language must be able to compile to a Win32 (x86) DLL.
 +  * Your desired language must be able to export non-name mangled exported functions.
 +
 +It is recommended to use C/C++ to create plugins. The IDE that is recommended is the latest version of Visual Studio from Microsoft.
 +
 +----
 +
 +==== Using Plugins ====
 +
 +Plugins can be used directly through Ashita with the following commands:
 +
 +    ​
 +**/​plugin_load** \\
 +**/load** \\
 +**/​loadplugin** \\
 +**/​pluginload** \\
 +    * //Loads a plugin.//
 +    * **Example:​** /load addons
 +
 +**/​plugin_unload** \\
 +**/unload** \\
 +**/​unloadplugin** \\
 +**/​pluginunload** \\
 +    * //Unloads a plugin.//
 +    * **Example:​** /unload addons
 +    ​
 +**/list** \\
 +    * //Lists the current loaded plugins.//
plugins.1447898154.txt.gz · Last modified: 2015/11/18 17:55 by atom0s