-
Notifications
You must be signed in to change notification settings - Fork 71
Description
Request box
Penumbra seems like it will refuse to load mods which replace these textures in the near future:
(0x90E4EE2F, new CiByteString("common/graphics/texture/dummy.tex"u8, MetaDataComputation.All)),
(0x84815A1A, new CiByteString("chara/common/texture/white.tex"u8, MetaDataComputation.All)),
(0x749091FB, new CiByteString("chara/common/texture/black.tex"u8, MetaDataComputation.All)),
(0x5CB9681A, new CiByteString("chara/common/texture/id_16.tex"u8, MetaDataComputation.All)),
(0x7E78D000, new CiByteString("chara/common/texture/red.tex"u8, MetaDataComputation.All)),
(0xBDC0BFD3, new CiByteString("chara/common/texture/green.tex"u8, MetaDataComputation.All)),
(0xC410E850, new CiByteString("chara/common/texture/blue.tex"u8, MetaDataComputation.All)),
(0xD5CFA221, new CiByteString("chara/common/texture/null_normal.tex"u8, MetaDataComputation.All)),( It also blocks chara/common/texture/skin_mask.tex, but I am much less sure about that, as that seems to have valid use-cases and also appears commonly in the wild for legitimate reasons. )
A lot of things in the game reference these textures -- particularly id_16.tex -- which makes it easy to just open up a model, go to the textures tab, and upload a texture over it, if you don't understand the importance of changing the texture paths on the materials.
It might be a worthwhile idea to have a setting which will warn or block you if you attempt to overwrite one of these textures, and if possible, immediately offer to generate a new texture path for the item you are editing instead.
Another thing: if you export an item/model/material as a mod pack, TexTools will export the id_16.tex, which then will get applied on import. I'm not sure what the best solution is here but I think it is to avoid exporting the common texture, and instead assume that the user wants to always reference the built-in version in the game. (Maybe this only applies if the texture is still vanilla?)
Another nice-to-have would possibly be to warn about mods which attempt to replace these textures during import, but I'm less interested in that.
Reason box
Reduce the likelihood of people creating mods which Penumbra will not apply correctly, or creating unexpected changes in their own game.
Examples
- Popup message upon attempting to save over a common texture file which is not already modded -or- Automatically modify the selected material and generate a new texture path automatically, if possible -or- just grey out all of the options when viewing id_16.tex in the main window
- Optional: A checkbox or two in settings to disable the protection (one for editing/export, and one for import?)
- Optional: Export: Common textures no longer get exported in to modpacks
- Optional: Import: Warning when installing modpacks -or- Automatically modify any material in the modpack which was referencing the file and generate a new texture path automatically
- Very Optional: Import: Detect when the texture being imported is identical to the vanilla texture and skip the warning