Skip to content

Releases: EQAditu/AdvancedCombatTracker

Version 3.6.0.274

23 Dec 18:10
be91efb
Compare
Choose a tag to compare

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.

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.

Version 3.5.0.273

23 Nov 21:43
26e91f8
Compare
Choose a tag to compare

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.

Version 3.4.10.272

30 Aug 04:15
3b09e93
Compare
Choose a tag to compare

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).

Version 3.4.9.271

26 Jul 01:37
e51f382
Compare
Choose a tag to compare

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.

Version 3.4.8.270

17 Jul 00:39
2e8f6a5
Compare
Choose a tag to compare

Hotfix
Fix for slower checking of log file updates.

Version 3.4.8.269

16 Jul 19:41
2e8f6a5
Compare
Choose a tag to compare

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.

Version 3.4.7.268

27 Feb 17:54
7f9bf52
Compare
Choose a tag to compare

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.

Version 3.4.6.267

27 Jan 20:34
3e56263
Compare
Choose a tag to compare

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)

Version 3.4.5.266

14 Dec 21:19
ea0e4d7
Compare
Choose a tag to compare

Miscellaneous
Minor fixes, enhancements. (#10)

Version 3.4.5.265

13 Nov 22:10
ea0e4d7
Compare
Choose a tag to compare

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.