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: place d3d9.dll 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 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 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.

 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.
 mar.06.2022: added several npcs in raids to be counted as vs boss damage.
 mar.06.2022: added eod strike npcs to default logging list.
 mar.06.2022: fixed battle scars values for eod.
 mar.06.2022: fixed an issue with some agents (eg icebrood construct).
 mar.06.2022: fixed fishing power being treated as all stat increase.
 mar.04.2022: updated for mar04 game build.
 mar.04.2022: added icons for eod specs.
 mar.04.2022: prevent short duration stat resets (fix first hit not counting in some cases).
 mar.04.2022: evtc/api: arcdps custom skill enum changed to start at 23275 to prevent collision (from 65001).
 mar.04.2022: updated for mar03 game build maybe.
 mar.04.2022: delayed loading additional boss ids.
 mar.01.2022: fixed auto id calibration in previous.
 feb.28.2022: update for eod client (no changes to default ids or traits, if required will be in future build).
 feb.28.2022: added option to log entire instance from map join to map leave (caveats in tooltip).
 feb.28.2022: added advanced stat minions for average minions count (eg mesmer clones).
 feb.28.2022: re-enabled combat time display for area advanced stat functions, split for squad/individual.
 feb.28.2022: changed crashing to kill game process only on msgbox close, consecutive crashed threads not reported.
 feb.28.2022: logging options open button will attempt to create then open directory, instead of only open.
 feb.28.2022: evtc/api: added cbts_instancestart, srcag is approximate ms at which instance was created.
 feb.28.2022: evtc/api: time changed to be set at event create time, instead of at deferred processing time.
 jan.14.2022: fixed details window not showing breakbar damage total.
 dec.18.2021: bandaid for chainloading since previous.
 dec.18.2021: chainloading will no longer be supported, other wrapper loading should be done through addon manager.