Skip to content

[TF2] Fix Paintkit Tool Canvas preview not using the right material for Macaw-tinted War Paints#1856

Open
Piogre wants to merge 1 commit intoValveSoftware:masterfrom
Piogre:warpaintpreviewoverride
Open

[TF2] Fix Paintkit Tool Canvas preview not using the right material for Macaw-tinted War Paints#1856
Piogre wants to merge 1 commit intoValveSoftware:masterfrom
Piogre:warpaintpreviewoverride

Conversation

@Piogre
Copy link
Copy Markdown

@Piogre Piogre commented Mar 26, 2026

Some War Paints, referred to as "Macaw-Tinted" war paints (or sometimes "albedo tinted"), use a material_override to replace the normal weapon material with a separate shiny/metallic material; a special VMT exists for each weapon these paints can yield.

There exists a matching VMT for the paintkit tool canvas preview model as well, which has a similar metallic sheen as the weapons these paints can produce, made presumably with the intent of being used when previewing these paints. However, this VMT is unused; The game does not read the material_override for the paintkit tool even if one is specified in the war paint definition.

This PR fixes that issue, allowing the game to load the material_override for a paintkit tool if one is specified, so that the preview canvas for these war paints can have a similar shine to the weapons the paints yield.

paintbeforeafter.mp4
beforeafterimage

Please note: this fix requires additional changes to non-public War Paint definitions files (the unencrypted protodefs files are not publically visible).

This PR fixes this issue as-is for the following Macaw-tinted paints:
-Macaw Masked
-Smissmas Camo
-Helldriver
-Raving Dead
-Saccharine Striped
-Elfin Enamel
-Starlight Serenity
-Broken Bones
-Polterguised
-Kiln & Conquer
-Sunriser
-Bonzo Gnawed
-Steel Brushed
-Bomb Carrier
-Deadly Dragon
-Team Detail
-Gobi Glazed
-Team Charged

However the following Macaw-tinted paints, while they use the macaw materials set for the weapons themselves, are missing the material_override for the paintkit tool in their paint definitions (and nobody noticed since it was broken for all of them anyway) -- they'd need "models/paintkits/macaw/paintkit_tool" added as the "material_override" under their paintkit_tool definition (as is done in Macaw Masked and the others) to fix them like the others:
-Yeti Coated (defindex 300)
-Winterland Wrapped (defindex 254)
-Swashbuckled (defindex 285)
-Party Phantoms (defindex 294)
-Necromanced (defindex 297)
-Sacred Slayer (defindex 403)
-Business Class (defindex 415)
-Warborn (defindex 418)
-Stealth Specialist (defindex 426)
-Blackout (defindex 431)

…aw-Tinted War Paints

override materials for each weapon of a war paint are stored in the list of supported items, which excludes the paintkit tool items since it can't be applied.  This means that previewing the paintkit canvas will ignore any material_override specifid for the paintkit tool, so macaw-tinted war paints (such as macaw masked itself) won't use the correct material in the preview.

This fixes that issue for the paints that specify the override, though some macaw-tinted paints will need their definitions updated to include the override for consistency, since some of them are missing it (and no one noticed since it's been broken for all of them anyway)
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