Skip to content

Keep viewmodel animations shared with a shown weapon visible - #168

Open
rndaom wants to merge 1 commit into
mainfrom
rndaom/viewmodel-hide-fix
Open

rndaom wants to merge 1 commit into
mainfrom
rndaom/viewmodel-hide-fix

Conversation

@rndaom

@rndaom rndaom commented Oct 2, 2026

Copy link
Copy Markdown
Owner

What broke

Some weapons reuse another weapon's animations in the class animation model. Soldier's Concheror uses the Shovel's draw, idle and swing animations; Engineer's Widowmaker shares an animation with the wrenches; spellbooks share swings with the Persian Persuader (Demoman) and Solemn Vow (Medic). Hiding one weapon hid those shared animations as well, so Keep melee visible left Soldier's Shovel invisible, and other classes lost some melee animations.

What changed

  • The build hides an animation only when every weapon that uses it is hidden. A weapon left shown is always fully visible.
  • Under each class, the builder names hidden weapons that stay partly visible because of this (for example, "Concheror stays partly visible: it shares animations with Shovel.").
  • The catalog identity includes the rule version, so packs built before this change read as outdated. Their choices come back as an unbuilt draft with a one-line note to build again.
  • A selection where every hidden animation is shared with a shown weapon is refused with a clear error.
  • The browser preview catalog gains a small Soldier sample with the Concheror/Shovel overlap.
  • Guide, architecture and changelog updated.

Checks

  • cargo fmt --check, cargo clippy -D warnings, new resolution tests in viewmodel_group_selection.
  • pnpm check, pnpm test (new UI tests for the outdated-pack draft and the partly-visible line), tsc --noEmit.
  • Resolved a Keep-melee-visible selection against a real TF2 install: no melee animation is hidden for any class.
  • Checked the Soldier view in the browser preview.

Some weapons reuse another weapon's animations: Soldier's Concheror uses
the Shovel's draw, idle and swings, Engineer's Widowmaker shares a wrench
animation, and spellbooks share melee swings with the Persian Persuader
and Solemn Vow. Hiding one of them hid the shared animations too, so
"Keep melee visible" left Soldier with no visible Shovel.

An animation is now hidden only when every weapon using it is hidden.
Each class names hidden weapons that stay partly visible because of this.
The catalog identity now includes the rule version, so packs built before
this change read as outdated and their choices come back as an unbuilt
draft to build again.
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.

1 participant