Skip to content

Conversation

@BrettMayson
Copy link
Member

@BrettMayson BrettMayson commented Jan 7, 2026

When merged this pull request will:

  • Smoke effects when standing in particles that have blockAIVisibility
  • Blur and over expose vision
  • Affect spo2 breathing effectiveness
  • Adds eye and breathing protection to vanilla facewear, ace arsenal stat bars
  • Unrelated hemtt launch for ADT

Considerations:

  • Should this affect AI? Could be a setting, my concern would just be performance from a lot of AI. One possible optimization would be to first check if there is a smoke grenade in X meters, but that would cause other sources of smoke to stop working and I don't like that as a "solution"
  • Coughing sound effects? Would need to source audio

IMPORTANT

  • If the contribution affects the documentation, please include your changes in this pull request so the documentation will appear on the website.
  • Development Guidelines are read, understood and applied.
  • Title of this PR uses our standard template Component - Add|Fix|Improve|Change|Make|Remove {changes}.

BrettMayson and others added 4 commits January 7, 2026 00:26
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
@BaerMitUmlaut
Copy link
Member

IMO a bit confusing to have a "smoke" addon that does not change the particles, though I can't think of a better name right now.

@Drofseh
Copy link
Contributor

Drofseh commented Jan 7, 2026

IMO a bit confusing to have a "smoke" addon that does not change the particles, though I can't think of a better name right now.

Should it go in the goggles addon where eyewear is already providing protection from other things?

Copy link
Contributor

@rautamiekka rautamiekka left a comment

Choose a reason for hiding this comment

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

  • Missing macros.
  • Inconsistent *_protection spellings.

@BrettMayson
Copy link
Member Author

Should it go in the goggles addon where eyewear is already providing protection from other things?

I agree that smoke is maybe not the best, but I also couldn't think of anything else that'd be better

I don't think this should go in goggles, just because while they are related to face wear, that's about it. There is no overlap in config, settings, or functionality.

];

{
private _intersect = lineIntersectsSurfaces _x;
Copy link
Contributor

Choose a reason for hiding this comment

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

Can use the alt syntax to multithread and run all 4 intersects in parallel?

Copy link
Member Author

Choose a reason for hiding this comment

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

If I pass four arguments into the alt syntax, will it return four in the result, even if a ray didn't collide?

Copy link
Contributor

Choose a reason for hiding this comment

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

private _unit = player;
private _eyePos = eyePos _unit; 
input = [ 
    [_eyePos, _eyePos vectorAdd [5, 0, 0], _unit], 
    [_eyePos, _eyePos vectorAdd [-5, 0, 0], _unit], 
    [_eyePos, _eyePos vectorAdd [0, 5, 0], _unit], 
    [_eyePos, _eyePos vectorAdd [0, -5, 0], _unit] 
];

input apply { lineIntersectsSurfaces _x }; x5
0.0203907 ms
lineIntersectsSurfaces [input]; x5
0.142939 ms
I know threading will have some overhead but it doesn't seem to break even until input count is over 16

Copy link
Contributor

@dedmen dedmen Jan 12, 2026

Choose a reason for hiding this comment

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

Yes. It behaves the same as running an apply loop.

But also Pabst benchmarked it

input apply { lineIntersectsSurfaces _x }; x5
0.0203907 ms
lineIntersectsSurfaces [input]; x5
0.142939 ms

With how short the distances are, the MT overhead is too large

@BrettMayson
Copy link
Member Author

After play testing this weekend, I found a problem with vehicles so I've just disabled it when inside one.

I also had someone get the smoke effect standing in a particular spot, so I'll debug that further this week. Otherwise everything seemed to work well

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.

6 participants