Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missileguidance -- rewrite to use real-world guidance principles, general refactor #10019

Open
wants to merge 278 commits into
base: master
Choose a base branch
from

Conversation

TheCandianVendingMachine
Copy link
Contributor

@TheCandianVendingMachine TheCandianVendingMachine commented May 28, 2024

Updated PR, based on #8215

Overview

When merged this pull request will:

Navigation types:

  • Direct Line of Sight
  • Proportional Navigation
  • Augmented Proportional Navigation (takes into account target acceleration)
  • Zero-Effort Miss (separate form of proportional navigation that allows for a more efficient intercept)

Changes flight model of weapons to utilise in-engine calculations of velocity. This avoids issues where the missile will lose all of its energy and hang in the air. This also allows for "bang-bang" guidance weapons, such as the GBU-12.

Merge Strategy

In the linked project, all components labelled as “Necessary” must be merged at the same time; otherwise there will be broken components. “Supplementary” items are features which add new missiles to fully cover all vanilla systems, but otherwise are not breaking. “Nice to have” are features which were developed off of this branch, but are basically their own independent PR.

Misc

To-Do

  • Localisation
  • Documentation
  • Add NLAW navigation type
  • Add SACLOS/Beam guided navigation type
  • Add Hellfire mid-course guidance logic
  • Tweak Javelin mid-course guidance logic
  • Fix RPT spam through IR seeker when close to target
  • Create UX for selecting GPS attack profile/mission (Between PP and TOO, and between PP missions)
  • Add ground based missiles (see todo.txt)
  • Multiplayer testing
  • Multiplayer tweaking
  • Convert all tabs to spaces (text editor reset settings apparently)
  • Add videos of this system in action

Videos:
https://youtu.be/5MrPyqcZc0I
https://youtu.be/WF9K1GitV00
https://youtu.be/xXSJLwrJW1A
https://youtu.be/E9O9M5OcxdU
https://youtu.be/_v6BdAw-MA0

Comment on lines +12 to +14

GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf);

Copy link
Contributor

@LinkIsGrim LinkIsGrim Jun 18, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf);
#ifdef ENABLE_PROJECTILE_CAMERA
GVAR(dev_fnc_projectileCamera) = compile preprocessFileLineNumbers QPATHTOF(dev\projectileCamera.sqf);
#endif

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right now there is a gvar you can set for debugging info
if we're going to keep that then we should just move this into a standard prep(

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet