Page MenuHomeFeedback Tracker

Units with insignia + unsupported uniform cause graphical issues with JIP
Feedback, NormalPublic

Description

If a unit with an insignia set by BIS_fnc_setUnitInsignia/Arsenal changes uniforms mid-mission to a uniform without an "insignia" hiddenSelection, players who join the mission after the uniform switch will see the insignia's texture forcibly applied onto one of the unit's model's hiddenSelections.

This cannot be fixed by calling BIS_fnc_setUnitInsignia with an empty insignia, as the command will fail due to the uniform not having an "insignia" hiddenSelection.

Details

Severity
Trivial
Resolution
Open
Reproducibility
Always
Operating System
Windows 10 x64
Operating System Version
Professional
Category
Multiplayer
Steps To Reproduce
  1. Start a dedicated multiplayer server.
  2. On class "B_Soldier_F" unit, execute BIS_fnc_setUnitInsignia with any insignia.
  3. Through Curator or other means, change the unit's uniform to one where executing BIS_fnc_setUnitInsignia returns false
  4. Go back to mission lobby.
  5. Rejoin.
  6. Watch as part or all of the unit's uniform model has the insignia's texture applied to it.
Additional Information

Seems to be fixed temporarily by reequipping or changing uniforms, but players who JIP after this'll see the glitched texture again.
Bug has been around for at least a year, if that helps.
Happens with both player and AI units.
All testing done with v7 performance binaries on version 2.00 of Arma 3, but can be reproduced with stable branch.

Screenshot when uniform has "insignia" selection: https://imgur.com/a/D8uLKfe

When uniform is changed to one without, but without backing to lobby: https://imgur.com/a/KJsN5cH

After backing to lobby and rejoining: https://imgur.com/a/TUP7wLn

After reequipping uniform, looks exactly like Screenshot#2

Event Timeline

Update: this is actually caused by switching to any uniform where index of insignia in hiddenSelections array is different from original uniform.

NikkoJT added a subscriber: NikkoJT.Nov 5 2024, 1:56 PM

This can probably be fixed easily by updating BIS_fnc_setUnitInsignia to use the new string-based selection targeting for setObjectTextureGlobal, instead of searching for and then hard-saving the current uniform's insignia index.

SaMatra added a subscriber: SaMatra.Nov 5 2024, 4:43 PM

I will take another look

Basically a can of worms but I think it can be improved

BIS_fnc_KK removed BIS_fnc_KK as the assignee of this task.Sun, Nov 17, 6:55 PM
BIS_fnc_KK changed the task status from New to Feedback.
BIS_fnc_KK added a subscriber: BIS_fnc_KK.
TRAGER added a subscriber: TRAGER.Fri, Nov 22, 3:29 AM

This change seems affect to issue T161323, can't reproduce on the latest dev update

This comment was removed by Geez.
Geez added a subscriber: Geez.Wed, Nov 27, 1:45 PM