summaryrefslogtreecommitdiffhomepage
path: root/logic/pipeline.hpp
AgeCommit message (Collapse)Author
2018-12-24remove const correctness violationsStanislaw Halik
This is possibly related to a livelock where several threads do const removal in their respective code paths. Use the `mutable' specifier for the mutexes and spline's cached data. Now using the `mutable' specifier, get rid of <optional> in compat/mutex.
2018-12-06logic/pipeline: center through arithmetic onlyStanislaw Halik
This is incorrect but people like it.
2018-12-06cruft onlyStanislaw Halik
2018-10-25cleanup onlyStanislaw Halik
- replace warn_unused_result with [[nodiscard]] - remove some redundant w_a_r - replace std::decay with remove_cvref_t - simplify compat/math.hpp
2018-10-12logic/pipeline: cleanup onlyStanislaw Halik
2018-10-05logic/pipeline: probably fix remaining bugsStanislaw Halik
2018-10-05silly busyworkStanislaw Halik
2018-08-25logic/pipeline: fix typename typoStanislaw Halik
2018-08-09busyworkStanislaw Halik
2018-08-04logic/pipeline: rotation order fixrevert-geometry-stuffStanislaw Halik
v2: fix comments v3: fix reltrans
2018-06-26modernize C++ syntaxStanislaw Halik
No visible changes (hopefully).
2018-06-26compat/macros: rename portability macrosStanislaw Halik
use `cc_xx' rather than awkward synonyms.
2018-06-26logic/pipeline: remove rest of scaled_rotationStanislaw Halik
2018-06-26core, modules: modernize syntax onlyStanislaw Halik
Use more C++17 features where this helps any.
2018-05-23logic/pipeline: disable neck Z if reltrans Z disabledStanislaw Halik
2018-05-05compat, logic/pipeline: add bitwise enum operatorsStanislaw Halik
2018-03-10logic/pipeline: cleanupStanislaw Halik
Also remove the license in header. It's stale.
2018-03-10logic/pipeline: implement held centerStanislaw Halik
Requested by: CAHEK on the Russian IL-2 Sturmovik forum
2018-03-10logic/pipeline: immediately move to center with reltransStanislaw Halik
2018-03-10logic/pipeline: smoothen transition for reltrans not aimingStanislaw Halik
Requested by: HOPPING_PONY on the Russian IL-2 Sturmovik forum.
2018-03-10logic/pipeline: disable neck for `reltrans not aiming'Stanislaw Halik
2018-03-03logic/pipeline: centering fixStanislaw Halik
The `scaled_rotation' gimbal lock "fix" didn't take into account sign changes, making center close to +-180 useless. remove the "fix". This leaves with a gimbal lock problem at +-90 yaw. Fix in another commit.
2018-02-28logic, filter/kalman: fix typosStanislaw Halik
Tool: codespell
2018-02-16logic/pipeline: simplifyStanislaw Halik
The pipeline code is hard to understand for programmers due to the practice of putting all logic into a single function. Split it up into logical components. This needs more testing and bug reports. It's a big change with possibly many regressions all over the place. Issue: #688
2018-02-15clean up "static" and "constexpr" typesStanislaw Halik
- use `static constexpr inline' to avoid requiring explicit declarations in object code - use `const Foo* const' to maybe put into readonly binary segment (at least for ELF DSOs) - `constexpr' in function scope has storage, avoid `static' - don't use `constexpr' where there's no advantage, like arrays We'd like to avoid overhead of atomic initialization for each function call. No idea how `static constexpr' requiring storage in the standard plays with atomic initialization requirement. Hearsay points that `constexpr' without `static' in block scope behaves more to our liking. It's all hazy though. I'm not 100% sure if `static inline constexpr' has any storage. Hopefully none, like a #define, and stuff bigger than registers gets coalesced within the same module, with small stuff being immediates.
2018-01-18logic: change relative translation triggeringStanislaw Halik
Relative translation mode now has three states: - disabled - always enabled - enabled when not aiming In the third mode, looking very close to center disables reltrans. The exact values aren't final.
2018-01-10logic/pipeline: conditionalizeStanislaw Halik
Will activate only when looking down or backward. When activating or deactivating, will slowly slide into the new position, no instant movement involved. Issue: #712
2017-10-27logic: use c++14-style in-line initializersStanislaw Halik
2017-10-21logic/tracker: rename to pipelineStanislaw Halik
Could use a better name.