Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
It can cause problems for `freetrackclient.dll'
consumers. This fix is better than modulo rand().
|
|
DataID can be idempotent. It's "static unsigned
frameno" in npclient that's used in place of DataID.
|
|
The data is aligned because it's inside a union with minimal alignment
for `int'. The comment and check are redundant.
|
|
Fix few of the inspection warnings from CLion that
make any sense at all.
|
|
Adjust usages.
|
|
Some of the headers are clearly useless. Remove them.
Move what's inside util.hpp into separate headers.
Adjust usages.
Will remove util.hpp.
|
|
|
|
|
|
|
|
- deactivates on its own after about 30 seconds no matter what
- deactivates on opentrack stop
- returns to neutral pose on deactivation
- works with origin (all zeros) pose
|
|
|
|
It's a contract for plugin invocation that the particular function fills
the role of initialization. Rename accordingly.
|
|
- set zeros in shm, for NPClient.dll tracking detection
- remove tirviews support
- remove registry cleanup on exit support
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"volatile" is too underspecified.
Also cleanup some old code.
|
|
|
|
|
|
With -D_USE_MATH_DEFINES MSVC defines the standard M_PI and
friends.
Since this preprocessor definition is now always passed as part
of the build system for MSVC. We can use M_PI as if on a
mission.
|
|
|
|
Adjust usages.
|
|
|
|
We can't depend on M_PI existing after including cmath.
|
|
|
|
|
|
- use std::move where applicable
- reformat more
- make const stuff static, use QStringLiteral
- fix regexes to make progress more
- always move further into file even if regexes fail
- apply less defensive coding, but still enough
- remove stuff we don't use
|
|
|
|
- Remove "this->" where it's not needed. Possibly rename shadowed vars.
- Don't reload the options bundle manually since `options::opts' exists
for that very reason.
- Remove '^ \+$' whitespace
- :retab
|
|
Now that we have -fuse-cxa-atexit static dtors for modules are called as
they should be.
|
|
We no longer have this recurring problem since I enabled
ignoring executable bit changes on the Windows workstation.
|
|
Clear registry path when opentrack exits, not merely tracking is
stopped. This is still controlled by the checkbox, while checking for
being the first instance happens always regardless.
Also update dialog description.
Issue: #332
|
|
Make clearing the dll path optional, defaulting to false. See previous
commit.
It has a side effect of games started before opentrack not seeing any
dll path, and loading nothing. That is, opentrack only functions when
tracking is started before a game is started.
Issue: #332
|
|
Some background:
Our dll's for freetrack and npclient protocols don't support indication
whether opentrack is running or not. Worse yet, they're whitelisted on
Arma's anticheat system so we can't modify them at arbitrary times.
It's possible to run multiple opentrack instances at a time and we can't
have multiple instances stepping upon each other's toes. It's kind of
pointless to run multiple sessions but hey.
Implementation:
Guard with a mutex against multiple instances. Only the first instance
(that uses the freetrack protocol at all) gets to control whether the
dll's are accessible.
Remove the registry keys after either freetrack protocol exits or
software exits, but only if we're the first opentrack instance running
freetrack protocol at all.
Issue: #332
|
|
|