Ashita v3 Changelog

Find news and updates about the Ashita project posted here.
User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Ashita v3 Changelog

Post by atom0s » Fri Nov 25, 2016 10:36 pm


You can view the Ashita v3 changelog on the website here:
http://ashita.atom0s.com/changelogv3.php
This thread will contain all the beta changes that have happened between Ashita v2 -> Ashita v3.
Some things may be missed although I'm trying to ensure nothing is left out.

Code: Select all


---------------------------------------------------------------------------------------------------------------------------
Ashita v3 - Overall Changelog (Source Code)
---------------------------------------------------------------------------------------------------------------------------
    [CHG] Ashita v3 has been fully rewritten to ensure better code consistency and quality.
    [CHG] Base hook has been fully rewritten in Visual Studio 2015 (Update 3), making use of newer C/C++ features. (C++11,14,17)
    [CHG] Moved various parts of the source code into sub-folders to cleanup the solution.
    [CHG] Updated documentation within the project source code to use JSDoc format for readability and parsing potential of auto-generating docs.
    [REM] Removed AnTweakBar from the Ashita Project. This UI is no longer needed with the addition of ImGui.
    [CHG] IImGuiManager has been renamed to IGuiManager, taking over the old GuiManagers name/place in the project.
    [CHG] Updated Detours library to latest version.
    [CHG] Updated TinyXML2 library to latest version.
    [CHG] Ashita's logging is now handled within a new manager named LogManager. This is accessible to plugins now via the ILogManager interface.
    [CHG] KeyboardWrapper is now named Keyboard and is moved into the DirectInput Wrapper folder.
    [CHG] MouseWrapper is now named Mouse and is moved into the DirectInput Wrapper folder.
    [CHG] Renamed DatFileEncryption to XiDatFileEncryption.
    [CHG] Renamed DatFileStructures to XiDatFileStructures.
    [ADD] Added more logging and colored chat output to Ashita to help with debugging.
    [ADD] Added more events for plugins to respond to.
    [CHG] Changed some existing events to allow for modified data and overriding easier.
    [REM] Removed some unneeded hooks / code that are no longer used for anti-windowing purposes.
    [CHG] Addons are now stored in the base directory of Ashita inside of their own 'addons' folder instead of within the 'scripts' folder.
    
---------------------------------------------------------------------------------------------------------------------------
-- ADK Related Changes
---------------------------------------------------------------------------------------------------------------------------
    [CHG] ffxi/entity.h - Overhauled the full file, cleaning up types and names.
    [CHG] ffxi/enums.h - Overhauled the full file, cleaning up types and names.
    [ADD] ffxi/enums.h - Added some new macro definitions for things.
    [ADD] ffxi/enums.h - Added some new enumerations for various things.
    [CHG] ffxi/inventory.h - Overhauled the full file, cleaning up types and names.
    [CHG] ffxi/party.h - Overhauled the full file, cleaning up types and names.
    [CHG] ffxi/player.h - Overhauled the full file, cleaning up types and names.
    [ADD] ffxi/player.h - Added a lot more information to the player.h structure, replacing a lot of unknown data.
    [CHG] ffxi/target.h - Overhauled the full file, cleaning up types and names.
    [CHG] Renamed AS_Data.h to AS_BinaryData.h and cleanuped the file overall.
    [REM] Removed AS_Rect.h and AS_WindowProps.h files.
    [REM] Removed AS_String.h file.
    [CHG] Overall cleanup of the ADK files.
    [ADD] Added new AS_Objects.h file which holds various Ashita specific structures.
    [CHG] AS_Memory.h is now using my personal scanner code instead of an old method.
    [CHG] Overhauled AS_Registry.h to cleanup the code as well as fix some minor issues.
    [CHG] Ashita.h - Massive overhaul of the entire file, cleaning things up.
    [ADD] Ashita.h - Added some ReSharper comments to remove some unimportant warnings.
    [CHG] Ashita.h - Ashita interface version is bumped up to 3.0
    [REM] Ashita.h - Removed old AnTweakbar code as it is no longer used.
    [ADD] Ashita.h - Added a simple structure for reading the current Ashita version from the GetVersion export.
    [ADD] Ashita.h - Added the install parameters structure to the ADK for those that may want to create their own injector.
    [ADD] Ashita.h - Added new enumerations for various things.
    [CHG] Ashita.h - Cleaned up the names and types of all the structures and interfaces.
    [CHG] Ashita.h - Adjusted the naming of some members of the IAbility, ISpell and IItem structures.
    [ADD] Ashita.h - IItem now contains a member BaseItemId for items that are upgraded. This is the base item id for the upgrade process. (Not all upgraded items use this.)
    [CHG] Ashita.h - Renamed instances of 'Monipulator' to 'Monstrosity' to be more clear of its purposes.
    [CHG] Ashita.h - Updated the various interfaces to match the new exports and such.
    [CHG] Ashita.h - Various functions within each interface has been renamed to conform with the changes inside of Ashita.
    [REM] Ashita.h - Removed IGuiManager entirely as AnTweakBar is gone.
    [CHG] Ashita.h - ImGui has replaced IGuiManager instead, however it can be found in the imgui.h file in the ADK folder.
    [ADD] Ashita.h - Added log file exposure via the new ILogManager interface.
    [ADD] Ashita.h - IAshitaCore now contains a handful more properties. 
    [CHG] Ashita.h - PluginData has been renamed to plugininfo_t instead.
    [CHG] Ashita.h - IPlugin has been renamed to IPluginBase. (Plugins should now inherit from 'IPlugin' instead.)
    [CHG] Ashita.h - GetInterfaceVersionFunc export is now renamed to getinterfaceversion_f.
    [CHG] Ashita.h - CreatePluginDataFunc export is now renamed to createplugininfo_f.
    [CHG] Ashita.h - CreatePluginFunc export is now renamed to createplugin_f.
    [REM] Ashita.h - CreatePluginFunc (now createplugin_f) no longer takes a parameter.
    
---------------------------------------------------------------------------------------------------------------------------
Class Specific Changes
---------------------------------------------------------------------------------------------------------------------------

AshitaCore
    [CHG] Overall major code cleanup and reorganization.
    [ADD] Added new property exports for various window information. (FFXi, PlayOnline, PlayOnline Mask)
    [ADD] Added new property exports for various features. (Mouse hooking, etc.)
    [ADD] Added new property exports for various Direct3D related things. (Fill Mode, Ambient Lighting, etc.)
ChatManager
    [CHG] Overall major code cleanup and reorganization.
    [CHG] RunTextScript has been renamed to RunScript.
    [CHG] Renamed internal command handler to be less confusing to similar named functions.
    [CHG] Cleaned up the custom function hooks.
    [CHG] Added some more safety checks to AddToChatlog hook to ensure invalid pointer crashes should not happen.
    [CHG] Increased the buffer used for AddToChatlog to allow for longer strings in the event of adding big chunks of data.
    [CHG] AutoTranslate hook is now named 'ParseAutoTranslate' to be more consistent with the rest of the code that uses it.
    [CHG] ParseCommand hook now validates both steps of its pointer to prevent null pointer crashes.
    [CHG] ChatManager::Initialization - call ensures previous data / pointers are freed to prevent memory leaks.
    [CHG] ChatManager::Update - call will now be more verbose with Debug/Error logging to help diagnose issues.
    [CHG] ChatManager::ParseCommand - now validates both steps of its pointer to prevent null pointer crashes.
    [CHG] ChatManager::AddChatMessage - now enforces reparsing of auto-translation text similar to how the client works.
    [CHG] ChatManager::ParseAutoTranslate - major cleanup to the processing code of the translate tags. Should be much faster now.
    [CHG] ChatManager::RunScript - cleaned up code to be more efficient. Fixed a bug with checking for self-calling scripts.
    [CHG] ChatManager::SetInputText - removed some unneeded checks that were overkill.
    [FIX] ChatManager::SetInputText - clamps the incoming data length to 120 to match the games max size.
    [FIX] ChatManager::Write - fixed a minor bug with mixing unicode and ascii encodings.
    [CHG] ChatManager::InternalCommandHandler - major overhaul of all internal handled commands.
    [FIX] ChatManager::AddToChatlog - Detour callback will now properly process the 'backlog' queue by passing it to addons/plugins before adding it to the log.
    [CHG] HandleNewChatLine has been renamed to HandleIncomingText.
    [ADD] HandleOutgoingText has been added as a plugin callback for when outgoing text from the client was not handled as a command.
    [REM] Removed some unneeded functions.
    [ADD] Added a lot of colored printing messages to the various commands help information.
    [REM] Removed the command /unload all as it did not make sense with /unloadall being a command as well.
    [CHG] HandleIncomingText now supports modified data and blocking information for plugins to easier handle the event and customize things.
    [CHG] HandleOutgoingText now supports modified data and blocking information for plugins to easier handle the event and customize things.
CommandTaskPool
    [CHG] Simplified task type names that can be queued into the pool. (GameCommand -> Command, ExecuteScript -> Script).
    [CHG] Adjusted the task information structure slightly. Renamed members.
    [CHG] Renamed thread information structure members to remove unneeded prefixes in names.
    [CHG] Reordered the parameters of the QueueTask function. The task type is now first.
    [FIX] Fixed a potential null pointer crash in the thread callback handler.
    [CHG] Adjusted some thread-safety lockings.
    [ADD] Added check for quit message raising in the thread pool monitoring handler to ensure threads exit and cleanup properly.
ConfigurationManager
    [CHG] Renamed LoadConfiguration to Load.
    [CHG] Renamed RemoveConfiguration to Remove.
    [CHG] Renamed SaveConfiguration to Save.    
    [REM] Removed the default LoadConfiguration function and merged it into the over-loaded one. (Now just a single Load call.)
    [REM] Removed the GetConfigString, GetConfigBool, GetConfigFloat, GetConfigDouble functions.
    [REM] Removed old templated value getters.
    [CHG] Merged GetConfigString functions into a single instance of the function named GetString.
    [CHG] Renamd SetConfigValue to SetValue.
    [ADD] Added new templated value getters that handle a wider range of value types. (int8_t -> int64_t, uint8_t -> uint64_t, bool, float, double)
    [ADD] ConfigurationManager::Load - will now automatically handle the file extension (.xml) as needed.
    [ADD] ConfigurationManager::Load - will now automatically assume configuration files are within the Ashita\config\ folder.
    [ADD] ConfigurationManager::Save - now takes a second parameter being the file to save to. (Again the config is assume to be within the config folder automatically.)
    [FIX] GetValue templated functions should properly handle values without percision lost or signed/unsigned casting issues.
    [CHG] Changed the get/set value exposure to plugins to be named a bit cleaner. Exposed more data types as well.
DataManager
    -- This managers code has remained the same.
FontManager
    [CHG] Renamed CreateFontObject to Create.
    [CHG] Renamed GetFontObject to Get.
    [CHG] Renamed DeleteFontObject to Delete.
    [ADD] Added several bits of thread-safety locking to the managers functions to prevent threading issues with the fonts map.
    [CHG] Updated looping handlers to use C++11 ranged-based loops.
    [ADD] Font objects will now move based on the location of the mouse and not based on the center of the text object.
    [ADD] Clicking a font object while FFXi is not in focus should now pull the game into focus properly.
    [FIX] Fixed a few instances where input handling was not returning true to block input that was captured.
    [FIX] Font objects now render in reverse order.
FontObject
    [CHG] Renamed some internal variables to be more understandable at first-glance.
    [CHG] Renamed FontName to FontFamily to be more consistent with other coding interfaces.
    [CHG] Renamed and exposed BorderSize, it is now considered Padding.
    [REM] Removed width and height properties as these were no longer used.
    [CHG] Renamed m_NeedsUpdate to m_IsDirty and exposed Get/Set functions for it.
    [ADD] Added Get/Set functions for creation flags.
    [ADD] Added Get/Set functions for draw flags.
    [REM] Removed SetFont function.
    [ADD] Added SetFontFamily and SetFontHeight functions.
    [REM] Removed SetPosition function.
    [ADD] Added SetPositionX and SetPositionY functions.
    [CHG] Renamed SetLockPosition to SetLocked to be more understandable.
    [ADD] Added SetWindowWidth and SetWindowHeight functions. (You should not need these but they are there if you do.)
    [CHG] Changed mouse position related function parameters to use int32_t instead of floats. (ie. HitTest function)
    [CHG] Font objects will now default to not being visible when first created. You will need to use SetVisibility to true to make your objects show.
    [CHG] Font objects will now default to being movable when created.  (Locked flag is false.)
    [REM] Device pointer is no longer passed to the creation of an object, instead is only passed during Initialization call.
    [CHG] Padding is now default to 0 instead of 0.1f.
    [CHG] Reordered the initialization of font objects so that the high-risk of failure functions happen first.
    [CHG] Tweaked some calculations with rendering font objects to be more accurate.
    [CHG] Optimized the code for updating the background primitive object of font objects.    
GuiManager
    [REM] Removed the old AnTweakBar Gui manager and replaced it with the newer ImGui manager. (ImGuiManager was removed and renamed to GuiManager.)
InputManager
    -- This managers code has remained the same.
LogManager
    [ADD] Added exposure to the log file. Users can now access the ILogManager interface.
    [CHG] Cleaned up the logging output to be more condense and cleaner. 
    [CHG] Overhauled the logging done by Ashita to be more informative when needed.
PacketManager
    [CHG] Minor code cleanup, overall this manager has remained the same from Ashita v2.
PluginManager
    [CHG] Optimized various parts of the code.
    [CHG] Added some more detailed output for various things.
    [CHG] HandleIncomingPacket now supports modified data and blocking information for plugins to easier handle the event and customize things.
    [CHG] HandleOutgoingPacket now supports modified data and blocking information for plugins to easier handle the event and customize things.
    [ADD] Added new plugin events for various Direct3D related things. (Primitive drawing, render state setting.)
PointerManager
    [CHG] PointerManager has been updated to use my newer personal memory scanning function which is async and much faster.
    [CHG] PointerManager has been updated to use my newer memory scanning functions format of signatures removing the need of separate signatures and masks.
    [CHG] Updated internal pointer table to reflect these changes.
PrimitiveObject
    [CHG] Renamed some internal variables to be more understandable at first-glance.
    [ADD] Added customizable borders to the primitive objects similar to WPF/HTML style borders.
    [ADD] Added GetBorderVisibility, GetBorderColor, GetBorderFlags, and GetBorderSizes functions.
    [ADD] Added SetBorderVisibility, SetBorderColor, SetBorderFlags, and SetBorderSizes functions.
    [CHG] Changed SetTextureFromResource's first paramter to the file name instead of handle. Allowing for easier usage of the function.
    [CHG] Changed the default color from 0xFF000000 to 0x80000000.
    [ADD] Added defaults for borders. (Defaults are not visible, red color, no flags set, and 0 size.)
    [REM] Device pointer is no longer passed to the creation of an object, instead is only passed during Initialization call.
    [CHG] Cleaned up the sprite rendering code when drawing a textured primitive.
    [CHG] Cleaned up the sprite rendering code when drawing normal primitive.
    [ADD] Added code to render borders around the primitive. (Similar to how HTML borders work.)
    [FIX] Fixed a minor potential rendering issue due to render states.
    [ADD] PrimitiveObject::SetTextureFromFile - added some additional error checks.
    [ADD] PrimitiveObject::SetTextureFromResource - now looks up the file module handle automatically due to first argument change.
ResourceManager
    [CHG] Full rewrite of the parser and its headers.
    [CHG] Optimized some parts of the parser that were a bit underwhelming. (Faster parser times now.)
    [ADD] Added parsing for: augments, jobpoints, merits, mountsname, mountsdesc, titles
    [ADD] Added parsing for some missing Japanese files.
    [ADD] Added more detailed logging for when things go wrong.
    [ADD] Added more chat output to let the user know if things are messing up.
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Fri Nov 25, 2016 10:57 pm

Ashita v3 Points of Interest
  • Ashita v3 is a full rewrite of Ashita v2 from the ground up.
  • Ashita v3 focuses on speed and stability, making use of C++11/14 and some C++17 features.
  • Ashita v3 is coded with Addons in mind, designed to make addon development easier.
  • Ashita v3 is coded in Visual Studio 2015 (Update 3), all base plugins the same.
  • Removed old AnTweakbar UI system in favor of the newer ImGui system.
Custom Fonts - New Coloring Format

Ashita v1/v2 used an old format for coloring strings that was fairly clunky and buggy. Strings used to be colored via:

Code: Select all

\cs(r,g,b)<text here>\cr
\cs(a,r,g,b)<text here>\cr
Ashita v3 now colors fonts using the same format as other popular MMORPGs such as World of Warcraft, via:

Code: Select all

|cAARRGGBB|<text here>|r

New and Updated Plugin Events

When Ashita v2 was coded, the Addons plugin was still in its infancy. Certain events were not coded with addons in mind and left things lacking.
Addons had strict access to overwriting things from events as well as altering their end result. With Ashita v3, this was taken into consideration, as events exposed to plugins (and thereby addons) have been redesigned. Most events are now also passed to all plugins regardless if they have been blocked. These events now include a new blocked parameter to check if that has happened.
  • Initialize
    - New parameter, 'log', which is an instance to the new LogManager object.
    Release
    - No changes.

    HandleCommand
    - No changes.
    HandleIncomingText
    - Renamed from HandleNewChat.
    - Added new parameter modifiedMode, used to allow plugins to modify the chat mode.
    - Added new parameter modifiedMessage, used to allow plugins to modify the result message text.
    - Added new parameter blocked, used to check if another plugin has blocked the message already.
    HandleOutgoingText
    - New event, used to handle outgoing text that was not handled as a command via HandleCommand.
    HandleIncomingPacket
    - Added new parameter modified, used to allow plugins to modify the packet data.
    - Added new parameter blocked, used to check if another plugin has blocked the packet already.
    HandleOutgoingPacket
    - Added new parameter modified, used to allow plugins to modify the packet data.
    - Added new parameter blocked, used to check if another plugin has blocked the packet already.

    Direct3DInitialize
    - No changes.
    Direct3DRelease
    - No changes.
    Direct3DPreRender
    - No changes.
    Direct3DRender
    - No changes.
    Direct3DPresent
    - New event, used when the Direct3D device is being presented.
    Direct3DDrawPrimitive
    - New event, used when a primitive is being rendered.
    Direct3DDrawIndexedPrimitive
    - New event, used when a primitive is being rendered.
    Direct3DDrawPrimitiveUP
    - New event, used when a primitive is being rendered.
    Direct3DDrawIndexedPrimitiveUP
    - New event, used when a primitive is being rendered.
    Direct3DSetRenderState
    - New event, used when a render state is being set.
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Fri Nov 25, 2016 11:10 pm

Plugin SDK (Ashita Development Kit aka ADK) Revamped

I've revamped the ADK a bit to cleanup some unneeded names and objects that were somewhat confusing.
While all the changes to the ADK would be huge to list here, I will cover some key points:
  • Enumerations are now using newer C++11 'enum class' implementations to stop the namespace pollution.
  • Major overhaul to various structures to cleanup confusing types.
  • Instances where 'Id' and 'Index' were used are now better understandable.
  • Instances of 'TargetID' are now 'Targetindex' like they should have been from the start.
  • Instances of 'ID' are now 'Id' instead.
  • Functions that accepted VARARGs now are also implemented as a straight const char* variant. Used for addons mainly.
  • Configuration manager has received a major overhaul.
  • FontManager functions are named easier and clearer. (ex. CreateFontObject is now Create)
  • FontObject / PrimitiveObject now expose some new features.
  • Added a new manager for accessing the log files. (LogManager)
  • Corrected some signed/unsigned types in various structures and returns.
  • Some managers now have more information exposed, such as IPlayer.
  • Fixed some issues with IKeyboard/IMouse that lingered from Ashita v2, such as input blocking not working properly.
Some other points of interest for the various AS_ files included in the ADK:
  • AS_BinaryData
    - Renamed from AS_Data.
    - Renamed the functions of the class to follow a better format.
  • AS_CommandParser
    - No major changes. (Minor changes to data types etc.)
  • AS_Event
    - No major changes. (Minor changes to data types etc.)
  • AS_Exception
    - No major changes. (Minor changes to data types etc.)
  • AS_LockableObject
    - No major changes. (Minor changes to data types etc.)
  • AS_Memory
    - Overhauled the memory scanner. It is now using my personal scanner instead.
  • AS_Objects
    - Now contains the objects from within AS_Rect and AS_WindowProps from Ashita v2.
    - AS_Rect is now asrect_t.
    - AS_WindowProps is now aswindowinfo_t
  • AS_Registry
    - Fixed some issues with certain parts of the functions exposed.
  • AS_Thread
    - No major changes. (Minor changes to data types etc.)
AS_String is now removed fully. It is not recommended to continue using it from the old ADK either. Please update your plugins accordingly.
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Fri Nov 25, 2016 11:11 pm

New Command Line Injector

As requested, Ashita v3 now includes a command line injector with its release package. This can be used in situations where WPF is not available.
You can access this new injector via the command line injector file: injector.exe

The command line usage of this file is:
injector.exe [config]

This injector will automatically look for the configuration file with given name inside of the /config/boot/ folder.
For example, if you use:
injector.exe test.xml

The injector will look for:
/config/boot/test.xml
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Fri Nov 25, 2016 11:11 pm

reserved
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Fri Nov 25, 2016 11:12 pm

reserved
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Sat Nov 26, 2016 12:43 am

Changelog - 11/26/2016
  • Fixed typo in /addon list command.
  • Ported over and added WindowerInput.dll plugin to the beta release.
  • Ported over and added Screenshot.dll plugin to the beta release.
  • Ported over and added WatchDog.dll plugin to the beta release.
  • Added base addons. (Distance, FPS, Timestamp, TParty)
  • Added base addons libraries.
Changelog - 11/26/2016 (Evening Hours)
  • Updated Addons plugin to include LuaSocket.
  • Added LuaSocket .lua files to the addons libs.
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Sun Nov 27, 2016 6:30 pm

Changelog - 11/27/2016
  • More addons have been ported over and added to the beta launcher. (repeater, pbar, OnEvent, macrofix, itemwatch, ibar)
  • Fixed issue with GetPetMP return due to incorrect internal casting.
  • Implemented /paste into the core hook.
  • Added ashita.misc.show_console/hide_console to Addons.
  • Converted plugin 'HideConsole' to an addon and added it to the loader.
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Mon Nov 28, 2016 12:11 pm

Changelog - 11/28/2016
  • More addons have been ported over and added to the beta launcher. (synplicity)
  • Fixed configurations not saving.
  • Fixed null pointer crash within font objects.
  • Ported and added WatchExp plugin.
Lead Ashita Developer

User avatar
atom0s
Site Admin
Posts: 256
Joined: Sat May 14, 2016 5:13 pm

Re: Ashita v3 Changelog

Post by atom0s » Tue Nov 29, 2016 12:18 pm

Changelog - 11/29/2016
  • Fixed a deadlock issue with the Direct3D device causing some plugins to lock up Ashita on certain events related to Direct3D.
  • Fixed some issues with right-justified text rendering not working properly.
  • Adjusted TParty text alignment to be a bit cleaner.
  • Added new command: /bind silent
  • Added new command: /plugin silent
  • Added new command: /addon silent
The new silent commands will make the given commands not spew their output every time they are used. Only critical errors and exceptions will still show from these commands now. For example, if you try to load an already loaded plugin, nothing will print to the log. If you load a plugin nothing will print. However if a plugin throws an exception, it will still print to the log.

These are best used in the startup script (typically Default.txt to quit the script down from being annoying.) The order you put these can make a difference in how much spam your chatlog will receive at startup. The suggested format would be something like this:

Code: Select all

/bind silent
/plugin silent
/load addons
/addon silent

<load other plugins here>
<load other addons here>
<setup keybind here>
Changelog - 11/29/2016 (Evening)
  • Added new addon, filters. Allows players to easily manage chat filter sets. (Not recommended for use on retail, mainly made for private servers.)
  • Fixed some bugs with ItemWatch addon.
  • Added some new features to ItemWatch addon.
  • Added some new commands to SingleRace addon.
  • Updated the default positions of TParty.
Lead Ashita Developer

Locked

Who is online

Users browsing this forum: No registered users and 0 guests