Sunday 4 June 2017

API madness! WvW, Dungeon and Raid status tracking!


Here's a nice big update for you guys just before next week's WvW changes hit. With the API key input added in the last build for the TS3 fixes, there was nothing in the way anymore for me to start poking in the GW2 API.

Important note: all of the new features below will require for you to enter a GW2 API key into TacO.

I present to you the fruits of this labor, in the order I got finished with them:

Dungeon Progression Tracker
This new window will let you track which dungeon paths you have finished today already. The paths colored green are the ones you have finished. The yellow border around the rectangles shows which paths have been completed for the Dungeon Frequenter achievement. This feature requires that your API key has the "progression" feature enabled. Should any new dungeons be added to GW2, this window will automatically update (as soon as they add the dungeon to the API). The display checks the GW2 API every 2.5 minutes. You might need to wait as long as 5 minutes for the status to update, since the GW2 API is heavily cached.
The Dungeon Tracker window is not open by default, you'll need to open it from the TacO menu and move it to the desired position by enabling window edit mode in the TacO menu as well.

Raid Progression Tracker
This window is very similar to the dungeon one - it tracks which raid encounters you have finished over the week. This could come in handy for people with several accounts :) Works the same as the dungeon tracker, requires the "progression" feature in your API key. This window will also update automatically as soon as a new raid is added to the API. You might need to wait for up to 5 minutes for the status to update since the GW2 API is heavily cached.
The Raid Tracker window is not open by default, you'll need to open it from the TacO menu and move it to the desired position by enabling window edit mode in the TacO menu as well.

WvW Markers and Status

There have been several overlays with similar features out there already, and the appearance of a new one just last week (the flatteringly named GW2 Burrito) made me re-think implementing this feature into TacO as well. After some news hit about WvW upgrades I set aside this weekend to add support for the game mode to the overlay.
WvW markers show up without an API key, but they won't have any color information. To identify the world you're playing on, you need to enter an API key with the "account" feature enabled.
Marker location and status information both come from the official API, so in theory if ArenaNet moves things around or adds a new map or anything similar happens, the overlay should automatically stay up to date.
The markers will display the name of the objective (you can toggle this off in the TacO menu), the current owner of the objective (as the color of the icon) and if the objective has been flipped in the last 5 minutes, it'll show a timer when it can next be captured. The markers also become more transparent the more center on the screen they are so they don't add too much additional clutter to WvW. The display checks the API every 5 seconds if you're on a WvW map.
You can toggle the individual WvW marker categories the same as before from the TacO menu.
Sadly Edge of the Mists doesn't have an API endpoint to gather information from, but the white markers will still show up to help you keep oriented.
One note: the position of Langor Gulch is invalid in the official API (it's copypasted from Bravost Escarpment), so I did a bit of a manual workaround, which is why the marker might be in a bit of an odd position (the objective was captured on my world and I couldn't get near to do a precision job). This will also fix itself automatically once the API sends different information, I contacted ArenaNet about the bug.

TacO startup

I also did some work on the performance of the overlay. Startup should now be a lot faster, especially if you have a lot of marker packs in your installation.

You can download the new build here.

Change log:
  • Replaced the xml parser with a faster one
  • Further optimized the loading of POI data
  • Added GW2 API key input
  • Added API key based Dungeon Progress tracking
  • Added API key based Dungeon Frequenter achievement tracking
  • Added API key based weekly Raid completion tracking
  • Added API based WvW markers and objective status displays (API key required for world identification)
  • Added minSize and maxSize parameters to markers. These can be set in pixels.