arcdps: gw2 dps meter (and general metrics tool)
 WARNING: MODIFYING GUILD WARS 2 THROUGH ANY 3RD PARTY TOOLS IS NOT SUPPORTED BY ARENANET OR NCSOFT.
 THERE IS NO HELP OR WARRANTY. THIS IS ENTIRELY AT YOUR OWN RISK AND YOU ASSUME ALL RESPONSIBILITY
 FOR USING THIS TOOL. IF YOU FEEL THIS PROVIDES GAMEPLAY ADVANTAGE OR AUTOMATION OR BREAKS ANY OTHER
 RULES DO NOT USE THIS.

 IMPORTANT: DO NOT CONTACT ARENANET SUPPORT OR REQUEST HELP ON THE OFFICIAL FORUMS WHILE USING THIS
 MODIFICATION BY ANY MEANS OR UNDER ANY CIRCUMSTANCES EVER.


how does it work
 arcdps hooks client network data (among other helper functions), making it not user agreement friendly.
 however, in the feb 2017 ama, arenanet has granted 3rd party tools permission to collect and display combat stats via means previously not allowed.
 these are runtime modifications only, no changes are made to files on disk.

how do i install, update, or uninstall it
 save d3d9.dll into 'gw2 install dir/bin64/' with the other dlls while the game is not running.
 config will be created in 'gw2 install dir/addons/arcdps/'.
 to update, replace d3d9.dll.
 expect to have to update after major game changes, be surprised when it's not necessary.
 no official auto update but solutions exist.
 to reset, exit gw2 and remove the config folder above.
 to disable/remove, exit gw2 and rename/delete d3d9.dll.

how do i use it
 don't be a dick.
 by default, holding alt and shift is required for hotkeys.
 by default, t is the hotkey for options.
 left click on windows to interact.
 right click on windows to bring up their independent options (if available).

about accuracy
 while two sources of data are provided (area = server strike + simulated buff; personal = chat log), neither source should be considered 100%
 accurate. area stats will be missing damage from on-skill-activation triggers and some siphons, chat log stats will be missing some strikes from
 aoe (guardian gs2) and condition ticks vs shroud. damage in both will always include overkill (can't detect) and healing in chat log will never
 include overheal.

can i chain load another wrapper d3d9.dll
 arcdps will attempt to load d3d9_chainload.dll, and if found, redirect the direct3dcreate9 call to it instead of the system library.
 make sure you are using the 64bit version of wrappers (gemfx, sweetfx).
 due to how reshade works, arcdps (like most wrappers) will not natively load reshade.
 you can try using the loader found here for overlay compatibility (unsupported).

evtc logging
 pve: starts on all players in combat when npc with recognized id exists nearby, stops when all players exit combat.
 wvw: starts on player vs player damage near self, stops when all players exit combat.
 open world: no.
 npc id can be found via detail window and looking for species in title, or tooltip in target list after attacking.
 logs are written to 'documents/gw2/addons/arcdps/arcdps.cbtlogs/.../date-time.evtc' by default.
 compression requires powershell with compress-archive.

evtc parsing
 /u/Baaron4: GW2-Elite-Insights-Parser/
 Mickathia.8701: dps.report/
 /u/blahdot3h: GW2RaidarUploader/
 /u/platinummyr: L0G-101086, simpleArcParse
 /u/sejsel: Log Manager
 evtc code and readme: https://www.deltaconnected.com/arcdps/evtc/

realtime api
 place extensions in gw2 install dir/bin64/.
 /u/MarsEdge: https://github.com/MarsEdge/GW2-ArcDPS-Mechanics-Log/
 /u/Artenuvielle: https://github.com/Artenuvielle/GW2-SCT/
 /u/e-scrape-artist: https://buildpad.gw2archive.eu/
 example code and readme: https://www.deltaconnected.com/arcdps/api/

translations
 place translation in gw2 install dir/addons/arcdps/, named arcdps_lang.ini.
 /u/Snowy1794: https://github.com/Snowy1794/Arcdps-translation-Chinese-simplified/blob/master/arcdps_lang.ini (chinese simplified).
 /u/bluelovers: https://github.com/bluelovers/node-gw2plus/blob/master/dist/assets/arcdps/translations/cht/arcdps_lang.ini (chinese traditional).
 /u/ReActif: https://pastebin.com/zgTm94PJ (french).
 Linus The One.7432: https://pastebin.com/TaPLR8FJ (german).
 creating a translation: https://www.deltaconnected.com/arcdps/translations/

limitations
 area is missing buff extension source (eg. signet of inspiration) - not notified by server.
 area is missing percent-based damage (eg. matthias' hadouken) - not notified by server.
 area is missing some siphon damage (eg. food, sigil, some traits) - not notified by server.
 area is missing healing - not notified by server.
 area is missing breakbar damage - not notified by server.
 area is missing hard cc context - not notified by server.
 area is missing combo finishers - not notified by server.
 area is missing some gadget owners for damage association - not notified by server.
 area condition damage uses simulated attribute building from gear, traits, and buffs, on a simulated server tick.
 area condition damage scaling in levels 1 to 79 is different from the game's scaling.
 area condition damage on-skill-use procs on animation start instead of on skill use - not notified by server.
 area strike damage notify bubble may cause some events (eg. deimos) to be out of range - not notified by server.
 area strips ignore last-stack stability, cc and strip indistinguishable.
 area skill activation will only count skills which have animations (no shouts, no instants) - not notified by server.
 area overstack and applied do not include ignored stacks (lower than lowest existing stack) - not notified by server.

it's not working
 make sure the visual studio 2015-2019 redistributable x64 is installed.
 check your 'gw2 install dir/addons/arcdps/' folder for an arcdps.log (will appear after you launch and are in char select).
 if there is no log, it isn't being loaded. it is up to you to find out where your system is trying to load it from.
 if there is a log, check to see there are no warnings or errors and that the arcdps version isn't old, if it is old, see above.
 if you use the nopatchui switch, d3d9.dll needs to be placed next to gw2.exe.
 if the game crashes on character select, another application may be interfering (eg d3dgear, razer).
 if folders can't be created or settings not saved, make sure gw2.exe has read/write permission to the folder it's installed in.
 if you are playing on linux/wine, add override(s) in winecfg.
 if you have a problem not listed here, try asking on discord.
 if you message me about a problem that is listed here, i will not respond.

reporting crashes, bugs, and suggestions
 if you notice an issue in accuracy, take a screenshot of area skill list beside personal chat list, isolate which buff/trait is the cause.
 if you suspect arcdps as the cause of a crash, copy the crash log and paste it into an unlisted http://pastebin.com/ paste.
 deltaconnected on reddit, deltaconnected.4058/arclyte in game. include as many specifics as possible.

changes
 jul.07.2020: updated for jul 07 game build maybe.
 jul.07.2020: fixed tag distance not accumulating with combat time.
 jul.07.2020: fixed some adv stats not logging without evtc set.
 jul.07.2020: fixed a crash with tag detect.
 jul.07.2020: split default exclude between pve and wvw.
 jun.27.2020: fixed adv cleanse/strip not using ooc sorting.
 jun.27.2020: fixed adv cleanse/strip accumulating before squad combat.
 jun.27.2020: fixed cleanse/strip only counting self since previous.
 jun.27.2020: fixed details shielded percent (again).
 jun.23.2020: updated for june23 game build.
 jun.23.2020: fixed rarely missing all strike damage on agent at risk of reintroducing another bug.
 jun.23.2020: fixed persist not resetting without logging enabled.
 jun.23.2020: fixed details shield pct and downed pct not counting condition damage.
 jun.23.2020: fixed adv stats strip/cleanse counting self-to-self improperly.
 jun.23.2020: fixed tag distance accumulation to poll always while sq in combat, cap distance at 4k.
 jun.23.2020: renamed squirrel meter for clarity, override squad center with tag if tag exists.
 jun.23.2020: added adv kills out and downs out, last hit as reported by server.
 jun.23.2020: added option to disable red loading highlight to area/buffs style.
 jun.23.2020: strings: changed options window capitalization to match window-specific style.
 jun.23.2020: strings: end of as common.
 jun.15.2020: timing fixes in adv sort functions since last.
 jun.15.2020: reorganized sort adv options for clarity.
 jun.15.2020: squad combat adv functions use squad combat for highlight.
 jun.12.2020: main area stats window changed to not use mode visibility split.
 jun.12.2020: strings: end of as common.
 jun.11.2020: fixed red player names while loading not applying in area stats.
 jun.11.2020: fixed area stats mode visibility split not allowing both wvw and pve same time.
 jun.11.2020: fixed a crash on encounter start.
 jun.11.2020: fixed a crash when opening area stats.
 jun.09.2020: fixed player name length being 0 if not set in previous.
 jun.09.2020: updated for jun09 game build maybe.
 jun.09.2020: filter blind from cleanses if src is target.
 jun.09.2020: fixed keybinds not saving if keybind save didnt exist before.
 jun.09.2020: fixed a rare crash opening details window.
 jun.09.2020: added override for fractal offensive buff (3 percent to condition stat).
 jun.09.2020: added per-window excludes to numbered area stat windows.
 jun.09.2020: player names drawn red while still loading.
 jun.09.2020: area stats visibility is automatically split between pve and wvw (not settings).
 jun.09.2020: persistent adv sort combat duration changed to accumulate if recent damage.
 jun.09.2020: added squirreling to adv sort (distance to tag).
 jun.09.2020: evtc: added cbts_tag event for players with (likely) commander tag.
 jun.09.2020: strings: end of as common.
 may.26.2020: updated for may26 game build.
 may.26.2020: fixed keybinds being set to 0 after restarting if unset.
 may.26.2020: prevent game clickthrough sometimes when ui hovered.
 may.26.2020: added screen-relative position options on some windows.
 may.26.2020: added window-relative position options on some windows.
 may.26.2020: added persist cleanse and persist strip to adv sort.
 may.26.2020: changed strip cleanse tooltip volume to use total duration on both.
 may.26.2020: added units to adv sort display.
 may.26.2020: strings: end of as common.
 may.13.2020: server tick extra checks.
 may.13.2020: timer extra checks.
 may.13.2020: prevent simulation crash.
 may.13.2020: fixed resistance-like buffs not ignoring conditions (eg chill for animation step).
 may.13.2020: evtc: added cbts_error for arcdps errors.

download
 x64: current