Wednesday, 23 March 2022

Performance Boost

Hi!

Pre Super Adventure Box TacO development is ramping up, this time with a bunch of stability and performance upgrades. The Bugsplat integration in the previous build already pointed out some previously unknown issues, proving its worth. There have also been dramatic performance upgrades. Running with uncapped framerates, with some large popular marker packs loaded the uncapped framerate of TacO has jumped from 120fps to ~2k fps, for a performance boost of about 16x.

Change notes:

  • Fixed the handling of the Characters API endpoint - this should no longer crash if the API returns unexpected results
  • Added additional checks to avoid a crash related to toggling menus in rare cases
  • Added warning popup windows for when TacO is missing important data files (mostly happening when the overlay is run straight from the archive without unpacking)
  • Performance: replaced strings with string ids in the marker category system
  • Performance: trail textures are now cached more aggressively
  • Performance: the small fonts now have outlined versions as well and the outline doesn't need to be rendered separately using a 3x3 display
  • Performance: Teamspeak integration is now only ticked if the TS3 window is open
  • Performance: category visibility settings are now more aggressively cached
  • Performance: trails and markers are now bucketed for each map id, meaning a lot fewer checks per frame
  • Performance/Stability: TacO now waits for the mumble link to update more aggressively

Monday, 21 March 2022

BugSplat crash tracking

Hi!

In order to better be able to track unreported and rare crashes, I've integrated the BugSplat crash tracking system into the latest TacO build (#53). This system sends crash reports (basically the same information that has been logged before) into the cloud for easier sorting and analysis. As crash reports from the overlay have been few and far between lately I don't expect there to be too many reports for now, this is more a convenience feature for me to track down any Schrödinbugs that may rear their ugly head.

The information that is sent is the TacO process dump file and the TacO log file of the crashed session. No identifying or GW2 account related information is sent (since the overlay doesn't have access to that anyway), however I'm anticipating that there will still be some, who'd like to opt out of sending crash info my way. In order to turn off crash reporting all you need to do is to set the SendCrashDump value in the TacOConfig.xml to 0.

You can download the new build here.

Sunday, 20 March 2022

Minor bugfix release

 Hi there!

With new marker packs coming out for the expansion I finally managed to take some time to play the game again and of course found a bug that made achievement hunting an issue.

This minor release should fix the problems regarding achievement tracking and poi visibility.

You can download the new build from here.

Wednesday, 22 September 2021

Post data-loss maintenance build

 Hi.

As I noted earlier, about a year ago I had a huge data loss in the TacO codebase that resulted in the wipe of the progress between builds #43 and #47. I did what I could to recreate the code for the open-source release, but I didn't have time to thoroughly test the results.

The releases from yesterday brought to light a couple issues that were lurking in the opensource code, and so today I sat down and went through the old changelogs to test everything once again. In the process a bunch of issues were found and fixed. This new build is the result of this effort.

You can download the new build from here.

Change notes:

  • fixed a crash that occurred when the maptimer was querying the GW2 API
  • fixed global opacity settings being swapped around
  • fixed non-user placed markers being deleted by "delete my markers"
  • fixed minimap offset when GW2 is in too-small-window-scaling-mode
  • fixed crash when reloading markers in TacO
  • fixed API key not querying info when added
  • fixed not being able to delete API keys
  • if an API key is updated with an invalid API key it no longer retains the previous valid key's data
  • fixed marker info text not showing up
  • fixed exit-after-1-minute if GW2 is not found on startup
  • fixed -mumble command line option
  • fixed minimap and map pois ignoring the alpha category property
  • fixed TacO eating too much CPU when GW2 is not running

Bugfixes

 Hi.

As expected some issues came out with last night's build, so here's a quick update to fix what was reported already.

The new version can be downloaded from here.

Change notes:

  • Fixed TacO not exiting with GW2.
  • Fixed pois not visible on main map.
  • Fixed TacO icon not lining up with the main menu on first startup.

Tuesday, 21 September 2021

GW2 DirectX 11 Beta Support

 Hi!

Quick update: The new GW2 client has support for DirectX 11, which required a minor update to TacO.
Should there be any issues compared to the previous release please let me know in the comments.

You can download the new build from here.

Change notes:

  • TacO now detects the DX11 GW2 window as well
Update:
Build 49 is now also out with two changes that fix issues that came from the earlier data loss:
Change notes:
  • Fixed mumble link based API key detection (character list wasn't parsed)
  • Fixed windows toggling on/off not working properly

Monday, 26 April 2021

GW2 TacO is Going Open Source

 Hi.

There comes a time when one must admit that things have changed. It's been quite a while since I logged in to GW2 for anything more than the daily login rewards, and that has also become a sporadic thing. I haven't even played the last living world episode yet. I'm focusing on work and a new big sideproject that's taking up my time, and I find myself waiting for the new Diablo games instead of GW2. So... for the time being at least, I've moved on from Guild Wars 2. This may not be a permanent thing, I'll definitely be back for the next expansion, however this also means that I don't have the time/energy/will to focus on TacO.

I've built the overlay to be a robust piece of software that can stand on its own even in times where I may not be able to tend to it, which woked out quite well, I'd say. It hasn't been open-source for several reasons, the main one being that my previous job was the development of a UI engine and the codebase under TacO could have been seen as a derivative product (even though it predates my working at the company, but it wasn't worth the risk based on some of the stories I heard). Since about a year now that issue is gone (and by now any non-compete clause as well). The codebase under TacO is now being sunsetted in other projects that use it as well, and this gives me the possibility to (for the time being at least) hand over the reins to the community.

So. The Guild Wars 2 Tactical Overlay is going open source.

One important note: the code above isn't _exactly_ the same as the last release due to an unfortunate data loss suffered last autumn. I've done my best to recover the lost code of the last couple builds and I think it should all be there, but the newer features are completely untested and require reevaluation.

I made no attempts to clean up the code, so you'll see some "yeah this is a hobby project" level hackery in there including global variables and copypasted code all over the place. You have been warned. (The code is provided as-is)

Visual Studio 2019 and the June 2010 DirectX SDK are required to build it.

Hopefully this will finally satisfy all the opensource zealots I got so much flack from over the years out there as well.

The source code of TacO is released under the CC BY-NC 4.0 license.