arcdps: gw2 dps meter (and general combat metrics tool)

how does it work
 arcdps hooks client network data (among other functions) making it not user agreement friendly.
 these are runtime modifications only, no changes are made to files on disk.

how do i install, update, or uninstall
 directx11: place d3d11.dll next to gw2-64.exe while the game is not running, optionally can be renamed to dxgi.dll.
 directx9: rename dll to d3d9.dll and place into bin64 in gw2 install dir while the game is not running (deprecated).
 addons and arcdps config folder will be created next to gw2-64.exe after starting the client.
 to update, replace dll.
 to reset, exit gw2 and remove the config folder above.
 to remove, exit gw2 and delete the dll.
 expect to have to update after major game changes.

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

something isn't working
 check your 'gw2 install dir/addons/arcdps/' folder for an arcdps.log, it will appear after you launch and are in character select.
 if there is no log or error, dll isn't being loaded. it is up to you to find out where your system is trying to load it from.
 if you get missing msvcrt.dll errors on client start, make sure visual studio 2015-2022 redistributable x64 is installed.
 if the game crashes or no windows shown on or after character select, an application is interfering (razer cortex).
 if you get an image modified error, an application is interfering (eg bitdefender, citrix 22, razer cortex, groupy).
 if windows are drawn but a hotkey isn't working, an application has a global hook installed (zoom).
 if you get a config error, or settings not saving, make sure gw2.exe has read/write permission to the paths mentioned, or run as admin.

reporting crashes, bugs, and suggestions
 if you notice an issue in accuracy, take a screenshot of area skill list beside personal chat list, try and isolate which gear/buff/trait is the cause.
 if you suspect arcdps as the cause of a crash, remove all addons and remove any chainload and try to repeat the crash.
 copy the arcdps_lastcrash.log and/or the most recent arcdps.log and paste it into an unlisted paste.
 describe your issue with the above log attached in the arcdps-issues channel on discord.
 note that arcdps replaces the gw2 crash reporter to prevent crashes from being sent to anet, this does not mean arcdps caused a crash.

can i simultaneously use another wrapper or overlay
 no wrapper or overlay comptability is guaranteed.
 consider trying if chainloading or overlays are an issue.

evtc logging
 pve: starts on player and boss npc in combat or under 100% health, stops when all players exit combat.
 wvw: starts on player vs player damage near self, stops when all players exit combat.
 instance: starts on joining the instanced map, ends on leaving the instanced map.
 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.

evtc parsing
 parsers run their own interpretation of event data and results may not match those shown in-game.
 /u/Baaron4: GW2-Elite-Insights-Parser/
 /u/blahdot3h: GW2RaidarUploader/
 /u/platinummyr: L0G-101086, simpleArcParse
 /u/sejsel: Log Manager
 evtc code and readme:

realtime api
 place extensions in gw2 install dir/bin64/.
 example code and readme:

 place translation in gw2 install dir/addons/arcdps/, named arcdps_lang.ini.
 /u/Snowy1794: (chinese simplified).
 /u/bluelovers: (chinese traditional).
 creating a translation:

 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 hard cc context - not notified by server.
 area is missing combo finishers - 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 breakbar damage missing on some breakbar changes initiated by damageless skills.
 area breakbar damage missing for breakbar changes that cause a breakbar to recharge (does not affect deactivate).
 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.

 aug.02.2022: more fixes for aug02 (00:09 server time).
 aug.02.2022: updated for aug02 game build maybe.
 aug.02.2022: fixed font loading using ascii-only path.
 aug.02.2022: increased minimum appearance alpha from 5% to 25%.
 jul.26.2022: added a minimum file size check for extension loading.
 jul.19.2022: if you are using update scripts, make sure they are updated to pull d3d11.dll, d3d9 links will be removed soon.
 jul.19.2022: updated for jul19 game build maybe.
 jul.19.2022: added owner association for other gadgets (rocket turret, sylvari turrets).
 jul.19.2022: added buff table option to always show columns.
 jul.19.2022: prevent window anchor position recursion.
 jul.09.2022: evtc: fixed an oops in idtoguid (ignore in all logs older than this).
 jul.01.2022: prevent secondary npcs from triggering logging start.
 jul.01.2022: fixed area stats bar draw options not applying to advanced stats.
 jul.01.2022: evtc: possibly fixed some players not showing in eotm arena logs.
 jul.01.2022: evtc: added idtoguid for markers (cbts_tag, contentlocal enum 1).
 jul.01.2022: api: parameter 2 in imgui callback will be non-zero if hiding due to combat or ooc.
 jun.29.2022: fixed a possible crash in previous.
 jun.29.2022: evtc: fixed buffinitial event skills not being added to skill table.
 jun.28.2022: updated for june28 game build maybe.
 jun.28.2022: details window left side percent stats no longer includes minions, split and moved to tooltips.
 jun.28.2022: fixed details window title run-in with buttons when npcs selected.
 jun.28.2022: fixed details window and tooltip reduced stat not reading multiplicative reduction properly.
 jun.28.2022: fixed area stats adv stat tooltip not showing all stats when using window-specific exclude.
 jun.28.2022: added area stats options to not draw cleave bar and not draw target bar, removed previous bar draw option.
 jun.28.2022: added missing animation end event for second use ability eg. guardian shield 5.
 jun.28.2022: added missing animation end event for stow weapon.
 jun.28.2022: fixed skill id still being read as u16 in some cases.
 jun.28.2022: changed options window extensions tab row to wrap down.
 jun.28.2022: added option to hide windows when out of combat.
 jun.28.2022: added option to not keep history for anyone but self (enabled by default if 8gb or less).
 jun.28.2022: fixed a leak in log window.
 jun.28.2022: fixed a leak in squad fight history management.
 jun.28.2022: evtc: skill activation start includes target location of effect (see readme).
 jun.28.2022: evtc: added cbts_effect (see readme).
 jun.28.2022: evtc: added cbts_idtoguid (see readme).
 may.25.2022: added minister li cm ids to default.
 may.25.2022: extension loading will explicitly try gw2 install dir (in addition to bin64 and arcdps dll dir).
 may.20.2022: added bar padding style options to stats bars in area stats and buff table.
 may.20.2022: maybe fixed empty space in buff table when using subgroup only.
 may.20.2022: removed dmg-in-last-6sec cap on downs contribution.
 may.20.2022: targeting an attacktarget sets stats target to parent gadget.
 may.20.2022: use team id instead of reaction for wvw log enemy player save condition.
 may.20.2022: evtc: added cbts_tickrate (srcag=tickrate, every 500ms when rate below 20).
 may.20.2022: evtc: added cbts_last90beforedown (dstag=ms since 90pct hp) downs contribution.
 may.20.2022: d3d9 will no longer be supported.
 apr.24.2022: added echo in mai trin cm to default target list.
 apr.24.2022: ignore minions in squad and subgroup buff generation stat.
 apr.15.2022: moved detail window buttons to title bar (like buff table).
 apr.15.2022: moved detail window filter and hidden buff toggle to rt click.
 apr.15.2022: fixed detail window buff line tooltip using invalid values sometimes.
 apr.15.2022: fixed area stats sorting issue since last few.
 apr.15.2022: fixed buff table in hits/polled not counting buffinitial.
 apr.15.2022: improved compatibility with some overlays (gfe).
 apr.15.2022: fixed harmless log warnings when using d3d9.
 apr.09.2022: added buff table options for out to use vs any, vs squad, and vs subgroup (bar highlight remains subgroup).
 apr.09.2022: changed window close sequence to trigger on wm_destroy only.
 apr.09.2022: prevent saving settings if settings never loaded.
 apr.07.2022: fixed failover not being applied in previous in some cases.
 apr.06.2022: added average stacks at hits to details window buff max mouseover (when buff selected).
 apr.06.2022: added failover present hook via vt if no drawing detected on primary method.
 apr.06.2022: fixed buff table adding an extra space after buttons.
 apr.06.2022: prevent buff table drawing buttons if titlebar disabled.
 apr.06.2022: fixed area stats show self top not showing self in some situations.
 mar.30.2022: elite spec keybinds will switch when switching elite specs instead of only on map load.
 mar.30.2022: third time's the charm.
 mar.29.2022: possibly fixed an issue causing explosive breakbar numbers in some cases.
 mar.29.2022: added option to show self only to area stats and buff table.
 mar.29.2022: added option to save+load keybinds per elite spec (when per prof enabled).
 mar.29.2022: added profession 6/7 and dodge to keybinds saved.
 mar.29.2022: added manual case for mechanists not using mech frame conductive alloys trait.
 mar.29.2022: fixed area graph buff graphs point squish scaling in continuous timing.
 mar.29.2022: fixed area graph buff graphs doing not sure what really at high point squish.
 mar.29.2022: fixed area graph buff graphs out filtering non-ticking stacks.
 mar.29.2022: fixed detail buff overlay out line filtering non-ticking stacks.
 mar.29.2022: fixed detail buff overlay in line also ignoring some events.
 mar.16.2022: maybe this will work better.
 mar.15.2022: updated for mar15 game build maybe.
 mar.13.2022: removed unecessary dragonvoid id (colliding with adina hands).
 mar.12.2022: fixed rounding causing some traits (septic corruption) to over-add.
 mar.12.2022: removed vg guardians and rigom from previous npcs.
 mar.12.2022: added per-second value to the targets list in details window.
 mar.08.2022: evtc/api: previous update deleted ATTR_CUST_FLATINC.