You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
v2.2.4
Fixed
Encrypted models were textured with the wrong maps, or none. Six places picked textures by NAME, and an encrypted texture has none — only a SNO. A material with two base-colour maps handed the viewport the wrong one; roughness, metallic, AO, detail normals and emissive were dropped outright.
Roughness and metal were missing in the Wardrobe and Stable viewports while the Models tab looked correct — the shared decode had its own copy of the same name-based pick.
Encrypted materials showed an empty texture preview. The panel listed all sixteen textures and then returned without ever asking for a decode, which is also why nothing was logged.
The Wardrobe's material panel was blank for encrypted materials — same early return, one file over.
Encrypted models exported to glTF untextured, because the export read textures only from the JSON that encrypted materials do not have.
Thousands of textures reported "no payload in CASC". 36,930 assets deliberately carry no payload and share another asset's; the game ships that mapping and we never read it. Every *_FurMask pointing at roughness_default, every female piece sharing the male's AO, was reaching for data that was never there.
Loading some encrypted armour crashed the tool — a null dereference on the "no base texture" note row, which has no SNO cell. Clicking that row crashed it too.
Encrypted items had no inventory icons. The handle comes from the item and joins to the appearance by name, but the cache signature counted appearances instead of noticing they had been renamed, so the join kept matching against names that no longer existed. 1 → 106 recovered.
Grid view could leave the tool unable to start, with no window left to change the setting back from. It now falls back to Outliner and says so in the log.
Verifying a candidate TACT key list wiped the keys you already had for the rest of the session.
Saving with transparency made fur see-through, and supersampled captures made it noisy. Alpha was counted twice on multisampled targets, and alpha-to-coverage stayed on for a capture buffer with no samples to resolve.
Scrolling the viewport channel wrapped past "Shaded" instead of stopping at it.
Added
Yaw / Pitch camera controls on every Camera panel — slider plus an exact numeric box.
Automatic log file, on by default, replaced each launch (Settings ▸ General ▸ Diagnostics).
Real texture names in the material panels instead of ~unnamed_<sno>.
Compact Textures list matching the Models tab, with filter chips to match.