StrataSource / Portal-2-Community-Edition

Task tracker for Portal 2: Community Edition
https://www.portal2communityedition.com
146 stars 3 forks source link

Support custom test chamber sign icons #765

Open vrad-exe opened 2 years ago

vrad-exe commented 2 years ago

Which component should be improved?

Entity

Describe your suggestion

Test chamber signs currently use a hardcoded set of icons pulled from hardcoded positions in the material vgui/screens/p2_lightboard_vgui. We want to add support for custom icons, so this system will need to be redesigned to be expandable.

Expected result

The icons would now be individual files located in vgui/chamber_sign_icons/. The names entered into the prop_testchamber_sign would correspond directly to the filenames - so all the existing icons would be put into textures matching their old names, and custom icons could be added by simply putting the material in that folder, then specifying its name in the entity.

In addition to prop_testchamber_sign, this would also work with the legacy chamber sign system (both are the same internally, just one is controlled by keyvalues).

The only thing I'm not sure about is the size; the existing icons are about 205x205 pixels each. Since most programs can't save non-power of two textures, we'd probably want to pad them out to 256x256, but that would make it awkward for custom icons only being able to use part of the texture. Maybe we could do something with basetexturetransform, or get someone to remake the icons at a higher resolution?

TeamSpen210 commented 2 years ago

An alternative scheme which would sidestep the size issue would be to just let users supply additional 5x5 "sheets", and then specify a location within that. Wii2 has remade basically all the signages in vector form, so you could ask them to render out in any size you need. Or you could just treat the original icons specially, use the 5x5 sheet for those and unique textures for all new ones.

vrad-exe commented 2 years ago

Did Wii2 specifically remake the chamber sign icons? Some of those differ a bit from normal signage. If they did then that should work.