Skip to content

Goggles - Add Contact DLC respirator self interactions#10925

Open
JetfireBlack wants to merge 52 commits intoacemod:masterfrom
JetfireBlack:Respirator-Toggle
Open

Goggles - Add Contact DLC respirator self interactions#10925
JetfireBlack wants to merge 52 commits intoacemod:masterfrom
JetfireBlack:Respirator-Toggle

Conversation

@JetfireBlack
Copy link
Copy Markdown

When merged this pull request will:

  • Add filter and hose self interactions when wearing the Contact DLC respirators and/or their backpacks
    image
    image

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}.

@JetfireBlack
Copy link
Copy Markdown
Author

Feel free to change stuff or let me know if it needs changing.

@DartRuffian
Copy link
Copy Markdown
Contributor

IMO if these functions remain as public API, they should take a unit as a parameter rather than always using ACE_player.

JetfireBlack and others added 2 commits May 23, 2025 02:48
Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>
Co-authored-by: Dart <59131299+DartRuffian@users.noreply.github.com>
@JetfireBlack
Copy link
Copy Markdown
Author

Hopefully everything mentioned should be in order now.

Copy link
Copy Markdown
Member

@Mike-MF Mike-MF left a comment

Choose a reason for hiding this comment

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

As per this: https://ace3.acemod.org/wiki/development/coding-guidelines#52-indents

All tabs should be switched to spaces.

@JetfireBlack
Copy link
Copy Markdown
Author

Alright, let me get on that.

@JetfireBlack JetfireBlack requested a review from Mike-MF May 23, 2025 17:56
@JetfireBlack
Copy link
Copy Markdown
Author

All tabs should now be spaces, I'd also like to ask if the current formatting of the equipment array in fnc_respiratorConditions.sqf is fine for readability or if it needs changing.

@Mike-MF
Copy link
Copy Markdown
Member

Mike-MF commented May 23, 2025

I'd change it, just indent all the classnames once.

@JetfireBlack
Copy link
Copy Markdown
Author

JetfireBlack commented May 23, 2025

Done, I think it should now comply with the coding guidelines unless I missed something.

Also, is using # instead of select fine or should I change to using select for readability (assuming it is fine since I've seen it used in other code here)?

@johnb432
Copy link
Copy Markdown
Contributor

I'm not a fan of all the hardcoded stuff. I understand the base game requires such handling, but other mods can't benefit from this framework at all, as it's all closed off.

ace_goggles_fnc_respiratorConnect seems to just be BIN_fnc_CBRNHoseInit but modified in some ways that warrant some discussion. You are changing things that weren't intended to be changed according to the wiki (see https://community.bistudio.com/wiki/Arma_3:_CBRN#Common_Combinations, last line).

On a different note: My original solution to #3594 (comment) was to call _unit call BIN_fnc_CBRNHoseInit every time the unit changed their backpack or facewear in the arsenal (or maybe only at the end, but imo seeing that it connects immediately is nicer UX).

With this PR, how do you see both of those systems interacting with each other? What should take priority - the arsenal or the interaction?

What is the goal of this PR - is it to address your suggestion? If so, imo this is not the way forward.
If it's to give players options, then we should make a proper framework (or integrate it in an existing one, like the upcoming wardrobe maybe? tbd), which other mods could utilise if wanted.

@JetfireBlack
Copy link
Copy Markdown
Author

One of the issues with just calling BIN_fnc_CBRNHoseInit once is that it does not update the hose on mask removal.

That being said, I am not opposed to re-writing it to support something more config based.

@JetfireBlack
Copy link
Copy Markdown
Author

JetfireBlack commented May 25, 2025

To also expand more on my goal with this PR; the code was something I originally made to just address Arma not reliably connecting/disconnecting the respirators and backpacks, this has now morphed into also wanting to have something more usable by other mods.

I also checked out the wardrobe PR and, while it doesn't look like it currently supports the way the Contact respirators work, I could see the functionality of this PR being added to the wardrobe addon if that goes forwards.

@OverlordZorn
Copy link
Copy Markdown
Contributor

OverlordZorn commented May 26, 2025

i like the idea of this alot and im happy to help/find a way to make this work with the wardrobe addon once thats finally merged.

I have never worked with the cbrn hoses and stuff, so idk how they work but a "add filter" or "connect hoses" when a set of matching items are detected shouldnt be too difficult.

@JetfireBlack
Copy link
Copy Markdown
Author

JetfireBlack commented May 26, 2025

The Contact CBRN stuff works based on textures for the backpacks and hiddenSelections in the config for the masks.

You can sometimes notice the hose shadow even when that's hidden for example.

Another quirk complicating matters is that the APRs and the facepiece have different hose textures on different selections for each the CUR and SCBA.

The mask itself would be easy enough to implement since you already have the framework to just link to the _nofilter variant of it, it's mainly the hoses that are tricky since they are all based on backpack textures with different selections for different masks.

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.

5 participants