Commit Graph

31 Commits

Author SHA1 Message Date
27f59f3b31 fix: remove examine option for now 2020-12-08 03:27:18 -05:00
bf4d65615f feat: use one window for targeted marks 2020-10-06 05:37:41 -04:00
7ec3d074ad feat: expand history up to 50 2020-09-07 15:06:51 -04:00
23140a3377 feat: add option to open examine window 2020-08-26 08:20:01 -04:00
8475b7effb feat: allow volume control and more audio types
Also allow choosing audio output device.
2020-08-24 13:14:16 -04:00
3c99751b4c feat: add window resizing and option to disable 2020-08-22 05:47:00 -04:00
d6aac4678c fix: update offsets for 5.3 2020-08-11 08:13:19 -04:00
dec09c696c fix: distinguish between closed and hidden 2020-08-09 00:05:11 -04:00
ddd60a730e feat: add debug target status info 2020-08-08 22:16:00 -04:00
33dbff01b2 fix: prevent crash from duplicate keys 2020-08-08 22:15:46 -04:00
d1ce85463c refactor: don't allocate an array for no reason 2020-08-08 17:49:35 -04:00
cd2acb4d19 fix: make dictionary work for history
Also don't filter out minions like that, since apparently that issue
was fixed in Dalamud?
2020-08-08 17:42:24 -04:00
e9a2fb11a8 feat: use a thread to scan for targeters
Also make the poll interval configurable.

For the case of one targeter, the UI scans through the ActorTable to
find the relevant Actor, achieving either a partial or full scan. In
the case of more than one targeter, the UI constructs a Dictionary
mapping ActorId to Actor, then indexes that dictionary for each
targeter. This achieves one full scan, which may or may not be more
efficient than multiple partial scans, depending on where the actors
are located in the table.

The UI must do this because current targeters are no longer guaranteed
to be spawned anymore, especially with a high polling frequency, and
the UI needs accurate information about the targeters' address in
memory.
2020-08-08 16:59:06 -04:00
420f03e78e refactor: make other classes access plugin class 2020-08-08 06:11:52 -04:00
cc9b66c216 feat: add options for behaviour when closed 2020-08-08 06:05:23 -04:00
1c31f19b89 refactor: pull targeting code out of ui
This has some consequences. First, LocalPlayer is no longer necessary
for rendering the UI, meaning the UI stays open even during loading
screens and other situations where there is no player.

Secondly, the sound effect will play even when the window is closed.

Thirdly, the history will update even when the window is closed.

The last two points will become config options in future.

I would also like to make TargetWatcher run in a task and run perhaps
every 100ms instead of every framework update.
2020-08-08 05:20:48 -04:00
1f9ac4972c feat: add option to open window on login 2020-08-07 19:37:01 -04:00
1f230b79de feat: add option to disable self-logging
This can only happen when targeting your own minion and will
eventually be fixed, but for now, add an option for it.
2020-08-06 13:27:33 -04:00
7fa7204179 fix: unset focus target when missing actor hovered 2020-08-06 13:20:37 -04:00
4d57e3c150 refactor: use Dalamud API for targeting 2020-08-04 21:03:26 -04:00
438b5306bd fix: check for additional flags 2020-08-03 23:17:23 -04:00
f7fb85a6d9 refactor: use using for SoundPlayer 2020-08-03 23:16:07 -04:00
141a2fad25 fix: handle case where PartyMember.Actor is null
I don't know how this is possible, but someone had this happen, so I
guess just coalesce the null. If the targeter is in the party, this
will result in incorrect behaviour and log them, but it's better than
a crash.
2020-07-30 22:12:37 -04:00
e102ed0a15 feat: add option to disable movement 2020-07-29 14:41:17 -04:00
7607db473c fix: save config for visibility settings 2020-07-29 14:40:51 -04:00
63911a7b53 fix: allow focus target of previous targeters
Fix #1. Keep track of hovers independently of ImGui in order to test
if nothing is being hovered.
2020-07-29 13:13:11 -04:00
bccd0383b1 fix: more efficiently handle history pruning 2020-07-29 13:12:49 -04:00
88681aa33a fix: don't try to target invalid addresses 2020-07-28 22:28:51 -04:00
5326cdece5 fix: allow hover on disable
This still worked without this flag, but that was probably a bug, so
include this flag just in case.
2020-07-28 19:13:31 -04:00
22f3068abf refactor: pull finding targeters into a function 2020-07-28 19:12:53 -04:00
3e11a83879 chore: initial commit 2020-07-28 18:46:16 -04:00