Commit Graph

48 Commits

Author SHA1 Message Date
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
2569318827 chore: bump version to 1.5.1 2020-08-25 14:06:38 -04:00
7d2a6a977a fix: alter volume of stream, not device 2020-08-25 14:06:18 -04:00
90e4ea7295 chore: bump version to 1.5.0 2020-08-24 13:14:33 -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
4eaa0e5169 chore: bump version to 1.4.0 2020-08-22 05:47:00 -04:00
3c99751b4c feat: add window resizing and option to disable 2020-08-22 05:47:00 -04:00
24d486ea39 refactor: use new Dalamud login hooks 2020-08-15 17:11:06 -04:00
fcc5dfd1ff chore: bump version to 1.3.0 2020-08-11 08:16:38 -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
1b19b01811 refactor: make status checkers one line 2020-08-08 22:18:20 -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
3b9bf011e1 fix: replace PartyList with status check 2020-08-08 22:15:04 -04:00
d2ab96fcf9 refactor: use stopwatch elapsed time 2020-08-08 18:29:32 -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
f5378f5c9d fix: clear history when logging out 2020-08-08 06:21:57 -04:00
6beca446fc fix: lock on history when modifying it 2020-08-08 06:21:44 -04:00
9f44f7b3a9 refactor: make mutexes private 2020-08-08 06:21:35 -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
056f6f7505 chore: update version to 1.2.0 2020-08-07 19:41:22 -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
ef155e54d5 chore: bump version to 1.1.3 2020-08-04 21:07:14 -04:00
4d57e3c150 refactor: use Dalamud API for targeting 2020-08-04 21:03:26 -04:00
504a1a0fac chore: add command to description 2020-08-04 21:03:05 -04:00
b33f4ac266 chore: bump version to 1.1.2 2020-08-03 23:18:07 -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
0d1f40823e chore: update version to 1.1.0 2020-07-29 14:53:56 -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
c17e7d30ed chore: use better url for manifest 2020-07-28 19:21:25 -04:00
1477a23af5 chore: add basic README file 2020-07-28 19:19:58 -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