ACT Advanced Combat Tracker - MMORPG Log Parser Paypal
3.8.2.2852024-10-21

Miscellaneous
Added two misc options to allow the View Logs feature and/or Custom Triggers to receive the original log line instead of one modified by plugins or having the timestamp removed. -- The Custom Triggers tab & Spell Timers page will try to remember node expansion when rebuilding the list. When removing a Custom Trigger/Spell Timer(Alt-R), it will try to select an adjacent node. -- For some Linux users, their version of the CLR gets confused by an app.config section which prevents web requests from completing. If ACT detects this, it will create a notification with an option to modify the app.config to remove this offending config section. -- Some instances of n have been replaced with Environment.NewLine in text generation.

Miscellaneous UI / API
ButtonPainted and CheckboxButtonPainted margin/padding logic now more closely matches their WinForms counterparts. Slightly altered some of the color blending methods these types of controls use.

Plugins / API
Exposed Color.ToAdjustedColor() extension method to alter a given color according to ACT's UI settings or other arbitrary values. Exposed Color.MixWith() extension method to mix one color with another by a percentage. -- Fixed some cases where ACT's custom controls would not work in designer mode without a parented form(like when designing a UserControl). -- LogLineEventArgs.originalLogLine will now have the same value in OnLogLineRead as it did in BeforeLogLineRead. -- TraySliderAdd() should properly run on the UI thread like the docs state.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.8.1.2842024-08-07

Miscellaneous Fixes
Tab controls are now limited to one row of tabs... when there is not enough space to show the tab collection, there will be a scrolling control.
Fixed an issue where sometimes a minimized ACT window would still be shown by Windows as a blank window that could be restored.
Added another method to try moving ACT's main window into an active screen if it finds itself outside of all screens. This will also hopefully fix some issues with outside influences trying to minimize ACT with ACT already using the -minimize flag.
Fixed an issue with scrollbar shaders preventing ACT from starting maximized. Fixed an issue with scrollbar shaders appearing on the primary screen when ACT gets put outside of all active screens and minimized. Fixed an issue with scrollbar shaders appearing in Alt-Tab when ACT is minimized to tray.
Fixed an issue with starting ACT maximized then switching to another application before loading was complete.

Plugins / API
UnZip() will now extract the archive fully to temp and test destination file locks before moving files to the final destination in order to avoid partial extractions.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.8.0.2832024-07-28

Hotfix
This hotfix is primarily to address a couple reports that the main tab control could throw an error and stop drawing at startup. -- Additionally, maximizing ACT should no longer make it forget its restored position/size.

As a side note: Be sure to read the change logs for the large update yesterday.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.8.0.2822024-07-28
Hotfix
This is meant to fix ACT showing with a blank window when -minimize is used.  --  Some button word-wrapping was fixed.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.8.0.2812024-07-27

Minimum OS Requirements Changed
.NET Framework 4.7(or greater) is required which makes Windows 7 the minimum usable OS. While .NET Framework 4.7 has no end-of-support date published by Microsoft, it is recommended to have 4.8 or 4.8.1 installed. The installer and update package will warn you if 4.7 was not detected. -- Windows 7/8 is missing modern ciphers to enable secure downloads, so while update checking may work, most downloads will not.

UI / Theming / DPI Scaling
Most tab controls and buttons have been replaced with themeable versions. As a reminder, you may change the colors in the Options tab or Startup Wizard. -- ACT is now specifically DPI aware. Several UIs have been rebuilt to accommodate; graph rendering was fixed and raster icons have been replaced. -- Added experimental scrollbar shaders to the Main tab TreeView and data grid with config in the Main User Interface page in Options. The dark theme presets will also enable them, when reapplied.

Miscellaneous
Base memory usage will be lower for those with large HistoryDatabases. -- When ACT is in portable mode, it will store some config settings with relative paths so ACT's folder may be moved more easily. -- If you previously used the ACT Clipboard Sharer application, you will need a new version from the ZIP archive. -- Logitech G15/G19 LCD support was removed from ACT and put into a separate plugin, available now. -- Fixed table cells showing an error when data grid luminosity offset was too low. -- For update checks, if there are TLS errors on older Windows versions(<10), it will fallback to an insecure method. Downloads will not be made insecurely and will prompt manual browser downloads.

Plugins API
Added FormActMain.ActColorSettings to retrieve user-set colors and subscribe to changes. Added a FormActMain.ActLifecycleChanged event for the various stages of ACT starting up and beginning to shut down. Added a FormActMain.DpiScale property to determine ACT's DPI scaling. ACT no longer comes with or uses ICSharpCode.SharpZipLib, GammaJul.LgLcd or Trinet.Core.IO.Ntfs. Added a property to get ACT's default text export format and exposed methods to add/remove a text export format from ACT's UI. Added a method to query ACT's Selective Parsing mode setting.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.7.0.2802023-12-09

Theme/UI Changes
More configuration options have been added to the Color and Font Settings section. Many UI elements have been slightly altered to allow for flexibility in other color schemes. Most/all tables in ACT have been rebuilt to allow for inverted color schemes. As they are no longer painted by default Microsoft methods, they will look a bit different. The Data Grid Items colors section will affect these tables. (Most colors in the main table and log viewer are defined in plugins and do not offer a UI to change them.) ACT will use the Invert Luminance, Luminance Offset and Saturation Offset settings to alter these external colors to allow them to better fit dark themes. The main Color and Font Settings page and the Startup Wizard have buttons for resetting all colors at once and for applying some sample colors for a dark theme. (I'm not a graphics designer, so feel free to export and share some color settings from ACT) Color pickers in ACT now save custom colors that are defined in the dialog.

Custom Triggers
Custom Trigger category restricting no longer requires an exact match with the current zone. The current zone name now must only contain the category text and is no longer case-sensitive.

Localization
The structure of many UI elements has changed. This affects the control path used for UI localization.

Miscellaneous
Fixed MinHit/MaxHit columns not showing zero on some tables when there is no data. -- Getting plugin lists for the Startup Wizard or Get Plugins Wizard should be faster. -- The TimeLine window/feature should be more compatible with numbers larger than Int32. -- If another window takes focus during ACT's loading process, the main ACT window will try to appear below all other windows at the end.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.6.2.2792023-02-02
Hotfix
Possibly fixed a race condition with rebuilding custom triggers on zone changes. -- Removed some WMP sound API rate limiting that seemed to adversely affect a small number of users. Sound rate limiting now shows a one-time notification when a limit has been reached. (In the case of WMP, it is informational-only)


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.6.2.2782023-01-29

MiniParse Text Exports
For text exports(clipboard, MiniWindow, OverlayPlugin), {duration} or {DURATION} is usually calculated as EndTime-StartTime. A new setting in Data Correction -> Miscellaneous allows for the EndTime to be replaced by LastEstimatedTime while in-combat. This will have the effect of showing the encounter duration in text exports increasing even when no new data is coming in. Internally, the encounter duration calculation has not changed, so EncDPS calculations will not be affected.

Sound / Text To Speech
TTS sent though ACT now has some rate limiting to avoid custom triggers or plugins causing a crash in Microsoft's OneCore TTS Engine implementation of SAPI. This limiting can only take effect if using ACT's TTS() method and any 3rd party implementation may still crash ACT if it behaves badly and overruns their own similar TTS implementation. The default TTS method has been changed to direct SAPI. -- The WMP API now has a setting to force sound through the UI thread, or not. The WMP API now also has some rate limiting implemented.

Custom Triggers
ACT should more often reassess the active custom triggers necessary when changing zones, changing log files, etc. This is for custom triggers that are restricted to certain zone names.

Screenshot Button
A new button has been added to the corner of ACT which will take a screenshot of ACT's main window for the clipboard or to save as a PNG. This is mostly useful for pasting/posting into other applications(Discord, forums).

Miscellaneous
Fixed the output for AttackType.MaxHit when all values are zero. You may now customize the text that appears in ACT's main window titlebar, found in the Miscellaneous section. The force GCCollection option no longer opens a TraySlider. Fixed the MiniParse Window's close button handler, again.

As a warning, the next version of ACT may require v4.7.2 or v4.8 of the .NET Framework.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.6.1.2772022-08-07
Miscellaenous
Removed an attempted fix for WINE users left in r274 that causes an issue for Windows users. This will only make things smoother for upgrades from r277 to r278 in the future.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.6.1.2762022-08-07

Incremental Caching
Previously ACT would cache calculated values as long as nothing was added to a specific part. But ongoing complex encounters would often require recalculation and requesting the data often would lead to high CPU usage. ACT will now create an incremental cache of base level calculations to reduce the amount of work required for each successive request for data. This will not be a huge difference, but it is at least measurable. You may mostly disable the newer method of caching by using the option in the Miscellaneous settings page of the Options tab.

Multiple Running Copies
ACT will now warn if it detects another copy of ACT running. You may skip the check by adding -skipmutex to the commandline parameters. You may block new instances by adding -onlyone; not compatible with -skipmutex. If you wish for the warning to stay consistent, either close the new instance and reuse the older instance or close all instances and restart ACT. Continuing with the new copy that made the warning is not advised as future copies will not detect that one.

Miscellaneous
Fewer colors are hard-coded and instead use system defined colors. ACT will bypass using internal webbrowser controls in WINE since they do not render at all and may cause problems. The Relative Time column will now discard unused decimal point places. The Death Report will now use damage suffixes like the main tab graphs. Some misc window size fixes for changes after Windows 11. Some new ODBC hacks. Fixed some default SQL export variables. The Lookup By Combatant window now gracefully handles cells that cause errors. Fixed restarts of the Custom Trigger engine.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.6.0.2752021-12-23
TTS - Text to Speech
ACT should no longer override the TTS method back to default when a plugin sets its own method.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.6.0.2742021-12-23

Internal Changes
Adding data to encounters is being split from the log parsing threads. The most obvious effect of this is that log parsing may use up to 1-2 cores instead of only one. Typically you will only see this much saturation during log file imports, but there may be situations where live log parsing could potentially benefit from this depending on your setup/plugins.

TTS - Text to Speech
The TTS options have been split out into a different configuration page. You may now choose direct SAPI as a TTS method, though the volume scale will be different. You may now add custom find/replace corrections to change how the TTS engine sees certain words or phrases. This is to correct how the TTS engine pronounces things. There is a textbox/button to test these settings or to test TTS in general.

Miscellaneous
Added RelativeTime column to the bottom level table that shows the time since the encounter began. When importing a log, the progress bar will no longer marquee animate while waiting for user input. Internally one of the form names has changed, which may cause a config warning. If the Custom Trigger thread crashes, it will now automatically restart, but also dump the queue that crashed it. TraySliders, aka notifications, will use a different location calculation method that may work for more multi-monitor layouts. The Death Report should now be compatible with fractional seconds. The -minimize flag will now affect the ActLoader form that shows the progress, but it is now incompatible with shortcuts that minimize it otherwise.

Plugins/API
Added FormActMain.AfterCombatActionDataLock property, used to pause data being added to encounters. The purpose of this is more efficient calculation of large encounters that may be changing while being calculated. UncachedFileSave() no longer writes if the destination file already has that content(unless you use the overload method to force it). The FormEncounterLogs class now has a LogTypeToColorMapping property. This can be used so that the View Logs window colors different log lines to specific colors based on the LogLineEventArgs.detectedType. If EncounterData.SetAllies() is called, automatic ally detection will be disabled for that encounter. Setting it to null/empty will re-enable.

Requirements
ACT now requires v4.6 of the .NET Framework instead of only complaining about not having it. For other plugins, it's recommended that you have v4.8 just in case.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.5.0.2732020-11-23

Encounter Silence Trimming
Added a new setting, "Number of seconds to wait after the last combat action to pause the encounter duration". If the new encounter/idle timer setting is higher than this setting, this setting will "pause"/trim the encounter duration when no hostile actions have been detected. This is similar to manually merging two encounters, where the duration is added together((EndTimeA-StartTimeA)+(EndTimeB-StartTimeB)) rather than calculated from (EndTimeB-StartTimeA). This "pausing" is the same as adding another EndTime/StartTime in the middle of the encounter without physically splitting it; it only affects duration and calculations that use it.

Companion Log Files
A new experimental developer feature has been added to allow semi-synchronized alternate log files to be generated by plugins or external sources. When opening a main log file, ACT will search for matching files in a CompanionLogs folder relative to the main log file. The filename specification is as follows: .\CompanionLogs\<MainlogFilename>.<arbitraryname>.<MainLogFileExt>, where <arbitraryname> can be anything as long as it does not contain a period. A plugin demo can be found here.

Miscellaneous
Misc fixes for graphing, spell timers. Fixed the EndTime property for some tables. Fixed combatant duration for merged encounters. Made estimated log time more accurate. Sound files used for triggers/etc may now be URI form as long as the underlying sound engine is capable. (WMP allows this, XAudio2 does not) The default ACT TTS implementation should use fewer temporary intermediary files.

Plugin/API
LogLineEventArgs passed to BeforeLogLineRead/OnLogLineRead now contains a companionLogName property which will be blank if from the main log file. Added LogFileRenamed event for creators of Companion Log Files to handle, where applicable. This is tied to the split setting in Options->Miscellaneous. Added GetCompanionFilePath() helper method to create filenames compatible with the new feature.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.10.2722020-08-30

Miscellaneous
Fixed the Open File dialog not filtering game logs correctly. Added a warning about missing/corrupted app.config files. Open log files are checked for new data more often(10ms).

Plugins/API
The modified ListView control used by ACT is now marked public, named ListViewNoFlicker; if used correctly, it bypasses unnecessary repaints that cause flickering on large updates. Downloaded plugin ZIPs are now kept in the temp folder instead of the Plugins folder. Added PluginGetGithubApi() to get the backing GitHub API JSON for the plugin(not rate limited).



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.9.2712020-07-25

Localization Part 4
Localization strings have been added for the internal strings of the Import/Export & Options panels.

Miscellaneous
Reattached the closing handler for the Spell Timer Options panel.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.8.2702020-07-16
Hotfix
Fix for slower checking of log file updates.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.8.2692020-07-16

Localization Part 3
Most internal strings have been added for secondary windows. Remaining items include internal strings for Options/Import/Export sections and some more complex cases.

Miscellaneous
Startup Wizard and Get Plugins windows now have progress bars for some operations and downloads. ACT no longer warns when 1000 lines behind in Custom Trigger parsing; instead warns when CT/normal parsing has been behind for 10 consecutive seconds. History Database imports now ignore filenames and only use LastWriteTime sorting to find a file to import. Custom Trigger zone matching is a little more robust. Some more error handing in the Spell Timer render loop. Added a link to the classic Control Panel applet for TTS in Sound settings. Renamed labels of the "Scratch Encounter" to "Custom Encounter".

Plugins/API
Added UncachedFileSave() which can be used to help avoid empty(null) config files when the host computer crashes.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.7.2682020-02-27

Localization Part 2
More internal strings are being added to the ActLocalization class. -exportcontroltext now exports an XML file for the InternalStrings collection in addition to the *.cs file. Only one of these is necessary to use. GitHub will be updated with the new strings.

Plugins/API
Added TraySliderAdd() method as a quick way to create a thread-safe, OK button, TraySlider. Plugin version checks will use a slightly different implementation server-side. As a reminder, version info is updated once per 3 minutes.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.6.2672020-01-27

Localization Part 1a
More internal strings are being added to the ActLocalization class as an ongoing process over the next few versions. EQ2 English parser related localization strings are being marked depreciated and should be changed/replaced in a relevant parsing plugin, rather than having a parsing plugin reference ActLocalization for these strings. The EQ2 English parsing plugin will be updated to have all of these strings and should be used as the primary reference for changing these strings. -exportcontroltext will now export a basic plugin instead of just raw C# localization updates.

Localization Part 1b
A Localization folder in the GitHub repository has been added. The "en-US" folder will contain ACT's default exports for the most recent version and GitHub's versioning capabilities can be used to see which strings were added/removed/changed. Those wishing to contribute a different language should create a new folder named after the locale, with the same files, and create a pull request.

Plugins/API
Added a RestartACT() method to prompt the user to allow ACT to restart. Added DamageTypeDataOutgoingPowerReplenish, DamageTypeDataOutgoingPowerDamage and DamageTypeDataOutgoingCures fields to CombatantData to allow localization of data links for associated properties.

Miscellaneous
More TLS fixes added to app.config. ACT should no longer save an empty configuration if ActLoader is closed very early in initialization. If scanning for zone name takes longer than 10 seconds, ACT will offer to skip it. Added a -delay commandline switch to delay ACT's loading by 5 seconds. ACT will create a notification warning about unknown assemblies in ACT's folder and duplicate named plugins enabled. (Both of these things may cause major runtime issues if you do it by mistake)



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.5.2662019-12-14
Miscellaneous
Minor fixes, enhancements.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.5.2652019-11-13

Notifications
Added a Notifications tab for longer term storage of ACT messages or messages that don't need to interrupt the user. Most TraySlider alerts will create a notification here and can be respawned using a Show button in the notification. Some MessageBoxes were converted to TraySliders or notification-only.

Miscellaneous
Added a View Assemblies button to the Plugin Listing tab to display all assemblies loaded by ACT for support/debugging purposes. ACT will respond to Windows shutdown requests in more cases... if Windows tries to close a plugin created window, ACT still won't know about it.

Plugins/API
Added a PluginCornerControlAdd() method to add a button/etc to the Plugin Listing tab. Added a NotificationAdd() method to add an entry to the Notification tab with an optional callback for clicking Show. The TraySlider class has an opt-out property for creating a notification.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.4.2642019-10-14

Startup/Shutdown
Fixed an incorrect message saying the config settings file was corrupt when it did not exist. ACT will attempt to bypass Windows write caching when saving config settings to hopefully prevent corruption when the system loses power or unexpectedly reboots and the cached write is not flushed to disk. The loading screen now describes in more detail what is happening during InitACT.

Plugins/API
Added CornerControlAdd() & CornerControlRemove() methods to properly add an arbitrary button/checkbox to the upper-right corner of ACT's window.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.3.2632019-09-16
Startup
Fixed a race condition that would, for some users, cause an unhandled exception on startup mentioning sound options.

Plugin API
Added a read-only originalLogLine field to LogLineEventArgs for BeforeLogLineRead / OnLogLineRead.

Miscellaneous
Other misc changes/fixes.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.2.2622019-09-07
Startup
If the current ACT configuration seems to be corrupt, you may be prompted to load a backup if any are available. Fixed a bug that allowed duplicate path plugins to be loaded but only one shown in the UI. More steps are printed during ACT's loading phase. ACT will complain if .NET 4.6 or greater is not detected; since it is recently necessary for secure Internet downloads/updates.

Sound
The Plugin sound option can no longer be user selected; it is auto-selected when a plugin replaces the sound method and defaulted to WMP if nothing is handling sounds.

Plugins/API
TraySlider is now more configurable. If event subscribers throw an exception back to ACT, it will enable a failsafe mode to allow all subscribers to see events individually; ACT will then once a minute give a summary report of exceptions via a TraySlider.

Miscellaneous
Non-fatal unhandled exceptions will now be shown as a TraySlider instead of a blocking dialog box; this also allows them to be properly logged.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.1.2612019-08-03
Sound
Two new settings have been added to the Sound options. Command sound and Misc sound allow you to change what sounds ACT plays when responding to a command from in-game or a miscellaneous warning. -- The sound API selector will automatically select No internal sound if a plugin has replaced ACT's sound methods and the user views the settings panel. -- Many instances of "system beep" have been removed from operations that should complete instantly and sound feedback is unnecessary. Instant errors will still cause sound feedback.

Plugins
When enabling a plugin, ACT will scan the folder tree for Internet downloads and offer to Unblock them; ACT will also scan its own common folders. There is a new Miscellaneous checkbox to disable this. -- ACT will no longer wait infinitely for foreground threads to complete when ACT is exiting. If there are any foreground threads still running 10 seconds after ACT has started closing, ACT will forcefully exit. This is to prevent invisible ACT processes caused by plugins that start but never complete foreground threads. -- Added API calls for PlayCommandSound() and PlayMiscSound().

Miscellaneous
The ACT loader window describes more stages of progress and may help indicate where a message box comes from.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.4.0.2602019-07-17

ACT Portable
Added a -portable command line switch to ACT. This will cause ACT to use its current folder instead of %APPDATA% or %TEMP%. If a plugin has a hardcoded or configurable external path, this switch will not prevent the plugin from using it.

Plugins
The Plugins tab will now be shown in the logical load order. Each plugin panel will have up/down buttons to re-order the plugin in the load order for the next ACT run. Added a detection of "blocked" plugins and added a user message attempting to describe the problem/solution if the exception reaches ACT.

Plugin API
Plugins can change the plugin load order and refresh the GUI. PluginGetRemoteDateUtc has been modified in ACT and on the web server to be more accurate. Added a TemporaryFolder & InitActDone property. Added website-side integration for Github repositories including plugin update checking/downloads.

Miscellaneous
Modified the Startup Wizard to have a smoother experience when using FFXIV. Font size configuration values will be ignored when over 200pt. (This is to avoid issues with changing OS regions between ACT runs causing font sizes 100x of normal.  IE 8,25 âž¡ 825)



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.3.4.2592019-06-05
Plugins
A fix for ZIP extracting plugins in more obscure Windows regions(OEM codepage 1 error).  Plugin download wizards first check for a DLL named after the ZIP file, if applicable.  Added alternate plugin update check method API.

ODBC
Added compatibility hack for MySQL 8 adding 'grouping' to reserved keywords.  (Pressing the Reset button will populate all default hacks)

Miscellaneous
Added an in-application message for HTTP-503 errors when too many download attempts have been logged. 


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.3.3.2582018-11-23
Text Export Formatting
Added {xxxx-*} versions of {maxhit}, {maxheal}, etc and reverted the old ones.

Custom Triggers
You may now use the Remove button on a custom trigger category to delete all child custom triggers.

Miscellaneous
Misc fixes.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.3.2.2572018-08-25
Number Formatting
Graphs and Text Export Formatters now may use shortened numbers and suffixes.  IE, one million may be displayed as '1000K' or '1.00M' depending on settings.  Data tables are unaffected.  The graph settings are in Options -> Output Display -> Graphing.  The Text Export variables have new entries to use suffix shortening.  IE, {ENCDPS-*} may show '1000K' and {encdps-*} may show '1.00M'. 

Any parsing plugins that completely replace built-in export formatters may need to incorporate these new formatters using the FormActMain.CreateDamageString() method.  The updated EQ2 English plugin shows examples.


Miscellaneous
ACT will now be able to use TLS 1.1/1.2 as long as .NET Framework 4.6 or greater is installed.  When checking for updates or downloading plugins, ACT's user-agent will include its own version info.  ACT will truncate its error log upon startup if it exceeds 10MB.  Other misc fixes.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.3.1.2562017-10-07
Miscellaneous
Misc bug fixes in graphing functions.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.3.1.2552017-04-16
Custom Trigger Benchmarking
ACT has a new window for finding expensive Custom Triggers that might cause ACT to lag behind in CT parsing.  If the CT parsing engine lags behind over 1,000 lines compared to the combat parsing engine, a sliding popup may appear asking if you wish to run said benchmark.  Otherwise, it may be accessed on the Custom Trigger tab using the new button in the upper-right corner.

Miscellaneous
Misc bug fixes relating to race conditions in the Spell Timers window.  Misc fixes for Int64 usage in reports.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.3.0.2542016-04-15
ACT 64-bit, Part 2
A need has arisen for ACT's base number type to go from Int32 to Int64.  This means that damage data can now exceed 2 billion(2^32/2-1).  This deep level change is needed so that parsing plugins can store data this large without error.  Parsing plugins will most likely need to be updated to take advantage of this.  Some plugins that assume that damage is only a 32-bit number may no longer work with ACT at all.

If you need to downgrade ACT until your plugin is updated, go to the main ACT website, click on the Versions tab, find a previous version that is acceptable and download the update file.  This file once downloaded, must be manually moved to ACT's installation folder and run from there.  (Running ACTx86 will not help this issue)

Game specific notes:
  • EverQuest II
    • Old plugins should still function to at least some degree
    • The EQ2 English plugin will be updated immediately with the others following
  • Final Fantasy XIV
    • Old plugins will probably not work
    • Immediately download the update released today
  • The Secret World
    • Immediately download the update.



Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.2.2.2522016-02-03
Custom Triggers
Custom Trigger result tabs now support column sorting by date/time & decimal numbers and in general sort quicker than before.  Next to the Category textbox/checkbox is a button that will fill in the currently detected zone.

Miscellaneous
Miscellaneous bug fixes.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.2.1.2512015-10-12
Custom Triggers
Added a method of having a custom trigger match against the currently detected character name.  This may be useful for sharing triggers where you only care if your character is involved.  If the regex contains a capturing group named "YOU", then your character's name must be contained within the captured string.  The match does not have to be exact, nor case sensitive.

Quick Example: (?<YOU>\w+) has been given the Mark of
The "YOU" capturing group might capture, "FF6600Aditu".  This will be valid as "Aditu" is contained within the captured string.  If someone else's name was mentioned in the log line, it would not constitute a match.  (Full example: https://regex101.com/r/oE3uQ2/2 )

Graphing
More graphs should support Int64/Double variables instead of throwing exceptions when reaching numbers over 4 billion.  Some graph tooltips have commas added to numbers. 

Miscellaneous
Fixes for settings not being saved if you close ACT in less than 60 seconds after the first time it is run.  The custom trigger regex field may warn you about using .* at the beginning or ending of a regular expression; in case you missed the memo 3 years ago(v3.1.0.238) about it being a performance hit.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.2.0.2502015-02-24
ACT 32-bit
When run by the ACTx86 loader, ACT was not properly referencing the main assembly when compiling source code(.cs) plugins.  This caused plugin compilation to not find the plugin API and thus fail to load the plugin.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.2.0.2492015-02-21
ACT 64-bit
When running on a 64-bit OS, ACT will run as a 64-bit application.  In general, this will allow for greater amounts of memory to be used before crashing at the cost of using more memory for general operation.  (Mostly due to memory pointers doubling in size)  Switching to a 64-bit application may cause certain native code plugins to no longer load until they are updated to include a 64-bit version.  If  you absolutely must have a 32-bit version of ACT, run ACTx86.exe instead of the normal executable.  Because of the EXE name change, the configuration files will be different as well.

The Scratch Encounter
You may now arbitrarily add parsed ACT data to what is known as a scratch encounter.  You may right-click anything in the left-side TreeView or a row selection in the main table and select an option to add to the scratch encounter.  In either case, a dialog will appear to trim down the selected actions to a time range.  Once you accept, a new encounter called Scratch will appear in the Import/Merge section.  You may repeatedly add more data to this encounter by following the above steps again.  To start over, either delete or rename the Scratch encounter.

Miscellaneous
The table in the Main tab will now allow you to multi-select rows; clipboard context menu items will pay attention to that selection. 
Clicking on the Death Report graph will copy the tooltip text to the textbox on the left.  The Death Report window is now resizable. 
Hitting ESC on the File/Clipboard Import Window will press the close button. 
Fixed some coloring issues for the Main tab table. 
Fixed a condition where ACT would not save its configuration if closed less than a minute after its very first execution. 
Fixed a startup crash if ACT was closed by a Windows shutdown while minimized to a tray icon.  Updated email and feedback server addresses. 
Added a -log command line argument to specify a game logfile to open. 

Plugin API
Added a method to replace the default TTS engine.  (PlayTtsMethod)


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.5.2462013-03-23
XML Share Snippets
You can now store standard ACT settings in XML Share Snippets.  Virtually anything that you find in the config file can be shared with other players.  Though things that require computer specific file paths will not likely work.  It is not recommended to share more than a few settings in a single snippet.  The <Config> node does not need to be present if exporting only one type of config data, but it must still conform to the single-root-node rule of XML.

Valid:
<TextFormats>
    <Format PlayerFormat="{n}{NAME5} | {ENCDPS}" AlliesFormat="({duration}) {title}: {ENCDPS} {maxhit}" Sorting="EncDPS" ShowOnlyAllies="True" ShowAlliesInfo="True" />
</TextFormats>


Invalid:
<TextFormats>
    <Format PlayerFormat="{n}{NAME5} | {ENCDPS}" AlliesFormat="({duration}) {title}: {ENCDPS} {maxhit}" Sorting="EncDPS" ShowOnlyAllies="True" ShowAlliesInfo="True" />
</TextFormats>
<MacroExports>
    <MacroExport Checked="True" Align="True" Channel="gsay" File="act-export.txt" MaxLines="16" PresetIndex="0" />
</MacroExports>


The invalid example has TextFormats and MacroExports as root nodes, violating XML specifications.  In this case, wrapping it in a <Config>...</Config> node is required to make it a single export.  The root node does not need to be named Config; only a name that is not otherwise used by ACT's config file.

The XML snippet itself will look like the following:
<Config Xml="(Escaped XML)" />

If you just copy portions of your ACT config file without first converting it, ACT will ignore it.  There is a small tool in Options -> Configuration Import/Export which will do this conversion.  This is a feature for fairly advanced users as there is no easy GUI for extracting ACT config settings.  The conversion tool will check for correct XML syntax but not validate that the XML are actual ACT settings.

XML Share Snippets (Cont)
When you receive an XML Share Snippet in game chat, ACT will no longer use balloon notifications to ask if you wish to import it.  It was found that clicking the balloon could later cause subsequent parsing-thread blocking if another XML snippet appeared.  Deemed unfixable, ACT now uses its own TraySlider to create these notifications.  The notifications will have a similar message but you are allowed four options (Add/Ignore/Whitelist/Blacklist). 

These notifications will avoid appearing when playing full screen and should not take focus when playing windowed.  If you are playing fullscreen and receive an XML snippet, exiting fullscreen mode will allow the notification windows to appear.  Keep the mouse hovered over them or re-enter fullscreen mode to avoid them fading out after 15 seconds.  More than one notification window may be present at a time and they will pop-over each other.

Miscellaneous
Fixed a bug preventing the Encounter level Avoidance Report from being shown.  Fixed a random crash condition.

Plugin API
The TraySlider class used for XML Share Snippets is publicly available and should be sufficiently modifiable.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.4.2452013-02-19
Miscellaneous
Slight changes to the debug logging, SettingsSerializer and Startup Wizard.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.4.2442012-09-15
History Database Imports
The encounter/zone database will now take note of the log file folder currently being parsed from.  This will allow the History Database importer to search the folder-tree for the specific log file it is looking for based on folder name and modified date; instead of only initially looking in the current log folder.  This searching is still restricted to the base log folder of the game, however.  It will not search throughout your computer for these folder names.  (This system will only affect newly parsed or re-parsed encounters)

Miscellaneous
Misc API, graphing and error logging fixes.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.3.2432012-06-04
Hotfix
Rearranged a startup component so it wouldn't throw an error before error logging was initialized.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.3.2422012-06-04
Configuration Settings
ACT will now create a backup of the old config settings when closing, instead of simply overwriting.  You can find a listing of the backups on the Options tab, Configuration Import/Export page.  By default, ACT will now save its configuration once a minute.  Optionally, it can save the History Database as well in addition to now saving when you change zones.  These options can be found on the Options tab, Miscellaneous page.

Miscellaneous
The 'Current Encounter' page on the webserver now includes links to allow sorting.  Misc additions to ACT's error log, misc UI fixes and plugin API.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.2.2412012-04-14
Live Parsing
Fixed a bug where a parsing plugin throwing an unhandled exception while DateTime parsing would cause ACT to loop retrying the section of the log it currently had buffered.  (Causing it to never advance to the rest of the log file)  ACT will now again completely ignore the line that caused the exception unhandled by the parsing plugin.

Plugin API
An overload method for FormActMain.AddCombatAction has been added that accepts a MasterSwing object(or class that derives from it).  Added public methods for reading/writing *.act files: EncountersToXml, XmlToEncounters, MemCompressGZip, MemDecompressGZip.  *.act file exports now include arbitrary data stored in the MasterSwing.Tags property and can be imported as such.  Added two additional logging methods: WriteInfoLog, WriteDebugLog.  They use the same error log file WriteExceptionLog uses, but does not require an Exception as a parameter.  (WriteDebugLog will only output if ACT was started with the "-debug" commandline switch)

Miscellaneous
*.act files starting with this version have been given GZip file headers... previously they were raw DEFLATE streams.  Old versions of ACT will not read these, but the new version will read both.  The ACT error log format has changed a bit to accommodate the new info it can be passed.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.1.2402012-03-22
Log Parsing
Games that flush partial(broken) log lines to file will no longer have those lines skipped during live parsing.  ACT will rejoin broken segments before passing the line to the parsing plugin.  This affects Rift and SWTOR.

Mini Parse/Spell Timer windows
When fully opaque, these windows should no longer cause a performance hit when shown over windowed EQ2.  If set to transparent or click-through, some users will experience this (presumably)DirectX bug with the game.

Miscellaneous
Kill/death column counts should now update properly during live parsing.  Other misc fixes.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.0.2392012-01-29
Miscellaneous
Removed reliance on System.Web.dll so that streamlined installations of the .NET Framework(Client Profile) would be sufficient for everything in ACT.  The reliance caused this problem.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.1.0.2382012-01-28
Custom Triggers
Custom Triggers when using TTS output will no longer include text that was not part of the match.  This means that wildcards such as .* .+ .*? and .+? are no longer needed at the beginning and end of regular expressions to avoid this behavior.  In fact, including these wildcards at the beginning of regular expressions are a very large performance hit; omitting them will not affect matching.  It is strongly recommended that you remove them from the beginning of old Custom Triggers.

XML Share Snippets
A button has been added to the main ACT window that can import snippets from the clipboard, instead of going to the related Options tab section.  This is so it is easier to direct people to import them from websites/forum posts.  Support for consuming these has also been added to the plugin API.

Plugin Downloader Window
The Get Plugins link on the Plugins tab has been replaced with a plugin downloader button.  Similar to the Startup Wizard, this window will display the titles and descriptions of plugins available on the ACT website.  The window can download and enable plugins directly from within ACT.  This should work with most plugins already available as long as they are normal plugin files or ZIP files containing the former.

Plugin API
There is a new event, XmlSnippetAdded, which will allow plugins to consume XML share snippets.  The DetrimentCallMacro plugin is the first to use this functionality.

Miscellaneous
ACT should no longer crash on PCs with a large number of logical cores(16-64).  The configuration to change core affinity was altered and must be reset, if you didn't use default.  All report type windows will now spawn a new window instead of re-using old windows that were visible.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.3.2372011-12-02
New
Added a button above the Main tab table which will take a screenshot of the table, graph or both and save it as an image.  (I see lots of people doing this manually but no one ever asked for it. =P)

Miscellaneous
Various fixes to allow better user interface localization.  Slightly different XML snippet encoding so EQ2 won't convert them into chat links.  A fix for Timer mods... few mobs allow modification of their AEs so I didn't notice this was broken.  Added some more default ODBC hacks... use the Reset button to refresh.  Fixed a problem where the Web Server would sometimes freeze the interface when viewing the connection log.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.2.2362011-09-22
Miscellaneous

Switched the AJAX method used in the ACT webserver feature to be compatible with more browsers(specifically mobile ones).  Fixed a duration calculation bug on merged encounters that included several zero-duration encounters in a row.  Fixed EQ2 threat values to invalidate the cached value when it changes(so it will update more than once).  Fixed the ability to properly localize ACTv3's interface, like you could in ACTv2.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.1.2352011-06-22
Miscellaneous
Misc bug fixes.  Window sizing changes: windows will remember their window states upon closing; certain panel sizes will reset if they become too large/small; windows will no longer resize based on font size changes; the Miscellaneous options page now has a button to reset window locations/sizes.

You will see a notification of 21 configuration errors when upgrading to this version.  This is due to old versions not saving window state information yet.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.1.2342011-06-02
Custom Trigger Performance
A new setting has been added to the Miscellaneous options page to allow you to define the number of threads to dedicate to Custom Trigger parsing.  A value of zero will mimic ACTv2's functionality but can cause normal log parsing to fall behind the game if the used Custom Triggers are too expensive to process.  A value of one or more will separate Custom Trigger parsing from normal log parsing allowing them not to affect each other.  This will be especially evident if you import old log files with Custom Trigger parsing enabled; the normal import will complete much before the custom trigger thread is done.  The log position label also in the Miscellaneous page will tell you if ACT is behind in Custom Trigger parsing the same way normal parsing tells you it is behind.  The default value is one extra thread and should only be increased if you have enough CPU cores to support them and the game.  If you only have a dual-core system, this value should probably be set to zero unless you want ACT to interfere with the game.

ODBC Compatibility Hacks
ACT will no longer use internal compatibility hacks to provide support for other data sources.  A new interface has been added to allow you to create any number of custom SQL syntax hacks for your specific data source based on Regular Expressions.  ACT will by default create SQL syntax for MySQL data sources.  A Reset button has been provided to this interface to replace the old internal hacks ACT previously used for various data sources.  If you do not use MySQL as your data source, you may wish to use this button before any export attempts.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.0.2332011-05-14
Miscellaneous
Fixed user defined table column ordering.  Auto-updating plugins should no longer loop asking to update until ACT is restarted.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.0.2322011-05-08
Minor UI fixes.  Compatibility fixes for some old plugins.  All text export preset selectors will default to an internal preset if none are selected.


Download this version as a self extracting archive to be run in ACT's preexisting folder.
3.0.0.2312011-05-05
Advanced Combat Tracker version 3 You cannot use the updater to get this version.

This took forever admittedly and I didn't even get to include everything that I wanted to.  What's new and different?  A lot?  I didn't keep track.  The two major differences: the user interface was rearranged; ACT tries to treat all games equally.  This means you'll probably have trouble finding things, right?  Hopefully the search bar in the Options tab will help.  What's this mean for EQ2 and other games?  All games, including EQ2, get equal standing as external parsing plugins.  ACT can no longer do all parsing internally.  This means you must download a parsing plugin specific to your needs.  The Startup Wizard has been redesigned to do this for you.

You cannot update automatically from ACTv2 to ACTv3.  You must go to the download page and get it from there.  You cannot run ACTv3 unless you have v4.0 of the .NET Framework installed.


Download this version as a self extracting archive to be run in ACT's preexisting folder.

Concerns/Privacy?
HTML5 Powered with CSS3 / Styling, Graphics, 3D & Effects, and Semantics
Softpedia Clean Award
Random Background